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
استفاده از LLM با APIهای رایگان openrouter

برید اینجا و مدل‌هایی که به صورت رایگان در دسترس هستن لیست شدن:
https://openrouter.ai/models?max_price=0

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

@DevTwitter | <Ali Moameri/>
👍237👎4
اخیراً فرصتی شد که سراغ Goravel برم و کمی باهاش کار کنم.
فریموورک Goravel در واقع یک فریم‌ورک شبیه به Laravel اما برای زبان Go هست. چیزی که برام خیلی جالب بود اینه که دقیقا همون حس و حال لاراول رو منتقل می‌کنه؛ از ساختار پوشه‌ها گرفته تا ORM به سبک Eloquent، migrationها و حتی سیستم queue و job.
اگر قبلاً با Laravel کار کرده باشید، ورود به Goravel خیلی راحت میشه و می‌تونید سریع پروژه‌هاتون رو توی Go استارت بزنید. سرعت بالای Go هم در کنار معماری آشنا و تمیز لاراول باعث میشه تجربه جذابی باشه.
به نظرم برای کسایی که دنبال قدرت و سرعت Go هستن ولی در عین حال نمی‌خوان از دنیای راحتی و productivity لاراول جدا بشن، Goravel می‌تونه انتخاب خیلی خوبی باشه.
لینک پروژه:
https://goravel.dev

@DevTwitter | <ehsan moradi/>
👎29👍22🔥52
ابزار Django-MG یک ابزار سریع برای ساخت مدل‌های جنگو بدون نیاز به پیکربندی است. فقط با چند دستور کوتاه و انتخاب کدهای عددی می‌توان مدل‌ها را با فیلدهای آماده تولید کرد.
ویژگی‌ها
تولید خودکار مدل با فیلدهای متنوع (CharField, Money, DateTime و …) با کدهای عددی.
پشتیبانی از افزونه‌های جانبی مثل django-money، django-ckeditor، django-taggit و غیره.
مناسب برای پروژه‌های سریع، نمونه‌سازی و کاهش خطا در تعریف مدل‌ها.

https://pypi.org/project/django-mg/

@DevTwitter | <خالی/>
17👎7👍4🔥1
مدتیه روی یکی از پروژه هام کار می کنم و در این مسیر به یک Slider نیاز داشتم. در ابتدا به دلیل آشنایی قبلی، سراغ Swiper رفتم. اما زمانی که بحث ریسپانسیو مطرح شد، متوجه شدم کار کردن با اون پیچیدگی های زیادی داره و زمان زیادی رو صرف رفع مشکلاتش کردم، بدون نتیجه مطلوب.

بعد از بررسی گزینه های دیگه، با Keen-Slider آشنا شدم و تجربه کار با اون بسیار روان تر و ساده تر بود.


مزایای Keen-Slider:
- استفاده آسان و بدون دردسر
- سازگار با ساختارهای flex و grid (بدون ایجاد اختلال در عملکرد)
- مستندات کامل همراه با مثال های کاربردی
- ریسپانسیو کردن بسیار ساده و سریع


معایب Swiper (از نگاه من):
- پیچیدگی و دشواری در پیاده سازی
- مشکل جدی در سازگاری با flex و grid هنگام ریسپانسیو


در مجموع، تجربه من از کار با Keen-Slider بسیار مثبت بود و استفاده از اون رو به سایر توسعه دهنده ها توصیه می کنم.

@DevTwitter | <Sahand Feizi/>
38👎16👍6🔥2
با معرفی Signal در نسخه های جدید Angular، خیلی از توسعه دهندگان این سؤال رو دارن:

آیا باید RxJS رو کنار بذاریم و فقط از Signals استفاده کنیم؟


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

- ابزار Signals: برای مدیریت state ساده، واکنش پذیری سریع و کدنویسی تمیز. وقتی با داده های لوکال و ساده (در سطح کامپوننت) سروکار دارید (مثل state یک فرم یا تغییرات UI) بهترین گزینه هستن.

- ابزار RxJS: وقتی پای جریان های داده پیچیده وسطه (WebSocket، استریم های real-time، درخواست های ترکیبی HTTP و …) همچنان قدرتمندترین ابزار باقی می مونه.


