علاقهمندان به برنامهنویسی و توسعهدهندگان مبتدی که میخواهند زبان Go را از سطح صفر با مفاهیم استاندارد و کدهای عملی فرا بگیرند.
معرفی دوره چرا غولهای فناوری نظیر گوگل، اوبر، دراپباکس و داکر زبان Go (Golang) را به عنوان زبان اصلی زیرساختهای خود انتخاب کردهاند؟ پاسخ در سه کلمه خلاصه میشود: سادگی، کارایی و شفافیت. زبان Go با حذف پیچیدگیهای غیرضروری و تمرکز بر کدهای صریح، امکان ساخت نرمافزارهایی فوقالعاده سریع، مطمئن و مقیاسپذیر را فراهم میآورد. در این دوره که بر اساس کتاب مرجع Introducing Go اثر کیلب داکسی طراحی شده است، زبان Go را از الفبا تا ساخت برنامههای کاربردی واقعی با صدها خط کد نمونه، کالبدشکافی لایههای زیرین حافظه، سناریوهای ملموس و چالشهای تعاملی پلتفرم دیپ یار فرا میگیرید. برخلاف آموزشهای سطحی، در این دوره یاد میگیرید چگونه «به سبک گو (Idiomatic Go)» فکر و کدنویسی کنید. سرفصلهای دوره: فصل ۱ — مبانی، سیستم انواع و کنترل جریان: فلسفه سادگی گو، پکیج main، سیستم انواع ایستا، استنتاج نوع با :=، مقادیر صفر مفید (Zero Values) و ساختارهای کنترلی (for, if, switch). فصل ۲ — ساختارهای داده پویا و مدیریت حافظه: تفاوت آرایه و اسلایس، هدر اسلایس و ظرفیت، کار با مپها، و کالبدشکافی اشارهگرها (Pointers) در Stack و Heap. فصل ۳ — توابع، مدیریت خطای صریح و کنترل منابع: توابع چندمقداره، بستارها (Closures)، مدیریت خطای صریح (val, err)، و مدیریت تمیز منابع با defer, panic, recover. فصل ۴ — استراکتها، ترکیب و اینترفیسهای ساختاری: تعریف Structs، گیرندههای مقداری و اشارهگری متدها، اصل ترکیب به جای وراثت (Embedded Structs) و اینترفیسهای ساختاری پویا. فصل ۵ — پکیجها، کتابخانه استاندارد و تستنویسی: ماژولهای go.mod، پکیجهای هسته استاندارد (os, io, net/http, json) و نوشتن تستهای استاندارد و جدولمحور (Table-Driven Tests). فصل ۶ — پروژه نهایی و نگارش کدهای Idiomatic: پیادهسازی صفر تا صد یک سامانه جامع مدیریت وظایف (Task Manager) در قالب CLI و REST API با اینترفیسهای تمیز + آزمون جامع پایانی. اهداف و دستاوردهای یادگیری: تسلط کامل بر گرامر، سیستم انواع ایستا (Static Types)، استنتاج نوع و ساختارهای کنترلی زبان Go درک عمیق ساختار داخلی اسلایسها (Slices)، آرایهها، مپها و مدیریت بهینه حافظه با اشارهگرها (Pointers) پیادهسازی توابع پیشرفته، بستارها (Closures)، مدیریت خطای صریح و آزادسازی منابع با سهگانه defer, panic, recover مدلسازی شیءگرایی ساختاری با Structs، گیرندههای متد (Receivers)، ترکیب به جای وراثت، و اینترفیسهای ساختاری (Interfaces) ماژولاربندی پروژهها با Go Modules، استفاده از پکیجهای کلیدی کتابخانه استاندارد (io, os, net/http, json) و تستنویسی جدولمحور (Table-Driven Tests) توسعه یک پروژه عملی کامل (CLI Task Manager و وبسرور RESTful) با رعایت تمام اصول کدهای تمیز و اصیل (Idiomatic Go)
دوره پیش نیاز: معماری دادههای توزیعشده
معرفی دوره چگونه شرکتهایی نظیر نتفلیکس، اوبر و آمازون میلیونها رویداد در ثانیه (کلیکها، تراکنشها و موقعیتهای جغرافیایی) را هم به صورت بلادرنگ برای تشخیص آنی ناهنجاریها و هم به صورت دستهای برای تحلیلهای کلان پردازش میکنند؟ پاسخ در درک عمیق تفکیک و پیوند دو دنیای پردازش دستهای (Batch Processing) و پردازش جریانی (Stream Processing) نهفته است. در این دوره بر اساس بخش سوم کتاب مرجع Designing Data-Intensive Applications اثر مارتین کلپمن، به بالاترین سطح معماری سیستمهای داده صعود میکنید. از کالبدشکافی فلسفه تغییرناپذیری ورودیها در یونیکس و مپردیوس تا موتورهای جریان داده مدرن (Spark و Flink)، بروکرهای لاگمحور (Kafka)، تکنیک جذب دادههای تغییریافته (Change Data Capture - CDC)، محاسبات پنجرهبندی زمانی، پیوندهای جریانی و اصل بنیادین تجزیه پایگاه دادهها (Unbundling Databases)، کل مباحث را با سناریوهای ملموس و چالشهای تعاملی پلتفرم دیپ یار فرا خواهید گرفت. سرفصلهای دوره: فصل ۱ — فلسفه پردازش دستهای و موتورهای جریان داده: از پایپهای یونیکس تا MapReduce و موتورهای گراف محاسباتی مدرن نظیر Spark و Flink. فصل ۲ — جریان رویدادها، پیامرسانی و تکنیک CDC: بروکرهای مبتنی بر لاگ، اصل تغییرناپذیری و Event Sourcing، و حذف Dual-Writes با Debezium و Kafka. فصل ۳ — پنجرهبندی جریانی و پیوندهای دادهای: پنجرههای Tumbling/Sliding/Session، زمان رویداد در برابر زمان پردازش، واترمارکها و پیوندهای سهگانه جریانی. فصل ۴ — تجزیه پایگاه دادهها و صحت انتها به انتها: همگامسازی بدون Down-time پایگاههای داده ناهمگن، معماری کاپا (Kappa)، و تضمین Exactly-Once. فصل ۵ — پروژه نهایی و ارزیابی جامع: طراحی گامبهگام پلتفرم بلادرنگ تشخیص تقلب و تحلیلهای مالی کلان با ۴ گیت تصمیم معماری + آزمون جامع پایانی. اهداف و دستاوردهای یادگیری: تمایز فلسفی و فنی میان پردازش دادههای کراندار (Batch) و بیکران (Stream) و تحلیل تریدآفهای تاخیر در برابر توان پردازشی پیادهسازی تکنیک جذب دادههای تغییریافته (CDC) برای حذف قطعی باگهای Dual-Writes و همگامسازی نماهای اشتقاقی به کارگیری تکنیکهای پنجرهبندی زمانی (Tumbling, Sliding, Session Windows)، مدیریت واترمارکها و حل مسئله پیامهای دیرهنگام پیادهسازی الگوهای پیوند جریانی (Stream-Stream, Stream-Table, Table-Table Joins) و کنترل وضعیتهای پردازشی با Checkpoint طراحی معماری بر پایه اصل «تجزیه پایگاه دادهها» (Unbundling Databases) و گذر از معماری لامبدا به کاپا تضمین پردازش دقیقاً یکبار (Exactly-Once Semantics) و صحت انتها به انتها (End-to-End Correctness) در خطوط لوله رویدادمحور
دوره پیش نیاز: مبانی طراحی سیستمهای دادهمحور
معرفی دوره در دنیای مهندسی نرمافزار، همزمانی (Concurrency) یکی از پیچیدهترین و خطازاترین مباحث است. باگهای ناشی از اجرای همزمان تراکنشها معمولاً نادیدنی، غیرقابلتولید مجدد در محیطهای تستی (Non-deterministic) و وابسته به زمانبندیهای میلیثانیهای هستند. اغلب توسعهدهندگان تصور میکنند صرف استفاده از یک پایگاه داده رابطهای با واژه تجاری «ACID» سیستم آنها را در برابر هرگونه فساد داده بیمه میکند؛ در حالی که این تصور یک اشتباه پرهزینه است. در این دوره بر اساس آموزههای کتاب مرجع Designing Data-Intensive Applications اثر مارتین کلپمن، گامبهگام لایههای زیرین تراکنشها را کالبدشکافی میکنیم. از تعریف فنی و تفکیکشده ACID و بررسی ناهنجاریهای ظریف سطوح ایزولاسیون ضعیف گرفته تا ساختار داخلی MVCC، پدیده Write Skew، الگوریتمهای مدرن سریالپذیری بهینهبینانه (SSI) و اصل صحت انتها به انتها با کلیدهای توانرسانی، تمام مفاهیم را در قالب سناریوهای ملموس و چالشهای تحلیلی پلتفرم دیپ یار فرا خواهید گرفت. سرفصلهای دوره: فصل ۱ — کالبدشکافی ACID و تضمینهای ایمنی: تفکیک دقیق Atomicity از همزمانی، چرایی تعلق Consistency به اپلیکیشن، و تراکنشهای تکموجودیتی در برابر چندموجودیتی. فصل ۲ — سطوح ایزولاسیون ضعیف و ناهنجاریهای همزمانی: بررسی Read Committed، رفع ناهنجاری Dirty Read و مهار Lost Update با قفلهای صریح و عملیات اتمیک. فصل ۳ — ایزولاسیون اسنپشات و کنترل همزمانی چندنسخهای: ساختار داخلی MVCC، قاعده «خوانندگان مانع نویسندگان نمیشوند»، ناهنجاری انحراف در نوشتن (Write Skew) و پدیده فانتومها. فصل ۴ — مکانیزمهای سریالپذیری و اصل صحت انتها به انتها: مقایسه ۲PL و SSI، محدودیتهای تراکنش محلی دیتابیس در برابر خطاهای مرزی شبکه و توانرسانی (Idempotency). فصل ۵ — پروژه نهایی و ارزیابی جامع: طراحی سیستم دفترکل تراکنشی و سامانه رزرواسیون با ۵ گیت تصمیم معماری + آزمون جامع پایانی. اهداف و دستاوردهای یادگیری: کالبدشکافی تضمینهای چهارگانه ACID و تمایز دقیق اتمیسیته از ایزولاسیون و چرایی وابستگی سازگاری به منطق اپلیکیشن شناسایی و پیشگیری از ناهنجاریهای همزمانی نظیر Dirty Read, Lost Update, Non-repeatable Read, Phantom Read و Write Skew درک مکانیزم داخلی کنترل همزمانی چندنسخهای (Snapshot Isolation / MVCC) و قوانین دیدپذیری سطرها مقایسه فنی و ارزیابی تریدآفهای سه روش سریالپذیری: اجرای متوالی واقعی، قفلگذاری دوفازی (2PL) و ایزولاسیون اسنپشات سریالپذیر (SSI) به کارگیری اصل صحت انتها به انتها (End-to-End Correctness) و پیادهسازی کلیدهای توانرسانی (Idempotency Keys) برای مهار خطاهای مرزی شبکه و سرور
دوره پیش نیاز: مبانی طراحی سیستمهای دادهمحور
معرفی دوره وقتی حجم دادهها، نرخ ترافیک نوشتن و خواندن، یا نیازمندیهای دسترسیپذیری جغرافیایی از توان یک ماشین واحد فراتر میرود، چارهای جز ورود به دنیای سیستمهای توزیعشده وجود ندارد. با این حال، توزیع دادهها بهای سنگینی به همراه دارد: شبکههای نامطمئن با قطعیهای غیرمنتظره، ساعتهای سختافزاری با انحراف زمانی، ناهماهنگی در کپی دادهها و پدیده شکستهای جزئی (Partial Failures). در این دوره بر اساس بینشهای عمیق کتاب مرجع Designing Data-Intensive Applications اثر مارتین کلپمن، گامبهگام با اصول معماری دادههای توزیعشده آشنا میشوید. از استراتژیهای رپلیکیشن و تکنیکهای پارتیشنبندی گرفته تا مدیریت ساعتهای نامطمئن، تضمینهای خطیپذیری و پروتکلهای اجماع توزیعشده، تمامی مفاهیم همراه با سناریوهای ملموس مهندسی و چالشهای تعاملی پلتفرم دیپ یار کالبدشکافی میشوند. سرفصلهای دوره: فصل ۱ — چرا توزیع میکنیم و اصل طراحی برای شکست: انگیزههای مقیاسپذیری و پایایی، درک شکستهای جزئی و دگرگونی تفکر در سیستمهای توزیعشده. فصل ۲ — استراتژیهای رپلیکیشن و ناهنجاریهای تأخیر: کالبدشکافی مدلهای تکلیدری، چندلیدری و بدون لیدر، تضمینهای سازگاری و تکنیک کووروم (Quorum). فصل ۳ — پارتیشنبندی و توزیع بار: تقسیم داده بر اساس بازه کلید و هش، هشینگ پایدار (Consistent Hashing) و چالشهای شاخصهای ثانویه. فصل ۴ — شبکههای نامطمئن، ساعتها و توقفهای زمانی: خطرات ساعتهای سختافزاری، پرشهای زمانی، توقفهای GC و تکنیک Fencing Tokens. فصل ۵ — خطیپذیری، اجماع و تعهد توزیعشده: تفاوت خطیپذیری و سریالپذیری، قضیه CAP، پروتکلهای 2PC، Raft و Paxos. فصل ۶ — پروژه نهایی و ارزیابی جامع: طراحی گامبهگام معماری پایگاه داده توزیعشده برای یک سرویس مقیاس بزرگ جهانی و آزمون جامع پایانی. اهداف و دستاوردهای یادگیری: انتخاب استراتژی رپلیکیشن بهینه (تکلیدری، چندلیدری و بدون لیدر Dynamo-style) متناسب با نیازمندیهای بار و تحمل خطا شناسایی و خنثیسازی ناهنجاریهای ناشی از تأخیر رپلیکیشن از طریق تضمینهای سازگاری نظیر Read-Your-Own-Writes و Monotonic Reads طراحی معماری پارتیشنبندی مقیاسپذیر با استفاده از هشینگ پایدار (Consistent Hashing) و مدیریت ایندکسهای ثانویه تحلیل عمیق خطرات ساعتهای نامطمئن، انحرافات زمانی و توقفهای Garbage Collection و پیادهسازی مکانیزمهای Fencing تمایز دقیق خطیپذیری (Linearizability) از سریالپذیری (Serializability) و تحلیل محدودیتهای قضیه CAP ارزیابی پروتکلهای اجماع توزیعشده (Raft, Paxos, Zab) در مقایسه با تعهد دو مرحلهای (2PC) در شرایط شکست شبکه
بر اساس کتاب Designing Data-Intensive
معرفی دوره چرا برخی سیستمهای نرمافزاری سالها با پایداری بالا و بدون افت عملکرد کار میکنند، در حالی که سیستمهای دیگر با رشد کاربران و حجم دادهها فرو میریزند؟ پاسخ در درک عمیق تریدآفهای معماری (Architectural Trade-offs) نهفته است. در دنیای نرمافزارهای مدرن، چالش اصلی دیگر محدودیت پردازشی CPU نیست؛ بلکه حجم، تنوع و سرعت تغییرات دادهها تعیینکننده موفقیت یا شکست یک سیستم است. در این دوره بر اساس بینشهای کتاب مرجع Designing Data-Intensive Applications اثر مارتین کلپمن، از سطح صفر با سه ستون بنیادین سیستمهای داده (پایایی، مقیاسپذیری و نگهپذیری) آغاز میکنید، مدلهای مختلف داده را مقایسه و ارزیابی میکنید، موتورهای ذخیرهسازی را کالبدشکافی میکنید و در نهایت یاد میگیرید چگونه اسکیمای سیستمهای زنده را بدون خرابی تکامل دهید. سرفصلهای دوره: فصل ۱ — مبانی پایایی و ارزیابی کارایی: تعریف فنی پایایی، مقیاسپذیری و نگهپذیری؛ اندازهگیری کارایی واقعی با صدکها و تشخیص تأخیر دُم. فصل ۲ — مدلهای داده و انتخاب مدل مناسب: مقایسه تحلیلی مدلهای رابطهای، سندمحور و گرافمحور و تصمیمگیری مبتنی بر سناریو. فصل ۳ — کالبدشکافی موتورهای ذخیرهسازی: ساختارهای LSM-Tree و B-Tree، تفاوت OLTP و OLAP و نقش ذخیرهسازی ستونی. فصل ۴ — سریالسازی و تکامل سازگار اسکیما: فرمتهای باینری (Protobuf، Thrift، Avro) و استراتژیهای تغییر اسکیما بدون Downtime. فصل ۵ — پروژه نهایی و ارزیابی جامع: طراحی معماری داده برای یک سناریو واقعی و آزمون یکپارچه تمام مفاهیم دوره. اهداف و دستاوردهای یادگیری: ارزیابی تریدآفهای سهگانه پایایی (Reliability)، مقیاسپذیری (Scalability) و نگهپذیری (Maintainability) در تصمیمات معماری سیستمهای داده اندازهگیری و تفسیر کارایی واقعی سیستم با صدکها (Percentiles) و تشخیص علل تأخیر دُم (Tail Latency) انتخاب مدل داده مناسب (رابطهای، سندمحور، گرافمحور) بر اساس الگوی دسترسی و ماهیت روابط دادهها کالبدشکافی و مقایسه موتورهای ذخیرهسازی LSM-Tree و B-Tree و تشخیص کاربرد هریک بر اساس بار کاری تمایز سیستمهای تراکنشی (OLTP) از تحلیلی (OLAP) و درک نقش ذخیرهسازی ستونی در انبارههای داده طراحی استراتژی تکامل سازگار اسکیما (Forward/Backward Compatibility) برای سیستمهای زنده و بدون Downtime
مدیران محصول و طراحان تجربه کاربری که به دنبال افزایش نرخ درگیری و بازگشت کاربران هستند.
معرفی دوره چرا برخی از محصولات دیجیتال بدون نیاز به کمپینهای تبلیغاتی پرهزینه یا ارسال مداوم نوتیفیکیشنهای آزاردهنده، به بخشی جداییناپذیر از زندگی روزمره ما تبدیل میشوند؟ راز موفقیت این محصولات در درک عمیق روانشناسی رفتار و پیادهسازی چرخه هوک (The Hook Model) نهفته است. وقتی محصولی با احساسات درونی و عادات ذهنی کاربر گره میخورد، کاربر برای رفع نیازها و تسکین تنشهای احساسی روزمره خود، بدون تفکر آگاهانه به سراغ آن میرود. در این دوره آموزشی، بر اساس بینشهای کتاب مرجع Hooked، گامبهگام یاد میگیرید که چگونه چرخههای عادتساز پایدار و اخلاقی طراحی کنید. از روانشناسی عصبشناختی گانگلیونهای پایهای گرفته تا مهندسی سادگی در فاز عمل، ایجاد ولع با پاداشهای متغیر و انباشت ارزش در فاز سرمایهگذاری، تمامی مفاهیم همراه با سناریوهای ملموس و چالشهای تحلیلی پلتفرم دیپ یار بررسی میشوند. سرفصلهای دوره: فصل ۱ — چرخه هوک و مبانی شکلگیری عادت: آشنایی جامع با ساختار ۴ مرحلهای هوک، عصبشناسی عادت و ماتریس منطقه عادت. فصل ۲ — محرکها؛ جرقههای بیرونی و ریشههای درونی: طراحی محرکهای بیرونی ۴گانه و کشف ریشه احساسات منفی با تکنیک ۵ چرا. فصل ۳ — فاز عمل و مهندسی سادگی: فرمول رفتار فاگ، ابعاد ۶ گانه سادگی، تقدم کاهش اصطکاک و سوگیریهای شناختی. فصل ۴ — پاداش متغیر و مهندسی دوپامین: ترشح دوپامین، انواع سهگانه پاداش (قبیله، شکار، خود) و پایداری تعامل. فصل ۵ — فاز سرمایهگذاری و چرخههای عادت: ذخیرهسازی ارزش، بارگذاری محرک بعدی و بستن حلقههای تکرارشونده. فصل ۶ — ممیزی اخلاقی، تست عادت و اجرای عملی: ماتریس دستکاری، پروتکل تست عادت و طراحی بوم هوک برای محصول واقعی. اهداف و دستاوردهای یادگیری: کالبدشکافی و طراحی چرخه چهارمرحلهای هوک (محرک، عمل، پاداش متغیر، سرمایهگذاری) در محصولات دیجیتال فرمولبندی و اتصال محرکهای بیرونی به نیازها و احساسات منفی تکرارشونده درونی با تکنیک ۵ چرا بهینهسازی فاز عمل از طریق مدل رفتار فاگ (B=MAP) و حذف اصطکاکهای رفتاری و شناختی مهندسی سیستمهای پاداش متغیر در سه دسته (قبیله، شکار، خود) با حفظ خودمختاری کاربر طراحی فاز سرمایهگذاری برای انباشت ارزش ذخیرهشده و بارگذاری خودکار محرک چرخههای بعدی ممیزی اخلاقی محصولات با ماتریس دستکاری و اجرای پروتکل ۳ گام تست عادت برای سنجش رفتارهای واقعی