سال جدید

بدون مقدمه، سال ۹۰ از لحاظ حرفه‌ای سال بسیار خوبی بود. اما با مقدمه، همیشه گفته‌ام که همه آدم‌ها در زندگی به دنبال نقطه شروع دوباره‌ای هستند که اشتباهات گذشته را فراموش و موفقیت‌ها را جایگزین کنند و چه زمانی بهتر از اینکه سر رسید تقویم عدد جدیدی را نشان می‌دهد.

به هر حال، در سال ۹۰ تمرکز بیشتری بر روی زبان جاوا داشتم. از تکنولوژی‌ها و فریم ورک‌‌های دیگر هم اصلا غافل نبودم. نکته مهم‌تر شاید پی بردن به این موضوع بود که باید هر موضوعی را طوری آموخت که تنها بتوان با آن کار کرد و سپس آنقدر که لازم است در آن عمیق شد.

اما تصمیم امسال از لحاظ کاری و حرفه‌ای، مطمئنا سال گذشته پیدا کردن راه‌های بهتر در آموزش و یادگیری بیشتر بوده است اما امسال سعی بر این خواهم داشت که خیلی بیشتر از پیش در موضوعات عمیق بشوم و ایده‌‍‌های بهتری را نیز عملی کنم. مهم‌ترین تصمیم شاید مربوط به انجام پروژه‌های کوچک خودم است. به طوری که بر این استوار شده‌ام که هر سال یک پروژه را به طور تحقیقاتی انجام بدهم و بعد از آن اگر موفقیتی داشت به سمت توسعه آن به وسیله دیگران بروم.

قسمت مهم‌تر توسعه وبلاگ خواهد بود، تا پایان اردیبهشت اگر توانی باشه در کنار بقیه کارها به سمت Drupal خواهم رفت. چرا که WordPress اونقدر که باید من رو هیجان زده بکنه، خب مطمئنا نمی‌کنه. در ادامه دوست دارم هر چیزی که از این پس یادگرفته باشم را در وبلاگ منتشر کنم و با توجه به نیاز روز افزون خودم به سیستم‌های متن باز و سیستم‌عامل لینوکس احتمالا از این قسمت شروع خواهم کرد. هر چند که اصلا کار ساده‌ای نخواهد بود. زبان برنامه‌نویسی جاوا را مطمئنا در ادامه سال به شکل بهتری آموزش خواهم داد و فریم‌ورک‌های بسیار زیادی را معرفی خواهم کرد. مطمئنا این قسمت بسیار پرطرفدار خواهد شد چرا که بر خلاف تمام مطالب آموزشی وب سعی بر این خواهم کرد که کاربردی تر آموزش داده بشوند. (همیشه مطالب وب طوری بوده‌اند که قابلیت خواندن از نیمه را برایم به صفر رسانده‌اند.)

در ادامه سال شاید برنامه‌های مهم‌تری نیز در برنامه خودم بگنجانم که ترجیح میدم سنگ بزرگی را برندارم و فعلا همین قدر کفایت می‌کند. در پایان با آروزی خوشبختی برای تمام اهالی وب و برنامه ‌نویسان و تمامی مردم خوب سرزمینم، سال خوبی را برای همه آرزومندم.

نوروز

نوروز

Tagged , , , ,

فارسی در همه جا

از وقتی که وبلاگ نویسیم به طور جدی‌تر شروع شده سردبیر وبلاگینا، آرش زاد، نسبت به نگارش و ویرایش متون فارسی به شدت سختگیرانه عمل کرده و تقریبا هر روز با روش‌های جدیدی برای رعایت رسم الخط فارسی آشنا شدم. تو این پست نمی‌خوام قوانین را معرفی کنم چرا که خودم همچنان با آن‌ها درگیر هستم. اما چند تا ابزار مفید هستند که لازم می‌دونم برای استفاده بقیه هم معرفیشون کنم.

اولین و شاید مهم‌ترین این ابزارها Tray Layout هست. این نرم‌افزار کوچیک می‌تونه در جهت ایجاد نیم فاصله، ایجاد صفحه کلید استاندارد  کمک بکنه. هر چند سیستم عامل ویندوز من چندان باهاش کنار نیومد. هنوز هم دلیل این موضوع برای من مشخص نیست و راستش رو بخواید اصلا از برنامه‌هایی که به این سبک هستند اصلا راضی نیستم و هرگز از آن‌ها استفاده نمی‌کنم. در نتیجه باید دنبال راه جدیدی می‌گشتم.

مهم‌ترین مشکل من ایجاد نیم فاصله بود. در سیستم عامل لینوکس این موضوع به وسیله کلید‌های Shift +Space کاملا حل شده اما ویندوز چطور؟ در این رابطه خیلی گشتم و در ابتدا چیزی پیدا نکردم. اما طبق عادت معمول عقیده دارم که امکان نداره در کامپیوتر و سیستم عامل شما راهی برای این موضوعات نداشته باشید.

بالاخره با کمی گشت و گذار فهمیدم که نیم فاصله در ویندوز به وسیله ترکیب Ctrl+Shift+2 ایجاد می‌شود که تقریبا ترکیب عجیبیه!

مشکل دیگه‌ای که دیروز با اون دست و پنجه نرم کردم نوشتن اعداد به صورت فارسی بود. در واقع هنگام تایپ در ویرایشگر متن مشکلی با نوشتن اعداد به صورت فارسی نداشتم اما برای انتشار آن‌ها در وبلاگ و یا کلا وب مشکل داشتم. در همین لحظه بود که یاد یک برنامه کوچک افتادم که یکی از دوستان نوشته بود و برای آزمایش در اختیار من قرار داده بود. این برنامه وظیفه دارد تا در هر جایی که شما اعداد را تایپ می‌کنید فقط نمایش فارسی آن‎‌ها را ارائه کند. ‌تنها کاری که لازم است این است که اجرایش کنید. همین.

