Md Daily – Telegram
Md Daily
724 subscribers
239 photos
15 videos
21 files
283 links
راجب مقالات و مستندات فنی یا غیر فنی که میخونم و علایقم اینجا مینویسم :)


گروه کانال: https://news.1rj.ru/str/MdDailyGap

کورس ها: https://news.1rj.ru/str/MdDaily/395

وبلاگ: https://mddaily.ir
Download Telegram
بعد از این همه مدتی که تقریبا اکثر ما ابزار های هوش مصنوعی شده جزوی از زندگیشون چه کاری یا چه روزمره یا هرچی. طبق چیزی که از استفاده ی افراد و خودم دیدم، تا از قبل تویه چیزی اطلاعات نداشته باشی و best practice ها رو ندونی، هیچ ابزار هوش مصنوعی ای نمیتونه برات معجزه کنه!

من تخصصی توی حوزه های هنری ندارم ولی دوس دارم مثال این پست رو یه مثال خروجی تصویر بزنم تا ملموس تر باشه. این دوتا پرامپت رو دادم به sora و خروجی هاشم که تو عکس های پست میتونید ببینید:

🎨 پرامپت اول (ساده و مبهم):

"یه سیب که یدونه شیرموز دستشه و سوار یه ماشین تو بیابون داره میره"


🎬 پرامپت دوم (با خلاقیت و جزئیات):

"یک سیب بامزه با چهره‌ی انسانی که دستش یک لیوان شیرموز سرد با خامه و نی رنگی گرفته، سوار بر یک ماشین کلاسیک قرمز در حال حرکت در جاده‌ای خاکی وسط بیابان طلایی است. نور خورشید در حال غروب، سایه‌های بلند و رنگ‌های گرم نارنجی و طلایی روی صحنه پخش کرده. گرد و غبار در هوا پخش شده و در پس‌زمینه کوه‌های نرم و آسمانی با ابرهای نازک دیده می‌شود. ترکیب‌بندی از زاویه‌ی پایین (low-angle) گرفته شده تا حس قدرت و ماجراجویی را القا کند. فوکوس روی سیب و ماشین است، پس‌زمینه کمی محو (bokeh) شده. سبک تصویر واقعی (cinematic realism) با رنگ‌های زنده و جزئیات بالا. عمق میدان (depth of field) و نور طبیعی رعایت شود. Ultra detailed, cinematic lighting, golden hour photography, 4K, high contrast, vibrant colors, shallow depth of field."


پ ن:
وی شیرموز خیلی دوس داره 😂

👈 همین نتایج رو شما میتونید توی تمام حوزه ها ببینید، یه برنامه نویسی که best practice ها رو میدونه و با اون تکنولوژی که داره ازش استفاده میکنه اشناس و میدونه کجا باید چی استفاده بشه خروجیه کارش میشه اون پرامپت دومیه و اونی هم که فقط به ابزار میگه خودت هرجوری میدونی بزن ، هر نوع خروجیه غیر قابل پیش بینی ایو میتونه بگیره .

نکتش اینکه من راجب prompt engineering حرف نمیزنم! چون prompt engineering میاد میگه چطوری به ai بگیم چیکار کنه ولی من راجب مرحله ی قبل از اون دارم حرف میزنم و اون چیستیه :) اصلا اول بدونیم دقیقا چی میخوایم، باید چطوری باشه از چه چیز هایی باید استفاده بشه، best practice های اون چیز چیا هستند تا بعد حالا بیایم سراغ اینکه چطوری به ai بگیم چیکار کنه.

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

کتاب بخونیم، تجربه کنیم و از تجربیات بقیه یاد بگیریم و لذت یاد گیری و کنجاویمون رو زنده نگه داریم 🧠

—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
117👍2😁1
#دل_نوشته

وضعیت پروژه و کار ها اینطوری داره پیش میره که مشکلات قبلی حل میشن و مشکلات جدید بوجود میان که بعدا حل بشن.

الان میدونم دیگه چطوری change logs بنویسم :)))))
1🤣73
This media is not supported in your browser
VIEW IN TELEGRAM
تا حالا فکر کردید وقتی تو «اسنپ» یا «گوگل مپس» مبدأ و مقصد رو می‌زنید، چطوری تو یه چشم به هم زدن «بهترین» مسیر رو از بین این همه کوچه و خیابون پیدا می‌کنه؟

