درک برنامه نویسی: چی می شه اگر ۵۰ نفر در یک اتاق…

مدتی پیش دوستی توجهم رو به این مساله ریاضی جالب جلب کرد:

چی می شه اگر ۵۰ نفر در یک اتاق نفری ۱۰۰ دلار داشته باشن. در هر دور هر کس به شکل رندم یک نفر رو انتخاب می کنه و یک دلار از پولش رو به اون می ده. اگر پول کسی تموم بشه از بازی بیرون گذاشته می شه. بعد از بارها بازی کردن، وضعیت پول ها چطور خواهد بود؟

این از اون مسائلی است که جواب شهودی اکثر ما در موردش اشتباهه. حتی جواب شهودی خیلی از ریاضی‌دان‌ها. جواب شهودی من که اینه که «خب چون نفر رندم اتفاق می شه، توزیع در نهایت تفاوت چندانی نمی کنه» ولی آیا واقعا اینطوره؟ در سری درک برنامه نویسی قسمت های ۱۴ و ۱۵ و ۱۶، بعد از گپی کوتاه در مورد آرایه ها یا لیست ها، سراغ حل این مساله میریم و نمودار نهایی رو هم به شکل گرافیکی ترسیم می کنیم.

ادامه پروژه بستون؛ حرکت به سمت اخبار بهتر، ادیت و حذف موارد و ادامه مسیر

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

بستون ۳۲ – به روز رسانی خبرها در هربار ورود به صفحه

یادتونه؟ یه بخش خبر راه انداختیم، حالا با هر بار ورود به صفحه، این بخش اخبار آپدیت می شه. یوتوب آپارات

بستون ۳۳ – اضافه کردن کلید ادیت و حذف به تاریخچه درآمدها و خرج ها

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

بستون ۳۴ – مرج یک پول ریکوئست و ستاپ محیط مک برای ادامه کار

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

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

با استارتاپ بستون همراه باشین – ۱۷ تا ۲۳: حالا اپ اندروید داریم

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

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

بستون ۱۷ – تب خرج و دخل

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

بستون ۱۸ – ساخت داشبورد آپدیت شونده آیونیک

در این مرحله، کاری می کنیم که داشبورد برنامه‌مون با هر بار ورود بهش عدد جدید رو نشون بده. اینطوری وقتی خرجی اضافه می کنیم و وارد داشبورد می‌شیم، تاثیرش در اعداد دیده می شه.

بستون ۱۹ – نوشتن ای پی آی لاگین در سمت سرور

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

آپدیت: لینک اول درست کار نمی کرد. یکبار دیگه آپلود کردم.

بستون ۲۰ – نوشتن لاگین در سمت موبایل (۱ از ۳)

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

بستون ۲۱ – نوشتن لاگین در سمت موبایل (۲ از ۳)

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

بستون ۲۲ – نوشتن لاگین در سمت موبایل (۳ از ۳)

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

بستون ۲۳ – کمی تمیزکاری و اپ موبایل ما نوشته شده

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

بستون ۱۴ تا ۱۶: دیدن آمار، مرج کردن پروژه در گیت‌لب و کامند لاین و شروع اپ اندروید و آیفون

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

بستون ۱۴ – دیدن آمار مقدماتی از سیستم

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

بستون ۱۵ – مرج کردن دو تا پول ریکوئست

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

بستون ۱۶ – شروع ساخت اپ انواع گوشی با آیونیک و کوردوا

خرج ها رو کجا می کنیم؟ پشت کامپیوتر؟ نه… در حال حرکت! پس لازمه یک اپ هم برای پروژه داشته باشیم. در این قسمت اولین استخون بندی اش رو راه اندازی می کنیم و حتی بخشی از آمارها رو هم نشون می دیم. خیلی چیزها هارد کد شده ولی این فقط قدم اوله. ما حالا اپ اندروید، آی او اس،‌ ویندوز فون و بلک بری داریم؛ به افتخار آیونیک و کوردوا.

لینک‌های ویدئوها

شروع پروژه بستون؛ ویدئوهای تمام مراحل راه اندازی یک سیستم حساب کتاب شخصی با جنگو، لینوکس، گیت و هر چیزی که پیش بیاد