بهترین رویکرد اینه که در پروژه های واقعی ترکیب هوشمندانه ای از این دو داشته باشیم:

از Signals برای مدیریت state در سطح کامپوننت.
از RxJS برای کار با استریم های پیچیده و async.

اینطوری هم از سادگی Signals لذت می بریم و هم از قدرت RxJS.

@DevTwitter | <Farid Shahdad/>
👍87🔥1
الگوهای مهم Concurrency توی Golang
گاهی وقتا توی Go، کار کردن با concurrency فقط goroutine و channel نیست، یه سری الگو هست که وقتی یاد گرفتم واقعا دیدم کار رو راحت‌تر می‌کنن. مثلا یکی از اینا fan-out/fan-in هست. یعنی فرض کن چند تا goroutine داری که همزمان دارن یه سری داده رو پردازش می‌کنن (این میشه fan-out) و بعد همه‌شون خروجیشون رو میریزن توی یه کانال واحد تا جمع بشه (fan-in). من معمولا اینو وقتی استفاده می‌کنم که یه عالمه فایل یا دیتا دارم که میشه به صورت موازی روشون کار کرد. یه بار برای پردازش لاگ‌ها ازش استفاده کردم، هر worker یه بخش لاگ رو می‌خوند و پردازش می‌کرد و در نهایت همه‌ی نتایج توی یه جا جمع می‌شد.
یه الگوی دیگه که خیلی پرکاربرده worker pool ـه. به جای اینکه برای هر کاری یه goroutine جدا درست کنم، میام یه تعداد ثابت worker درست می‌کنم، مثلا ۵ تا، و همه‌ی کارها رو میریزم توی یه صف. workerها یکی‌یکی برمی‌دارن و انجام میدن. اینجوری هم منابع مصرف نمی‌شن هم قابل مدیریت‌تره. مثلا وقتی می‌خواستم ایمیل انبوه بفرستم، با worker pool خیلی راحت مدیریت کردم که سیستم منفجر نشه.
یه چیزی که همیشه باید حواسم باشه، محدود کردن هم‌زمانی یا همون bounded concurrency هست. مثلا وقتی می‌خوام به یه API خارجی درخواست بزنم، اگه بذارم ۱۰۰ تا goroutine همزمان بزنن، خیلی راحت اون سرویس منو بلاک می‌کنه یا خودم دچار timeout می‌شم. اینجاست که با یه کانال ساده یا semaphore جلوی تعداد درخواست‌ها رو می‌گیرم، مثلا نهایتا ۱۰ تا همزمان.
حالا مشکل بعدی backpressure ـه. این زمانی اتفاق میفته که producer سریع‌تر از consumer کار می‌کنه. مثلا تصور کن داری رویدادها رو از یه سیستم دیگه می‌گیری ولی پردازشت کندتره. اگه هیچ محدودیتی نباشه، حافظه‌ت پر میشه. من معمولا با کانال‌های buffer‌دار اینو مدیریت می‌کنم؛ وقتی بافر پر میشه producer گیر می‌کنه تا consumer کمی جلو بیفته. یه بار اینو توی سیستم لاگینگ پیاده کردم، به جای اینکه همه‌ی لاگ‌ها رو بدون کنترل بخوره، با backpressure سرعت متعادل شد.
یه چیز مهم دیگه cancellation ـه. بارها پیش اومده یه کاری رو استارت زدم ولی دیگه نیاز نبوده ادامه پیدا کنه. مثلا یه درخواست HTTP طولانی بود و کاربر صفحه رو بست. با context خیلی راحت میشه اینو مدیریت کرد، وقتی سیگنال cancel بیاد، همه‌ی goroutineهای مربوطه متوقف می‌شن. این باعث میشه منابع الکی مصرف نشن.
در نهایت هم timeout. خیلی وقتا نمی‌خوای یه عملیات تا ابد ادامه پیدا کنه. مثلا وقتی به یه سرویس بیرونی وصل میشی، میگی اگه بیشتر از ۲ ثانیه طول کشید، دیگه مهم نیست جواب چی بود، تمومش کن. این کار نه تنها سیستم رو responsive نگه می‌داره، بلکه از گیر کردن کل برنامه جلوگیری می‌کنه.