یا مثلاً تو یه بازی کامپیوتری، اون هوش مصنوعی (AI) دشمن چطوری انقدر قشنگ شما رو پیدا می‌کنه و کوتاه‌ترین راه رو برای رسیدن بهتون انتخاب می‌کنه؟

اینا همشون دارن یه مسئله‌ی معروف به اسم «پیدا کردن کوتاه‌ترین مسیر» (Shortest Path) رو حل می‌کنن. تو این پست میخوایم بریم سراغ دوتا از غول‌های حل این مسئله: دایکسترا (Dijkstra) و اِی-اِستار (A*).

1️⃣
الگوریتم دایکسترا (Dijkstra): کاوشگرِ وظیفه‌شناس (ولی کور!)

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

چطوری کار می‌کنه؟

✔️ از نقطه‌ی شروع (Source) کارش رو شروع می‌کنه.

✔️ یه «صف اولویت» (Priority Queue) داره. کارش اینه که در هر مرحله، گرهی (node) رو برای بررسی انتخاب می‌کنه که کمترین هزینه (cost) رو از مبدأ داشته باشه.

✔️ این الگوریتم «کور» (Uninformed) ـه. یعنی چی؟ یعنی اصلاً نمی‌دونه مقصد کجاست! 😅

✔️ در نتیجه، جستجوش به صورت «یکنواخت» (مثل Uniform Cost Search) پخش می‌شه. کارش اینه که به صورت سیستماتیک کوتاه‌ترین مسیر از مبدأ به همه‌ی نقاط دیگه رو حساب کنه تا اینکه بالاخره اتفاقی به مقصد ما هم برسه.

نتیجه این روش چیه؟

مزیت: اینه که تضمین می‌کنه کوتاه‌ترین و بهینه‌ترین مسیر رو پیدا می‌کنه (بهش میگن Optimal)، البته به شرطی که وزن منفی (negative weight) تو گراف نداشته باشیم (مثلاً راهی که به جای هزینه داشتن، بهت زمان اضافه کنه!).

عیب: چون «کوره» و نمی‌دونه هدف کجاست، کلی زمان و انرژی صرف بررسی گره‌هایی می‌کنه که اصلاً در جهت مقصد نیستن. (مثلاً می‌خوای از تهران بری شمال، این بنده خدا همزمان مسیرهای به سمت اصفهان رو هم چک می‌کنه، چون شاید یه راه عجیبی از اونجا باشه!).

2️⃣ الگوریتم A* (A-Star): کاوشگرِ هوشمند (و هدفمند)

اِی-اِستار (A*) نسخه‌ی باهوش‌تر و «زرنگ»ترِ دایکستراست. می‌تونیم بگیم A* همون دایکسترای خودمونه، فقط یه «قطب‌نما» یا «GPS» هم دستش گرفته.

چطوری کار می‌کنه؟

✔️ اِی-استار هم مثل دایکسترا، هزینه‌ای که واقعاً تا الان طی کرده (یعنی مسافت واقعی از مبدأ تا گره فعلی) رو حساب می‌کنه. (ریاضیش رو بخوامی بگیم g(n)).

✔️ اما، برگ برنده‌اش اینجاست: اون یه «حدس هوشمندانه» (Heuristic) هم می‌زنه که چقدر فکر می‌کنه تا مقصد مونده. (ریاضیش رو بخوامی بگیم h(n)).

هیوریستیک یعنی چی؟


خیلی ساده‌ست: در مسیریابی، بهترین هیوریستیک همون «فاصله خط صاف» خودمونه. یعنی تو نقشه یه خط صاف از جایی که هستی تا مقصد بکشی.

✔️ پس اِی-استار در هر قدم، میره سراغ گرهی که مجموعِ «هزینه واقعی تا اینجا» + «هزینه تخمینی تا مقصد» (f(n) = g(n) + h(n)) از همه کمتر باشه.

نتیجه این هوشمندی چیه؟


مزیت: چون «آگاه» (Informed) هست و یه «حس جهت‌یابی» داره، جستجوی خودش رو مستقیم می‌بره به سمت هدف. دیگه الکی همه‌جا رو نمی‌گرده و در نتیجه خیلی خیلی سریع‌تره و گره‌های (nodes) کمتری رو بررسی می‌کنه.

