Gopher Academy
3.85K subscribers
933 photos
42 videos
280 files
2.2K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
progjpeg: image/jpeg But With Progressive Encoding Support

🟢 خلاصه مقاله:
progjpeg نسخه‌ای از بسته image/jpeg در زبان Go است که امکان Progressive Encoding را به آن اضافه می‌کند؛ قابلیتی که تصویر را ابتدا به‌صورت کم‌جزئیات نشان می‌دهد و در چند گذر با دریافت داده‌های بیشتر شفاف‌تر می‌شود. این ویژگی می‌تواند در شبکه‌های کند تجربه کاربری را بهبود دهد و توسط بیشتر مرورگرها و دیکدرهای تصویر پشتیبانی می‌شود. چون درخواست افزودن این قابلیت در مخزن رسمی Go «متوقف/فریز» شده بود، progjpeg این خلأ را برای توسعه‌دهندگان پر می‌کند. هرچند کاربرد آن تخصصی است، اما برای سرویس‌های وب و سامانه‌های سنگینِ تصویر می‌تواند تجربه بارگذاری روان‌تری فراهم کند، با درنظرگرفتن ملاحظاتی مثل پیچیدگی کدنویسی و تفاوت احتمالی در اندازه فایل.

#Go #Golang #JPEG #ProgressiveJPEG #ImageProcessing #WebPerformance #OpenSource

🟣لینک مقاله:
https://golangweekly.com/link/176639/web


👑 @gopher_academy
Clients should not be forced to depend on methods they do not use.


— Robert C. Martin (SOLID, interface segregation principle)
👍2
🔵 عنوان مقاله
docxgo: A Library for Manipulating Microsoft Word Documents

🟢 خلاصه مقاله:
docxgo یک کتابخانه برای کار برنامه‌نویسی با اسناد Microsoft Word با فرمت .docx است که امکان ساخت، خواندن و ویرایش خودکار اسناد را فراهم می‌کند. نمونه‌کدهای همراه، مراحل پایه مانند بازکردن سند، پیمایش ساختار، افزودن یا ویرایش پاراگراف‌ها و سبک‌ها و ذخیره‌سازی خروجی را نشان می‌دهند. این پروژه تکامل‌یافته‌ی کتابخانه Docx است و با بهبود سازگاری با Microsoft Word، گسترش پوشش قابلیت‌ها (مانند جداول، تصاویر، سرصفحه/پاصفحه و بخش‌بندی) و بهبود کارایی و مدیریت خطا، تجربه توسعه یکپارچه‌تری ارائه می‌دهد. از تولید گزارش‌ها و قراردادهای مبتنی بر قالب تا ادغام در سرویس‌های پشتیبان و ابزارهای خط فرمان، docxgo برای خودکارسازی فرآیندهای اسنادی و استانداردسازی قالب‌بندی گزینه‌ای مناسب است.

#docxgo #MicrosoftWord #DOCX #DocumentAutomation #DeveloperTools #WordProcessing #APIs

🟣لینک مقاله:
https://golangweekly.com/link/176636/web


👑 @gopher_academy
👍1
🔵 عنوان مقاله
"I'm Independently Verifying Go's Reproducible Builds"

🟢 خلاصه مقاله:
** از نسخه Go 1.21، ابزارهای اصلی Go به‌صورت Reproducible Builds عرضه می‌شوند؛ یعنی اگر همان سورس را دوباره بسازید، برای هر هدف مشخص، خروجی دقیقا همسانِ بایت‌به‌بایت تولید می‌شود و به محیط میزبان وابسته نیست. این مقاله گزارشی از یک راستی‌آزمایی مستقل است: دریافت سورس از ریلیزهای رسمی، ساخت در محیط‌های ایزوله روی میزبان‌های متفاوت، تولید ابزارها برای تارگت‌های یکسان و مقایسه هش‌ها با یکدیگر و با چک‌سام‌های رسمی. نتیجه نشان می‌دهد که از Go 1.21 به بعد، Go toolchain طبق وعده قابل بازتولید است. این کار، در کنار انتشار رسمی، اعتماد را افزایش می‌دهد، ریسک دست‌کاری در زنجیره تامین نرم‌افزار را کاهش می‌دهد و به کاربران امکان می‌دهد خروجی‌های منتشرشده را خودشان مستقلانه راستی‌آزمایی کنند.

