Gopher Academy
رفتن به کانال در Telegram
🕸 Gopher Academy 🔷interview golang https://github.com/mrbardia72/Go-Interview-Questions-And-Answers ادمین: @mrbardia72
نمایش بیشتر3 870
مشترکین
+124 ساعت
+17 روز
+2330 روز
در حال بارگذاری دادهها
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اکتبر '26اکتبر '26
اکتبر '26
+51
در 7 کانالها
سپتامبر '26
+69
در 6 کانالها
Get PRO
اوت '26
+69
در 4 کانالها
Get PRO
ژوئیه '26
+58
در 0 کانالها
Get PRO
ژوئن '26
+67
در 0 کانالها
Get PRO
مه '26
+45
در 0 کانالها
Get PRO
آوریل '26
+24
در 5 کانالها
Get PRO
مارس '26
+10
در 0 کانالها
Get PRO
فوریه '26
+79
در 1 کانالها
Get PRO
ژانویه '26
+29
در 8 کانالها
Get PRO
دسامبر '25
+103
در 7 کانالها
Get PRO
نوامبر '25
+72
در 1 کانالها
Get PRO
اکتبر '25
+598
در 1 کانالها
Get PRO
سپتامبر '25
+61
در 6 کانالها
Get PRO
اوت '25
+84
در 9 کانالها
Get PRO
ژوئیه '25
+99
در 10 کانالها
Get PRO
ژوئن '25
+47
در 7 کانالها
Get PRO
مه '25
+45
در 1 کانالها
Get PRO
آوریل '25
+63
در 8 کانالها
Get PRO
مارس '25
+90
در 8 کانالها
Get PRO
فوریه '25
+91
در 3 کانالها
Get PRO
ژانویه '25
+96
در 3 کانالها
Get PRO
دسامبر '24
+113
در 7 کانالها
Get PRO
نوامبر '24
+94
در 2 کانالها
Get PRO
اکتبر '24
+116
در 4 کانالها
Get PRO
سپتامبر '24
+138
در 4 کانالها
Get PRO
اوت '24
+101
در 2 کانالها
Get PRO
ژوئیه '24
+187
در 5 کانالها
Get PRO
ژوئن '24
+173
در 11 کانالها
Get PRO
مه '24
+301
در 2 کانالها
Get PRO
آوریل '24
+185
در 3 کانالها
Get PRO
مارس '24
+172
در 3 کانالها
Get PRO
فوریه '24
+154
در 0 کانالها
Get PRO
ژانویه '24
+207
در 0 کانالها
Get PRO
دسامبر '23
+215
در 4 کانالها
Get PRO
نوامبر '23
+77
در 2 کانالها
Get PRO
اکتبر '23
+79
در 0 کانالها
Get PRO
سپتامبر '23
+70
در 0 کانالها
Get PRO
اوت '23
+108
در 0 کانالها
Get PRO
ژوئیه '23
+68
در 0 کانالها
Get PRO
ژوئن '23
+106
در 0 کانالها
Get PRO
مه '23
+211
در 0 کانالها
Get PRO
آوریل '23
+142
در 0 کانالها
Get PRO
مارس '23
+56
در 0 کانالها
Get PRO
فوریه '23
+70
در 0 کانالها
Get PRO
ژانویه '23
+62
در 0 کانالها
Get PRO
دسامبر '22
+14
در 0 کانالها
Get PRO
نوامبر '22
+24
در 0 کانالها
Get PRO
اکتبر '22
+15
در 0 کانالها
Get PRO
سپتامبر '22
+78
در 0 کانالها
Get PRO
اوت '22
+47
در 0 کانالها
Get PRO
ژوئیه '22
+36
در 0 کانالها
Get PRO
ژوئن '22
+26
در 0 کانالها
Get PRO
مه '22
+27
در 0 کانالها
Get PRO
آوریل '22
+14
در 0 کانالها
Get PRO
مارس '22
+21
در 0 کانالها
Get PRO
فوریه '22
+13
در 0 کانالها
Get PRO
ژانویه '22
+24
در 0 کانالها
Get PRO
دسامبر '21
+51
در 0 کانالها
Get PRO
نوامبر '21
+107
در 0 کانالها
Get PRO
اکتبر '21
+13
در 0 کانالها
Get PRO
سپتامبر '21
+31
در 0 کانالها
Get PRO
اوت '21
+29
در 0 کانالها
Get PRO
ژوئیه '21
+41
در 0 کانالها
Get PRO
ژوئن '21
+29
در 0 کانالها
Get PRO
مه '21
+26
در 0 کانالها
Get PRO
آوریل '21
+49
در 0 کانالها
Get PRO
مارس '21
+376
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 28 اکتبر | +2 | |||
| 27 اکتبر | +2 | |||
| 26 اکتبر | +1 | |||
| 25 اکتبر | +2 | |||
| 24 اکتبر | +1 | |||
| 23 اکتبر | +1 | |||
| 22 اکتبر | +1 | |||
| 21 اکتبر | +2 | |||
| 20 اکتبر | 0 | |||
| 19 اکتبر | +1 | |||
| 18 اکتبر | +2 | |||
| 17 اکتبر | +2 | |||
| 16 اکتبر | +3 | |||
| 15 اکتبر | +1 | |||
| 14 اکتبر | +1 | |||
| 13 اکتبر | +3 | |||
| 12 اکتبر | +2 | |||
| 11 اکتبر | +3 | |||
| 10 اکتبر | +1 | |||
| 09 اکتبر | +4 | |||
| 08 اکتبر | +6 | |||
| 07 اکتبر | 0 | |||
| 06 اکتبر | +2 | |||
| 05 اکتبر | +1 | |||
| 04 اکتبر | +2 | |||
| 03 اکتبر | +2 | |||
| 02 اکتبر | 0 | |||
| 01 اکتبر | +3 |
پستهای کانال
Repost from N/a
🎉 به مناسبت هفت آبان رو کوروش بزرگ، یک پیشنهاد ویژه برای تبلیغات!
💯✌️از هفت آبان تا ده آبان ✌️💯
🔥 فرصت ویژه با ۵۰٪ تخفیف در تبلیغات مجموعه Labdon 🔥
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
📋 تبلیغ شما بهصورت همزمان در کانالهای زیر منتشر میشود:
🔹 @Software_Labdon
🔹 @gopher_academy
🔹 @DevOps_Labdon
🔹 @ai_labdon
🔹 @FrontEnd_Labdon
🔹 @Linux_Labdon
🔹 @Database_Academy
🔹 @job_labdon
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
🎁 ۵۰٪ تخفیف ویژه تبلیغات!
💰 مجموع تعرفهها پیش از تخفیف: ۱٬۲۵۰٬۰۰۰ تومان
🔥 مبلغ نهایی با ۵۰٪ تخفیف: ۶۲۵٬۰۰۰ تومان
📌 با یک بار ثبت تبلیغ، کسبوکار، خدمات یا محتوای خود را در ۸ کانال مجموعه معرفی کنید و فرصت دیدهشدن در میان مخاطبان حوزههای مختلف فناوری را افزایش دهید
📍👑 برای رزرو تبلیغات به ای دی زیر پیام بدید
@mrbardia72
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
👇 برای آشنایی با مجموعه کانالهای Labdon و عضویت در آنها، روی لینک زیر بزنید:
🔗 https://t.me/addlist/nHHKekbfknUzMjA0
| 2 | 🔵 عنوان مقاله
as Filippo Valsorda notes
🟢 خلاصه مقاله:
سیستمهای اعتماد در لینوکس، در حال حاضر، فاقد سازوکارهایی هستند که امکان انتقال اطلاعرسانی درباره لغو گواهینامههای امنیتی (revocations) را به برنامههای کاربردی بدهند. این موضوع میتواند امنیت کاربران را تحتتاثیر قرار دهد، زیرا برنامهها ممکن است بدون اطلاع از لغو شدن گواهیها، به منابع نامطمئن دسترسی پیدا کنند یا در معرض خطرات امنیتی قرار گیرند. بنابراین، نبود این قابلیت در ساختار اعتماد لینوکس یکی از چالشهای مهم در حوزه امنیت دیجیتال است که نیاز به توسعه سیستمهای موثرتری دارد تا از آسیبپذیریهای احتمالی جلوگیری شود.
درباره این مشکل، کارشناسان و توسعهدهندگان در حال بررسی راهحلهایی هستند که بتوانند این نقص را برطرف کنند و فرآیندهای بهروزرسانی و اطلاعرسانی درباره لغو گواهینامهها را بهتر سازند. چنین تغییراتی میتواند نقش مهمی در بهبود امنیت سیستمهای مبتنی بر لینوکس ایفا کند و تجربه کاربری ایمنتری را برای کاربران فراهم آورد.
#امنیت_سایبری #گواهینامه_امنیت # لینوکسلایف #حفاظت_اطلاعات
🟣لینک مقاله:
https://github.com/golang/go/issues/82345#issuecomment-6294844223
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 169 |
| 3 | 🔵 عنوان مقاله
Help Set Go's Priorities with the 2026 Go Developer Survey
🟢 خلاصه مقاله:
تیم توسعه دهندگان زبان برنامهنویسی Go هر ساله با جمعآوری نظرات و بازخوردهای جامعه، به تعیین اولویتهای کاری خود میپردازد. یکی از ابزارهای مهم در این فرآیند، نظرسنجی سالانه است که در سال ۲۰۲۶ نیز مانند همیشه برگزار شده است. این نظرسنجی به توسعهدهندگان کمک میکند تا نیازهای واقعی کاربران و چالشهای مهم را شناسایی کنند، تا تیم بتواند در جهت بهبود و توسعه زبان برنامهنویسی Go قدم بردارد.
در سال گذشته، یکی از مهمترین نارضایتیها و چالشها در جامعه، مربوط به نگهداشتن کدهای Go در حالت مؤدبانه و مطابق با بهترین شیوهها بود. بسیاری از توسعهدهندگان احساس میکردند که قوانینی برای نگهداری کدهای خوانا و قابل اعتماد وجود دارد، اما اجرای این قوانین در پروژههای بزرگ، همواره مشکلاتی به همراه داشت. این مشکل بهقدری مهم شد که تیم توسعهدهندگان تصمیم گرفت تا در نسخه ۱. Go، روش نوینی به نام "go fix" را معرفی کند که وظیفه اصلاح و بهبود کدهای ناسازگار با شیوههای رایج و استاندارد را بر عهده داشت. این اقدام، نشاندهنده اهمیت زیادی بود که تیم به بتواند پاسخگوی نیازهای واقعی جامعه و رفع مشکلات رایج توسعهدهندگان بدهد.
در نتیجه، این نظرسنجی به عنوان ابزاری دقیق، نقش حیاتی در هدایت مسیر توسعه زبان برنامهنویسی Go ایفا میکند. پاسخها و بازخوردهای کاربران نشان میدهد که اولویتهای اصلی شامل بهبود ابزارها، راهکارهای استانداردسازی و رفع مشکلات رایج، در دستور کار تیم قرار دارند. این رویکرد سبب میشود که توسعه دهندگان بتوانند در محیطی پایدار و بهینه، برنامههای خود را توسعه دهند و در نهایت، زبان Go هر روز قدرتمندتر و کارآمدتر در خدمت جامعه باشد.
#برنامهنویسی #زبان_گو #توسعه_نرمافزار #نظرسنجی
🟣لینک مقاله:
https://go.dev/blog/survey2026-announce
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 188 |
| 4 | 🔵 عنوان مقاله
coregex: A Faster Drop-In Replacement for regexp
🟢 خلاصه مقاله:
در دنیای برنامهنویسی، سرعت و کارایی ابزارهای مورد استفاده اهمیت فراوانی دارد. یکی از چالشهای رایج در توسعه نرمافزار، جستجوی الگوهای متنی است که نیازمند سرعت بالا و دقت مناسب است. در این راستا، کتابخانه Coregex به عنوان جایگزینی سریع و مطمئن برای تابعهای regex معمولی طراحی شده است. این کتابخانه، با بهرهگیری از طراحی چندموتوره و فناوریهای نوین، هدف دارد تا اجرای عملیات مطابقت با الگوهای متنی را به شدت سریعتر کند.
Coregex با بهرهگیری از فناوریهایی مانند DFA تنبل، PikeVM، مطابقت در یک مرحله، و پیشفیلترهای SIMD، توانسته است به طور قابل توجهی برتریهایی نسبت به سایر کتابخانههای regex بیابد. این ویژگیها موجب میشوند که Coregex بتواند سرعت اجرای عملیات را در مقایسه با نمونههای قدیمی، بین ۱۵ تا ۲۴۰ برابر افزایش دهد. این رقمها نشان میدهد که این ابزار میتواند در پروژههایی که نیازمند جستجوهای سریع و مکرر در دادههای بزرگ هستند، اتفاق بزرگی باشد و کار توسعهدهندگان را بسیار سادهتر و کارآمدتر کند.
در نتیجه، Coregex not تنها یک جایگزین سریع برای regexهای متداول است، بلکه با ساختاری مدرن و فناوریهای پیشرفته، سطح جدیدی از کارایی را در عملیات تطابق متنی برای زبان برنامهنویسی Go ارائه میدهد. این ابزار به توسعهدهندگان امکان میدهد تا در زمان و منابع صرفهجویی کنند و نرمافزارهایی با عملکرد بهتر عرضه کنند.
#برنامه_نویسی #رایگان #کارایی #توسعهدهندگان
🟣لینک مقاله:
https://github.com/coregx/coregex
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 170 |
| 5 | 🔵 عنوان مقاله
Go 1.27.3 and 1.26.10
🟢 خلاصه مقاله:
نسخههای جدید Go 1.27.3 و 1.26.10 اکنون قابلیت رد زنجیره گواهی (Chain Refusal) را دارند. این ویژگی به طور پیشفرض در نظر گرفته شده است، زیرا همانطور که فیلیپپو والسوردا اشاره میکند، در سیستمهای لینوکس، مخازن اعتماد (Trust Stores) هیچ راهی ندارند تا لغو اعتبار گواهینامهها را به برنامهها اطلاع دهند. به همین دلیل، این قابلیت در سطح زبان برنامهنویسی گویای اهمیت و نیاز به افزوده شدن این کارکرد است تا برنامهها بتوانند در صورت نیاز زنجیره گواهیهای منقضی یا مخدوش را رد کنند و امنیت در تراکنشهای اینترنتی تقویت شود.
در نتیجه، توسعهدهندگان و مدیران سیستم اکنون میتوانند با اطمینان بیشتری از این نسخههای جدید استفاده کنند، چراکه این آپدیت باعث بهبود امنیت و مدیریت گواهیهای دیجیتال در محیطهای مبتنی بر لینوکس میشود. این تغییر نشاندهنده سمتگیری پروژه Go به سمت ارتقاء امنیت و راحتی استفاده بوده و نشان میدهد که تیم توسعه در پی رفع نقاط ضعف مهم در معماری امنیتی است.
#امنیت #توسعه_نرمافزار #گواهینامه #پیشرفتهای_برننامه
🟣لینک مقاله:
https://groups.google.com/g/golang-announce/c/66pojueaQek
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 201 |
| 6 | به نظرم وجود هوش مصنوعی یه نعمت هست
بهتر از اون نعمت
نعمتی که بتونی پرامت درست رو بنویسی و خروجی با کیفیت بگیری | 190 |
| 7 | 🔵 عنوان مقاله
Interactive Refactoring in gopls
🟢 خلاصه مقاله:
در گذشته، روند بازسازی و بهبود کد در gopls، ابزار زبان برنامهنویسی Go، محدودیتهایی داشت. یکی از این محدودیتها این بود که عملیاتهایی مانند اصلاحات لایسنس و ساختارهای دادهای نمیتوانستند از شما سوالی بپرسند، بنابراین هنگام افزودن تگهای ساختاری در کد، gopls صرفاً بر اساس فرضیهای کلی، مثلا فرض بر این که تگهای JSON یا camelCase مورد نظر است، عمل میکرد. این نوع حدس زدن ممکن است باعث شود نتیجه نهایی چندان دقیق نباشد یا نیاز به اصلاحات مجدد داشته باشد.
خبر خوب این است که حالا gopls قابلیت جدیدی یافته است؛ این ابزار پیشرفته میتواند پنجرههای گفتگو (Dialog) را باز کند و از شما مستقیم سوال بپرسد تا ورودیهای لازم را جمعآوری کند. این ویژگی باعث میشود فرآیند اصلاح و بازنویسی کد بسیار دقیقتر و کاربرپسندتر باشد، زیرا حضور مستقیم کاربر در فرآیند انتخاب و تایید تغییرات، تضمینکننده تطابق بیشتر آن با نیازهای شخصی برنامهنویس است.
این تحول در gopls، نشاندهندهی راهحلهای نوآورانه برای بهبود تعامل بین توسعهدهندگان و ابزارهایشان است. با اضافه شدن این قابلیت، حالا میتوانید از عملیات هوشمند و تعاملی بهرهمند شوید که فرآیند اصلاح کد را سریعتر، دقیقتر و شخصیتمحور میکند و تجربه کاربری بهتری را رقم میزند.
#برنامهنویسی #go #هوشمندسازی #توسعه_نرمافزار
🟣لینک مقاله:
https://go.dev/blog/interactive-refactoring
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 237 |
| 8 | 🔵 عنوان مقاله
Go Hardcodes a Block on Broken eMudhra Certs
🟢 خلاصه مقاله:
گو هکدهایک دادگاهی بر سر گواهینامههای معیوب eMudhra
در نسخه ۱.۲۷ گو، تیم توسعه تصمیم گرفت که اقدامی جدی در برابر مشکلات امنیتی مرتبط با گواهینامههای دیجیتال انجام دهد. این پرونده مربوط به هشت گواهینامه میانی (Intermediate CA certificates) بود که آسیبپذیریهای عمیقتری داشتند؛ به طوری که به راحتی میتوانستند کلیدهای خصوصی آنها بازیابی شود. این مشکل نشان میداد که این گواهینامهها ممکن است وسیلهای برای نفوذهای مخرب و حملات سایبری قرار بگیرند، بنابراین اهمیت اصلاح سریع آنها بسیار بالا ررفت.
در نتیجه، تیم توسعه دهنده گو اقدام به مسدود کردن این گواهینامهها کرد تا ارتباط و اعتماد کاربران به سیستمهای مبتنی بر این گواهینامهها حفظ شود و امکان سوء استفاده از ضعفهای امنیتی به حداقل برسد. این اقدام، نمونهای از رویکرد جدی و پیشگیرانه گو در حفظ امنیت و اعتماد کاربران است. حذف یا مسدود کردن گواهینامههای ناامن، یکی از اقدامات کلیدی در تقویت زیرساختهای امنیتی در فضای دیجیتال است و نشان میدهد که گو همچنان در راستای بهبود امنیت اینترنت تلاش میکند.
در مجموع، این خبر نشان میدهد که چگونه تیمهای امنیت سایبری در تنظیمات و بهروزرسانیهای نرمافزاری، حساسیت و توجه ویژهای به موضوع امنیت دارند و برای محافظت از کاربران، اقداماتی سریع و مؤثر انجام میدهند.
#امنیت_سایبری #گواهینامه #حفاظت_دیجیتال #گو
🟣لینک مقاله:
https://github.com/golang/go/issues/82345
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 217 |
| 9 | 🔵 عنوان مقاله
MyGo: Build Desktop Apps in Go with No Cgo Required
🟢 خلاصه مقاله:
در دنیای توسعه نرمافزارهای دسکتاپ، سادهسازی فرآیند ساخت برنامهها و کاهش وابستگیها همواره یکی از هدفهای اصلی توسعهدهندگان بوده است. بهرهگیری از زبان برنامهنویسی کارآمد و در عین حال ساده، میتواند تجربه ساخت اپلیکیشنهای حرفهای را بسیار بهبود بخشد. در این راستا، ابزار جدید «MyGo» وارد میدان شده است، که به توسعهدهندگان اجازه میدهد برنامههای دسکتاپ برای سیستمعاملهای macOS، ویندوز و لینوکس را با زبان برنامهنویسی گو (Go) بسازند، بدون نیاز به استفاده از Cgo. این قابلیت به معنای حذف وابستگیهای پیچیده و تسهیل روند توسعه است که در فرایند ساخت برنامهها تاثیر قابل توجهی دارد.
یکی از ویژگیهای برجسته «MyGo»، امکان طراحی رابط کاربری بر پایه پردازشهای گرافیکی بر روی GPU است. این به معنای ساخت برنامههایی است که ظاهر جذابی دارند و با بار کم، تنها چند مگابایت حجم دارند. این اپلیکیشنها میتوانند به صورت مستقیم در سیستمعاملهای مختلف اجرا شده و تجربه کاربری بینظیری ارائه دهند، و در عین حال حجم نهایی بسیار کم باقی میماند. همچنین، امکان توسعه نمونههای وبفرانتند در این پلتفرم وجود دارد که از طریق وبویو (Webview) سیستم، قسمتهای گرافیکی و رابط کاربری بصری ساخته میشود. این سیستم همچنین قابلیت تعامل با قسمتهای دیگر برنامه را فراهم میکند، چرا که وبفرانتند میتواند به زبان تایپاسکریپت و از طریق یک کلاینت تولید شده، با Go ارتباط برقرار کند.
در نتیجه، «MyGo» ابزاری است قدرتمند و در عین حال ساده، که توسعه برنامههای دسکتاپ را برای کاربران، سریعتر، کمحجمتر و کارآمدتر میکند. این فناوری، به خصوص برای برنامهنویسانی که به دنبال راهحلی سبک و بدون نیاز به وابستگیهای پیچیده هستند، گزینهای بسیار جذاب و قابل اعتماد است.
#برنامه_نویسی #توسعه_دسکتاپ #GoLang #نرمافزار
🟣لینک مقاله:
https://mygo.egoist.dev/
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 196 |
| 10 | 🔵 عنوان مقاله
TinyGo 0.43: Go for Microcontrollers and WebAssembly
🟢 خلاصه مقاله:
نسخه جدید TinyGo 0.43، نسخهای از کامپایلر زبان برنامهنویسی Go است که مخصوص دستگاههای کوچک، میکروکنترلرها و وباسمبلی طراحی شده است. این نسخه با هدف نزدیکتر کردن کارایی و امکانات TinyGo به نسخههای استاندارد زبان Go ارائه شده است، و قابلیتهای جدیدی را به آن افزوده است. این بهبودها شامل امکاناتی مانند تستهای همزمان، عملیات تست و سنکتست، بازیابی خطا در محیط WebAssembly (Wasm) و بسیاری ویژگیهای دیگر است که به توسعهدهندگان کمک میکند برنامههای خود را با بهرهوری و قابلیت اطمینان بیشتری اجرا کنند.
در این نسخه، تیم توسعه، تمرکز خاصی بر رفع کمبودها و افزودن امکاناتی کرده است که ابزارهای مشابه در نسخههای بزرگتر زبان Go دارند. بسیاری از این توسعهها توسط جیک بیلی، برنامهنویس معتبر در پروژههای مربوط به انتقال زبان TypeScript به Go، صورت گرفته است. این همکاریها باعث شده است TinyGo تبدیل به ابزار قدرتمند و انعطافپذیری برای توسعهدهندگان در حوزههای محدود و نیازمند به سیستمهای کمحجم شود؛ چه برای اینترنت اشیاء، چه برای برنامههای وباسمبلی و یا دیگر پروژههایی که نیاز به اجرای کد در محیطهای محدود دارند.
در نتیجه، نسخه 0.43 TinyGo راهحلی کارآمد و قابل اطمینان برای برنامهنویسان فراهم میکند تا بتوانند کدهای خود را به شکل بهتری در بسترهای مختلف اجرا و تست کنند، و این در حالی است که امکانات کاربردی و پیشرفتهتری را برای توسعهدهندگان به ارمغان میآورد. این بهروزرسانی نشاندهنده تمرکز تیم توسعه بر بهبود کارایی، تضمین کیفیت و انعطافپذیری این پلتفرم است.
#TinyGo #برنامه_نویسی #میکروکنترلر #وباسمبلی
🟣لینک مقاله:
https://github.com/tinygo-org/tinygo/releases/tag/v0.43.0
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 195 |
| 11 | 🔵 عنوان مقاله
trivially recoverable private keys
🟢 خلاصه مقاله:
در نسخههای جدید زبان برنامهنویسی گو، یعنی Go 1.27.3 و 1.26.10، اقداماتی برای جلوگیری از استفاده از کلیدهای خصوصی که به سادگی قابل بازیابی هستند، صورت گرفته است. به طور خاص، این نسخهها به صورت سختافزاری محدودیتهایی را در مسیر رمزگذاری و تأیید زنجیرههای امضای دیجیتال اعمال میکنند تا امنیت بیشتری را تضمین کنند. این تغییرات به دلیل مشکلاتی است که فیلیپپو والزوردا، یکی از کارشناسان امنیت سایبری،指出 کرده است؛ وی اشاره میکند که در فروشگاههای اعتماد سیستمعامل لینوکس، هیچ راهی برای انتقال لغو اعتبار گواهینامهها به برنامههای تحت اجرا وجود ندارد. بنابراین، سازندهها این محدودیتها را در کد خود اعمال کردهاند تا از خطرات احتمالی استفاده از کلیدهای قابل بازیابی جلوگیری شود و امنیت زنجیرههای امضا بیشتر حفظ شود.
در نتیجه، این محدودیتها در تلاش هستند تا سطح امنیت در پروژههای نرمافزاری افزایش یابد و از استفادههای ناخواسته یا مخرب از کلیدهای خصوصی جلوگیری کنند، هر چند که این کار نیازمند تصمیمگیریهای سختگیرانه در فرآیندهای توسعه است تا در صورت نیاز امکان رفع محدودیتها وجود داشته باشد.
#امنیت #رمزنگاری #کلیدخصوصی #برنامهنویسی
🟣لینک مقاله:
https://www.bleepingcomputer.com/news/security/mozilla-google-apple-block-compromised-emudhra-ca-certificates/
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 179 |
| 12 | 🔵 عنوان مقاله
SIMD and Go: How the New Packages Work Under the Hood
🟢 خلاصه مقاله:
در این مقاله، به بررسی جامع و مصور از حمایت آزمایشی زبان برنامهنویسی گو در زمینه SIMD میپردازیم. ابتدا نگاهی دقیقی به دستورالعملهای وکتوری یا همان عملیاتهای بر پایه پردازش همزمان چندین داده در یک دستور داریم، که نقش مهمی در بهبود سرعت و کارایی برنامههای محاسباتی دارند. این بخش شامل توضیحاتی است درباره اینکه دستورالعملهای وکتوری چه کاری انجام میدهند و چگونه میتوان از آنها در بهینهسازی کدهای برنامه بهره برد.
سپس، به جزئیات امکانات و عملیاتهایی میپردازیم که در بستههای کتابخانههایی مانند simd/archsimd و بسته جدید و مستقل simd ارائه شده است. این بستهها امکان نوشتن کدهای قابل حمل و کارا را فراهم میکنند، به گونهای که بدون وابستگی به معماری خاص، بتوان برنامههایی با بهرهوری بالا نوشت. در ادامه، نحوه ترجمه این عملیاتهای سطح پایین به زبان ماشین توسط کامپایلر گو شرح داده میشود و نشان میدهیم چگونه این فرآیند، سرعت اجرای برنامهها را به طور قابل توجهی افزایش میدهد.
در پایان، اهمیت این توسعهها در زمینه برنامهنویسی سطح پایین و ارتقای سرعت نرمافزارهای علمی و مهندسی مورد بررسی قرار گرفته و چشماندازی از آینده پشتیبانی از SIMD در زبان گو ارائه میشود. این تحولات، امکان نوشتن کدهای سریع و ناپاییدنی را برای توسعهدهندگان فراهم میآورد، که در نهایت منجر به بهبود کارایی کلی برنامهها و بهرهوری در پروژههای مختلف میشود.
#برنامهنویسی_گو #SIMD #کتابخانه_های_پورتابل #بهینگی_کد
🟣لینک مقاله:
https://internals-for-interns.com/posts/go-simd/
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 217 |
| 13 | 🔵 عنوان مقاله
proposed as an LSP standard
🟢 خلاصه مقاله:
در دنیای فناوری، هر روزه استانداردهای جدیدی در حال شکلگیری هستند که نقش مهمی در بهبود و تسهیل توسعه نرمافزارها ایفا میکنند. یکی از تازهترین پیشنهادها، مربوط به استانداردی است که توسط جامعه توسعهدهندگان زبان برنامهنویسی Go مطرح شده است. این پیشنهاد به عنوان یک استاندارد در حوزه زبانهای برنامهنویسی خاص یا همان "LSP" معرفی شده است. هدف اصلی این استاندارد، هماهنگسازی و بهبود روند توسعه کدهای پیچیده است تا توسعهدهندگان بتوانند با اطمینان بیشتری و بهرهوری بالاتر با ابزارهای متفاوت کار کنند.
این پیشنهاد قرار است نقش مهمی در استندردسازی فرآیندهای توسعه ایفا کند و امکان همکاری بهتر بین ابزارها و فناوریهای مختلف را فراهم سازد. در نتیجه، توسعهدهندگان قادر خواهند بود با اطمینان بیشتری کدهای خود را مدیریت و توسعه دهند، چرا که استانداردهای یکپارچه، خطاهای احتمالی را کاهش میدهند و روند کار را سریعتر میکنند. این نوآوری نشان میدهد که جامعه توسعهدهندگان در حال حرکت به سمت استانداردها و فناوریهایی است که توسعه نرمافزار را سادهتر، سریعتر و مطمئنتر میکند.
این پیشنهاد جدید بخشی از تحولات مهم در اکوسیستم برنامهنویسی است و میتواند نتیجهای مثبت بر فرآیندهای توسعه نرمافزارهای مدرن داشته باشد. با نگاهی به آینده، چنین استانداردهایی میتوانند نقش کلیدی در تدوین راهبردهای توسعه فناوریهای جدید ایفا کنند و روند پیشرفت در حوزه برنامهنویسی را سرعت بخشند.
#پیشرفت_فناوری #استانداردهای_برنامهنویسی #توسعه_نرمافزار #جامعه_توسعهدهندگان
🟣لینک مقاله:
https://github.com/microsoft/language-server-protocol/issues/1164
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 221 |
| 14 | 🔵 عنوان مقاله
Better HTTP/1 Connection Reuse
🟢 خلاصه مقاله:
در نسخهی ۱.۲۷ زبان برنامهنویسی Go، تغییر مهمی در نحوه مدیریت ارتباطهای HTTP/1 صورت گرفته است. پیش از این، برنامهنویسان مجبور بودند به صورت دستی، بدنه پاسخهای HTTP/1 را کامل خالی کنند تا بتوانند ارتباط را مجدداً استفاده کنند. این فرآیند، کار خستهکننده و زمانبر بود و در نتیجه، کارایی ارتباطات شبکه کاهش مییافت.
حال، با بهروزرسانی جدید، کلاینتهای Go در پسزمینه و در قالب محدودیتهایی مشخص، بخشهای باقیمانده از بدنه پاسخها را به صورت اتوماتیک و خودکار تخلیه میکنند. این اتفاق باعث میشود که توسعهدهندگان دیگر نگران مدیریت دستیی این بخشها نباشند و فرآیند استفاده مجدد از ارتباطها بسیار سادهتر و موثرتر انجام شود. به این ترتیب، سرعت، بازدهی و کارایی برنامههای شبکهای به طور قابل توجهی بهبود یافته است.
به طور خلاصه، این بهروزرسانی در نسخهی ۱.۲۷، امکان استفادهی سریعتر و روانتر از ارتباطهای HTTP/1 را فراهم میکند و به برنامهنویسان آزادی میدهد که بیشتر بر طراحی و توسعه تمرکز کنند، در حالی که بخشهای فنی و زمانبر به صورت خودکار مدیریت میشوند.
#اتصال_HTTP #بهبود_کارایی #برنامهنویسی #نکات_توسعه
🟣لینک مقاله:
https://go.dev/blog/http-connection-reuse
➖➖➖➖➖➖➖➖
👑 @gopher_academy | 236 |
| 15 | درود دوستان 🌱
اگر روی GitHub سورسکدی دارید که دوست دارید بیشتر دیده بشه و به دیگران معرفی بشه، میتونید برام پیام بفرستید تا در یکی از کانالهای مجموعه معرفیاش کنیم.
بسته به موضوع و کاربرد پروژه، سورسکد شما رو در کانال تخصصی مرتبط منتشر میکنم تا به دست افراد علاقهمند به همون حوزه برسه. 🚀
📌 فقط کافیه همراه سورسکد، یک توضیح مختصر و مفید هم بفرستید که شامل این موارد باشه:
پروژه چیه و چه کاربردی داره؟
چه مشکلی رو حل میکنه؟
چه ویژگی یا قابلیت خاصی داره؟
توضیحات شما همراه با لینک GitHub در کانال مربوطه منتشر میشه تا دیگران هم بتونن با پروژهتون آشنا بشن.
👤 ارسال سورسکد و ارتباط با ادمین:
@mrbardia72 | 291 |
| 16 | 📢 لیست کانالهای تخصصی ما
ما بهصورت روزانه جدیدترین اخبار، مقالات، آموزشها و منابع تخصصی را در حوزههای مختلف فناوری منتشر میکنیم:
🔹@Software_Labdon
🔻Software Engineering/Security
🔻Quality Assurance
🔹@gopher_academy
🔻Go Articles
🔻Best Practices
🔻Architecture
🔹@DevOps_Labdon
🔻Docker/Kubernetes
🔻AWS/GCP/Azure
🔹@ai_labdon
🔻ChatGPT/Gemini/Grok
🔻Claude/AI News
🔹@FrontEnd_Labdon
🔻JavaScript/TypeScript
🔻React/Vue/Angular
🔻Design/User Experience/User Interface
🔹@Linux_Labdon
🔻Linux News/Tools/Administration
🔹@Database_Academy
🔻PostgreSQL/MySQL
🔻Redis/MongoDB
🔹@job_labdon
🔻 All job positions in the field of computer
🔹@persianpost_official
🔻just History of Ancient Iran
🔹@futurepulse_persian
🔻Space and Astronomy | Physics and Chemistry
🔻Biology and Health | Geology
🔻Electric Vehicles
برای دریافت شرایط تبلیغات در چنل های ما عدد یک رو به ای دی زیر بفرستید:
@mrbardia72
🚀 اگر میخواهید به تمام کانالهای تخصصی ما بهصورت یکجا دسترسی داشته باشید، از طریق لینک زیر عضو شوید:
https://t.me/addlist/nHHKekbfknUzMjA0 | 310 |
| 17 | sticker.webp | 303 |
| 18 | 🎖 JSON v2 by default
بازنویسی موردانتظار encoding/json/v2 از Go 1.25 بهصورت آزمایشی در دسترس بود. در Go 1.27، این قابلیت از مرحلهی آزمایشی خارج میشود و دو پکیج زیر بدون نیاز به فلگ build یعنی GOEXPERIMENT=jsonv2 قابل استفادهاند:
encoding/json/v2
بencoding/json/jsontext، پکیج مکملی که امکانات سطح پایینتری برای کار با متن JSON ارائه میکند.
اما تغییر مهمتر، هرچند کمتر به چشم میآید، این است که پکیج کلاسیک encoding/json، یعنی v1، اکنون در پشت صحنه از پیادهسازی v2 استفاده میکند.
آیا کدهای قبلی نیاز به تغییر دارند؟
خیر. این جابهجایی بهصورت شفاف انجام میشود و رفتار قبلی حفظ شده است؛ فقط متن برخی پیامهای خطا ممکن است متفاوت باشد.
گزینههای جدید Options نیز اجازه میدهند در مواردی که رفتار v2 با v1 تفاوت دارد، معنای سازگار با v1 حفظ شود.
بنابراین، نیازی به مهاجرت کدها نیست. اگر با مشکل سازگاری مواجه شدید، میتوانید پیادهسازی اصلی v1 را با این فلگ بازیابی کنید:
GOEXPERIMENT=nojsonv2
استفاده از API نسخهی v2
در کاربردهای رایج، API نسخهی v2 شباهت زیادی به v1 دارد. برای استفاده از آن، کافی است پکیج را با نام مستعار json وارد کنید:
import json "encoding/json/v2"
type Point struct {
X int `json:"x"`
Y int `json:"y"`
}
data, err := json.Marshal(Point{X: 1, Y: 2})
fmt.Println(string(data), err)
تفاوت مهم: مرتبسازی کلیدهای map
یک تفاوت رفتاری مهم را باید در نظر داشته باشید:
در v1، کلیدهای map همیشه مرتب میشوند؛ اما v2 بهصورت پیشفرض آنها را مرتب نمیکند. حذف این مرحله، سرعت اجرای عملیات را افزایش میدهد.
اگر به خروجی پایدار و قابلتکرار نیاز دارید، مثلاً برای golden testها، میتوانید گزینهی json.Deterministic را فعال کنید تا خروجی JSON بهشکل قطعی تولید شود.
در نتیجه، Go 1.27 بدون نیاز به مهاجرت اجباری، پیادهسازی جدید JSON را در اختیار برنامههای قدیمی قرار میدهد؛ در عین حال، API نسخهی v2 و گزینههای کنترلی آن را نیز برای کدهای جدید فراهم میکند. | 291 |
| 19 | 🎖 The uuid package
بGo بالاخره یک پکیج اختصاصی برای UUID به کتابخانهی استاندارد خود اضافه کرده است!
پکیج جدید و سطحبالای uuid امکان تولید و parse کردن UUIDها را مطابق با استاندارد RFC 9562 فراهم میکند و برای تولید مقادیر تصادفی از یک منبع تصادفی امن از نظر رمزنگاری، یعنی crypto/rand، استفاده میکند.
بUUIDهایی که مؤلفهی تصادفی دارند، از نوع قابلمقایسه (comparable) هستند؛ بنابراین میتوانید آنها را مستقیماً با عملگر == مقایسه کنید.
بParse کردن UUID و دسترسی به مقادیر ویژه
a := uuid.MustParse("f81d4fae-7dec-11d0-a765-00a0c91e6bf6")
fmt.Println("parsed:", a)
fmt.Println("nil: ", uuid.Nil())
fmt.Println("max: ", uuid.Max())
در این مثال، uuid.MustParse() رشته را به UUID تبدیل میکند.
همچنین uuid.Nil() مقدار UUID صفر و uuid.Max() مقدار UUID با تمام بیتهای تنظیمشده روی ۱ را برمیگردانند.
تولید UUID: نسخهی ۴ یا ۷؟
برای تولید UUID، چند گزینه در اختیار دارید:
uuid.New():
الگوریتمی مناسب برای اغلب کاربردها انتخاب میکند.
uuid.NewV4():
یک UUID کاملاً تصادفی تولید میکند.
uuid.NewV7():
یک UUID مرتبشونده بر اساس زمان تولید میکند.
نسخهی ۷ بهخصوص برای کلیدهای پایگاه داده کاربردی است؛ چون UUIDهای آن بر اساس زمان ایجاد قابل مرتبسازی هستند.
برای مشاهدهی تفاوت، این کد را چند بار اجرا کنید:
fmt.Println(uuid.NewV4()) // random
fmt.Println(uuid.NewV7()) // time-ordered
هر بار فراخوانی این توابع، یک مقدار جدید تولید میکند. در نتیجه، پکیج استاندارد uuid در Go تولید و پردازش UUIDها را بدون نیاز به وابستگی خارجی سادهتر میکند. | 188 |
| 20 | 🎖 Post-quantum signatures
در Go 1.27، پکیج جدید crypto/mldsa الگوریتم ML-DSA را پیادهسازی میکند؛
یک طرح امضای دیجیتال پساکوانتومی که در استاندارد FIPS 204 مشخص شده است.
این الگوریتم سه مجموعهپارامتر دارد:
MLDSA44
MLDSA65
MLDSA87
این مجموعهها از نظر سطح امنیت و اندازهی کلید و امضا با یکدیگر تفاوت دارند؛
انتخاب آنها مستلزم ایجاد توازن میان این عوامل است.
نمونه استفاده از ML-DSA
در مثال زیر، یک کلید خصوصی از نوع MLDSA65 تولید میکنیم، پیامی را امضا میکنیم و سپس امضای آن را اعتبارسنجی میکنیم:
priv, _ := mldsa.GenerateKey(mldsa.MLDSA65())
msg := []byte("victoria metrics")
sig, _ := priv.Sign(rand.Reader, msg, crypto.Hash(0))
fmt.Println("scheme: ", mldsa.MLDSA65())
fmt.Println("sig size:", mldsa.MLDSA65().SignatureSize())
fmt.Println("verified:", mldsa.Verify(priv.PublicKey(), msg, sig, nil) == nil)
در این مثال، MLDSA65 برای تولید کلید و امضای پیام استفاده میشود. سپس با کلید عمومی متناظر، اعتبار امضا بررسی میشود.
پشتیبانی در X.509 و TLS
پشتیبانی از ML-DSA به پکیجهای دیگر کتابخانهی استاندارد Go نیز گسترش یافته است:
crypto/x509:
پشتیبانی از کلیدهای خصوصی، کلیدهای عمومی و امضاهای ML-DSA.
crypto/tls:
اضافهشدن سه طرح امضای MLDSA44، MLDSA65 و MLDSA87 برای استفاده در TLS 1.3، مطابق با استاندارد RFC 8446.
این تغییر استفاده از امضاهای دیجیتال پساکوانتومی را در زیرساخت رمزنگاری استاندارد Go آسانتر میکند؛ از تولید و اعتبارسنجی امضا گرفته تا کاربرد آنها در گواهیها و ارتباطات امن مبتنی بر TLS. | 170 |
