DevTwitter | توییت برنامه نویسی
31.1K subscribers
5.1K photos
401 videos
6 files
4.92K links
توییت های برنامه نویسی و طراحی وب :)

Admin:
@dvtwi

Hashtags:
devtwitter.t.iss.one/5

DevBooks Channel:
https://t.iss.one/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
در بلاگ جدیدم رفتم سراغ بررسی عملی پردازش ۱۰ گیگابایت داده روی لپ‌تاپ شخصی با DuckDB و تجربه‌های کلیدی پردازش داده‌های بزرگ بدون نیاز به کلود یا سرورهای گران‌قیمت را نوشتم.

در نهایت ۳۰ میلیون سطر داده متنی (حدود ۱۰.۵ گیگابایت) فقط در ۸۸ ثانیه وارد یک فایل ۲.۶۷ گیگابایتی DuckDB شد و زمان کوئری‌ها از ۲.۱ ثانیه به ۰.۰۳ ثانیه رسید (۷۰ برابر سریع‌تر).
البته باید حدود ۵۰ گیگ دیتای دیگه هم بهش اضافه بشه. ولی با این حال، سرعت موقع کوئری در حد میلی ثانیه ست.

چند نکته بسیار مهم از این تجربه عملی:

- قبل از شروع بارگذاری، بایت‌های فایل را چک کنید. خطاهای کدگذاری مثل CP1252 و کاراکترهای غیر استاندارد می‌توانند همان اول کار پردازش را خراب کنند.
- الگوی all_varchar = true: ابتدا تمام ستون‌ها را متنی بخوانید و سپس درون خود SQL نوع داده‌ها را تبدیل کنید. این کار مانع از تبدیل بی‌صدا و اشتباه داده‌ها به NULL می‌شود و صفر‌های ابتدای کدها را حفظ می‌کند.
- در جداول تحلیلی از Primary Key استفاده نکنید. تعریف کلید اصلی باعث ساخت ایندکس‌های سنگین می‌شود که سرعت بارگذاری را ۱۷ برابر کندتر و حجم فایل را ۵.۶ برابر بزرگ‌تر می‌کند.
- مدیریت حافظه: با تنظیم preserve_insertion_order = false حافظه مصرفی به‌شدت کاهش پیدا می‌کند و DuckDB حتی با محدودیت شدید حافظه (۱ گیگابایت رم) داده‌ها را بدون افت سرعت روی دیسک مدیریت می‌کند.

متن کامل مقاله:
https://mlnotes.substack.com

@DevTwitter | <Mehdi Allahyari/>
👍14🍌91
سر مدیریت خطا تو Go خیلیا یه جای کار گیر می‌کنن؛ همون if err != nil که بعد از هر خط تکرار میشه و کد رو شلوغ می‌کنه. اونایی که از زبون‌های دیگه مثل Rust یا Scala اومدن، دلشون برای Option و Result و این جور abstraction‌های functional تنگ میشه.

ریپو samber/mo دقیقا همینو میاره تو Go، با استفاده از Generics نسخه ۱.۱۸ به بعد. یعنی به جای چک کردن دستی nil یا error، از تایپ‌هایی مثل Option، Result، Either، IO و Task استفاده می‌کنی که استاندارد برنامه‌نویسی functional هستن.

اگه دوست داری کدت رو functional‌تر و خواناتر بنویسی، این کتابخونه به دردت می‌خوره. بدون هیچ دیپندنسی خارجی هم هست، فقط استاندارد لایبرری Go.

https://github.com/samber/mo

