Gopher Academy
3.33K subscribers
923 photos
40 videos
280 files
2.07K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
go-toml 2.2: Go Library for the TOML Format

🟢 خلاصه مقاله:
مقاله به بررسی TOML پرداخته، که یک فرمت فایل پیکربندی است و توسط یکی از بنیانگذاران گیت‌هاب، تام پرستون-ورنر، ابداع شده است. TOML به دلیل ساختار ساده و خوانایی بالا، انتخاب محبوبی برای تنظیم پروژه‌های نرم‌افزاری و تعریف وابستگی‌ها و پیکربندی‌ها است. نکته جالب توجه این است که این فایل پیکربندی توسط یکی دیگر از افراد با نام تام/توماس، که یک کتابخانه Go را نوشته، مورد استفاده قرار گرفته است. این اشاره به قابلیت‌های چندپهلو و همکاری‌های میان فرهنگی و درون صنعتی در توسعه ابزارهای دیجیتال دارد. اثر تام پرستون-ورنر در توسعه ابزارهای برنامه‌نویسی همچنان زنده و تأثیرگذار است.

🟣لینک مقاله:
https://github.com/pelletier/go-toml


👑 @gopher_academy
🔥5
👍2🎉1🍾1
🔵 عنوان مقاله
Beego 2.2: Backend Framework for RESTful APIs and Webapps

🟢 خلاصه مقاله:
مقاله‌ای که مرور شده است، به بررسی و توضیح نسخه‌ی 2.2.0 از یک فریم‌ورک برنامه‌نویسی می‌پردازد که از زبان برنامه‌نویسی Go استفاده می‌کند. در این نسخه، نسخه‌ی Go به 1.20 ارتقاء پیدا کرده است. فریم‌ورک مورد نظر از نرم‌افزارهای معروف دیگری چون Tornado، Sinatra و Flask الهام گرفته است، که نشان‌دهنده‌ی تأثیرپذیری از سبک و ویژگی‌های این فریم‌ورک‌های موجود است. این ارتقاء در نسخه جدید ممکن است شامل بهبودهایی در عملکرد، امنیت یا قابلیت‌های جدید باشد که متن به طور خاص به آن اشاره نمی‌کند، ولی عموماً این گونه به‌روزرسانی‌ها در راستای افزایش کارایی و سهولت استفاده برای توسعه‌دهندگان صورت می‌گیرد. این نوع ارتقاءها همچنین می‌تواند به توسعه‌دهندگان کمک کند تا با استفاده از آخرین تکنولوژی‌ها، برنامه‌های موثرتر و مطمئن‌تری بسازند.

🟣لینک مقاله:
https://github.com/beego/beego


👑 @gopher_academy
👍2🍾1
Gopher Academy pinned «🖐درود به همه دوستان لیست چنل های ما👇 🔵 موقعیت شغلی های گولنگ ❤️ @gopher_job 🔵 آموزش و مقالات بروز انواع دیتابیس ها ❤️ @database_academy»
🔵 عنوان مقاله
LangChain Go: A Go Port/Fork of LangChain for LLM Apps

🟢 خلاصه مقاله:
مقاله مورد بررسی به معرفی LangChain Go پرداخته است که نسخه‌ای مجدداً پیاده‌سازی شده از فریم‌ورک LangChain در زبان برنامه‌نویسی Go می‌باشد. LangChain یک فریم‌ورک محبوب است که بیشتر با زبان Python شناخته شده و برای توسعه برنامه‌های مبتنی بر مدل‌های زبانی (language model) استفاده می‌شود. این نسخه جدید، که به صورت یک مخزن GitHub در دسترس قرار گرفته، امکان بهره‌گیری از مفاهیم LangChain را در محیط برنامه‌نویسی Go فراهم می‌آورد. این ابزار جدید می‌تواند مزایایی نظیر کارایی بالا و هم‌خوانی بهتر با سیستم‌هایی که Go در آن‌ها استفاده می‌شود را ارائه دهد.

