اینایی که به پستا ستاره میدن عجیبغریب تو قلب ما جا دارن
اینایی که نمیتونن ستاره بدن هم باز تو قلب ما جا دارن
دم همتون گرم که اینقدر با مرامید و عشق میدید بهمون
اینایی که نمیتونن ستاره بدن هم باز تو قلب ما جا دارن
دم همتون گرم که اینقدر با مرامید و عشق میدید بهمون
28❤366👍57🔥9👎7
۱،چند ابزار عالی که اگر ai engineer هستید خیلی به کارتون میاد:
۱:تبدیل هر وبسایتی به دیتای markdown و llm ready :
Firecrawl.dev
۲:وکتور دیتابیس serverless و دارای پلن رایگان:
upstash.com
۳: دسترسی به gpu با ۳۰ دلار کردیت رایگان
modal.com
۲،چند تا ارائه دهنده که پلن رایگان خوبی برای استفاده از llm ها دارند
برای استفاده از llama خیلی خوبه:
console.groq.com
این دو تقریبا همه مدل های خفن اوپن سورس رو دارند و 1 دلار کردیت رایگان میدن:
fireworks.ai
together.ai
۳، استفاده از کلی مدل هوش مصنوعی به صورت API :
replicate.com
چت بات هوش مصنوعی vercel که v0 هست و برای ساخت دمو های فرانت عالیه
v0.dev
و بمب آخر openrouter که به تمام api llm ها وصلتون میکنه و پرداخت با کریپتو هم داره
openrouter.ai
@DevTwitter | <Mani/>
۱:تبدیل هر وبسایتی به دیتای markdown و llm ready :
Firecrawl.dev
۲:وکتور دیتابیس serverless و دارای پلن رایگان:
upstash.com
۳: دسترسی به gpu با ۳۰ دلار کردیت رایگان
modal.com
۲،چند تا ارائه دهنده که پلن رایگان خوبی برای استفاده از llm ها دارند
برای استفاده از llama خیلی خوبه:
console.groq.com
این دو تقریبا همه مدل های خفن اوپن سورس رو دارند و 1 دلار کردیت رایگان میدن:
fireworks.ai
together.ai
۳، استفاده از کلی مدل هوش مصنوعی به صورت API :
replicate.com
چت بات هوش مصنوعی vercel که v0 هست و برای ساخت دمو های فرانت عالیه
v0.dev
و بمب آخر openrouter که به تمام api llm ها وصلتون میکنه و پرداخت با کریپتو هم داره
openrouter.ai
@DevTwitter | <Mani/>
👍34❤10👎3
This media is not supported in your browser
VIEW IN TELEGRAM
یکی از پر تقاضا ترین مهارت ها deploy کردن مدلهای ماشین لرنینگ توی production هست.
حالا دانشگاه carnegie mellon که شاید بالاترین رنک را در ماشین لرنینگ داشته باشه، یک کورس داره ارائه میده راجع به همین موضوع. این دوره نحوه ساخت، استقرار، اطمینان و نگهداری (build, deploy, assure, and maintain) از محصولات نرمافزاری با مدلهای ماشین لرنینگ را پوشش میدهد. این دوره شامل کل چرخه عمر از یک مدل اولیه ماشین لرنینگ تا یک سیستم کامل مستقر در محیط تولید است. تمام مطالب آموزشی شامل کد، اسلاید و مقاله ها کاملا در دسترس هست.
قدم به قدم با همین کورس برید جلو و آخر دوره مهارتی کسب خواهید کرد که میتونه برای پیدا کردن شغل بعدی بهتون کمک کنه.
@DevTwitter | <Mehdi Allahyari/>
حالا دانشگاه carnegie mellon که شاید بالاترین رنک را در ماشین لرنینگ داشته باشه، یک کورس داره ارائه میده راجع به همین موضوع. این دوره نحوه ساخت، استقرار، اطمینان و نگهداری (build, deploy, assure, and maintain) از محصولات نرمافزاری با مدلهای ماشین لرنینگ را پوشش میدهد. این دوره شامل کل چرخه عمر از یک مدل اولیه ماشین لرنینگ تا یک سیستم کامل مستقر در محیط تولید است. تمام مطالب آموزشی شامل کد، اسلاید و مقاله ها کاملا در دسترس هست.
قدم به قدم با همین کورس برید جلو و آخر دوره مهارتی کسب خواهید کرد که میتونه برای پیدا کردن شغل بعدی بهتون کمک کنه.
@DevTwitter | <Mehdi Allahyari/>
🔥29👍7❤3👎1
یه فکت باحال:
هزینه های api مدل gpt 4o mini من هر ماه با تقریبا ۱۵۰ یوزر اکتیو و کلی پیام به صورت مهمان به ماهی کمتر از 0.60$ میرسید.
مدل gpt 4o mini میتونه یه آپشن عالی برای ساختن چت بات های مبتنی بر RAG باشه به خاطر هزینه فوق العاده پایین Input اش.
@DevTwitter | <Mani/>
هزینه های api مدل gpt 4o mini من هر ماه با تقریبا ۱۵۰ یوزر اکتیو و کلی پیام به صورت مهمان به ماهی کمتر از 0.60$ میرسید.
مدل gpt 4o mini میتونه یه آپشن عالی برای ساختن چت بات های مبتنی بر RAG باشه به خاطر هزینه فوق العاده پایین Input اش.
@DevTwitter | <Mani/>
👍56👎4❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
نرم افزار isd (interactive systemd) روشی بهتر برای کار با units های systemd
اگر کار با Systemd براتون سخته حتما استفاده کنید
@DevTwitter | <MehrdadLinux/>
اگر کار با Systemd براتون سخته حتما استفاده کنید
@DevTwitter | <MehrdadLinux/>
❤8👍3👎1
به جای استفاده از تولز های درایوری برای داکیومنت کردن کدت برای llm knowledge base بیا از تولزم استفاده کن openai compatible سرعت پشم ریزوم. ایجنت رو تعریف کن بنداز به جون پروزه
https://github.com/ingig/code-narrator
@DevTwitter | <raas/>
https://github.com/ingig/code-narrator
@DevTwitter | <raas/>
👍13❤3🔥1
هر وقت ازتون پرسیدن ValueTuple چیه این رو به یاد بیارید
https://github.com/Farfetch/kafkaflow/blob/3.0.10/src/KafkaFlow.Abstractions/Message.cs
هیچی نیست به جز یه کانتینر برای جا به جا کردن memory address ها ولی با هر بار پاس دادنش، کپی میشه.
و اگر داخل یه کلاس هم ذخیره اش کنید میره روی Heap و اونجا Allocate میشه.
@DevTwitter | <Armin/>
https://github.com/Farfetch/kafkaflow/blob/3.0.10/src/KafkaFlow.Abstractions/Message.cs
هیچی نیست به جز یه کانتینر برای جا به جا کردن memory address ها ولی با هر بار پاس دادنش، کپی میشه.
و اگر داخل یه کلاس هم ذخیره اش کنید میره روی Heap و اونجا Allocate میشه.
@DevTwitter | <Armin/>
❤8👍5
بالاخره Codective Docs منتشر شد
تجربیاتی که تو این سالها به عنوان Developer و Mentor کسب کردم رو اینجا جمعآوردی کردم
این مستندات نکات کاربردی که حرفهایها ازش استفاده میکنن و همچنین اشتباهات رایجی که بین تازهکارها رایجه رو شامل میشه
خوشحال میشم یه نگاهی بندازید و نظرتون رو بگید:
https://docs.codective.ir/clean-code
بعضی از سوالاتی که اینجا میتونید به جوابش برسید:
- چطور از Prettiern و ESLint و Stylelint استفاده کنیم؟
- کد تمیز (Clean Code) چه ویژگیهایی باید داشته باشه؟
- کد کثیف رو چطور تشخیص بدیم؟ (Code Smells)
- از چه تکنیکهایی برای Refactor میشه استفاده کرد؟
- چطور عکسهای با کیفیت اما کمحجم داشته باشیم؟
- تفاوت تگ b با strong چیه و بهتره از کدوم باید استفاده کنیم؟
- چطور اعداد رو با کاراکترهای فارسی بنویسیم بدونِ اینکه تو محتوا دست ببریم؟
- چطور فقط یه CSS برای سایت چند-زبانه بنویسیم؟
- چه زمانی باید از Child Combinator استفاده کنیم؟
- تفاوت px با rem چیه و بهتره از کدوم استفاده کنیم؟
- تفاوت RGB و HSL چیه و بهتره از کدوم استفاده کنیم؟
- چطور Animation با Performance بالا داشته باشیم و از افت فریم جلوگیری کنیم؟
- اصول UI چیه و چرا باید ازشون پیروی کنیم؟
- کاربرد فایلهای README.md و CONTRIBUTING.md چیه و تو هر کدوم چه محتوایی باید قرار بدیم؟
این مستندات به مروز زمان کاملتر میشه...
@DevTwitter | <Bijan Eisapour/>
تجربیاتی که تو این سالها به عنوان Developer و Mentor کسب کردم رو اینجا جمعآوردی کردم
این مستندات نکات کاربردی که حرفهایها ازش استفاده میکنن و همچنین اشتباهات رایجی که بین تازهکارها رایجه رو شامل میشه
خوشحال میشم یه نگاهی بندازید و نظرتون رو بگید:
https://docs.codective.ir/clean-code
بعضی از سوالاتی که اینجا میتونید به جوابش برسید:
- چطور از Prettiern و ESLint و Stylelint استفاده کنیم؟
- کد تمیز (Clean Code) چه ویژگیهایی باید داشته باشه؟
- کد کثیف رو چطور تشخیص بدیم؟ (Code Smells)
- از چه تکنیکهایی برای Refactor میشه استفاده کرد؟
- چطور عکسهای با کیفیت اما کمحجم داشته باشیم؟
- تفاوت تگ b با strong چیه و بهتره از کدوم باید استفاده کنیم؟
- چطور اعداد رو با کاراکترهای فارسی بنویسیم بدونِ اینکه تو محتوا دست ببریم؟
- چطور فقط یه CSS برای سایت چند-زبانه بنویسیم؟
- چه زمانی باید از Child Combinator استفاده کنیم؟
- تفاوت px با rem چیه و بهتره از کدوم استفاده کنیم؟
- تفاوت RGB و HSL چیه و بهتره از کدوم استفاده کنیم؟
- چطور Animation با Performance بالا داشته باشیم و از افت فریم جلوگیری کنیم؟
- اصول UI چیه و چرا باید ازشون پیروی کنیم؟
- کاربرد فایلهای README.md و CONTRIBUTING.md چیه و تو هر کدوم چه محتوایی باید قرار بدیم؟
این مستندات به مروز زمان کاملتر میشه...
@DevTwitter | <Bijan Eisapour/>
👍37❤6
دستورها و آپشن کامندها لینوکس یادت میره؟
خواندن manpage برات سخته؟
نگران نباش
صفحات TLDR یک تلاش جامعه محور برای ساده کردن man pages با نمونه های عملیه
کافیه tldr را نصبش کنی
https://github.com/tldr-pages/tldr
@DevTwitter | <MehrdadLinux/>
خواندن manpage برات سخته؟
نگران نباش
صفحات TLDR یک تلاش جامعه محور برای ساده کردن man pages با نمونه های عملیه
کافیه tldr را نصبش کنی
https://github.com/tldr-pages/tldr
@DevTwitter | <MehrdadLinux/>
👍38🔥4❤2
پادکست نیمچه برنامه نویس:
این پادکست به شکل روان و داستانی موضوعاتی را در حوزهی دواپس و برنامه نویسی روایت میکند.
مثلا در چند اپیزود اخیر به روایت و بررسی کالبدشکافی داون تایم شرکت های بزرگ پرداخته است.
اپیزود های کوتاه و جذاب این پادکست به صورت هفتگی منتشر میشوند.
میتوانید کانال این پادکست را در کستباکس دنبال کنید:
https://castbox.fm/vh/6294201
@DevTwitter | <Sadegh Mohebbi/>
این پادکست به شکل روان و داستانی موضوعاتی را در حوزهی دواپس و برنامه نویسی روایت میکند.
مثلا در چند اپیزود اخیر به روایت و بررسی کالبدشکافی داون تایم شرکت های بزرگ پرداخته است.
اپیزود های کوتاه و جذاب این پادکست به صورت هفتگی منتشر میشوند.
میتوانید کانال این پادکست را در کستباکس دنبال کنید:
https://castbox.fm/vh/6294201
@DevTwitter | <Sadegh Mohebbi/>
🔥25👍10
یک اکانت خارجی یا به قصد خنده یا به قصد ترول کردن، مثال hello world رو در C و Rust نوشته و کامپایل کرده و خروجی اجراییاش برای سی شده ۱۵k و راسط شده چندین مگابایت. نتیجه گیری هم کرده که ببینید راسط چقدر بده!
چند روزی هست که تایم لاین انگلیسی و فارسی من صحبت این هست.
عزیزان، راسط به حالت پیشفرض استاتیک لینک میکنه و کلی اطلاعات اضافی دیباگ در فایل خروجی قرار میده.
من روی مک وقتی با شرایط مساوی کامپایل میکنم، خروجی سی میشه ۱۲.۶k و خروجی راسط میشه ۱۳.۸k نه چندین مگابایت! که تازه همینم زیادی هست و قابل کوچکتر شدن!
بعد بر فرض اینکه حجماش چند مگ هم باشه، چه تاثیری داره دقیقا؟ متوجه هستید که جریان اجرایی ماشین و حجم کدهایی که روی پردازنده میرن ربطی به حجم فایل اجرایی در دیسک نداره دیگه؟
حالا این وسط یه سری هم فوری دست گرفتن که وا مصیبتا با این حجم چجوری میخواد برای امبد کار کنه و.... دوستان، شما در امبد که برای لینوکس و مک و ویندوز کد نمیزنید. اونجا سیستم خاص خودش رو داره. اونجا خبری از std نیست. کامپایلر راسط برای اون شرایط به شکل دیگری کار میکنه. کتابخونههای خاص خودش رو داره. اینی که شما الان روی کامپیوترت میبینی که نیست...
یا چند مورد گزینشی از پروژههایی که بیخیال راسط شدن و رفتن سراغ زبانهای دیگه اینروزها در تایم لاین بولد میشن، ولی چند ده پروژهی دیگری که هر هفته دارن به راسط رو میارن رو کسی اعلام نمیکنه!
همون پروژههایی هم که بیخیال راسط شدن رو وقتی میری بدرستی میخونی درباره دلایل تصمیم شون، میبینی که خیلی فاکتورها دخیل بوده. طرف حتی خودش نوشته که راسط تکمیل تر بوده، با ثبات تر بوده، سریعتر بوده، و .... ولی شرایط ما به فلان دلایل به حالتی بود که تصمیم گرفتیم دیگه از راسط استفاده نکنیم. بعد خب میبینی که حرف شون منطقی بوده. یه سری شرایط خاص داشتن که بر مبنای اونها تصمیم گرفتن از راسط استفاده نکنن. درستش هم همینه. قرار نیست که فنبوی یک زبان یا ابرار باشید. اگر یه چیزی بدرد تون نخورد، بندازیدش دور و برید با چیزی که براتون بهتره کار کنید.
من خودم همیشه در همین اکانت گفتم که از کد نوشتن با راسط لذت نمیبرم. واژهای که همیشه برای این زبان استفاده کردم اینه که راسط زبان «زمختی» هست.
ولی اینکه شما وقتی از یک زبان و ابزار بدتون بیاد، و به بشکن زدنی تمام رویکردهای فنی خودتون رو بذارید کنار و بر مبنای احساسات نظر بدید هم درست نیست. اتفاقا وقتی از چیزی بدتون میاد، ولی در عین حال به نقاط مثبت اش هم آفرین میگید، نشون از یک ابراز نظر تخصصی داره. احساسات رو در این مدل نظرا دخیل نکنید. هر پست و توییتی هم در اینترنت دیدید باور نکنید. اینها ترول بازیهای مرسوم بین برنامهنویسهاست.
@DevTwitter | <Amirreza Gh/>
چند روزی هست که تایم لاین انگلیسی و فارسی من صحبت این هست.
عزیزان، راسط به حالت پیشفرض استاتیک لینک میکنه و کلی اطلاعات اضافی دیباگ در فایل خروجی قرار میده.
من روی مک وقتی با شرایط مساوی کامپایل میکنم، خروجی سی میشه ۱۲.۶k و خروجی راسط میشه ۱۳.۸k نه چندین مگابایت! که تازه همینم زیادی هست و قابل کوچکتر شدن!
بعد بر فرض اینکه حجماش چند مگ هم باشه، چه تاثیری داره دقیقا؟ متوجه هستید که جریان اجرایی ماشین و حجم کدهایی که روی پردازنده میرن ربطی به حجم فایل اجرایی در دیسک نداره دیگه؟
حالا این وسط یه سری هم فوری دست گرفتن که وا مصیبتا با این حجم چجوری میخواد برای امبد کار کنه و.... دوستان، شما در امبد که برای لینوکس و مک و ویندوز کد نمیزنید. اونجا سیستم خاص خودش رو داره. اونجا خبری از std نیست. کامپایلر راسط برای اون شرایط به شکل دیگری کار میکنه. کتابخونههای خاص خودش رو داره. اینی که شما الان روی کامپیوترت میبینی که نیست...
یا چند مورد گزینشی از پروژههایی که بیخیال راسط شدن و رفتن سراغ زبانهای دیگه اینروزها در تایم لاین بولد میشن، ولی چند ده پروژهی دیگری که هر هفته دارن به راسط رو میارن رو کسی اعلام نمیکنه!
همون پروژههایی هم که بیخیال راسط شدن رو وقتی میری بدرستی میخونی درباره دلایل تصمیم شون، میبینی که خیلی فاکتورها دخیل بوده. طرف حتی خودش نوشته که راسط تکمیل تر بوده، با ثبات تر بوده، سریعتر بوده، و .... ولی شرایط ما به فلان دلایل به حالتی بود که تصمیم گرفتیم دیگه از راسط استفاده نکنیم. بعد خب میبینی که حرف شون منطقی بوده. یه سری شرایط خاص داشتن که بر مبنای اونها تصمیم گرفتن از راسط استفاده نکنن. درستش هم همینه. قرار نیست که فنبوی یک زبان یا ابرار باشید. اگر یه چیزی بدرد تون نخورد، بندازیدش دور و برید با چیزی که براتون بهتره کار کنید.
من خودم همیشه در همین اکانت گفتم که از کد نوشتن با راسط لذت نمیبرم. واژهای که همیشه برای این زبان استفاده کردم اینه که راسط زبان «زمختی» هست.
ولی اینکه شما وقتی از یک زبان و ابزار بدتون بیاد، و به بشکن زدنی تمام رویکردهای فنی خودتون رو بذارید کنار و بر مبنای احساسات نظر بدید هم درست نیست. اتفاقا وقتی از چیزی بدتون میاد، ولی در عین حال به نقاط مثبت اش هم آفرین میگید، نشون از یک ابراز نظر تخصصی داره. احساسات رو در این مدل نظرا دخیل نکنید. هر پست و توییتی هم در اینترنت دیدید باور نکنید. اینها ترول بازیهای مرسوم بین برنامهنویسهاست.
@DevTwitter | <Amirreza Gh/>
1👍114👎16❤2
نرم افزار رایگان یادداشت برداری با امکانات فراوان(دستخط، ترسیم شکل، حاشیه نویسی بر PDF، ...)
پ.ن:
وقتی با خودکار و کاغذ شروع و عادت کردی؛ همه جا دنبال کاغذ و خودکار میگردی!
https://xournalpp.github.io
https://github.com/xournalpp/xournalpp/
@DevTwitter | <Koroush/>
پ.ن:
وقتی با خودکار و کاغذ شروع و عادت کردی؛ همه جا دنبال کاغذ و خودکار میگردی!
https://xournalpp.github.io
https://github.com/xournalpp/xournalpp/
@DevTwitter | <Koroush/>
👍41❤2
اگر Steam Deck و Playstation دارید میتونید این Chiaki-ng رو نصب کنید اون وقت انگار Playstation Portal هم دارید و میتونید ریموت از پی اس استفاده کنید
https://github.com/streetpea/chiaki-ng
@DevTwitter | <Dara/>
https://github.com/streetpea/chiaki-ng
@DevTwitter | <Dara/>
👍15👎9❤1
یه محقق کلا 20 خط کد کرنل لینوکس تغییر داده و unnecessary IRQ رو حذف کرده ۴۴ درصد پرفورمانس استک networking لینوکس بهبود داده و مصرف برق دیتاسنترهای hyperscale با این تغییر به شکل چشمگیری کاهش پیدا میکنه!
https://www.techradar.com/pro/changing-a-few-lines-of-code-in-linux-could-apparently-save-hyperscalers-billions-research-claims-but-i-am-not-convinced
@DevTwitter | <احسانـــ/>
https://www.techradar.com/pro/changing-a-few-lines-of-code-in-linux-could-apparently-save-hyperscalers-billions-research-claims-but-i-am-not-convinced
@DevTwitter | <احسانـــ/>
🔥149👍17❤1👎1
این بالارفتن قیمت دلار برای پکیج فروشا بدجور نون و آبه
حواستون باشه تو دامشون نیوفتید
تا جای ممکن از یوتیوب استفاده کنید برای یاد گرفتن چیزای مختلف
حواستون باشه تو دامشون نیوفتید
تا جای ممکن از یوتیوب استفاده کنید برای یاد گرفتن چیزای مختلف
👍171❤7🔥2
اگر کتاب کلین کد رو نخوندید ، متن زیر رو بخونید انگار کل کتاب رو خوندید (توسط هوش مصنوعی تولید شده)
در زیر یک خلاصه از کتاب کلین کد (Clean Code) نوشته رابرت سی. مارتین (عمو باب) ارائه شده است:
1. اهمیت کد تمیز:
کتاب تأکید میکند که کد نوشته شده باید مانند یک داستان خواندنی و قابل فهم برای هر برنامهنویسی باشد. کد تمیز، نگهداری و گسترش آن در طول زمان را بسیار سادهتر میکند.
2. نامگذاری معنادار:
- استفاده از نامهای واضح و دقیق برای متغیرها، توابع و کلاسها به خوانایی کد کمک میکند.
- نامهای خوب باید منظور و عملکرد اجزای کد را به خوبی منعکس کنند.
3. تابعهای کوچک و وظیفهگرا:
- هر تابع باید فقط یک کار مشخص انجام دهد.
- توابع کوتاه، تست و اشکالزدایی آنها را سادهتر میکند و باعث میشود کد بهینهتر و قابل فهمتر شود.
4. کد خود توضیحی:
-کد باید تا حد امکان به گونهای نوشته شود که خود به خود معنا داشته باشد و نیاز به کامنتهای اضافی کاهش یابد.
-کامنتها نباید به عنوان جایگزین کدهای قابل فهم استفاده شوند؛ بلکه باید تنها برای توضیح نکات پیچیده به کار روند.
5. اجتناب از پیچیدگی:
- سعی در ساده نگه داشتن ساختار کد و حذف پیچیدگیهای غیرضروری از اصول مهم کتاب است.
- پیچیدگی زیاد باعث افزایش احتمال خطا و سختی در نگهداری میشود.
6. اصول طراحی شیگرا (SOLID):
-کتاب به اصولی مانند اصل مسئولیتپذیری منفرد (Single Responsibility) و سایر اصول SOLID اشاره میکند که به طراحی سیستمهای منعطف و قابل توسعه کمک میکنند.
7. آزموننویسی و پوشش کد:
-اهمیت نوشتن تستهای واحد (Unit Tests) برای اطمینان از صحت عملکرد کد و جلوگیری از بروز خطا در آینده مورد تأکید قرار میگیرد.
-تستهای خوب به برنامهنویسان کمک میکنند تا هنگام تغییر یا اضافه کردن ویژگیهای جدید، عملکرد کد تضمین شود.
8. بازنگری و بهبود مداوم:
-کد هیچگاه “تمام شده” تلقی نمیشود؛ بلکه همیشه جای بهبود دارد.
- نویسنده توصیه میکند که برنامهنویسان به صورت مستمر کدهای خود را بازنگری کنند تا آنها را بهینه و تمیز نگه دارند.
9. فرهنگ کاری حرفهای:
-نوشتن کد تمیز تنها به تکنیکهای برنامهنویسی محدود نمیشود؛ بلکه یک نگرش و فرهنگ کاری است که بر احترام به همکاران و ارزش نگهداری سیستمهای نرمافزاری تأکید دارد.
نتیجهگیری:
کتاب کلین کد یک راهنمای عملی برای برنامهنویسان است تا با پیروی از اصول و روشهای مطرحشده، کدهایی تمیز، خوانا و قابل نگهداری بنویسند. این کتاب نشان میدهد که سرمایهگذاری در نوشتن کدهای باکیفیت نه تنها در کوتاه مدت بلکه در بلندمدت، بهرهوری تیم و کیفیت نرمافزار را به طور چشمگیری افزایش میدهد.
@DevTwitter | <Ali KhodaeiDoost/>
در زیر یک خلاصه از کتاب کلین کد (Clean Code) نوشته رابرت سی. مارتین (عمو باب) ارائه شده است:
1. اهمیت کد تمیز:
کتاب تأکید میکند که کد نوشته شده باید مانند یک داستان خواندنی و قابل فهم برای هر برنامهنویسی باشد. کد تمیز، نگهداری و گسترش آن در طول زمان را بسیار سادهتر میکند.
2. نامگذاری معنادار:
- استفاده از نامهای واضح و دقیق برای متغیرها، توابع و کلاسها به خوانایی کد کمک میکند.
- نامهای خوب باید منظور و عملکرد اجزای کد را به خوبی منعکس کنند.
3. تابعهای کوچک و وظیفهگرا:
- هر تابع باید فقط یک کار مشخص انجام دهد.
- توابع کوتاه، تست و اشکالزدایی آنها را سادهتر میکند و باعث میشود کد بهینهتر و قابل فهمتر شود.
4. کد خود توضیحی:
-کد باید تا حد امکان به گونهای نوشته شود که خود به خود معنا داشته باشد و نیاز به کامنتهای اضافی کاهش یابد.
-کامنتها نباید به عنوان جایگزین کدهای قابل فهم استفاده شوند؛ بلکه باید تنها برای توضیح نکات پیچیده به کار روند.
5. اجتناب از پیچیدگی:
- سعی در ساده نگه داشتن ساختار کد و حذف پیچیدگیهای غیرضروری از اصول مهم کتاب است.
- پیچیدگی زیاد باعث افزایش احتمال خطا و سختی در نگهداری میشود.
6. اصول طراحی شیگرا (SOLID):
-کتاب به اصولی مانند اصل مسئولیتپذیری منفرد (Single Responsibility) و سایر اصول SOLID اشاره میکند که به طراحی سیستمهای منعطف و قابل توسعه کمک میکنند.
7. آزموننویسی و پوشش کد:
-اهمیت نوشتن تستهای واحد (Unit Tests) برای اطمینان از صحت عملکرد کد و جلوگیری از بروز خطا در آینده مورد تأکید قرار میگیرد.
-تستهای خوب به برنامهنویسان کمک میکنند تا هنگام تغییر یا اضافه کردن ویژگیهای جدید، عملکرد کد تضمین شود.
8. بازنگری و بهبود مداوم:
-کد هیچگاه “تمام شده” تلقی نمیشود؛ بلکه همیشه جای بهبود دارد.
- نویسنده توصیه میکند که برنامهنویسان به صورت مستمر کدهای خود را بازنگری کنند تا آنها را بهینه و تمیز نگه دارند.
9. فرهنگ کاری حرفهای:
-نوشتن کد تمیز تنها به تکنیکهای برنامهنویسی محدود نمیشود؛ بلکه یک نگرش و فرهنگ کاری است که بر احترام به همکاران و ارزش نگهداری سیستمهای نرمافزاری تأکید دارد.
نتیجهگیری:
کتاب کلین کد یک راهنمای عملی برای برنامهنویسان است تا با پیروی از اصول و روشهای مطرحشده، کدهایی تمیز، خوانا و قابل نگهداری بنویسند. این کتاب نشان میدهد که سرمایهگذاری در نوشتن کدهای باکیفیت نه تنها در کوتاه مدت بلکه در بلندمدت، بهرهوری تیم و کیفیت نرمافزار را به طور چشمگیری افزایش میدهد.
@DevTwitter | <Ali KhodaeiDoost/>
👍76👎13❤10🔥3
سازنده ردیس، چند وقتی میشه که به تیمش برگشته، و چند روز پیش این پست رو با عنوان "We are destroying software" تو بلاگ شخصیش منتشر کرده
کل پست صرفاً چند جمله که با همین عبارت شروع میشه، ولی واقعاً جای تفکر داره
چیزی نمیگم، خیلی کوتاهه خودتون بخونید :)
antirez.com/news/145
@DevTwitter | <Taqi/>
کل پست صرفاً چند جمله که با همین عبارت شروع میشه، ولی واقعاً جای تفکر داره
چیزی نمیگم، خیلی کوتاهه خودتون بخونید :)
antirez.com/news/145
@DevTwitter | <Taqi/>
👍53
قابل توجه کسایی که به تازگی با Docker آشنا شدن!
اگه با کانتینرها کار میکنی، حتما اسم Kubernetes و Docker Swarm رو شنیدی. هر دوتا برای مدیریت کانتینرها ساخته شدن، ولی بعضی از تفاوتهای اصلیشون چیه و کدوم بیشتر به درد میخوره؟
Kubernetes
- یه پلتفرم قوی و پر از امکانات برای مدیریت و مقیاسپذیری کانتینرها
- قابلیت Self-Healing (کانتینر کرش کنه خودش درستش میکنه)
- قابلیت Load Balancing و Auto scaling داره
- برای پروژههای بزرگ عالیه
ولی پیادهسازیش سخته، منابع زیادی مصرف میکنه و یادگیریش زمانبره
Docker Swarm
- ساده، سریع و مستقیم توی Docker ادغام شده
- نصبش یه خط دستوره، پیچیدگی خاصی نداره
- سبکتر از Kubernetes و مناسب برای پروژههای کوچیک و متوسط ولی Auto scaling نداره، مانیتورینگش ضعیفه و تو Production سطح بالا خیلی جواب نمیده
من خودم بدون شک Kubernetes رو ترجیح میدم.
@DevTwitter | <Iman Rajabi/>
اگه با کانتینرها کار میکنی، حتما اسم Kubernetes و Docker Swarm رو شنیدی. هر دوتا برای مدیریت کانتینرها ساخته شدن، ولی بعضی از تفاوتهای اصلیشون چیه و کدوم بیشتر به درد میخوره؟
Kubernetes
- یه پلتفرم قوی و پر از امکانات برای مدیریت و مقیاسپذیری کانتینرها
- قابلیت Self-Healing (کانتینر کرش کنه خودش درستش میکنه)
- قابلیت Load Balancing و Auto scaling داره
- برای پروژههای بزرگ عالیه
ولی پیادهسازیش سخته، منابع زیادی مصرف میکنه و یادگیریش زمانبره
Docker Swarm
- ساده، سریع و مستقیم توی Docker ادغام شده
- نصبش یه خط دستوره، پیچیدگی خاصی نداره
- سبکتر از Kubernetes و مناسب برای پروژههای کوچیک و متوسط ولی Auto scaling نداره، مانیتورینگش ضعیفه و تو Production سطح بالا خیلی جواب نمیده
من خودم بدون شک Kubernetes رو ترجیح میدم.
@DevTwitter | <Iman Rajabi/>
👍53❤9
گِرِپ- سریع ترین موتور جستجوی کد در جهان
وقتی گیتهاب کم میاره، گرپ اپ وارد میشه!
تا حالا شده دنبال یه قطعه کد بگردی و سرچ گیتهاب اذیتت کنه؟
یا بخوای ببینی یه فانکشن خاص توی کلی ریپو چجوری استفاده شده؟
اینجاست که grep.app میتونه نجاتت بده! یه موتور جستجوی سریع برای کد که بهت اجازه میده با Regex بگردی، کدهای اوپنسورس رو بکاوی و خیلی راحتتر اون چیزی که میخوای رو پیدا کنی.
چندتا ویژگی خفن:
- جستجوی سریع و دقیق توی مخازن عمومی GitHub
- پشتیبانی از Regex برای فیلترهای حرفهای
- امکان جستجو توی چندین زبان برنامهنویسی
اگه تا حالا ازش استفاده نکردی، یه بار امتحانش کن، شاید عاشقش شدی!
@DevTwitter | <Bahare Zarei/>
وقتی گیتهاب کم میاره، گرپ اپ وارد میشه!
تا حالا شده دنبال یه قطعه کد بگردی و سرچ گیتهاب اذیتت کنه؟
یا بخوای ببینی یه فانکشن خاص توی کلی ریپو چجوری استفاده شده؟
اینجاست که grep.app میتونه نجاتت بده! یه موتور جستجوی سریع برای کد که بهت اجازه میده با Regex بگردی، کدهای اوپنسورس رو بکاوی و خیلی راحتتر اون چیزی که میخوای رو پیدا کنی.
چندتا ویژگی خفن:
- جستجوی سریع و دقیق توی مخازن عمومی GitHub
- پشتیبانی از Regex برای فیلترهای حرفهای
- امکان جستجو توی چندین زبان برنامهنویسی
اگه تا حالا ازش استفاده نکردی، یه بار امتحانش کن، شاید عاشقش شدی!
@DevTwitter | <Bahare Zarei/>
🔥50👍14
خوشحالم اعلام کنم که به عنوان یک ایرانی، یکی از پکیج های لاراولی من به 20 هزار نصب رسیده
این پکیج من که کار اعتبارسنجی در لاراول انجام میده، در خیلی از سایت های معروف لاراولی به اشتراک گذاشته شده مثل Laravel Daily، Laravel News و...
اگه دوست داشتید استار کنید تا به 500 تا استار در گیت هاب برسیم
https://github.com/milwad-dev/laravel-validate
@DevTwitter | <Milwad Khosravi/>
این پکیج من که کار اعتبارسنجی در لاراول انجام میده، در خیلی از سایت های معروف لاراولی به اشتراک گذاشته شده مثل Laravel Daily، Laravel News و...
اگه دوست داشتید استار کنید تا به 500 تا استار در گیت هاب برسیم
https://github.com/milwad-dev/laravel-validate
@DevTwitter | <Milwad Khosravi/>
❤147👍29👎5🔥5
آخرای نود جی اسه؟ Bun و Deno جایگزین خواهند شد؟
آیا زمان خداحافظی با Node.js رسیده است؟
اخیرا، نود جی اس دو رقیب جدید پیدا کرده: Deno و Bun. هر دو وعده دادن که مشکلات Node.js را حل کنن و تجربه توسعه را بهبود ببخشن. ولی واقعا میتونن؟
نود جی اس(Node.js)؛ پیر ولی قدرتمند
- کامیونیتی بزرگ و اکوسیستم غنی (NPM)
- پشتیبانی گسترده در شرکتهای بزرگ
- عملکرد خوب در پروژههای تولیدی
- تجربه توسعهدهنده آشنا و پایدار
اما در کنار این نقاط قوت، چالشهایی هم دارد:
- مدیریت دیپندسی ها (node_modules کابوس همیشگی!)
- سرعت پایینتر در اجرای برخی اسکریپتها
- امنیت پیشفرض ضعیفتر نسبت به Deno
دینو(Deno)؛ با آینده!
دینو Deno، ساخته شده توسط خالق Node.js (Ryan Dahl)، قصد داره اشتباهات گذشتش را جبران کنه:
- امنیت داخلی (اجازههای محدود برای فایلها و شبکه)
- پشتیبانی از TypeScript بهصورت پیشفرض
- عدم نیاز به package.json و node_modules
- استفاده از URL برای مدیریت پکیجها
اما هنوز مشکلاتی دارد:
- کامیونیتی و پکیجهای کمتر نسبت به NPM
- نبود برخی ویژگیهای پرکاربرد Node.js
بان(Bun)؛ سریعتر!
بان اومده تا نهتنها جایگزین Node.js باشه، بلکه تجربه توسعهدهنده را بهبود بده:
- سرعت بینظیر در اجرای جاوااسکریپت (بیشتر از 3 برابر سریعتر از Node.js)
- ای پی آی Built-in Web APIs (مانند Fetch، WebSockets، و Buffer)
- جایگزین مستقیم npm، yarn و pnpm (مدیریت پکیج فوقسریع!)
- کاملاً سازگار با Node.js API
اما
- هنوز به پایداری و تست گسترده در پروژههای بزرگ نرسیده
- اکوسیستم کوچکتر از Node.js
کدومو انتخاب کنیم؟
- پروژت پروداکشن و پایداره؟ هنوز Node.js بهترین گزینه س.
- اگه امنیت و TypeScript پیشفرض برات مهمه؟ Deno رو استفاده کن.
- اگه نهایت سرعتو میخوای؟ Bun رو تست کن.
@DevTwitter | <Amirreza Abdolrahimi/>
آیا زمان خداحافظی با Node.js رسیده است؟
اخیرا، نود جی اس دو رقیب جدید پیدا کرده: Deno و Bun. هر دو وعده دادن که مشکلات Node.js را حل کنن و تجربه توسعه را بهبود ببخشن. ولی واقعا میتونن؟
نود جی اس(Node.js)؛ پیر ولی قدرتمند
- کامیونیتی بزرگ و اکوسیستم غنی (NPM)
- پشتیبانی گسترده در شرکتهای بزرگ
- عملکرد خوب در پروژههای تولیدی
- تجربه توسعهدهنده آشنا و پایدار
اما در کنار این نقاط قوت، چالشهایی هم دارد:
- مدیریت دیپندسی ها (node_modules کابوس همیشگی!)
- سرعت پایینتر در اجرای برخی اسکریپتها
- امنیت پیشفرض ضعیفتر نسبت به Deno
دینو(Deno)؛ با آینده!
دینو Deno، ساخته شده توسط خالق Node.js (Ryan Dahl)، قصد داره اشتباهات گذشتش را جبران کنه:
- امنیت داخلی (اجازههای محدود برای فایلها و شبکه)
- پشتیبانی از TypeScript بهصورت پیشفرض
- عدم نیاز به package.json و node_modules
- استفاده از URL برای مدیریت پکیجها
اما هنوز مشکلاتی دارد:
- کامیونیتی و پکیجهای کمتر نسبت به NPM
- نبود برخی ویژگیهای پرکاربرد Node.js
بان(Bun)؛ سریعتر!
بان اومده تا نهتنها جایگزین Node.js باشه، بلکه تجربه توسعهدهنده را بهبود بده:
- سرعت بینظیر در اجرای جاوااسکریپت (بیشتر از 3 برابر سریعتر از Node.js)
- ای پی آی Built-in Web APIs (مانند Fetch، WebSockets، و Buffer)
- جایگزین مستقیم npm، yarn و pnpm (مدیریت پکیج فوقسریع!)
- کاملاً سازگار با Node.js API
اما
- هنوز به پایداری و تست گسترده در پروژههای بزرگ نرسیده
- اکوسیستم کوچکتر از Node.js
کدومو انتخاب کنیم؟
- پروژت پروداکشن و پایداره؟ هنوز Node.js بهترین گزینه س.
- اگه امنیت و TypeScript پیشفرض برات مهمه؟ Deno رو استفاده کن.
- اگه نهایت سرعتو میخوای؟ Bun رو تست کن.
@DevTwitter | <Amirreza Abdolrahimi/>
👍57👎7