@DevTwitter
17👎13👍3
SupportPulse
یه پروژه کامل و اماده استفاده.
برای هر سازمان و شرکتی قابل استفاده هستش برای بخش پشتیبانی هاتون.
بجای استفاده از پلتفرم های چت سوم شخص، یه پروژه کامل نوشتم که خودتون سلف هاست کنید و بتونین با سرعت و scale بالا به کاربراتون پاسخ دهی سریع و بی درنگی داشته باشید.
پروژه با دات نت و SingalR نوشته شده که مستندات کمی توی جامعه اپن سورس داشت، سعی کردم با نوشتن این پروژه، مباحث امنیتی وب سوکت رو رفع کنم، یک رفرنس برای SignalR و بچه های .Net اضافه کنیم به جامعه اپن سورس، امیدوارم دوسش داشته باشین و همگی استفاده کنین.
راستی توی این پروژه همه چیزو با وب سوکت هندل کردیم، همه چیز!
https://github.com/mhdibny/SupportPulse

@DevTwitter | <mhdi/>
🔥28🍌12👍6
ابزار متن‌باز تست نفوذ مبتنی بر عامل‌های هوشمند که مانند یک پژوهشگر امنیت واقعی، آسیب‌پذیری‌های برنامه را در فرایند CI/CD کشف و تایید می‌کند.

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

آمار: 50K ستاره
https://github.com/usestrix/strix

@DevTwitter | <کدنویس اسطوره‌ای/>
🔥14👍1
ساخت و آموزش یک مدل ۳۵۰ میلیون پارامتری از صفر با پایتورچ چقدر هزینه دارد و چه چالش‌هایی دارد؟

یک نفر در مقاله‌ای جذاب تمام جزئیات آموزش این مدل روی ۱۰ میلیارد توکن را با ۱۰۱ دلار هزینه روی کارت H100 منتشر کرده است.

چند نکته بسیار کلیدی از این تجربه عملی:

• استفاده از RMSNorm به جای LayerNorm با حذف میانگین‌گیری، سرعت آموزش را ۱۰ تا ۱۵ درصد افزایش داد بدون اینکه پایداری مدل افت کند.
• لایه SwiGLU در FFN حدود ۵۷ درصد کل پارامترهای مدل (۲۰۱ میلیون پارامتر) را تشکیل می‌دهد.
• فرمول‌های مختلط در RoPE باعث صدمه به عملکرد torch.compile می‌شد، بنابراین استفاده از مثلثات حقیقی سرعت را بالا برد.
• سخت‌افزار بسیار مهم است: آموزش روی H100 SXM نسبت به H100 NVL با فقط ۰.۱۰ دلار اختلاف قیمت در ساعت، سرعت را ۱.۷ برابر (از ۸۳k به ۱۴۰k توکن در ثانیه) افزایش داد.

لینک مقاله کامل:
https://john463212.substack.com/p/building-a-350m-transformer-from


@DevTwitter | <Mehdi Allahyari/>
🔥263👍1
همیشه سر یه پروژه جانبی به یه سرویس هاستینگ، مانیتورینگ، یا دیتابیس نیاز پیدا می‌کنیم و بودجه‌ای هم برای پرداخت نداریم. اونجاست که شروع می‌کنی سرچ زدن «فلان سرویس free tier داره یا نه» و وقت زیادی صرف پیدا کردنشون میشه.

ریپو free-for-dev دقیقاً برای همین درد ساخته شده. یه لیست بزرگ و دسته‌بندی‌شده از سرویس‌های SaaS، PaaS و IaaS هست که پلن رایگان دارن؛ از هاستینگ و CI/CD و مانیتورینگ گرفته تا دیتابیس، ایمیل، امنیت و API‌های machine learning.

مناسب کیه؟ هر برنامه‌نویسی که پروژه شخصی یا استارتاپ کوچیک می‌زنه، دولوپرهایی که دارن dev/test environment می‌سازن، یا حتی تیم‌های کوچیکی که دنبال کاهش هزینه‌ی ابزارهاشون هستن. برای backend developer، دواپس، یا حتی کسی که تازه داره یاد می‌گیره و نمی‌خواد اول کار پول خرج زیرساخت کنه، خیلی به‌درد‌بخوره.

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

https://github.com/jixserver/free-for-dev