البته دو مشکل مهم دارد که به نویسنده جوانش، محمد امین بند‌علی، مطمئنا در آینده این موضوع را بررسی خواهد کرد. نکته اول کار نکردن Shift در هنگام بالا بودن برنامه و هم‌چنین نمایش اعداد به صورت فارسی حتی در زمان استفاده از صفحه کلید انگلیسی است.

به هر حال بسیاری از مشکلات رسم الخط فارسی من با این روش‌ها و ابزارها حل شد. البته بسیاری از قوانین در نوشتن فارسی هست که متاسفانه منبع رسمی ویکی‌پدیا را برای این موضوع نیافتم که اگر شما در قسمت نظرات برایم بفرستید ممنون خواهم شد.

Tagged , ,

شروع کار با IntelliJ IDEA

به شخصه علاقه بسیار زیادی دارم تا از محیط‌های مختلف برای برنامه‌نویسی استفاده کنم. از NetBeans و IntelliJ تا Eclipse و حتی Jdeveloperکه بیشتر برنامه‌نویسان حتی تفکر کار کردن با آن را هم سخت می‌دانند. اما اگر شما هم مثل من از زبانی مثل ++C شروع کرده باشید و سختی کد نویسی با محیط‌های توسعه‌ای که از قابلیت Auto Complete برخوردار نیستند کار کرده باشید، با دیدن IntelliSence مایکروسافت در Visual Studio مطمئنا دامن از کف خواهید داد. یقینا هیچ شرکتی به اندازه‌ مایکروسافت برای پیشرفت این قابلیت‌ها زحمت نکشیده. اما اینجا به Net. نخواهیم پرداخت بلکه Java را پوشش می‌دهیم. در پست قبلی با Eclipse آشنا شدیم و به شما نحوه کد زدن و نوشتن اولین کدها را آموزش دادم اما حالا باید به سمت محیط توسعه محبوب خودم برویم تا کار با آن را نیز یاد بگیریم. در نهایت این انتخاب شماست که کدامیک را انتخاب کنید.

در تمامی محیط‌های بالا که نام برده شد قابلیت Auto Complete  تقریبا وجود دارد اما کیفیت آن‌ها بسیار متفاوت است. به عنوان مثال اگر بخواهیم از ضعیف به قوی رتبه بندی کنیم مطمئنا Intellij و NetBeans در رتبه‌های اول و دوم هستند و Eclipse با اختلاف بسیار در رتبه سوم و البته با اختلاف کمتری نسبت به Jdeveloper.

قابلیت‌های برجسته Intellij تنها این نیست بلکه هنگام کار با آن آنقدر احساس راحتی خواهید کرد و به شما در نوشتن برنامه کمک می‌شود که گاهی دل کندن از آن بسیار سخت می‌شود. تنها ایرادی که دارد سرعت کم در بالا آمدن اولیه است که البته در نسخه ۱۱  این موضوع شدیدا برطرف شده و سرعت بسیاری در اجرای اولیه تدارک دیده شده.

برای شروع احتیاج دارید تا فایل نصب را از طریق سایت JetBrains دریافت کنید، مطمئنا نیازی نیست که نحوه نصب این برنامه رو توضیح بدم. اما باید یک نکته را روشن کنم که این نرم‌افزار دو نسخه Community و Ultimate دارد که خب مطمئنا نباید انتظار داشت که نسخه دوم با امکانات بسیار زیادی که در اختیار شما قرار میدهد مجانی باشد! نسخه مورد استفاده من البته Ultimate است، اما در ظاهر هیچ تفاوتی با نسخه Community ندارد و عملکرد هم به همان شکل است تنها تفاوت عمده این دو نسخه را قسمت بعد خواهید دید. نکته مهم برای لینوکس کاران عزیز قرار دادن سورس و نسخه لینوکسی برنامه برای این عزیزان است که خب با توجه به عدم سواد کافی در این زمینه از آموزش آن شدیدا خودداری خواهم کرد.

آخرین نسخه در لحظه نوشتن این پست به طرز عجیبی از ۱۰٫۵ به ۱۱ ارتقا یافت که خوشبختانه کار من را هم در آموزش راحت‌تر خواهد کرد.

اگر خیلی مایل نیستید تا از این مراحل استفاده کنید ویدئویی آماده کرده‌ام که می‌توانید از آن استفاده کنید و از اینجا دریافت کنید.

صفحه ظاهر شده اطلاعات خوبی در اختیار شما قرار خواهد داد که برای ساعات بیکاری می‌توانید از آن استفاده کنید اما فعلا باید یک برنامه ساده با آن بسازیم. برای ایجاد اولین پروژه مراحل زیر را پیش خواهیم گرفت.

۱-       بر روی Create New Project یا از منوی File این گزینه را انتخاب کنید.

۲-       در صفحه تازه باز شده اولین گزینه که ایجاد پروژه از پایه می‌باشد را انتخاب کنید. Create Project From Scratch

3-       در مرحله بعدی نام پروژه ( Name) و بعد آدرس قرار گرفتن آن ( Project file location ) را اتنخاب خواهید کرد. مطمئنا برای شما که تازه کار هستید قسمت پایین منو سوالات زیادی (مخصوصا تولید برنامه‌های آندروید) ایجاد کرده است اما فعلا به این منوها دست نخواهیم زد و بی‌تغییر به مرحله بعد خواهیم رفت.

۴-       در قسمت بعدی مشخص خواهید کرد که پوشه‌ای که کدهای شما چه نامی داشته باشد و اگر پوشه‌ای دارید که کدهای آماده در آن هستند، معرفی کنید. پیش‌فرض برنامه را با زدن Next انتخاب خواهیم کرد.

