23. پیوستها
در اینجا نحوه نصب ابزارهای مورد استفاده در این سند بر روی سیستمهای ویندوز 7 یا 8 را توضیح میدهیم. اسکرینشاتها عموماً نسخههای 64 بیتی SGBD و ابزارهای نصبشده را نشان میدهند. خوانندگان باید دستورالعملها را با محیط خود تطبیق دهند.
23.1. نصب JDK
جدیدترین نسخه، JDK، را میتوان در نسخه URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (اکتبر ۲۰۱۴) یافت. پوشه نصب برای JDK از این پس با نام <jdk-install> ذکر خواهد شد.
23.2. نصب Maven
Maven ابزاری برای مدیریت وابستگیها در یک پروژه جاوا و موارد دیگر است. این ابزار (اکتبر ۲۰۱۴) در URL و [http://maven.apache.org/download.cgi] در دسترس است.
آرشیو را دانلود و از حالت فشرده خارج کنید. ما از پوشه نصب Maven به عنوان <maven-install> یاد خواهیم کرد.
- در [1]، فایل [conf / settings.xml] مِیوِن را پیکربندی میکند؛
این فایل شامل خطوط زیر است:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
مقدار پیشفرض در خط ۴ ممکن است برای برخی نرمافزارهایی که از Maven استفاده میکنند مشکلساز شود، اگر مانند من، {user.home} شما یک فاصله در مسیر خود داشته باشد (برای مثال، [C:\Users\Serge Tahé]). ما یک پوشه متفاوت را برای مخزن محلی Maven مشخص خواهیم کرد (خط ۷):
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>
در خط ۷، از استفاده از مسیری که شامل فاصله باشد خودداری کنید.
ما مجموعه ابزار SpringSource ([http://www.springsource.com/developer/sts]، اکتبر ۲۰۱۴) را نصب خواهیم کرد، که یک محیط اکلیپس از پیش پیکربندیشده با پلاگینهای متعدد مرتبط با فریمورک Spring و همچنین با یک پیکربندی Maven از پیش نصبشده است.
- به وبسایت SpringSource Tool Suite بروید (STS) [1]، برای دانلود نسخه فعلی STS [2A] [2B]،
- فایل دانلود شده یک نصبکننده است که ساختار دایرکتوری را برای [3A] و [3B] ایجاد میکند. در [4]، فایل اجرایی راهاندازی میشود،
- در [5]، پنجره کاری IDE پس از بستن پنجره خوشآمدگویی ظاهر میشود. در [6]، پنجره سرورهای برنامه نمایش داده میشود،
- در [7]، پنجرهٔ سرورها. یک سرور ثبت شده است. این یک سرور سازگار با Tomcat VMware است.
شما باید مسیر نصب Maven را در STS مشخص کنید:
- در [1-2]، STS را پیکربندی کنید؛
- در [3-4]، یک نصب جدید Maven اضافه میشود؛
- در [5]، مسیر نصب Maven را مشخص کنید؛
- در [6]، جادوگر را تکمیل کنید؛
- در [7]، نصب جدید Maven را بهعنوان پیشفرض تنظیم کنید؛
- در [8-9]، مخزن محلی Maven را بررسی کنید – پوشهای که وابستگیهای دانلود شده در آن قرار میگیرند و جایی که STS آرتفکتهای ساخته شده را قرار خواهد داد؛
شما همچنین باید یک JDK (Java Development Kit) را برای اجرای هر دو پروژه Eclipse با و بدون Maven [1-5] انتخاب کنید.
با [4]، میتوانید JDK (کیت توسعه جاوا) یا JRE (محیط اجرایی جاوا) را اضافه کنید. مورد دوم میتواند فایلهای .class را اجرا کند اما نمیتواند فایلهای .java را برای تولید آنها کامپایل کند. JDK میتواند هر دو کار را انجام دهد. ما JDK را انتخاب میکنیم زیرا برخی عملیات Maven به JDK نیاز دارند.
برای ایجاد یک پروژهٔ Eclipse، مراحل زیر را دنبال کنید:
- در [3]، برای پروژه یک نام انتخاب کنید؛
- در [4]، یک پوشهٔ خالی موجود را انتخاب کنید؛
- در [5]، پروژهای را که ایجاد کردهاید؛
- در [5-8]، یک پکیج ایجاد کنید. پکیج پوشهای است که حاوی کد جاوا است. دو کلاس میتوانند نام یکسانی داشته باشند اگر به پکیجهای متفاوتی تعلق داشته باشند. در داخل یک پروژه، نمیتوان دو پکیج با نام یکسان وجود داشته باشد. بنابراین، شما نمیتوانید از نام پکیجی که قبلاً در یکی از وابستگیهای پروژه وجود دارد استفاده کنید. یک شرکت از نام بستهای استفاده میکند که شرکت، پروژه و شاخههای مختلف آن را مشخص میکند؛
- در [9]، به پکیج یک نام بدهید؛
- در [10]، بسته ایجاد میشود؛
- در [11-13]، یک کلاس را در بستهای که ایجاد شده است، بسازید؛
- در [14]، به کلاس یک نام بدهید (باید مطابق استاندارد CamelCase باشد – هر کلمه در نام باید با یک حرف بزرگ و به دنبال آن حروف کوچک آغاز شود)؛
- در [15]، پکیج را علامت بزنید؛
- در [16]، تیک را بزنید. این درخواست میکند که متد استاتیک [main] تولید شود. این متد یک کلاس را قابل اجرا میسازد، یعنی اولین کلاسی که در یک پروژه اجرا میشود؛
- در [17]، کلاس به این صورت ایجاد میشود؛
در متد [main]، کد زیر را وارد کنید که متنی را در کنسول نمایش میدهد:
package st.istia;
public class Test01 {
public static void main(String[] args) {
System.out.println("test01");
}
}
- در [18-20]، کلاس را اجرا کنید. متد آن [main] سپس اجرا خواهد شد؛
- در [21-22]، نتیجهٔ برنامه؛
اگر نما [Console] موجود نباشد، برای [1-4] به شرح زیر عمل کنید:
هنگام وارد کردن یک پروژه Eclipse، ممکن است خطاهایی رخ دهد. این ممکن است به دلیل پیکربندی نادرست پروژه باشد. برای رفع خطا (در صورت وجود)، مراحل زیر را دنبال کنید:
- در [1]، [Build Path] پروژه را اصلاح کنید؛
- به [2]، پروژه برای استفاده از JVM 1.5 پیکربندی شده است؛
- از [3]، این وابستگی را حذف کنید؛
- در [4]، یک وابستگی جدید اضافه کنید؛
- در [5]، یک JVM اضافه کنید؛
- در [6]، JVM را از آیتم انتخاب کنید؛
پس از انجام این کار، تغییرات را تأیید کرده و سپس به ویژگی [Java compiler] پروژه [7] بروید:
- در [8]، به کامپایلر دستور دهید تا تمام ویژگیهای زبان جاوا را تا و شامل نسخه ۱.۷ (یا ۱.۸) بپذیرد؛
- در [9]، اعتبارسنجی میکنیم؛
- در [10]، پروژه پیکربندیشده مجدد دیگر نباید هیچ خطایی داشته باشد؛
علاوه بر این، پروژه واردشده میتواند از رمزگذاری کاراکتری UTF-8 استفاده کند. برای تنظیم این رمزگذاری در پروژه واردشده [1-4]، مراحل زیر را دنبال کنید:
علاوه بر این، ممکن است غیرفعال کردن بررسی املایی در پروژه مفید باشد تا از زیرخطدار شدن نظرات به زبان فرانسوی به عنوان اشتباه جلوگیری شود. مراحل زیر [1-4] را دنبال کنید:
نسخهٔ Community Edition از SGBD MySQL5 را میتوانید (ژوئن ۲۰۱۵) در URL [https://dev.mysql.com/downloads/mysql/] بیابید:
نصب به شرح زیر انجام میشود:
- در [8]، از رمز عبور [root] استفاده شد. در این سند، اعتبارنامههای مدیر برای SGBD و MySQL، [root / root] هستند؛
پس از نصب MySQL 5، صفحه مدیریت سرویسهای ویندوز را باز کنید:
- [1]: آیکون ویندوز در گوشه پایین سمت چپ؛
- در [8]، سرویس [MySQL56] را روی حالت راهاندازی «دستی» تنظیم کنید تا به طور غیرضروری منابع مصرف نکند. شما میتوانید هر زمان که به آن نیاز داشتید، آن را از صفحه سرویسها راهاندازی کنید؛
23.5. نصب EMS و MyManager
وبسایت [http://www.sqlmanager.net/en/] کلاینتهای رایگان برای مدیریت شش نوع SGBD ارائه میدهد:
مزیت آن این است که همگی از رابط کاربری یکسانی برای مدیریت فایلهای SGBD برخوردارند. این امر برای این سند ایدهآل است، زیرا میخواهیم تمام شش فایل SGBD را مدیریت کنیم. هنگام جابجایی بین فایلهای SGBD نیازی به یادگیری یک کلاینت جدید نیست. همگی آنها را میتوان در URL و [http://www.sqlmanager.net/download/] یافت. شما میتوانید نسخههای رایگان را که با نام lite شناخته میشوند، دانلود کنید:
فایلهای URL که در حال حاضر برای دانلود (مه ۲۰۱۵) در دسترس هستند، به شرح زیر میباشند:
وقتی، برای مثال، کلاینت MyManager از MySQL5 نصب میشود، ساختار دایرکتوری زیر ایجاد میشود:
- فایل اجرایی [2] است؛
- مراحل در [3-8] نشان میدهد که چگونه [MyManager] را به یکی از پایگاههای داده در MySQL متصل کنید؛
- در [4]، رمز عبور [root] است؛
23.6. نصب SGBD نسخه اکسپرس دیتابیس اوریکل ۱۱g رلیز ۲
نسخهٔ ۲ Oracle Database Express Edition 11SGBD از URL (ژوئن ۲۰۱۵) در دسترس است: [http://www.oracle.com/technetwork/database/database-techno logies/express-edition/downloads/index.html]:
نصب به شرح زیر انجام میشود:
- در [6]، رمز عبور [system] را وارد کنید. در این سند، اعتبارنامههای مدیر Oracle عبارتاند از [system / system]؛
نصب، Oracle را بهعنوان یک سرویس ویندوز راهاندازی میکند. چندین سرویس نصب میشوند که همگی بهطور پیشفرض برای راهاندازی خودکار تنظیم شدهاند. اولین کاری که باید انجام دهید این است که آنها را به حالت دستی تغییر دهید:
دو سرویس باید راهاندازی شوند:
- [OracleXETNSListener]، که در پورت 1521 منتظر درخواستهای ارسالشده به SGBD است؛
- [OracleServiceXE]، که همان SGBD است؛
برای مدیریت Oracle، از کلاینت [OraManager] استفاده خواهیم کرد (بخش 23.5). برای استفاده از آن، ابتدا باید مجموعه [Oracle Database Express Edition 11g Release 2 Client] را که از URL (ژوئن ۲۰۱۵) در دسترس است، نصب کنید: [http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html]. شما باید نسخه ۳۲ بیتی را دانلود کنید زیرا [OraManager] یک کلاینت ۳۲ بیتی است:
این مجموعه به شرح زیر نصب میشود:
- در [3]، پوشه <oracleXE-install>\app\oracle\product\11.2.0\client_1 را مشخص کنید، که در آن <oracleXE-install> پوشهای است که Oracle Express را در آن نصب کردهاید؛
اکنون، بیایید کلاینت [OraManager] را به نمونه Oracle SGBD متصل کنیم:
- در [2]، نام گروه میتواند هر چیزی باشد؛
- برای [4]، باید این را روی XE تنظیم کنید؛
- در [5]، نام مستعار میتواند هر چیزی باشد؛
- در [6]، شناسهها [system / system] هستند؛
23.7. نصب SGBD PostgreSQL 9.4
SGBD PostgreSQL نسخهٔ 9.4 از URL (ژوئن 2015) در دسترس است: [http://www.enterprisedb.com/products-services-training/pgdownload#windows]:
نصب به شرح زیر انجام میشود:
- در [4]، رمز عبور postgres است. در این سند، نام کاربری و رمز عبور مدیر برای SGBD و PostgreSQL، [postgres / postgres] است؛
نصب، PostgreSQL را بهعنوان یک سرویس ویندوز با راهاندازی خودکار راهاندازی میکند. اولین کاری که باید انجام دهید این است که آن را به حالت دستی تغییر دهید:
اکنون بیایید کلاینت [PgManager] (به بخش 23.5 مراجعه کنید) را به SGBD و PostgreSQL متصل کنیم:
- در [2]، شناسهها [postgres / postgres] هستند؛
- در [3]، ارتباطی با پایگاه داده [postgres] برقرار میشود؛
23.8. نصب SGBD و DB2 Express
SGBD DB2 Express در URL (ژوئن ۲۰۱۵) در دسترس است: [http://www-01.ibm.com/software/data/db2/express-c/download.html]:
نصب به شرح زیر انجام میشود:
- در [9]، رمز عبور [db2admin] است. در این سند، اعتبارنامههای مدیر برای SGBD، [db2admin / db2admin] هستند؛
توجه: ممکن است وسوسه شوید که این مرحله را نادیده بگیرید. این کار را نباید انجام دهید. این مرحله پوشهای را ایجاد میکند که پایگاههای داده DB2 را که قصد داریم ایجاد کنیم، در آن ذخیره خواهد شد.
- یک پوشه به نام [d:\DB2] ایجاد شده است؛ [1]؛
- پایگاه داده [SAMPLE] در پوشه [d:\db2\node0000] ایجاد شده است؛
نصب، سرویس ویندوزی DB2 را با راهاندازی خودکار راهاندازی میکند. اولین کاری که باید انجام دهید این است که آن را به حالت دستی تغییر دهید:
این کار را برای همه سرویسهای [DB2*] که در بالا فهرست شدهاند انجام دهید. تنها سرویس [DB2 - DB2COPY1] برای اهداف این سند باید راهاندازی شود.
اکنون بیایید کلاینت [Db2Manager] (به بخش 23.5 مراجعه کنید) را به SGBD و DB2 متصل کنیم:
- در [1]، از شناسههای [db2admin / db2admin] استفاده کنید؛
23.9. نصب SGBD SQL سرور ۲۰۱۴ اکسپرس
سرور SGBD SQL 2014 Express از URL (ژوئن 2015) در دسترس است: [http://www.microsoft.com/fr-fr/server-cloud/products/sql-server/]:
نصب به شرح زیر انجام میشود:
- در [1]، هر رمز عبوری را وارد کنید. بعداً آن را تغییر خواهیم داد؛
سپس سرویس SQL را راهاندازی میکنیم:
پس از انجام این کار، کلاینت [Microsoft SQL Server Management Studio] را که همزمان با SGBD نصب شده است، راهاندازی میکنیم (به منوی استارت مراجعه کنید):
این کلاینت میتواند برای مدیریت سرور SQL استفاده شود. با این حال، برای حفظ سازگاری با کلاینتهای نمونههای دیگر SGBD، از کلاینت [MsManager] استفاده خواهیم کرد (به بخش 23.5 مراجعه کنید).
- در [1]، به نام SGBD توجه کنید؛
- برای [2]، رمز عبور را روی msde تنظیم کردهایم. در این سند، اعتبارنامههای مدیر برای SGBD عبارتند از [sa / msde]؛
پس از انجام این کار، ابزار [Gestionaire de configuration SQL Server] را که همزمان با SGBD نصب شده است، اجرا کنید (به منوی استارت مراجعه کنید):
- به طور پیشفرض، در [2]، ارتباط TCP/IP فعال نیست. برای این سند، باید آن را فعال کنید: [3];
- در [4]، مجدداً برای اهداف این سند، باید مشخص شود که SGBD در حال گوش دادن به درخواستهای کلاینت بر روی پورت 1433 است. مقدار [Ports TCP dynamiques] باید خالی باقی بماند؛
پس از انجام این کار، کلاینت [MsManager] را راهاندازی کنید (به بخش 23.5 مراجعه کنید):
- در [3]، نام ذکر شده در [1] را وارد کنید؛
- در [4]، شناسهها [sa / msde] هستند؛
23.10. نصب SGBD فایربرد
Firebird 2.5.4 (SGBD) بهعنوان بهروزرسانی برای URL (ژوئن 2015) در دسترس است: [http://www.firebirdsql.org/en/firebird-2-5-4/]:
نصب به شرح زیر انجام میشود:
اکنون که این کار انجام شد، بیایید حالت راهاندازی سرویس ویندوزی که ایجاد کردهایم را بررسی کنیم:
اکنون بیایید کلاینت [IBManager] (به بخش 23.5 مراجعه کنید) را به فایربرد نصبشده SGBD متصل کنیم:
- در [1]، رمز عبور masterkey است؛
23.11. نصب افزونه کروم [Advanced Rest Client]
در این سند از مرورگر کروم گوگل (http://www.google.fr/intl/fr/chrome/browser/) استفاده میکنیم. ما افزونه [Advanced Rest Client] را نصب خواهیم کرد. شما میتوانید این کار را به شرح زیر انجام دهید:
- سپس برنامه برای دانلود در دسترس قرار میگیرد:
- برای دانلود آن، باید یک حساب گوگل ایجاد کنید. سپس [Google Web Store] از شما تأیید را میخواهد [1]:
- در [2]، افزونهٔ اضافه شده تحت گزینهٔ [Applications] [3] در دسترس است. این گزینه در هر زبانهٔ جدیدی که ایجاد میکنید (CTRL-T) در مرورگر نمایش داده میشود.
23.12. مدیریت jSON در جاوا
به روشی که برای توسعهدهنده trans nsparent است، چارچوب [Spring MVC] از کتابخانههای jSON و [Jackson] استفاده میکند. برای نشان دادن اینکه jSON (JavaScript نشانهٔ شیء)، در اینجا برنامهای ارائه میکنیم که اشیاء را به jSON سریالیزه میکند و با دسریالیزه کردن رشتههای حاصل jSON، اشیاء اصلی را بازسازی میکند.
کتابخانه «Jackson» به شما امکان میدهد تا ساختارهای زیر را بسازید:
- رشته jSON برای یک شیء: new ObjectMapper().writeValueAsString(object);
- یک شیء از یک رشته jSON: new ObjectMapper().readValue(jsonString, Object.class).
هر دو متد ممکن است یک استثنا پرتاب کنند. در اینجا یک مثال آمده است.
پروژه بالا یک پروژه Maven است که شامل فایل [pom.xml] زیر میباشد؛
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>istia.st.pam</groupId>
<artifactId>json</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</project>
- خطوط ۱۲–۱۶: وابستگی که شامل کتابخانه «Jackson» است؛
کلاس [Personne] به شرح زیر است:
package istia.st.json;
public class Personne {
// دادهها
private String nom;
private String prenom;
private int age;
//تولیدکنندگان
public Personne() {
}
public Personne(String nom, String prénom, int âge) {
this.nom = nom;
this.prenom = prénom;
this.age = âge;
}
// امضا
public String toString() {
return String.format("Personne[%s, %s, %d]", nom, prenom, age);
}
// گیرنده و تنظیمکننده
...
}
کلاس [Main] به شرح زیر است:
package istia.st.json;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Main {
//ابزار سریالیسازی/دسریالیسازی
static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
//ایجاد یک شخص
Personne paul = new Personne("Denis", "Paul", 40);
//نمایش jSON
String json = mapper.writeValueAsString(paul);
System.out.println("Json=" + json);
// نمونه سازی یک Person از JSON
Personne p = mapper.readValue(json, Personne.class);
//نمایش یک شخص
System.out.println("Personne=" + p);
// یک آرایه
Personne virginie = new Personne("Radot", "Virginie", 20);
Personne[] personnes = new Personne[]{paul, virginie};
// نمایش JSON
json = mapper.writeValueAsString(personnes);
System.out.println("Json personnes=" + json);
// واژهنامه
Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
hpersonnes.put("1", paul);
hpersonnes.put("2", virginie);
//نمایش JSON
json = mapper.writeValueAsString(hpersonnes);
System.out.println("Json hpersonnes=" + json);
}
}
اجرای این کلاس خروجی صفحه زیر را تولید میکند:
| Json={"nom":"Denis","prenom":"Paul","age":40}
Personne=Personne[Denis, Paul, 40]
Json personnes=[{"nom":"Denis","prenom":"Paul","age":40},{"nom":"Radot","prenom":"Virginie","age":20}]
Json hpersonnes={"2":{"nom":"Radot","prenom":"Virginie","age":20},"1":{"nom":"Denis","prenom":"Paul","age":40}}
|
نکات کلیدی از مثال:
- شیء [ObjectMapper] مورد نیاز برای تبدیلهای jSON / شیء: خط 11;
- تبدیل [Personne] → jSON: خط 17;
- تبدیل jSON → [Personne]: خط ۲۰؛
- استثناء [IOException] که توسط هر دو متد پرتاب شده است: خط ۱۳.