بایگانی

بایگانیِ دستهٔ ‘برنامه نویسی’

پوسته Oulipo برای وردپرس پارسی

نوامبر 4, 2011 4 دیدگاه

پوسته‌ی Oulipo با مشخصاتی مانند سادگی و سادگی و سادگی‌اش نظرم را به خودش جلب کرد‌. من هم پس از ترجمه و استفاده از آن در وبلاگ شخصی‌ام‌، تصمیم گرفتم که آن را طبق قوانین لیسانس این پوسته‌ (GPL) ، آزادانه منتشرش کنم ;-) برای دیدن پیش‌نمایشی از نتیجه‌ی استفاده‌ی این تم‌، می‌توانید همین وبلاگ رو ببینید‌، و برای دانلود‌اش از لینک زیر اقدام کنید!

لینک دانلود (‌Dropbox)

اولین تجربه با LaTeX (‌کتاب آموزش ‎(C‎+‎+‎

سپتامبر 15, 2011 3 دیدگاه

در پستی که قبلا ارسال کرده بودم (‌چرا باید LaTeX را دوست داشت‌) گفته بودم که دارم LaTeX یاد می‌گیرم‌! دلایلی هم برای این کارم آورده بودم‌. حالا از آن‌جایی که اعتقاد دارم Sometimes you gotta run to can walk!‎  برای یاد گرفتن بیشتر این ابزار‌، تصمیم گرفتم که متنی حجیم (‌دقیقا جیزی که LaTeX برایش طراحی شده‌) را به این شکل آماده کنم‌.

منبع این کتاب‌، سایت CProgramming است‌، که به نظرم یکی از کامل‌ترین منابع آموزش C‎+‎+‎ است که به صورت رایگان در سطح اینترنت قابل دسترسی است‌. در این PDF که با استفاده از LaTeX آماده شده‌، مجموعه پنج فصل از مطالب منتشر شده‌، روی سایت CProgramming در کنار هم قرار گرفته‌اند‌. در این پست قصد ندارم بیشتر از این به معرفی مطالب کتاب بپردازم و بیشتر به دنبال اشتراک گذاری تجربیاتم در آماده کردن این کتاب هستم‌. (‌این کتاب را می‌توانید از لینک پایان همین متن دریافت کنید‌)

اول از همه باید به ابزاری بپردازم که در آماده کردن این کتاب کمکم کرد‌! در واقع بدون این ابزار‌، کار عاقلانه‌ای به نظر نمی‌رسید که من تازه‌کار دست به آماده کردن چنین فایل بزرگی به زبان TeX بزنم. این نرم‌افزار TeXmaker نام دارد و اسلکور کاران عزیز می‌توانند با این Slackbuild آن را نصب کنند‌.

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

به طور کلی چیز‌های زیادی از کار با LaTeX در این پروژه‌ی شخصی یاد گرفتم‌، اما این PDF هنوز هم مشکلاتی دارد. آن‌هایی را که شناختم در زیر لیست می‌کنم‌:

  • فایل TeX آماده شده‌، بسیار حجیم هست‌، و در واقع اگر از TeXmaker استفاده نمی‌کردم محال بود که بتوانم آن را راحت مدیریت کنم‌. با توجه به این که LaTeX قابلیت تقسیم کردن پروژه به فایل‌های کوچک‌تر را دارد‌، باید از آن بهره بگیرم‌.
  • در مثال‌های کتاب که به زبان C‎++‎ بود‌، بسیاری از علامت‌ها نظیر #, &, >, < باید با علایم ویژه‌ی TeX نگاشته می‌شد‌. با این حساب دوست نداشتم که قوانین نوشتن پاراگرف هم در این مثال‌ها لحاظ شود‌، چون جز زیاد کردن مشقت خواندنشان‌ فایده‌ی دیگری نداشتند. به همین دلیل آن‌ها را در بلوک verbatim قرار می‌دادم‌. ولی متاسفانه این بلوک خطوط را نمی‌شکست و همین باعث بی‌نظمی در بعضی مثال‌ها شده است‌! ‌(‌باید به دنبال چاره‌ای برایش باشم‌)
  • تا جایی که توانستم ارجاعات متن را به مکان مربوطه لینک کردم‌، ولی ممکن است باز جاهایی از دستم در رفته باشد‌. این مشکلات و وجود علایمی مانند «‌>‌» که در لاتک به صورت علامت سوال سر و ته چاپ می‌شوند و برای رفع ایرادشان باید به روش‌هایی متوسل شد‌، بیشتر روی این نکته تاکید دارد که کسی که با لاتک کار می‌کند باید بداند چه متنی را تایپ می‌کند و مثل من یک دفعه متنی نا آشنا و نخوانده را به لاتک فشار ندهد‌!
  • برای ایجاد لینک‌هایی که کار کنند و رنگشان متفاوت باشد‌، از بسته‌ی url استفاده کردم‌. کار با آن فوق‌العاده آسان است‌، اما باز هم متاسفانه لاتک لینک‌ها را نمی‌شکست‌! ‌(‌نمی‌دانم عبارت «‌متاسفانه‌» در اینجا درست است یا نه‌) پس باید دستی این کار را می‌کردم و باز هم ممکن است جایی در متن نا همگونی رخ داده باشد‌.

حالا باید به سراغ چالش بعدی‌ام بروم‌. در نظر دارم که متن پروژه‌ی لیسانسم را با همین لاتک آماده کنم‌. در آن‌جا بحث کمی متفاوت است‌. متن فارسی با عبارات انگلیسی‌! این در حالی است که ساختار یافتگی متن خروجی لاتک می‌تواند بسیار کمکم کند‌. سعی می‌کنم به وقایع‌نگاری این تجربیاتم در شاهینیسم بپردازم ;-)

دریافت بسته‌ی کامل کتاب ‌(‌فایل TeX به همراه خروجی‌ها اعم از PDF‌)

دسته‌ها:LaTeX, برنامه نویسی برچسب‌ها: ,

چرا باید LaTeX را دوست داشت‌؟

سپتامبر 5, 2011 8 دیدگاه

همین دیروز بود که به دوستم علی می‌گفتم «اگر هر جایی و به هر دلیلی به کلمهٔ LaTeX برخوردی‌، گوشهات رو بگیر و در رو‌!». خوشبختانه‌، لاتک با تمام سختی‌ها و پیچیدگی‌های لعنتی‌اش‌، اینقدر برایم گیرا بود که کار با آن را ادامه دهم تا برایم اثبات کند که نه‌، جز لاتک با هر حروف‌چین دیگری کار کردن‌، حرام است‌!

تازه تجربهٔ خروجی گرفتن از یک فایل tex را از سر گذرانده‌ام و خیلی خیلی زود است که بخواهم دلیل و مدرک سنگینی بیاورم که «آره آقا‌، از فردا هر کس با لاتک مطلب ننوشت‌، و یا کار با لاتک را ندانست‌، از ما نیست‌!». اما می‌خواهم برای فعلا و ثبت در خاطراتم‌، اینجا بنویسم که چگونه کفهٔ ترازو به نفع لاتک برایم پایین رفت‌:

  • انگلیسی نوشتن‌، و ساده نوشتن در لاتک‌، فوق‌العاده آسان است‌! اما وای به حالتان اگر بخواهید فارسی بنویسید‌، در این صورت باید یک دورهٔ کامل برنامه‌نویسی بسته‌هایش را بگذرانید (‌به این شوری‌ها هم که گفتم نیست‌، در آینده بیشتر در این مورد می‌نویسم‌) ‌.
  • آسان‌ترین کار ممکن در لاتک‌، پانویس نوشتن است‌، که خوب من هنوز هم بلد نیستم که در هیچ کدام از ورد پرسسور‌های رایج انجامش دهم‌!
  • فهرست کردن مطالب در لاتک فقط زحمت نوشتن tableofcontent/ را می‌طلبد‌!
  • تمام سخت‌گیری‌های لاتک در مورد پاراگراف‌ها‌، خطوط‌، علامت‌های مختلف‌ و قابلیت‌هایش برای تعیین کردن سر فصل‌، و بخش‌ها‌ نتیجه‌ای فوق‌العاده زیبا و خوانا را به شما باز می‌گرداند (‌ولی آن‌چنان دهانی از شما… که…) ‌!
  • افزودن تصویر در لاتک به قدری سخت هست‌، که هنوز جرات نکرده‌ام نزدیکش شوم‌!
  • همهٔ تجربیات بالا را اضافه کنید‌، به درد و خونریزی شدیدی که باید برای افزودن قابلیت‌های تایپ فارسی بدون درد و خونریزی در لاتک متحمل شوید‌!
  • نوشتن مقاله در لاتک‌، عملا حکم یک برنامه‌نویسی تمام عیار را دارد‌!

در کل پس از سبک سنگین کردن قضایای بالا من هم به این نتیجه رسیدم که اگر حرف از با سواد بودن در جامعهٔ امروزی می‌زنید‌، و برای مهندس مهندس شنیدن‌، آب دهانتان سر ریز می‌شود‌، حداقلش این است که مقالاتتان را با LaTeX آماده کنید‌، نه مثل استاد گرامیمان‌، ‌ به مسلط بودن به مجموعه نرم‌افزار آفیس افتخار ورزید‌! ‌ (‌گفتم «‌من هم‌» ‌، چون آرش آبادپور و امین ثابتی عزیز در این مورد قبلا سخن‌ها رانده‌اند‌) ‌.

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

در ضمن دلتان را هم به این خوش نکنید‌ که لاتک را در وب فارسی جستجو کنید‌، چون نتیجه‌اش انواع کاندوم است که نثارتان می‌شود‌ ;-)