🟣لینک مقاله:
https://tmc.github.io/langchaingo/docs/


👑 @gopher_academy
2👍2
🔵 عنوان مقاله
  Pointers for Performance?

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به بحث در مورد تاثیر بازگرداندن یک اشاره‌گر (pointer) به جای یک مقدار (value) از یک تابع در زبان برنامه‌نویسی Go پرداخته است. در زبان Go، اجرای عملکردها با بازگرداندن مقادیر عموماً توصیه می‌شود مگر آنکه دلایل مشخصی برای استفاده از اشاره‌گرها وجود داشته باشد. مقاله بیان می‌کند که بازگرداندن اشاره‌گرها می‌تواند در مواردی که با اندازه های بزرگ داده‌ساختاری سروکار داریم یا عملیات‌های پیچیده‌ای نیاز به انجام است، مفید باشد. این امر به دلیل کاهش تکرار کپی کردن داده‌ها در حافظه است. اما، استفاده نادرست از اشاره‌گرها می‌تواند به مشکلاتی مانند نشت حافظه و دسترسی‌های ناامن منجر شود. مقاله تأکید می‌کند که تصمیم گیری برای بازگرداندن اشاره‌گر یا مقدار باید با توجه به الزامات کارایی و امنیت مشخص شود و نباید به صورت کلی بدون در نظر گرفتن جزئیات پیاده‌سازی صورت گیرد.

🟣لینک مقاله:
https://www.youtube.com/watch?v=ISOjCvpNiYA


👑 @gopher_academy
👍3
🔵 عنوان مقاله
Building an Interactive Shell in Go

🟢 خلاصه مقاله:

این مقاله توسط تیم توسعه‌دهنده پایگاه داده Dolt نوشته شده است، که نرم‌افزار خط فرمانی (CLI) را برای اجرای دستورات SQL و ارتباط با پایگاه داده ارائه می‌دهند. مقاله به معرفی راهنمایی برای ساخت یک CLI مناسب و کاربرپسند پرداخته، که شامل ویژگی‌هایی مانند تاریخچه دستورات و تکمیل خودکار دستورات است. در این مقاله، کتابخانه ishell به عنوان انتخاب مناسب برای ایجاد چنین ویژگی‌هایی در CLI معرفی شده است. این کتابخانه به توسعه‌دهندگان کمک می‌کند تا بتوانند یک رابط کاربری خط فرمان قدرتمند و در عین حال قابل فهم برای کاربران نهایی ارائه دهند.

🟣لینک مقاله:
https://www.dolthub.com/blog/2023-03-29-interactive-shell-golang/


👑 @gopher_academy
👍4
🔵 عنوان مقاله
Building a Blog in Go: Rendering Markdown as HTML

🟢 خلاصه مقاله:
مقاله‌ای که شما به آن اشاره کرده‌اید، به بررسی یک سری مطالب آموزشی می‌پردازد که هدف آن ساخت یک سیستم وبلاگ ساده با استفاده از زبان برنامه‌نویسی Go است. این سری آموزشی به تدریج مراحل مختلف ساخت این سیستم وبلاگ را پوشش داده و به خوانندگان کمک می‌کند تا با استفاده از امکانات زبان Go، قابلیت‌های برنامه‌نویسی وب خود را توسعه دهند. در هر قسمت، جنبه‌های مختلف توسعه نرم‌افزار، از جمله طراحی پایگاه داده، ساخت دسترسی‌های API، مدیریت کاربر و رابط کاربری گرافیکی پرداخته شده است. این آموزش‌ها برای برنامه‌نویسانی که می‌خواهند درک عمیق‌تری از توسعه نرم‌افزار وب با Go کسب کنند مناسب است و به آنها امکان می‌دهد تا پروژه‌های برنامه‌نویسی خود را به طور کامل‌تر و کارآمدتر مدیریت کنند.

