.NET | دات نت
351 subscribers
125 photos
8 videos
26 files
184 links
دنیای شگفت انگیز و جذاب دات نت رو زیر ذره‌بین می‌بریم و تجربه ها رو به اشتراک میذاریم

به جمع توسعه دهندگان دات نت خوش اومدی 🥰❤️


گروه: https://t.iss.one/dndevelopchat
Download Telegram
ساخت استارتاپ، خروج موفق و شروع سرمایه گذاری - پارسا غفاری

#ویدئو_کدنویس
🔗 YouTube
👍4
تجارت تجارت تجارت است. و من همیشه به دنبال آنم.

سیلوستر استالونه
4🔥2
تفاوت datetime و datetime2 در SQL Server

اگر هنوز در پروژه های جدید از datetime استفاده میکنی، این پست رو از دست نده 👇

در SQL Server دو نوع داده ی پرکاربرد برای تاریخ و زمان داریم:
datetime و datetime2
اما این دو اصلاً معادل هم نیستند

دقت (Precision)
- نوع datetime دقت حدود 3.33 میلی ثانیه دارد و زمان ها گرد میشوند
- نوع datetime2 دقت تا 100 نانوثانیه و کاملاً دقیق

📌 برای لاگ ها، پرداخت ها، رویدادها و سیستم های حساس، این تفاوت حیاتی است

📆 بازهی تاریخ

- نوع datetime از سال 1753
- نوع datetime2 از سال 0001

اگر با داده های تاریخی، مهاجرت داده یا محاسبات خاص سر و کار دارید، datetime2 امن تر است

💾 حجم ذخیره‌سازی

- نوع datetime همیشه 8 بایت
- نوع datetime2 بین 6 تا 8 بایت (بسته به دقت)

➡️ یعنی حتی ممکن است کم حجم تر هم باشد

📐 استاندارد و آینده نگری

- نوع datetime یک نوع قدیمی و غیر استاندارد است
- نوع datetime2 مطابق ISO 8601 طراحی شده

مایکروسافت برای پروژه های جدید استفاده از datetime2 را توصیه میکند

⚙️ سازگاری با .NET و EF Core

در EF Core به صورت پیشفرض DateTime را به datetime2 نگاشت میکند.

استفاده از datetime میتواند باعث:
- خطاهای مقایسه
- مشکلات Sort
- لاگ های نادقیق شود

🧠 جمع‌بندی
اگر در حال طراحی دیتابیس جدید هستی:
نوع datetime2(7) انتخاب استاندارد، دقیق و حرفه ای است
نوع datetime فقط برای پروژه های قدیمی قابل توجه است، نه سیستم های مدرن

🔗 LinkedIn
👍8👏3
اگر کسب و کار دارید، تا دیر نشده ( البته کمی شده ) ، 20 مورد زیر را هزار بار چک کنید