توی چند پست قبل پرسیدم آیا ایده ای دارین که بشه باهاش یک استارتاپ راه انداخت؟ خب چرا نمی گین که راه بندازیم (: آخرش هم رفتم سراغ نیاز اصلی خودم در مورد یک سیستم که توش بتونم دقیقا داشته باشم چقدر پول خرج کردم و چقدر پول درآوردم و احتمالا چقدر به کی قرض داده ام و این تیپ چیزها. چنین سیستمی الان هم هست ولی خب راه انداختنش فان است و به خیلی آدم ها نشون می ده که چقدر ساده و سریع می تونن ایده هاشون رو پیاده کنن. الزاما از استارتاپ حرف نمی زنم، علاقمندی من مدیر شدن و شرکت عظیم و رشد انفجاری و سید اولیه و انجل پول و اینوستور و فروختن و اینها نیست. علاقمندی من یک زندگی فان است با خروجی های جذاب (: چیزی که بعضی ها بهش می گن «لایف استایل پروگرمر». شیوه کارمون هم «دو آپ» است و شخصا همه چیز رو می چرونیم. از راه اندازی اولیه و دیپلوی کردن روی سرور تا ساپورت و دیباگ و بک آپ و … و دوست دارم شما شاهد همه مراحلش باشین.

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

قسمت اول پروژه بستون: شروع ساخت یک سیستم نگهداری خرج و دخل شخصی با جنگو، گیت، ویرچوال انو،‌ لینوکس

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

قسمت دوم پروژه بستون: ستاپ کردن پروژه و اپ جنگو،‌ اضافه کردن اولین یوزر و دیتابیس و اولین کامیت گیت

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

قسمت سوم: ساختن مدل خرج و ثبت اولین خرج

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

قسمت چهارم: ساختن مدل دخل و اضافه کردن اولین درآمد زمستان از طریق گویی ادمین جنگو

حالا بذارین سری به گویی بزنیم و بعد از درست کردن مدل خرج و مایگریت کردن دیتابیس به مدل جدید، ۱۲۲هزار تومنی که پولدارتر شدیم رو توی سیستم داخل کنیم.

در ادامه…

معلومه که از پیشنهادها بسیار استقبال می شه همینطور از دونیشن و پخش ویدئوها در هر جایی آزاد است و تشویق می شه یا هر چیز دیگه.. آهان یادم اومد.. شروع کردم این تیکه رو نوشتن که بگم ۱) پیشنهادی دارین بدین و ۲) اگر کسی لوگویی رو طرح بزنه پروژه ای رو لوگودار کرده

لینک ها روی یوتوب:
قسمت اول از سری بستون روی یوتوب
قسمت دوم از سری بستون روی یوتوب
قسمت سوم از سری بستون روی یوتوب
قسمت چهارم از سری بستون روی یوتوب

لینک ویدئوها روی آپارات:
قسمت اول از سری بستون روی آپارات
قسمت دوم از سری بستون روی آپارات
قسمت سوم از سری بستون روی آپارات
قسمت چهارم از سری بستون روی آپارات

جادی تی وی ۰۱۰ – بررسی مشکلات اختراع دوباره چرخ با کمک پایتون و اسکرپینگ و ردیس

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

لینک روی یوتیوب و هر کس هر جای دیگه آپلود کنه و لینک بده، باعث خوشحالی و دعای خیر پشت سانسوری‌هاست (:

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

جادی تی وی ۰۰۸ – وب اسکرپینگ با پایتون و پیدا کردن کتاب‌هایی از نویسنده‌های خاص

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

لینک یوتوب

جادی تی وی ۰۰۷ – ipython notebook و vcfها

در این قسمت از جادی تی وی، یک برنامه بسیار ساده برای تبدیل یک فایل متنی به چندین فایل کارت ویزیت دیجیتال با استفاده از زبان برنامه نویسی پایتون و ابزار ipython notebook که معمولا دیتا ساینتیست ها ازش استفاده می کنن می نویسیم. هدف آشنایی با یک ضرب المثل بزرگ در دنیای برنامه نویسی است:

برنامه بزرگی که کار می کنه روزی برنامه ساده ای بوده که کار می کرده

و همچنین شناختن ipython و notebookهاش که یکی از پر کاربردترین ابزارهای دیتا ساینتیست‌ هایی هستن که با زبان پایتون کار می‌کنن.

عضویت شما در کانال یوتیوب جادی تی وی و کانال جادی تی وی در آپارات و تبلیغشون بهترین روحیه بخش من برای ادامه ویدئوها است.