یادداشت های یه برنامه نویس
280 subscribers
39 photos
3 videos
3 files
80 links
این کانال برای در میان گذاشتن یادداشت ها و تجربیات جالب در مورد برنامه نویسی هست امیدوارم دوست داشته باشین.

@one_programmer

https://t.me/one_programmer

ادمین @EngMohsen

Linkedin:https://www.linkedin.com/in/mohsen-rajabi72
Download Telegram
@one_programmer

#معرفی_کتاب
امروز میخام کتاب The Clean Coder رو بهتون معرفی کنم، نویسنده این کتاب آقای Robert Cecil Martin معروف به عمو باب است، این کتاب در مورد منطق و آموزه های رفتاری یه برنامه نویس حرفه ایی هست.
توصیه میکنم حتما بخونید، سر فصل های خیلی خوبی داره مثل، بله گفتن، نه گفتن و...

@one_programmer
@one_programmer

🔴 راهنمای اسکرام نسخه 2017 رسما معرفی شد

امروز 7 نوامبر- 16 آبان به طور رسمی از نسخه 2017 راهنمای اسکرام رونمایی شد. در این نسخه بخش های جدید و اصلاحاتی در این راهنما انجام شده است.

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

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

http://www.scrumguides.org/download.html

@one_programmer
2017-Scrum-Guide-Persian.pdf
1.3 MB
دانلود نسخه فارسی - راهنمای اسکرام 2017

@one_programmer
@one_programmer
هفت‌ ویدئو که هر برنامه‌نویسی بهتره ببیینه☺️

1️⃣ ویدئوهای برنامه‌نویسی یوتیوب بدون فیلترشکن با دیدئو
https://m.dideo.ir/7Or

2️⃣ اگر به شغل‌های کامپیوتری علاقه داری و می‌خوای بدونی که کدومشون بیشترین تقاضا، بالاترین حقوق و بهترین فرصت‌ها رو دارن، این کلیپ رو ببین و علاقه‌ت رو تو دنیای کامپیوتر پیدا کن
https://m.dideo.ir/KZe

3️⃣ دانش پایه کامپیوتری‌تون رو با این ویدئو محک بزنین
https://m.dideo.ir/ZZZ

4️⃣ پول‌سازترین زبان‌های برنامه‌نویسی سال و کاربردشون

https://m.dideo.ir/XZk

5️⃣ چجوری یک برنامه‌نویس front end بشم؟

https://m.dideo.ir/o6n

6️⃣ چجوری یک برنامه‌نویس back end بشم؟

https://m.dideo.ir/Bbw

7️⃣ محیّرالعقول‌جات روبی و جاوااسکریپت

https://m.dideo.ir/DZv


منبع:
@dideoblog

@one_programmer
@one_programmer
تصویری طنزآمیز از چرخه تولید نرم‌افزار. واقعیتی از مشکلات ناشی از برآورد غلط و مدیریت ضعیف پروژه های نرم افزاری.

@one_programmer
@one_programmer

✔️می‌خوای به یکی کمک کنی؟ خفه شو و گوش بده!

این تیتر سخنرانی تد ارنستو سارولی است که قبلا آن را در کانال منتشر کرده بودیم و دیدیم به درد این روزها هم می‌خورد.
سارولی داستان روزهایی را تعریف می‌کند که برای کمک به اهالی زامبیا راهی منطقه شدند. با خودشان بهترین بذرها را بردند. آموزش دادند و مردم محلی را برای کار استخدام کردند. گرچه از بی‌میلی مردم محلی تعجب کرده بودند که چرا در چنین دره حاصل‌خیزی، کشاورزی نمی‌کنند. اما به جای پرسیدن اینکه چرا چیزی کشت نمی‌کنند، گفتند "خدا رو شکر ما اینجائیم تا مردم زامبیا رو درست به موقع از گرسنگی نجات بدیم". بعد درست وقتی گوجه‌ها رسیدند اسب‌های آبی از رودخانه بیرون آمده و تمام گوجه‌ها را خوردند.
وقتی آنها تعجب‌شان را از حمله 200 اسب آبی بیان کردند، محلی‌ها گفتند برای همین است که آنجا کشاورزی نمی‌کنند. و وقتی که پرسیدند چرا به ما نگفتید، پاسخ دادند "چون هیچ وقت از ما نپرسیدید."

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