دسته‌ها:معرفی منبع, اسلکور, تاریخچه, حل مشکل برچسب‌ها: ,

یوتیوب‌؟ یا دانشگاه‌؟ پرده دوم

ژوئیه 19, 2011 ۱ دیدگاه

توی پرده‌ی اول این سری از پست‌ها به معرفی یک منبع عالی برای آموزش برنامه‌نویسی به خصوص برای c++ در محیط Qt پرداختم‌. اما همانطور که گفتم‌، آموزش خود زبان C++ موجود در اون مجموعه برای کسانی که به عنوان اولین زبان دارند C++ یاد می‌گیرند منبع مناسبی نیست‌. در جستجو‌های بعدی در این زمینه به بهشتی واقعی برای عاشقان یادگیری کامپیو‌تر روی اینترنت رسیدم‌. قصد یادگیری کدام یک از مباحث برنامه‌سازی زیر را دارید‌؟

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

مجموعه آموزش C++ این مجموعه که من خودم در حال گذروندن آموزش‌هاش هستم‌، فوق‌العاده کامله و به جزئیات به زیبایی هر چه تمام‌تر پرداخته شده‌. نکتهٔ خیلی قشنگ دربارهٔ آموزش‌های باکی این هست که اصلا دوست نداره مسائل رو خسته کننده تحویل مخاطب بده‌، بلکه از کوچک‌ترین فرصتی برای وارد کرده جک‌هاش به آموزش استفاده می‌کنه‌. باکی دوست نداره مدت زمان ویدیو‌هاش بیشتر از ۶-۷ دقیقه بشه و این یکی دیگه از دلایل علاقهٔ من به باکی هست‌! سری اول آموزش C++ داری ۷۳ قسمت هست و از قرار قراره در آینده‌ای نه چندان دور شاهد سری جدیدی از این مجموعه باشیم‌.

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

