エピソード

  • Iceberg - اپیزود ده | کوه یخ
    2025/09/22

    در اپیزود دهم پادکست کُدشناسی، به دنیای پیچیده نرم‌افزارهای امروزی سفر می‌کنیم تا یکی از مهم‌ترین مفاهیم این حوزه را بررسی کنیم: Observability.

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

    منابع :

    • Observability Engineering - Charity Majors, Liz Fong-Jones& George Miranda


    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    23 分
  • اپیزود نه | در جستجوی زمان از دست رفته
    2025/08/16

    در اپیزود نه «کدشناسی»، موضوع بازدهی سمی (Toxic Productivity) را بررسی می‌کنیم؛ وضعیتی که در آن میل دائمی به «مفید بودن» به جای پیشرفت، به اضطراب و فرسودگی منجر می‌شود. در این اپیزود به مرز باریک بین بهره‌وری سالم و گرفتار شدن در چرخه‌ی مشغول شدن دائمی می‌پردازیم و ریشه‌های این طرز فکر و تأثیر فرهنگ ‌Hustle cuture دنبال می‌کنیم.

    همچنین برری میکنیم چطور می‌توان این الگوها را تشخیص داد و از آنها فاصله گرفت.

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

    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    18 分
  • Strangler Fig- اپیزود هشت | انجیر خفه کننده
    2025/07/19

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

    منابع این اپیزود :‌

    • https://martinfowler.com/bliki/StranglerFigApplication.html
    • https://www.youtube.com/watch?v=QkIdWnwFuqo


    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    27 分
  • اپیزود هفت - Ghost Bike
    2025/06/30

    در این اپیزود از «کدشناسی»، سراغ یکی از مهم‌ترین و در عین حال نادیده‌گرفته‌شده‌ترین موضوعات در مهندسی نرم‌افزار می‌رویم: اشتباهات.

    اما نه صرفاً خودِ اشتباه، بلکه نحوه‌ی برخورد ما با آن.

    چطور یک خطای فاجعه‌بار می‌تواند به فرصتی برای رشد تیم و ارتقاء پروژه تبدیل شود؟

    چرا بعضی شرکت‌ها به‌جای مقصر پیدا کردن، تمرکزشان را روی یاد گرفتن از اشتباهات می‌گذارند؟

    و چطور می‌شود از فرهنگی به‌نام «Postmortem» یا همان گزارش پس‌از‌حادثه، در تیم‌های نرم‌افزاری الهام گرفت؟

    الهام‌بخش این اپیزود، دوچرخه‌های سفید رنگی هستند که در گوشه‌وکنار شهرهای بزرگ دیده می‌شوند ( Ghost Bikes) نمادهایی از یک اشتباه مرگبار، که حالا به فرصتی برای آگاهی و یادآوری تبدیل شده‌اند.

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

    منابع این اپیزود :‌

    • Black Box Thinking: The Surprising Truth About Success - by Matthew Syed
    • The Site Reliability Workbook: Practical Ways to Implement SRE - by Niall Richard Murphy (Author), Betsy Beyer (Author), Chris Jones (Author), Jennifer Petoff (Author)


    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    16 分
  • اپیزود شش - Headless
    2025/05/29

    در این اپیزود از پادکست، به یکی از مهم‌ترین اصول طراحی نرم‌افزار، یعنی "جداسازی نگرانی‌ها" (Separation of Concern) می‌پردازیم. این اصل بنیادی، هر بخش از یک سیستم نرم‌افزاری را مکلف می‌کند تا تنها بر یک دغدغه‌ی مشخص تمرکز کند. در ادامه، به بررسی چگونگی اعمال این اصل در معماری‌های مدرن نرم‌افزاری، به ویژه تفکیک لایه‌های Business Logic و Presentation، خواهیم پرداخت. سپس، وارد دنیای Headless CMSها می‌شویم که تجلی استاندارد این رویکرد در پروژه‌های نرم‌افزاری امروزی هستند. در طول اپیزود، به بررسی انواع headless cms ها و بررسی سوال های زیر میپردازیم :

    Headless CMS چیست و چه کاربردی دارد؟

    چگونه این سرویس‌ها می‌توانند به افزایش سرعت پیاده‌سازی پروژه‌های نرم‌افزاری کمک کنند؟

    و در نهایت، چه قابلیت‌ها و محدودیت‌هایی را می‌توانند برای یک پروژه به ارمغان بیاورند؟ با ما همراه باشید تا درک عمیق‌تری از این معماری نوین به دست آورید.

    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    19 分
  • اپیزود پنج - کارآموز
    2025/05/08

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

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

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

    بحث خود را به‌طور ویژه در زمینه مهندسی نرم‌افزار دنبال می‌کنیم، اما نکات مطرح شده برای هر فردی که شغلش بخشی مهم از هویت اوست، کاربردی خواهد بود.

    منابع این اپیزود:

    • Self-Determination Theory: Basic Psychological Needs in Motivation, Development, and Wellness
    • Working Identity: Unconventional Strategies for Reinventing Your Career
    • Herminia Ibarra: Your Working Identity


    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    12 分
  • اپیزود چهار - Silver Bullet
    2025/04/22

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

    در این اپیزود، به سراغ رویکردی داده‌محور و تحلیلی برای مواجهه‌ی دقیق با این چالش‌ها می‌رویم:

    Behavioral Code Analysis یا تحلیل رفتاری کد.

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

    در این قسمت به پرسش‌های زیر پاسخ داده می‌شود:

    • تحلیل رفتاری کد چگونه عمل می‌کند؟

    • داده‌های مورد نیاز آن از چه منابعی تأمین می‌شود؟

    • چه تفاوتی با ابزارهای تحلیل ایستای کد دارد؟

    منابع این اپیزود:

    • کتاب Software Design X-Rays - Fix Technical Debt with Behavioral Code Analysis
    • Guide Refactorings With Behavioral Code Analysis - Adam Tornhill - DDD Europe 2019
    • وب سایت codescene

    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    24 分
  • اپیزود سوم - The Tin Man
    2025/04/06

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

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

    اما خلاقیت برای یک برنامه‌نویس یا مهندس نرم‌افزار چه معنایی داره؟

    چه کارهایی در این حوزه می‌تونه به‌عنوان کار خلاقانه شناخته بشه؟

    و مهم‌تر از اون، چطور این نوع خلاقیت‌ها نسخه بهتری از ما رو می‌سازن؟

    در نهایت، در دنیای مدرن امروز، ذهن خلاق یک مهندس نرم‌افزار با چه خطراتی مواجهه؟

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

    منابع این اپیزود:

    کتاب How to Stay Smart in a Smart World: Why Human Intelligence Still Matters

    کتاب The Cult of Creativity: A Surprisingly Recent History

    ویدیو TED Talk: Why Do We Think Creativity Belongs to the “Mad Ones”?

    مقاله How AI Ideas Affect the Creativity, Diversity, and Evolution of Human Ideas: Evidence From a Large, Dynamic Experiment

    Hosted on Acast. See acast.com/privacy for more information.

    続きを読む 一部表示
    16 分