Forwarded from نوشتههای ترمینالی
یه تجربه جالب از پینترست بابت اهمیت دادن و دیباگ یه timeout نادر روی سرویس هاشون
https://medium.com/pinterest-engineering/debugging-the-one-in-a-million-failure-migrating-pinterests-search-infrastructure-to-kubernetes-bef9af9dabf4
https://medium.com/pinterest-engineering/debugging-the-one-in-a-million-failure-migrating-pinterests-search-infrastructure-to-kubernetes-bef9af9dabf4
Medium
Debugging the One-in-a-Million Failure: Migrating Pinterest’s Search Infrastructure to Kubernetes
Samson Hu, Shashank Tavildar, Eric Kalkanger, Hunter Gatewood
Forwarded from نوشتههای ترمینالی
یک سری راهنمایی خوب برای طراحی ساختار پروژه گولنگی
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
www.alexedwards.net
Eleven tips for structuring your Go projects - Alex Edwards
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
وبسایت اولی که بهتون میخوام معرفی کنم Frontend Masters هست.
با هر سطحی که هستید دوره های فوق العاده و مناسبی رو براتون داره.
میتونید اشتراکشو از سایت های ایرانی بگیرید مثل لایسنس مارکت و غیره.
میتونید هم از سایت های مختلف رایگان دانلود کنید. شخصا این کار رو پیشنهاد نمیکنم چون کاملا غیر اخلاقیه.
با هر سطحی که هستید دوره های فوق العاده و مناسبی رو براتون داره.
میتونید اشتراکشو از سایت های ایرانی بگیرید مثل لایسنس مارکت و غیره.
میتونید هم از سایت های مختلف رایگان دانلود کنید. شخصا این کار رو پیشنهاد نمیکنم چون کاملا غیر اخلاقیه.
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
Media is too big
VIEW IN TELEGRAM
و همونطور که میبینید مدرس هاشم آدمای الکی نیستن.
مثلا این دوره golang رو مهندس ارشد نرم افراز توی Twitch تدریس میکنه.
مثلا این دوره golang رو مهندس ارشد نرم افراز توی Twitch تدریس میکنه.
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
در راستای پست چند روز قبل که یک سری اسلاید درست کرده بودم درباره context engineering، یک ریپو معرفی کنم که شامل یک مقاله ۱۶۶ صفحه ای survey راجع به context engineering به همراه یک عالمه مقاله دیگه مربوط به همین موضوع را شامل میشه. واقعا کاملتر از این ریپو ندیدم راجع به این موضوع. و اینکه مقالات بینظیرند.
میتونید یک ایجنت درست کنید (agentic RAG) که مقاله ها را دانلود کنه بخونه و ازش سوال بپرسید. یک تیر و چند نشون میشه!
Github: https://github.com/Meirtz/Awesome-Context-Engineering
Survey paper: https://arxiv.org/pdf/2507.13334
@DevTwitter | <Mehdi Allahyari/>
میتونید یک ایجنت درست کنید (agentic RAG) که مقاله ها را دانلود کنه بخونه و ازش سوال بپرسید. یک تیر و چند نشون میشه!
Github: https://github.com/Meirtz/Awesome-Context-Engineering
Survey paper: https://arxiv.org/pdf/2507.13334
@DevTwitter | <Mehdi Allahyari/>
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
سلام علیک و از این حرفا FFmpeg 🔮
اگه تو دنیای برنامهنویسی یا کار با فایلهای ویدیویی یا صوتی (چند رسانه ای) سروکارتون به ویدیو و صدا باشه، حتماً اسم FFmpeg به گوشتون خورده. این ابزار هر کاری بگین با فایلهای صوتی و تصویری میکنه.
تو این پست میخوام یه گشت کامل درمورد FFmpeg بزنیم و ببینیم این ابزار قدرتمند چه قابلیتهایی داره و چرا باید حتما هر برنامهنویس یا تولیدکننده محتوایی بلدش باشه.
🧠 FFmpeg چیه؟
FFmpeg یه پروژه متنباز (open-source) و یه مجموعه نرمافزاریه که برای کار با فایلهای چندرسانهای (ویدیو، صدا، تصویر) طراحی شده. این ابزار از یه سری کتابخونه (مثل libavcodec، libavformat) و ابزارهای خطفرمان (مثل ffmpeg، ffplay، ffprobe) تشکیل شده که میتونن هر نوع فایل چندرسانهای رو بخونن، بنویسن، تبدیل کنن، پخش کنن یا حتی استریم کنن. از فرمتهای قدیمی و غریب گرفته تا جدیدترین کدکها، FFmpeg تقریباً همهچیز رو پشتیبانی میکنه
شروعش برمیگرده به سال ۲۰۰۰، وقتی Fabrice Bellard این پروژه رو راه انداخت و حالا زیر نظر Michael Niedermayer و یه جامعه بزرگ از توسعهدهندهها داره رشد میکنه. اسم FFmpeg از "Fast Forward" و "MPEG" (استاندارد فشردهسازی ویدیو) میاد و نشون میده که این ابزار چقدر سریع و همهکارهست.
📚 قابلیتهای اصلی FFmpeg
FFmpeg یه جعبهابزار عظیمه که برای هر کاری تو حوزه چندرسانهای یه راهحل داره. بیاین مهمترین قابلیتهاش رو بررسی کنیم:
1⃣ تبدیل فرمت (Transcoding) 🎥
میتونین یه فایل ویدیویی یا صوتی رو از یه فرمت به فرمت دیگه تبدیل کنین.
مثال: یه فایل MP4 رو به AVI یا یه فایل WAV رو به MP3 تبدیل کنین.
چرا کاربردیه؟ پشتیبانی از صدها کدک و فرمت (مثل H.264، H.265، AV1، MP3، AAC) باعث میشه برای هر دستگاه یا پلتفرمی فایل مناسب تولید کنین.
2⃣ کدگذاری و دیکد (Encoding/Decoding) 🔢
FFmpeg میتونه ویدیوها و صداها رو کدگذاری (فشردهسازی) یا دیکد (باز کردن فشردهسازی) کنه.
مثال: یه ویدیوی خام رو به H.265 فشرده کنین برای کاهش حجم:
چرا کاربردیه؟ از کدکهای مدرن مثل AV1 و HEVC گرفته تا کدکهای قدیمیتر مثل MPEG-1، همه رو ساپورت میکنه. حتی میتونه با شتابدهندههای سختافزاری (مثل NVIDIA NVENC) کار کنه که سرعتش رو چند برابر میکنه.
3⃣ استریم (Streaming) 📡
میتونین ویدیو و صدا رو به صورت زنده استریم کنین یا فایلها رو برای پخش آنلاین آماده کنین.
مثال: استریم یه وبکم به سرور RTMP:
چرا کاربردیه؟ از پروتکلهای مختلف (RTMP، HLS، MPEG-DASH) پشتیبانی میکنه و برای استریمینگ زنده یا آمادهسازی ویدیو برای پلتفرمهایی مثل یوتیوب عالیه.
4⃣ ویرایش ویدیو و صدا (Editing) ✂️
بدون نیاز به نرمافزارهای گرافیکی، میتونین ویدیوها و صداها رو برش بدین، بچسبونین، یا افکت اضافه کنین.
مثال: برش ۱۰ ثانیه از یه ویدیو:
کارهای دیگه: تغییر اندازه ویدیو، اضافه کردن واترمارک، چرخش، تنظیم صدا، یا حتی ساخت ویدیوی تایملپس از تصاویر.
چرا کاربردیه؟ فیلترهای قدرتمندی مثل
5⃣ استخراج و جاسازی (Muxing/Demuxing) 📦
میتونین جریانهای صوتی، تصویری یا زیرنویس رو از یه فایل جدا کنین یا بذارین تو یه فایل جدید.
مثال: استخراج صدا از ویدیو:
چرا کاربردیه؟ میتونه زیرنویس، صدا یا ویدیو رو جدا کنه یا حتی چندتا جریان رو تو یه فایل ترکیب کنه، بدون نیاز به رمزگذاری دوباره.
اگه تو دنیای برنامهنویسی یا کار با فایلهای ویدیویی یا صوتی (چند رسانه ای) سروکارتون به ویدیو و صدا باشه، حتماً اسم FFmpeg به گوشتون خورده. این ابزار هر کاری بگین با فایلهای صوتی و تصویری میکنه.
تو این پست میخوام یه گشت کامل درمورد FFmpeg بزنیم و ببینیم این ابزار قدرتمند چه قابلیتهایی داره و چرا باید حتما هر برنامهنویس یا تولیدکننده محتوایی بلدش باشه.
🧠 FFmpeg چیه؟
FFmpeg یه پروژه متنباز (open-source) و یه مجموعه نرمافزاریه که برای کار با فایلهای چندرسانهای (ویدیو، صدا، تصویر) طراحی شده. این ابزار از یه سری کتابخونه (مثل libavcodec، libavformat) و ابزارهای خطفرمان (مثل ffmpeg، ffplay، ffprobe) تشکیل شده که میتونن هر نوع فایل چندرسانهای رو بخونن، بنویسن، تبدیل کنن، پخش کنن یا حتی استریم کنن. از فرمتهای قدیمی و غریب گرفته تا جدیدترین کدکها، FFmpeg تقریباً همهچیز رو پشتیبانی میکنه
شروعش برمیگرده به سال ۲۰۰۰، وقتی Fabrice Bellard این پروژه رو راه انداخت و حالا زیر نظر Michael Niedermayer و یه جامعه بزرگ از توسعهدهندهها داره رشد میکنه. اسم FFmpeg از "Fast Forward" و "MPEG" (استاندارد فشردهسازی ویدیو) میاد و نشون میده که این ابزار چقدر سریع و همهکارهست.
📚 قابلیتهای اصلی FFmpeg
FFmpeg یه جعبهابزار عظیمه که برای هر کاری تو حوزه چندرسانهای یه راهحل داره. بیاین مهمترین قابلیتهاش رو بررسی کنیم:
1⃣ تبدیل فرمت (Transcoding) 🎥
میتونین یه فایل ویدیویی یا صوتی رو از یه فرمت به فرمت دیگه تبدیل کنین.
مثال: یه فایل MP4 رو به AVI یا یه فایل WAV رو به MP3 تبدیل کنین.
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.avi
چرا کاربردیه؟ پشتیبانی از صدها کدک و فرمت (مثل H.264، H.265، AV1، MP3، AAC) باعث میشه برای هر دستگاه یا پلتفرمی فایل مناسب تولید کنین.
2⃣ کدگذاری و دیکد (Encoding/Decoding) 🔢
FFmpeg میتونه ویدیوها و صداها رو کدگذاری (فشردهسازی) یا دیکد (باز کردن فشردهسازی) کنه.
مثال: یه ویدیوی خام رو به H.265 فشرده کنین برای کاهش حجم:
ffmpeg -i input.mp4 -c:v libx265 -c:a copy output.mp4
چرا کاربردیه؟ از کدکهای مدرن مثل AV1 و HEVC گرفته تا کدکهای قدیمیتر مثل MPEG-1، همه رو ساپورت میکنه. حتی میتونه با شتابدهندههای سختافزاری (مثل NVIDIA NVENC) کار کنه که سرعتش رو چند برابر میکنه.
3⃣ استریم (Streaming) 📡
میتونین ویدیو و صدا رو به صورت زنده استریم کنین یا فایلها رو برای پخش آنلاین آماده کنین.
مثال: استریم یه وبکم به سرور RTMP:
ffmpeg -i /dev/video0 -c:v libx264 -preset fast -f flv rtmp://your-server/live
چرا کاربردیه؟ از پروتکلهای مختلف (RTMP، HLS، MPEG-DASH) پشتیبانی میکنه و برای استریمینگ زنده یا آمادهسازی ویدیو برای پلتفرمهایی مثل یوتیوب عالیه.
4⃣ ویرایش ویدیو و صدا (Editing) ✂️
بدون نیاز به نرمافزارهای گرافیکی، میتونین ویدیوها و صداها رو برش بدین، بچسبونین، یا افکت اضافه کنین.
مثال: برش ۱۰ ثانیه از یه ویدیو:
ffmpeg -i input.mp4 -ss 00:00:10 -t 10 output.mp4
کارهای دیگه: تغییر اندازه ویدیو، اضافه کردن واترمارک، چرخش، تنظیم صدا، یا حتی ساخت ویدیوی تایملپس از تصاویر.
ffmpeg -framerate 24 -i image%d.jpg -c:v libx264 output.mp4
چرا کاربردیه؟ فیلترهای قدرتمندی مثل
drawtext (برای اضافه کردن متن) یا scale (برای تغییر رزولوشن) داره که کلی کار رو ساده میکنه.5⃣ استخراج و جاسازی (Muxing/Demuxing) 📦
میتونین جریانهای صوتی، تصویری یا زیرنویس رو از یه فایل جدا کنین یا بذارین تو یه فایل جدید.
مثال: استخراج صدا از ویدیو:
ffmpeg -i video.mp4 -vn -c:a mp3 audio.mp3
چرا کاربردیه؟ میتونه زیرنویس، صدا یا ویدیو رو جدا کنه یا حتی چندتا جریان رو تو یه فایل ترکیب کنه، بدون نیاز به رمزگذاری دوباره.
ادامه در پست بعد
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
6⃣ پخش و پیشنمایش (Playback) 🎬
با ابزار ffplay میتونین فایلهای چندرسانهای رو پخش کنین.
مثال: پخش یه ویدیو:
چرا کاربردیه؟ ffplay یه پخشکننده سادهست که برای تست سریع فایلها یا بررسی خروجیها عالیه.
7⃣ بررسی اطلاعات فایل (Probing) 🔍
با ffprobe میتونین اطلاعات دقیق یه فایل (مثل کدک، بیتریت، رزولوشن) رو ببینین.
مثال:
چرا کاربردیه؟ برای عیبیابی یا آمادهسازی فایلها قبل از پردازش، این ابزار مثل یه میکروسکوپ عمل میکنه.
8⃣ پشتیبانی از شتابدهندههای سختافزاری ⚡
FFmpeg میتونه از GPU (مثل NVIDIA NVENC/NVDEC، VAAPI، یا OpenCL) برای سرعت بخشیدن به کدگذاری و دیکد استفاده کنه.
مثال: کدگذاری با NVENC:
چرا کاربردیه؟ این قابلیت باعث میشه عملیات سنگین مثل کدگذاری 4K خیلی سریعتر انجام بشه.
9⃣ کار با دستگاههای ورودی 🖥️
میتونین از دستگاههای ورودی مثل وبکم یا کارت کپچر مستقیماً داده بگیرین.
مثال: ضبط از وبکم:
چرا کاربردیه؟ برای ضبط زنده یا استریمینگ از سختافزارهای مختلف عالیه.
🔟 فیلترهای پیشرفته 🎨
FFmpeg کلی فیلتر برای ویرایش ویدیو و صدا داره، مثل تغییر روشنایی، تنظیم سرعت پخش، یا اضافه کردن افکت.
مثال: اضافه کردن متن به ویدیو:
چرا کاربردیه؟ این فیلترها انعطاف زیادی بهتون میدن تا بدون نرمافزارهای گرافیکی، تغییرات پیچیدهای اعمال کنین.
✍ جمعبندی
FFmpeg مثل یه جعبهابزار جادوییه که هر کاری تو دنیای چندرسانهای بخواین، میتونه انجام بده. از تبدیل فرمت و کدگذاری گرفته تا استریمینگ، ویرایش، و حتی کار با سختافزارهای خاص، این ابزار همهفنحریفه.
➖➖➖➖➖➖➖➖➖➖
با ابزار ffplay میتونین فایلهای چندرسانهای رو پخش کنین.
مثال: پخش یه ویدیو:
ffplay video.mp4
چرا کاربردیه؟ ffplay یه پخشکننده سادهست که برای تست سریع فایلها یا بررسی خروجیها عالیه.
7⃣ بررسی اطلاعات فایل (Probing) 🔍
با ffprobe میتونین اطلاعات دقیق یه فایل (مثل کدک، بیتریت، رزولوشن) رو ببینین.
مثال:
ffprobe -show_streams input.mp4
چرا کاربردیه؟ برای عیبیابی یا آمادهسازی فایلها قبل از پردازش، این ابزار مثل یه میکروسکوپ عمل میکنه.
8⃣ پشتیبانی از شتابدهندههای سختافزاری ⚡
FFmpeg میتونه از GPU (مثل NVIDIA NVENC/NVDEC، VAAPI، یا OpenCL) برای سرعت بخشیدن به کدگذاری و دیکد استفاده کنه.
مثال: کدگذاری با NVENC:
ffmpeg -i input.mp4 -c:v h264_nvenc output.mp4
چرا کاربردیه؟ این قابلیت باعث میشه عملیات سنگین مثل کدگذاری 4K خیلی سریعتر انجام بشه.
9⃣ کار با دستگاههای ورودی 🖥️
میتونین از دستگاههای ورودی مثل وبکم یا کارت کپچر مستقیماً داده بگیرین.
مثال: ضبط از وبکم:
ffmpeg -i /dev/video0 output.mp4
چرا کاربردیه؟ برای ضبط زنده یا استریمینگ از سختافزارهای مختلف عالیه.
🔟 فیلترهای پیشرفته 🎨
FFmpeg کلی فیلتر برای ویرایش ویدیو و صدا داره، مثل تغییر روشنایی، تنظیم سرعت پخش، یا اضافه کردن افکت.
مثال: اضافه کردن متن به ویدیو:
ffmpeg -i input.mp4 -vf drawtext="text='سلام دنیا':x=20:y=20:fontsize=24" output.mp4
چرا کاربردیه؟ این فیلترها انعطاف زیادی بهتون میدن تا بدون نرمافزارهای گرافیکی، تغییرات پیچیدهای اعمال کنین.
✍ جمعبندی
FFmpeg مثل یه جعبهابزار جادوییه که هر کاری تو دنیای چندرسانهای بخواین، میتونه انجام بده. از تبدیل فرمت و کدگذاری گرفته تا استریمینگ، ویرایش، و حتی کار با سختافزارهای خاص، این ابزار همهفنحریفه.
#️⃣ #programming #backend
➖➖➖➖➖➖➖➖➖➖
🥷🏻 CHANNEL | GROUP
Forwarded from Laravel News
Streamlined String Encryption with Laravel's Fluent Methods https://laravel-news.com/string-encryption
Laravel News
Streamlined String Encryption with Laravel's Fluent Methods - Laravel News
Simplify Laravel string encryption with new fluent methods that eliminate pipe workarounds. These integrated encrypt and decrypt functions maintain clean code chains while leveraging your application's existing security configuration seamlessly.
Forwarded from LearnPOV | لرن پی او وی
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from جادی | Jadi
این شما و این قسمت دوم لذت شطرنج: حرکت مهرهها
https://youtu.be/BZpST-zNctI
https://youtu.be/BZpST-zNctI
YouTube
لذت شطرنج قسمت ۲؛ حرکت مقدماتی مهرهها
شطرنج بر خلاف بسیاری از بازیها، قوانین کوتاه و مشخصی داره که یاد گرفتنشون بسیار آسونه. توی این ویدئو نگاهی می کنیم به کلیت حرکت مهرهها. دونستن این باعث می شه که بتونین اکانت خودتون رو بسازین و آنلاین شروع به بازی کنین.
برای حمایت:
پتریان: https://www…
برای حمایت:
پتریان: https://www…
Forwarded from Philocode
Forwarded from Laravel News
Performance Analysis with Laravel's Measurement Tools https://laravel-news.com/benchmark-dd
Laravel News
Performance Analysis with Laravel's Measurement Tools - Laravel News
Optimize Laravel application performance using built-in measurement tools that compare execution times across different implementations. These utilities provide accurate timing data for informed optimization decisions without complex benchmarking setup requirements.
Forwarded from Laravel News
Memoization and Function Caching with this PHP Package https://laravel-news.com/memoize-php-package
Laravel News
Memoization and Function Caching with this PHP Package - Laravel News
Memoize is a lightweight PHP library that simplifies function caching and memoization. It can help boost your application's performance by storing the results of costly function calls, so repeated calls with the same arguments return instantly without reprocessing.
Forwarded from Go Casts 🚀
مقاله خیلی جذابیه. نکات بسیار ارزشمندی رو میگه. نکات مهمی رو در مورد استفاده از PostgreSQL میگه وقتی که شما همزمان Write-Heavy و Read-Heavy هستی.
مقاله ایده های جالب و متفاوتی رو ارائه میکنه:
داشتن جداولی با حداکثر ۱۰۰ هزار رکورد برای داشتن index scanهای سریع و جلوگیری از کاهش عملکرد PostgreSQL
استفاده از index-only scans و مکانیزمی شبیه loose index scan برای کم کردن io operations
داشتن استراتژی compaction و VACUUM Analyze برای جلوگیری از عملکرد read queries با بزرگ شدن جدول دیتابیس
استفاده از دستور COPY به جای Insert برای batch insertهای زیاد و سنگین
استفاده از golang string type به جای byte slice برای transfer داده که عملکرد تقریبا ۲ برابر بهتری داشته!
Lessons from scaling PostgreSQL queues to 100k events per second
https://www.rudderstack.com/blog/scaling-postgres-queue/
@gocasts
مقاله ایده های جالب و متفاوتی رو ارائه میکنه:
داشتن جداولی با حداکثر ۱۰۰ هزار رکورد برای داشتن index scanهای سریع و جلوگیری از کاهش عملکرد PostgreSQL
استفاده از index-only scans و مکانیزمی شبیه loose index scan برای کم کردن io operations
داشتن استراتژی compaction و VACUUM Analyze برای جلوگیری از عملکرد read queries با بزرگ شدن جدول دیتابیس
استفاده از دستور COPY به جای Insert برای batch insertهای زیاد و سنگین
استفاده از golang string type به جای byte slice برای transfer داده که عملکرد تقریبا ۲ برابر بهتری داشته!
Lessons from scaling PostgreSQL queues to 100k events per second
https://www.rudderstack.com/blog/scaling-postgres-queue/
@gocasts
Forwarded from Linuxor ?
این سایت یه پک کاملا اوپن و رایگان و قابل کاستوم از ایکون هارو به صورت svg بهتون میده برای مواقعی که پروژتون سادس و نمیخواید درگیر وابستگی زیاد بشید خیلی خوبه، آیکون هاشم خلاقانس
feathericons.com
@Linuxor
feathericons.com
@Linuxor
Forwarded from Linuxor ?
یادگیری DevOps با خوندن فقط داکیومنت ابزارها جلو نمیره. این ریپو 90 تا چالش و تمرین واقعی داره، از ساختن یک CI pipeline ساده با GitHub Actions تا راهاندازی Kubernetes از صفر.
حتی DevSecOps هم داره، برای شروع آموزش وقتی وارد ریپو شدید روی عکس های بزرگ صفحه اصلی ریپو کلیک کنید
github.com/MichaelCade/90DaysOfDevOps
@Linuxor
حتی DevSecOps هم داره، برای شروع آموزش وقتی وارد ریپو شدید روی عکس های بزرگ صفحه اصلی ریپو کلیک کنید
github.com/MichaelCade/90DaysOfDevOps
@Linuxor