1- اگر روی وب نیستید، دیگر حتی جای جبران مافات هم نیست ، جمعش کنید
2- اگر روی وب هستید و Responsive و Mobile Support نیستید ، سریعا فکری بکنید
3- اگر تم دارک ندارید، سریعا فکری بکنید
4- اگر Chat bot ندارید ، سریعا فکری بکنید
5- اگر کسب و کار شما در صفحات مجازی هویت درست و حسابی ندارد، به نظرم جمع کنید ، ولی خوب شاااااید هنوز امیدی باشد ، زودتر اقدام کنید
6- اگر بخش رضایت مشتریان و امکان ایجاد رضایت مندی کامل برای مشتری ندارید، سریعا فکری بکنید
7- اگر CRM ندارید، جمع کنید بروید خانه
8- اگر در واتزآپ و اینطور آشغالها کسب و کار میکنید، جمع کنید
9- اگر کالا می فروشید و سیستم انبار ندارید، جمع کنید بروید
10 - اگر نمی توانید به شکلی اداره کنید که پرسنل بتوانند خارج از دفتر کار هم ساپورت و فروش انجام بدهند ، جمع کنید اصلا خانه هم نروید ، شما کلا از دست رفته اید
11- اگر با زدن یک دکمه نمی توانید سابقه و تحرکات یک مشتری را ببینید، یا با رفتن یک پرسنل ، امکان Assign کردن هر چه تا الان انجام داده به دیگری به صورت سیستمی ندارید، جمع کنید، شما شانسی زنده هستید
12- اگر رسید و دیگر اسناد را برای مشتری به صورت اتوماتیک ایمیل نمی کنید، شما شانسی شانسی هنوز در بازار حضور دارید
13- اگر با زدن یک دکمه مشخص نمی شود بابت ارائه یک سرویس یا فروش یک محصول چقدر هزینه شده و چقدر سود کرده اید ، شما کلا شانسی هستید
14- اگر هنوز AI وارد سیستم کاری شما نشده است، زودتر فکری بکنید
15 - اگر هنوز نمی دانید چطوری پرسنل را با AI جایگزین کنید ( لازم نیست انجامش بدهید ، فقط بهش فکر شده باشد ) ، شما مشخص نیست بکجا خواهید رفت
16- اگر سرعت انجام عملیاتهای داخلی خود را با رقبا Benchmark نکرده اید ، در سال 2026 هزینه ها برای شما عجیب خواهد شد
17- اگر برند و لوگو و رنگ مشخصی ندارید ، به زودی فراموش خواهید شد
18- اگر سرعت بخشهای مرتبط با IT در سیستم کاری و کسب و کار شما کند و قدیمی است ، مشتری معطل شما نخواهد ماند ، میره TAB بعدی را باز میکند و به سراغ دیگران می رود
19- قیمت سرویسهای شما تا وقتی خیلی برای مشتری دردآور نشود، زیاد برای آنها مهم نیست ، کار خوب تحویل بدهید، پول زیادتر هم بگیرید، مهم نیست
20 - پرسنل راضی نباشند، مشتری هم راضی نخواهد بود


🔗 LinkedIn
7👏2
بیشتر مهندسان نرم‌افزار فکر می‌کنند کدنویسی با هوش مصنوعی آن‌ها را سریع‌تر می‌کند.
اما اشتباه می‌کنند…