مجموعه آموزش PHP موجود در این سایت که با همکاری گروه phpacademy آماده شده هم می‌تونه یه مجموعه عالی برای یادگیری این زبان محبوب باشه‌. البته پیشنهاد می‌کنم مجموعه Beginner PHP رو قبل از مجموعهٔ فوق بگذرونید تا با اصول پایه‌ای نحو این زبان کاملا آشنا بشید‌.

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

پی‌نوشت‌: چقدر زندگی لذت‌بخش‌تره وقتی می‌بینی که همچین آدمایی توی دنیا هستن که برای آموزش دادن بهت‌، هیچ چشم‌داشت مالی‌ای بهش ندارن‌!

یوتیوب‌؟ یا دانشگاه‌؟ پرده اول

ژوئیه 11, 2011 2 دیدگاه

یه استادی داریم‌، که یه روز یه حرف خوبی زد (‌فکر کنم‌، اولین و آخرین بارش بود‌). گفتش که: اینترنت خیلی بزرگه و خیلی چیز‌ها می‌شه ازش یاد گرفت‌، ولی مهم‌ترین نکته‌اش اینجاست که خیلی راحت‌تر می‌شه توش وقت تلف کرد. منم که بچه حرف گوش کن‌، این حرفش رو هیچ‌وقت یادم نرفت‌!

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

