DevTwitter | توییت برنامه نویسی – Telegram
DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.1K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
‏یک اکانت خارجی یا به قصد خنده یا به قصد ترول کردن، مثال hello world رو در C و Rust نوشته و کامپایل کرده‌ و خروجی اجرایی‌اش برای سی شده ۱۵k و راسط شده چندین مگابایت. نتیجه گیری هم کرده که ببینید راسط چقدر بده!

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

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

من روی مک وقتی با شرایط مساوی کامپایل میکنم، خروجی سی میشه ۱۲.۶k و خروجی راسط میشه ۱۳.۸k نه چندین مگابایت! که تازه همینم زیادی هست و قابل کوچک‌تر شدن!
بعد بر فرض اینکه حجم‌اش چند مگ هم باشه، چه تاثیری داره دقیقا؟ متوجه هستید که جریان اجرایی ماشین و حجم کدهایی که روی پردازنده میرن ربطی به حجم فایل اجرایی در دیسک نداره دیگه؟

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

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

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

@DevTwitter | <Amirreza Gh/>
1👍114👎162
نرم افزار رایگان یادداشت برداری با امکانات فراوان(دستخط، ترسیم شکل، حاشیه نویسی بر PDF، ...)

پ.ن:
وقتی با خودکار و کاغذ شروع و عادت کردی؛ همه جا دنبال کاغذ و خودکار میگردی!

https://xournalpp.github.io
https://github.com/xournalpp/xournalpp/

@DevTwitter | <Koroush/>
👍412
اگر Steam Deck و Playstation دارید میتونید این Chiaki-ng رو نصب کنید اون وقت انگار Playstation Portal هم دارید و میتونید ریموت از پی اس استفاده کنید

https://github.com/streetpea/chiaki-ng

@DevTwitter | <Dara/>
👍15👎91
یه محقق کلا 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 | <احسانـــ/>
🔥149👍171👎1
این بالارفتن قیمت دلار برای پکیج فروشا بدجور نون و آبه

حواستون باشه تو دامشون نیوفتید
تا جای ممکن از یوتیوب استفاده کنید برای یاد گرفتن چیزای مختلف
👍1717🔥2
اگر کتاب کلین کد رو نخوندید ، متن زیر رو بخونید انگار کل کتاب رو خوندید (توسط هوش مصنوعی تولید شده)

در زیر یک خلاصه از کتاب کلین کد (Clean Code) نوشته رابرت سی. مارتین (عمو باب) ارائه شده است:

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

2. نامگذاری معنادار:
- استفاده از نامهای واضح و دقیق برای متغیرها، توابع و کلاسها به خوانایی کد کمک میکند.
- نام‌های خوب باید منظور و عملکرد اجزای کد را به خوبی منعکس کنند.

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

4. کد خود توضیحی:
-کد باید تا حد امکان به گونه‌ای نوشته شود که خود به خود معنا داشته باشد و نیاز به کامنت‌های اضافی کاهش یابد.
-کامنت‌ها نباید به عنوان جایگزین کدهای قابل فهم استفاده شوند؛ بلکه باید تنها برای توضیح نکات پیچیده به کار روند.

5. اجتناب از پیچیدگی:
- سعی در ساده نگه داشتن ساختار کد و حذف پیچیدگی‌های غیرضروری از اصول مهم کتاب است.
- پیچیدگی زیاد باعث افزایش احتمال خطا و سختی در نگهداری می‌شود.

6. اصول طراحی شی‌گرا (SOLID):
-کتاب به اصولی مانند اصل مسئولیت‌پذیری منفرد (Single Responsibility) و سایر اصول SOLID اشاره میکند که به طراحی سیستم‌های منعطف و قابل توسعه کمک میکنند.

7. آزموننویسی و پوشش کد:
-اهمیت نوشتن تستهای واحد (Unit Tests) برای اطمینان از صحت عملکرد کد و جلوگیری از بروز خطا در آینده مورد تأکید قرار میگیرد.
-تستهای خوب به برنامه‌نویسان کمک میکنند تا هنگام تغییر یا اضافه کردن ویژگیهای جدید، عملکرد کد تضمین شود.

8. بازنگری و بهبود مداوم:
-کد هیچگاه “تمام شده” تلقی نمیشود؛ بلکه همیشه جای بهبود دارد.
- نویسنده توصیه میکند که برنامهنویسان به صورت مستمر کدهای خود را بازنگری کنند تا آنها را بهینه و تمیز نگه دارند.