۵-       اگر برای اولین بار IntelliJ را اجرا کنید از شما آدرس JDK را درخواست خواهد کرد. با کمال میل در اختیارش قرار خواهیم داد. دقت داشته باشید که آدرس مورد نظر پوشه اصلی است و به پوشه bin مراجعه نکنید و در ضمن حتما علامت + را در کنار پوشه بزنید تا درخت پوشه نمایش داده شود.

۶-       معمولا برای ایجاد یک پروژه تنها از یک تکنولوژی یا یک فریم‌ورک (که بعدا بیشتر آشنا خواهیم شد) استفاده نمی‌شود، در نسخه Community این نرم‌افزار به دلیل خساست زیاد شرکت تنها Groovy گنجانده شده است اما اگر از نسخه Ultimate استفاده کنید تقریبا تمام تکنولوژی‌های مورد نیاز در اختیار شما قرار خواهد گرفت.  در این قسمت هم بدون تغییر خواهیم بود.

۷-       Finish باعث ایجاد پروژه ما خواهد شد.

۸-       درخت پروژه خود را باز کنید، بر روی پوشه src کلیک راست کنید تا منو باز شود. منوی بلند بالایی خواهد بود از امکانات این نرم‌افزار برای تولید، به قسمت New بروید.

۹-       می‌توانید اول به طور جداگانه یک پکیج ایجاد کنید، سپس کلاس اما بر حسب عادت و به خاطر ساده‌تر شدن با ایجاد یک کلاس و قراردادن نام Package قبل از نام کلاس و جدا کردن آن به وسیله آخرین نقطه Package مورد نیاز نیز تولید می‌شود.

۱۰-   خب، کدها رو بنویسیم و با انتخاب Run از منوی کلیک راست برنامه را اجرا کنیم.

۱۱-   Intellij هم برنامه‌های کنسولی خود را در داخل محیط به شما نمایش می‌دهد.

به همین سادگی اولین برنامه خود را با محیط توسعه IntelliJ IDEA تولید کردیم.  احتمالا به نظر شما هم آمده که کار با این محیط شاید کمی آسان‌تر و سریع‌تر نیز باشد.

پ.ن : به علت مشکل در آپلود عکس‌ها متاسفانه این پست فعلا عکس  نخواهد داشت و اسکرین شات‌ها دیرتر قرار داده میشن در نتیجه اول ویدئو رو آماده خواهم کرد تا استفاده کنید.

Tagged , , , , ,

مقدمات Eclipse: نوشتن اولین کدها

در درس قبلی مطمئنا به یک نکته مهم پی‌برده‌اید: دردناک بودن تولید برنامه به روش توضیح داده شده! دقیقا نیز همین‌طور است. هیچ برنامه‌نویس بزرگ و حرفه‌ای از ابزاری که در درس قبلی دیدید استفاده نخواهد کرد هرچند که باید به خوبی آن را فرا بگیرد، چرا که در بسیاری از موارد تنها داشتن اطلاعات این چنین به کمک برنامه‌نویس خواهد آمد.

برای تولید بهتر برنامه‌ها از ابزاری به نام محیط‌های توسعه مجتمع یا Integrated Development Environment یا همان IDE استفاده می‌شود. در زبان جاوا از IDEهای Eclipse, NetBeans, IntelliJ IDEA و … استفاده می‌شود. در این دوره به علت فراگیرتر بودن و هم‌چنین رایگان بودن Eclipse از این محیط استفاده خواهیم کرد. یک نکته بسیار مهم را قبل از هرچیز فرابگیرید: “محیط توسعه هرگز در تولید برنامه مهم نیست و این میزان دانش شماست که کیفیت و استاندارد را تعیین خواهد کرد.” در نتیجه اگر در این دوره آموزشی با Eclipse آشنا شوید و در آینده از شما خواسته شود تا به NetBeans مهاجرت کنید، با داشتن دانش کافی تنها یک روز زمان برای وفق دادن خود با محیط جدید نیاز دارید.

معرفی Eclipse

محیط توسعه Eclipse محصولی کدباز (Open Source) است که از آغاز با پشتیبانی شرکت IBM شروع به کار کرد، اما امروز به نقطه‌ای رسیده است که مجموعه برنامه‌نویسان در پیشروی آن تنها نقش موثر را ایفا می‌کنند. در ابتدا Eclipse تنها یک محیط توسعه ساده بود اما با پیشرفت، تبدیل به پلتفرمی برای توسعه و ایجاد افزونه‌ها و ابزارها شده است.

دریافت و نصب

به سایت Eclipse بروید و یکی از دو نسخه مختص جاوا را دانلود کنید. در حال حاضر با توجه به سرفصل‌های درسی شما، نوع نسخه اصلا مهم نیست، اما در توضیح نسخه‌های Eclipse باید گفت که دو نسخه از آن با اسم‌های متفاوت وجود دارد که نسخه اول با نام Indigo برای ویرایش SE جاوا و نسخه دیگر که با نام Helios برای نسخه EE جاوا است. البته تنها این دو نیستند و تعداد بیشتری نیز وجود دارند اما به علت استفاده بیشتر از این دو نسخه محبوب‌تر هستند.

بعد از دریافت فایل زیپ شده را در مکانی قابل دسترس Extract کنید. Eclipse به همین سادگی نصب شد!

حالا نوبت اجرای آن است. با اجرای eclipse.exe نرم‌افزار شروع به کار می‌کند و اولین سوال از شما محل نصب Workspace خواهد بود. این پوشه محل نگهداری تمام فایل‌ها و پروژه‌های شما خواهد بود.

بعد از انجام مراحل قبلی خواهید دید که صفحه Welcome باز شده است. نکات بسیار مفیدی را می‌توانید از این صفحه فرابگیرید، در صفحه شروع Workbench را پیدا کنید. با کلیک بر روی آن وارد محیط اصلی Eclipse خواهید شد.

