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
وقتی دارین زبان برنامه نویسی جدید یاد می‌گیرین، برای اینکه بفهمید یادگرفتینش باید بتونید توش همه ساختمان داده های معروف (مثلا لیست، درخت، پشته و ...) رو بتونید پیاده کنید

http://github.com/emirpasic/gods

@DevTwitter | <Nimo/>
👎34👍226
تا حالا فکر کردین استراتژی redis برای پاک کردن کلیدهای cache که ttl اونها اکسپایر شده چیه؟

در واقع redis دو تا استراتژی داره که از ترکیب این دو برای مدیریت این موضوع استفاده میکنه.

1️- استراتژی اول که بهش میگن lazy expiration ساده ترینشه اینه که وقتی درخواستی برای گرفتن یه کلید اومد اول چک میکنه اون کلید اکسپایر شده یا نه اگه آره اون رو همونجا پاک میکنه و نال برمیگردونه.

2- خب اگه یه کلید برای مدت‌ها صدا زده نشه چی؟ اینجاست که میرسیم به استراتژی دوم یعنی active expiration و به این شکله که میاد مثلا هر 100 میلی ثانیه توی لوپ یه batch که شامل مثلا 20 کلید تصادفی هست رو بررسی میکنه و اونایی که اکسپایر شدن رو پاک میکنه. اگه توی اون لوپ بیشتر از 25 درصد کلیدها پاک بشن اون رو زباله تشخیص میده و حدس میزنه کلیدهای بیشتری هم اکسپایر شدن پس یه batch دیگه اجرا میکنه و در نهایت لوپ تموم میشه تا دوباره لوپ بعدی.

برای همین برخلاف تصور، کلیدهای cache بالافاصله با اتمام ttl حذف نمیشن و ممکنه برای مدتی توی حافظه سرور باقی بمونن مخصوصا اگه حجم کلیدها بالا باشه.

پ.ن: چک کردن تعداد کلیدها در هر لوپ و تعداد اجرای لوپ‌ در ثانیه توی کانفیگ redis قابل تنظیمه، ولی نکته ای که هست هر چی تعداد رو بالاتر ببرین کلیدها سریعتر حذف میشن اما cpu بیشتری درگیر میشه.

@DevTwitter | <Farshad Tofighi/>
👍3212🔥1
تا حالا دقت کردی هر وقت یه سیستم هوش مصنوعی یا اپلیکیشن می‌خواد یه اسم پیش‌فرض بزنه، معمولاً می‌نویسه John Doe؟

به نظرت چرا همیشه همین اسمه؟
جالبه بدونی این اسم تصادفی نیست!

برمی‌گرده به قرن ۱۴ میلادی، وقتی توی دادگاه‌های انگلیس برای پرونده‌های فرضی از اسم John Doe برای شاکی و Richard Roe برای متهم استفاده می‌کردن.
چون می‌خواستن اسم‌هایی داشته باشن که واقعی نباشن ولی بشه راحت باهاشون مثال زد.

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

پس دفعه بعدی که دیدی یه فرم نوشته:
بدون پشتش یه تاریخ ۶۰۰ ساله خوابیده

@DevTwitter | <Pejman Ghafouri/>
253👍22🔥2👎1
تحقیق جدید Anthropic نشون می‌ده مدل‌های LLM بدون توجه به اندازه‌شون، فقط با ۲۵۰ سند مخرب آسیب‌پذیرن

این یعنی تصور "مدل بزرگتر = امنیت بیشتر" اشتباهه!

https://www.anthropic.com/research/small-samples-poison

@DevTwitter | <Mohammad/>
👍24🔥1
از Magic Numbers اجتناب کنید !!

وقتی در متد ‎IsFreeShipping عدد ‎5000 به صورت مستقیم استفاده شده مشخص نیست این عدد چه مفهومی دارد. ممکن است نشان‌دهنده‌ی «حداقل مبلغ برای ارسال رایگان» باشد یا صرفاً یک عدد است که یکی برای تست نوشته است . چنین افتضاحی باعث می‌شود کد مبهم و غیر قابل درک شود.

