Golem Course – Telegram
Golem Course
2.93K subscribers
47 photos
43 videos
40 files
144 links
Alireza Aghamohammadi, Ph.D.

https://youtube.com/@GolemCourse
Download Telegram
#معرفی_کتاب

Lean from the Trenches: Managing Large-Scale Projects with Kanban

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

کتاب به صورت یک مطالعه موردی، روش مدیریت پروژه را با استفاده از ایده‌های کانبان و اسکرام توضیح می‌دهد. به عنوان مثال، این کتاب نحوه مدیریت ۶۰ نفر، ساختار تیم‌ها و تقسیم وظایف را شرح می‌دهد.

کتاب حدوداً ۱۶۰ صفحه است و خواندن آن وقت‌گیر نیست. شخصاً توانستم آن را در یک روز بخوانم.

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

@golemcourse
👍83
در سازمان، ممکن است تعدادی تیم تشکیل شود. تیم‌هایی که افراد آن‌ها توانایی‌ها و نیازهای لازم برای ساخت و ارائه محصول یا سرویس را دارند، به عنوان feature team شناخته می‌شوند. به عنوان مثال، فرض کنید سازمانی وجود دارد که دارای دپارتمان‌های توسعه، عملیات، تضمین کیفیت و امنیت است. برای ساخت محصول، یک تیم شش نفره تشکیل شده است که شامل سه نفر از بخش توسعه، یک نفر از بخش عملیات، یک نفر از بخش تضمین کیفیت و یک نفر از بخش امنیت است. این نوع تیم‌ها به عنوان تیم‌های cross functional نیز شناخته می‌شوند. در چارچوب اسکرام، تیم‌ها از این دست هستند.

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

تصویر پیوست شده از کتاب Lean From the Trenches برداشت شده است. در آن سه تیم وجود دارد که از نوع Feature هستند و دو تیم که از نوع Component هستند.
@golemcourse
👍5🔥2💯2
ساختار تیمی بر معماری نرم‌افزار تاثیر می‌گذارد. این مفهوم با قانون کانوی شناخته می‌شود.

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

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

این عکس از کتاب Building Microservices گرفته شده است.

@golemcourse
👍16💯1
زمانی که در حال توسعه یک محصول هستید و ابعاد آن از یک حد خاصی بیشتر می‌شود، نیاز به استراتژی برای ایجاد شاخه در گیت پیدا می‌کنید. استراتژی‌های متنوعی مانند:
gitflow
github flow
gitlab flow
trunk-based development
برای مدیریت شاخه‌ها وجود دارد. من یک ویدیو درباره مدل gitflow ضبط کرده‌ام که می‌توانید آن را از طریق این لینک در کانال یوتیوب من تماشا کنید.

@golemcourse
🔥84👍1
009_rest.pdf
116.9 KB
به زودی قرار است در این ترم، مبحث REST را برای دانشجویان تدریس کنم. با توجه به ماهیت این مبحث، فکر می‌کنم این اطلاعات برای اعضای این کانال نیز مفید باشد. فایل پیوست، محتوایی است که برای این هدف آماده کرده‌ام.
@golemcourse
👍254🔥1
SUT_SAD_SampleExam.pdf
134.3 KB
برای دانشجویان درس تحلیل و طراحی سیستم‌ها، یک نمونه سوال امتحانی طراحی کردم که برای اعضای این کانال نیز مفید است. پیشنهاد می‌کنم که به راه‌حل آن فکر کنید.
@golemcourse
🔥156💯2
HW1_SAD_D.pdf
1.4 MB
دستیاران آموزشی عزیزم، زحمت کشیده و تمرین اول درس تحلیل و طراحی سیستم‌ها را آماده کرده‌اند. این تمرین بر بحث مدیریت محصول تمرکز دارد. در بخشی از تمرین، اصطلاح OKR مطرح می‌شود. مرجع اصلی OKR، سایت whatmatters.com است و ویدیوهای آموزشی هم دارد. به علاوه، Google OKR playbook یک guideline برای تعریف OKR ها ارائه می‌کند.
👍16🔥2
Project.pdf
231.2 KB
دستیاران آموزشی عزیزم، زحمت زیادی کشیده و پروژه درس تحلیل و طراحی سیستم‌ها را آماده کرده‌اند. این پروژه مهمترین بخش درس است. در این پروژه، دانشجویان باید یک message broker شبیه به RabbitMQ یا Kafka، اما ساده‌تر، را پیاده‌سازی و مستقر کنند. برای انجام این پروژه، دانشجویان با ابزارهایی مانند Docker، Kubernetes، Prometheus Grafana و Gitlab CI/CD نیز درگیر خواهند شد.
🔥23👍64
#معرفی_کتاب
عنوان:
Think Like a CTO

به تازگی، خواندن این کتاب را از انتشارات Manning به پایان بردم. در این کتاب، وظایف مدیر ارشد فنی (CTO) و رابطه‌ای که باید با مدیرعامل (CEO) و مدیر ارشد مالی (CFO) داشته باشد، مورد بررسی قرار گرفته است.