اگر Eclipse نسخه EE را دانلود کرده باشید قادر خواهید بود تا در محیط‌های مختلف آن کار کنید، در نتیجه لازم است تا با تغییر Java EE Perspective به Java آماده کار برای اجرای پروژه اولیه خود بشوید. (در قسمت بالا سمت راست آن را پیدا خواهید کرد، اگر هنوز ایجاد نشده است علامت + را بزنید و از آن قسمت استفاده کنید.)

در حال حاضر مهم‌ترین بخش برای شما Package Explorer خواهد بود که مشخص کننده پروژه‌های تولیدی شماست. ممکن است یک نرم‌افزار تولیدی خود از چند پروژه تولید شود که به کمک این قسمت می‎توان آن‌ها را مرور کرد.

اجرای برنامه

در درس قبلی ساده‌ترین برنامه‌ای که می‌توان نوشت را ارائه کردیم، حالا قصد داریم تا همان کد را به وسیله Eclipse اجرا کنیم.

برای این کار باید ابتدا یک پروژه در Eclipse تعریف کرد. به قسمت File بروید و از منوی New، Java Project را انتخاب کنید. در قسمت Name نام پروژه خود را وارد کنید، در اینجا HelloWorld را انتخاب خواهیم کرد. تقریبا لازم نیست در گزینه‌های دیگر تغییر ایجاد کنید. فقط به این نکته که Eclipse به شما این امکان را خواهد داد که نسخه جاوای مورد نیاز خود را نیز انتخاب کنید هم، توجه داشته باشید. به عنوان مثال همانطور که در تصویر مشاهده می‌کنید، در کامپیوتر من نسخه ۷ جاوا نصب شده است اما امکان اجرای برنامه با شرایط نسخه ۶ فراهم شده است.

با زدن Next به قسمت بعد خواهیم رفت. در این قسمت نیز چندان کار بنیادینی انجام نخواهید داد. همانطور که مشاهده می‌کنید در زیر پوشه پروژه شما یک پوشه به نام src قرار دارد که وظیفه نگهداری سورس‌ها و کدهای شما را بر عهده دارد. در قسمت پایین نیز می‌بینید که Eclipse پوشه‌ای به نام bin برای شما در نظر گرفته است که در واقع به قصد جدا کردن بایت‌کدها و سورس‌های کامپایل شده از فایل‌های اجرایی است. بهتر است این کار همیشه انجام شود.

حالا با زدن Finish پروژه خود را ایجاد کرده‌ایم. برای شروع به یک Class (در درس‌های آینده بیشتر با این موضوع آشنا خواهیم شد) نیاز داریم. پس با رفتن به

File -> New -> Class

فرم ایجاد یک کلاس را باز کنید. در Source Folder که مشخصا آدرس فایل را مشخص خواهید کرد، اما Package چیزی است که در تولید برنامه به روش قبل با آن برخورد نداشتیم.

Package های جاوا به منظور مرتب کردن و هم‌چنین امنیت بیشتر کدها است. به عنوان مثال قرار دادن تمام فایل‌های یک پروژه در کنار هم چندان امن و مطمئن به نظر نمی‌رسد و هم‌چنین چندان حرفه‌ای. در ادامه با Packageها و نحوه کار آن‌ها بیشتر آشنا خواهید شد. اما قانون نامگذار این بسته‌ها به این صورت است که می‌توانید نام انتخابی خود را قرار دهید اما استانداردها معمولا بر اساس نام شرکتی است که شما پروژه را برای آن تولید خواهید کرد. به عنوان مثال می‌توانید به شکل org.practical.JavaLesson آن‌ها را نامگذاری کنید. در این نامگذاری org به معنای سازمان و ادامه آن بخش‌بندی سازمانی شما خواهد بود که کاملا در اختیار شما خواهد بود و اجباری در نامگذاری به این شکل نخواهید داشت. اما همیشه یک Package را برای خود اجباری قرار دهید.

در جواب سوال Eclipse برای تولید متدهای مختلف، می‌توانید از گزینه public static void … استفاده کنید تا کلاس اصلی برای اجرای برنامه را برای شما تولید کند. دو گزینه دیگر تاثیری در فعالیت فعلی شما ندارد.

در قسمت پایانی نیز از شما خواسته می‌شود تا اگر می‌خواهید به Eclipse دستور دهید تا توضیحات برنامه (Comment) را به آن اضافه کند. Comment ها توضیحاتی هستند که شاید برنامه‌نویسان علاقه داشته باشند به کدهای خود در جهت بیشتر خوانا شدن اضافه کنند. توضیحات را می‌توانید به وسیله // در ابتدا استفاده کنید. اگر هم نیاز دارید تا چند خط Comment به برنامه خود اضافه کنید می‌توانید با /* شروع و با */ به پایان برسانید. این قسمت به شما امکان این را خواهد داد تا توضیحاتی را به صورت پیش‌فرض همیشه در برنامه خود تولید کنید که کاملا اختیاری هستند و می‌توانید آن‌ها را تنظیم کنید که این مورد را به عهده شما خواهم گذاشت.

بدون تغییر در گزینه‌های دیگر کار را با زدنFinish به اتمام برسانید. کلاس شما تولید شده است. در خط اول نام Package نوشته شده است که به همراه کلمه کلیدی package که مشخص کننده package کلاس مورد نظر است، در نتیجه می‌توانید در چند package مختلف چند کلاس هم نام داشته باشید. با اضافه شدن کلاس‌های بیشتر این موضوع بهتر درک خواهد شد.

