تیم Hugging Face یه قابلیت خیلی خوب معرفی کرده به اسم Streaming Datasets. یعنی دیگه لازم نیست کل دیتاستهاتون رو دانلود کنید تا آموزش مدلهاتون شروع بشه! فقط با یه خط کد فعالش میکنید:
چند تا نکتهی جذابش که احتمالاً خوشتون میاد:
- دیگه خبری از «هارد پر شد»، «دانلود بیپایان» یا خطای ۴۲۹ نیست.
- سرعت شروع کار خیلی بالا رفته: تا ۱۰ برابر سریعتر در resolve فایلها، ۲ برابر نمونه در ثانیه، و حداقل خطا حتی با ۲۵۶ workers همزمان.
- زیرساختشون کلی بهینه شده: cache اشتراکی برای فایلها، pre-fetch برای Parquet، و بافر قابل تنظیم برای بهینهسازی I/O
- حتی از SSD لوکال هم تو بعضی تستها سریعتر بوده!
اگه دارید روی مدلهای بزرگ یا دیتاستهای چندترابایتی کار میکنید، حتماً این قابلیت رو تست کنید. احتمالاً کلی تو زمان و هزینهی زیرساختتون صرفهجویی میکنه.
Link:
https://huggingface.co/blog/streaming-datasets
@DevTwitter | <Mehdi Allahyari/>
dataset = load_dataset("HuggingFaceM4/FineVisionMax", split="train", streaming=True)چند تا نکتهی جذابش که احتمالاً خوشتون میاد:
- دیگه خبری از «هارد پر شد»، «دانلود بیپایان» یا خطای ۴۲۹ نیست.
- سرعت شروع کار خیلی بالا رفته: تا ۱۰ برابر سریعتر در resolve فایلها، ۲ برابر نمونه در ثانیه، و حداقل خطا حتی با ۲۵۶ workers همزمان.
- زیرساختشون کلی بهینه شده: cache اشتراکی برای فایلها، pre-fetch برای Parquet، و بافر قابل تنظیم برای بهینهسازی I/O
- حتی از SSD لوکال هم تو بعضی تستها سریعتر بوده!
اگه دارید روی مدلهای بزرگ یا دیتاستهای چندترابایتی کار میکنید، حتماً این قابلیت رو تست کنید. احتمالاً کلی تو زمان و هزینهی زیرساختتون صرفهجویی میکنه.
Link:
https://huggingface.co/blog/streaming-datasets
@DevTwitter | <Mehdi Allahyari/>
🔥28👍8❤1
️ Cache Components in Next.js 16:
این مکانیزم باعث میشه تا data fetching از فرآیند prerendering کنار گذاشته بشه و fetch شدن data بصورت dynamic انجام بشه و همیشه data ی تازه fetch بشه به جای اینکه از data ی cache شده استفاده بشه. البته به علت وجود مکانیزم PPR یا همون Partial Prerendering، قسمت های static کامپوننت ها همواره prerender میشن.
برای فعال سازی این flag باید cacheComponents رو در فایل config بصورت true قرار بدید و برای غیر فعال کردن موردی این مکانیزم هم میتونید از یه directive به نام "use cache" در بالای کامپوننت ها استفاده کنید.
@DevTwitter | <Amir Hossein Saberi/>
این مکانیزم باعث میشه تا data fetching از فرآیند prerendering کنار گذاشته بشه و fetch شدن data بصورت dynamic انجام بشه و همیشه data ی تازه fetch بشه به جای اینکه از data ی cache شده استفاده بشه. البته به علت وجود مکانیزم PPR یا همون Partial Prerendering، قسمت های static کامپوننت ها همواره prerender میشن.
برای فعال سازی این flag باید cacheComponents رو در فایل config بصورت true قرار بدید و برای غیر فعال کردن موردی این مکانیزم هم میتونید از یه directive به نام "use cache" در بالای کامپوننت ها استفاده کنید.
@DevTwitter | <Amir Hossein Saberi/>
❤7👍3🔥1
به به Fedora Linux 43 رسماً منتشر شد!
نسخهی جدید فدورا با کلی فناوری تازه و بهروز حالا برای دانلود آماده است
https://fedoramagazine.org/announcing-fedora-linux-43
@DevTwitter | <MehrdadLinux/>
نسخهی جدید فدورا با کلی فناوری تازه و بهروز حالا برای دانلود آماده است
https://fedoramagazine.org/announcing-fedora-linux-43
@DevTwitter | <MehrdadLinux/>
🔥30❤1👍1
یک پروژه جالب آموزشی (شامل backend و frontend) برای کسایی که دوست دارند یک سیستم multi agent با استفاده از Google ADK بسازند که از طریق پروتکل A2A به یک ایجنت دیگه مثل ایجنت بانک وصل میشه. این پروژه توی یک چلنجی که گوگل برگزار کرده بود، برنده شد (که باید تو ۴ ساعت یک اپ درست میکردند).
Github: https://github.com/bhancockio/ai_agent_bake_off_ep_2
ویدیوی یوتیوبش را هم که کامل این پروژه را توضیح میده میتونید اینجا کامل ببینید:
https://youtube.com/watch?v=g8s6HZZLQsk
و ویدیوی خود چلنج گوگل هم که چندین تیم شرکت کردند و جالبه را اینجا ببینید:
https://youtube.com/watch?v=0CQxF56MKWo
@DevTwitter | <Mehdi Allahyari/>
Github: https://github.com/bhancockio/ai_agent_bake_off_ep_2
ویدیوی یوتیوبش را هم که کامل این پروژه را توضیح میده میتونید اینجا کامل ببینید:
https://youtube.com/watch?v=g8s6HZZLQsk
و ویدیوی خود چلنج گوگل هم که چندین تیم شرکت کردند و جالبه را اینجا ببینید:
https://youtube.com/watch?v=0CQxF56MKWo
@DevTwitter | <Mehdi Allahyari/>
❤14👍2
معادل دستور du در لینوکس که با راست نوشته شده: dust
توضیحات کامل در گیت هاب:
http://github.com/bootandy/dust
@DevTwitter | <Mohammad/>
توضیحات کامل در گیت هاب:
http://github.com/bootandy/dust
@DevTwitter | <Mohammad/>
❤15👍3🔥1🍌1
الان ۸ ساله با کمک ۴۰ نفر دیگه لیستی از APIهای ساخت ایران رو نگهداری میکنم. دنبال اینم که لیستی بسازم از MCP Server مربوط به سرویسهای داخلی.
https://github.com/Hameds/APIs-made-in-Iran
@DevTwitter | <Hamed/>
https://github.com/Hameds/APIs-made-in-Iran
@DevTwitter | <Hamed/>
❤53👍7🍌2🔥1
اون اوایل که زیاد می گفتن ویندوزت لینوکسه؟
توی این سالها هم که لینوکس با میزکار Gnome شناخته شده، با توجه به اینکه از KDE استفاده می کنم بارها بهم گفتن اینکه ویندوز هست!
قیافه KDE قبل از ویندوز همین شکلی بوده!
حتی فراتر از این عکسها Customize میشه کرد.
https://hackernoon.com/18-awesome-linux-themes-for-your-inspiration
@DevTwitter | <VAHID NAMENI/>
توی این سالها هم که لینوکس با میزکار Gnome شناخته شده، با توجه به اینکه از KDE استفاده می کنم بارها بهم گفتن اینکه ویندوز هست!
قیافه KDE قبل از ویندوز همین شکلی بوده!
حتی فراتر از این عکسها Customize میشه کرد.
https://hackernoon.com/18-awesome-linux-themes-for-your-inspiration
@DevTwitter | <VAHID NAMENI/>
🍌48🔥27👍7👎4
آنچه خوبان همه دارند، تو تنها داری: معرفی OpenObserve
بیش از یک دهه پیش، مسیر من در دنیای مشاهدهپذیری زیرساختها (Observability) با پشتهی کلاسیک ELK (Elasticsearch, Logstash, Kibana) آغاز شد.
در سالهای اخیر، ابزارهایی چون VictoriaMetrics و Signoz را نیز تجربه کردم، هر یک با ویژگیهایی ارزشمند در حوزهی متریکها، لاگها و تریسها.
اما در این مسیر، اخیراً با پلتفرمی مواجه شدم که به نظرم میرسد حرف تازهای برای گفتن دارد:
OpenObserve (O2)
openobserve.ai
OpenObserve
در بررسی اولیه، با مجموعهای از قابلیتها و معماری چندلایه و آیندهنگر روبهرو شدم که در عین سادگی و کارایی، عمق فنی قابل توجهی دارد.
اینکه پلتفرم کاملاً با زبان Rust نوشته شده است، تنها یکی از دلایل جذابیت آن است؛ چراکه Rust همزمان سرعت، ایمنی حافظه و بهرهوری بالا را تضمین میکند.
معماری مدرن و الهامگرفته از نسل جدید سیستمهای داده
پروژه OpenObserve از Apache Parquet بهعنوان فرمت ذخیرهسازی ستونی و از DataFusion Query Engine برای اجرای مستقیم کوئریها استفاده میکند. (دیتافیوژن مشابه با duckdb است که با زبان rust توسعه یافته و متعلق به بنیاد آپاچی است)
این طراحی نشاندهندهی حرکت آگاهانه به سمت همان معماریای است که در نسل جدید سیستمهای داده دیده میشود:
> جداسازی کامل لایهی ذخیرهسازی (Storage Layer) از لایهی محاسبات (Compute Layer)
و تعامل از طریق فرمتهای باز، ستونی و بهینه مثل Parquet.
نتیجهی این معماری چندلایه، سیستمی است که هم بسیار سریع و مقیاسپذیر است، هم از نظر هزینه و نگهداری بهصرفه و ساده باقی میماند.
️ آنچه در بررسی اولیه توجه من را جلب کرد
امکان Full-Stack Observability برای Logs، Metrics و Traces در یک بستر واحد
پشتیبانی از Session Replay و Real User Monitoring (RUM) برای تحلیل تجربهی واقعی کاربران
معماری Stateless با مقیاسپذیری افقی آسان
قابلیت High Compression (~40×) و هزینهی ذخیرهسازی تا ۱۴۰× کمتر از Elasticsearch
پشتیبانی از ذخیرهسازی در S3، MinIO، GCS و Azure Blob
کوئری با SQL، PromQL و VRL
سیستم Observability Pipelines برای پردازش، پالایش و غنیسازی دادهها در لحظه
طراحی High Availability و Clustering برای نیازهای سازمانی بزرگ
عملکرد و مقیاس
در بنچمارک داخلی، OpenObserve توانسته است ۱ پتابایت داده را در کمتر از ۲ ثانیه کوئری بگیرد، عددی که حتی برای سیستمهای تحلیلی مدرن نیز قابل توجه است.
معماری Stateless Node آن امکان گسترش افقی بدون پیچیدگی Replication یا وابستگی داده را فراهم میکند.
جامعه و مسیر رشد
این پروژهی متنباز اکنون بیش از ۱۶٬۰۰۰ ستاره در GitHub دارد و توسط جامعهای فعال از متخصصان DevOps، SRE و مهندسان داده توسعه مییابد.
مستندات رسمی و نمونههای کاربردی در openobserve.ai/docs در دسترس است.
دعوت از تیمهای DevOps و SRE
اگر در زمینهی DevOps، SRE، Data Platform یا Observability فعالیت میکنید، پیشنهاد میکنم OpenObserve را از نزدیک بررسی کنید.
ترکیب زبان Rust، طراحی چندلایهی مبتنی بر Parquet و DataFusion، و مجموعهی کامل قابلیتها از Session Replay تا Alerting و Metrics Analysis
آن را به یکی از جامعترین و آیندهنگرترین پلتفرمهای مشاهدهپذیری حال حاضر تبدیل کرده است.
@DevTwitter | <Mojtaba Banaie/>
بیش از یک دهه پیش، مسیر من در دنیای مشاهدهپذیری زیرساختها (Observability) با پشتهی کلاسیک ELK (Elasticsearch, Logstash, Kibana) آغاز شد.
در سالهای اخیر، ابزارهایی چون VictoriaMetrics و Signoz را نیز تجربه کردم، هر یک با ویژگیهایی ارزشمند در حوزهی متریکها، لاگها و تریسها.
اما در این مسیر، اخیراً با پلتفرمی مواجه شدم که به نظرم میرسد حرف تازهای برای گفتن دارد:
OpenObserve (O2)
openobserve.ai
OpenObserve
در بررسی اولیه، با مجموعهای از قابلیتها و معماری چندلایه و آیندهنگر روبهرو شدم که در عین سادگی و کارایی، عمق فنی قابل توجهی دارد.
اینکه پلتفرم کاملاً با زبان Rust نوشته شده است، تنها یکی از دلایل جذابیت آن است؛ چراکه Rust همزمان سرعت، ایمنی حافظه و بهرهوری بالا را تضمین میکند.
معماری مدرن و الهامگرفته از نسل جدید سیستمهای داده
پروژه OpenObserve از Apache Parquet بهعنوان فرمت ذخیرهسازی ستونی و از DataFusion Query Engine برای اجرای مستقیم کوئریها استفاده میکند. (دیتافیوژن مشابه با duckdb است که با زبان rust توسعه یافته و متعلق به بنیاد آپاچی است)
این طراحی نشاندهندهی حرکت آگاهانه به سمت همان معماریای است که در نسل جدید سیستمهای داده دیده میشود:
> جداسازی کامل لایهی ذخیرهسازی (Storage Layer) از لایهی محاسبات (Compute Layer)
و تعامل از طریق فرمتهای باز، ستونی و بهینه مثل Parquet.
نتیجهی این معماری چندلایه، سیستمی است که هم بسیار سریع و مقیاسپذیر است، هم از نظر هزینه و نگهداری بهصرفه و ساده باقی میماند.
️ آنچه در بررسی اولیه توجه من را جلب کرد
امکان Full-Stack Observability برای Logs، Metrics و Traces در یک بستر واحد
پشتیبانی از Session Replay و Real User Monitoring (RUM) برای تحلیل تجربهی واقعی کاربران
معماری Stateless با مقیاسپذیری افقی آسان
قابلیت High Compression (~40×) و هزینهی ذخیرهسازی تا ۱۴۰× کمتر از Elasticsearch
پشتیبانی از ذخیرهسازی در S3، MinIO، GCS و Azure Blob
کوئری با SQL، PromQL و VRL
سیستم Observability Pipelines برای پردازش، پالایش و غنیسازی دادهها در لحظه
طراحی High Availability و Clustering برای نیازهای سازمانی بزرگ
عملکرد و مقیاس
در بنچمارک داخلی، OpenObserve توانسته است ۱ پتابایت داده را در کمتر از ۲ ثانیه کوئری بگیرد، عددی که حتی برای سیستمهای تحلیلی مدرن نیز قابل توجه است.
معماری Stateless Node آن امکان گسترش افقی بدون پیچیدگی Replication یا وابستگی داده را فراهم میکند.
جامعه و مسیر رشد
این پروژهی متنباز اکنون بیش از ۱۶٬۰۰۰ ستاره در GitHub دارد و توسط جامعهای فعال از متخصصان DevOps، SRE و مهندسان داده توسعه مییابد.
مستندات رسمی و نمونههای کاربردی در openobserve.ai/docs در دسترس است.
دعوت از تیمهای DevOps و SRE
اگر در زمینهی DevOps، SRE، Data Platform یا Observability فعالیت میکنید، پیشنهاد میکنم OpenObserve را از نزدیک بررسی کنید.
ترکیب زبان Rust، طراحی چندلایهی مبتنی بر Parquet و DataFusion، و مجموعهی کامل قابلیتها از Session Replay تا Alerting و Metrics Analysis
آن را به یکی از جامعترین و آیندهنگرترین پلتفرمهای مشاهدهپذیری حال حاضر تبدیل کرده است.
@DevTwitter | <Mojtaba Banaie/>
🔥13👍6❤4
اگر در n8n فعالید یا در حال آموزش هستید ، در رپو زیر حدودا 2000+ ورکفلو اماده و سالم وجود داره که میتونید برای کارهاتون استفاده کنید
https://github.com/Danitilahun/n8n-workflow-templates/tree/main/workflows
@DevTwitter | <POURYA/>
https://github.com/Danitilahun/n8n-workflow-templates/tree/main/workflows
@DevTwitter | <POURYA/>
❤27👍7👎2🔥2
میخوام دو تا از عجیب ترین Http status code هایی که وجود داشته و داره رو بگم
احتمالا درمورد Http Status Code 418 شنیده باشین.
418 (I'm a teapot)
داره میگه من قوری ام! جالب تر از اینکه چرا وجود داره و میگه من قوری ام اینه که به طور رسمی این http status code تو RFC 2324 ثبت شده!
این یکی رسمی نیست اصلا ولی تو Twitter API v1 ازش استفاده شده بود.
420 (Enhance your calm)
برای اینکه بگن آقا زیاد داری درخواست میفرستی از این استفاده میکردن
بعدا چون تو استاندارد نبود تو v1.1 اومدن تبدیلش کردن به 429 (Too many requests).
@DevTwitter | <Ali Valizadeh/>
احتمالا درمورد Http Status Code 418 شنیده باشین.
418 (I'm a teapot)
داره میگه من قوری ام! جالب تر از اینکه چرا وجود داره و میگه من قوری ام اینه که به طور رسمی این http status code تو RFC 2324 ثبت شده!
این یکی رسمی نیست اصلا ولی تو Twitter API v1 ازش استفاده شده بود.
420 (Enhance your calm)
برای اینکه بگن آقا زیاد داری درخواست میفرستی از این استفاده میکردن
بعدا چون تو استاندارد نبود تو v1.1 اومدن تبدیلش کردن به 429 (Too many requests).
@DevTwitter | <Ali Valizadeh/>
🔥28❤3👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
این opencode.ai هم یک جایگزین برای CLIهای متصل به هوش مصنوعی است.
گرچه CLI بیشتر توسط برنامهنویسها استفاده میشه ولی خب چون میتونیم چندین agent تعریف کنیم و همزمان باهاشون در یک پروژه بشینیم (multi-session) میشه برای انواع کارها ازش استفاده کرد.
@DevTwitter | <Hamed/>
گرچه CLI بیشتر توسط برنامهنویسها استفاده میشه ولی خب چون میتونیم چندین agent تعریف کنیم و همزمان باهاشون در یک پروژه بشینیم (multi-session) میشه برای انواع کارها ازش استفاده کرد.
@DevTwitter | <Hamed/>
👍11👎2❤1🔥1
یه exporter ساده با Go نوشتم که متریکهای سیستم و اپلیکیشن رو به Prometheus میفرسته.
همراه با Docker، Prometheus و Grafana برای تست محلی.
اگر به monitoring با Go یا observability علاقهمندید، میتونید نگاهی بندازید:
https://github.com/irvaniamirali/go-prometheus-exporter
@DevTwitter | <Amiri/>
همراه با Docker، Prometheus و Grafana برای تست محلی.
اگر به monitoring با Go یا observability علاقهمندید، میتونید نگاهی بندازید:
https://github.com/irvaniamirali/go-prometheus-exporter
@DevTwitter | <Amiri/>
🔥17👍4
یکی از ابزار های باحال و بامزه ای که اکثر لینوکس یوزر ها باهاش آشنایی دارن Neofetch هستش!
این ابزار باحال به شما این اجازه رو میده که یه اطلاعات کلی از سیستم به صورت دسته بندی شده و مرتب رو توی ترمینال داشته باشید.
چیزی که Neofetch رو نسبت به سایر پکیج های sysinfo متمایز میکنه اون تصویر لوگوی توزیع لینوکسی شماست که البته قابل کاستومایز هم هست!(مثل تصویر).
این ابزار بامزه برای همه توزیع های لینوکسی در دسترسه و میتونید با هر پکیج منیجری به راحتی نصبش کنید.البته این ابزار روی بعضی از پکیج منیجر ها مثل Pacman موجود نیست و برای توزیع هایی مثل آرچ لینوکس و مانجارو باید پکیج Fastfetch رو نصب کنید دقیقا کار Neofetch رو میکنه.(که البته خیلی هم کامل تره!)
لینک Neofetch روی گیتهاب:
https://github.com/dylanaraps/neofetch
لینک Fastfetch روی گیتهاب:
https://github.com/fastfetch-cli/fastfetch
* البته neofetch آرشیو شده.
@DevTwitter | <Farzad Ebrahimi/>
این ابزار باحال به شما این اجازه رو میده که یه اطلاعات کلی از سیستم به صورت دسته بندی شده و مرتب رو توی ترمینال داشته باشید.
چیزی که Neofetch رو نسبت به سایر پکیج های sysinfo متمایز میکنه اون تصویر لوگوی توزیع لینوکسی شماست که البته قابل کاستومایز هم هست!(مثل تصویر).
این ابزار بامزه برای همه توزیع های لینوکسی در دسترسه و میتونید با هر پکیج منیجری به راحتی نصبش کنید.البته این ابزار روی بعضی از پکیج منیجر ها مثل Pacman موجود نیست و برای توزیع هایی مثل آرچ لینوکس و مانجارو باید پکیج Fastfetch رو نصب کنید دقیقا کار Neofetch رو میکنه.(که البته خیلی هم کامل تره!)
لینک Neofetch روی گیتهاب:
https://github.com/dylanaraps/neofetch
لینک Fastfetch روی گیتهاب:
https://github.com/fastfetch-cli/fastfetch
* البته neofetch آرشیو شده.
@DevTwitter | <Farzad Ebrahimi/>
🍌23❤14👍5👎3
زیر 10 دقیقه؛
با توجه به اینکه قبلا Gemini Pro رو گرفتیم؛
اینجا Perplexity PRO رو میگیریم...
یکساله | رایگان
لینک ویدیو:
https://www.youtube.com/watch?v=0p6dZ1NPecc&list=PLwUWEGKy5kyNrPv05-Asbhm6g6S8_eRPb&index=16
@DevTwitter | <Ryan Heida/>
با توجه به اینکه قبلا Gemini Pro رو گرفتیم؛
اینجا Perplexity PRO رو میگیریم...
یکساله | رایگان
لینک ویدیو:
https://www.youtube.com/watch?v=0p6dZ1NPecc&list=PLwUWEGKy5kyNrPv05-Asbhm6g6S8_eRPb&index=16
@DevTwitter | <Ryan Heida/>
👎22👍10🍌3❤1
اگر علاقهمند به امنیت دفاعی و Blue Team هستید یا میخواهید دانش خود یا سازمانتان را مورد سنجش قرار دهید،
مخزن Awesome Cybersecurity Blue Team میتواند تا حدود زیادی به شما در پیدا کردن این مسیر، به شما کمک کند!
https://github.com/fabacab/awesome-cybersecurity-blueteam
@DevTwitter | <VAHID NAMENI/>
مخزن Awesome Cybersecurity Blue Team میتواند تا حدود زیادی به شما در پیدا کردن این مسیر، به شما کمک کند!
https://github.com/fabacab/awesome-cybersecurity-blueteam
@DevTwitter | <VAHID NAMENI/>
❤7🍌2👍1🔥1
https://github.com/MSNP1381/openapi_llm_ready
تابحال شده بخواید از api های یه پروژه که openapi هستن تو کدتون استفاده کنید و خیلی اوقات نیازه که کل فایل openapi رو به llm بدید و خیلی اوقات بخاطر ساختار references مدل نمیتوته خوب درک برا همین این یه فایلو ساختم که api هارو به markdown تبدیل میکنه /
@DevTwitter | <Nemat/>
تابحال شده بخواید از api های یه پروژه که openapi هستن تو کدتون استفاده کنید و خیلی اوقات نیازه که کل فایل openapi رو به llm بدید و خیلی اوقات بخاطر ساختار references مدل نمیتوته خوب درک برا همین این یه فایلو ساختم که api هارو به markdown تبدیل میکنه /
@DevTwitter | <Nemat/>
❤7👍5👎3🔥1