🟣لینک مقاله:
https://www.calhoun.io/building-a-blog-part-2/


👑 @gopher_academy
👍4
🔵 عنوان مقاله
Brute Force Text Search Optimizations

🟢 خلاصه مقاله:
مقاله مورد بررسی به بحث در مورد انجام جستجوهای brute force بر روی داده‌های متنی بزرگ می‌پردازد و تأکید دارد که با وجود حجم بالای داده‌ها، این روش با استفاده از بهینه‌سازی‌های مناسب می‌تواند بسیار سریع باشد. نویسنده بیان می‌کند که با ارتقاء سخت‌افزاری و بهبود تکنیک‌های برنامه‌نویسی، جستجوی brute force حتی در حافظه‌های بزرگ هم مؤثر قابل اجرا است. همچنین، در مقاله به این نکته اشاره می‌شود که انجام این نوع جستجوها می‌تواند در مواقعی که دقت و سرعت بسیار ضروری است، به عنوان یک راه‌حل مفید عمل کند. نویسنده روش‌ها و استراتژی‌های مختلفی را برای بهینه‌سازی جستجوی brute force به دقت تشریح کرده و این نوع جستجو را به عنوان یک رویکرد قابل قبول برای پردازش و تحلیل داده‌های بزرگ ارائه داده است.

🟣لینک مقاله:
https://boyter.org/posts/brute-force-text-search-optimizations/


👑 @gopher_academy
3🍾1
🔵 عنوان مقاله
  Discussing Debugging in Go

🟢 خلاصه مقاله:
در آخرین قسمت از پادکست Go Time، مت بویل، بیل کندی، و جان کالهون به بحث در مورد تکنیک‌های عیب‌یابی پرداختند. بیل کندی دلایل خود برای عدم تمایل استفاده از ابزارهای عیب‌یابی توسط توسعه‌دهندگانش را بیان کرد و تاکید کرد که ترجیح می‌دهد تنها از تکنیک‌هایی استفاده کند که در محیط تولید قابل استفاده باشند. او و همکارانش در این قسمت به تفصیل در مورد چالش‌ها و راهکارهای عیب‌یابی در برنامه‌نویسی و توسعه نرم‌افزار صحبت کردند، به ویژه در زمینه‌ی استفاده از زبان برنامه‌نویسی Go. این بحث شامل نگاهی عمیق به روش‌های پیشگیرانه و تحلیلی عیب‌یابی بود که می‌تواند در بهبود فرآیندهای توسعه کمک کننده باشد.


🟣لینک مقاله:
https://changelog.com/gotime/309


👑 @gopher_academy
👍3🍾1
درود! ما در حال تحقیق و مطالعه درمورد فرآیند های خرید از فروشگاه های اینترنتی هستیم، ممنون میشیم با گذاشتن چند دقیقه وقت و تکمیل این پرسشنامه به انجام تحقیقات ما کمک کنید.
👇👇👇👇👇

https://survey.porsline.ir/s/orcck3O
👍4
🔵 عنوان مقاله
Hookdeck: The Amazon EventBridge Alternative

🟢 خلاصه مقاله:
مقاله‌ای که ارائه شده مربوط به استفاده از دروازه‌های رویداد (event gateway) در معماری رویداد محور (EDA) برای تیم‌های مهندسی است. در این مقاله، توضیح داده می‌شود که چگونه یک دروازه رویداد می‌تواند در دریافت، تبدیل، فیلتر، مسیریابی و ارسال پیام‌ها در سراسر معماری رویداد محور کارآمد باشد. استفاده از این فناوری به تیم‌های مهندسی امکان می‌دهد تا ارتباطات بین کامپوننت‌ها و سرویس‌های مختلف را به صورت کارآمدتر و قابل انعطاف‌تر مدیریت کنند. تمرکز اصلی مقاله بر اهمیت انعطاف‌پذیری و کارایی در مدیریت پیام‌ها در سیستم‌های پیچیده و توزیع شده است. این امکانات به تیم‌ها کمک می‌کند تا روی رسیدن به اهداف تکنولوژیکی خود تمرکز کنند و بتوانند پاسخ‌های سریع‌تری به نیازهای تغییریافته فراهم آورند.