#ReproducibleBuilds #Go #Golang #SupplyChainSecurity #DeterministicBuilds #OpenSource #DevSecOps

🟣لینک مقاله:
https://golangweekly.com/link/176621/web


👑 @gopher_academy
1
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Cost-optimized ml on production: autoscaling GPU nodes on Kubernetes to zero using keda

🟢 خلاصه مقاله:
این آموزش نشان می‌دهد چگونه با استفاده از Kubernetes و KEDA ظرفیت GPU را بر اساس طول صف پیام‌ها به‌صورت خودکار تا صفر کاهش دهیم و هزینه اجرای ML در محیط تولید را کم کنیم. معماری مبتنی بر یک message queue (مثل Kafka، RabbitMQ یا AWS SQS) است و KEDA با ScaledObject تعداد پادهای مصرف‌کننده GPU را نسبت به backlog تنظیم می‌کند (minReplicaCount=0). با فعال‌بودن Cluster Autoscaler و یک GPU node pool با حداقل اندازه صفر، نودهای GPU فقط هنگام نیاز ایجاد و سپس آزاد می‌شوند. نکات کلیدی شامل تنظیم nodeSelector/tolerations، درخواست nvidia.com/gpu، کنترل pollingInterval/cooldownPeriod، کاهش cold start با pre-pull و پایش با Prometheus/Grafana است. نتیجه: پرداخت هزینه GPU فقط هنگام وجود کار، همراه با حفظ قابلیت اطمینان و کنترل تأخیر.

#Kubernetes #KEDA #GPU #MLOps #Autoscaling #CostOptimization #MessageQueue #ProductionML

🟣لینک مقاله:
https://ku.bz/Zhb9q3BZx


👑 @DevOps_Labdon
2
🔵 عنوان مقاله
A look into how JavaScript source maps work

🟢 خلاصه مقاله:
خلاصه‌ای از ساخت‌وکار source map در JavaScript: کدی که در مرورگر اجرا می‌شود معمولاً پس از transpile، bundle و minify با کد اصلی تفاوت دارد. source map پلی است میان این دو تا بتوانید در DevTools مثل کد اصلی breakpoint بگذارید و خطاها را بخوانید. یک source map فایل JSONی است با فیلدهایی مثل version، file، sources، names، sourcesContent و یک رشته mappings که با Base64 VLQ فشرده شده و با بخش‌های دلتایی موقعیت‌های کد تولید‌شده را به سطر/ستون‌های فایل‌های اصلی (و در صورت وجود، نام‌ها) نگاشت می‌کند. ابزارهایی مثل TypeScript و Babel نگاشت را هنگام تبدیل می‌سازند، Webpack/Rollup/esbuild آن‌ها را ترکیب می‌کنند و Terser در مرحله minify این زنجیره را حفظ می‌کند؛ این همان chain شدن source map است. مرورگر از طریق دستور sourceMappingURL (فایل خارجی یا data URI) map را می‌خواند و با رعایت CORS آن را decode کرده و در DevTools نمایش و دیباگ را بر اساس کد اصلی ممکن می‌سازد؛ همچنین پلتفرم‌هایی مثل Sentry با دریافت map می‌توانند stack traceهای production را de-minify کنند. در عمل، به خاطر اندازه و حریم خصوصی، بهتر است در production از الگوهایی چون hidden-source-map یا nosources-source-map، میزبانی امن، و فشرده‌سازی/کش استفاده کنید. محدودیت‌ها شامل دقت ستونی ناقص در برخی تبدیل‌ها، کدهای dynamic/eval، ناسازگاری مسیرها و سوگیری‌های نگاشت است. بهترین رویه‌ها: فعال‌سازی map در تمام مراحل build، اعتبارسنجی در DevTools، اطمینان از CORS مناسب برای ابزار خطا، کنترل نسخه ابزارها و آزمون remap شدن خطاها در CI.

#JavaScript #SourceMaps #WebDev #Debugging #DevTools #Bundlers #Performance

🟣لینک مقاله:
https://golangweekly.com/link/176649/web


👑 @gopher_academy
👍1