.NET Fun
1.8K subscribers
96 photos
60 videos
3 files
189 links
Let's Connect!

Linkedin: https://www.linkedin.com/in/babak-taremi

Github: https://github.com/babaktaremi

Twitter: https://twitter.com/BabakTaremi

Telegram: @bob_tm

دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Download Telegram
.NET Fun
رفقا تخفیف دوره ها شروع شده از امروز تا ۷ آذر دوره ها رو با یه تخفیف خوب میتونید تهیه بکنید برای اطلاع بیشتر از دوره ها و نحوه ثبت نام به من @bob_tm پیام بدید
چجوری از کدی که مینویسیم مطمئن باشیم و پروداکشن رو به فنا ندیم؟
با نوشتن تست و CI/CD درست که تست ها رو توی PR ها و مرج ها ران کنه و اگه همه چی اوکی بود برامون چنج لاگ بنویسه و ورژن بزنه. توی دوره Clean Architecture کامل به تست نویسی و نوشتن Github Actions برای داشتن یه ورک فلو تمیز پرداختیم
.NET Fun pinned «رفقا تخفیف دوره ها شروع شده از امروز تا ۷ آذر دوره ها رو با یه تخفیف خوب میتونید تهیه بکنید برای اطلاع بیشتر از دوره ها و نحوه ثبت نام به من @bob_tm پیام بدید»
پکیچ Google Captcha Component هم آپدیت شد. ساپورت دات نت ۹ و ۱۰ به پروژه اضافه شد. یک سری از API های خود Recaptcha هم تغییر کرده که این تغییرات هم اعمال شدند
( بدترین داکیومنت ها برای سرویس های گوگل هست. دو ساعت باید بگردی و توضیحاتش هم بسیار نامفهوم)

اگه دوست داشتید یه نگاهی بندازید و اگه خوشتون اومد ⭐️ یادتون نره

🔗 Github: https://github.com/babaktaremi/GoogleCaptchaComponent
رفقا، حجم پیام‌ها درباره دوره‌ها خیلی زیاده
لیست دوره‌ها و جزئیاتشون رو می‌تونید توی لینک زیر ببینید:
B2n.ir/dotnetcourses
یادتون باشه، تخفیف‌ها تا ۷ آذر ادامه دارن 🎉
مدتیه که دوباره کار با VS Code رو شروع کردم. خیلی نسبت به قبل بهتر شده ( مخصوصا با C# Dev Kit ) . هنوز دیباگ باهاش یه کمی سخته ولی Agent mode اش خیلی از Rider بهتره. توصیه میکنم امتحانش کنید.
@DotNetIsFun
رفتار جالب EF Core.
نکات پرفورمنسی جالبی توی EF Core هست . مثلا AddRange برای اینکه پرفورمنسی بهتر باشه کوئری زیر رو تولید میکنه.


exec sp_executesql N'SET IMPLICIT_TRANSACTIONS OFF;
SET NOCOUNT ON;
MERGE [Users] USING (
VALUES (@p0, @p1, 0),
(@p2, @p3, 1),
(@p4, @p5, 2),
(@p6, @p7, 3),
(@p8, @p9, 4),
(@p10, @p11, 5),
(@p12, @p13, 6),
(@p14, @p15, 7),
(@p16, @p17, 8),
(@p18, @p19, 9),
(@p20, @p21, 10) AS i ([Name], [Score], _Position) ON 1=0
WHEN NOT MATCHED THEN
INSERT ([Name], [Score])
VALUES (i.[Name], i.[Score])
OUTPUT INSERTED.[Id], i._Position;


دلیلش هم خیلی جالبه که به تغییر مهم EF Core توی ورژن 7 برمیگرده. (چراش رو شما بگید😁)

@DotNetIsFun
Forwarded from Programmer Jokes
در مورد tactical DDD خلاصه بخوام بگم:
تاکتیکال DDD بدون استراتژیک = دیتابیس‌محوری با چند اسم شیک
حل پیچیدگی واقعی در سطح استراتژیک رخ می‌ده، نه تاکتیکال. Tactical Design بدون تصویر درست از Bounded Context و Context Map بهینه‌سازی اشتباه در جای اشتباهه.
در نهایت تاکتیکال بدون فهم دامین فقط OOP است . اگه approach فانکشنال داشته باشیم با tactical DDD فقط داریم بدبختیامونو بیشتر میکنیم. همیشه این جمله یادتون باشه :

The heart of DDD is the domain model and the ubiquitous language

حالا به نظرتون با tactical DDD به این هدف اصلی میرسیم یا فقط داریم ادای خفن بودن درمیاریم؟

@DotNetIsFun
Forwarded from سپهر تک (مسعود بیگی)
بیا تو تیم ما 💪
داریم تیم دیتای رسمیو رو گسترش میدیم ، اگه شکارچی داده ( Crawler ) هستی، بیا با هم کیف کنیم :))
تا دلتون بخواد چالش و کار جدی داریم تو رسمیو تو این بخش
قول میدم حسابی سرگرم و مشغول باشید و هر روز یه چالش جدید داشته باشی توی این پوزیشن😁
Forwarded from Programmer Jokes
سلام بچه‌ها 👋
ما برای تیممون در کارگزاری مفید دنبال جذب Senior Software Engineer هستیم.

