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
چقدر به این فکر می کنید که یک روزی برسه که مجبور بشید توی مدت زمان خیلی کوتاه از مخازن پابلیک گیت‌هاب خودتون یا بقیه، بک آپ بگیرید ؟

عددش هرچقدر که هست، در مورد این، می‌تونید به Magnet اعتماد کنید و خب، طبق معمول این روزها، با Rust نوشتمش.

https://github.com/naseridev/magnet

@DevTwitter | <Nima Naseri/>
🔥20👎43
اگر احتمالا دنبال زیرنویس هستین و ترجمه به زبونی که میخواین وجود نداره میتونین از Workflow زیر تو n8n استفاده کنین :
https://gist.github.com/MrOplus/1436ec3c8d84e8a692e6e98f7807d4aa

@DevTwitter | </dev/nvram/>
8👍2
خب این بنچمارک خیلی جالبی شد:)
برای اجرای 10هزار بار یک تابع wrangling
با Zero Copy تقریبا 50% حجم خط های کد افزایش داشت و عملکرد رو بدتر کرد
بهترین عملکرد رو Cython داشت و دردسر و over head کمتری نسبت به rust توی PyO3 داشت
انتخابم از این به بعد کد پایتون بهینست بدون اضافات :)

@DevTwitter | <Soroush Moosapour/>
👎2516👍3
دلیل اینکه در زبان‌هایی مثل Go یا Rust یا حتی C دچار سردرگمی میشید، بخاطر این هست که میخواهید ساختارهایی که از زبان‌های شی‌گرا در ذهن دارید رو دقیقا به همون شکل در این‌ها هم داشته باشید. این زبان‌ها هم تا حدی این توهم رو ایجاد میکنند که اینکار شدنی هست؛ و میتوان گفت که همینطور است، ولی فقط در ظاهر!

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

مثلا اگر امروز به یک برنامه‌نویس Go یا Rust یک پروژه‌ی بانکی یا یک سیستم فروشگاه رو محول کنید، به احتمال زیاد این پروژه رو مبتنی بر DDD انجام خواهد داد! حتی یک برنامه‌نویس Clojure هم احتمالا همین رویه را دنبال خواهد کرد! الان احتمالا در ذهن شما این سوال پیش آمده که DDD؟ چطور همچین چیزی ممکن هست؟ مگه این برای شی گرایی نیست؟ خیر، «شما» اون رو با شی گرایی یاد گرفتید، ولی خودش یک ایده‌ی عمومی است.

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

این دیدگاه، شما را دچار مشکل میکند، و دلیل اصلی اش این است که شما حتی در زبان‌های شی‌گرا هم به درستی درک نکرده بودید که کلاس چیست! و همان دیدگاه اشتباه خود درباره کلاس رو به سایر زبان‌ها هم انتقال میدهید!

وقتی حرف از کلاس میشود، بیشتر افراد میکنند کلاس یک بلاک از کد است که تعدادی فیلد و متد را بین دو {} گرد هم آورده است.

اما کسی سوال نمیکند خب چرا اینکار را کردند؟ فقط چون میخواستند یک سری فیلد داشته باشند و یک سری تابع بتوانند روی ان‌ها کار کنند؟

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

ویژگی‌هایی وجود دارد که باعث میشود کلاس، کلاس بشود:

۱. کلاس دارای مکانیزم وراثت است.
۲. کلاس پلی مورفیسم مبتنی بر وراثت را فراهم میکند (متدهای virtual)
۳. از روی کلاس، میتوان آبجکتی در حافظه تولید کرد.
۴. کلاس آبجکت‌ها را دسته بندی میکند (برای همین اسمش class است). یعنی باید بتوان جواب این سوال را جویا شد: ایا فلان آبجکت جزو فلان کلاس است؟
۵. آبجکت‌های ساخته شده از روی کلاس، دارای لایف تایم متفاوتی از سایر بلاک ها هستند. ابجکت‌ها حالت رفرنس دارند. به این معنی که تقریبا در تمام زبان‌ها، در هیپ قرار میگیرند.

اینکه دیتا و توابع را کنار هم و در یک بلاک به اسم کلاس جمع کردن‌اند، به خاطر این است که یک کانتکست یکپارچه پدید آورند که در قالب آن بتوانند همه‌ی ویژگی‌های بالا را برآورده کنند.

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