@DevTwitter | <Ladoya/>
129👍7👎3
اگر می‌خواید درباره LLMها یاد بگیرید و واقعا بفهمید پشت صحنه‌شون چه خبره، این ریپو می‌تونه شروع خوبی باشه
از tokenizer و attention شروع می‌کنه و قدم‌به‌قدم می‌ره سمت ساخت GPT، pretraining و fine-tuning همه‌چیز هم با PyTorch و از صفر پیاده‌سازی شده
https://github.com/rasbt/LLMs-from-scratch

@DevTwitter | <Davinchi/>
1👍176🍌4
شرکت Cloudflare یه مرورگر وب به اسم Kitesurf ساخته که فقط برای دستیارهای AI طراحی شده، نه آدما.

توی این مرورگر خبری از تم، تب‌ها یا افزونه‌ها نیست. مصرف حافظه این مرورگر ۷ برابر کمتر از Chromium هست و الان به صورت بتا روی Cloudflare Workers و توی سرویس Browser Run در دسترسه.

https://blog.cloudflare.com/kitesurf/

@DevTwitter | <Behrad Javed/>
123🔥6👍4
هر پرامپتی که می‌نویسی، خروجی خوبی نمی گیری؟! شاید مشکل از AI نباشه، از پرامپت باشه!

فریم‌ورک TCREI یک ساختار ۵ مرحله‌ایه:

Task - Context - Rules - Example - Iteration

ویدئوی کامل رو ببین تا با مثال یاد بگیری چطور بهتر از AI استفاده کنی.

https://youtube.com/watch?v=IiqXCIYHGV8

@DevTwitter | <Samy Vahdat/>
🔥175👎2
چه کسی فایل nginx.conf را تغییر داده؟
اگر می‌خواهی اطلاعات مربوط به فایل را بررسی کنی، دستور زیر را اجرا کن:
sudo stat nginx.conf

یا برای نمایش فقط مالک فایل:
sudo stat -c '%U' nginx.conf

دستور stat اطلاعات مهمی درباره فایل نمایش می‌دهد، از جمله:
آخرین زمان دسترسی به فایل: Access
آخرین زمان تغییر محتوای فایل: Modify
آخرین زمان تغییر Metadata فایل: Change
زمان ایجاد فایل، در صورت پشتیبانی فایل‌سیستم: Birth
مالک فایل: Owner
گروه فایل: Group
سطح دسترسی فایل: Permissions
نکته مهم:
دستور stat مشخص نمی‌کند چه کاربری فایل را تغییر داده است؛ فقط اطلاعات مالکیت و زمان‌های مربوط به فایل را نمایش می‌دهد.
اگر واقعاً می‌خواهی بفهمی چه کسی فایل را تغییر داده، باید از ابزارهایی مثل auditd استفاده کنی:
sudo auditctl -w /etc/nginx/nginx.conf -p wa -k nginx_config

سپس برای مشاهده تغییرات:
sudo ausearch -k nginx_config

پس به‌طور خلاصه:
چه زمانی و با چه مالکیتی؟ stat
چه کاربری این تغییر را انجام داده؟ auditd

@DevTwitter | <Ramin Asadi/>
15👍8🍌4
یه سرویس API gateway به اسم AgentRouter هست که دسترسی یکپارچه به بیش از ۳۰ مدل زبانی (از جمله Claude، GPT، DeepSeek) رو با یه API key واحد و فرمت سازگار با OpenAI فراهم می‌کنه.

با ثبت‌نام داخلش می‌تونید 175 دلار کردیت بگیرید و از مدل‌های جدید و بروز مثل Opus 5 و gpt-sol استفاده کنید.

https://agentrouter.org/register?aff=PIU6

@DevTwitter
👎3115🍌6
تا حالا شده پروژه‌تان در محیط لوکال کاملاً سریع کار کنه، اما روی سرور اصلی با چند میلیون رکورد به نفس‌نفس بیفته؟

