شاهکار جدید گوگل برای اجرای آفلاین هوش مصنوعی: Gemma 4 QAT
مدلهای جدید Gemma 4 انقدر هوشمندانه فشرده شدن که کوچیکترین نسخهش کمتر از ۱ گیگابایت رم میخواد و راحت روی گوشی موبایل اجرا میشه. بدون نیاز به اینترنت و با حفظ کامل حریم خصوصی.
@DevTwitter | <Behrad Javed/>
مدلهای جدید Gemma 4 انقدر هوشمندانه فشرده شدن که کوچیکترین نسخهش کمتر از ۱ گیگابایت رم میخواد و راحت روی گوشی موبایل اجرا میشه. بدون نیاز به اینترنت و با حفظ کامل حریم خصوصی.
@DevTwitter | <Behrad Javed/>
🔥111👍8❤7
یکی یه راه پیدا کرده واسه اینکه بفهمی یوزر از حالت Incognito کروم استفاده میکنه یا نه!
میاد با cache api تعداد ۵۱۲ تا آیتم ۱ بایتی تولید میکنه، بعد سایز cache رو با http://navigator.storage.estimate() چک میکنه:
سایزش تو حالت عادی باید حدود ۳۹۳ کیلوبایت باشه، ولی روی incognito حدود ۸۵ کیلوبایته چون incognito از حافظه رم استفاده میکنه! لزوما هک نیست ولی متد جالبیه :)
@DevTwitter | <Amir/>
میاد با cache api تعداد ۵۱۲ تا آیتم ۱ بایتی تولید میکنه، بعد سایز cache رو با http://navigator.storage.estimate() چک میکنه:
سایزش تو حالت عادی باید حدود ۳۹۳ کیلوبایت باشه، ولی روی incognito حدود ۸۵ کیلوبایته چون incognito از حافظه رم استفاده میکنه! لزوما هک نیست ولی متد جالبیه :)
@DevTwitter | <Amir/>
❤51🔥16🍌7
ویدئوی کامل ضبطشدهی نخستین جلسهی دورهی رایگان «ورود به دنیای هوشمصنوعی»
https://www.youtube.com/watch?v=YVsoJnHK0ow&t=2s
@DevTwitter | <علی شریفی زارچی/>
https://www.youtube.com/watch?v=YVsoJnHK0ow&t=2s
@DevTwitter | <علی شریفی زارچی/>
❤122👎118🍌22
دستور wc یکی از سادهترین و در عین حال پرکاربردترین ابزارهای یونیکسی است؛ اما پشت خروجی به ظاهر سادهی آن، جزئیات جالبی درباره پردازش متن و کدگذاری کاراکترها وجود دارد.
در این ویدئو یک پیادهسازی مینیمال از wc را با زبان Rust از صفر مینویسیم و مرحلهبهمرحله بررسی میکنیم که چگونه میتوان:
• تعداد خطوط (Lines) را محاسبه کرد
• تعداد کلمات (Words) را شمرد
• تعداد بایتها (Bytes) را به دست آورد
همچنین درباره تفاوت شمارش بایت و کاراکتر، نحوه کار UTF-8 و تفاوت آن با ASCII صحبت میکنیم تا درک بهتری از پردازش متن در سیستمهای یونیکسی داشته باشیم.
ویدئو:
https://www.youtube.com/watch?v=boSeilowUWo
سورس کد:
https://gist.github.com/behdanisohrab/a7a94717d9d1888b61a12816cbca898f
@DevTwitter | <Sohrab Behdani/>
در این ویدئو یک پیادهسازی مینیمال از wc را با زبان Rust از صفر مینویسیم و مرحلهبهمرحله بررسی میکنیم که چگونه میتوان:
• تعداد خطوط (Lines) را محاسبه کرد
• تعداد کلمات (Words) را شمرد
• تعداد بایتها (Bytes) را به دست آورد
همچنین درباره تفاوت شمارش بایت و کاراکتر، نحوه کار UTF-8 و تفاوت آن با ASCII صحبت میکنیم تا درک بهتری از پردازش متن در سیستمهای یونیکسی داشته باشیم.
ویدئو:
https://www.youtube.com/watch?v=boSeilowUWo
سورس کد:
https://gist.github.com/behdanisohrab/a7a94717d9d1888b61a12816cbca898f
@DevTwitter | <Sohrab Behdani/>
❤19👍5🍌1
سر قطعی اینترنت مجبور بودیم با بچه ها قطره چکونی نت مصرف کنیم. سر همین با AI طی دو ساعت یه سیستم نوشته بودم که مصرف افراد رو مانیتور میکرد
ریفکتور سرویس بک اندش رو تازه تموم کردم. احتمالا تو روزای آینده براش داکیومنتم بنویسم. دوست داشتید یه نگاه بندازید.
https://github.com/navidmadannezhad/manitor
@DevTwitter | <Navid/>
ریفکتور سرویس بک اندش رو تازه تموم کردم. احتمالا تو روزای آینده براش داکیومنتم بنویسم. دوست داشتید یه نگاه بندازید.
https://github.com/navidmadannezhad/manitor
@DevTwitter | <Navid/>
❤53💔10👍4
یه تجربه جالبی که امروز با opendray.dev داشتم اینه که به کداکس گفتم تو PM باش اینم اسکیلهات github .com/phuryn/pm-skills
حالا به به کلاد بگو کد فلان پروژه رو بزنه برای ارتباط بین خودشون رو رزبری پای یک پیامرسان نوشتن. این به اون تسک میده اون انجام میده میفرسته رو گیتهاب این ریویو و مرج می کنه بعد تسک بعدی رو بهش میده
حالا وسط انجام پروژه خود مسنجری که نوشتن با هم صحبت میکنند رو هم باگ فیکس میکنن
@DevTwitter | <Nima/>
حالا به به کلاد بگو کد فلان پروژه رو بزنه برای ارتباط بین خودشون رو رزبری پای یک پیامرسان نوشتن. این به اون تسک میده اون انجام میده میفرسته رو گیتهاب این ریویو و مرج می کنه بعد تسک بعدی رو بهش میده
حالا وسط انجام پروژه خود مسنجری که نوشتن با هم صحبت میکنند رو هم باگ فیکس میکنن
@DevTwitter | <Nima/>
🔥41❤7👎3
اخیرا روی Redis داشتم کار میکردم و دیدم که چقدر میتونه موثر باشه برای Performance Api.
تو یکی از پروژه هام (Blog System) وقتی لیست پست ها زیاد شد، سرعت Api پایین اومد و تصمیم گرفتم از Redis استفاده بکنم.
جریان ساده شد اینطوری:
اول بررسی میکنم داده داخل Redis هست یا نه.
اگر بود → مستقیم از Cache برمیگرده.
اگر نبود → از دیتابیس میخونم و داخل Redis ذخیره میکنم.
نتیجه خیلی واضح بود:
کاهش فشار روی دیتابیس
افزایش سرعت پاسخ API
تجربه بهتر برای کاربر
لینک گیت هاب:
https://github.com/hedev01/Blog-System
@DevTwitter | <Ali Nazari/>
تو یکی از پروژه هام (Blog System) وقتی لیست پست ها زیاد شد، سرعت Api پایین اومد و تصمیم گرفتم از Redis استفاده بکنم.
جریان ساده شد اینطوری:
اول بررسی میکنم داده داخل Redis هست یا نه.
اگر بود → مستقیم از Cache برمیگرده.
اگر نبود → از دیتابیس میخونم و داخل Redis ذخیره میکنم.
نتیجه خیلی واضح بود:
کاهش فشار روی دیتابیس
افزایش سرعت پاسخ API
تجربه بهتر برای کاربر
لینک گیت هاب:
https://github.com/hedev01/Blog-System
@DevTwitter | <Ali Nazari/>
🍌51🔥38👍5
This media is not supported in your browser
VIEW IN TELEGRAM
این مدل Gemma 4 12B که گفته میشد خیلی ریسورس افیشنت و از این حرفاس و میشه روی سیستمهای ضعیف اجراش کرد، روی لپتاپم امتحان کردم.
وقتی حالت Think فعال بود یه دقیقه طول کشید به یه hello جواب بده...
Intel Core i7-10510U
NVIDIA GeForce MX250
20 GB DDR4 SDRAM
@DevTwitter | <سیمجُو/>
وقتی حالت Think فعال بود یه دقیقه طول کشید به یه hello جواب بده...
Intel Core i7-10510U
NVIDIA GeForce MX250
20 GB DDR4 SDRAM
@DevTwitter | <سیمجُو/>
🍌71👎20👍16
Forwarded from DevTwitter Ads.
با اشتراک Pro. کلود را حرفهایتر تجربه کنید
امکانات کلود Pro دسترسی شما را به قابلیتهای پیشرفته Claude گستردهتر میکند؛ از مدلهای قدرتمند برای تحلیل، تولید محتوا، خلاصهسازی، دیباگ، برنامهنویسی و حل مسائل پیچیده تا ابزارهایی مثل Artifacts و Projects. با مدلهایی مثل Claude Opus 4.8، کار با پروژههای سنگینتر، دقیقتر و حرفهایتر میشود.
کدنویسی نقطه درخشش کلود Pro است. با Claude Code فقط با یک چتبات طرف نیستید؛ یک دستیار جدی کدنویسی کنار شماست که پروژه را میفهمد، فایلها را بررسی میکند، باگها را پیدا میکند، ساختار کد را بهبود میدهد و مسیر توسعه را سریعتر جلو میبرد. اگر به دنبال یکی از بهترین تجربههای کدنویسی با هوش مصنوعی هستید، Claude Code یکی از جدیترین گزینههاست.
فعالسازی کلود Pro از طریق جیپیتییار با روش اختصاصی به صورت فعال سازی سریع می باشد ( بدون نیاز به لاگین ) و همراه با پشتیبانی و تضمین ارائه خواهد شد.
همین حالا برای خرید اکانت Claude اقدام کنید و از 20% تخفیف ویژه بهرهمند شوید:
https://www.GPTYAR.com/products/claude-ai
🌐 Website | 🆔 GPTYAR_AI
امکانات کلود Pro دسترسی شما را به قابلیتهای پیشرفته Claude گستردهتر میکند؛ از مدلهای قدرتمند برای تحلیل، تولید محتوا، خلاصهسازی، دیباگ، برنامهنویسی و حل مسائل پیچیده تا ابزارهایی مثل Artifacts و Projects. با مدلهایی مثل Claude Opus 4.8، کار با پروژههای سنگینتر، دقیقتر و حرفهایتر میشود.
کدنویسی نقطه درخشش کلود Pro است. با Claude Code فقط با یک چتبات طرف نیستید؛ یک دستیار جدی کدنویسی کنار شماست که پروژه را میفهمد، فایلها را بررسی میکند، باگها را پیدا میکند، ساختار کد را بهبود میدهد و مسیر توسعه را سریعتر جلو میبرد. اگر به دنبال یکی از بهترین تجربههای کدنویسی با هوش مصنوعی هستید، Claude Code یکی از جدیترین گزینههاست.
فعالسازی کلود Pro از طریق جیپیتییار با روش اختصاصی به صورت فعال سازی سریع می باشد ( بدون نیاز به لاگین ) و همراه با پشتیبانی و تضمین ارائه خواهد شد.
همین حالا برای خرید اکانت Claude اقدام کنید و از 20% تخفیف ویژه بهرهمند شوید:
https://www.GPTYAR.com/products/claude-ai
🌐 Website | 🆔 GPTYAR_AI
🍌16👍5🔥2
DevTwitter | توییت برنامه نویسی
بالاخره C# Tutor رو open-source کردم و گذاشتمش روی GitHub. این چند وقت داشتم روی یه مجموعه Skill برای Codex کار میکردم که هدفش کمک به یادگیری بهتر C# و .NET هست. نه فقط در حد اینکه یه جواب سریع بده، بلکه سعی کنه مفاهیم رو درست توضیح بده، کد رو بررسی کنه،…
دو تا آپدیت تازه برای C# Tutor دادم که بیشتر از بیرون شاید خیلی پرزرقوبرق به نظر نیاد، ولی برای کیفیتش مهمه.
اول، بخش نصب و آپدیت امنتر شد. یعنی قبل از اینکه چیزی کپی یا حذف بشه، مسیرها و شرایط با دقت بیشتری چک میشن تا اشتباهی به اسکیل های نامربوط دست نخوره.
دوم، چندتا بخش تکراری و خیلی سبک رو جمع کردم داخل خود Tutor اصلی، تا تجربه استفاده منظمتر بشه.
سوم، یه سیستم تست جدید اضافه شد که فقط سالم بودن فایلها رو چک نمیکنه؛ حالا میشه جوابهای Tutor رو هم با چند سؤال نمونه سنجید و دید آیا نکتههای مهم رو درست، قابلفهم و بدون گمراهکردن توضیح میده یا نه.
خلاصه: تمیزتر، امنتر، و قابلاعتمادتر برای کسی که واقعاً میخواد C# یاد بگیره.
@DevTwitter | <E Gurl/>
اول، بخش نصب و آپدیت امنتر شد. یعنی قبل از اینکه چیزی کپی یا حذف بشه، مسیرها و شرایط با دقت بیشتری چک میشن تا اشتباهی به اسکیل های نامربوط دست نخوره.
دوم، چندتا بخش تکراری و خیلی سبک رو جمع کردم داخل خود Tutor اصلی، تا تجربه استفاده منظمتر بشه.
سوم، یه سیستم تست جدید اضافه شد که فقط سالم بودن فایلها رو چک نمیکنه؛ حالا میشه جوابهای Tutor رو هم با چند سؤال نمونه سنجید و دید آیا نکتههای مهم رو درست، قابلفهم و بدون گمراهکردن توضیح میده یا نه.
خلاصه: تمیزتر، امنتر، و قابلاعتمادتر برای کسی که واقعاً میخواد C# یاد بگیره.
@DevTwitter | <E Gurl/>
❤12👎8👍3
آمار جدید W3Techs میگه الان ۹۰ درصد سایتهای دنیا با HTTPS امن شدن. از این تعداد هم ۶۷ درصد گواهی Let's Encrypt دارن.
اگه یادتون باشه تا ده سال پیش ارتباط امن فقط برای سایتهای تجاری بود، ولی الان تقریبا همه ازش استفاده میکنن.
@DevTwitter | <Behrad Javed/>
اگه یادتون باشه تا ده سال پیش ارتباط امن فقط برای سایتهای تجاری بود، ولی الان تقریبا همه ازش استفاده میکنن.
@DevTwitter | <Behrad Javed/>
🔥60❤5👍5
از طریق روش زیر میتونید صفحات اینترنتی رو به صورت استاتیک از طریق گیتهاب (actions & pages) دریافت کنید و ببینید:
http://Github.com/0xjafari/RepoRelay
صفحه اینترنتی IP شمارو نمیبینه و ترافیک از طریق زیرساخت گیت هاب منتقل میشه، بدون نصب یا سرور و اینا.
مثلا برای دریافت سایتی که تحریم کرده.
@DevTwitter | <بابای نیکولا تسلای کبیر/>
http://Github.com/0xjafari/RepoRelay
صفحه اینترنتی IP شمارو نمیبینه و ترافیک از طریق زیرساخت گیت هاب منتقل میشه، بدون نصب یا سرور و اینا.
مثلا برای دریافت سایتی که تحریم کرده.
@DevTwitter | <بابای نیکولا تسلای کبیر/>
👍21👎12❤3
چند وقت پیش در یکی از پروژههایی که با Next.js توسعه میدادم، نیاز به یک loading bar داشتم تا هنگام navigation نمایش داده بشه.
چند پکیج رو امتحان کردم، اما تقریبا همهشون یکی از این مشکلات رو داشتن:
- خیلی از پکیجها با App Router بهخوبی کار نمیکردند
- با دکمههای back/forward مرورگر کار نمیکردند
- امکان نمایش UI سفارشی به عنوان loading هنگام navigation وجود نداشت
برای همین تصمیم گرفتم یک پکیج سبک، قابل سفارشی سازی و سازگار با App Router و Pages Router توسعه بدم:
ابزار nextjs-progress
چند قابلیت کلیدی:
- پشتیبانی کامل از App Router و Pages Router
- پشتیبانی از TypeScript و JavaScript
- امکان نمایش UI سفارشی به جای progress bar
- تشخیص back/forward مرورگر
- و Link و useRouter اختصاصی
- و useProgress برای کنترل دستی
اگر از Next.js استفاده میکنی و دنبال یک راهحل پایدار برای نمایش loading هنگام navigation هستی تا تجربه کاربری رو بهبود ببخشی، این پکیج دقیقا برای همین ساخته شده.
https://github.com/thehadikarimi/nextjs-progress
https://www.npmjs.com/package/nextjs-progress
@DevTwitter | <Hadi Karimi/>
چند پکیج رو امتحان کردم، اما تقریبا همهشون یکی از این مشکلات رو داشتن:
- خیلی از پکیجها با App Router بهخوبی کار نمیکردند
- با دکمههای back/forward مرورگر کار نمیکردند
- امکان نمایش UI سفارشی به عنوان loading هنگام navigation وجود نداشت
برای همین تصمیم گرفتم یک پکیج سبک، قابل سفارشی سازی و سازگار با App Router و Pages Router توسعه بدم:
ابزار nextjs-progress
چند قابلیت کلیدی:
- پشتیبانی کامل از App Router و Pages Router
- پشتیبانی از TypeScript و JavaScript
- امکان نمایش UI سفارشی به جای progress bar
- تشخیص back/forward مرورگر
- و Link و useRouter اختصاصی
- و useProgress برای کنترل دستی
اگر از Next.js استفاده میکنی و دنبال یک راهحل پایدار برای نمایش loading هنگام navigation هستی تا تجربه کاربری رو بهبود ببخشی، این پکیج دقیقا برای همین ساخته شده.
https://github.com/thehadikarimi/nextjs-progress
https://www.npmjs.com/package/nextjs-progress
@DevTwitter | <Hadi Karimi/>
👍36❤18👎2
انویدیا اومده دسترسی به API بیش از ۷۰ مدل زبانی رو رایگان و بدون محدودیت در اختیار همه گذاشته. یعنی همون چیزی که تا دیروز باید بابتش دلار $$$ میدادی و حسابوکتاب توکن ها رو میکردی، الان رایگان جلوی دستته. میتونی تست کنی، بسازی، آزمایش کنی، خراب کنی و دوباره بسازی، بدون اینکه نگران پولش باشی.
این جنس فرصتها معمولاً عمر کوتاهی دارن. شرکتها این کارو میکنن تا اکوسیستم بسازن و توسعهدهنده جذب کنن، ولی هیچوقت معلوم نیست تا کی روی همین مدل رایگان میمونه. پس تا فرصت هست بشتابید!
اگه دنبال یادگیری مدلهای زبانی هستی، اگه میخوای یه ایده رو پروتوتایپ کنی، یا فقط میخوای ببینی این همه سروصدا سر چیه، این بهترین زمانشه که دست به کار شی.
لینک دسترسی رو زیر همین پست میذارم. اگه براتون مفید بود، یه ریپست کنید تا به دست بقیه هم برسه.
https://build.nvidia.com/models
@DevTwitter | <Reza Tashtboland/>
این جنس فرصتها معمولاً عمر کوتاهی دارن. شرکتها این کارو میکنن تا اکوسیستم بسازن و توسعهدهنده جذب کنن، ولی هیچوقت معلوم نیست تا کی روی همین مدل رایگان میمونه. پس تا فرصت هست بشتابید!
اگه دنبال یادگیری مدلهای زبانی هستی، اگه میخوای یه ایده رو پروتوتایپ کنی، یا فقط میخوای ببینی این همه سروصدا سر چیه، این بهترین زمانشه که دست به کار شی.
لینک دسترسی رو زیر همین پست میذارم. اگه براتون مفید بود، یه ریپست کنید تا به دست بقیه هم برسه.
https://build.nvidia.com/models
@DevTwitter | <Reza Tashtboland/>
❤57👍9👎7
شاید runpod.io برای ایرانی ها ناشناخته باشه
پاد gpu داره به صورت ساعتی حساب میکنه
قیمتاش هم واقعا خوبه پرداخت با کریپتو هم داره
از L4 و RTX 3090 داره به بالا ساعتی ۴۰ سنت!
سرور میسازه تحویل میده کد رو از گیت دپلوی کنید و بعد ترین و بعدم دانلود مدل و آرتیفکت ها
@DevTwitter | <Arta/>
پاد gpu داره به صورت ساعتی حساب میکنه
قیمتاش هم واقعا خوبه پرداخت با کریپتو هم داره
از L4 و RTX 3090 داره به بالا ساعتی ۴۰ سنت!
سرور میسازه تحویل میده کد رو از گیت دپلوی کنید و بعد ترین و بعدم دانلود مدل و آرتیفکت ها
@DevTwitter | <Arta/>
❤31👍6🔥5
آیا فایل llms.txt در سئو مهم است؟
همانطور که احتمالا میدانید این فایل برای مشخص کردن دسترسی مدلهای بزرگ زبانی به سایتهای اینترنتی معرفی شده است.
فایل llms.txt دقیقاً مثل یک نقشه راه خلاصه و شفاف عمل میکند. شما در این فایل:
خلاصهای تمیز و با فرمت Markdown از کل سایت قرار میدهید.
اطلاعات کلیدی را مستقیماً در اختیار مدلهای هوش مصنوعی میگذارید.
مشابه سایر استانداردهای حوزه سئو مانند schema.org , robotstxt.org ، sitemap.org و... یک سایت مرجع برای معرفی و مشخص کردن استانداردها دارد:
https://llmstxt.org/
نکته مهم:
تا به امروز هیچکدام از هوشمصنوعیهای مطرح مانند چتجیپیتی، جمینای، کلاد، گروک، پرپلکسیتی و... از این فایل استفاده نکردهاند.
مدیران گوگل نیز تاکید کردهاند که گوگل و جمینای از این فایل استفاده نمیکنند و کماکان همان فایل robots.txt اهمیت دارد.
با این وجود، ابزار لایتهاوس در کروم اخیرا فاکتورهای امتیاز خود را بهروزرسانی کرده و برای قرار گرفتن این فایل بر روی سایت امتیاز در نظر گرفته است. اطلاعات بیشتر:
https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt
نکته:
با وجود اینکه وجود این فایل بر روی سایت اهمیت و ارزشی ندارد، برای بهبود امتیاز لایت هاوس لازم است ان را اضافه کنید!
این اتفاق یک مثال جالب برای بیان این موضوع است که فاکتورهای امتیازدهی ابزارها لزوما درست نیستند و نباید به آنها اتکا کرد.
@DevTwitter | <Reza Shirazi/>
همانطور که احتمالا میدانید این فایل برای مشخص کردن دسترسی مدلهای بزرگ زبانی به سایتهای اینترنتی معرفی شده است.
فایل llms.txt دقیقاً مثل یک نقشه راه خلاصه و شفاف عمل میکند. شما در این فایل:
خلاصهای تمیز و با فرمت Markdown از کل سایت قرار میدهید.
اطلاعات کلیدی را مستقیماً در اختیار مدلهای هوش مصنوعی میگذارید.
مشابه سایر استانداردهای حوزه سئو مانند schema.org , robotstxt.org ، sitemap.org و... یک سایت مرجع برای معرفی و مشخص کردن استانداردها دارد:
https://llmstxt.org/
نکته مهم:
تا به امروز هیچکدام از هوشمصنوعیهای مطرح مانند چتجیپیتی، جمینای، کلاد، گروک، پرپلکسیتی و... از این فایل استفاده نکردهاند.
مدیران گوگل نیز تاکید کردهاند که گوگل و جمینای از این فایل استفاده نمیکنند و کماکان همان فایل robots.txt اهمیت دارد.
با این وجود، ابزار لایتهاوس در کروم اخیرا فاکتورهای امتیاز خود را بهروزرسانی کرده و برای قرار گرفتن این فایل بر روی سایت امتیاز در نظر گرفته است. اطلاعات بیشتر:
https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt
نکته:
با وجود اینکه وجود این فایل بر روی سایت اهمیت و ارزشی ندارد، برای بهبود امتیاز لایت هاوس لازم است ان را اضافه کنید!
این اتفاق یک مثال جالب برای بیان این موضوع است که فاکتورهای امتیازدهی ابزارها لزوما درست نیستند و نباید به آنها اتکا کرد.
@DevTwitter | <Reza Shirazi/>
❤17👎3👍1
تفاوت بین RabbitMQ و gRPC ؟؟؟؟
یه سوالی که چند وقت پیش برای خودم پیش اومده بود این بود که RabbitMQ و gRPC دقیقا چه فرقی دارن؟ چون خیلی وقتها میبینم این دوتا کنار هم یا حتی به جای هم استفاده میشن.
ولی واقعیت اینه که اساساً برای دو مدل ارتباطی متفاوت طراحی شدن.
خب gRPC بیشتر برای ارتباط مستقیم بین سرویسهاست.
یعنی یه سرویس درخواست میفرسته و سرویس دیگه همون لحظه جواب میده. چیزی شبیه API call ولی سریعتر و بهینهتر چون از HTTP/2 و Protobuf استفاده میکنه.
پس وقتی latency کم و پاسخ فوری مهمه، gRPC گزینه خیلی خوبی میشه.
از اون طرف RabbitMQ یک message broker هست.
اینجا داستان synchronous request نیست. شما یه پیام داخل صف میذاری و مصرفکننده هر وقت آماده بود اون رو برمیداره و پردازش میکنه. این مدل برای کارهای async، صفبندی کارها، یا وقتی که نمیخوای سرویسها خیلی به هم وابسته باشن خیلی کاربردیه.
خلاصه اگر بخوام ساده بگم:
اگر پاسخ فوری میخوای، gRPC
اگر میخوای کارها async و از طریق صف انجام بشه، RabbitMQ
در عمل هم خیلی از معماریهای microservice از هر دو کنار هم استفاده میکنن. مثلا:
برای communication سریع بین سرویسها gRPC
و برای eventها یا jobها RabbitMQ
جالب اینجاست که وقتی تفاوت مدل ارتباطی این دوتا رو بفهمی، انتخابشون خیلی منطقیتر میشه.
@DevTwitter | <Mojtaba Zaferani/>
یه سوالی که چند وقت پیش برای خودم پیش اومده بود این بود که RabbitMQ و gRPC دقیقا چه فرقی دارن؟ چون خیلی وقتها میبینم این دوتا کنار هم یا حتی به جای هم استفاده میشن.
ولی واقعیت اینه که اساساً برای دو مدل ارتباطی متفاوت طراحی شدن.
خب gRPC بیشتر برای ارتباط مستقیم بین سرویسهاست.
یعنی یه سرویس درخواست میفرسته و سرویس دیگه همون لحظه جواب میده. چیزی شبیه API call ولی سریعتر و بهینهتر چون از HTTP/2 و Protobuf استفاده میکنه.
پس وقتی latency کم و پاسخ فوری مهمه، gRPC گزینه خیلی خوبی میشه.
از اون طرف RabbitMQ یک message broker هست.
اینجا داستان synchronous request نیست. شما یه پیام داخل صف میذاری و مصرفکننده هر وقت آماده بود اون رو برمیداره و پردازش میکنه. این مدل برای کارهای async، صفبندی کارها، یا وقتی که نمیخوای سرویسها خیلی به هم وابسته باشن خیلی کاربردیه.
خلاصه اگر بخوام ساده بگم:
اگر پاسخ فوری میخوای، gRPC
اگر میخوای کارها async و از طریق صف انجام بشه، RabbitMQ
در عمل هم خیلی از معماریهای microservice از هر دو کنار هم استفاده میکنن. مثلا:
برای communication سریع بین سرویسها gRPC
و برای eventها یا jobها RabbitMQ
جالب اینجاست که وقتی تفاوت مدل ارتباطی این دوتا رو بفهمی، انتخابشون خیلی منطقیتر میشه.
@DevTwitter | <Mojtaba Zaferani/>
👎57👍15🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
واسه ماهایی که به واسطه قطعی اینترنت با DNS Resolverها آشنایی داریم، این پروژه جالبیه:
میدونیم که حدود ۴ میلیون resolver تو سطح اینترنت وجود داره! چی میشه اگه فایلهامون رو تیکه تیکه کنیم، بین اینا پخش کنیم و قبل از منقضی شدن ttl دوباره یه کپی دیگه ازش بگیریم!
یکی پیدا شده و یک experiment ران کرده با همین ایده و پروژه رو به صورت اُپن سورس منتشر کرده!
چقدر کاربردیه؟ میشه گفت منابعی که نیاز داره از هزینه ذخیرهسازی که در نهایت براتون سیو میشه بیشتره! پس بیشتر جنبه فان و یادگیری داره :)
https://github.com/benjojo/dnsfs
@DevTwitter | <Amir/>
میدونیم که حدود ۴ میلیون resolver تو سطح اینترنت وجود داره! چی میشه اگه فایلهامون رو تیکه تیکه کنیم، بین اینا پخش کنیم و قبل از منقضی شدن ttl دوباره یه کپی دیگه ازش بگیریم!
یکی پیدا شده و یک experiment ران کرده با همین ایده و پروژه رو به صورت اُپن سورس منتشر کرده!
چقدر کاربردیه؟ میشه گفت منابعی که نیاز داره از هزینه ذخیرهسازی که در نهایت براتون سیو میشه بیشتره! پس بیشتر جنبه فان و یادگیری داره :)
https://github.com/benjojo/dnsfs
@DevTwitter | <Amir/>
👍13❤1
دیتاست عظیم متنبهتصویر
یه انتشار جالب از یک دیتاست متنبهتصویر خیلی بزرگ و اپنسورس جدید به اسم دیتاست MONET. واقعاً دیدن چنین چیزی خیلی ارزشمنده، چون تولید تصویر فقط به دادههای باکیفیت وابسته نیست، بلکه به منابع مهم دیگهای مثل بنچمارکها هم نیاز داره؛ چیزهایی که میتونن به تیمها کمک کنن خیلی سریعتر تو این حوزه پیشرفت کنن. هرچی فرایند گردآوری داده بهتر، فیلترها دقیقتر، کپشنها باکیفیتتر و اطلاعات منبع شفافتر باشه، واقعاً میتونه تفاوت بزرگی ایجاد کنه.
این دیتاست شامل ۱۰۴.۹ میلیون جفت تصویر–متن پالایششده هست که از بین حدود ۲.۹ میلیارد جفت خام استخراج شده. توی این فرایند هم کلی کار انجام شده: فیلترهای ایمنی، فیلتر دامنهای، حذف تکراریهای دقیق و نزدیک به هم، بازنویسی کپشنها با کمک چند مدل چندوجهی (multi-VLM)، تولید embeddingها، حاشیهنویسی اشیاء و چهرهها، هشگذاری، امتیازدهی NSFW و واترمارک، و حتی latentهای از پیش کدگذاریشدهی SANA-VAE برای اینکه آموزش مدلهای diffusion در فضای latent سریعتر انجام بشه.
لینک دیتاست
https://huggingface.co/datasets/jasperai/monet
@DevTwitter | <Reza Jafari/>
یه انتشار جالب از یک دیتاست متنبهتصویر خیلی بزرگ و اپنسورس جدید به اسم دیتاست MONET. واقعاً دیدن چنین چیزی خیلی ارزشمنده، چون تولید تصویر فقط به دادههای باکیفیت وابسته نیست، بلکه به منابع مهم دیگهای مثل بنچمارکها هم نیاز داره؛ چیزهایی که میتونن به تیمها کمک کنن خیلی سریعتر تو این حوزه پیشرفت کنن. هرچی فرایند گردآوری داده بهتر، فیلترها دقیقتر، کپشنها باکیفیتتر و اطلاعات منبع شفافتر باشه، واقعاً میتونه تفاوت بزرگی ایجاد کنه.
این دیتاست شامل ۱۰۴.۹ میلیون جفت تصویر–متن پالایششده هست که از بین حدود ۲.۹ میلیارد جفت خام استخراج شده. توی این فرایند هم کلی کار انجام شده: فیلترهای ایمنی، فیلتر دامنهای، حذف تکراریهای دقیق و نزدیک به هم، بازنویسی کپشنها با کمک چند مدل چندوجهی (multi-VLM)، تولید embeddingها، حاشیهنویسی اشیاء و چهرهها، هشگذاری، امتیازدهی NSFW و واترمارک، و حتی latentهای از پیش کدگذاریشدهی SANA-VAE برای اینکه آموزش مدلهای diffusion در فضای latent سریعتر انجام بشه.
لینک دیتاست
https://huggingface.co/datasets/jasperai/monet
@DevTwitter | <Reza Jafari/>
❤17🔥5