@DevTwitter | <Mohammad Salehi/>
1👍276👎2🔥1
تابستونی که گذشت می خواستم روی یک آنتی دیداس کار کنم. در مرحله ای، ابزاری نوشتم که بتونم این پروژه رو تست کنم. خود پروژه که طبق انتظاراتم جلو نرفت ولی ابزار تستش رو گذاشتم روی گیت هاب.

https://github.com/naseridev/udpnull

@DevTwitter | <Nima Naseri/>
👍18👎3🔥2
دستور cd در لینوکس
برای جا به جایی بین پوشه ها و مسیر ها در linux است
معادل هایی زیادی داره مثل pushd و popd یا dirs
و نسخه های مدرن مثل enhancd یا zoxide
هم هست
https://github.com/ajeetdsouza/zoxide
اینجا لینوکسه و انتخاب با شماست

@DevTwitter | <MehrdadLinux/>
👎1812
افزونه لایو سرچ سریع تر از همیشه!
در نسخه جدید کوئریهای دیتابیس بهینه تر شدن و تفاوتش کاملا مشهوده حتی روی سایت های کوچیک.
علاوه بر این UX با نمایش شورتکات کیبورد بهبود پیدا کرد.
راستی لایو سرچ بدون موس و صرفا با کیبورد هم قابل استفادس

https://github.com/Skilledup/sk-live-search/releases/tag/v1.0.5

@DevTwitter | <Mohammad Anbarestani/>
7👍1🔥1
نسخه GNU Coreutils 9.8 با پشتیبانی از SHA3 منتشر شد
الگوریتم SHA-3 بر پایه‌ی ساختار اسفنجی (sponge construction) متفاوت از ساختار توابع SHA-1/2 است
با دستور cksum -a sha3 -l 512 کار را شروع کنید

@DevTwitter | <MehrdadLinux/>
11👍5👎1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
گوگل از Mixboard رونمایی کرد؛ ابزار جدید هوش مصنوعی برای ایده‌پردازی

گوگل از جدیدترین ابزار هوش مصنوعی خود به نام Mixboard رونمایی کرد. این سرویس درواقع یک مودبرد (Moodboard) می‌سازد و به کاربران امکان می‌دهد تا با استفاده از دستورات متنی ساده، ایده‌های خلاقانه خود را به شکل بصری دربیاورند.

ابزار Mixboard یک بوم باز و بی‌نهایت است که به شما کمک می‌کند تا ایده‌های خود را سازمان‌دهی کنید؛ از این بوم می‌توانید برای طراحی دکوراسیون داخلی یا برنامه‌ریزی مهمانی یا حتی خلق تصاویر سرگرم‌کننده استفاده کنید. این ابزار به مدل هوش مصنوعی Gemini 2.5 Flash مجهز است و با آن قادر خواهید بود از طریق یک دستور متنی ساده، مجموعه‌ای از تصاویر مرتبط را تولید کنید.

@DevTwitter | <Digiato/>
🔥29👍31👎1
ممکنه پیش بیاد که روی چندین پروژه در سیستم خودتون کار کنید، برای سویچ کردن و مدیریت سریع تر آنها در ترمینال یه ابزار خیلی ساده نوشتم گفتم اینجا هم بزارم که شاید بکار دوستان هم اومد

فرایندش اینه که بعد از نصب، دستور (opener aap) رو در ترمینال میزنی
نام پوشه پروژه رو بهش میدی، اونم میره در مسیر home یوزر، سرچ میکنه (Recursive Search) و پروژه رو با مسیرش پیدا میکنه

و بعدش زبان توسعه اونو ازت میخواد (طبق لیستی از زبان های ارائه شده، انتخابش میکنی)

و در نهایت انتخاب ادیتور رو ازت میخواد (کد ادیتور های نصب شده روی سیستم رو پیدا میکنه و لیست میکنه) و بعدش ذخیرش میکنه

بعد از انتخاب یه ادیتور، همونو برای اون پروژه در نظر میگیره و برای بار دوم دیگه نیازی به سلکت مجدد نیست و تنها با دستور کوتاه (o- project-name) پروژه رو باز میکنی

حذف پروژه هایی که به این ابزار معرفی می کنی ربطی به پروژه اصلی نداره

