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

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

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

این عکس از کتاب 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
با هیجان فراوان اعلام می‌کنم که دوره آموزشی یادگیری عمیق (deep learning) را در یوتیوب شروع کرده‌ام. تاکنون چهار ویدیو ضبط و منتشر کرده‌ام که همگی از امروز برای عموم قابل دسترسی است (لینک).

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

پیش‌بینی می‌کنم که این دوره در نهایت بیشترین تعداد ویدیو در کانالم خواهد داشت (بیش از ۱۰۰ ویدیو). در نظر دارم که زمان قابل توجهی را صرف کیفیت و تعداد ویدیوها کنم تا یک کار ماندگار ایجاد شود.

همچنین قصد دارم موضوعات جدید و مهم در این حوزه مانند Diffusion Models و LLM ها را نیز آموزش دهم.

این دوره هم جنبه‌های نظری و هم عملی دارد و من از منابع زیر استفاده کرده‌ام:
1. Understanding Deep Learning
2. Mathematics for Machine Learning
3. Understanding Machine Learning: From Theory to Algorithms
4. Dive into Deep Learning
5. Probabilistic Machine Learning: An Introduction


@golemcourse
100🔥20👍10
مطابق سنت هر ساله، نظرسنجی زیر را برگزار می‌کنم. در سال گذشته (۱۴۰۲)، چند کتاب خواندید؟ (کتاب‌هایی که به صورت اجباری برای دانشگاه یا مدرسه خوانده‌اید، محاسبه نکنید)
Anonymous Poll
73%
کمتر از پنج
19%
بین پنج تا ده
4%
بین یازده تا بیست
5%
بیشتر از بیست
🔥85💯2
Forwarded from Deep Time
این نوشته "سم آلتمن" درباره زندگی رو هر کسی به نظرم باید یه نگاه بندازه.
The days are long but the decades are short
سم آلتمن مدیرعامل OpenAI، یکی از پیشرو ترین شرکت‌های هوش مصنوعی دنیاست. قبل از این هم مدیر شتاب دهنده معروف Y Combinator بوده.
12🔥4