یا مثلا در C یا سایر زبان‌ها، فیلد‌ها و متدها را در ماژول‌ها گرد هم میاورند. ایا با اینکار آن ماژول تبدیل به کلاس شده است؟

اتفاقی که این وسط افتاده این است:
۱. شما در حین یادگیری شی گرایی بدرستی درک نکردید که کلاس چیست!
۲. بر مبنای آن درک اشتباه، فکر کردید شی گرایی یعنی کنار هم قرار دادن فیلدها و متدها در یک بلاک.
۳. اصرار به این دارید که این درک اشتباه را در زبان‌هایی که اصلا دارای کلاس نیستند پیاده سازی کنید.

این همان جایی است که در زبان‌هایی مانند Go و Rust و Zig و C سایرین به مشکل بر میخورید. برای همین هست که میگویند این‌ها را با زبان‌های شی گرا اشتباه نگیرید. چون این‌ها از نظر ظاهری، شاید شرایطی را فراهم کنند که به چشم شما مشابه چیزی باشد که در شی گرایی به یاد داشتید، ولی از نظر Semantics با زبان‌های شی گرا متفاوت اند.

@DevTwitter | <Amirreza Gh/>
👍6114👎11🔥3
بزرگترین حمله‌ی supply-chain تاریخ دیروز اتفاق افتاد.
با یه ایمیل فیشینگ ساده به حساب‌های اصلی دسترسی گرفتند و نسخه‌های آلوده منتشر شد.

تو متن نوشته اگه احراز هویتت رو آپدیت نکنی حسابت لاک میشه و تمام، تارگت کلیک کرد.

باید به همه چیز شک داشت مگه اینکه خلافش ثابت بشه.

@DevTwitter | <Sabber/>
👍24🔥61
سه Collection Method‌ کم تر شناخته شده در لاراول
1- متد pipe
بهمون اجازه میده که یه منطق سفارشی رو وسط زنجیره قرار بدیم بدون اینکه نیاز باشه Collection رو قطع کنیم و متغیر جدید بسازیم ، در نتیجه کد تمیزتر و خواناتر میشه (تصویر اول)
بدون pipe باید مرحله به مرحله متغیر بسازیم.
2- متد mapInto
هر عنصر Collection را به یک شیء از یک کلاس تبدیل می‌کنه.
برای مثال فرض کنید که کلاسی به نام UserData داریم که شامل پروپرتی های name
و registeredAt هستش(تصویر دوم)
در تصویر سوم با استفاده از این متد ، کالکشن رو تبدیل به آرایه ای از آبجکت ها میکنیم.
3- متد reduce
این متد یک جمع‌بندی یا تجمیع روی Collection انجام می‌ده مثل حلقه‌ای که مقدار اولیه می‌گیره و روی هر عنصر اعمال می‌شه (تصویر چهارم)

@DevTwitter | <Babak Mirhosseini/>
16👍2🔥2
تصور کنید در حال انتخاب کتابخانه‌ای برای پروژه‌تون هستید: React یا Vue؟ Tailwind یا Bootstrap؟ Lodash یا Ramda؟

همیشه این سوال پیش میاد که کدوم یکی ترندتره، بیشتر دانلود می‌شه، یا جامعه بزرگ‌تری داره؟

امروز می‌خوام یک ابزار فوق‌العاده رو بهتون معرفی کنم:
npmtrends.com
این سایت مثل یک رادار برای اکوسیستم npm عمل می‌کنه و بهتون کمک می‌کنه پکیج‌ها و کتابخانه‌های مختلف رو با هم مقایسه کنید.

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


@DevTwitter | <Seyed Mehrzad Sajjadi/>
👍21👎156🔥1
از اونجایی که آموزش‌های فارسی در زمینه Markdown و ابزاری مثل Pandoc کم هستند و کار با اونها برای تازه‌کارها تا حدی گیج‌کننده، یک راهنمای جامع و کاربردی به زبان فارسی با mdBook آماده کردم که میشه روی GitHub Pages از اینجا مطالعه کرد:
https://ackreq.github.io/mdlearn

کد منبع پروژه هم در GitHub در دسترسه:
https://github.com/ackreq/mdlearn

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

