DevTwitter | توییت برنامه نویسی
30.3K subscribers
5K photos
394 videos
6 files
4.79K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://xn--r1a.website/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
کامپوننت API Server چیه و چرا مرکز همه چیزه؟
—————————
هیچ کامپوننتی توی Kubernetes مستقیم با هم حرف نمی‌زنه. Scheduler، Controller Manager، kubelet، همه فقط با یه نقطه در ارتباطن: API Server. هر درخواستی، از هر جایی، باید از اینجا رد بشه.

ساختار HTTP API‌ش هم کاملاً قابل پیش‌بینیه:
/api/<version>namespaces/<namespace>/<resource-type><resource-name>

پس وقتی می‌زنی:
kubectl get pod nginx -n dev

پشت صحنه این اتفاق میفته:
کامپوننت kubectl درخواست رو تبدیل می‌کنه به یه HTTP GET ساده روی:
/api/v1/namespaces/dev/pods/nginx

این درخواست وارد یه pipeline چندمرحله‌ای توی API Server میشه:
مرحله: 1. Authentication — مشخص می‌کنه درخواست از طرف کیه: یوزر، Service Account، یا یه کامپوننت دیگه داخل کلاستر.

مرحله: 2. Authorization— چک می‌کنه همون هویت، اصلاً مجوز این عملیات رو داره یا نه. معمولاً از طریق RBAC.

مرحله: 3. Admission Control— قبل از finalize شدن، یه سری Webhook و Controller بررسیش می‌کنن، گاهی حتی تغییرش میدن (مثلاً تزریق sidecar یا اعمال resource limit).

بعد از عبور از این مراحل، API Server با etcd صحبت می‌کنه؛ چه برای خوندن state فعلی، چه برای persist کردن تغییر جدید.

نکته مهم اینه API Server هیچ منطق scheduling یا اجرایی نداره. کارش فقط validate کردن، ذخیره‌سازی، و broadcast کردن state از طریق مکانیزم Watch هست.

@DevTwitter | <Alireza Taghikhani/>
👍95
به عنوان کسی که هم Vue کار کرده، هم React، یه اعتراف دارم...
ری‌اکت قسطامو پرداخت می‌کنه...
ولی Vue بیشتر تحت تاثیرم قرار داده. ( البته که قسطامم داده)
اگه فقط درباره‌ی رندرینگ حرف بزنیم، نه بازار کار و نه اکوسیستم:
Vue: ۹.۴/۱۰
React: ۸.۸/۱۰
چرا؟
چون Vue انگار میگه:
«داداش، خودم حواسم هست. فقط کدتو بنویس.»
ولی React میگه:
«حواست باشه memo یادت نره... useMemo هم... useCallback هم... بعداً نگو نگفتم!»
همه از User Friendly بودن محصول حرف می‌زنن...
پس Developer Friendly بودن ابزار چی؟
به نظر من، Vue یکی از Developer Friendly‌ترین فریم‌ورک‌های فرانت‌انده.

ویو به‌صورت پیش‌فرض رندرهای اضافه رو بهتر کنترل می‌کنه و سیستم Reactivity دقیق‌تری داره.
ری‌اکت هم فوق‌العاده سریع و قدرتمنده، ولی بیشتر این سرعت به خود Developer بستگی داره. اگه ساختار State یا Memoization رو درست مدیریت نکنی، هزینه‌شو می‌دی.

حالا چرا با این وجود React همه جا هست؟
چون شرکت‌ها فقط دنبال بهترین موتور رندرینگ نیستن...
خیلی موارد دیگه وجود داره برای مقایسه و انتخاب فریم وورک
و الان این Reactه که بازار کار رو قبضه کرده و آخر ماه قبض‌های خیلی از ما رو پرداخت می‌کنه.
پس نه، این پست برای مهاجرت دسته‌جمعی به Vue نیست.
فقط می‌خوام بگم:
محبوب‌ترین ابزار، لزوماً از نظر فنی بهترین نیست.

@DevTwitter | <Ali Aslani/>
👍107👎3812
اتحادیه اروپا، گوگل رو مجبور کرده تا اندروید رو به روی دستیارهای AI رقیب باز کنه.

طبق این قانون، ابزارهایی مثل ChatGPT و Perplexity تا آگوست ۲۰۲۷ باید بتونن همون دسترسی‌های Gemini رو داشته باشن و حتی با دستور صوتی بیدار بشن.

به نظرم اتحادیه اروپا دیگه داره مسخره‌اش رو در میاره.