عیب (یا نکته مهم): همه‌چی به «خوب» بودن اون حدس (Heuristic) بستگی داره. اگه هیوریستیک شما «قابل قبول» (Admissible) نباشه (یعنی بدبین باشه و فاصله رو بیشتر از حد واقعی حدس بزنه)، A* ممکنه گول بخوره و اصلاً جواب بهینه (Optimal) رو پیدا نکنه!


💡 خب، ما چی یاد گرفتیم؟ (Dijkstra vs A*)

دایکسترا: «کور»ـه و جستجوش (UCS) در تمام جهات پخشه. هدفش پیدا کردن کوتاه‌ترین راه از مبدأ به همه‌ی نقاطه.

اِی-اِستار: «هوشمند»ـه و با کمک هیوریستیک به سمت هدف می‌گرده. هدفش پیدا کردن کوتاه‌ترین راه از مبدأ به یک مقصد مشخصه.

حالا یه نکته:


الگوریتم دایکسترا در واقع یه حالت خاص از الگوریتم A* هست!

چطوری؟ اگه توی A*، اون «حدس هوشمندانه» (h(n)) رو برای همه‌ی گره‌ها صفر در نظر بگیری (یعنی عملاً بگی: «آقا من هیچ حدسی ندارم!»)، الگوریتم A* دقیقاً تبدیل می‌شه به دایکسترا!

پس کی از کدوم استفاده کنیم؟

برو سراغ Dijkstra:


* وقتی می‌خوای کوتاه‌ترین مسیر از یک نقطه به تمام نقاط دیگه رو بدونی (مثلاً تو پروتکل‌های روتینگ شبکه مثل OSPF که باید بدونن بهترین راه تا همه‌ی روترهای دیگه چیه).

برو سراغ A*:

* وقتی یک مبدأ و یک مقصد مشخص داری (۹۹٪ کاربردهای ما مثل GPS، مسیریابی تو بازی‌ها، رباتیک و...).

* وقتی سرعت برات مهمه و می‌تونی یه هیوریستیک خوب (مثل فاصله خط صاف) حساب کنی.

دفعه‌ی بعدی که «نشان» رو باز کردید یا تو یه بازی مثل The Last of Us دیدید که دشمن چقدر هوشمندانه دنبالتون میاد، یادتون باشه که یه چیزی شبیه A* پشت صحنه داره کار می‌کنه.

—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
5👏96❤‍🔥4👍3
حالا که همه جا صحبت از AI و اخبارشه، بیاید یه لحظه ترمز کنیم و یه ابزار کاربردی متفاوت رو یاد بگیریم.

تا حالا شده بخواید یه پروژه شخصی (Side Project) رو تست کنید، یه نمونه‌کار بیارید بالا یا صرفاً یه وبسایت برای خودتون داشته باشید، ولی نمی خواهید برای دامین (Domain) هزینه کنید؟
یا شایدم رفتید سراغ دامین‌های رایگان ولی دیدید همشون ساب‌دامین (Subdomain) هستن و حسابی تو ذوق میزنن؟

امروز میخوایم بریم سراغ یه پروژه اوپن‌سورس به اسم DigitalPlat Domain.
شعارشون خیلی جذابه: «دامین رایگان برای همه»

🌐 داستان چیه؟

پروژه DigitalPlat Domain یه حرکت غیرانتفاعی (Nonprofit) هست که توسط The Hack Foundation پشتیبانی میشه. هدفشون اینه که دسترسی به وب رو برای همه راحت‌تر کنن. برخلاف خیلی از سرویس‌های دیگه که اولش رایگانن و بعد پول میخوان، این پروژه واقعاً رایگانه.

🛠 چه ویژگی‌هایی داره که به درد ما میخوره؟

✔️ دامین واقعی، نه ساب‌دامین: اینجا خبری از آدرس‌های طولانی و زشت نیست. شما دامین‌هایی با پسوند‌های خاص مثل .US.KG ، .DPDNS.ORG یا .QZZ.IO میگیرید.
✔️ کنترل کامل DNS: این خیلی مهمه! شما می‌تونید دامینتون رو به سرویس‌های مدیریت DNS محبوب مثل Cloudflare متصل کنید.
✔️ بدون هزینه‌های مخفی: نه هزینه ثبت داره، نه هزینه تمدید سالانه.
✔️ امنیت و اعتماد: چون اوپن‌سورسه و پشتش یه موسسه خیریه معتبره، نگرانی کمتری بابت پریدن دامین یا سوءاستفاده وجود داره.

💡 کجا به کارمون میاد؟