راه‌ کار درست این است که مقدار ‎5000 به صورت یک ثابت معنادار مثل ‎FreeShippingThreshold تعریف شود.

در این حالت هدف عدد به‌وضوح مشخص است، کد خواناتر می‌شود و در صورت تغییر سیاست فروشگاه (مثلاً افزایش این مقدار / میزان به ‎6000)، تنها کافی است مقدار ثابت تغییر داده شود و نیاز به تغییر در بخش‌های متعدد کد نخواهد بود.

@DevTwitter | <Ali Kolahdoozan/>
👍76👎42
کلاس درس پرامپت نویسی!
این ریپو یه مجموعه کامل از سیستم پرامپت‌های کمپانی‌های بزرگ رو گذاشته
و چیزای خیلی معروفی مثل Cursor، Perplexity، Claude Code و VSCode Agent توش پیدا میشه
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools

@DevTwitter | <Erfan.tsx/>
👍162👎2
جوری که لینوس توروالدز کد ریویو میکنه>>>>>>>>>>>>>

@DevTwitter | <the shinobi/>
🔥93👎21👍31
شرکت اوبر یکی شرکت های بزرگه که از زبان گو استفاده می‌کنه، اینجا می‌تونید کد استایلی که با زبان گو می‌زنن رو ببینید نسخه ترجمه شده به فارسی هم داره ولی یکم دیر تر از نسخه اصلیش آپدیت می‌شه
https://github.com/uber-go/guide

@DevTwitter | <Nimo/>
31👎3🔥1
#کوته_نیوز #بپا_نره_درت

امروز ماکروسافت در ویندوز ۱۰ رو میذاره.

@DevTwitter
👎46🔥15👍62
This media is not supported in your browser
VIEW IN TELEGRAM
کمپانی OpenAI توی dev day که چند روز پیش برگزار کرد چند تا ابزار عالی برای دولوپرها معرفی کرد. به نظرم بهترینش chatKit بود. که میتونید باهاش agentic chat بسازید. مثلا یک چت بات همراه با UI بذارید تو وب سایتتنون.نه تنها این، بلکه میتونید کامپوننت های مختلف درست کنید و بجای اینکه فقط جواب ها متن خالی باشه المان های دیگه مثل Card, Button و .. هم توی چت نشون بدید. من تو ویدیوی پایین یکی از مثال هایی که گذاشتند را اجرا کردم. سریع چت بات بالا امد و میشه باهاش صحبت کرد. چیزی که خیلی از بیزینس ها بهش نیاز دارند.
لینکها را میذارم چک کنید. و سعی کنید باهاشون اپ درست کنید.
Link: https://platform.openai.com/docs/guides/chatkit
Github: https://github.com/openai/openai-chatkit-advanced-samples

@DevTwitter | <Mehdi Allahyari/>
13👍6👎1
قبلا WebSocket رو nest.js کار کرده بودم
از روی کنجکاوی خواستم WebSocket این سری روی express.jsرو پیاده‌سازی کنم، حاصلش شد یه مینی پروژه با Express.js, TypeScript و MongoDB
یه تجربه جالب برای درک بهتر ارتباط real-time
https://github.com/OmidRezazadeh/chat-app-express.js

@DevTwitter | <0miD/>
22👎9👍5🔥1
از بین پرسنل LTT که از تیم جدا/اخراج شدن، Jake از همه‌شون بهتره. زمانی که اونجا بود هم آدم تاثیرگذاری بود.

کانال جدید یوتوبش از دو هفته پیش کلاً ۴ تا ویدئو داره و خب لوح 100K رو هم در همین دو هفته گرفته (الان بیشتر از 185K مشترک)