ما در دستادست معتقدیم هیچ‌کس بیشتر از زنان همکار ما به مشکلات‌شان آگاهی ندارد و تنها کاری که ما می‌توانیم بکنیم کمک به حل این مشکلات به بهترین شکل ممکن است.

لینک پست مربوط به سخنرانی:
https://t.me/one_programmer/131

@one_programmer
@one_programmer

اعتماد یا بی اعتمادی؟

پاسخ این سوال را می توانید با استفاده از "نظریه بازی ها" ببینید. نظریه بازی می‌تواند روشن کند که چرا بی‌اعتمادی همه گیر شده است و ما چطور می‌توانیم برای آن چاره‌ای پیدا کنیم.
بازی کوتاه "تکامل اعتماد" بر اساس نظریه بازی ها که توسط دکتر حامد سیدعلایی از پژوهشکده علوم شناختی IPM ترجمه شده است.

https://hamed.github.io/trust/

@one_programmer
تلگرام رو خدا آزاد کرد :)
@one_programmer

پیغام های مزخرف "نام کاربری یا رمز عبور اشتباه هست"
یکی از best practice هایی که همیشه رعایت میشه ، زمانی هست که کاربر login میکنه . اگه رمز عبور یا نام کاربری اشتباه زده بشه ، پیغام "نام کاربری یا رمز عبور اشتباه هست" داده میشود ، اینکار برای این است که هکر ها متوجه اشتباه بودن نام کاربری نشوند.
این مقاله به این موضوع اشاره میکنه که اینکار مزخرف است !

“username or password incorrect” is bullshit

https://hackernoon.com/username-or-password-is-incorrect-is-bullshit-89985ca2be48

@one_programmer
Forwarded from Software Philosophy
مقایسه ایران با مایکروسافت ۱۰ سال پیش! تلگرام را فیلتر کنیم؟

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

مشکل ما با بستری است که مردم در آن با یک #تکرار_می‌کنم رئیس جمهورشان را انتخاب کرده‌اند. مشکل اصلی ما این است که اگر مردم بتوانند در یک شبکه باز صحبت کنند چه کنیم؟ اگر در گروه‌ها یا کانال‌هایی عضو شوند که ما دوست نداریم چه کنیم؟ مشکل ما با طرز فکر مردم است که نمی‌توانیم آن را تحمل کنیم، پس ترجیح می‌دهیم آن را نبینیم! با فیلتر کردن هم این طرز فکر عوض نمی‌شود فقط تا مدتی دیده نمی‌شود.

از این لحاظ رویکرد ما خیلی شبیه مایکروسافت ۱۰ سال پیش است. مایکروسافتی که با دنیای open-source مخالف بود و سعی در نادیده گرفتن آن داشت تا جایی که به مرز حذف از بازار برنامه‌نویسی رسید. ولی آنها فهمیدند، خود را تغییر دادند، اوپن‌سورس بودن را درک کردند. به جای مقابله با آن شروع به استفاده از مزایای آن کردند و اکنون فعال‌ترین open-souce community در github هستند. و آرام آرام در حال بازگشت به بازار.

اگر تلگرام را تهدید می‌بینیم، به خاطر این است که «باز بودن« یا «open-source بودن» را تهدید می‌بینیم و باید به حال آن فکری کنیم. با فیلتر کردن ابزار، این طرز فکر از بین نمی‌رود، فقط تبدیل به حالت جنگجویانه‌ترش می‌شود و فیلتر کننده را از بین می‌برد.

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

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