واقعیت اینکه دیتابیس معمولاً کند نیست، ما فقط مسیر درست را نشانش نمی‌دهیم. مثلاً فرستادن دیتابیس به دنبال ستون‌های اضافی، استفاده از ایندکس‌های اشتباه یا اصرار به استفاده از OFFSET در صفحات عمیق، از آن کارهایی است که هر سیستمی را زیر بار سنگین زانو زدن وادار می‌کنه.

من در این مقاله کاملاً تجربی و مثال‌محور درباره بهینه‌سازی کوئری‌ها نوشتم؛ از جادوی Covering Index گرفته تا منطق پشت پرده Cursor Pagination.

اگر دوست دارید به کوئری‌ها و ساختار دیتابیس پروژه‌تان دستی بکشید، پیشنهاد می‌کنم این مقاله را بخونید. خوشحال می‌شم تجربه‌های شما را هم بخونم

لینک مقاله

@DevTwitter | <Afshin Akrami/>
15👍4👎1
هر چی روی این تکنولوژی Docker و مکملش یعنی Docker Compose در مقایسه با روش‌های سنتی مبتنی بر Virtual Machine سرمایه‌گذاری کنیم، ضرر نکردیم.

با خیال راحت، تمام سرویس‌هایی که لازم داریم رو روی سرور نصب، شبکه‌بندی و راه‌اندازی می‌کنیم؛ از Pythonهای تخصصی، مثل ایمیج‌های مختص یادگیری ماشین، یادگیری عمیق و ... گرفته تا n8n و Wordpress و MySQL و Postgres و خیلی کانتینرهای عمومی و اختصاصی دیگه.

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

@DevTwitter | <Ali Akbar Mahzoon/>
🍌27👍143
Forwarded from DevTwitter Ads.
آیدی کانال اپلای ابراد رو براتون می‌ذارم اگه قصد مهاجرت دارین عضو بشین تجربه و رزومه هارو با خودتون مقایسه کنین

https://t.iss.one/+rN8iMAldRkM4ZWVk
🍌16👎72
یکی از دردسرهای کار با Claude Code برای من این بود که پرامپت‌ها رو فارسی بنویسم یا انگلیسی؛ فارسی راحت‌تره، ولی برای نتیجه بهتر معمولاً ترجمه‌شون می‌کردم.

برای حل همین مشکل Translate Prompt for Claude Code رو ساختم؛ یک اکستنشن برای VS Code و Cursor.

پرامپتت رو به هر زبانی که راحتی بنویس، Cmd + Alt + T رو بزن و ترجمه مستقیماً داخل input Claude Code قرار می‌گیره. ارسال هم هیچ‌وقت خودکار انجام نمی‌شه.

* بدون API Key و سرویس ثالث
* بدون Telemetry
* استفاده از Claude CLI خودت
* انتخاب زبان مقصد
* ترجمه متن انتخاب‌شده از هر ادیتور
* کاملاً Open Source

فعلاً قابلیت یک‌کلیکی روی macOS در دسترسه، ولی بقیه قابلیت‌ها روی همه سیستم‌عامل‌ها کار می‌کنن.

GitHub:
https://github.com/AminModaresi/claude-prompt-translate

@DevTwitter | <Amin/>
142👎18👍8
یه سیستم پیشنهاد آهنگ ساختم و حین کار یه چیز جالب درباره‌ی cosine similarity فهمیدم که کاش زودتر می‌دونستم

کارم ساده بود بر اساس ویژگی‌های صوتی و متن آهنگ آهنگ‌های مشابه رو با cosine similarity پیشنهاد بدم اول نتایج خوب به نظر می‌رسیدن تا اینکه دیدم هر آهنگ با همه‌ی آهنگ‌های دیگه حدود ۹۸٪ شباهت داره! یعنی مدل عملا هیچی تشخیص نمی‌داد و تفاوتی بین آهنگا قائل نمی‌شد
اول فکر کردم مشکل از تعداد ویژگی‌هاست ۲۳ تا ویژگی پس رفتم سراغ PCA برای کم کردن ابعاد نتیجه؟ به‌جای بهتر شدن بدتر شد

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