https://www.youtube.com/@jakkuh_t

@DevTwitter | <Hamed/>
👍23🔥1
چقدر از گیتهاب جیست استفاده میکنی؟
یکی از سرویس های خیلی به درد بخور و باحال گیتهاب همین جیسته که خیلی های هم هنوز نمیشناسنش!

جیست یه ابزار برای نمایش و اشتراک گذاری قطعه کد ,یادداشت و سایر اطلاعات کوچیک هستش.فرض کنید یه اسکریپت کوچیک نوشتید که یه کاری انجام میده (برای مثال: تغییر پسوند همه فایل های داخل یه دایرکتوری) قطعا افرادی هستند که مثل شما برای اینکار به این اسکریپت نیاز دارند; در این حالت خیلی منطقی نیست که برای این اسکریپت کوچیک (که نهایتا 20 لاینه) یه ریپوزیتوری درست کنید.
اینجاست که جیست به کمکتون میاد و بهتون این اجازه رو میده که قطعه کد هاتون رو به عنوان یه Gist ذخیره کنید.
جیست هم مثل ریپوزیتوری قابل Star شدن , کامنت گذاشتن(issue) , دانلود و کلون شدن و همچنین مالتی فایل بودن هستن


@DevTwitter | <Farzad Ebrahimi/>
👍5012👎2
#حاجی_پشمام

می‌دونستید می‌تونید 0 های آی‌پی رو ننویسید و کار کنه؟؟؟

خیلی باحال بود این
10.20.0.2 -> 10.20.2
10.0.0.68 -> 10.68

توی پست بعدی میگم چطوری کار می‌کنه

@DevTwitter
🔥66👍17👎63
می‌دونستید می‌تونید 0 های آی‌پی رو ننویسید و کار کنه؟؟؟

خب حالا سیستم از کجا میفهمه‌ چطوری؟

بر اساس این که شما چند بخش رو نوشتید کار می‌کنه:

a.b.c.d -> یه آیپی معمولی
a.b.c -> a.b.0.c
a.b -> a.0.0.b
a -> 0.0.0.a

پس وقتی بنویسید 10.22.2 میشه 10.22.0.2
یا اگر بنویسید 127.1 میشه 127.0.0.1
یعنی سیستم قسمت‌های جا افتاده رو از چپ با صفر پر می‌کنه.

@DevTwitter
🔥80👍10👎65
https://github.com/parvvareshInfrastructure/gitlab-setup

نصب گیت لب برای سرور (ip or domain) رو هم هندل میکنه

@DevTwitter | <Alireza Parvaresh/>
👍13👎2🔥1
بچه‌های اندروید فلاتر
حتی با شکن حرفه‌ای هم نمیتونم sdk دانلود کنم
بیاید بگید چه می‌کنید شماها
خیلی لنگم برای مریض می‌خوام

* مشکل حل شد عزیزان، DNS Changer مشکلم رو حل کرد

@dvtwi
2🔥22👍7👎2
اگه میخواید README برای پروفایلتون بسازید.

https://github.com/maurodesouza/profile-readme-generator

@DevTwitter
21👎6👍2
اگه با Claude Code کار می‌کنی (یا قصد داری امتحانش کنی)، حتماً این ریپو رو ببین
- مجموعه‌ای از ابزارها، افزونه‌ها، ورک‌فلوها و فایل‌های نمونه برای ساخت تجربه بهتر با Claude Code.
- شامل CLAUDE.mdهای آماده، نکات برای کار تیمی با هوش مصنوعی، و نمونه‌هایی از اتوماسیون ترمینال.
واقعا یه منبع طلایی برای کساییه که می‌خوان Claude رو وارد چرخه توسعه‌شون کنن

https://github.com/hesreallyhim/awesome-claude-code

@DevTwitter | <Milad Niroee/>
👍15👎53🔥1
#کوته_نیوز

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

@DevTwitter
🔥73👎58👍42