tech-afternoon
1.25K subscribers
175 photos
6 videos
6 files
171 links
تِک‌افترنون، رویدادی گاه‌به‌گاه است با موضوعات حول معماری و توسعه نرم‌افزار، این کانال هم برای اشتراک اخبار، آموزش، نکاتی حول مهندسی نرم‌افزار، دیتابیس‌، تکنولوژی و مدیریت تولید محصولات نر‌م‌افزاری خواهد بود.
youtube.com/@AminTechTalks/videos
امین مصباحی
Download Telegram
🚀
سلام
این ایونت «احتمالا» بخش اول سری بنچمارکینگ است، قصد دارم اهمیت و نکات بنچمارکینگ رو مرور کنیم و در بخش اول، روی دات‌نت و اس‌کیوال سرور کار خواهیم کرد و اگر استقبال خوبی بشه، در بخش دوم روی روی لایبری‌های پایتون و گو کار کنیم.

این فرم ثبت‌نام است (جلسات تِک‌افترنون همه رایگان هستند) و اگر فکر کردید برای دوستان و همکارهاتون هم این وبینار می‌تونه جالب باشه، بهشون اطلاع بدید ;)

افزودن ایونت به تقویم گوگل
لینک گوگل‌میت جلسه

کانال تلگرام تک‌افترنون
👍3
مرور تفاوت ساختار ذخیره‌سازی دیتابیس و جدول در PostgreSQL و SQL Server
مطالعه بیشتر

#MSSQL_to_PGSQL
👍61
💡درس‌هایی از ۴۰ سال توسعه نرم‌افزار

شاید شما هم Dave Farley رو با کانال یوتیوبی Continuous Delivery دنبال کنید. کانالی با ۲۰۸ هزار دنبال کننده (تا امروز) که مطالب خیلی خوبی رو در خصوص مهندسی نرم‌افزار ارائه می‌ده.

چند روز پیش آقای Farley، ویدیوی جدیدی منتشر کرد که در ۱۹ دقیقه درس‌هایی از ۴۰ سال توسعه نرم‌افزار رو مرور کرد.

1️⃣ دروس اولیه برنامه نویسی
- لذت دستکاری کد: در ابتدا مجذوب توانایی کنترل رفتار کامپیوتر با نوشتن کد شد، همین مشوق یادگیری بیشتر براش بوده!

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

2️⃣ کیفیت و خوانایی کد
روی نوشتن کدی که واضح، خوانا و دارای ساختار مناسب باشه تاکید می‌کنه و از تجربه‌ای می‌گه که ارزش کدنویسی واضح و خوانا رو در عمل بهش آموخته، اصلی که در طول زندگی حرفه‌ای‌اش دنبال کرده.

🧵
👍3
tech-afternoon
💡درس‌هایی از ۴۰ سال توسعه نرم‌افزار شاید شما هم Dave Farley رو با کانال یوتیوبی Continuous Delivery دنبال کنید. کانالی با ۲۰۸ هزار دنبال کننده (تا امروز) که مطالب خیلی خوبی رو در خصوص مهندسی نرم‌افزار ارائه می‌ده. چند روز پیش آقای Farley، ویدیوی جدیدی منتشر…
3️⃣ حرکت به سمت برنامه نویسی شی‌گرا و نرم‌افزارهای سیستمی
- مسیر برنامه‌نویسی‌اش از BASIC و اسمبلی به C و بعداً ++C بوده، و زمانی که برنامه‌نویسی شی‌گرا (OOP) رو یاد گرفته، نقطه عطفی بوده براش که ایده طراحی کد با روابط و ساختارهای منسجم و منطقی، و فراتر از چند خط کد رو بهش یاد داده.
- بعدتر در برنامه‌نویسی سیستم‌ (systems programming)، از جمله توسعه سیستم‌عامل، درایور و low-level firmware جایی بوده که حل مسائل‌ پایه‌ای و ایرادیابی‌های پیچیده رو بهش یاد داده.