کدنویسی با هوش مصنوعی (AI) میزان خروجی را افزایش می‌دهد،اما هم‌زمان تعداد مشکلات را هم بیشتر می‌کند…
بر اساس گزارش CodeRabbit ،
ء Pull Requestهایی که با کمک هوش مصنوعی نوشته شده‌اند، ۱.۷ برابر بیشتر از Pull Requestهای کاملاً انسانی مشکل ایجاد کرده‌اند.
با این حال، کد تولیدشده توسط هوش مصنوعی معمولاً در نگاه اول درست به نظر می‌رسد.
چرا؟
دلیلش این است که هوش مصنوعی برای درستی سطحی کد بهینه‌سازی می‌کند، نه برای درک عمیق از کانتکست پروژه.
به همین خاطر، کدنویسی با AI نه «خوب» است و نه «بد».
بلکه الگوها را تقویت (Amplify) می‌کند — حتی الگوهای اشتباه را.
طبق گزارش CodeRabbit، مهندسان هنگام استفاده از کدنویسی با AI باید روی این موارد تمرکز کنند:
1️⃣ منطق و درستی (Logic & Correctness)
↳ مشکلات منطقی و درستی کد در PRهای مشترک با AI ۷۵٪ بیشتر بوده است.
↳ خطاهای الگوریتمی و منطق کسب‌وکار ۲.۲۵ برابر بیشتر دیده شده‌اند.
↳ ضعف در مدیریت خطا و exceptionها ۲ برابر افزایش داشته است.
↳ ریسک Null Pointer، تنظیمات اشتباه، ترتیب نادرست وابستگی‌ها و خطاهای concurrency همگی افزایش قابل توجهی داشته‌اند.
2️⃣ کیفیت کد و قابلیت نگهداری (Code Quality & Maintainability)
↳ مشکلات خوانایی کد در PRهای AI محور بیش از ۳ برابر بوده است.
↳ ایرادات فرمت‌بندی ۲.۶۶ برابر بیشتر ظاهر شده‌اند.
↳ ناهماهنگی در نام‌گذاری تقریباً ۲ برابر افزایش داشته است.
↳ وجود کدهای بلااستفاده یا تکراری نیز بیشتر شده است.
این مشکلات معمولاً بلافاصله باعث خرابی در محیط production نمی‌شوند،
اما فرآیند review را کند می‌کنند و بدهی فنی را افزایش می‌دهند.
3️⃣ ریسک‌های امنیتی (Security Risks)
↳ یافته‌های امنیتی به‌طور کلی در PRهای AI محور حدود ۱.۵ برابر بیشتر بوده‌اند.
↳ مدیریت نادرست رمز عبور ۲ برابر بیشتر مشاهده شده است.
↳ ارجاعات ناامن، ریسک‌های injection و deserialization ناامن نیز افزایش یافته‌اند.
هیچ‌کدام از این آسیب‌پذیری‌ها جدید نیستند؛
اما با کمک AI بیشتر تکرار می‌شوند.
4️⃣ ناکارآمدی‌های عملکردی (Performance Inefficiencies)
↳ مشکلات مرتبط با performance به‌طور کلی کم بوده‌اند.
↳ اما عملیات I/O بیش از حد، در PRهای نوشته‌شده با AI ۸ برابر بیشتر بوده است.
این موضوع نشان می‌دهد که AI، اگر هدایت نشود، شفافیت کد را به کارایی ترجیح می‌دهد.
5️⃣ حجم کار Review و پراکندگی مشکلات
↳ در صدک ۹۰ام، PRهای AI محور ۲ برابر بیشتر از PRهای انسانی مشکل داشته‌اند.
↳ این موضوع باعث reviewهای شلوغ، کند شدن pipeline و افزایش ریسک defect می‌شود.
🚀 پس چطور می‌توان با خیال راحت مقیاس‌پذیر از AI در کدنویسی استفاده کرد؟
با حذف reviewها نه…
بلکه با قوی‌تر کردن آن‌ها:
↳ ارائه‌ی کانتکست و محدودیت‌های پروژه از همان ابتدا
↳ اعمال فرمت‌بندی، نام‌گذاری و ساختار کد با سیاست‌های CI
↳ اضافه‌کردن گاردهای ایمن برای error handling، nullability و control flow
↳ تعریف پیش‌فرض‌های امنیتی به‌صورت کدنویسی‌شده، نه تکیه بر پیشنهاد AI
↳ استفاده از code reviewهای آگاه به AI برای شناسایی خطاهای مخصوص کد تولیدشده توسط AI

تیم‌هایی که بیشترین سود را از هوش مصنوعی می‌برند،
آن‌هایی نیستند که کد بیشتری می‌نویسند؛
بلکه تیم‌هایی هستند که مشکلات درست را زودتر شناسایی می‌کنند.

🔗 LinkedIn
👍4👏21🔥1
معماران دنیای دیجیتال: ۲۰ نابغه‌ای که کدنویسی و زندگی ما را برای همیشه تغییر دادند

(قسمت اول: پیشگامان و خالقان زبان‌ها)
اگر امروز می‌توانیم با چند خط کد، دنیایی را خلق کنیم، روی شانه غول‌هایی ایستاده‌ایم که دهه‌ها پیش، غیرممکن‌ها را ممکن کردند.
این سری پست‌ها، ادای احترامیست به ۲۰ نفر از اثرگذارترین ذهن‌های تاریخ علوم کامپیوتر.
در قسمت اول، سراغ ۵ نفری می‌رویم که الفبای ما را ساختند:
۱. دنیس ریچی (Dennis Ritchie) - پدر C و یونیکس
بدون او، احتمالاً دنیای مدرن وجود نداشت! خالق زبان C (پایه اکثر زبان‌های مدرن مثل C++, Java, CSharp) و سیستم‌عامل یونیکس. او به ما یاد داد که سادگی، نهایتِ پیچیدگی است.

