پروژه بستون ۵ تا ۸: حالا هم یوزرها رو می‌شنایسم، هم دستورات کامند لاین برای ذخیره اطلاعات داریم

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

بستون ۵ – کمی مرتب و تمیز سازی پروژه و گذاشتنش روی گیت هاب

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

قسمت ششم پروژه بستون – آشنایی مقدماتی با ویوها، نوشتن ساده‌ترین ویو و ایده لاگین

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

بستون ۷ – اضافه کردن توکن به یوزر و نوشتن اولین وب سرویس عملیاتی

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

بستون ۸ – نوشتن وب سرویس دوم از طریق کپی پیست: ذخیره درآمدهایی که نداریم

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

در یوتوب:

در آپارات:

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

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

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

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

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

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

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

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

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

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

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

در ادامه…

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

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

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

بازی شب یلدار ای نتورک، هک و شیوه های پاسخگویی به مشکلات امنیتی

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

مساله اینه که بازی شب یلدای ای نتورک هم دقیقا اشتباه بازی سنگ کاغذ قیچی دلیون رو داره. این بازی هم کلاینت ساید است با متغیری به بامزگی winnings که مشخصه می‌کنه چند بار برنده شدین و ریکوئست هایی که بعد از یک تابع encrypt به سرور خبر می‌دن شما چی برنده شدین. این مساله رو سه چهار نفر از دوستان با ایمیل بهم گفتن و به شکل‌های مختلفی هم تونسته بودن مساله رو حل کنن.

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

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

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