9. فرهنگ کاری حرفهای:
-نوشتن کد تمیز تنها به تکنیکهای برنامهنویسی محدود نمیشود؛ بلکه یک نگرش و فرهنگ کاری است که بر احترام به همکاران و ارزش نگهداری سیستمهای نرم‌افزاری تأکید دارد.

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

@DevTwitter | <Ali KhodaeiDoost/>
👍76👎1310🔥3
سازنده ردیس، چند وقتی میشه که به تیمش برگشته، و چند روز پیش این پست رو با عنوان "We are destroying software" تو بلاگ شخصیش منتشر کرده

کل پست صرفاً چند جمله که با همین عبارت شروع میشه، ولی واقعاً جای تفکر داره

چیزی نمیگم، خیلی کوتاهه خودتون بخونید :)

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/>
👍539
گِرِپ‌- سریع ترین موتور جستجوی کد در جهان

وقتی گیتهاب کم میاره، گرپ اپ وارد میشه!

تا حالا شده دنبال یه قطعه کد بگردی و سرچ گیتهاب اذیتت کنه؟
یا بخوای ببینی یه فانکشن خاص توی کلی ریپو چجوری استفاده شده؟

اینجاست که 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/>
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/>
👍57👎7
نسخه اولیه پکیچ احراز هویت موبایلی ورودیا (Vordia) لاراول منتشر شد.

این پکیچ برای لاراول ساختم و از اپراتور sms.ir استفاده می کند.

به مرور زمان اپراتورهای sms دیگر نیز اضافه خواهد شد و دوستان می توانند در گسترش این پکیچ مشارکت کند.

این پکیچ اوپن سورس و رایگان است.

https://github.com/Rayiumir/Vordia

@DevTwitter | <Raymond Baghumian/>
👍33🔥5👎31
This media is not supported in your browser
VIEW IN TELEGRAM
چند هفته پیش پست گذاشتم که کمپانی HuggingFace قراره یک کورس راجع به AI Agents ها بذاره که رایگان هم هست. الان این کورس شروع شده و اولین قسمتش که یکجور مقدمه هست را گذاشتن. حتما برید ثبت نام کنید و توی کانال دیسکوردشون هم عضو بشید. کلی سوال و discussion و اینجور مطالب مفید هست. خلاصه از دست ندید این کورس را!
https://huggingface.co/learn/agents-course/en/unit0/introduction

@DevTwitter | <Mehdi Allahyari/>
👍164
مدتی است که دیگر از reCAPTCHA گوگل استفاده نمی‌کنم چون در عمل می‌دیدم که بهره‌وری قدیم را ندارد و با سیستم های مشابه آن را جایگزین کردم.
متوجه شدم یک تحقیق بزرگ انجام شده و این حرف را تایید می‌کند. و جالب‌تر که کپچا ها برای گوگل سود ۱ تریلیون دلاری داشته!

لینک تحقیق

@DevTwitter | <Vahid Nameni/>
👍585👎3
گوگل‌ لحظاتی پیش اشتراک پرمیوم Notebook LM رو هم به پکیج گوگل وان اضافه کرد.
با آپدیت‌های اخیر گوگل برای سری 2.0‌ Gemini و این نوت‌بوک و همینطور ۲ ترابایت حافظه ابری و تمام سرویس‌هایی که از قبل برای مشترکان گوگل‌وان بود، میشه گفت این الان ارزشمندترین ۲۰ دلاریه که میتونید بدید.

@DevTwitter | <Amin Anvary/>
👍324
This media is not supported in your browser
VIEW IN TELEGRAM
دوستانی که مقاله مینویسن یا هرچیز دیگه و نیاز دارن که معادله ریاضیو کپی از ChatGpt، میتونن از این کروم اگستنشن استفاده کنن و به فرمت LaTex و MathML برای ورد خروجی میده میتونید استفاده کنید
کدشو تو گیت هاب گذاشته اگر ایده ای دارید میتونید استفاده کنید

https://github.com/joeeliang/gptCopy

@DevTwitter | <The Boss/>
👍436🔥2
اگه حافظه در agentic ai لازم دارید langgraph جواب بهتری میده. کاش زودتر اینو دیده بودم
https://github.com/langchain-ai/langgraph

@DevTwitter | <Mohammad Javidan Darugar/>
👍20
هر دولوپری باید این چیت‌شیت‌ها رو داشته باشه، وگرنه نصف عمرش بر فناست! توی این پست، یه لیست خفن از مهم‌ترین چیت‌شیت‌هایی که کارتو سریع‌تر، حرفه‌ای‌تر و راحت‌تر می‌کنه رو برات آوردم! از Git و Regex گرفته تا Docker و JavaScript – اینا همون تقلب‌هایی هستن که هر برنامه‌نویسی باید بلد باشه!