وقتی StandardScaler امتحان کردم مشکل حل شد چون دیگه دیتا ها در یک ربع گیر نبودن و شامل اعداد منفی و مثبت می‌شدن

https://Github.com/ali-reza-rn/content-based-music-recommender

@DevTwitter | <Alireza Rn/>
58👍13👎1
Forwarded from اپراتور زیرساخت هوش مصنوعی اهورا zamanpour
بیشتر پروژه‌های AI با سرمایه‌گذاری اشتباه روی زیرساخت شروع می‌شوند. ⚠️

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

نتیجه این تصمیم، زیرساختی است که با مسیر رشد پروژه و نیاز واقعی سازمان تناسب ندارد.📉💸


در ایران GPU، پیش از ارائه زیرساخت ابری، نیاز واقعی پروژه شما را بررسی می‌کنیم؛


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

اگر در حال برنامه‌ریزی برای راه‌اندازی یا توسعه زیرساخت هوش مصنوعی هستید، با مشاوران فنی ایران GPU در ارتباط باشید. 👨‍💻
.

https://b2n.ir/tb4195
👎6🍌6👍5
اگه از هوش مصنوعی استفاده نمی‌کنی، خیلی عقبی. و اگه فقط بهش پرامپت می‌دی، تازه شدی مثل بقیه!
امروز همه این کار رو می‌کنن. پرامپت‌نویسی دیگه مزیت رقابتی نیست، شده حداقل لازم.

اینجاست که چیزی مثل MCP وارد بازی می‌شه. MCP یا Model Context Protocol، یه استاندارد برای وصل کردن AI به ابزارها، دیتابیس‌ها، فایل‌ها و سرویس‌های دیگه‌ست.

فرقش با پرامپت دادن خیلی زیاده. با پرامپت می‌گی "این کد رو بررسی کن."
با MCP می‌تونی به AI دسترسی مستقیم به ابزارهای مختلف بدی.

مثلا کرسر رو به فیگما وصل کنی، بهش بگی اون دیزاین رو برات به HTML تبدیل کنه! همین.

دیگه AI فقط چت‌بات نیست. داره تبدیل می‌شه به Agent. و به نظرم تفاوت بزرگ کاربران AI در آینده همین‌جاست.

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

پرامپت‌نویسی هنوز مهمه. اما آینده مال Context + Tools + Agents ـه.

@DevTwitter | <Ehsan Rezaei/>
🍌47👍17👎12
فرض کن یک AI Agent بسازی که هم‌زمان روی تلگرام، دیسکورد و Slack جواب بده، فایل‌های شرکتت رو بخونه و حتی ابزار اجرا کنه — بدون اینکه همه‌چیز رو از صفر بنویسی.

ابزار AstrBot دقیقاً برای همین ساخته شده.

مثلاً می‌تونی یک ربات پشتیبانی بسازی که:
به پیام مشتری جواب بده، اطلاعات رو از Knowledge Base پیدا کنه، از GPT/Claude/Gemini/DeepSeek استفاده کنه و داخل Telegram یا Discord فعال باشه.

قابلیت‌های مهم:

- پشتیبانی از چندین LLM
- Agent + MCP + Skills
- RAG و Knowledge Base
- اتصال به Telegram, Discord, Slack و…
- اجرای ایزوله Code/Shell با Agent Sandbox
- Web UI و Chat UI
- بیش از 1000 پلاگین
- پشتیبانی از مدل‌های Local مثل Ollama
- متن‌باز و قابل Self-host

پروژه:
https://github.com/AstrBotDevs/AstrBot

@DevTwitter | <Pedram/>
🍌2410👍5
Forwarded from Tasianet
کسب درآمد دلاری از فریلنسری: مقایسه آپ‌ورک، فایور و فریلنسر دات کام و راهنمای وریفای

https://tasianet.com/blog/compare-freelance-sites-upwork-fiverr-freelancer

@tasianet | تاسیانت
🍌23👎4🔥3