با تولید کلاس توسط Eclipse (اگر ایجاد کلاس main را انتخاب کرده باشید) خواهید دید که این کلاس به طور خودکار در زیر کلاس برای شما مشخص شده است. نمونه‌هایی از Commentها را نیز در این کد خواهید دید. حال کدهایی که در درس قبلی نوشته‌ایم در بدنه متد main اضافه خواهیم کرد.

System.out.println(“Hello World!”);

بعد از تایپ اولین نقطه، بعد از System، (با کمی صبر) خواهید دید که Eclipse لیستی را به شما ارائه خواهد کرد تا به کمک آن تنها با نوشتن اول کلمات و دستورات آنها را کامل کنید و هرچه در تایپ دستورات ادامه دهید گزینه‌های دقیق‌تری به شما ارائه خواهد داد.

بعد از نوشتن تمامی دستورات می‌توانید فایل خود را ذخیره کنید، به وسیله Ctrl+S، این کار باعث می‌شود تا اگر خطایی در کدهای نوشته شده وجود دارد به شما نشان داده شود. در این دستور من ; پایانی دستور را قرار نداده‌ام و خط قرمز دندانه‌دار به همین منظور زیر آن کشیده شده است. دقت کنید در قسمت Problems هم می‌توانید توضیح مشکل به وجود آمده را ببینید.

وقت اجرای برنامه است. در قسمت Project Explorer به روی کلاس خود راست کلیک کنید و از شاخه Run As، Java Application را انتخاب کنید. نتیجه برنامه شما در قسمت Console، نشان داده خواهد شد.

Tagged , , , ,

آموزش وردپرس فارسی

در زمانی هستیم که کتابهای بسیار کمی در راستای پیشرفت وب فارسی تولید می­شود و یا می­توان گفت که اصلا تولید نمی­شود. امروز اما از طریق بلاگنوشت متوجه کتابی شدم که توسط سایت کسب و کار اینترنتی منتشر شده است.

کتاب را دریافت کردم و مقدمه اولیه آن را خواندم. بدون شک یکی از بهترین کتاب­های فارسی آموزش وردپرس خواهد بود. نمی­دانم تا به حال مقاله­ای را نوشته­اید یا خیر اما به شما قول می­دهم که بیشتر از چند روز دوام نخواهید داشت. باید به اراده محکم نویسنده و متن شیوایش تبریک گفت و از او تشکر کرد بابت این کتاب آموزشی فوق­العاده .

مراحل آموزش به خوبی رعایت شده­اند و رنگ بندی کتاب به نوعی است که شما به شدت مشتاق کتاب خواهید شد. بهتر است بیشتر از این کتاب تعریف نکنم تا خودتان بیشتر با آن آشنا شوید.

از اینجا دریافت کنید

wp

Tagged , ,

جاوا

برای شروع برنامه نویسی معمولا سوال اول مبتدیان این است کدام زبان را به چه دلیل انتخاب کنیم و جواب حرفهایها مطمئنا این خواهد بود که هدف شما چیست؟ در پست اول خودم، پلتفرمهای موجود را به شما معرفی کردهام. پس اول از همه باید هدف خود را انتخاب کنید. با محدود شدن انتخابهای شما انتخاب زبان به دو عامل بستگی پیدا خواهد کرد. اولین دلیل راحتی و زمان یادگیریست و دومین هم امکانات زبان برنامه نویسی مورد نظر است.
با توجه به اینکه زبان مورد بحث جاوا خواهد بود علت انتخاب جاوا توسط یک برنامهنویس را توضیح خواهم داد.

ویژگیهای (مهم) جاوا

همانطور که گفتم باید اول هدف خود را مشخص کنیم که با توجه به دسته بندیهای انجام شده در پست اول به دنبال کدام بخش هستیم و بیشتر در کدام حوزه فعالیت خواهیم کرد. اولین ویژگی جاوا همه جانبه بودن آن و به طور علمی ” وابسته نبودن به پلتفرم” (Free Platform) است که تا به امروز بر شعار ابتدایی آن ” یکبار بنویس، همه جا اجرا کن!” پایدار مانده است. در هر زبان برنامهنویسی دیگر، که این ویژگی را نداشته باشد، شما ناچار به انتخاب پلفترم هستید. و این چیزی جز وابستگی نیست. اما در جاوا به خاطر وجود ماشین مجازی جاوا (JVM) این وابستگی رفع شده و تبدیل به نقطه قوت آن گشته است. مهم نیست که کد جاوای خود را در ویندوز یا لینوکس و یا حتی مکینتاش نوشتهاید، مهم قابلیت اجرای این کد بر روی تمام سیستم عاملها است.

امکان بعدی در جاوا شیگرایی (OOP) است، مبحثی که درباره آن بیشتر صحبت خواهیم کرد. شیگرایی امکانی است که باعث راحتی توسعه و خواناتر شدن کدها میشود. و در واقع برنامهنویسان با شیگرایی قادر به ابداع بیشتری هستند و مطمئنا زمان کمتری برای تولید برنامهها صرف خواهد شد. البته شیگرایی به همین جا ختم نخواهد شد بلکه با پیشرفت این آموزشها درک خواهید کرد که جاوا چیزی جز بازی با Object ها نیست!
در مباحث برنامه نویسی معمولا زبانهای برنامه نویسی با در اختیار قرار دادن ویژگیهایی مناسب، تولید برنامههای امن را فراهم میسازند. این امکانات در جاوا به نوعی منحصر به فرد است و با استفاده بهینه از این امکانات نرمافزاری قوی و امن تولید خواهد شد.