۲. گریس هاپر (Grace Hopper) - مادر کامپایلرها
بانوی اول نرم‌افزار که اولین "باگ" واقعی کامپیوتری را ثبت کرد! او اولین کامپایلر دنیا را ساخت و زبان COBOL را توسعه داد. او بود که به کامپیوترها یاد داد زبان انسان (انگلیسی) را بفهمند، نه فقط صفر و یک.

۳. کن تامپسون (Ken Thompson) - خالق B و یونیکس
همکار افسانه‌ای دنیس ریچی. او علاوه بر یونیکس و زبان B، بعدها در گوگل یکی از خالقان زبان Go شد. مردی که رد پایش در همه جا، از سیستم‌عامل‌ها تا زبان‌های مدرن دیده می‌شود.

۴. بیارنه استروستروپ (Bjarne Stroustrup) - خالق C++
کسی که قدرت C را گرفت و به آن "کلاس" داد! او با خلق C++، پایه‌های برنامه‌نویسی شی‌گرا (OOP) را در مقیاس صنعتی محکم کرد. هنوز هم موتورهای بازی‌سازی و سیستم‌های پرفورمنس بالا مدیون او هستند.

۵. جیمز گاسلینگ (James Gosling) - پدر Java
شعارش این بود: "یک بار بنویس، همه جا اجرا کن." او با معماری جاوا و ماشین مجازی (JVM)، رویای پرتابلیت (Portability) واقعی نرم‌افزار را محقق کرد و دنیای وب و اینترپرایز را تسخیر کرد.

در قسمت‌های بعدی:
سراغ خالقان وب، لینوکس و غول‌های دنیای مدرن خواهیم رفت.
به نظر شما جای چه کسی در این لیست ۲۰ نفره قطعاً باید باشد؟ حدس بزنید!
🔥4👍1🥰1
معماران دنیای دیجیتال: ۲۰ نابغه‌ای که کدنویسی را برای همیشه تغییر دادند

(قسمت دوم: خالقان وب و انقلابیون متن‌باز)
در قسمت قبل، با کسانی آشنا شدیم که زبان کامپیوترها را ساختند.
اما در این قسمت، سراغ ۵ نابغه‌ای می‌رویم که به کامپیوترها یاد دادند چطور با هم حرف بزنند و چطور دانش باید برای همه آزاد باشد.
بدون این ۵ نفر، نه اینترنتی بود، نه گیت‌هابی، و نه لینوکسی!

۶. تیم برنرز-لی (Tim Berners-Lee) - خالق وب WWW
مردی که می‌توانست میلیاردر شود، اما هدیه‌اش را رایگان به دنیا داد. او پروتکل HTTP، زبان HTML و اولین مرورگر وب را ساخت تا دانش بشری بدون مرز به اشتراک گذاشته شود.

۷. لینوس توروالدز (Linus Torvalds) - خالق لینوکس و Git
شاید تاثیرگذارترین برنامه‌نویس زنده جهان! او فقط یک بار دنیا را تغییر نداد، بلکه دو بار:
۱. با خلق هسته لینوکس که امروز اینترنت و اندروید روی آن اجرا می‌شود.
۲. با خلق Git که نحوه همکاری تمام برنامه‌نویسان جهان را متحول کرد.

۸. ریچارد استالمن (Richard Stallman) - پدر نرم‌افزار آزاد gnu
فیلسوف دنیای کد. او کسی بود که گفت "نرم‌افزار باید مثل آزادی بیان باشد، نه مثل آبجو رایگان." با بنیان‌گذاری جنبش GNU و لایسنس GPL، مفهوم Open Source را متولد کرد تا ما امروز بتوانیم کدها را ببینیم و تغییر دهیم.

۹. برندان آیک (Brendan Eich) - خالق JavaScript
کسی که زبان وب را در ۱۰ روز نوشت! شاید خودش هم فکر نمی‌کرد پروژه‌ای که با عجله ساخت، روزی به محبوب‌ترین زبان برنامه‌نویسی دنیا تبدیل شود و از مرورگرها فراتر برود (Node.js).