✔️ وقتی میخوای یه پروتوتایپ (Prototype) سریع بیاری بالا.
✔️ برای پروژه‌های دانشجویی و آموزشی.
✔️ ساختن بلاگ شخصی یا پورتفولیو بدون هزینه.
✔️ تست کردن تنظیمات سرور و شبکه قبل از خرید دامین اصلی.

🚀 چطوری بگیریم؟
کافیه برید توی دشبورد سایتشون، اسم دامین مد نظرتون رو سرچ کنید و اگه خالی بود، ثبتش کنید و DNS ها رو ست کنید.

🔗 لینک پروژه و داشبورد:

https://dash.domain.digitalplat.org/


🔗منبع پست:

https://www.opensourceprojects.dev/post/1959600649026302372



—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥82👍2
تولدمون مبارک باشه 🎁

امروز MdDaily در کنار تک تک شما عزیزان ۳ ساله شد ❤️

ایده ی کانال از کجا اومد؟

تویه گروه دوستانه بودیم و راجب چیزایی که میخوندم اونجا مینوشتم و همین انگیزه ای شد که تصمیم بگیرم تجربه هام و چیزایی که راجبشون میخونم رو تو یه جای عمومی تری منتشر کنم

اسم Md از کجا اومد؟

خب اسم خودم ماهان عه، گفتم ایول بذار Mahan رو با Developer ترکیب کنم

مخففش میشه Md و اینجوری شد که Md Daily خلق شد :)


برای فصل جدید کانال خوشحال میشم نظرات و پیشنهادات شما رو بدونم :)

و در اخر قدردان تک تک شما عزیزان هستم که با وجودتون قلب md daily میزنه 🫶
Please open Telegram to view this post
VIEW IN TELEGRAM
3🎉162🔥2❤‍🔥1
وقتی عشق به کد زدن ته می‌کشه: قصه تلخ برن‌آوت (Burnout)

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

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

نقطه جوش: وقتی مغز شات‌دان می‌کنه

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

تله‌ی «برنامه‌نویسِ سریع و خفن»

برنامه‌نویسا همش می‌خوان ثابت کنن که سریع و قابل اعتمادن. این ویژگی خوبیه، ولی می‌تونه تبدیل بشه به یه تله‌ی خطرناک. وقتی نشون بدی که سریعی، حس می‌کنی مجبوری همیشه سریع بمونی و کم‌کم «فشار» میشه حالتِ دیفالت تو. فول‌-استک کار کردن، راضی نگه داشتن کلاینت‌ها و تحویل مداوم فیچرها، همه‌ش با هم میشه حس دائمی «غرق شدن».

فشار تکنولوژی و فرهنگی که باهات روراست نیست


دولوپرها دائماً با «سندروم ایمپاستر» درگیرن. فشارِ اینکه باید مدام چیز یاد بگیری و با فریم‌ورک‌های جدید آپدیت باشی، واقعاً سنگینه. مقایسه کردن خودت با بقیه هم که قاتلِ حال‌خوبه. مشکل فرهنگِ «بهره‌وری سمی» (Toxic Productivity) و مقایسه‌ست که زیرپوستی اونایی رو که تا مرز ذوب شدنِ مغز کار می‌کنن، تشویق می‌کنن.

راه واقعی برگشت (چی جواب میده، چی نه)

چیزی که می‌تونه جلوی این سقوط آزاد رو بگیره، «دیسیپلین» نیست؛ استراحت مطلقه.

چی واقعاً کمکت می‌کنه؟

✔️ دوری کامل از اسکرین: مانیتور، لپ‌تاپ، گوشی؛ همه رو بذار کنار.

✔️وقت گذروندن با آدمای واقعی: برو پیش رفقا و خانواده.

✔️بازگشت به تنظیمات کارخانه: برو سراغ تفریحات غیردیجیتالِ قدیمی.

✔️کارای غیرمفید: کارایی بکن که اصلاً قرار نیست خروجیِ خاصی داشته باشن.

چی کمک نمی‌کنه؟


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

ریکاوری شدن مثل دکمه‌ی خاموش/روشن نیست؛ یه ریست (Reset) آرومه که زمان می‌بره.

درسی که گرون تموم میشه