در سال اول دانشگاه مجبور به یادگیری زبان C++ بودیم و همچنان بر این عقیده هستم که این زبان تنها باعث دور کردن دانشجویان از این درس است ولاغیر. علت آن هم وجود سرفصل آدرسدهی است. معمولا برای مبتدیان، مدیریت حافظه امکانی کاملا ناشناخته و غریب است به طوریکه بسیاری عطای برنامهنویسی را به لقایش خواهند بخشید. اما امروز با وجود زبانهایی نظیر جاوا دیگر نیازی به نگرانی از این بابت نیست. جاوا با مدیریت کامل حافظه تقریبا خیال برنامهنویسان را از این بابت کاملا آسوده کرده است. در ادامه مباحث با موجودیتی در جاوا آشنا خواهید شد که فداکارانه برای شما انجام وظیفه میکند.

آمادهسازی
حالا فرض را بر این خواهیم گذاشت که شما در رابطه با این زبان تحقیق کردهاید و مطمئن شدهاید که در ادامه مطالب بسیار زیبایی را فراخواهید گرفت در نتیجه بیشتر از این شما را منتظر نخواهم گذاشت و بحث یادگیری جاوا را با نحوه آماده کردن محیط کامپیوتر خود برای اجرای جاوا شروع خواهیم کرد و سپس با مثالی ساده، کمی با کدهای جاوا آشنا خواهیم شد و در پستهای بعدی اما، به این موضوع که یک برنامه جاوا چگونه اجرا میشود خواهیم پرداخت. در نهایت بحثهای پیشرفتهتری را از بخش اول (هسته جاوا) ادامه خواهیم داد.
هر زبان برنامه نویسی نیاز به محیطی برای اجرا شدن دارد. این به این معناست که با نوشتن کد باید تغییرات بسیاری در آن ایجاد شود تا موجودیتی به نام کامپیوتر آن را درک کند. به طور دقیقتر کدهای نوشته شده به زبانهای مختلف نظیر جاوا (که یک زبان سطح بالا است) به هیچ وجه برای کامپیوتر قابل درک نیستند. در نتیجه باید با انجام یک ترجمه دقیق این کدها را به زبان کامپیوتر تبدیل کرد تا قابلیت اجرا پیدا کنند. با روند ترجمه کدهای جاوا برای کامپیوتر در بخشهای بعدی آشنا خواهیم شد.
تنها چیزی که برای شروع نیاز داریم بسته توسعه جاوا یا Java Development Kit (JDK ) است. میتوانید این بسته را از سایت اوراکل دریافت کنید. پیشنهاد من نسخه ۶ این بسته است که در جدول این سایت نیز قابل مشاهده است. پس از دریافت این بسته آن را در محل مناسبی که اجازه دسترسی به آن را دارید نصب کنید.
مرحله دوم اضافه کردن جاوا به “محیط” سیستم عامل شماست. در این روش تنها به سیستم عامل ویندوز ۷ خواهیم پرداخت چرا که انتخاب بیشتر کاربران است و همچنین در لینوکس، جاوا به طور پیشفرض نصب شده است. برای اضافه کردن جاوا به محیط ویندوز خود :
۱- منوی Start خود را باز کنید. روی Computer راست کلیک کرده و به Properties بروید.

۲- با انتخاب Advanced System Setting شاهد System Properties خواهید بود.

۳- Environment Variables هدف مورد نظر خواهد بود.

۴- در این قسمت سه کلید New, Edit, Delete برای هر قسمت گذاشته شده است که در قسمت User Variables For …. با زدن New ما متغیری را تعریف خواهیم کرد، بدین نحو که Variable Name را با JAVA_HOME و Variable Value را با آدرس دایرکتوری JDK خود مقداردهی خواهیم کرد. (این آدرس ممکن است در هر کامپیوتر متفاوت باشد.)

۵- بعد از اضافه کردن متغیرهای مرحله ۴ به قسمت پایین (System variables) خواهیم رفت و با پیمایش لیست متغیرها path را پیدا خواهیم کرد. در این قسمت Edit دکمه مورد نظر ما خواهد بود. در قسمت Variable value به انتهای این رشته رفته و در صورتی که ; یا Semicolon وجود نداشت به طور دستی اضافه میکنیم. در پایان، آدرس دایرکتوری bin JDK خود را به آن اضافه کنید.

کدنویسی
با تایید تمام مراحلی که انجام شده است شما آماده هستید تا اولین برنامه خود به زبان جاوا را بنویسید. ویرایشگر متنی ساده (Notepad) خود را باز کنید. توصیه اکید است که شما هرگز از برنامههایی نظیر MS Word استفاده نکنید چرا که این دسته از برنامهها با اضافه کردن فرمت خود به کدها، مانع اجرای صحیح آنها میشوند. در ادامه مطالب شما را با چند ویرایشگر و همچنین محیطهای توسعه آشنا خواهم کرد، اما برای شروع بهتر است تنها از notepad استفاده کنید.

۱- کدهای زیر را در داخل ویرایشگر بنویسید. ( به بزرگی و کوچکی حروف دقت کنید چرا که جاوا زبان سختگیری است.)

۲- فایل خود را در هر قسمت از کامپیوتر خود که به آن دسترسی دارید با نام MyProgram و با پسوند java ذخیره کنید.سپس Command prompt در ویندوز را اجرا کنید و به آدرس فایل ذخیره شده بروید. در این قسمت برای ترجمه کدهای جاوا به زبان قابل فهم برای کامپیوتر دستور javac را وارد کنید.

۳- اگر در تایپ و یا نامگذاری فایل مشکلی نباشد فایلی با نام MyProgram.class در کنار فایل قبلی ایجاد خواهد شد که باعث نتیجه بخشیدن به دستور بعدی است.

باید به شما تبریک گفت چرا که شما اولین خروجی خود را از اولین برنامه جاوای خود گرفتهاید.
این اولین برنامه به زبان جاوا و البته سادهترین آن نیز بوده است. در ادامه مباحث به این خواهیم پرداخت که چگونه یک برنامه جاوا اجرا میشود و چگونه راحتتر به نوشتن کدها بپردازیم.

 