1. چیت‌شیت‌ GIT :
https://education.github.com/git-cheat-sheet-education.pdf

2. چیت‌شیت‌ SQL :
https://websitesetup.org/wp-content/uploads/2020/04/MySQL-Cheat-Sheet-websitesetup.org_.pdf

3. چیت‌شیت‌ Regex :
https://adprice.fedorapeople.org/regular-expressions-cheat-sheet-v1.pdf

4. چیت‌شیت‌ Docker :
https://dockerlabs.collabnix.com/docker/cheatsheet/

5. چیت‌شیت‌ UI/UX :
https://lawsofux.com/

6. چیت‌شیت‌ Grid css :
https://css-tricks.com/snippets/css/complete-guide-grid/

7. چیت‌شیت‌ Flexbox css :
https://css-tricks.com/snippets/css/a-guide-to-flexbox/

8. چیت‌شیت‌ JS Methods :
https://maktabkhooneh.org/mag/javanoscript-methods/

9. چیت‌شیت‌ Bootstrap :
https://websitesetup.org/wp-content/uploads/2020/03/Bootstrap-Cheat-Sheet-websitesetup.org_.pdf

10. چیت‌شیت‌ VS code Keywords :
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

11. چیت‌شیت‌ Emmet :
https://docs.emmet.io/cheat-sheet/

12. چیت‌شیت‌ OOP in PHP :
https://www.w3schools.com/php/php_oop_what_is.asp

13. چیت‌شیت‌ NPM :
https://docs.npmjs.com/

@DevTwitter | <Amirreza Riahi/>
👍37🔥10👎84
تصور کن توی یه سیستم مالی، چند نفر هم‌زمان بخوان همون مبلغ رو برداشت کنن! نتیجه؟ فاجعه‌ای شبیه یه قرعه‌کشی نامنظم!

راه‌حل؟ استفاده از lockForUpdate در Laravel!
چرا؟ چون:
- جلوی برداشت‌های تکراری رو می‌گیره.
- امنیت تراکنش‌های مالی رو تضمین می‌کنه.
- عملکرد سیستم رو توی تراکنش‌های همزمان بهبود می‌ده.

اگه به امنیت و پایداری سیستم مالی اهمیت می‌دی، lockForUpdate رو فراموش نکن!

@DevTwitter | <Navid Vakili/>
👍53👎17🔥52
DevTwitter | توییت برنامه نویسی
اگر کتاب کلین کد رو نخوندید ، متن زیر رو بخونید انگار کل کتاب رو خوندید (توسط هوش مصنوعی تولید شده) در زیر یک خلاصه از کتاب کلین کد (Clean Code) نوشته رابرت سی. مارتین (عمو باب) ارائه شده است: 1. اهمیت کد تمیز: کتاب تأکید میکند که کد نوشته شده باید مانند…
حالا اگر کتاب کلین کد رو نخوندید و احساس میکنید تو ۴۶۰ صفحه، احتمالا حرفهای خیلی بیشتری زده شده و آماده هستید که یک نفر همهی اونها شسته رفته و به زبان فارسی + توضیحات و مثالهای بیشتر بهتون بگه؛ در عین حال از اونجایی که کتاب رو screen share کرده میبینید که هیچ آیتمی رو هم الکی رد نمیکنه... میتونید به پلیلیستی که درست کردم سر بزنید و اونها رو ببینید و کدتون رو چند پله بهتر کنید!

https://www.youtube.com/playlist?list=PLvComYym9Hg3mXWX4hjIEAnqo5vv4ccS-&themeRefresh=1

@DevTwitter | <Amin Bazgir/>
👍4616👎3
تا حالا شده دیزاینر یه طرحی بهت بده که بوردرش گرادینت داشته باشه و تو دلت حسابی بهش بد و بیراه بگی؟
اون بنده خدا رو ول کن، به جاش بیا از این کد استفاده کن!
امروز یه ترفند جالب براتون دارم که بهتون کمک می‌کنه بدون div اضافی و pseudo element یه بوردر گرادینت خفن درست کنید. فقط با CSS خالص!

چطوری کار می‌کنه؟
از linear-gradient برای ایجاد گرادینت استفاده می‌کنیم.
با padding-box و border-box مشخص می‌کنیم که گرادینت فقط روی بوردر اعمال بشه.
بوردر رو transparent می‌ذاریم تا پس‌زمینه‌ی گرادینت معلوم بشه.

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

حالا دیگه می‌تونید با خیال راحت به دیزاینر بگید: «باشه، حله!»

@DevTwitter | <Hossein Akbari/>
🔥43👍101