کتاب چندین بخش جالب داشت که به من چشم‌انداز جدیدی ارائه داد:
۱. کارهایی که مدیر ارشد فنی که به تازگی در سازمان استخدام شده، در ۱۰۰ روز اول کارش باید انجام دهد.
۲. چک‌لیست‌هایی که در انتهای هر فصل قرار دارد و می‌تواند به عنوان مرجع بعدها به آن رجوع کرد.
۳. تکنیک‌های مصاحبه شغلی و استخدام افراد
۴. موضوعاتی که در قرارداد باید رعایت شود
۵. خرید استارتاپ/شرکت دیگر و ادغام آن با سازمان فعلی و اهمیت و نحوه کارکرد due diligence در این فرآیند

@golemcourse
👍105🔥2💯1
مسیر شغلی به چه شکل است؟
در گذشته در سازمان‌ها، فرد فنی مسیری را از کارآموزی تا نقش جونیور، سپس به نقش ارشد، مدیریت و در نهایت مسئولیت دپارتمان در سازمان طی می‌کرد (سمت چپ تصویر). اما افراد بعد از نقش سینیور مجبور می‌شوند به بخش مدیریتی منتقل شوند. این تغییر برای همه خوشایند نیست، مخصوصاً اگر فرد تجربه فنی بالایی داشته باشد و علاقه‌ای به جزئیات کسب و کار نداشته باشد.
در سال‌های اخیر، سازمان‌ها به سمت ارائه مسیر ارتقای شغلی جدیدتر حرکت کرده‌اند (سمت راست تصویر) که دو راه را در پیش روی افراد می‌گذارد. بعد از نقش سینیور، افراد می‌توانند انتخاب کنند که در جهت فنی ارتقا پیدا کنند یا به سمت نقش‌های مدیریتی سازمان بروند. تفاوت این مدل با قبلی در آن است که افرادی که نقش‌های staff engineer یا principal engineer را برعهده می‌گیرند، همچنان نقش فنی خود را حفظ می‌کنند، با این تفاوت که مسئول تصمیم‌گیری و مدیریت چندین تیم فنی را بر عهده دارند. از لحاظ سطح ارشدیت، principal engineer با director و staff engineer با manager جایگاه برابر دارند.
عکس از صفحه ۴ کتاب The Staff Engineer’s Path گرفته شده است.

@golemcourse
👍14🔥4💯31
Forwarded from Deep Time
مهمان ما دکتر علی حبیب‌نیا استاد دانشگاه ویرجینیاتک هستن. در مورد موارد متنوعی از جمله سیستم‌های ترید، استارتاپ‌های موفق و بازارها صحبت میکنیم.
شنبه ساعت 9:30 شب، لایو در تلگرام.

@deeptimeai
8💯3👍1
دستیاران آموزشی‌ام در درس تحلیل و طراحی سیستم‌ها در این ترم زحمت زیادی کشیدند و مجموعه‌ای از ویدیوهای آموزشی را برای دانشجویان آماده کردند.
باور دارم این محتوا برای اعضای این کانال هم بسیار مفید است.

کارگاه کافکا (تهیه شده توسط محمدطه جهانی‌نژاد):

https://drive.google.com/file/d/1k3zZRXYdKaF7ew5-doyRzZ6Mp204j-Bb/view?usp=sharing

کارگاه داکر (تهیه شده توسط حسین سمیعی):

https://drive.google.com/drive/folders/16rwbD6hs_n-Gx2_rbHjDMre34ReenB7m?usp=sharing

کارگاه CI/CD (تهیه شده توسط محمدصادق مجیدی یزدی):

https://drive.google.com/drive/folders/1FczGY_qJ8LYSS9qJuiJk-0s-Oa46Ko_s?usp=sharing

کارگاه مانیتورینگ (تهیه شده توسط کمیل یحیی‌زاده):

https://drive.google.com/drive/folders/1eu8ftc6LfD5Xb6C_C-bny7BHQu3EXP9E?usp=sharing

@golemcourse
44🔥3👍2
امروز، کلاس درس تحلیل و طراحی سیستم‌ها به صورت مجازی برگزار شد و من فرصتی برای ضبط آن پیدا کردم. در این جلسه، درباره مدل‌سازی موقعیت مکانی بحث کردیم و بررسی کردیم که چگونه شرکت‌هایی مانند گوگل، تیندر، لیفت، اسنپ و تسپی کار می‌کنند. به طور خاص، به سه تکنیک مهم پرداختیم:

۱. تکنیک Geohashing که شرکت‌هایی نظیر ‌Bing Maps و Lyft از آن استفاده می‌کنند.

۲. داده ساختار Quadtree که شرکت Yext آن را به کار می‌گیرد.

۳. خم هیلبرت (Hilbert Curve) که Google Maps و Tinder از آن بهره می‌برند.

ویدیو ضبط شده را می‌توانید از طریق لینک زیر از گوگل درایو دانلود کنید:

https://drive.google.com/file/d/1kA_5bEtfA0C2emQdOyRJpJQBzMV9qAdd/view?usp=sharing

@golemcourse
23🔥6👍4💯1
HW2_SAD_D.pdf
1.5 MB
تیم دستیاران آموزشی درس تحلیل و طراحی زحمت کشیدند و تمرین دوم درس را منتشر کردند. تمرین دوم با موضوع رابط و تجربه کاربری است.


همچنین ویدیو کارگاه آموزشی Figma را می‌توانید از لینک زیر دانلود کنید:

https://drive.google.com/file/d/1emxEZxn6bzyvTsY03oQtQWdgeIFHhkYZ/view?usp=sharing

@golemcourse
👍98💯2
در این ویدیو سی دقیقه‌ای، به بررسی جامع خط‌لوله یکپارچه‌سازی مستمر/تحویل مستمر (CI/CD) خواهیم پرداخت. این ویدیو شما را با عناصر مورد نیاز یک خط‌لوله برای یک محصول در محیط عملیاتی آشنا می‌کند و شما را با انواع تست‌ها، از جمله آزمون بار (Load Test)، آزمون تنش (Stress Test)، آزمون والیوم (Volume Test) و آزمون پیکربندی (Configuration Test)، آشنا می‌کند. همچنین، دو مفهوم مهم در این زمینه، یعنی تجزیه و تحلیل ترکیب نرم‌افزار (Software Composition Analysis) و آزمون امنیت برنامه (Application Security Testing)، به شما آموخته خواهد شد.

لینک ویدیو در یوتیوب

@golemcourse
🔥19👍53
Final_SAD.pdf
54.3 KB
امروز امتحان پایان ترم درس تحلیل و طراحی سیستم‌ها برگزار شد. سوالات امتحان را برایتان پیوست کردم. فکر می‌کنم برای اعضای این کانال نیز مفید باشد.

بد نیست به نکته‌ای اشاره بکنم. سوال یک اگر بخواهیم دقیق صحبت کنیم، مبنای ۳۲ به کار رفته در geohash شامل حروف a و i و l و o نمی‌شود که برای راحتی چنین فرضی در امتحان نداشتیم.

@golemcourse
27🔥1
Forwarded from Golem Course
دیروز این افتخار را داشتیم که میزبان آقای محمد طلایی در دانشگاه صنعتی شریف باشیم.

موضوع جلسه کاربرد علوم کامپیوتر و هوش مصنوعی در بازارهای مالی بود.

در این نشست به سوالات زیر پاسخ داده شد:
۱. آیا می‌توانیم بازار سهام را پیش‌بینی کنیم؟
۲. فرق سرمایه‌گذاری و معامله‌گری چیست؟
۳. آیا بازار سهام بازی حاصل جمع صفر است؟
۴. چگونه مدل‌های آماری در پیش‌بینی بازار استفاده می‌شود؟
۵. چه دانش و مهارت‌هایی برای ورود به این صنعت احتیاج است؟

لینک ضبط شده ویدیو در یوتویوب:

https://youtu.be/dRd271f4rHk


کانال تلگرام ایشان:
@deeptimeai
🔥94👍2💯1
#معرفی_کتاب

Get Your Hands Dirty on Clean Architecture

یک کتاب عملی، کم حجم و آموزنده برای یادگیری معماری hexagonal است. ویرایش دوم این کتاب در سال ۲۰۲۳ منتشر شده و تعداد صفحات آن ۱۶۸ می‌باشد.

سه فصل اول کتاب به آموزش مفاهیم می‌پردازد و از فصل چهارم به بررسی پیاده‌سازی در قالب یک پروژه جاوا با چارچوب Spring Boot می‌رود. نویسنده کتاب، Tom Hombergs، تسلط زیادی بر مباحث دارد و یکی از افراد مشهور با تعداد دنبال کننده زیاد در گیتهاب است.
اگر قصد یادگیری مباحثی مانند Port & Adapter، domain model، bounded context را به صورت عملی دارید، خواندن این کتاب را به شدت پیشنهاد می‌کنم.
@golemcourse
14👍2
این ترم دانشگاه با ثبت نهایی نمره درس تحلیل و طراحی سیستم‌ها به پایان رسید. نمرات ارزشیابی این درس که توسط دانشجویان انجام شد، نمره ۳.۹۴/۴ را نشان می‌دهد. این نمره، احتمال زیاد بالاترین نمره ارزشیابی در کل دانشکده کامپیوتر برای این ترم است. بدون همکاری ۲۱ دستیار آموزشی، دستیار ارشد آموزشی عزیزم (جناب آقای نامجو)، و همچنین تمام دانشجویان درس که علی رغم فشار زیاد پروژه، همکاری کردند، ارائه درس با این کیفیت ممکن نبود.

از همگی صمیمانه تشکر می‌کنم و برایتان بهترین‌ها را آرزو می‌کنم.
45🔥7👍5💯1