تو این قسمت قصد معرفی کانال VoidRealm’s رو دارم. توی این کانال که مدیریتش رو آقای برایان بر عهده دارن‌، آموزش‌های برنامه نویسی در محیط‌هایی نظیر Visual Studio و Qt و زبان‌های مختلف نظیر C++، Java، C# ارائه می‌شه که با توجه به تصویری بودن آموزش‌ها و توضیحات خوب جناب برایان‌، به منابع خیلی به درد بخوری برای یاد‌گیری این زبان‌ها تبدیل شده‌.

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

آموزش‌هایی که بیشتر از همه توجه من رو به خودشون جلب کردن‌، بیست و خرده‌ای آموزش زبان C++ بود که من در محیط لینوکس (‌متفاوت با آقای برایان‌) از اون‌ها خیلی استفاده بردم‌، و آموزش Qt C++ که با رسیدن شماره قسمت‌هاش به ۷۸ نوید یه آموزش کامل و خوب رو برای این محیط توسعه به آدم می‌ده‌. من هنوز دارم روی یاد گرفتن C++ تمرکز می‌کنم‌، و قصد دارم بعد از اون به سراغ Qt برم‌.

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

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

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

دسته‌ها:معرفی منبع, برنامه نویسی, دوره برچسب‌ها: , , ,

چطور از خودمان برنامه نویسی بیاموزیم‌؟‌ دو

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

اسکریپت نویسی سمت سرور‌:
PHP:
خوب بعد از این‌که توانستید صفحه‌های وبی بسازید که کار‌های ساده را انجام دهد و اطلاعات خاصی رو از کاربر دریافت کند‌، شاید بخواهید برنامه‌هایی بنویسید که روی سرورتان اجرا شود‌، مثلا شاید بخواهید یک برنامه ارسال ایمیل بنویسید که اطلاعات کاربر را دریافت کند و به آدرس ایمیل دلخواه ارسال کند‌، و یا برنامه‌ای که بتواند با یک پایگاه داده ارتباط بر‌قرار کند‌. اینجاست که PHP، Perl، Python، Ruby و چند نمونهٔ دیگر وارد عمل می‌شوند‌. در مورد روبی که قبلا مفصلا توضیح داده‌ام‌. برای PHP هم می‌توانید به «‌آموزش PHP برای تازه‌کاران‌» از وبلاگ Webmonkey استفاده کنید‌. وقتی هم که به قدر کافی با پایه‌ها آشنا شدید می‌توانید برای یادگیری چطور ارتباط برقرار کردن با پایگاه داده‌تان از این قسمت‌، که دوباره کاری از همین وبلاگ است استفاده کنید‌.

Web Framework:
اگر برای مدتی برنامه نویسی کرده باشید‌، متوجه می‌شوید که مدتی است که دارید برای پروژه‌های متفاوت کار‌های تکراری زیادی انجام می‌دهید‌. و یا برنامه‌نویسان متفاوتی را ببینید که دارند روی پروژه‌های مختلف کار می‌کنند ولی یک نوع مشکل را دارند در پروژه‌شان حل می‌کنند‌. این‌جاست که Framework‌ها وارد عمل می‌شوند‌. این ابزار‌ها وظیفهٔ انجام بسیاری از اعمال پیچیده و تکراری را در برنامه‌نویسی را برایتان بر عهده می‌گیرند‌. برای شروع می‌توانید به این مطلب از لایف هکر مراجعه کنید‌. همچینین زیادند فریم‌ورک‌هایی نظیر CakePHP و Django و JQuery که می‌توانید برای یاد گرفتنشان به بخش مستندات سایت مربوط به آن فریم‌ورک مراجعه کنید‌. فقط یادتان باشد که زیادی به فریم‌ورک‌ها عادت نکنید‌. چون به قول برنامه‌نویسان واقغی‌، برنامه‌نویسی که برنامه‌نویسی را با فریم‌ورک یاد بگیرد‌، نمی‌تواند برنامه‌نویس خوبی باشد‌.