مهارت‌های مورد نیاز:

🔹 Core Technologies
• C# / .NET (advanced, production level)
• Apache Kafka (event streaming, messaging)
• Redis (caching, pub/sub, in-memory data)
• Relational databases ( Primarily SQL Server)

🔹 Concurrency & Performance
• TPL, async/await, threading
• Parallel & concurrent programming
• Performance tuning & bottleneck detection

🔹 Architecture & API
• Microservices architecture
• RESTful APIs in .NET
• Distributed systems & scalability
نوع همکاری به صورت فول تایم و حضوری هست
محل شرکت جردن هست
داشتن کارت پایان خدمت اجباری هست
اگه علاقه‌مند هستید، رزومه‌تون رو برام به آیدی @bob_tm بفرستید
تو این مدت درگیر راه‌اندازی مجدد بات بودم، این بار با یه زیرساخت درست‌‌ که مثل قبل به فنا نره
هدفمون اینه که داخلش دوره‌هایی قرار بدیم که هم همه‌جا پیدا نشن، هم واقعاً کاربردی باشن.

الان هم دوره Orleans رو داخل بات قرار دادیم که یه دید عمیق و کاربردی از Actor Pattern و نحوه پیاده‌سازی اون بهتون میده

📌 آدرس بات:
@DotNetFunBot

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

لیست دوره ها:
blog.imbob.ir/courses

آدرس بات
@Dotnetfunbot
Forwarded from Learning With M
باز هم از این دست خبرا که برای یک سری ها ترسناکه و برای یک سری ها جذابه.
اونایی که دارن خودشون رو اداپت می کنن خوشحالن.
اونایی که هنوز دارن مثل 5 سال پیش مهندسی می کنن ترسیدن.

پ.ن : عزیزانی که کرسر و کدکس و chatgpt و ... رو فقط استفاده می کنند و فکر می کنن در امان هستند، بدانند که در دسته سومی هستند که توهم اداپت شدن رو دران و از همه اوضاعشون خراب تره.
دیگه DDD و Clean Architecture به تاریخ پیوستند
در درجه اول باید کدی بنویسید که AI با هزینه کمتر و راحتتر بفهمه . هرچه بیشتر پیچیدگی اضافه کنید هزینه ها بالاتر میره.
در مورد اینکه چجوری کد بزنیم و داکیومنتش کنیم که بعدا AI توهم نزنه هم حتما نگاهی به OpenSpec داشته باشید
Forwarded from Code With HSN
روایت شبی که ماه کامل شد 🌝
امروز می‌خوام باهاتون درباره یک حقیقت تلخ… یا شاید شیرین حرف بزنم.

من حدود ۳–۴ ماهه که تقریباً تمام تسک‌هام رو با Vibe Coding جلو می‌برم؛
به زبان ساده‌تر: تو این مدت حتی یک خط کد دستی هم ننوشتم.

و راستش بخوام صادق باشم، برای دوستانی که هنوز کاملاً سنتی کد می‌زنن یا فکر می‌کنن «AI هنوز خیلی چیزها رو نمی‌فهمه»، واقعاً نگرانم چون از نظر من امسال سال تعدیل اونهایی هست که سنتی کد می‌زنن، چون ندانستن علم اینکه چطوری یک چیز رو به AI یاد بدن رو دارن به پای نفهمی AI میزنن.
تعدیل خواهیم شد نه چون‌که ما ضعیف هستیم، اتفاقاً شاید خیلی هم حرفه‌ای باشیم، بلکه چون AI ارزون‌تره، سریع‌تره، کمتر توقع داره و کمتر هم غر می‌زنه ممکنه تعدیل بشیم!!.

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

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

ولی من یه نگاه دیگه دارم:
اگر واقعاً بفهمیم AI بزرگ‌ترین ابزار کنارمونه، برای وصل شدن بهش راه پیدا می‌کنیم
فهمیدن یعنی زیستن من (شما) با AI هست بدون اون نمیتونم زندگی کنم مثل نبودن آب!! اگر آب نباشه چیکار می‌کنید؟
برای من نبود AI هم همین بود؛ پس نداشتن اینترنت تقریباً مساوی بود با نداشتن کار پس من باید اینترنت می‌داشتم، تاکید می‌کنم باید.

