آموزش برنامه‌نویسی – بخش سوم – نگاهی به محیط‌های برنامه‌نویسی / شروع برنامه‌نویسی با سی‌پلاس‌پلاس

سلام. پس از یه تاخیر دو هفته‌ای با آموزش‌ها برنامه‌نویسی در خدمت‌تون هستیم. آموزش این هفته رو به دو بخش تقسیم کردیم؛ بخش اول (شماره ۳) در مورد محیط‌های برنامه‌نویسی و آموزش ساخت پروژه‌ی جدید تو هرکدوم از اون‌ها حرف می‌زنیم (و می‌بینید!) و توی بخش دوم (شماره ۳.۵) سی‌پلاس‌پلاس رو شروع کردیم. چون آموزش ویدیویی بود متن درست و حسابی نداشت پس منم چیزی ندارم که این‌جا اضافه کنم. فقط لینک‌هایی که قول داده‌بودم رو می‌زارم. لینک‌ها: سایت DevCpp سایت CodeBlocks سایت Visual Studio و اینم صفحه‌ای که کارکترهای ویزه رو توی جدول آورده

دانلود بخش اول از مدیا فایر (کیفیت 720p -که توی بخش اول تاثیری نداره- با حجم ۱۵ مگابایت) (کیفیت 420p با حجم ۷ مگابایت)تماشای اون در آپارات و یا تماشای اون در همین پایین!