@DevTwitter | <Behrad Javed/>
👍116👎516
کیمی یکی از قوی‌ترین هوش مصنوعی‌هاست که اخیرا معرفی شده.

یه قابلیت گذاشته که شما می‌تونید اشتراک پریمیوم از ۳ روز تا ۱ سال بگیرید

کافیه با یک ایمیل جدید ثبت‌نام کنید تا شانستون رو امتحان کنید.

لینک ثبت‌نام

@DevTwitter
🍌92👎9🔥7
همیشه وسط کار با Claude و Codex به لیمیت می‌خوردم و کل فلوم می‌پرید. این چند روز 9router رو آوردم بالا و کار جمع شد! 9router یه پروکسی لوکال رایگانه که میاد ابزارهای کدت رو وصل می‌کنه به ۴۰+ پرووایدر. نکته‌ی قشنگش fallback سه‌طبقه‌ست: اول ساب خودت، بعد مدل ارزون، بعد رایگان خودشم سوییچ می‌کنه و دیگه با quota exceeded خداحافظی میکنی
یه بخش هم داره به اسم RTK که خروجی ابزارهایی مثل git diff رو فشرده می‌کنه اینطوری حدود ۲۰ تا ۴۰ درصد توکنت کمتر مصرف میشه! نکته مهم اینه که اپن‌سورسم هست. اگه چندتا ابزار AI رو هم‌زمان استفاده می‌کنی، حتماً یه تست بکن

https://github.com/decolua/9router

@DevTwitter | <Javad/>
1👍37👎8🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
یک چیز فان و باحال یک Shader برای Ghostty که داخل ترمینال سیاه‌چاله می‌سازد و با مصرف Context در Claude Code بزرگ‌تر می‌شود
هرچه بیشتر کار کنی، بیشتر تو را می‌بلعد
https://github.com/s0xDk/ghostty-blackhole

@DevTwitter | <Davinchi/>
👎42👍188
یه روز دیگه، یه برنامه اپن‌سورس دیگه؛ بریم باهم گند بزنیم به مارکت SaaS!

امروز نوبت OfficeCLI هست؛ یک ابزار متن‌باز که به AI Agentها اجازه می‌دهد فایل‌های Word، Excel و PowerPoint را از طریق خط فرمان بسازند، بخوانند، ویرایش کنند و خودکارسازی کنند؛ آن هم بدون نیاز به نصب Microsoft Office.

مناسب برای Claude Code، Codex، Cursor، GitHub Copilot و هر Agent هوش مصنوعی که با اسناد Office سروکار دارد.

وب‌سایت: https://officecli.ai
گیت‌هاب: https://github.com/iOfficeAI/OfficeCLI

@DevTwitter | <Pedram/>
👍266👎3
اگر قصد ساخت محصول با هوش مصنوعی رو دارید این ریپو می‌تونه ساعت‌ها در زمانتون صرفه‌جویی کنه در واقع یک مخزن گیت‌هاب از کدها و پروژه‌های آماده است، بیش از ۱۰۰ پروژه متن‌باز شامل Agentهای هوش مصنوعیRAG، MCP و ابزارهای آماده برای ساخت محصولات
https://github.com/Shubhamsaboo/awesome-llm-appsAI


@DevTwitter | <Davinchi/>
🍌148👍3
مخزن Page Agent از علی‌بابا: agent هوش مصنوعی که مستقیم داخل صفحه وب کار می‌کنه!

این پروژه جاوا اسکریپت بهت اجازه می‌ده کنترل کامل صفحه وب رو داشته باشی.

ویژگی‌های اصلی:
- بدون نیاز به extension مرورگر (فقط یه اسکریپت)
- دستکاری DOM با متن (بدون screenshot)
- پشتیبانی از مدل‌های مختلف (حتی لوکال)
- عالی برای ساخت AI Copilot داخل SaaSها، فرم‌های هوشمند، accessibility و ...

خیلی سبک و قدرتمنده و می‌تونه هر صفحه وبی رو هوشمند کنه.

https://github.com/alibaba/page-agent

@DevTwitter | <Diego Jr/>
8👍3🍌1
بهم نخندید، ولی در نتیجه‌ی ترشحات ذهنیِ نه‌چندان سالمی که دارم، یه ابزار نوشتم که بتونه داده‌های داخل این دایره‌ها رو استخراج کنه.

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

به خاطر همین، نویز این ساختار رو می‌پوشونه، ولی کلاً از بین نمی‌بره. درنتیجه برای چشم انسان غیرقابل‌خوندن میشه، اما با روش‌های آماری مثل Autocorrelation هنوز قابل شناسایی و جداسازی از نویز هست.

GitHub: https://github.com/naseridev/structon

اینم بگم که اسم پروژه Structon هست و توی تایتل گیت‌هابم یه چیز دیگه ای درمورد توضیحاتش نوشتم که یه کم خوفناک به نظر بیاد، ولی خب شماها دیگه می‌دونید اصل ماجرا چیه و این ابزار در اصل برای چه کاری ساخته شده :)

@DevTwitter | <Nima Naseri/>
🍌54👍17🔥8
فری بی‌اس‌دی آخرین خط از کدهای تحت مجوز GPL رو از base خودش حذف کرد :))

https://phoronix.com/news/FreeBSD-16-Goes-GPL-Free

خیلی از پروژه‌های بزرگ دارن از کپی‌لفت به سمت مجوزهای آزادتر می‌رن مثل BSD Clause و یا mit.

@DevTwitter | <Sohrab Behdani/>
🔥144👎3
رقیب جدید Next.js با یک فلسفه متفاوت! جادوی کمتر، کنترل بیشتر!

اخیراً با اضافه شدن پشتیبانی React Server Components (RSC) به TanStack Start، رقابت در دنیای فول‌استکِ ری‌اکت به شدت جذاب شده. اما چیزی که توجه من رو جلب کرد، تفاوت رویکرد این فریم‌ورک با Next.js در مدیریت کامپوننت‌های سمت سرور بود.
در Next.js همه چیز برای راحتی توسعه‌دهنده (DX) طراحی شده و کمی “جادویی” به نظر می‌رسه. اما TanStack Start مسیر متفاوتی رو انتخاب کرده: صراحت به جای جادو.
حالا این یعنی شما باید مسیر اجرای کد و ترکیب ابزارها را به صورت شفاف و مرحله‌به‌مرحله تعریف کنید.

شاید در نگاه اول نوشتن RSCها در TanStack Start به خاطر استفاده از createServerFn کمی طولانی‌تر به نظر برسه، اما این یک نقطه‌ضعف نیست؛ یک معامله است! شما کمی از راحتی را فدا می‌کنید تا به قدرت‌های فوق‌العاده‌ای برسید. مثلا :

اعتبارسنجی بی‌نقص با Zod: می‌تونید ورودی‌ها و Propsها رو مستقیماً در سطح سرور با Zod اعتبارسنجی کنید (یک خبر عالی برای طرفداران Type-Safety).

میدل‌ورهای سطح کامپوننت: پیاده‌سازی احراز هویت (Auth)، لاگینگ و ترکینگ، مستقیماً روی خود کامپوننت‌ها!

- معماری Composable: ایجاد یک لایه API شبیه به RPC که کاملاً یکپارچه و قابل توسعه است.

نتیجه؟ معماری TanStack Start حس به شدت توسعه‌پذیرتری (Extensible) میده. به عنوان توسعه‌دهنده، داشتن این سطح از کنترل دقیق روی منطق سمت سرور، ارزش نوشتن چند خط کد بیشتر رو داره.

@DevTwitter | <amir mehranfar/>
29👍7👎7
#کوته_نیوز

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

@DevTwitter
🔥170👍25🍌20
مدتی بود که دنبال یه مرجع کلی برای skill های AI Agent ها بودم تا اینکه امروز با skills از vercel-labs آشنا شدم
به طور کلی اسکیل‌ها یه سری فایل SKILL.md هستن که به ایجنتت یاد میدن یه کار خاص رو دقیق انجام بده مثل نوشتن release notes از روی گیت یا ریویو کردن تغییراتت. حالا به‌جای اینکه هر بار این دستورها رو دستی کپی کنی، یه‌بار نصبش می‌کنی و هر بار استفاده میکنی!
npx skills add vercel-labs/agent-skills
قشنگیش اینه که روی ۷۰+ تا ایجنت کار می‌کنه و علاوه بر اینا یه دایرکتوری داره برای پیدا کردن اسکیل ها که از شیر مرغ تا جون آدمیزاد توش پیدا میشه
https://www.skills.sh/

@DevTwitter | <Javad/>
20🍌9👍6
رفقا بالاخره اونی که دنبالش بودیم رو پیدا کردم !

ببینین تا آخرش هم با اینکه hermes-webui بسیار عالیه و شما حس می کنین بی نیازید از همه چیز اما روی دسکتاپ هنوز احساس نیاز شدید به یک اپ نیتیو برای استفاده از Hermes agent دارید مخصوصا روی ریموت
https://github.com/fathah/hermes-desktop

@DevTwitter | <PeDram PeDitX/>
🍌1810👎2
داستان جاوا: سفری در دل یکی از تأثیرگذارترین زبان‌های برنامه‌نویسی

اگر شما هم مثل من با جاوا کد زده‌اید (از سال ۱۹۹۹ تا ۲۰۲۰)، تماشای مستند رسمی "The Java Story" برایتان یک سفر خاطره‌انگیز خواهد بود. این مستند نه تنها تاریخچه شکل‌گیری جاوا، بلکه تأثیر عمیق آن بر دنیای نرم‌افزار و تکامل اکوسیستم‌های بزرگ را به تصویر می‌کشد.

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

اگر به تاریخچه تکنولوژی علاقه دارید یا بخشی از مسیر حرفه‌ای‌تان با جاوا گره خورده، پیشنهاد می‌کنم این مستند را از دست ندهید:
https://youtube.com/watch?v=ZqGSg4b_cZA

@DevTwitter | <Mehdi Allahyari/>
🔥1613🍌10
احتمالا کسایی که با Claude Code داخل VSCode فارسی می‌نویسن، با بهم ریختگی راست چین و چپ چین بودن متن‌ها درگیر شدن.

منم همین مشکل رو داشتم و در نهایت یه ابزار کوچیک ساختم که محیط چت Claude Code رو برای زبان‌های RTL درست می‌کنه
متن پیام‌ها، جواب‌ها و کادر ورودی راست‌چین می‌شن، ولی کدها و diff ها همچنان چپ‌چین باقی می‌مونن که نمایش‌شون خراب نشه.

فونت وزیر هم به محیط چت اضافه می‌شه و روی Windows، macOS و Linux کار می‌کنه. نصب و حذفش هم با یک دستور انجام می‌شه و بعد از آپدیت Claude Code دوباره خودش تغییرات رو اعمال می‌کنه.

پروژه متن‌بازه و خوشحال می‌شم اگه استفاده کردید، نظرتون یا باگ‌هایی که دیدید رو بهم بگید:
https://github.com/abdian/claude-code-rtl/

@DevTwitter | <Mehdi Allahyari/>
56🍌8💔1
Forwarded from Teacher
مهندس هایی که زبان تخصصیشون خوب نیست و میخوان روزانه بهترش کنند اینجارو پیشنهاد میکنم.

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

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

https://xn--r1a.website/learnobit/572
16🍌10🔥2
یه نمونه کار کامل آماده کردم و دوست داشتم اینجا به اشتراک بگذارم.
فروشگاه آنلاین کتاب با پنل ادمین — Book Shop Store
ساخته‌شده با Nuxt + TypeScript + Tailwind + MongoDB
تو این پروژه پیاده کردم:
فروشگاه، دسته‌بندی و صفحه جزئیات کتاب
سبد خرید و فلو پرداخت (زرین‌پال sandbox)
ثبت‌نام و ورود واقعی با JWT روی MongoDB
مدل‌های Book، User، Order و Review
داشبورد ادمین با آمار واقعی و آخرین سفارش‌ها
(داشبورد هنوز در حال توسعه است)
هدفم این بود به‌جای API فیک، همه‌چیز به دیتابیس خودم وصل باشه و یک فلو واقعی از خرید تا پنل مدیریت داشته باشم.
https://github.com/elahevakili1382/book-shop-store
https://book-shop-store-main.vercel.app/

@DevTwitter | <Elahe Vakili/>
36🍌10👍9
چند وقت پیش مسئولیت مهاجرت یکی از پروژه‌های قدیمی از NET Core 3. به NET 8. را بر عهده داشتم.

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

بعد از ارتقا، با مشکلات مختلفی روبه‌رو شدم:

- ناسازگاری بعضی از پکیج‌ها
- تغییر رفتار AutoMapper و نیاز به بازبینی Mappingها
- خطاهای مربوط به Dependency Injection
- تغییرات EF Core و برخی Queryها
- خطاهایی که فقط در زمان اجرا خودشان را نشان می‌دادند، نه هنگام Build

این تجربه یک نکته مهم را به من یاد داد:

مهاجرت نسخه فقط ارتقای Framework نیست؛ در واقع فرصتی برای بازنگری در معماری، حذف وابستگی‌های قدیمی و بهبود کیفیت کد است.

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

اگر قرار باشد دوباره چنین مهاجرتی انجام بدهم، قبل از هر تغییری یک لیست کامل از Packageها، وابستگی‌ها و تغییرات Breaking Change تهیه می‌کنم. این کار می‌تواند ساعت‌ها زمان عیب‌یابی را کاهش دهد.

@DevTwitter | <Ashkan Motahari/>
🔥28🍌279