این ابزار opener_cli نسخه لینوکس هست و با node.js نوشته شده
https://github.com/NorouziMilad/opener

@DevTwitter | <YouVsYs/>
🔥17👎62👍2
ابزار diff برای چک کردن تفاوت خط به خط تغییرات فایل استفاده می‌شه. اما نمی‌تونه سینتکس رو بفهمه اومدن یه ابزار ساختن که سینتکس رو می‌فهمه و تغییرات رو توی سطح سینتکس بهتون نشون می‌ده!

نصب :
http://github.com/Wilfred/difftastic

@DevTwitter | <Nimo/>
🔥384👍3👎1
‏برای یادگیری C++ دارم (گشاد گشاد) یه mini grep می نویسم. اینو میذارم اینجا که تنبلی کردم دچار شرم بشم بشینم کاملش کنم
فقط نمیدونم طبق داکیومنت grep ببرمش جلو یا از صفر مال خودمو بنویسم
https://github.com/hamedtahmasebi/mini-grep-cpp

@DevTwitter | <Hamedooo/>
👎42👍253🔥1
برنامه نویس خوش ذوق که برای هر ریلیز از کاور یه انیمه استفاده کرده
https://github.com/panjf2000/ants/releases

@DevTwitter | <Mdhesari/>
57👎15👍6🔥2
یک بلاگ بسیار جالب از کمپانی HuggingFace که توضیح میده چطور یک مدل سبک VLM) vision–language) تونسته مهارت‌های کار با رابط‌ کاربری رو یاد بگیره و کم‌کم تبدیل بشه به یه coding agent برای GUI. تمام پروسه را هم کامل توضیح دادند از دستورالعمل‌های آموزش، ابزارهای پردازش داده، خود مدل، دمو و دیتاست‌ها. تا کامل قابل تکرار باشه. خیلی خوبه! Blog: https://huggingface.co/blog/smol2operator

@DevTwitter | <Mehdi Allahyari/>
👍24👎1
خواستید برنامه اندروید بسازید و معماری قاطی‌پاطی شد؟
یه نمونه معماری تمیز ببینید که همه بخش‌ها جداست و توسعه‌پذیری خیلی بالاست:
http://github.com/android10/Android-CleanArchitecture

@DevTwitter | <Nimo/>
👎127👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
اسلایدرها استفاده میکنی، وقتشه یه گزینه جدید رو بشناسی:
یک کتابخونه جاوااسکریپت برای ساخت اسلایدر و کروسلهای سایت
- سبک
- متنوع
- بینظیر
اسمش هست: Keen Slider

تازه واردی که ارزش امتحان کردن رو داره
مخصوصاً اگر دنبال عملکرد رَوون و طراحی قابل شخصیسازی هستی.

راستی لینکش هم اینجاست
Link : keen-slider.io

@DevTwitter | <Abolfazl Shekarshekan/>
👍156👎1🔥1
امروز گوگل این مقاله رو بهم پیشنهاد داد. خیلی ازش خوشم اومد. چه قشنگ مشکل رو توضیح داد.
https://gist.github.com/avestura/ce2aa6e55dad783b1aba946161d5fef4

@DevTwitter | <Mohsen Shabanian/>
👍35👎85🔥3
سرویس ایمیل برای وب سایتتون
قبلا شما با سرویس Email Routing شرکت cloudflare میتوانستید ایمیل دریافت کنید ولی ارسال نه
سرویس Cloudflare Email Service’s مشکل را با Cloudflare Workers حل کرد و حالا میتوانید ارسال هم داشته باشید
اطلاعات بیشتر
https://blog.cloudflare.com/email-service/

@DevTwitter | <MehrdadLinux/>
17🔥7
بچه هایی که میخوایید از تست XSS خیالتون راحت باشه تا روی بقیه آسیب پذیری ها متمرکز بشید حتما از Reflix استفاده کنید حتما هم با سوییچ -he اجرا کنید تا تستون کامل بشه ،

Github
github.com/nexovir/reflix
ReCommand :

reflix -l urls -X GET -c 15 --dom --headless --xss -pi -hi -he

@DevTwitter | <sardine web/>
14👎8🔥2