4️⃣ کار با سیستم های توزیع شده
- تجربه‌ و درسی که از کار کردن با سیستم‌های توزیع‌شده به دست آورده رو مرور می‌کنه و می‌گه که پیچیدگی‌های اضافه‌ای که این سیستم‌ها برای ایرادیابی، کارآیی و پایداری همراه دارند رو چطور تونسته در عمل درک کنه. با سیستم‌های توزیع شده بوده که توسعه message-based programming و asynchronous processes رو به خوبی درک کرده.
- بر اهمیت درک سخت‌افزار و نرم‌افزار برای ایجاد زیرساخت موثر و کارآمد تاکید می‌کنه.

5️⃣ آشنایی با Continuous Integration و Agile Practices
- با نمونه‌های اولیه CI آشنا می‌شه و شروع به استفاده در فرایند توسعه می‌کنه، همچنین XP رو در اون زمان به عنوان متدولوژی توسعه در پروژه‌ها با کار می‌گیره.
- اهمیت تست نرم‌افزار، و نه فقط پیاده‌سازی رو درک کرده، و ارزش فریم‌ورک‌های تست مثل JUnit رو فهمیده.

6️⃣ ساخت سیستم‌های مستلزم کارایی بالا (High-Performance Systems)
- توضیح می‌ده که پیوستنش به یک استارتاپ برای توسعه یکی از سریع‌ترین مبادلات مالی جهان بهش کمک کرده تا آموخته‌هاش از سیستم‌های توزیع‌شده، CI و برنامه‌نویسی با عملکرد بالا رو گرد هم بیاره.
- مفهوم mechanical sympathy رو به خوبی فهمیده، اینکه چطوری سخت‌افزار روی بهینه‌سازی عملکرد نرم‌افزار تاثیر می‌گذاره

7️⃣ 💎 نکات کلیدی از مسیر شغلی
- یاد گرفته که یک رویکرد مهندسی صحیح برای توسعه نرم‌افزار است بالانس هوشمندانه‌ای بین مفاهیم انتزاعی و شناخت از سیستم‌های عملیاتی و واقعی است.
- بر اهمیت یادگیری مستمر پافشاری می‌کنه و تطبیق ابزارها و تکنیک‌های جدید، و پرورش فرهنگ توسعه مشارکتی و نوآورانه رو درس‌های مهم می‌دونه.


📌 آدمی که ۴۰ سال مداوم یاد گرفته و همین الان هم به‌روزترین مطالب رو یاد می‌گیره و یاد می‌ده این تجربه رو به اشتراک گذاشته. یاد یه مطلبی که ۲۰ سال پیش خوندم تحت عنوان how to be programmer in 10 years افتادم، زمانی‌ که کتاب‌ها مطالب رو با در ۲۴ ساعت و یا یک هفته و یک ماه می‌خواستن یاد بدن!

حرکت مداوم، پله پله و یادگیری مداوم رو فراموش نکنیم... 😉
لینک ویدیو اصلی
اگر دوست داشتید هم‌رسانی کنید
👍4
نسخه VSCode 1.93.0 ریلیز شد!
یه امکان جالبش اینه که به کوپایلوت می‌تونین دستورالعمل ثابت بدید، مثلا:
هر وقت کدی رو اضافه کرد، کامنت بگذاره که توسط کوپایلوت اضافه شده
یا توی فلان زبان، متغیرهای محلی رو با آندرلاین شروع کنه
کاربر Copilot هستید؟!
👌2👍1
مقدمه: ESME یا CMAScript modules و AMD یا Asynchronous Module Definition دو روش برای مدیریت و بارگذاری ماژول‌ها در جاوااسکریپت هستند. AMD قدیمی‌تره و برای کار در مرورگرهای قدیمی طراحی شده، در حالی که ESM استاندارد جدیدتر و بخشی از خود زبان جاوااسکریپت است. ESM مزایایی مثل سینتکس ساده‌تر، پشتیبانی بهتر از tree shaking، و عملکرد بهتر داره.