@DevTwitter | <Mohammad/>
32👍9🔥4👎1
چند وقت پیش خیلی دنبال یه پکیج خوب بودم برای soap server البته از یسری پکیج ها استفاده کردم منتها هیچکدومشون آرایه رو پشتیبانی نمی‌کردن
یه بدی دیگه هم که داشتن نمیشد تو هر فریم ورکی ازش استفاده کرد و از گوریلا برای routeing استفاده کرده بودن.

منم مجبور شدم به شیوه خودم یکی بنویسم که توی هر فریم ورکی بشه ازش استفاده کرد.

البته. سعی کنین سمت soap نرین هیچوقت اما اگه شما هم مثل من تو یه سازمان کار میکردین که تعویض سرویس های دیگه براتون هزینه بردار بود و مجبور به راه اندازی soap server بودین میتونین از این پکیج استفاده کنین

https://github.com/aminzohrabifar/simplesoapserver
بیزحمت اگه خوشتون‌اومد‌ستاره بارونش کنین خوشحال می‌شم

@DevTwitter | <فامیل دور/>
18👍5👎2🔥1
https://github.com/TheAlgorithms/C-Sharp

تمامی الگوریتم‌ها پیاده‌سازی‌شده با زبان C# — برای اهداف آموزشی و یادگیری

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

@DevTwitter | <Hamed Heydarian/>
👍164👎4🔥2
۶ تا کتابخونه خفن React که روی shadcn/ui ساخته شدن که می‌تونید باهاشون بترکونید .
۱. Origin UI
چی هست؟ مجموعه کامپوننت‌های copy-and-paste برای React و Tailwind، مطابق با convention‌های shadcn/ui.
چرا کاربردیه؟ سریع‌ترین راه برای استفاده از کامپوننت‌های آماده مثل Button، Navbar، Accordion و … در پروژه‌هات.
۲. Tweakcn
چی هست؟ یک ویرایشگر موضوع (Theme Editor) بصری برای shadcn/ui و Tailwind CSS.
چرا کاربردیه؟ بدون نیاز به کد—رنگ‌ها، تایپوگرافی، padding، افکت‌ها و حالت‌ها رو تنظیم کن و خروجی React + Tailwind بگیر.
۳. Shadcnblocks
چی هست؟ مجموعه‌ی بلوک‌ها (Blocks) و تم‌های نمایشی برای shadcn/ui.
ویژگی: بیش از ۶۰۰ بلوک آماده و کاملاً تم‌دار بر اساس متغیرهای رسمی shadcn/ui.
۴. Aceternity UI
چی هست؟ مجموعه‌ای حرفه‌ای از کامپوننت‌های قابل استفاده در Next.js، ساخته‌شده با shadcn/ui و Framer Motion.
ویژگی: انیمیشن‌های جذاب و کامپوننت‌های آماده برای طراحی‌های پویا.
۵. Kibo UI
چی هست؟ کتابخانه‌ای با مجموعه گسترده‌ای از کامپوننت‌ها، ساخته‌شده برای پروژه‌های پیچیده‌تر.
ویژگی: طراحی شده برای ابزارهای سطح بالا با پشتیبانی کامل از shadcn/ui.
۶. Cult UI
چی هست؟ مجموعه‌ای از کامپوننت‌های متحرک بر پایه‌ی shadcn/ui.
ویژگی: طراحی شده برای توسعه‌دهنده‌های تجربه‌گرا (Design Engineers) که دنبال عنصرهای پویا هستن.


@DevTwitter | <amir mehranfar/>
👍166👎1🔥1
تازه منتشر شد!
مقاله‌ی من با عنوان:
«Revolutionizing Software Intelligence: A Convergent Framework of Neural Program Synthesis, Quantum-Secure DevOps, and Explainable AI for Next-Generation Autonomous Systems»

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

https://msipublishers.com/volume-1-issue-2-jul-sep-msijat-2025/


@DevTwitter | <Mohammad Hossein Alikhani/>
1👍25🔥5👎31
فرض کن مسئول فنی توییتری، ساعت ۸ شبه و یه نفر با ۳۰ میلیون فالوور یه توییت میزنه، تو چند ثانیه، سیستم تو باید توییت رو ببره تو تایم لایت همه فالوراش
حالا سؤال اینه: چطوری سیستم شما باید با کمترین هزینه و بیشترین سرعت این توییت رو بزاره تو تایم لاین فالورا؟