Tagged , , , ,

داستان جاوا

جاوا به عنوان محبوب­ترین زبان برنامه نویسی دنیا تاریخ چندان پرفراز و نشیبی ندارد اما شاید بیشتر از باقی زبان­های برنامه نویسی دست خوش تغییرات شد. ( نه به اندازه ویژوال بیسیک!) اما اگر بخواهیم به طور دوستانه­ به جاوا بپردازیم باید بگوییم که جاوا در ۱۹۹۵ از یک پروژه سری  زیر نظر ناسا به وجود آمد. خالق این زبان جیمز گاسلینگ بود که در شرکت Sun Microsystems کار می­کرد.

در ابتدا نام این زبان Oak بوده است که از درخت کاج روبروی گاسلینگ، که بسیار باشکوه بوده است، گرفته شده بود. بعدتر به نام Green تغییر نام داد اما این مدت چندان دوام نداشت تا اینکه تصمیم به قرار دادن Java گرفته شد. این نام نوعی قهوه است که طراحان به نشان مصرف زیاد، جاوا را انتخاب کردند.

گروه اصلی طراحان جاوا متشکل از جیمز گاسلینگ، مایک شریدان و پاتریک ناتون بوده است که در سال ۱۹۹۱ طراحی زبان را براساس زبان Cو C++ آغاز نموند. این زبان به گفته ویکی برای تلویزیون­های تعاملی ساخته شده بود اما شاید آن زمان پیشرفت تکنولوژی در این زمینه آنقدر قوی نبود تا بتوانند ایده خود را عملی کنند.

java-logo

java - logo

در سال ۱۹۹۵ تصمیم بر نشر و توسعه جاوا به وسیله ماشین مجازی آن گرفته شد و نسخه اول آن با شعار ” یکبار بنویسید، همه جا اجرا کنید” توسط شرکت Sun منتشر شد. اولین ویژگی رایگان بودن آن و سپس امکاناتی که در امنیت به برنامه نویس ارائه داده می­شد، بود. با نزدیکی به قوانین C رشد سریع جاوا باعث شد تا نسخه دوم آن با تقسیم بندی­های خاص ارائه شود.

SE که مخفف Standard Edition است و قوانین اصلی و هسته جاوا در آن قرار دارد. EE که Enterprise Edition نام دارد و برای پروژه­های عظیم و ممتاز استفاده می­شود و در نهایت ME که Mobile Edition جاوا است.

اما ویژگی­های این زبان از همان ابتدا باعث شد تا برنامه نویسان علاقه زیادی به آن نشان دهند. ویژگی بزرگ و مهم زبان جاوا Free Platform بودن آن است که بدون وابستگی به پلتفرم و با اتکا به ماشین مجازی جاوا اجرا می­شود. شی گرایی شاید امروز به عنوان یک ویژگی خیلی عادی به شمار رود اما در زمان تولید جاوا مبحثی نوپا و تازه بوده است که جاوا آن را به همراه داشته و نقطه قوت آن است.

در زمانهای قبل­تر مطمئنا ویژگی­های بالا ارزش بسیاری داشته­اند کما اینکه همچنان جاوا به آنها می­نازد اما با گسترش جامعه متن باز و نرم افزار آزاد جاوا نیز به خاطر پشتیبانی از این بنیان­ها، پیشرفت کرد و در توسعه آن شاهد تکنولوژی­های متن باز بسیاری بوده­ایم که گاها از تکنولوژی­های ارائه شده توسط Sun نیز پیشرفته­تر بوده­اند.

معماری MVC چیزی است که در تولید پروژه­های عظیم و حجیم بسیار به برنامه­نویسان کمک خواهد کرد و جاوا در پیروی از این معماری پیشرو است. مطمئنا درباره این معماری بیشتر صحبت خواهیم کرد.

در سال ۲۰۰۶ شرکت تولید کننده جاوا، Sun، توسط رقیب بزرگ نرم­افزاری مایکروسافت و غول بزرگ دنیای دیتابیس ، Oracle خریداری شد و تمام محصولات این شرکت از جمله جاوا  از آن زمان زیر نظر Oracle اداره می­شوند.

این زبان امروز در نسخه ۷ خود به سر می­برد که با نام دلفین شناخته می­شود. نسخه­های قبلی اما همچنان پرکاربرد هستند و بسیاری از پروژه­های تجاری همچنان به وسیله نسخه­های قدیمی­تر در حال اجرا هستند.  شرکت Sun با صاحبان Mac OS Xو  Linux و Solaris قردادی را تنظیم کرد تا اینکه جاوا از آن پس به طور نصب شده تحویل مشتریان گردد اما با سیستم عامل ویندوز دیگر قردادی ندارد.

در ادامه پست­ها با زبان و ویژگی­های آن آشنا خواهیم شد اما قبل از آن باید به نحوه توسعه جاوا بر اساس مطلب قبل توضیح داد.

جاوا را شاید بیشتر در محیط­های ممتاز و در پروژه­های عظیم به کار گیرند اما یک برنامه نویس قادر به این خواهد بود تا به وسیله آن هر برنامه کاربردی دیگری را تولید کند. فرقی ندارد که این برنامه تحت وب باشد یا برای دسکتاپ، در محاسبات ابری باشد تا بر روی کامپیوتر شما اجرا شود. پس از این جهت هرگز با مشکلی مواجه نخواهید شد.

در ادامه به آماده سازی محیط برای کار و شروع برنامه نویسی با جاوا می­پردازیم.

Tagged , , ,

HelloWorld

