Gopher Academy
3.34K subscribers
920 photos
40 videos
280 files
2.02K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
Media is too big
VIEW IN TELEGRAM
از اون سوالایی که باعث می‌شه مغز آدم سوت بکشه😂😂

🕊 @gopher_academy | @GolangEngineers
🍾331
Forwarded from Gopher Academy (Bardia.go)
🐧 نشست ۱۵ ام جامعه لینوکسی شیراز

🟢 موضوع ارائه : معرفی زبان GO

🐦 ارائه دهنده : محسن بخشنده

🐧 رزومه ارائه دهنده :  Golang Backend Develope, DevOps enginee, Cloud Computing

🗓تاریخ : چهارشنبه ۵ ام اردیبهشت ماه

ساعت : ۱۶:۰۰  الی  ۱۸:۰۰

📍مکان: بلوار مدرس، بلوار آزادگان، کارخانه نوآوری شیراز طبقه دوم انتهای سالن اتاق آموزشی

حامی برگزاری : کارخانه نوآوری شیراز 🍀

حضور برای عموم رایگان میباشد

⭕️ با توجه به محدودیت های ظرفیت برای شرکت کنندگان و مدل رایگان بودن این رویداد،  جهت حفظ ارزش آفرینی عدم حضور شما بعد از ثبت‌نام به منزله اضافه شدن نام شما به لیست شرکت کنندگان بد قول جامعه های فعال ما خواهد شد و در صورت  تکرار مجدد، از حضور در رویداد‌های رایگان جامعه لینوکسی شیراز به صورت رایگان محدود خواهید شد.


جهت ثبت نام روی لینک زیر کلیک کنید👇🏻
https://shirazlinuxcommunity.ir/event-15

📍Location
OSM : OpenStreetMap
GoogleMap : GoogleMap

🕊 @gopher_academy | @GolangEngineers
21
اگر برای محیط توسعه localhost نیاز به HTTPS داشتیدو برای  TLS certificateو امضای آن استفاده از mkcert یا local-ssl-proxy یا ... حتی خود openssl براتون سخته
استفاده از anchor lcl   یک راه کار ساده است
https://github.com/anchordotdev/cli

#DevTwitter

🕊 @gopher_academy | @GolangEngineers
101
در کرنل لینوکس NUMA چیست؟ به زبان ساده

فرض کنید کامپیوتر شما یه خونه آپارتمانیه. توی این خونه چندتا اتاق (گره) هست که هر کدوم تخت خواب (پردازنده) و کمد (حافظه) دارن.

تو معماری معمولی، همه تخت‌ها و کمدها توی یه اتاق بزرگ هستن. این می‌تونه برای کسایی که توی همون اتاق زندگی می‌کنن (برنامه‌هایی که به حافظه و پردازش زیادی نیاز دارن) خوب باشه، ولی می‌تونه برای کسایی که توی اتاق‌های دیگه زندگی می‌کنن (برنامه‌هایی که به حافظه و پردازش کمتری نیاز دارن) مشکل‌ساز باشه.

با توجه با این NUMA مثل اینه که یه سری از تخت‌ها و کمدها رو به اتاق‌های دیگه ببریم. این کار به کسایی که توی همون اتاق زندگی می‌کنن کمک می‌کنه که سریع‌تر به تخت‌ها و کمدهاشون دسترسی داشته باشن، بدون اینکه منتظر بمونن بقیه که توی اتاق‌های دیگه هستن ازشون استفاده کنن.

مثلا فرض کنید یه برنامه پایگاه داده دارین که به حافظه و پردازش زیادی نیاز داره. تو یه سیستم NUMA می‌تونین این برنامه رو طوری تنظیم کنین که توی یه گره اجرا بشه که حافظه و پردازنده‌های بیشتری داره. این کار به برنامه کمک می‌کنه که سریع‌تر به اطلاعات و قدرت پردازشی که نیاز داره دسترسی پیدا کنه، و می‌تونه عملکردش رو خیلی بهتر کنه.


در کل NUMA می‌تونه سرعت کار رو با کم کردن زمان دسترسی به حافظه، مخصوصاً برای برنامه‌هایی که به حافظه زیاد نیاز دارن، بهتر کنه.


DevTwitter | <Linuxor/>

🕊 @gopher_academy | @GolangEngineers
643

🕊 @gopher_academy | @GolangEngineers
303🕊3🍾1
✍️Afshin HadigolAfshin Hadigol

هِلم یا Helm نجات دهنده شما در Kubernetes !