دانلود بخش دوم از مدیا فایر (کیفیت 720p با حجم ۱۴ مگابایت(کیفیت 420p با حجم ۷ مگابایت) – تماشای اون در آپارات و یا تماشای اون در همین پایین!

و چون دوتا فیلمه ما هم به صورت جداگانه دوتا موسیقی به‌صورت جدا براتون می‌زاریم

موسیقی اول : Rain Rain Windy Windy (حجم ۵.۱ مگابایت) از موسیقی متن‌های بازی World of GOO

موسیقی دوم: Guilty Of Being Innocent Of Being Jack Sparrow (حجم ۱.۷ مگابایت) و Remix آن (حجم ۲.۶ مگابایت) کاری از هانس زیمر (موسیقی متن دزدان دریایی کارائیب ۴)

دانلود همه‌ی موسیقی‌ها از مدیافایر با حجم ۹ مگابایت.

و هنوز هم همه‌ی آموزش‌های ما رو می‌تونید توی مدیافایر ببینید.

paint.net، یک فتوشاپ تمام عیار

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

خیلی وقت‌ها تنها استفاده‌ای که از فتوشاپ می‌کنیم این است که آن را Resize کنیم (که البته قبلا سرویس آنلاین ‌Picresize را برای این کار معرفی کرده‌بودم ولی حالا از Paint.Net استفاده می‌کنم!) گوشه‌های یک عکس را ببریم،  عکس را روشن‌تر کنیم و کارهایی معمولی که عملا از قدرت فتوشاپ استفاده‌ای نمی‌شود. (بازهم می‌گویم که مخاطب من کاربران معمولی هستند نه حرفه‌ای) نرم‌افزار Paint.Net برای همین کارها ساخته شده است. به کمک این نرم‌افزار شما می‌توانید تصویر را به‌صورت نیمه‌حرفه‌ای ویرایش کنید. این نرم‌افزار ابزارهای زیادی در اختیار شما قرار می‌دهد و در عین حال حجم کمی هم دارد (و سبک است). فایل نصبی این نرم‌افزار تنها ۳ مگابایت حجم دارد (در مقایسه با فتوشاپ خیلی کم‌تر است!) و محیط زیبای و خلاقانه‌ای دارد.

نکته‌ی جالب در مورد سازنده‌ی این نرم‌افزار این است که پس از انتشار این نرم‌افزار مایکروسافت از او درخواست کرده که به مایکروسافت بپیوندد (جمله‌بندی مناسب‌تری پیدا نکردم!) و خوب این به نوبه‌ی خودش جالب است!

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

pant.net

پی‌نوشت: خوب حرفی برای گفتن باقی نمی‌مونه. فقط اگر از این نرم‌افزار استفاده کرده‌اید یا نرم‌افزار جایگزین مناسب‌تری می‌شناسید در دیدگاه بیان کنید!

پی‌نوشت۲: همین الان که این نوشته داره منتشر می‌شه، آموزش برنامه‌نویسی هم داره آماده می‌شه!

دو برنامه‌نویس اجتماعی می‌شود؛ فیسبوک و توییتر

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

حالا شما می‌تونید از طریق فیسبوک یا توییتر (@2barnamenevis) با ما در ارتباط باشید (و البته سعی می‌کنیم در کم‌ترین زمان ممکن به ایمیل‌هاتون -2barnamenevis در جیمیل- جواب بدیم)

خوب همین‌جا بگم که برای GTranslate هم یه صفحه‌ی فیسبوک ساختم که الان تعداد likeهاش از صفحه‌ی دو برنامه‌نویس بیش‌تره (کلا ۵ تا لایک داره! در مقابل دو برنامه‌نویس با ۱ لایک -خودم!- ولی در هر صورت بیش‌تره و تازه ۵ برابر هم هست. پس ما در چند روز گذشته ۶۰۰درصد افزایش لایک نسبت به دو برنامه‌نویس داشتیم و این قابل تقدیره (:دی!) و اینم از بیان آمار به شیوه‌ی مرسوم در کشور ما!)

خوب منتظرتون هستیم!

این‌جاست همه‌ی زندگی من

نارنحی یه مسابقه گزاشته با این عنوان که «اکسپریا Z برنده شوید: مسابقه عکاسی نارنجی با همکاری سونی» و خوب موضوغ عکاسی‌ش هم «عکاسی از میز کاره»

Narenji-Sony-photo-comp

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

خوب این اولین عکس که بعد از دیدن‌ش متوجه شدم باید یه‌ذره منظم‌تر بشه میز و بعد دوباره عکس بگیرم

photo

این عکس با آی‌پد جدید (The new IPad) گرفته شده.

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

بقیش هم این‌که با این‌که نارنجی گفته میز کار باید «مرتب» باشه ولی هیچ موقع زمان کار میز من مرتب نبوده پس همینه که هست می‌خوای بخواه نمی‌خوای نخواه!

خوب از بالا شروع می‌کنیم. اون قاب عکس بالا عکس من در دوران کودکیه (دقیقا یادم نیست کی!) و کنارش هم به ترتیب احمد شاملو و مهدی اخوان ثالث به صورت عمودی وایسادن (اینا هم‌اتاقی‌های منن!!) و بعدش میز کناری یه جورایی temp حساب می‌شه یعنی هر جیزی که اضافیه روی میز اصلی (و من حال جابه‌جا کردن‌ش رو دارم) اون جا قرار می‌گیره و البته یه مدت (حدود یک روز) هم برای بینه‌تر کردن درس‌م لپ‌تاپ رو به اون‌جا منتقل کردم که به دلیل کم‌بود نور پروژه با شکست مواجه شد.

و البته میز کناری میزبان پرینتر و اسکنر من هم هست. و همین‌طور یه آینه و چندتا چیز دیگه (کوزه کوزه‌ایه که توی مراسم افطاری پارسال دوره ۱۵ گرفتیم (خریدیم برای خیریه) و کتاب شیمی ۳ انتشارات خیلی سبز و یه هدفون معیوب و چندتا چیز دیگه!

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

اون پایین هم یک‌سری سیم (تاسیسات) و یه کیف لپ‌تاپه که تو عکس دوم کیف رو برداشتم و یه ذره هم میز مرتب‌تر شد.

اینم عکس دوم:

photo (1)
خوب نظر شما چیه؟!؟

آموزش برنامه‌نویسی – بخش دوم – الگوریتم‌ها در برنامه‌نویسی

پیش‌نوشت: این متنی که توی پادکست می‌گم (و البته چیزی که تو پادکست گفته شده کمی متفاوته چون موقع خوندن عوض می‌شه!). دلیل برای اضافه‌کردن جزئیات نمی‌بینم. حدود ۱۴ دقیقه‌ست که البته ۶ دقیقه‌ی آخرش هم آهنگه (Rango Suit کاری از هانس زیمر!) و شما هم می‌تونید پادکست رو با حجم ۱۲ مگابایت از مدیافایر یا از مگا (مگا از مدیافایر خوشگل تره!) دانلود کنید(بازم ببخشید که چندتا کیفیت نزاشتیم. از دفعه‌ی بعد جبران می‌کنیم!).

می‌تونید همه‌ی پادکست‌های آموزش برنامه‌نویسی ما رو توی مدیافایر ببینید. خوب بریم سراغ پادکست:

سلام.

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

خوب این چیزی که می‌خوام براتون پخش کنم توضیحات‌ کامل‌ش توی سایت جادی به آدرس جادی.نت یا جادی۲.آندو.ایت هست و من توضیحات جادی رو هم باهاش پخش می‌کنم. این‌ها توی پادکست دوم رادیو گیک پخش شده و من توصیه می‌کنم کلا برید همه‌ی پادکست‌های جادی رو گوش کنید. توی نوشته‌ای که تو دو برنامه‌نویس منتشر می‌شه لینک‌هاش رو هم براتون می‌زارم.

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

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

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

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

تا قسمت بعد (که همین الانش تقریبا آماده شده!) خدانگهدار!

ویدئوی آنباکس کردن Nokia Lumia 620

من پیش‌تر یک گوشی Nokia 5530 داشتم؛ تقریباً مطمئن بودم که گوشی بعدی من از برند نوکیا نخواهد بود، و دفعه‌ی دیگر یک گوشی آندرویدی سامسونگ یا اچ‌تی‌سی خواهم خرید. اما معرفی ویندوز فون ۸، لومیا ۹۲۰ و لومیا ۸۲۰ (فکر می‌کنم در شهریور ماه) باعث شد نظر من آرام آرام تغییر کند. در آن زمان، من نسخه‌ی آزمایشی ویندوز ۸ را روی پی‌سی‌ام نصب کرده بودم و شیفته‌ی سادگی و زیبایی محیط «مترو» شده بودم.

گوشی‌های جدید لومیا در نگاه من مانند جان تازه‌ای در کالبد نیمه‌جان شرکت نوکیا بودند! از آن زمان، دوست داشتم یک لومیا ۸۲۰ بخرم. چند ماه بعد این دو گوشی عرضه شدند، ولی نرخ ارز در کشور عزیزمان سر به فلک کشیده بود… مردد بودم که این گوشی را بخرم یا نه، که لومیا ۶۲۰ معرفی شد.

یادم است که این خبر را در زومیت خواندم، و کمی بعدش هم محمد با من تماس گرفت و این خبر را دوباره به من داد :)

کمتر از یک ماه پیش، یک لومیا ۶۲۰ خریدم. عصر که به دستم رسید، می‌بایست با خشونت به آن حمله ور می‌شدم و آن را باز می‌کردم. اما مطابق رسم وب‌نویسان، دست نگاه داشتم و پس از مهیا کردن دوربین، ویدئوی آنباکس کردن گوشی را ضبط کردم. اما زمان ضبط فیلم به شدت سرما خورده بودم؛ به علاوه، صدای ضبط شده پر از نویز هم بود. بنابراین مجبور شدم صدای آن را دوباره ضبط کنم. کمبود وقت و حوصله باعث شد که این کار مدت زیادی طول بکشد، به همین دلیل این ویدئو را پس از یک ماه منتشر می‌کنم! در هر صورت، اگر جایی ناهماهنگی میان صدا و تصویر می‌بینید، به بزرگی خودتان ببخشید ;)