اولین پست این وبلاگ مطمئنا باید با همین تیتر شروع می­شد. هدف اصلی من این خواهد بود که شما را با اطلاعاتی که به طور پراکنده در گوشه و کنار دنیای برنامه نویسی از نظر پنهان می­ماند آشنا کنم و به طور کلی به مباحث اولیه برنامه نویسی بپردازم. سپس با پیشرفت مطالب به دنبال مطالب مهم­تر خواهم بود. قصدی در پیگیری مطالب آکادمیک دانشگاهی ندارم چرا که بعد از سه سال تحصیل در رشته کامپیوتر هم چنان در بیسوادی محض به سر می­برم. پس سعی خواهم کرد کمی عامیانه­تر با دنیای برنامه نویسی آشنا شوم.

معمولا زبان­های برنامه­نویسی همانند بخش­های دیگر دنیای فناوری نیستند و زمان­های بروز رسان کوتاهی ندارند به همین جهت برنامه­نویسان زمان زیادی را برای وفق دادن خود با شرایط جدید دارند. با این وجود برنامه­نویسان به خاطر نوع بازاری که با آن روبرو هستند (بیشتر در ایران) و طیف وسیعی از مشتریان که هر­کدام با سطوح متفاوتی از دانش برنامه­نویسی به سراغ آن­ها می­آیند گاهی مجبور به نادیده گرفتن این بروز­ رسانی­ها می­شوند. از طرف دیگر همین برنامه­نویسان در گذشته برنامه­ها و نرم­افزارهای ریز و درشتی نوشته­اند که این کد­ها نیاز به مراقبت و نگهداری دارند و تغییرات پی­در­پی در آن­ها گاهی موجب مشکلات بیشتری می­شود.

در پاره­ای دیگر از موارد مشتریان علاقه دارند که سفارشات آن­ها با توجه به امکانات آن­ها تهیه شود که این هم خود عاملی خواهد بود برای نادیده گرفتن بروز رسانی­ها. با تمام این اوصاف حتی ساده­ترین برنامه نویسان نیز باید از پیشرفت­های رشته خود مطلع باشند تا بتوانند نوآوری­های بیشتری را ارائه دهند.

در حال حاضر اگر بخواهیم فیلدهای برنامه ­نویسی را مشخص کنیم به ۴ دسته کلی خواهیم رسید که خود به شاخه­های بسیار عریض و طویل تقسیم خواهند شد. ( از دسته بندی سیستمی و کاربردی استفاده نخواهیم کرد و فعلا فقط به موضوع کاربردی خواهم پرداخت) در ادامه توضیح مختصری درباره هریک خواهیم داد و بحث بیشتر را به مقاله­های بعدی واگذار خواهیم کرد.

Desktop

به طور مشخص این نوع پلتفرم آشناترین قسمت است چرا که خواسته یا ناخواسته با آن در ارتباط هستیم، این برنامه­ها می­توانند انواع مختلفی داشته باشند و نحوه عملکرد آن­ها تقریبا تاثیری در دسته-بندی آن­ها ندارد. می­توانند با ارتباط اینترنت کار کنند و یا به طور کلی آفلاین باشند. عامل مهم در این قسمت نوع سیستم عاملی است که برنامه­ها را اجرا خواهد کرد. به عنوان مثال برنامه­های مختص ویندوز که با پسوند معروف EXE هستند قابلیت اجرا بر روی سیستم عامل لینوکس و یا مکینتاش را ندارند.

Web

شاید محبوب­ترین قسمت ( از جمله برای من) این شاخه از برنامه نویسی باشد که به احتمال قوی امروز برترین و پویاترین شاخه برنامه نویسی است. وب جایی است که تمام گفته­های ما درباره بروز رسانی زبان­ها را نقض می­کند چرا که اگر کدهای شما متناسب با پیشرفت­های وب نباشد خیلی زودتر از موعد از گردانه رقابت خارج خواهید شد. قدرت وب در محبوبیت و پویایی آن است. مهم نیست که از چه سیستم عامل با چه سخت افزاری استفاده می­کنید فقط کافیست که یک رایانه با مرورگر اینترنتی مناسب داشته باشید آن وقت حتما دیگر نیاز به هیچ برنامه­ دیگری ندارید.

اگر طولانی شدن مطلب برایم مهم نبود نوشتن درباره وب ساعت­ها به طول می­انجامید.

Mobile

اگر نگاه دقیق بیاندازیم همانطور که میکروبلاگینگ در حال پیشرفت است میکروپروگرامینگ (این نامی است که من برای آن انتخاب کرده­ام!) هم در حال پیشرفت است. خیلی از اپلیکیشن­ها و برنامه­های تولید شده امروز بر روی پلتفرم موبایل قابل استفاده هستند. موبایل شاید کمی جزئی به نظر برسد اما در واقع این پلتفرم شامل تمام وسایل الکترونیکی قابل حمل است که قابلیت اجرای اپلیکیشن­ها را دارند که مهم­ترین آنها تلفن­های هوشمند و تبلت­ها هستند.

Cloud

ابرها جایی است که دیگر محل اطلاعات مهم و حیاتی است. در حال حاضر شرکت­های بزرگ نرم­افزاری سرمایه گذاری را برای توسعه این قسمت در نظر گرفته­اند. به طور حتم در زندگی روزمره خود بارها از این تکنولوژی استفاده کرده باشید اما توجه چندانی به آن نکرده باشید. سرویس­های ایمیل شما و یا اگر در جایی غیر ایران هستید اطلاعات تلفن همراه شما و … بر روی سرویس­های ابری پردازش می­شوند. پس این پلتفرم هم همانند سایر پلتفرم­ها نیاز به برنامه نویسی خاص خود را خواهد داشت که از قضا کمی ناشناخته­تر و پیچیده­تر نیز خواهد بود.

قطع به یقین توضیحاتی که در بالا ارائه شد بسیار ناقص و مختصر است اما سعی خواهم کرد تا در ادامه شما ( و خودم ) را با هرکدام به طور مفصل تر آشنا کنم.

Tagged
.