اگر یه app کوچیک داری و میخوای توی کوبرنتیز deploy کنی kubectl کارتو راه میندازه ولی اگر app یکم بزرگتر بشه دیگه kubectl کارتو راه نمیندازه که هیچ دردسرم میشه برات.🤯

امروز میخوام بگم چرا helm یه ابزاریه که اگر ازش استفاده نکنی علاوه بر این که هرسری که deploy انجام میدی چند ساعت از تایمت رو میریزی تو جوب، ممکنه خطای انسانیم زیاد رخ بده.


با این سوال شروع کنیم که helm چی هست کلا؟🤔

یه ابزار مدیریت پکیج برای Kubernetes هست که به شما کمک می‌کنه تا برنامه‌های Kubernetes رو به طور ساده‌تر نصب، مدیریت و ارتقا بدید.

حالا سوال بعدی Helm چیکار میکنه و چرا خوبه که از helm استفاده بشه؟

🟢 برنامه های Kubernetes رو به بسته هایی که امکان استفاده دوباره داره تبدیل میکنه و اسمش رو هم میذاره charts. این charts ها فرایند نصب، ارتقا، و مدیریت برنامه هارو ساده میکنن. (ممکنه که برات سوال شده باشه که helm chart چی هست حالا؟ helm chart یه بسته‌بندی از تمام فایل‌های لازم برای نصب و راه اندازی برنامه‌های Kubernetes هست)

🟢 توی فرایندهای خودکارسازی CICD خیلی دستتو میگیره و سرعتتو بالا میبره.

همینطور که گفتم helm chart برای اینه که :

🔵بتونیم برنامه هارو بسته بندی کنیم و توی k8s راه اندازیش کنیم.

🔵 اجازه میده charts هایی که ایجاد کردی رو version بزنی و بین ورژن های مختلف جابه جا بشی.

🔵 میتونی charts هایی که نوشتی رو توی hub که helm درست کرده بذاری و با بقیه به اشتراک بذاریش، یا از charts هایی که قبلا نوشته شده و تو hub قرار داره استفاده کنی.

درواقع charts از یکسری فایل و directory تشکیل شده که هرکدوم برای چیز خاصی درنظر گرفته شدن:⬇️

🟡 ستون فقرات هلم چارت chart.yaml هست و دیتاهایی مثل نام، ورژن، یه سری توضیحات و dependency توی خودش ذخیره میکنه.

🟡 مقدارهای پیشفرضمون رو توی فایل values.yaml تعریف میکنیم و template هارو باهاش مقداردهی میکنیم.

🟡 یه دایرکتوری داریم به اسم template که از یه سری فایل template نگه داری میکنه مثل pods یا deployment که مقداردهی نشدن و با استفاده از متغییرهایی که تویvalues.yaml هستن مقداردهی میشن. ⚙️

نکته : فایل ها و directoryهای دیگه اییم هستن که من ننوشتم، برای مطالعه ی بیشتر حتما به سایتش یه سر بزنین: https://lnkd.in/dhDdKC2x

شماهم اگر ابزاری بهتر از helm میشناسین حتما معرفی کنید، دمتون گرم 🔥


🕊 @gopher_academy | @GolangEngineers
3👍2🍾1
How to Choose a Replication Strategy.pdf
1.6 MB
#bytebytego #tips #pro_guide

How to Choose a Replication Strategy


🕊 @gopher_academy | @GolangEngineers
👍33
How to Design a Good API_ - ByteByteGo Newsletter.pdf
1.5 MB
#bytebytego #tips #pro_guide

How to Design a Good API


🕊 @gopher_academy | @GolangEngineers
👍33🍾1
متاسفانه من الان خبر دار شدم Hashi Corp توسط IBM خریداری شده. و یعنی احتمالا محصولات اوپن سورسشون قرار هست کلوز سورس بشه.

🕊 @gopher_academy | @GolangEngineers
👍2🕊2🍾2
What Happens When a SQL is Executed_.pdf
963.4 KB
#bytebytego #tips #pro_guide

What Happens When a SQL is Executed?


🕊 @gopher_academy | @GolangEngineers
🍾5👍1
1714023515497.pdf
125.5 KB
اﻟﮕﻮی Backend For Frontends ﭼﯿﺴﺖ؟

🕊 @gopher_academy | @GolangEngineers
🍾5
Top 8 Cache Eviction Strategies.
👇👇👇👇👇

🕊 @gopher_academy | @GolangEngineers
🍾5👍1
Gopher Academy
Top 8 Cache Eviction Strategies. 👇👇👇👇👇 🕊 @gopher_academy | @GolangEngineers
op 8 Cache Eviction Strategies.
.
.
🔹 LRU (Least Recently Used)
LRU eviction strategy removes the least recently accessed items first. This approach is based on the principle that items accessed recently are more likely to be accessed again in the near future.