۱۰. گویدو ون روسوم (Guido van Rossum) - دیکتاتور مهربان Python
او ثابت کرد که کدنویسی می‌تواند لذت‌بخش باشد. با خلق پایتون، زبانی ساخت که خوانایی را در اولویت قرار داد و امروز از هوش مصنوعی تا اتوماسیون، همه جا رد پای اوست.

در قسمت‌های بعدی:
سراغ غول‌های الگوریتم و پیشگامان مدرن خواهیم رفت.
به نظرتون جای خالی استیو جابز یا بیل گیتس توی این لیست هست یا نه؟ (چون اونا بیشتر بیزنس‌ من بودن تا برنامه‌نویس). نظرتون چیه؟
❤‍🔥1👍1🔥1👨‍💻1
معماران دنیای دیجیتال: ۲۰ نابغه‌ای که کدنویسی را برای همیشه تغییر دادند

(قسمت سوم: خدایان الگوریتم و خالقان هوش مصنوعی)
ما تا اینجا از خالقان C و جاوا و وب گفتیم. اما قبل از اینکه کدی نوشته شود، کسی باید منطق را تعریف می‌کرد.
در این قسمت سراغ ۵ افسانه‌ای می‌رویم که به ماشین‌ها یاد دادند چگونه فکر کنند. کسانی که مرز بین انسان و ماشین را شکستند.

۱۱. آلن تورینگ (Alan Turing) - پدر علم کامپیوتر مدرن
همه چیز با او شروع شد. او نه تنها جنگ جهانی دوم را با شکستن کد انیگما کوتاه کرد، بلکه مدلی را طراحی کرد ماشین تورینگ که هنوز هم اساس کار تمام کامپیوترهای جهان است. او پرسید: "آیا ماشین‌ها می‌توانند فکر کنند؟" و پاسخ ما امروز ChatGPT است!

۱۲. ایدا لاولیس (Ada Lovelace) - نخستین برنامه‌نویس تاریخ
یک قرن قبل از اختراع اولین کامپیوتر، او اولین الگوریتم را نوشت! او دیدگاهی داشت که هیچکس نداشت: "کامپیوترها فقط با اعداد کار نمی‌کنند، آن‌ها می‌توانند موسیقی و هنر خلق کنند." او مادر تمام ما برنامه‌نویس‌هاست.

۱۳. جان مک‌کارتی (John McCarthy) - پدر هوش مصنوعی (AI)
اگر امروز از AI حرف می‌زنیم، مدیون او هستیم. او واژه هوش مصنوعی را ابداع کرد و زبان LISP را ساخت. جالب است بدانید قابلیت Garbage Collection (مدیریت خودکار حافظه) که در زبان‌های مدرن عاشقش هستیم، اختراع اوست!

۱۴. دونالد کانوث (Donald Knuth) - یودایِ دنیای الگوریتم
نویسنده کتاب مقدسِ The Art of Computer Programming. او به ما یاد داد که برنامه‌نویسی فقط کد زدن نیست، بلکه یک هنر است. او کسی است که تحلیل پیچیدگی الگوریتم‌ها (Big O Notation) را وارد دنیای نرم‌افزار کرد.

۱۵. مارگارت همیلتون (Margaret Hamilton) - خالق مهندسی نرم‌افزار
کسی که کدنویسی را از یک تفریح به یک رشته مهندسی تبدیل کرد. کدهای او بود که انسان را روی ماه نشاند (پروژه آپولو ۱۱). او مفهوم نرم‌افزارِ بدون خطا (Fault-Tolerance) را در حساس‌ترین لحظات تاریخ تعریف کرد.

در قسمت آخر (قسمت چهارم):
لیست را با ۵ نفر از غول‌های مدرن و دیتابیس‌ها به پایان می‌رسانیم.
یک سوال چالشی: با توجه به انفجار هوش مصنوعی در سال‌های اخیر، آیا الان "جان مک‌کارتی" مهم‌ترین آدم این لیست نیست؟ نظرتون چیه؟
3👍1
معماران دنیای دیجیتال: ۲۰ نابغه‌ای که کدنویسی را برای همیشه تغییر دادند