⚡️ حالا خبر:
تیم VS Code توی نسخه 1.93 اعلام کرده که بیشتر کار مهاجرت از AMD به ESM را تکمیل کردن. این یه تیتر خبریه، ما هم که مصرف‌کننده هستیم، پس به ما چه؟

خوندن خبر کامل، بحث‌ و جدل‌های توی گیت‌هاب پروژه، و ویدیو استندآپ‌هاشون خیلی درس‌آموزه، چرا؟

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

🔸نحوه مهاجرت محتاطانه به روش جدید، برنامه‌ریزی زمانی، rollback plan و انتظار تدریجی

🔸این یه درس مهم refactoring است
👍4
tech-afternoon
🚀 سلام این ایونت «احتمالا» بخش اول سری بنچمارکینگ است، قصد دارم اهمیت و نکات بنچمارکینگ رو مرور کنیم و در بخش اول، روی دات‌نت و اس‌کیوال سرور کار خواهیم کرد و اگر استقبال خوبی بشه، در بخش دوم روی روی لایبری‌های پایتون و گو کار کنیم. این فرم ثبت‌نام است (جلسات…
⚡️ فردا یکشنبه ساعت ۱۸:۳۰ به وقت تهران!
🤗 اگر دوست داشتید به دوستانتون هم اطلاع بدید.
🚀 البته لینک گوگل‌میت تغییر خواهد کرد، میت جدید، امکان ضبط و کیفیت صدای بهتری خواهد داشت! که به دوستانی که فرم رو پر کردند ایمیل خواهد شد و در چت میت قبلی هم قرار خواهم داد.
ساعتی قبل اپل در کنار گوشی و ساعت و ایرباد جدیدش، از iOS 18 رونمایی کرد.
برای توسعه نرم‌افزار روی پلتفرم‌های اپل مثل آیفون، آیپد، اپل‌واچ و مک swift تنها گزینه نیست. شاید از نظر پرفرمنس یا سازگاری بهترین باشه، ولی آیا در همه اپلیکیشن‌ها اون تمایز کارایی برای کاربر مشهوده؟ آیا هزینه توسعه محصول native برای همه‌ی تیم‌ها و شرکت‌ها مقرون‌به‌صرفه یا بهتر بگم گزینه‌ی بهینه است؟

مفهوم Reusable codebase که استفاده از بخشی از کد برای چند پلتفرم رو شامل می‌شه، می‌تونه در هزینه تولید و پشتیبانی + زمان توسعه و رسیدن به مارکت برای برخی محصولات گزینه بهتری باشه.

برای فلاتر، BMW, Toyota, eBay و برای NET MAUI شرکت‌هایی مثل Esri, NBC Sports و برای ری‌اکت نیتیو شرکت‌هایی مثل والمارت، تسلا، فیس‌بوک و Airbnb مثال‌های خوبی هستن.

نظر شما چیه؟
👍3
tech-afternoon
🚀 سلام این ایونت «احتمالا» بخش اول سری بنچمارکینگ است، قصد دارم اهمیت و نکات بنچمارکینگ رو مرور کنیم و در بخش اول، روی دات‌نت و اس‌کیوال سرور کار خواهیم کرد و اگر استقبال خوبی بشه، در بخش دوم روی روی لایبری‌های پایتون و گو کار کنیم. این فرم ثبت‌نام است (جلسات…
😊 قبل از هر چیز از دوستانی که در جلسه شرکت کردن متشکرم و امیدوارم مطالب مفید بوده باشه.

🔗 ویدیو جلسه، اسلایدها و سورس‌کد مثال‌ها آپلود شد و در صورت تمایل از لینک‌های زیر دریافت کنید.
پیشاپیش از نقد، نظر و پیشنهاد شما برای بهبود جلسات، و همچنین انتخاب موضوع جلسات بعدی استقبال تشکر می‌کنم.


🎬 YouTube: Webinar Video
📈 SlideShare: Presentation File
🖥 GitHub: Source Codes
🙏43👍2
از ۱ (کمترین) تا ۵ (بیشترین) چقدر آشنایی با امکانات جدید دات‌نت براتون مهمه؟ (علاقه شخصی و اهمیت در کار)
Anonymous Poll
18%
۱
0%
۲
0%
۳
14%
۴
68%
۵
به بهانه ریلیز نسخه RC1 دات‌نت ۹

از دات‌نت ۵ اعلام کردن که:
🗓 نوامبر هر سال نسخه جدید ارائه می‌شه (آبان-آذر)
⚡️ نسخه‌های فرد (۵، ۷، ۹، ۱۱) با پشتیبانی ۱ ساله خواهند بود
💎 نسخه‌های زوج (۶، ۸، ۱۰) دارای ۳ سال پشتیبانی هستند (Long-Term Support یا LTS)

اطلاعات نسخه RC1 دات‌نت ۹ در گیت‌هاب
رأی‌گیری بالا برای تصمیم در مورد موضوع تک‌افترنون بعدی است.
👍3
کم‌کم به ریلیز نسخه جدید PostgreSQL نزدیک می‌شیم.

این هم ۴ کارت جدید آموزشی برای SQL Server کارهایی که دوست دارن به PostgreSQL مهاجرت کنند.
کوئری‌های ساده رو با مقایسه سینتکس مشابه در هر دو پلتفرم به راحتی می‌تونیم یاد بگیریم و این هدف من از درست کردن این کارت‌هاست.

درسته که قابلیت‌های SQL Server یا اوراکل برای انترپرایزها بسیار پایدار، آماده‌به‌استفاده و خوشایند هستند. ولی اگر مجبور به تهیه مجوز قانونی باشیم، باز هم گزینه‌ ما هستند؟

#MSSQL_to_PGSQL
👍5
📌 چه لیدر یک یا چند تیم باشیم چه یک عضو ساده، مهمه که با مفاهیم لیدرشیپ آشنا باشیم!

یادگیری مفاهیم لیدرشیپ به ما به عنوان عضو یک تیم کمک می‌کنه تا سازمان و تیمی رو انتخاب کنیم که لیدر خوبی داره و «حال خوب» رو تجربه کنیم از کار کردن. همچنین به عنوان لیدر بهمون کمک می‌کنه تا باعث پیشرفت و «حال خوب» هم‌تیمی‌هامون بشیم.

تجربه شخصی من از به‌کارگیری این سبک از لیدرشیپ همیشه مثبت بوده، و برداشت خودم اینطور بوده که باعث رشد اعضاء تیم و احساس راحتی در محیط کار شده. هرچند درگیری با سایر بخش‌های سازمان به‌منظور تسهیل کارها برای تیم، باعث دردسر خودم شده، ولی اگر به output و outcome همزمان توجه بشه، به دشواری‌هاش می‌ارزه 😉

این کارت‌ها خلاصه‌ای از نکات رهبری خدمتگزار است که من فکر می‌کنم می‌تونه دید خوبی بده.

🌱 ♻️ اگر فکر کردید نکات خوبی بودند با دیگران هم به اشتراک بگذارید و نظرتون رو از طریق کامنت بگید!
👌4
⚡️ نتایج بنچمارک SQLite در دو حالت In-Memory و On-Disk

تفاوت پرفرمنس بین قرارگیری روی رَم و دیسک حتی وقتی دیسک NVMe 4.0 باشه تا این اندازه زیاده!

این جدول نتیجه ۹ ساعت اجرای بنچمارک است و اعداد تا حد خیلی خوبی دقیق هستند. و این کار «احتمالا» بخشی از بازاجرای یک پروژه بعد از ۱۴ سال است! ۱۴ سال پیش ۷ embedded database رو که امروز خیلی‌هاشون دیگه سال‌هاست نسخه جدید نداشتن رو بنچمارک کردم. یادمه با لپ‌تاپ روشن از این جلسه به اون جلسه می‌رفتم و نگران بودم توی مسیر شارژ کم بیارم 😅
👌4