اگه می‌شد با گذشته حرف زد، باید به اون برنامه‌نویسی که تا پاسی از شب بیداره گفت: «آقا/خانم! مرخصی بگیر. حتی اگه عاشقِ کارتی. مخصوصاً اگه عاشقِ کارتی.» عاشقِ کار بودن تو رو ضدضربه نمی‌کنه، آسیب‌پذیرترت می‌کنه؛ چون مرزِ بین «اشتیاق» و «فشار» واسه عاشقای کار خیلی راحت گم میشه.

نشونه اصلی: وقتی تفریحت شروع کرد بهت حسِ «شغل» دادن، وقتشه بکشی کنار.

نقش تیم‌ها و شرکت‌ها

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

چندتا راهکار واسه اینکه کم نیاری

واسه دوام آوردن تو این مسیر، تغییرات کوچیک خیلی اثر دارن:

✔️ به محض دیدن اولین نشونه‌ها، واقعی استراحت کن.

✔️ وقتی لازمه، ریموت کار کن و واسه خودت فضای شخصی بساز.

✔️ جای اینکه هشدارهای اطرافیان رو ایگنور کنی، بهشون گوش بده.

✔️ واسه کم کردن بار ذهنی، همه چی رو نوت‌برداری کن.

ختم کلام: این یه باگ نیست، فیچره!

برن‌آوت «لوس‌بازیِ کارهای پشت‌میزنشینی» نیست. این قضیه ربطی به خستگیِ تایپ کردن نداره؛ بحثِ فشار ذهنی، انتظارات غیرواقعی، بحران هویت و حس همیشگیِ «عقب موندن از تکنولوژی»ـه. این فشار واقعیه و می‌تونه حتی عاشق‌ترین برنامه‌نویس‌ها رو هم از پا دربیاره.

اگه عاشقِ کدنویسی هستی، مجبور نیستی ۲۴ ساعته بدوی دنبالش. به خودت اجازه بده استراحت کنی و دیسکانکت شی. بذار اشتیاقت نفس بکشه. اگه واقعاً عاشقش باشی، لازم نیست به زور نگه‌ش داری؛ وقتی بهش فضا بدی، خودش برمی‌گرده.

—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍611
کد تمیز افسانه نیست؛ فقط دوام نمیاره

مشکل این نیست که هیچ‌کس کد تمیز نمی‌نویسه.
مشکل اینه که کد تمیز تو پروژه‌های واقعی، زیر فشارِ کار کم‌کم داغون میشه.

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

اصلاً کد تمیز یعنی چی؟

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

تعریف ساده‌ش اینه: کدی که تغییر دادنش از نوشتنش کم‌هزینه‌تره.

🖥 پروژه‌ها از اول داغون نیستن، داغون میشن.

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

🖥 پروتوتایپی که قرار نبود بمونه.

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

🖥 ریفکتوری که تموم نمیشه.

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

سنیور سخت‌گیر همیشه خوب نیست.


سنیوری که فقط ایراد می‌گیره و فضا رو ترسناک می‌کنه، به تمیز شدن کد کمک نمی‌کنه. باعث میشه بقیه یواشکی کد بزنن که فقط کار راه بیفته. اینجوری کد بد قایم میشه، نه اینکه درست بشه.

راه‌حل‌های موقت، وقتی دائم میشن دردسر می‌سازن.


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

🤖 هوش مصنوعی کد زشت نمی‌نویسه، کد بی‌مسئولیت می‌نویسه.

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

📊 بیزنس و کد دشمن هم نیستن.

بیزنس می‌خواد زنده بمونه، برنامه‌نویس می‌خواد سیستم نخوابه. نه سرعت بدون فکر جواب میده، نه وسواس بیش از حد. کدی که نشه راحت تغییرش داد، بیزنس رو کند می‌کنه. بیزنسی هم که به کد اهمیت نده، بعداً هزینه‌شو میده.

🤔 پس بی‌خیال کد تمیز بشیم؟ نه.

ولی واقع‌بین باشیم. کد تمیز یه مقصد نیست، یه تعهده. تعهد به تیم، به خودِ چند ماه بعدمون، و به پروژه‌ای که قراره زنده بمونه. نه وسواس، نه شل‌گیری. فقط مسئولیت.

🔗 برای نوشتن این پست از این منبع خیلی الهام گرفته شده:
https://dev.to/sylwia-lask/nobody-writes-clean-code-we-all-just-pretend-11d1

—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8❤‍🔥2👌2
Forwarded from Abrha
🥳🎆 یلدای پارسی خجسته🌟🤩

به بهانه یلدای باستانی و این سنت زیبای پارسی، پارس پک یه مسابقه با حال گذاشته و قراره هدایای جذابی تقدیمتون کنه🎁