این مشکلی بود که توییتر تو سال 2012 باید حلش میکرد اما راه حلشون چی بود؟
دوتا راهکار روبروشون بود
1- توییت یکبار تو دیتابیس ذخیره شه و هر بار کاربرا با باز کردن تایم لاین یه کوئری بزنن ببینن اونایی که فالو کردن چیا توییت کردن
2- تویتت به محض ارسال تو کش تایم لاین همه فالورا ذخیره بشه
اون اولا توییتر راه اول شماره 1 رو انتخاب کرد که این باعث میشه هر کاربر موقع باز کردن صفحه اول توییتر یک کوئری read بزنه که به مرور با افزایش تعداد خواننده ها که تقریبا دوبرابر نویسنده ها بودن بازدهیش اومد پایین
پس توییتر اومد سویچ کرد رو حالت دوم که با زدن هر توییت میومد تو کش تایم لاین فالورا اون توییت رو اضافه میکرد اینطوری برا نوشتن یه توییت پردازش بیشتری میکرد اما این به سرعتش می ارزید اما خب همچنان یه مشکلی بود!
مشکل این بود ممکن بود یه نفر 30 میلیون فالور داشته باشه و خب نوشتن و قرار دادن اون توییت جدید برای 30 میلیون فالور پردازش و زمان زیادی میخواست و این باز سرعتو میورد پایین
راه حل جدید چی بود؟
ترکیبی از این دوتا روش!
به این صورت که برای اونا که فالورشون کم بود توییت هاشونو میزاشت تو کش تایم لاین فالوراشون و کنارش میمود برای افراد با فالور زیاد هم کوئری read میزد و بعد بر اساس زمان سورتش میکرد

البته احتمالا تا الان باید نحوه کار خیلی تغیر کرده باشه و روش ها بهتری رو انتخاب کرده باشن

@DevTwitter | <ixAbolfazl/>
👍8521👎4
شرکت Qwen از دو مدل جدید Qwen-3-Next رونمایی کرد که در دو نسخه instruct و thinking منتشر شده.

نکته جالب اینه که از 80B پارامتر این مدل تنها 3B اش فعال میشه و به شدت بهینه هستند این دو مدل MOE.

با این پارامتر کم و معماری خاص نسخه thinking از gemini 2.5 flash بهتر عمل کرده

مقایسه این مدل رو با Qwen 235B می‌بینید که چقدر این مدل جدید عملکرد خوبی داره نسبت به تعداد پارامتر اش.

این مدل به صورت native از 256K توکن context پشتیبانی میکنه که تا 1M هم قابل افزایش هست.

به نظر گزینه خوبی برای local هست

@DevTwitter | <Mani/>
29👍7
بعد از چند سال، اون ویدیو جادی با عنوان «توضیح و نوشتن ماشین رمز آلمان در جنگ جهانی دوم» رو دوباره دیدم و امروز با راست، کد جادی رو بازنویسی کردم و پلاگ‌برد، مکانیزم stepping برای روتور ها و چند تا قابلیت دیگه رو هم بهش اضافه کردم.

https://github.com/naseridev/enigma

@DevTwitter | <Nima Naseri/>
53👎13👍5🔥1
سورس آموزشی و قدم به قدم راه اندازی RAG در دات نت، با استفاده از Ollama و Qdrant توی گیتهاب گذاشتم
امیدوارم به دردتون بخوره چون خودم هم برای نوشتنش خیلی جستجو و تحقیق انجام دادم و الان معما چو آسان گشته شده

https://github.com/mRizvandi/AISamples

@DevTwitter | <Mehdi Rizvandi/>
24👎6👍5🔥1
پکیج کندلستیک برای کار با داده های کندلی در حال توسعه اس
نسخه اولیه شو بزودی آماده استفاده میکنم
همچنین نحوه استفاده و ...
همچنین روی PyPi هم آپبودش میکنم

https://github.com/s0hei1/py_candlestick

@DevTwitter | <مع الفارق/>
🔥183👎1
This media is not supported in your browser
VIEW IN TELEGRAM
با term.everything می‌تونی هر اپ GUI رو مستقیم داخل ترمینال اجرا کنی حتی از راه SSH!
برای لینوکس، با Wayland یا X11 کار می‌کنه.
https://github.com/mmulet/term.everything

@DevTwitter | <MehrdadLinux/>
👍31🔥121