🟣لینک مقاله:
https://hookdeck.com/discover/goweekly?ref=goweekly-502


👑 @gopher_academy
3
🔵 عنوان مقاله
Excelize: Library for Working with Excel Spreadsheets

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به توانایی و قابلیت‌های کتابخانه‌ای در زمینه خواندن و نوشتن فایل‌های XLAM، XLSM، XLSX، XLTM، و XLTX پرداخته است. این کتابخانه که مدت زیادی است که استفاده می‌شود، بر اساس پیشرفت‌های مستمر و تقویت شده خود از دیرباز تاکنون، به کاربران خود خدمت می‌رساند. اطلاعات بیشتر و مرتبط با این کتابخانه در مخزن GitHub قابل دسترسی است که از طریق لینک موجود در مقاله می‌توان به آن دستیافت. این مقاله بر این نکته تاکید دارد که این کتابخانه توانایی‌های قابل توجهی در زمینه مدیریت و دستکاری فایل‌های مختلف Excel ارائه می‌دهد و به شکل مداوم در حال بهبود و تقویت است.

🟣لینک مقاله:
https://xuri.me/excelize/


👑 @gopher_academy
👍2
Forwarded from Gopher Academy (Bardia)
var slice []string

slice == nil
Anonymous Quiz
58%
true
42%
false
👍6🎉1🍾1
Forwarded from Gopher Academy (Bardia)
var slice = []string{}

slice == nil
Anonymous Quiz
26%
true
74%
false
👍61🔥1
🔵 عنوان مقاله
Slices in Go: Grow Big or Go Home

🟢 خلاصه مقاله:
مقاله مذکور به بررسی عمیقی در مورد ساختار داده‌ای به نام "برش‌ها" (slices) می‌پردازد و به خصوص پرداختن به چگونگی رشد آنها می‌پردازد. بحث اصلی مقاله بر این است که درک نادرست از عملکرد برش‌ها می‌تواند مستقیماً در کدنویسی مشکلاتی به وجود آورد. به طور مثال، معمولاً برنامه‌نویسان از اینکه چه زمانی و چرا یک برش به حافظه اختصاصی (heap) منتقل می‌شود آگاه نیستند. مقاله بیان می‌دارد که انتقال برش‌ها به حافظه هیپ تحت شرایطی خاص رخ می‌دهد، که مرتبط با حافظه مدیریت شده و زمان عمر (lifetime) داده‌ها است. شناخت دقیق این مکانیزم‌ها می‌تواند به برنامه‌نیسان کمک کند تا کدهای بهینه‌تر و کارآمدتری بنویسند و از بروز مشکلات مرتبط با مدیریت حافظه پرهیز کنند.

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


👑 @gopher_academy
👍32
🔵 عنوان مقاله
BadgerDB 4.3: A Fast, Embeddable Key-Balue DB in Go

🟢 خلاصه مقاله:
مقاله‌ی مورد نظر به توضیح و تجزیه و تحلیل DocsDB، یک سیستم ذخیره‌سازی مقادیر کلیدی طراحی شده به عنوان جایگزینی پرکارآیی برای سیستم‌های مبتنی بر غیر-Go مانند RocksDB می‌پردازد. DocsDB با هدف بهبود عملکرد و کارایی در مقابل سایر سیستم‌های موجود در بازار توسعه یافته است. این سیستم با استفاده از زبان برنامه‌نویسی Go، امکان مدیریت داده‌ها را با سرعت و دقت بالا فراهم می‌آورد. بررسی‌های انجام شده در مقاله نشان می‌دهد که DocsDB در مقایسه با راه‌حل‌های مشابه مانند RocksDB، عملکرد بهتری در شرایط مختلف دارد. این مقاله به بررسی خصوصیات فنی و مزایای استفاده از DocsDB در برابر سایر سیستم‌ها می‌پردازد و توضیح می‌دهد که چگونه این سیستم می‌تواند پاسخگوی نیازهای خاص کاربران و توسعه‌دهندگان باشد.

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