همین باعث شد توی روزهای قطعی هم، با روش‌هایی که خیلی‌هاش پابلیک بود، با AI کار کردم و خروجی گرفتم.
این خروجی اتفاقا بزرگ ترین خروجی من بود 🤯.

ما توی اپ اکالا Performance Issue خیلی بزرگ داشتیم یعنی اپ غیر قابل استفاده بود حتی روی گوشی هایی که منابع بالایی داشتند! بسیار کند و پر از لگ!!.
تیممون هم تیم ضعیفی نبود؛ تقریبا همه یه ایده هایی داشتند که مشکل از کجاست اگه وقت می‌زاشتن مشکلات رو احتمال زیاد پیدا می‌کردند،
ولی اسکوپ کار اون‌قدر بزرگ بود که بیزینس عملاً نمی‌تونست تعداد زیادی نیروی سنیور رو چند ماه فقط روی همون بذاره.
از اون طرف هم بیزینس با این مقیاس، نمی‌تونه Feature Freeze کنه یعنی ما هی ممکن بود یه ریفکتور بزرگ انجام بدیم خب روزانه پابلیش هم داشتیم و نصف زمان رو باید هی کانفلیکت رفع می‌کردیم تازه اگر خراب کاری نکنیم!.

حالا تصور کنید ۵ نیروی سنیور، هر کدوم با حقوق ماهانه n میلیون تومان می‌شه 5n میلیون تومان،
اون هم برای کاری که استیمیتش ۲ تا ۳ ماه بود و معلوم نبود قطعاً جواب بده یا نه.

اینجا بود که من دانش مهندسی نرم‌افزار رو با AI و تجربه تیم فرانت ترکیب کردم…
و فقط تو ۱۲ ساعت پرفورمنس رو زیر و رو کردیم.
یادم نمی‌ره ۵ صبح به بچها پیام دادم: «امشب کولاک کردم!»
نسخه اولیه حدود ۲۵۰ فایل کلیدی رو تغییر داده بود و در نهایت با 350 تا چنج بردیمش بالا.
با EM و VP و مدیران ارشد تست کردیم، همه واقعاً شگفت‌زده بودیم.
هرکسی نتیجه رو می‌دید، می‌گفت: «با اپ دقیقاً چی کار کردید؟!»

کاری که شاید نزدیک ۱ میلیارد تومان هزینه برمی‌داشت،
با ترکیب من و فقط ۴۰ دلار اشتراک Copilot Pro حل شد.

دنیا عوض شده رفقا.
به‌نظرم وقتشه کت «Front-end Developer» یا «Back-end Developer» یا هر عنوان محدود دیگه‌ای رو کنار بذاریم و کت «مهندس نرم‌افزار» رو بپوشیم یاد بگیرین مهندس نرم افزار باشید نه کد نویس.
چون در نهایت، کسی می‌مونه که بتونه مسئله حل کنه، با هر ابزاری که ارزون تره و دقت بالاتری داره.

شاید نظرم نامحبوب باشه، ولی فکر می‌کنم خیلی از نقش‌ها در شکل فعلی‌شون دیر یا زود حذف می‌شن.
من از AI با یک پرامپت که اولش می‌نوشتم "به عنوان یک QA ..." به عنوان یک "پروداکت منیجر ..." به عنوان یک "سنیور فرانت اند دولوپر ..."
هر خروجی می‌خوام رو میتونم بگیرم پس من همه ام؟ 🤷🏻‍♂️

جالبه بدونید من تو این ۳ ماه حتی یک ریال هم برای Copilot ندادم
و نسخه اولیه رو با Copilot for Student بالا آوردم در حالی که دانشجو هم نبودم! بله چون زیستن من با AI هست من هر راهی رو پیدا می‌کنم.

من واقعاً مشتاقم توی این مسیر کنارتون باشم و مشاوره بدم.
هدف این کانال از روز اول این بوده:
کمک کنم «سنیور واقعی» بشید.
توی توضیحات کانالم هست.

و به‌نظرم این هم بخشی از مسیر سنیوریتیه. و به زودی عوض می‌کنم به "کمک می‌کنم مهندس نرم افزار باشید"

پیروز و سلامت باشید ❤️
حسن عرب‌برزو
۶ ماه دیگه حال اونایی که سنگ DDD و کلین رو به سینه میزنن دیدن داره...

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

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