می‌توانید این ویدئو را در یوتیوب ببینید، یا از لینک‌های زیر دانلودش کنید:

کیفیت 480p – فرمت flv – حجم ۶۹ مگابایت

کیفیت 360p – فرمت mp4 – حجم ۴۸ مگابایت

کیفیت 240p – فرمت flv – حجم ۳۵ مگابایت

* این اولین باری است که من برای چنین چیزی صدای خودم را ضبط می‌کنم!

* گوشی من یک مشکل در مولتی‌تاچ پیدا کرده است. در اینجا چند نفر دیگر هم هستند که مشکل من را دارند. اگر می‌خواهید این گوشی را بخرید، مراقب باشید که دست‌کم چند روزی مهلت تست و تعویض گوشی وجود داشته باشد :| ظاهراً آپدیت جدید گوشی (که توسط نوکیا عرضه شده است) این مشکل را حل کرده است. هر چند، من هنوز منتظر آمدن آپدیت OTA برای گوشی‌ام هستم، و نمی‌توانم این موضوع را تأیید کنم.

* چند عکس هم همین امروز از گوشی گرفته‌ام. البته بدنه‌ی گوشی کمی کثیف شده است :)

بد نیست به آن‌ها هم نگاهی بیندازید:

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620

Nokia Lumia 620