(قسمت آخر: غول‌های دیتابیس و معماران عصر مدرن)
این پایان سفر ۲۰ نفره ماست.
در سه قسمت قبل از خالقان زبان‌ها، وب و هوش مصنوعی گفتیم. اما نرم‌افزار بدون داده هیچ است.
در قسمت آخر سراغ ۵ نابغه‌ای می‌رویم که به ما یاد دادند چطور داده‌ها را ذخیره، مدیریت و معماری کنیم.
۱۶. ادگار اف. کاد (Edgar F. Codd) - پدر دیتابیس‌های رابطه‌ای (RDBMS)
اگر امروز می‌توانید SELECT * FROM Users بزنید، مدیون او هستید! او بود که مدل رابطه‌ای (Relational Model) را در IBM اختراع کرد و هرج‌ومرج داده‌ها را به نظم تبدیل کرد. بدون او، SQL وجود نداشت.

۱۷. مایکل استون‌بریکر (Michael Stonebraker) - معمار دیتابیس‌های مدرن
کسی که فقط به یک دیتابیس راضی نشد! او خالق اصلی PostgreSQL و Ingres است. تاثیر او روی تکنولوژی‌های دیتابیس به قدری عمیق است که جایزه تورینگ را برد. او استاندارد دیتابیس‌های متن‌باز و قدرتمند را تعریف کرد.

۱۸. رابرت سی. مارتین (Uncle Bob) - پدر Clean Code
شاید هیچکس به اندازه عمو باب روی کیفیت کدنویسی روزمره ما تاثیر نگذاشته باشد. او با معرفی اصول SOLID و کتاب Clean Code، به نسل‌های مختلف یاد داد که کدنویسی کافی نیست، باید تمیز کد زد.

۱۹. مارتین فاولر (Martin Fowler) - پیامبر معماری نرم‌افزار
اگر از Microservices، Refactoring یا CI/CD حرف می‌زنیم، یعنی داریم با زبان فاولر صحبت می‌کنیم. او کسی است که پیچیده‌ترین مفاهیم معماری سازمانی را ساده‌سازی کرد و نقشه‌ی راهِ توسعه‌دهندگان سنیور را ترسیم کرد.

۲۰. جف دین (Jeff Dean) - مغز متفکر گوگل و کلاود
افسانه‌ای‌ترین مهندس گوگل. کسی که سیستم‌های BigTable، Spanner و MapReduce را ساخت. بدون او، گوگل نمی‌توانست گوگل باشد! او زیرساخت‌هایی را ساخت که امروز به ما اجازه می‌دهد ترابایت‌ها داده را در کسری از ثانیه پردازش کنیم.

پایان لیست ۲۰ نفره!
ما در این ۴ قسمت، سفری از دنیس ریچی تا جف دین داشتیم.
حالا که لیست کامل شد، اگر قرار بود فقط "یک نفر" رو به عنوان بزرگ‌ترین اثرگذار تاریخ انتخاب کنید، رأی شما به کیه؟ (من خودم: دنیس ریچی). شما چطور؟
👍2🆒21
2
۲۰ نابغه‌ای که دنیای ما را ساختند: لیست کامل معماران دنیای دیجیتال

آیا تا به حال فکر کرده‌اید اگر این ۲۰ نفر نبودند، امروز دنیای ما چه شکلی بود؟
احتمالاً نه اینترنتی داشتیم، نه گوشی هوشمندی، و نه هوش مصنوعی‌ای که با آن چت کنیم!

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

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

- دسترسی به تمام قسمت‌ها:

- قسمت اول: پیشگامان و خالقان زبان‌ها
(دنیس ریچی، گریس هاپر، خالقان C++ و جاوا)
🔗 لینک پست اول

- قسمت دوم: خالقان وب و انقلابیون متن‌باز
(تیم برنرز-لی، لینوس توروالدز، خالقان پایتون و جاوا اسکریپت)
🔗 لینک پست دوم