کافیه برین به لینک پایین و در پیکار شرکت کنید و انارهای شب یلدارو از دست اهریمن نجات بدین🆘
هرچی بیشتر انار نجات بدین شانستون در قرعه کشی جوایز بیشتر میشه🎲

با توجه به نتیجه بازی هم بهت میگه کدوم شخصیت ایران باستان هستی و روش های دیگه ای هم برای افزایش شانس قرعه کشی هستش🆙

⭕️ برای شرکت در قرعه کشی هم تا ۵ دی ماه فرصت داری

⚔️پس زودتر پیکار رو شروع کن:

👉شروع پیکار

☕️راستی چون جایزه ها مرتبط با قهوه و اسپرسو هستن، این پستو بفرست برای اون دوستت که مثل شب یلدا به کافئین نیاز داره تا یک دقیقه هم شده بیشتر بیدار بمونه☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🤣1
بیشتر چت‌بات‌ها وقت آدم رو با تعارف و جواب‌های الکی طولانی تلف می‌کنن. این دوتا پرامپتی که نوشتم رو حدود یک ماهه دارم استفاده می‌کنم؛ باعث میشه مدل بره سر اصل مطلب، صادقانه‌تر جواب بده و دست از «راضی نگه داشتن» برداره.

می‌تونید یکی از این چنتا رو بسته به نیازتون توی بخش Custom Instructions در ChatGPT یا قسمت System Instructions در Gemini بذارید.

🤖 اگه میخواین مدل صادق و رک باشه:

From now on, be completely honest and ruthless. Do not give compliments, flattery, ass-kissing, or polite phrasing. The tone does not matter; be blunt, direct, even harsh. If something is wrong, tell me clearly and mercilessly. If a question is unclear or information is missing, ask directly and do not guess. Only give the truth and solutions, with no emotions, pleasantries, or extra sentences. Do not sugarcoat anything; speak the truth unfiltered. Tell it like it is.



🤖 اگه میخواین مدل صادق باشه و جواب های مشخصی بهتون بده:


Be brief, blunt, and truth-maximizing. Ruthless about correctness. Natural and conversational.

Hard constraints: No self-introduction. No explaining your role. No meta commentary. No invitations to interact like “ask me”, “you can try”, or “would you like”. No politeness rituals, compliments, apologies, or tone softening. Exception: if the user greets you (for example “سلام” or “hi”), reply with a single-word greeting in the same language and nothing else.

Rules: Accuracy over agreeableness. Do not mirror my framing or assume I’m right. If my premise is wrong, start with “Premise wrong:” and correct it in one sentence. No hedging words. If uncertain, output “Unknown:” followed by exactly what would verify it. Write in clear, human, conversational language. Short sentences. No robotic structure. Response length is dynamic. Write only what is necessary to improve the outcome. When giving opinions or reviews, prioritize actionable criticism over denoscription.

Output format must follow the input language exactly. If the user writes in Persian, use only one of these labels: پاسخ: اصلاح: نیاز: مقایسه:. If the user writes in English, use only one of these labels: Answer: Fix: Need: Tradeoff:. Pick exactly one label. No other headings.

Language rule: Respond in the same language as the user’s input. Technical terms must appear in English first, followed by the meaning in parentheses in the user’s language.

Do not expand scope unless explicitly asked.



🤖 اگه میخواین مدل بین قضاوت و تحلیل بالانس برقرار کنه با حفظ لحن پاسخ صریح:

Be direct and truth-first. Ruthless about correctness. Talk like a normal human, not a manual.

Hard rules: No self-introduction. No explaining your role. No meta talk. No invitations to interact. No politeness rituals, flattery, apologies, or softening language.

Core rule: Correctness beats agreeableness. Don’t mirror my framing and don’t assume I’m right. If my premise is wrong, start with “Premise wrong:” and correct it in one sentence. No hedging. If something is unknown, say “Unknown:” and state exactly what would make it knowable.

Depth control: Be concise, but never shallow. Let the problem decide the depth. For judgment or opinion, give the conclusion first, then only the reasons that matter. For analysis, include every necessary layer—no more, no less. No padding. Every sentence must earn its place.

Writing style: Clear, simple, conversational. No corporate tone. No filler.

Output format: Match the input language exactly. Use exactly one label.
Persian: پاسخ: اصلاح: نیاز: مقایسه:
English: Answer: Fix: Need: Tradeoff:

Language rule: Respond in the user’s language. Technical terms first in English, then their meaning in the user’s language.

—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
10
💡💡💡💡💡💡💡💡
🍸🍿. ❤️❤️❤️.   🍿🍸
🍉🍉🍉🍉🍉🍉🍉🍉


داشتم فکر میکردم به مناسبت یلدا چه متنی بنویسم، دیدم نیاز به پیچدگی خاصی نیست پس مستقیم میگم یلداتون مبارک و همیشه لبتون خندون باشه ❤️🫶

- ماهان

—-

💡 امشب یک دقیقه ییشتر کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥82🎉2😍2👨‍💻2👌1
اصلاً من متخصّصم یا نه؟ شاید نکته اصلی همینه! 🤔

داشتم یه مقاله به اسم I Don't Know If I'm An Expert (And That Might Be the Point) می‌خوندم که نویسنده مقاله داستان رو از جایی شروع می‌کنه که همه‌مون ممکنه توش گیر کرده باشیم. اون یه شرکت امنیت سایبری داره، کلی مدرک معتبرِ جهانی تو جیبشه و حتی شش تا کتاب هم نوشته . اما می‌گه وقتی داشتم رزومه‌م رو پر می‌کردم و به بخش «تخصص‌ها» رسیدم، یهو خشکم زد! نه اینکه چیزی بلد نباشم، نه؛ مشکل اینجاست که می‌گه: «من هر روز دارم یه چیز جدید یاد می‌گیرم و همین باعث شده از خودم بپرسم: اصلاً من متخصصِ چیزی هستم یا نه؟» 🤯

---

تله‌ای به اسم «مطمئن بودن» ⚠️

حقیقتش اینه که ما توی دنیایی زندگی می‌کنیم که انگار مجبوریم همه‌ش ادای «آدم‌های همه‌چیز‌دون» رو دربیاریم. نویسنده می‌گه: «من می‌تونم برم توی دفتر یه مشتری و براشون خفن‌ترین سیستم‌های دفاعی رو طراحی کنم، اما آگاهانه واژه متخصص رو برای خودم به کار نمی‌برم.» چرا؟ چون توی دنیای تکنولوژی، وقتی می‌گی «مطمئنم»، یعنی یادگیری رو متوقف کردی. و این شروعِ سقوطِ مهارته 📉.

دقت کردین؟ یه برنامه‌نویس تازه‌کار با یه دوره دو روزه می‌نویسه «متخصص ری‌اکت»؛ یا یکی دیگه با دو تا سخنرانی می‌شه «رهبر فکری». نویسنده معتقده این تورمِ مدارک و القاب، باعث شده واژه متخصص بی‌معنی بشه. این نمایشِ «قطعیت»، مثل یه نقابه که نمی‌ذاره بقیه بفهمن ما هنوز چقدر چیزها رو نمی‌دونیم 🎭.

معیار واقعی چیه؟

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

⬅️ آیا این کار رو اون‌قدر تکرار کردم که سوراخ‌سمبه‌هاش رو بشناسم؟

⬅️ آیا خروجی کارم توی دنیای واقعی (نه فقط روی کاغذ) جواب داده؟

⬅️ آیا کسی حاضر هست بابت تجربه‌ قبلی‌م، دوباره بهم پول بده؟

⬅️ می‌تونم این موضوع رو جوری به بقیه یاد بدم که واقعاً بفهمن؟

خودِ نویسنده با همین معیارها می‌گه: «من توی امنیتِ کسب‌وکارهای کوچیک کارم درسته، چون امتحان پس دادم. اما مثلاً توی بحث‌های سنگینی مثل کوبرنتیز، با اینکه خیلی‌ها ممکنه بگن متخصصی، ولی خودم می‌دونم که هنوز راه دارم.»

پارادوکسِ عجیبِ یادگیری 🌀

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

حرف آخر: نمایش رو تموم کنیم

حرف حسابش اینه: بیایم به جای اینکه با کلمات قلمبه‌سلمبه رزومه‌مون رو پر کنیم، با «خروجی‌هامون» حرف بزنیم. به جای اینکه بگیم «من متخصص هوش مصنوعی‌ام»، بگیم «من مدل‌های ML رو برای انطباق در حوزه سلامت با دقت ۹۹.۷٪ در طول ۱۸ ماه پیاده‌سازی کردم».

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

—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥4