نشان دیپکدهدیپکده
کتاب‌های فنی و لپ‌تاپ روی میز کار

یادگیری برنامه‌نویسی، کتاب‌محور و پروژه‌محور

عمیق یاد بگیر واقعی بساز

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

کتاب مرجع

مطالعه بهترین کتاب‌های روز دنیا

آموزش اختصاصی

تحلیل عمیق مفاهیم و پیاده‌سازی

پروژه واقعی

ساخت محصول کاربردی برای رزومه

منتورینگ

بازخورد و همراهی تا نتیجه

مزیتی که در دوره‌های پراکنده پیدا نمی‌کنی

چرا دیپکده؟

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

۰1

منتورینگ تخصصی

در طول مسیر تنها نیستی؛ بازخورد دقیق می‌گیری و پروژه‌ات را بهتر می‌کنی.

۰2

پروژه واقعی

از اولین خط کد تا محصول نهایی، چیزی می‌سازی که با افتخار ارائه‌اش دهی.

۰3

یادگیری عمیق

به‌جای حفظ ابزارها، مفاهیم بنیادی و چرایی تصمیم‌ها را یاد می‌گیری.

۰4

کتاب‌محور

هر مسیر بر پایه منابع معتبر و بهترین کتاب‌های مرجع طراحی می‌شود.

ما فقط دوره تولید نمی‌کنیم
ما مسیر یادگیری طراحی می‌کنیم

هر مسیر در دیپکده از یک کتاب معتبر آغاز می‌شود، با آموزش اختصاصی ادامه پیدا می‌کند و با ساخت یک پروژه واقعی به پایان می‌رسد.

مسیرهای یادگیری موجود

دوره‌هایی که برای ساختن مهارت و خروجی واقعی طراحی شده‌اند.

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

طراحی رفتار کاربردی: مهندسی مداخله و تصمیم در محصولات دیجیتال

مدیران محصول و طراحان تجربه کاربری (UX) که به دنبال ارتقای نرخ فعال‌سازی، تبدیل و نگهداری کاربران هستند.

معرفی دوره چرا کاربران با وجود علاقه صادقانه و ثبت‌نام در یک محصول دیجیتال، پس از چند روز آن را رها می‌کنند؟ چرا آموزش دادن به کاربران و اضافه کردن مقالات راهنما یا بنرهای تبلیغاتی، تقریباً هیچ تاثیری در تغییر رفتارهای مالی، سلامتی، تحصیلی یا کاری آن‌ها ندارد؟ واقعیت این است که فاصله عمیقی میان نیت و خواست آگاهانه انسان با عمل واقعی او در دنیای مادی وجود دارد که به آن شکاف نیت-عمل (Intention-Action Gap) می‌گویند. در این دوره آموزشی جامع که بر پایه آموزه‌ها، متدولوژی و آزمایش‌های بالینی کتاب مرجع Designing for Behavior Change (استیون وندل) طراحی شده است، فرآیند گام‌به‌گام و علمی تبدیل بینش‌های روان‌شناسی شناختی و اقتصاد رفتاری به ویژگی‌های موفق محصولی را می‌آموزید. از درک سیستم‌های دوگانه پردازش ذهن و مهندسی قیف عمل ۶ مرحله‌ای CREATE گرفته تا تفکیک اکشن از اوتکام، ترسیم نقشه‌های رفتاری، طراحی پیش‌فرض‌های هوشمند، برنامه‌ریزی شرطی نیت‌های اجرایی، مهار الگوهای تاریک، و سنجش بی‌رحمانه ایمپکت با آزمایش‌های کنترل‌شده تصادفی (A/B) و مدل‌سازی پل داده، تمامی مباحث در قالب سناریوهای ملموس و چالش‌های تعاملی پلتفرم دیپ یار ارائه می‌شوند. سرفصل‌های دوره: فصل ۱ — مقدمه جامع، نقشه راه و مبانی علوم رفتاری: آشنایی عمیق با رسالت کتاب، داستان درس‌های تجربی HelloWallet، تبیین دو بال اصلی (DECIDE و CREATE)، ریشه‌یابی شکاف نیت-عمل و نقشه راه کل دوره. فصل ۲ — تعریف مسئله، تفکیک عمل از دستاورد و MVA: تفکیک سه‌گانه هدف بیزینس، پیامد کاربر و اقدام، و شکستن رفتارهای سنگین به کمینه اقدام پذیرفتنی. فصل ۳ — کاوش بستر تصمیم، پرسوناهای رفتاری و نقشه رفتاری: مثلث بستر اقدام، بخش‌بندی بر پایه عادات و موانع روانی، و تکنیک کارگاهی ترسیم نقشه رفتاری تا سطح ریز-اقدامات ۱ ثانیه‌ای. فصل ۴ — کالبدشکافی قیف عمل CREATE (بخش اول: نشانه، واکنش و ارزیابی): مهندسی نشانه و تسخیر توجه، اعتماد در ثانیه اول سیستم ۱، و ارزیابی سود/هزینه و زیان‌گریزی سیستم ۲. فصل ۵ — کالبدشکافی قیف عمل CREATE (بخش دوم: توانایی، زمان‌بندی و تجربه): رفع اصطکاک‌های ورودی و فاکتورهای کانال، ارتقای خودکارآمدی، غلبه بر کوته‌بینی زمانی و مهار بارهای تجربی گذشته. فصل ۶ — استراتژی‌های مداخله: دور زدن و خودکارسازی (Cheating): اصل «قبل از ترغیب، زحمت را بردار»، پیش‌فرض‌های هوشمند، رضایت یک‌باره و معماری غیرفعال. فصل ۷ — استراتژی‌های مداخله: تسهیل تصمیم و نیت‌های اجرایی: مهندسی تصمیم خودآگاه، تکنیک شرطی اگر-آنگاه پیتر گولویتزر و ابزارهای تعهد و گواه اجتماعی. فصل ۸ — استراتژی‌های مداخله: شکل‌دهی عادات و مهار رفتارهای منفی: حلقه‌های روتین و پاداش، چارچوب بازدارندگی (CREATE معکوس)، تکنیک‌های توقف عادات بد و مهندسی پیروزی‌های خرد. فصل ۹ — پیاده‌سازی، ابزار دقیق لاگ‌ها و اخلاق در علوم رفتاری: معماری لاگ‌ها از روز نخست، ماتریس اخلاقی ۴ بخشی، کالبدشکافی الگوهای تاریک و چک‌لیست شورای اخلاق. فصل ۱۰ — سنجش اثرگذاری، آزمایش‌های علّی و ارزیابی جامع: متدولوژی آزمایش‌های کنترل‌شده تصادفی (A/B, A/A, A/\text{Null})، رفع خطاهای آماری، پل داده (Data Bridge) و آزمون پروژه نهایی. اهداف و دستاوردهای یادگیری: کالبدشکافی فرآیند تصمیم‌گیری انسان با تکیه بر نظریه فرآیند دوگانه و غلبه بر شکاف نیت-عمل در محصولات فرمول‌بندی دقیق مسئله رفتاری با تفکیک سه‌گانه هدف شرکت، پیامد کاربر (Outcome) و کمینه اقدام پذیرفتنی (MVA) کشف جهان زیسته کاربر با پرسوناهای رفتاری و ترسیم نقشه رفتاری تا سطح ریز-اقدامات یک‌ثانیه‌ای عارضه‌یابی و رفع نشتی‌های شش‌گانه قیف عمل CREATE (نشانه، واکنش، ارزیابی، توانایی، زمان‌بندی، تجربه) به‌کارگیری اصل «قبل از ترغیب، زحمت را بردار» (Cheating) و معماری پیش‌فرض‌های هوشمند بدون اصطکاک طراحی نیت‌های اجرایی شرطی (اگر-آنگاه) برای بستن فاصله تصمیم تا عمل و تقویت خودکارآمدی کاربر مهار خریدهای تکانه‌ای و عادات نامطلوب با به‌کارگیری چارچوب بازدارندگی (CREATE معکوس) ممیزی اخلاقی محصولات بر اساس ماتریس ۴ بخشی تغییر رفتار و پیشگیری از افتادن در دام الگوهای تاریک اثبات تجربی اثرگذاری با آزمایش‌های کنترل‌شده تصادفی (A/B و A/Null) و ساخت مدل‌های پل داده (Data Bridge)

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

آموزش جامع زبان گو

علاقه‌مندان به برنامه‌نویسی و توسعه‌دهندگان مبتدی که می‌خواهند زبان 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

رایگان
مشاهده جزئیات

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

آماده‌ای عمیق یاد بگیری؟

مسیر کتاب‌محور خودت را شروع کن و اولین محصولت را بساز.

مشاهده دوره ها