- قسمت سوم: خدایان الگوریتم و خالقان هوش مصنوعی
(آلن تورینگ، ایدا لاولیس، جان مک‌کارتی و مارگارت همیلتون)
🔗 لینک پست سوم

- قسمت چهارم: غول‌های دیتابیس و معماران عصر مدرن
(ادگار کاد، عمو باب، مارتین فاولر و جف دین)
🔗 لینک پست چهارم

چرا شناختن این‌ها مهم است؟
چون برنامه نویس بودن بدون شناختن تاریخچه این رشته، مثل این است که نویسنده باشید اما شکسپیر و حافظ را نشناسید. شناختن ریشه‌ها، دید شما را به آینده باز می‌کند.
3👍1👏1
شکست بخور، کپی کن.
به‌جای اینکه دنبال ویژگی‌های برنامه‌نویس بزرگ باشی، دنبال دو تا کار باش:

1. عمداً سراغ پروژه‌های شکست‌خیز برو.
ارزشِ شکست، خودِ شکست نیست؛ چیزیه که وسطِ دست‌وپا زدن برای کارهای سخت یاد می‌گیری.

2. کپی کن—فعال و بی‌خجالت.
کد خوب بخون منفعلانه‌ست؛ کپی کردن حافظه‌ی عضلانی می‌سازه و جزئیاتی رو یاد می‌ده که با نگاهِ سریع دیده نمی‌شن.

و بهترین حالت؟ یک چرخه‌ی خوب:
می‌ری سراغ چیز سخت → گیر می‌کنی → راه‌حل یکی دیگه رو کپی می‌کنی → و تبریک: حالا واقعاً می‌فهمی.

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

— پاتریک کولیسون
👍9🔥32👎1
ترجمه فارسی کتاب The Clean Coder

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

https://github.com/hheydarian/clean-coder-persian

اگر این پروژه براتون مفید بود، خوشحال می‌شم با استار دادن، ازش حمایت کنید.
1❤‍🔥7🔥21
مستندات فنی کجا باید باشن؟ تو ویکی؟ تو یه ابزار جدا؟ یا کنار کد؟

یکی از اشتباه‌های رایج تو تیم‌های فنی اینه که مستندات رو از کد جدا میکنن…
نتیجه؟ «داکیومنتی که بعد از چند ماه دیگه به درد نمیخوره.»

به تجربه من، مستندات فنیای که مستقیم به کد مربوطن، باید کنار خود کد باشن:
- README
- توضیح معماری هر سرویس
- ADRها (تصمیم‌های معماری)
- حتی دیاگرام ها
همه داخل خود ریپو، ورژن میخورن و همراه با تغییرات کد بررسی میشن.
اینجاست که Markdown واقعاً نعمت میشه: ساده و خیلی خواناست، قابل بررسیه و به ابزار خاصی وابسته نیست.برای دیاگرام ها هم میشه از Mermaid استفاده کرد و مستقیم داخل فایل‌های md گذاشتشون.
افزونه‌های خوبی هم برای VS Code ( یا هر IDE دیگه ) هست که متن و دیاگرام رو تو IDE نشون میدن، یعنی مستندات دقیقاً کنار کدن، نه جدا ازش.

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

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

مستند خوب اونیه که:
«با کد تغییر میکنه، نه بعد از کد.»

🔗 LinkedIn
👍31🆒1
درود دوستان عزیز ❤️🙂
انشاءالله که همیشه سلامت و شاد باشید.
به امید روزهای بهتر
7
#استخدام
استخدام Backend .NET Developer در ایران‌خودرو

📍 محل کار: تهران -جاده مخصوص
🕰 نوع همکاری: تمام‌وقت (حضوری)

🔹 مهارت‌های مورد نیاز:
تسلط به Git
تسلط به hashtag#C
تجربه کار با EF
حداقل ۳ سال کار مرتبط
تسلط به Asp .Net Core
تجربه در طراحی و پیاده‌سازی API
تجربه کار به پایگاه‌داده SQL Server
آشنایی به Design Patternها و Software Architecture