شاید تنها تجربه‌های مثبت من در این موارد دوبار بوده. دفعه اول دلیون که اجازه داد فیلمش رو منتشر کنم و جایزه ها رو هم داد و دفعه دوم کسی که یک با هک یک دیتابیس قدیمی به ایمیل من رسیده بود و بهم خبر داد که اون سرویس که من نوشته ام هک شده (:

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

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

پیشنهادی برای انجام آموزشی یک پروژه دِو-آپ دارین؟ سرویسی هست که دوست داشتین می‌بود ولی نیست؟

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

حالا توی این سیستم لازمه شما یک DevOp باشین که شاید بشه نوشتش دوآپ یا دو-آپ مثلا. این اصلاح ترکیبی است از Development و Operation و البته QA که توش مخفی شده! دوآپ یعنی مکانیزم‌ها و ابزارهایی برای نزدیک تر کردن هر چه بیشتر کسانی که سیستم رو می نویسن و کسانی که اونو ران می کنن و کسانی که سرور رو نگه می دارن و حتی کسانی که سفارش می دن و غیره .. به شکلی که زمان راه اندازی یا تغییر سرویس به حداقل برسه. البته می شه سر تعریفش بحث کرد ولی فعلا همین رو قبول کنین.

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

حالا شما برای این سرویس پیشنهادی دارین؟ شرایط اینها است:

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

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

  • یک یادآور اسمسی که اسمس بدی «۵روز یادت باشه احوال حسن رو بپرسی» و ۵ روز بعد این اسمس رو بهت بزنه یا بزنی «۶ماه دیدی یادت رفت غمت رو؟» و ۶ ماه بعد این اسمس رو بده
  • یک سیستم نگهداری خرج و دخل شخصی که درآمد و خرج‌هات رو توش بنویسی و آمار بده و اگر محدوده‌هایی رو رد کردی بهت اسمس بزنه یادآوری کنه (مثلا خرج هفتگی بیشتر از فلان)
  • یک سیستم گفتگوی بی سر و ته که توش به سیستم اسمس می دین و اسمس شما به یک ناشناس ارسال میشه و وقتی اون جواب بده شما جوابش رو می گیرین. اون ناشناس از کجا اومده؟ کسی است که خودش قبلا یک اسمس به سیستم زده و وارد بازی شده. مثلا می تونیم بهش بگیم «سلام غریبه»

شما پیشنهاد دیگه ای ندارین؟ سرویسی نیست که دوست می داشتین بود و الان فرشته مهربون پیاده اش کنه؟ یا شرکتی نیستین که به شکل پروژه بخواد از این سیستم حمایت کنه یا چیزی رو باهاش راه بندازه؟ پیشنهادهاتون رو بنویسین ببینیم به کجا می رسیم (:

جدولی برای محاسبه ارزش ایده‌های تجاری

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

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

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

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

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

احتمالا بامز‌ه‌ترین کامیت به کرنل لینوکس

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

merge

و خب فایل‌های تغییر کرده اش هم این:

files

دوستمون با شناسه «مرد سومالیایی» عضو گیت‌هاب شده تا دو تا اسپیس اضافی رو توی فایل توضیحات کرنل حذف کنه. البته مدعی است ۴۸ سالشه و برای تامین هزینه اینترنت مجبور شده همسرش رو بفروشه و حالا علاقمند است که دولوپر خوبی بشه. در ضمن توی ویم کد می‌زنه و خواهش کرده کسی داستان زندگی اش رو کپی-پسترینو نکنه.

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

فرصتی برای ۴۵۰ درآمد و کلی تجربه و اعتبار: اضافه کردن تقویم شمسی به گنوکش

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

دوست خوبم عیسی سه ساله با این برنامه کار می‌کنه ولی مشکلش این بوده که این برنامه هنوز تاریخ شمسی نداره. از اونجایی که این برنامه آزاد است، عیسی یک ایده خوب زده:

esa

و چهار نفر دیگه هم (دانیال بهزادی، وحید، بیگی و مهدی) نفری ۵۰ تومن اضافه کردن و پارس کدرز هم ۱۰۰ تومن دیگه گذاشته و جایزه نهایی شده ۴۵۰ تومن. صورت مساله اینه:

توی بخش گزارشات( که به نظر من مهمترین بخشی هست که نیاز به تقویم فارسی داره) برای خیلی از گزارشاتی که به صورت تاریخی معنا پیدا می‌کنند، شما می‌تونید ابتدا و انتهای بازه زمانی گزارش رو مشخص کنید( به شکل datepicker) و همین الانش هم من می‌تونم با انتخاب دقیق این تاریخ‌ها و همچنین انتخاب گزینه “ماه” برای “step size” یه گزارش به صورت ماهیانه( به ماه های شمسی) بگیرم. در نتیجه اینجا فقط کافیه datepicker فارسی بشه.
ولی دقیقا در همین صفحه شما می‌تونی به جای اینکه تاریخ شروع و پایان گزارش رو با datePicker انتخاب کنی می‌تونی خیلی ساده بگی گزارش برای ماه فعلی باشه یا سه ماهه اخیر یا هفته اخیر، که خوب اگر بخوایم بگیم تاریخ‌ها فارسی شده وقتی من ماه فعلی رو انتخاب می‌کنم توقع دارم که از اول مهر گزارش حساب بشه. که البته اینجا هم به نظرم با یه سری کلک می‌شه از روی همون نمایش انجام بشه.
توی سرچ و اینها نیازی به تاریخ فارسی نیست. حتی زمانی که شما داری یه تراکنش مالی رو توی سیستم ثبت می‌کنی( تقریبا ۹۹ درصد مواقعی که داری با برنامه کار می‌کنی) نیازی نیست datepicker مربوطه شمسی باشه.( به نظر من خیلی نیاز نیست ولی خب اگر باشه بهتره)
گنو کش یه امکان خیلی خوب داره به اسم بودجه بندی که شما مثلا می‌تونی درش بگی من اول هر ماه ایکس تومن پول میگیرم و در ۱۴ام هر ماه ایگرگ تومن پول فلان چیز رو باید بدم و زد تومن هم ۱۵ آبان بابت بیمه ماشین باید بدم و برای سفر آذر ماه هم فلان تومن پول کنار می‌ذارم و وقتی همه این اطلاعات رو کنار هم می‌چینی می‌تونی یه آینده نگری مالی مستندی داشته باشی، مثلا بفهمی که حدودا اواسط بهمن چقدر پول نقد داری و یا اینکه آیا از رقمی که برای فلان هزینه پیش بینی کردی توی این ماه خرج کنی چقدر کمتر یا بیشتر خرج کردی.
خوشبختانه گنو کش فوق العاده قابل تنظیمه و شما در این نوع بودجه بندی ها می‌تونید بگید دوره‌هاتون ماهیانه یا هفتگی یا روزانه و سالیانست و همچنین اینکه شروع دوره از چه روزی باشه( که مثلا برای اینکه به شکل ماهیانه شمسی داشته باشیم می‌تونیم بگیم شروع دروه از 22 سپتامبر- اول مهر ) باشه. ولی خب اینکه نمایش تاریخ ها توی بودجه بندی به تقویم جلالی باشه خیلی بهتره و حداقل توقع اینه که اون datepicker توی تنظیمات بودجه بندی و همچنین ستون‌هایی که تاریخ‌های میلادی رو نوشتند جلالی بشند.

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

نتیجه؟

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

talkischeap

و البته اگر برنامه ای هست که می خواین چیزی بهش اضافه بشه، راه عیسی رو برین و براش جایزه بذارین (:

اوریلی بازهم مجموعه ای عالی از کتاب‌هاش رو رایگان کرده؛ از برنامه نویسی تا امنیت تا اینترنت چیزها

کتاب های رایگان اوریلی

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

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

jadi@funlife:~/Downloads$ ls -1tr *mobi | xargs -L 1 echo - 
- patrolling-the-dark-net.mobi
- who-are-the-bad-guys-and-what-do-they-want.mobi
- cracking-security-misconceptions.mobi
- not-all-data-is-created-equal.mobi
- industrial-internet.mobi
- predictive-maintenance.mobi
- when-hardware-meets-software.mobi
- what-is-the-internet-of-things.mobi
- ambient-computing.mobi
- how-to-make-mistakes-in-python.mobi
- python-in-education.mobi
- 20-python-libraries-you-arent-using-but-should.mobi
- real-world-maintainable-software.mobi
- swift-pocket-reference.mobi
- ten-steps-to-linux-survival.mobi
- open-by-design.mobi
- migrating-cloud-native-application-architectures.mobi
- software-architecture-patterns.mobi
- microservices-antipatterns-and-pitfalls.mobi
- microservices-in-production.mobi
- unsung-tools-of-devops.mobi
- anomaly-detection-monitoring.mobi
- beyond-the-twelve-factor-app.mobi
- everything-is-distributed.mobi
- release-engineering.mobi
- devops-in-practice.mobi
- antifragile-systems-and-teams.mobi
- why-rust.mobi
- release-engineering (1).mobi
- first-responders.mobi
- innovation.mobi
- smart-energy.mobi

همه رو می خونم؟ معلومه که نه. ولی همه رو یک ورقی می زنم و بعد انتخاب می کنم کجای کدوم رو چقدر می خونم (:

پ.ن. «کتاب‌ها» اکثرا به شکل مقاله‌های بلند هستن و اتفاقا این باعث می شه بیشتر توصیه شون کنم. سریع و سر راست در مورد یک موضوع مهم اطلاعات کسب می کنیم