نکته بعدی تکنولوژی blockchain است. قبل از آنکه باز هم دیر شود باید از الان روی آن کار کنیم. به جای اینکه از آن بترسیم باید آن را یاد بگیریم و از آن استفاده کنیم. من از آقای کورنگی، مدیرعامل MAPS متشکرم که سال پیش من را با این مفهوم آشنا کردند و باعث شدند مطالعاتی را در این زمینه شروع کنم. معتقدم باید از قدرت آینده‌بینی و آینده‌نگاری افرادی مثل ایشان نهایت استفاده را ببریم.

http://mehrandvd.me

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:

http://ow.ly/wJ6i30jn1B4

#مهران_داودی (http://ow.ly/GwIl309lFEm)

کانال تلگرام:
@SoftwarePhilosophy


___
@one_programmer

این Regex.CacheSize لعنتی !!
مدت ها بود که میدیدم میکرو سرویس هامون بعضی مواقع دان میشن و کلا جواب نمیدن...
کلی لاگ گذاشته بودیم و مانیتور میکردیم اما باز هم این اتفاق می افتاد. بعد از کلی بررسی و وقتی که شخصا روی این موضوع گذاشتم به این نکته رسیدم. شما وقتی از Regex استفاده میکنید، به این صورت Regex.x . متد x میتونه هر متدی باشه، اگر به صورت option بیایید Compiled رو بدید ممکنه دچار اشتباه وحشتناکی بشید !!!
مشکل جایی شروع میشه که Regex.x میاد پترنی که شما بهش میدید رو کش میکنه و سایز کش اون برابر ۱۵ هست !!!
اگر تعداد پترن های regex های شما بیشتر از ۱۵ باشه با کندی شدیدی رو به رو میشید. کندی که ریسورس سخت افزاری زیادی نمیگیره اما برنامه تون دیگه به درخواست ها جواب نمیده.
راحل: افزایش سایز cache
Regex.cacheSize= 100;

مقاله ماکروسافت در مورد best practice های Regex

https://docs.microsoft.com/en-us/dotnet/standard/base-types/best-practices

@one_programmer
@one_programmer

بررسی بهبود ها و بنچمارک های Net Core 5. که قرار به زودی منتشر بشه. فقط این نسخه LTS نیست و پشتیبانی کوتاهی داره. مقاله زیر بهبود های عالی از این نسخه به نمایش گذاشته.

https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/

@one_programmer
@one_programmer

Asp Core .NET 5 Preview 8
منتشر شد.
تغییرات خیلی خوبی داشته. همراه با اون ٍEf Core .Net 5 Preview 8 هم منتشر شده. در پست های بعدی لیست تغییرات رو بررسی میکنیم.
-Azure Active Directory authentication with
Microsoft.Identity.Web
-CSS isolation for Blazor components
-Lazy loading in Blazor WebAssembly
-Updated Blazor WebAssembly globalization support
-New InputRadio Blazor component
-Set UI focus in Blazor apps
-Influencing the HTML head in Blazor apps
-IAsyncDisposable for Blazor components
-Control Blazor component instantiation
-Protected browser storage
-Model binding and validation with C# 9 record types
-Improvements to DynamicRouteValueTransformer
-Auto refresh with dotnet watch
-Console Logger Formatter
-JSON Console Logger

https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-8/

https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-ef-core-5-0-preview-8/

https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-8/

@one_programmer
@one_programmer

توی net core. 3 ماکروسافت از قابلیتی پرده برداشت که Trimming یا assembly linker نام داشت. این قابلیت می اومد خروجی نهایی پروژتون رو با حذف کتابخانه هایی که استفاده نمیکردید به صورت خوبی کاهش میداد. حالا ماکروسافت پاش رو فراتر گذاشته و توی core 5 اومده این قابلیت رو خیلی بهبود داده. طبق مقاله ایی که توی بلاگ ماکروسافت هست و تست گرفتن،برنامه به حدود ۱۰ مگابایت رسیده !

https://devblogs.microsoft.com/dotnet/app-trimming-in-net-5/

@one_programmer