موارد زیر مزیت محسوب می‌شوند:
آشنایی با React.js
آشنایی با Api Gateway
آشنایی با Microservices
آشنایی با ابزارهای Logging
آشنایی با Docker و مفاهیم DevOps
تجربه کار در طراحی پروژه‌های زیرساختی و معماری‌محور

اگر به این موقعیت علاقه‌مند هستید رزومه خودتون رو با عنوان Backend .NET Developer به آدرس زیر ارسال کنید:
[email protected]
👍42
شاید Substring داره نرم‌افزارت رو کند می‌کنه و خبر نداری!

همیشه فکر می‌کردم وقتی می‌نویسم
text.Substring(0, 5)
دارم یه تیکه از متن رو می‌خونم. اما تازه فهمیدم پشت پرده چه خبره!
مشکل اینجاست که Substring نمیره اون تیکه رو بخونه؛ بلکه میره یه فضای جدید تو حافظه RAM می‌گیره و کاراکترها رو اونجا کپی می‌کنه. برای یه متن کوتاه شاید مهم نباشه، اما تو مقیاس بالا یعنی فشار الکی به Garbage Collector و کندی سیستم.

راه‌حل چیه؟ Span<T>
امروز توی مسیر یادگیریم با Span آشنا شدم که بازیش کلاً فرق داره.
اگه بخوام ساده بگم:
ء Substring: مثل اینه که از یه صفحه کتاب فتوکپی بگیری تا فقط پاراگراف اولش رو بخونی. هزینه کاغذ و جوهر
ء Span: مثل اینه که با انگشتت به پاراگراف اول توی همون کتاب اصلی اشاره کنی. هزینه صفر!
با استفاده از AsSpan، تخصیص حافظه (Allocation) به صفر می‌رسه و سرعت پردازش چندین برابر میشه.

پ.ن: برنامه‌نویسی فقط کد زدن نیست؛ درکِ رفتارِ کد با سخت‌افزار شما چقدر تو پروژه‌هاتون درگیر بهینه‌سازی حافظه می‌شید؟ تا حالا از Span استفاده کردید؟
👍71
متاسفانه موج شدیدی از تعدیل نیرو در شرکت ها در راهه
لطفاً آگهی هایی که میذارم رو به اشتراک بذارین تا دیده بشن ❤️
14👍2
#استخدام

ما در شرکت سپید سیستم به دنبال یک کارشناس ارشد استقرار و پشتیبانی فنی هستیم که توانایی کار با سیستم‌های مبتنی بر .NET، معماری Microservice و زیرساخت‌های ویندوزی را داشته باشد و بتواند در محیط‌های عملیاتی (Production) به‌صورت مؤثر پشتیبانی ارائه دهد.

مهارت‌ها و الزامات فنی
تسلط کامل به IIS (Deployment، Configuration، Troubleshooting)
آشنایی و تجربه عملی با Microservice Architecture
تسلط به SQL Server
مهارت بالا در T-SQL (Query، Performance Tuning، Debug)
آشنایی مناسب با مفاهیم Network
(TCP/IP، Port، Firewall، Load Balancer، DNS)
تجربه استقرار و پشتیبانی سیستم‌های تحت وب
توانایی عیب‌یابی و حل مشکلات در محیط عملیاتی (Production)
آشنایی با لاگ‌ها، مانیتورینگ و Root Cause Analysis

مزیت محسوب می‌شود
آشنایی با CI/CD
تجربه کار با Docker یا Containerها
آشنایی با مفاهیم Security و Hardening
سابقه کار در پروژه‌های Enterprise یا پرترافیک

ویژگی‌های فردی
مسئولیت‌پذیر و دقیق
توانایی کار تیمی و ارتباط مؤثر با تیم فنی و مشتری
توانایی مدیریت هم‌زمان چند Issue
روحیه یادگیری و حل مسئله

نوع همکاری
تمام‌وقت (در صورت نیاز: امکان شیفت / On-call)

مزایا
حقوق و مزایای رقابتی
محیط کاری فنی و چالشی
امکان رشد و یادگیری
ثبات شغلی


ارسال رزومه [email protected]
👍4