👑 @gopher_academy
👍2🍾21
🔵 عنوان مقاله
Kafka-Compatible Data Streaming That Reduces Costs and Ops Burden

🟢 خلاصه مقاله:
مقاله‌ای که بررسی شده است، به تبلیغ و معرفی یک سرویس جدید با نام WarpStream پرداخته است. به نظر می‌رسد که این سرویس ویژگی‌های قابل توجهی دارد که شامل «اسکالینگ خودکار بدون نیاز به عملیات» (Zero ops auto-scaling) و «تهیه منابع به طور کامل» (Perfect provisioning) می‌شود. ادعا شده که هزینه استفاده از این سرویس ۱۰ برابر کمتر از Kafka است، که نشان‌دهنده کارایی بالا و مقرون‌به‌صرفه بودن آن است. مقاله همچنین اشاره می‌کند که علاقمندان می‌توانند WarpStream را به‌طور رایگان امتحان کنند و به علاوه، ۴۰۰ دلار اعتبار دریافت خواهند کرد. به نظر می‌رسد که هدف اصلی مقاله ترغیب خوانندگان به استفاده از این سرویس جدید و بهره‌مندی از مزایای آن است.

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


👑 @gopher_academy
👍3🍾1
🔵 عنوان مقاله
hyrumtoken: A Package to Encrypt Pagination Tokens

🟢 خلاصه مقاله:
مقاله در مورد اهمیت محدود سازی دسترسی به پارامترهای مربوط به تقسیم بندی در APIها است تا از دسترسی مشتریان API به قابلیت‌های ناخواسته جلوگیری شود. این رویکرد به منظور حفظ امنیت و عملکرد بهینه API ضروری است. کنترل دقیق بر دسترسی به این پارامترها از اشتباهات احتمالی در استفاده که می‌تواند منجر به دریافت اطلاعات نادرست یا سوء استفاده از داده‌ها شود، پیشگیری می‌کند. به علاوه، این مقاله تاکید می‌کند که مدیریت صحیح این پارامترها می‌تواند به بهبود تجربه کاربری کمک کرده و از بروز مشکلات امنیتی جلوگیری می‌کند. با استفاده از روش‌های تأیید صحیح پارامتر، می‌توان اطمینان حاصل کرد که API فقط داده‌های مناسب و مجاز را می‌فرستد و دریافت می‌کند.

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


👑 @gopher_academy
2🍾1
🔵 عنوان مقاله
go-mysql-server: A Storage Agnostic MySQL-Compatible Relational Database

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، درباره یک موتور و سرور SQL نوشته شده به زبان Go است که از پروتکل MySQL و SQL پشتیبانی می‌کند. این سیستم شامل یک سیستم ذخیره‌سازی در حافظه است که به کاربران امکان می‌دهد تا بدون نیاز به پیاده‌سازی اولیه هر گونه پایگاه داده اضافی، با داده‌ها کار کنند. علاوه بر این، کاربران می‌توانند بک‌اند‌های خود را برای ذخیره‌سازی یا پرس‌وجو در منابع داده مختلف پیاده‌سازی کنند. این امکان انعطاف‌پذیری بالایی را برای توسعه‌دهندگان فراهم می‌کند به طوری که می‌توانند ساختارهای ذخیره‌سازی متنوعی را بر اساس نیازهای خاص پروژه خود شخصی‌سازی کنند. این سیستم، با تکیه بر زبان Go، کارایی بالا و سهولت در استفاده از منابع سیستمی را ارائه می‌دهد.

🟣لینک مقاله:
https://github.com/dolthub/go-mysql-server


👑 @gopher_academy
👍7