شروع دوره آموزشی گیت

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

خلاصه این شما و این پروپوزال برای نقد و بخصوص کم و زیاد کردن مبحث.


گیت

توضیح دوره

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

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

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

سر فصل های آموزش:

۱. آغاز گیت
۱.۱. ورژن کنترل چیست
۱.۲. تاریخچه کوتاهی از گیت و جادو
۱.۳. مقدمات گیت
۱.۴. خط فرمان
۱.۵. نصب گیت
۱.۶. اولین اجرای گیت
۱.۷. پیدا کردن راهنماها

۲. مقدمات گیت
۲.۱. راه اندازی یک رپوزیتوری
۲.۲. ذخیره تغییرات رپوزیتوری
۲.۳. مشاهده تاریخچه تغییرات رپوزیتوری
۲.۴. آندو کردن
۲.۵. کار با ریموت ها
۲.۶. تگ زدن
۲.۷. الیاس های گیت

۳. برنچ ها در گیت
۳.۱. مفهوم برنچ
۳.۲. برنچ و مرج کردن
۳.۳. مدیریت برنچ ها
۳.۴. چرخش کار برنچ ها
۳.۵. برنچ های ریموت
۳.۶. ریبیس کردن

۴. گیت روی سرور
۴.۱. پروتکل ها
۴.۲. گیت روی سرور
۴.۳. ساخت کلید اس اس اچ
۴.۴. راه اندازی سرور
۴.۵. دائمون گیت
۴.۶. اسمارت اچ تی تی پی
۴.۷. گیت وب
۴.۸. گیت لب
۴.۹. هاست های دیگر

۵. گیت توزیع شده
۵.۱. چرخش کار توزیع شده
۵.۲. مشارکت در یک پروژه
۵.۳. نگهداری یک پروژه

۶. گیت هاب
۶.۱. تنظیمات اولیه
۶.۲. مشارکت در یک پروژه
۶.۳. نگهداری یک پروژه
۶.۴. مدیریت یک سازمان
۶.۵. اسکریپت نویسی

۷. ابزارهای گیت
۷.۱. انتخاب نگارش
۷.۲. استیجینگ انتخابی
۷.۳. استش و کلین کردن
۷.۴. امضا کردن کار خودتان
۷.۵. جستجو
۷.۶. بازنویسی تاریخ!
۷.۷. ریست
۷.۸. مرج پیشرفته
۷.۹. ری ری ری
۷.۱۰. دیباگ کردن با گیت
۷.۱۱. ساب ماجول ها
۷.۱۲. باندل کردن
۷.۱۳. جایگزینی
۷.۱۴. نگهداری کلیدها و پسوردها

۸. شخصی سازی گیت
۸.۱. تنظیمات گیت
۸.۲. ویژگی های گیت
۸.۳. هوک ها
۸.۴. اجرای سیاست اجباری

۹. در اعماق گیت
۹.۱. Plumbing and Procelain
۹.۲. آبجکت‌های گیت
۹.۳. رفرنس های گیت
۹.۴. پک فایل ها
۹.۵. Refspecها
۹.۶. پروتکل های انتقال
۹.۷. نگهداری و بازیابی اطلاعات
۹.۸. متغیرهای محیطی

درک برنامه نویسی قسمت ۰۲۰ تا ۰۲۳ – ای پی آی ها

در سری درک برنامه نویسی چهار قسمت جدید داریم؛ چهار قسمت مهم! اگر مفهوم ای پی آی براتون مبهم بوده، الان وقتشه با اون ابهام خداحافظی کنین!

در قسمت های بعدی، چند ای پی آل در کامند لاین کال می کنیم و بعد می ریم سراغ برنامه نویسی و در نهایت برنامه ای می نویسیم که توش اگر قیمت بیت کوین از قیمت مورد نظر ما کمتر شد، یک اسمس بهمون بده و خبر بده!

آپدیت: در حین ضبط این ویدئوکست بیت کوین هی گرون و گرونتر شد.. الان بیت کوین ۶۱۰۰ دلاره! «الان یا الان؟»

درک برنامه نویسی، API ها در چهار قسمت؛ در یوتوب: ۱، ۲، ۳، ۴ و در آپارات: : ۱، ۲، ۳، ۴

بیست و دو:

https://www.aparat.com/v/XY3AP

بیست و سه:

https://www.aparat.com/v/7BUTz

رایگان شدن ثبت نام دوره آموزش پایتون من در گوتوکلس و کلی حرف دیگه!

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

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

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

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

به هرحال.. فعلا این شما و این دوره رایگان شده پایتون مقدماتی در گوتوکلس: http://gotoclass.ir/courses/%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C/

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

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

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

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

توضیح ساده ویدئویی اینکه بیت کوین چگونه کار می کنه

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

این ویدئو به شکل خیلی ساده و غیرریاضی / فنی در پنج دقیقه توضیح می ده که بیت کوین یا هر رمزپول دیگه چطوری کار می کنه.

ویدئوهای جدید «درک برنامه نویسی»: حل دو مساله اویلر و معرفی آی‌پایتون نوت بوک

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

شروع سری ویدئوهای «درک برنامه نویسی»

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

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

در این سری اولش مروری بسیار سریع داریم به چند پایه اصلی برنامه نویسی و بعد سریعا می ریم سراغ حل چند مساله و بعدش حتی کارهای عملی روزمره. در حال حاضر ده قسمت از درک برنامه نویسی روی آپارات و یوتوب منتشر شده و اولین برنامه معقولمون رو نوشته ایم.

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

چیزهایی که منو در ادامه راه قوی نگه می دارن:

  • شنیدن نقدها و اصلاحات
  • مشترک شدن شما در کانال های یوتوب و آپارات
  • پخش شدن فایل ها

مثل همیشه، ویدئوها آزاد هستن و هر استفاده ای که دوست دارین می تونین ازشون بکنین (:

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

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

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

حالا مشکل چی بوده؟

  • بعضی ها یکهو نتونستن از اپ مشهورترین سایت شطرنج یعنی چس دات کام بازی کنن

مشکل چی می تونه باشه؟ این سایت مشتری های پولی داره و باید سریع مشکل رو حل کنه. در چند قدم اول این گزاره ها اضافه شدن:

  • کسانی که مشکل دارن همه سعی میکنن بازی جدید شروع کنن
  • کسانی که مشکل دارن همه روی دیوایس های آی او اس هستن

بعد از چند قدم دیگه این گزاره اضافه می شه:

  • کسانی که مشکل دارن همه آیپدهای قدیمی دارن

هنوز حدس خیلی سخته. ولی دو گزاره مستقل از تحقیقات مستقیم که بدم احتمالا بعضی هاتون می تونین حدس بزنین مشکل چیه:

  • آیپدهای قدیمی ۳۲ بیتی بودن
  • برای شروع بازی، شماره سریال یونیک بازی به دستگاه ارسال می شه و توی هر حرکت استفاده می شه

بازم گزاره لازمه؟

  • تعداد بازی های سایت به ۲ میلیارد و ۱۴۷ میلیون و ۴۳۸ هزار و ۶۴۷ بازی رسیده، یعنی ۲ به توان ۳۱ منفی یک

امیدوارم تا الان حدس زده باشین، متغیری که کد بازی رو نگه می داره در آیپد ۳۲ بیتی است و حالا شماره بازی بزرگتر از ظرفیت حافظه شده و برنامه به هم می ریزه. یک کد که برنامه نویس سالها قبل پیش بینی نکرده بودش و الان باعث ۴۸ ساعت اختلال و کلی ترابل شوتینگ شده تا بشه این گزاره ها رو کنار هم گذاشت.

موقع برنامه نویسی به آینده فکر کنین و از اون مهمتر موقع ترابل شوتینگ، بیخودی به اطراف تیر نزنین. موقع عیب یابی باید مشکل رو تشخیص بدین و دقیق تعریف کنین. اینطوری مشکل خود به خود حل می شه. در واقع مشکل این بود که «حالا که بازی ها از ۲ به توان ۳۱ گذشته، روی آیپدهایی که ۳۲ بیت دارن دیگه نمی تونیم بازی جدید بسازیم». برم ببینم فردا با این ذهنیت می تونم مشکل امروز اون ۴ تا سرور رو حل کنم یا نه.