🔹 MRU (Most Recently Used)
Contrary to LRU, the MRU algorithm removes the most recently used items first. This strategy can be useful in scenarios where the most recently accessed items are less likely to be accessed again soon.

🔹 SLRU (Segmented LRU)
SLRU divides the cache into two segments: a probationary segment and a protected segment. New items are initially placed into the probationary segment. If an item in the probationary segment is accessed again, it is promoted to the protected segment.

🔹 LFU (Least Frequently Used)
LFU algorithm evicts the items with the lowest access frequency.

🔹 FIFO (First In First Out)
FIFO is one of the simplest caching strategies, where the cache behaves in a queue-like manner, evicting the oldest items first, regardless of their access patterns or frequency.

🔹 TTL (Time-to-Live)
While not strictly an eviction algorithm, TTL is a strategy where each cache item is given a specific lifespan.

🔹 Two-Tiered Caching
In Two-Tiered Caching strategy, we use an in-memory cache for the first layer and a distributed cache for the second layer.

🔹 RR (Random Replacement)
Random Replacement algorithm randomly selects a cache item and evicts it to make space for new items. This method is also simple to implement and does not require tracking access patterns or frequencies.


🕊 @gopher_academy | @GolangEngineers
🍾5👍2
هکاتون The Open League

▪️بنیاد TON هکاتون The Open League را راه‌اندازی کرد: مسیری سریع برای ورود به Open League با بیش از 150 میلیون دلار پاداش و مشوق‌های مختلف برای کاربران.
▪️هکاتون از آوریل تا ژوئن اجرا می‌شود و صندوق جایزه‌ی آن 2 میلیون دلار است.
▪️شرکت‌کنندگان اپلیکیشن و موارد استفاده جدید را برای دنیای Web3 شامل GameFi و شبکه‌های اجتماعی Web3 و DeFi و تجارت الکترونیک در TON و Telegram می‌سازند.

چرا در این هکاتون شرکت کنیم؟
▪️صندوق جایزه‌ی 2 میلیون دلاری.
▪️مسیری سریع برای شرکت در The Open League با حمایت 50،000 Toncoin جهت تقویت استخر نقدینگی توکن شما.
▪️بهترین پروژه‌ها می‌توانند از صندوق 500،000$ ارائه شده توسط TON Ventures کمک مالی دریافت کنند.
▪️فرصتی برای ملاقات با اعضای بنیاد TON و مدیران صندوق‌های سرمایه‌گذاری خطرپذیر در TON در طول Gateway در شهر دبی.

پروژه‌های شرکت‌کننده در فصل آزمایشی Open League شاهد رشد سه رقمی در تعداد کاربران فعال، هولدرهای توکن‌ها، ارزش بازار و حجم معاملات در صرافی‌های غیرمتمرکز TON بوده‌اند. این در حالیست که تنها 1 میلیون Toncoin پاداش برای فصل آزمایشی در نظر گرفته شده بود. در فصل آینده، جوایز 30 برابر افزایش خواهند داشت: 30 میلیون Toncoin پاداش برای 3 ماه.

شما و تیم‌تان می‌توانید در رقابت با دیگران برنده شوید؟ وقت سازندگی در TON فرا رسیده!

همین الان ثبت نام کنید!


🕊 @gopher_academy | @GolangEngineers
🍾3
How to design a secure web API access for your website_.pdf
1.2 MB
#bytebytego #tips #pro_guide

How to design a secure web API access for your website?


🕊 @gopher_academy | @GolangEngineers
🍾3👍21
How_Uber_Uses_Integrated_Redis_Cache_to_Serve_40M_Reads_Second_.pdf
2.8 MB
#bytebytego #tips #pro_guide

How Uber Uses Integrated Redis Cache to Serve 40M Reads Second?


🕊 @gopher_academy | @GolangEngineers
🍾5🎉1
How to avoid double payment_ - by Alex Xu.pdf
1.1 MB
#bytebytego #tips #pro_guide

How to avoid double payment


🕊 @gopher_academy | @GolangEngineers
🍾4👍1🎉11
HTTP 1.0 -_ HTTP 1.1 -_ HTTP 2.0 -_ HTTP 3.0 (QUIC).pdf
467.3 KB
#bytebytego #tips #pro_guide

HTTP 1.0 -_ HTTP 1.1 -_ HTTP 2.0 -_ HTTP 3.0 (QUIC)


🕊 @gopher_academy | @GolangEngineers
33🍾1