اسکریپت‌نویسی خط فرمان‌:

Python:

پایتون یک زبان خیلی دوست داشتنی می‌شود برایتان‌، وقتی اراده کنید شروع کنید‌. باور کنید‌، این را از روی تجربه شخصی می‌گویم‌. پایتون با وجود سطح بالا بودنش‌، واقعا نرم و انعطاف پذیر است‌. کد‌های تولیدی‌اش‌، فوق‌العاده قابل خواندن‌ و فهم هستند‌. برای پایتون یک منبع فارسی عالی سراغ دارم که در نوع خود و به زبان فارسی بی‌نظیر است‌. سایت Pylearn دو کتاب ترجمه شده را در فضایی کاملا پویا و یک انجمن کاربردی در کنار هم جمع‌آوری کرده است‌. پیشنهاد می‌کنم برای شروع کار با این زبان کتاب «‌یک بایت از پایتون‌» نوشته‌: Swaroop C H که ترجمهٔ این تیم است را دانلود و استفاده کنید‌. کتاب عالیست‌. ولی در بعضی از مواقع ضعف‌های باور نکردنی در ترجمه دارد که امیدوارم در آینده حل شود‌.

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

ادامه دارد‌…

لیست تصادفی پست‌ها در وردپرس

حتما دیده‌اید در بسیاری از وبلاگ‌های اصولا وردپرسی چند پست آخر را در سایدبار یا فو‌تر لیست می‌کنند‌. بنده با این کار ذره‌ای مخالفم‌! خوب از آنجایی که اصولا در صفحهٔ اول وبلاگ معمولا – در ۹۵ در صد مواقع – پست‌های جدید نمایش داده می‌شوند‌، دیگر عملا نیازی به یک لیست مجزا نیست‌. اما می‌توان لیستی داشت که به شناساندن وبلاگمان کمک بیشتری کند‌. در زیر کدی را برای وردپرس می‌آورم که از بین مستنداتش پیدا کردم‌. این کد از پایگاه دادهٔ وبلاگ تعداد دلخواه از پست‌های وبلاگ را به صورت اتفاقی لیست می‌کند و به نمایش می‌گذارد‌:
[php]
<?php
$args = array( ‹numberposts› => 7, ‹posts_per_page› => 5, ‹orderby› => ‹rand› );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>[/php]
بدیهی است که با تغییر مقدار روبروی عبارت numberposts می‌توانید تعداد عناوین داخل لیست را جابجا کنید‌.

دسته‌ها:برنامه نویسی, طراحی وب برچسب‌ها: , ,

چطور از خودمان برنامه نویسی بیاموزیم‌‌؟ یک

ژانویه 27, 2011 2 دیدگاه

این مطلب برداشتی آزاد و با دخل و تصرف از متن Programmer ۱۰۱: Teach Yourself How to Code از وبلاگ لایف هکر می‌باشد‌.

شما هم دوست دارید تا برنامه نویسی یاد بگیرید‌؟ شما هم دوست دارید برنامه‌های مورد نظر خود را بنویسید‌؟ اما احتمالا مشکلتان اینجاست که نمی‌دانید از کجا شروع کنید‌! کلاس‌های آموزشی و حتی دانشگاه‌ها نمی‌توانند کمکی به شما بکنند‌. می‌پرسید خوب چه کار کنیم‌؟

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

اولا‌: تکلیفتان رو روشن کنید‌، و در دنیای بزرگ زبان‌های برنامه نویسی گم نشوید‌!

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

من دانشجوی رشتهٔ نرم افزار هستم‌. در دانشگاه برنامه نویسی با پاسکال‌، C++ و اسمبلی را یاد گرفتیم‌. ولی خوب عملا تفاوتی بینشان ندیدیم جز ساینتکسشان‌ (شکل نوشتاری زبان‌)! منطق برنامه نویسی در همهٔ زبان‌ها شبیه به هم است‌. فقط نحوهٔ به کارگیری این منطق است که متفاوت است‌.

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

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

دسکتاپ اسکریپتینگ‌:

راحت‌ترین راه برای برنامه نویسی برای مک و ویندوز استفاده از اسکریپت نویس‌هایی مثل AutoHotkey برای ویندوز و Automator برای مک است‌. ممکن است خیلی‌ها بگویند که این‌ها زبان‌های برنامه نویسی واقعی نیستند‌. ولی حقیقت این است که این‌ها در همین گروه جا دارند‌، البته نوع سطح بالایی از این زبان‌ها هستند‌. این ابزار‌ها عملا به شما کمک می‌کنند که درک بهتری از برنامه نویسی داشته باشید‌ – البته اگر هنوز نو پا هستید‌-‌.

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

توسعه وب‌:

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

HTML و CSS و Java Script‌:

اولین چیزی که برای ساخت یک صقحهٔ وب نیاز دارید زبان HTML است‌. این زبان در واقع شکل و استایل صفحهٔ وب شما اعم از نوشته‌ها‌، جداول و لیست‌ها را تعیین می‌کند‌. برای اینکه بتوانید این زبان را یاد بگیرید می‌توانید به HTML Tutorial که محصول W۳ است مراحعه کنید‌.

شاید HTML بتواند صفحات منظمی برایتان آماده کند‌، ولی وقتی حرف زیبایی به میان می‌آید این زبان علاوه بر مقرون به صرفه نبودن‌، کارایی لازم را ندارد‌. اینجاست که CSS وارد می‌شود‌. برای آموزش CSS هم می‌توانید به اینجا که باز هم محصول W۳ است رجوع کنید‌.

راشل اندروسادگی و کارایی آموزش‌هایی که در W۳ ارائه شده مثال زدنیست‌. اما اگر یک منبع برای تکمیل یادگیریتان خواستید می‌توانید از کتاب «۱۰۱ نکته و ترفند برای استفادهٔ بهتر از CSS» نوشته‌ی راشل اندرو هم بهره ببرید که خوشبختانه ترجمهٔ فارسی‌اش هم به چاپ رسیده‌. در این کتاب نویسنده سعی کرده با طرح ۱۰۱ سوال شما را در موقعیت‌های مختلفی که در حین طراحی برایتان پیش می‌آید روبرو کرده و راه حل‌های پیشنهادی را نشانتان دهد‌. این کتاب جزو معدود کتاب‌های فارسی در زمینهٔ تخصصی بود که جدا به درد من خورد‌!

حالا تا اینجا توانستید که صفحه‌های ایستای جذابی بسازید‌. اما حالا می‌خواهیم صفحهٔ طراحی شده را کمی افکت دار‌تر کنیم‌. یا بتوانیم اشیای موجود در صفحه را کنترل کنیم‌. اینجاست که Java Script وارد می‌شود‌. برای یاد‌گیری جاوا اسکریپت می‌توانید به اینجا مراجعه کنید‌ که باز هم همانطور که می‌بینید محصول w3 است. و اگر جدا خیلی از این‌ها لذت بردید‌، می‌توانید برای یاد گیری تکنولوژی Ajax که در واقع فرزند خلف جاواست به اینجا مراجعه کنید‌.

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

دسته‌ها:برنامه نویسی برچسب‌ها: , , ,

آموزش برنامه نویس برای تازه‌کار‌ها به زبان روبی

تا حالا چند بار تصمیم گرفتین که برنامه نویسی یاد بگیرین‌، ولی حتی رغبت نکردین که طرفش برین‌؟ تا حالا چند تا کتاب آموزش برنامه نویسی در فلان قدر روز اونم به زبان فارسی گرفتین و به کارتون نیومده‌؟ اگه دانشجوی رشتهٔ نرم افزار هستین‌، تا حالا کدوم کلاس برنامه نویسی یا استاد بهتون یه برنامه نویسی درست و اصولی یاد دادن‌؟ اصلا ببینم دلتون می‌خواد که به یه روش مفرح و ساده‌، از خود کامپیو‌تر تون برنامه نویسی یاد بگیرین‌؟ خوب پس منتظر چی هستین‌؟

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

در مورد زبان روبی می‌تونین از ویکی پدیا بخونین‌.

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

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

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

پی‌نوشت‌: لازم نیست که بگم که این نرم افزار و تموم آموزشش به زبان انگلیسیه‌. و صد البته فری و منبع باز هست‌.

دنبال‌کردن

هر نوشتهٔ تازه‌ای را در نامه‌دان خود دریافت نمایید.