بایگانی برچسب: s

آموزش راه اندازی استارتاپ بستون ۹ تا ۱۲: کریسمس مبارک! حالا سیستم واقعا کار می کنه و شما هم می‌تونین کاربر/توسعه دهنده‌اش باشین

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

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

بستون ۹ – فراهم کردن امکان رجیستر شدن یوزرها

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

بستون ۱۰ – کمی بهینه سازی کد و اچ تی ام ال و کلاینت

در این قسمت دستی به سر و گوش اچ تی ام ال می کشیم و یه کوچولو کد کلاینت رو بهتر می کنیم تا آماده آپلود کردن روی سرور باشیم

بستون ۱۱ – آماده کردن کرد پروژه برای آپلود

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

بستون ۱۲ – دپلوی کردن سیستم روی دامین و استفاده «واقعی»

در این شماره به سرور وصل می‌شیم و سرویس رو واقعا آپلود می کنیم روش و از کامند لاین اولین خرج هامون رو «واقعا» ثب می کنیم.

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

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

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

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

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

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

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

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

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

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

در یوتوب:

در آپارات:

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

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

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

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

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

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

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

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

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

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

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

در ادامه…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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