Gopher Academy
3.34K subscribers
918 photos
40 videos
279 files
2K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
The_6_Most_Impactful_Ways_Redis_is_Used_in_Production_Systems.pdf
2.1 MB
#bytebytego #tips #pro_guide

The 6 Most Impactful Ways Redis is Used in Production Systems

☕️ Buy Coffee me!

🕊 @gopher_academy | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
3
حجم در ایمیج داکر اهمیت زیادی داره،
با analyze بسته های داخلی یک ایمیج به وسیله docker-phobia و Visualize کردن آنها میتونیم راحتر بفهمیم هر بسته چقدر از حجم ایمیج را به خودش اختصاص داده
https://github.com/remorses/docker-phobia

You can install docker-phobia with:
go install github.com/remorses/docker-phobia@latest


Usage
docker-phobia
# Use the arrow keys to navigate: ↓ ↑ → ←
# ? Select a Docker image:
# ▸ node:18-slim
# postgres:latest

# or pass the image tag as an argument
docker-phobia node:18-slim


#DevTwitter | <MehrdadLinux/>

💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
7👍1
عملکرد کلمه fallthrough در switch چیست؟
anonymous poll

کار آن به این گونه است که اگر آن case اجرا شد میگوید case بعد از آن نیز اجرا شود. – 28
👍👍👍👍👍👍👍 55%

عملکرد آن پرش از case ایی هست که در آن استفاده شده است. – 18
👍👍👍👍👍 35%

عملکردی همانند break دارد. – 3
👍 6%

چنین کلمه‌ی رزرو شده ایی در گولنگ وجود ندارد. – 2
👍 4%

👥 51 people voted so far. Poll closed.
🍾8
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🍾1
Gopher Academy via @vote
عملکرد کلمه fallthrough در switch چیست؟ anonymous poll کار آن به این گونه است که اگر آن case اجرا شد میگوید case بعد از آن نیز اجرا شود. – 28 👍👍👍👍👍👍👍 55% عملکرد آن پرش از case ایی هست که در آن استفاده شده است. – 18 👍👍👍👍👍 35% عملکردی همانند break دارد. –…
برای تست مفهوم کوییز بالا میتوانید از این تیکه کد استفاده کنید.
package main

import "fmt"

func main() {
test := "test"
switch test {
case "test":
fmt.Println("this is test")
fallthrough
case "other test", "another test", "with test":
fmt.Println("this is other test or another test or with test")
default:
fmt.Println("this is default")
}
}


🕊 @gopher_academy | @GolangEngineers
1
اونقدر ها هم همزمانی توی گو آسون نیست

https://buttondown.email/hillelwayne/archive/what-makes-concurrency-so-hard/


💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
🍾54
هیچوقت از شرکتی که اونجا مشغول به کار هستید تعریف.......

💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
👍18🤣1
مسئول HR به محض اینکه بفهمه تهران زندگی نمیکنی، قرار مصاحبه رو کنسل میکنه! این درحالیه که تو برای موقعیت شغلی دورکاری درخواست فرستادی و توی رزومه‌ات تاکید کردی که من تهران نیستم.

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

توی چنین شرایطی، مهاجرت از شهرستان به تهران برای بچه‌های بااستعداد یک اجبار و یک چالش سخته اما "حلیه" فعلا مقاومت کرده و با وجود اینکه خیلی از موقعیت‌های شغلی تاپ رو از دست داده، هنوز هم حاضر نیست بیاد تهران.

توی این اپیزود از پادکست "یک لوزر" درباره دلایل اصلی مهاجرت نکردن حلیه از مشهد به تهران صحبت می‌کنیم. اینکه تمرکزگرایی استارتاپ‌ها و شرکت‌ها در تهران و عدم اعتنا و اعتماد به بچه‌های خفن و کاربلد شهرستان چه عواقبی داره.

برای شنیدن اپیزود لطفا با فیلترشکن کلیک کنید.

⭕️ در کست باکس:
https://lnkd.in/dvQSGTVQ


⭕️ در اسپاتیفای:
https://lnkd.in/dUtywGWw


💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
👍1432🍾1
The_Tech_Promotion_Algorithm_A_Structured_Guide_to_Moving_Up.pdf
3.3 MB
#bytebytego #tips #pro_guide

The Tech Promotion Algorithm A Structured Guide to Moving Up

☕️ Buy Coffee me!

🕊 @gopher_academy | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
4
GITHUB FLOW or GIT FLOW ?
Anonymous Poll
28%
GITHUB FLOW
75%
GIT FLOW
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
for loop in golang in idiomatic way

func main() {
i := 0
for ok := true; ok; ok = (i != 10) {
fmt.Print(i*i, " ")
i++
}
}

» output: 0 1 4 9 16 25 36 49 64 81
#go_idiom

🕊 @gopher_academy | @GolangEngineers
👍3
✍️Soheib KianiSoheib Kiani
مواردی که شاید بهش کمتر توجه شده در بک اند:

۱. Serverless Computing (محاسبات بدون سرور): توسعه نرم‌افزارهایی بدون نیاز به مدیریت زیرساخت زیرین.
۲. Event-Driven Architecture (معماری مبتنی بر رویداد): ساخت سیستم‌هایی که به رویدادها و ارسال پیام‌ها واکنش نشان می‌دهند.
۳. Distributed Systems (سیستم‌های توزیع‌شده): طراحی و مدیریت نرم‌افزارهایی که در چندین سرور یا مکان قرار دارند.
۴. Message Brokers (بروکرهای پیام): پیاده‌سازی سیستم‌های پیام‌رسانی قابل مقیاس و قابل اطمینان برای ارتباط بین اجزا یا سرویس‌ها.
۵. Data Streaming (استریم داده): پردازش و تحلیل داده‌های زمان‌واقع با استفاده از فناوری‌هایی مانند Apache Kafka یا RabbitMQ.
۶. Data Replication and Synchronization (تکثیر و همگام‌سازی داده): اطمینان از همگرایی داده در چندین پایگاه داده یا نسخه پشتیبان.
۷. Data Serialization (سریال‌سازی داده): تبدیل ساختارهای داده‌ای پیچیده به یک فرمت مناسب برای ذخیره یا انتقال.
۸. Job Scheduling and Task Orchestration (برنامه‌ریزی و هماهنگ‌سازی وظایف): مدیریت و اجرای وظایف دوره‌ای یا برنامه‌ریزی شده در سیستم‌های توزیع‌شده.
۹. Search Engines and Indexing (موتورهای جستجو و فهرست‌بندی): پیاده‌سازی قابلیت جستجوی متن‌کامل با استفاده از فناوری‌هایی مانند Elasticsearch یا Apache Lucene.
۱۰. Distributed Caching (حافظه نهان توزیع‌شده): ذخیره سازی داده در چندین نود برای بهبود عملکرد و کاهش بار پایگاه داده.
۱۱. Load Balancing and Traffic Routing (توزیع بار و مسیریابی ترافیک): توزیع ترافیک شبکه ورودی بین چندین سرور یا سرویس.
۱۲. API Gateways (دروازه‌های API): مدیریت و امن‌سازی درخواست‌های API از سمت مشتریان و سرویس‌ها.
۱۳. Service Discovery and Registration (کشف و ثبت سرویس): خودکارسازی کشف و ثبت سرویس‌ها در یک شبکه.
۱۴. Distributed File Systems (سیستم‌های فایل توزیع‌شده): ذخیره سازی و مدیریت حجم بزرگی از داده در چندین سرور یا نود.
۱۵. Stream Processing (پردازش جریان داد۱۵. Stream Processing (پردازش جریان داده): تحلیل و پردازش پیوسته داده‌ها در زمان واقعی.
۱۶. Database Connection Pooling (اشتراک اتصال به پایگاه داده): مدیریت و استفاده مجدد اتصال‌های پایگاه داده برای بهبود عملکرد و قابلیت مقیاس‌پذیری.
۱۷. Database Partitioning (تقسیم‌بندی پایگاه داده): تقسیم پایگاه داده‌های بزرگ به بخش‌های کوچکتر برای بهبود عملکرد و قابلیت مقیاس‌پذیری.
۱۸. Database Sharding (شاردینگ پایگاه داده): تقسیم افقی داده‌ها بین چندین پایگاه داده یا سرور.
۱۹. Distributed Transactions (معاملات توزیع‌شده): تضمین همگرایی داده در چندین پایگاه داده یا سرویس در سیستم‌های توزیع‌شده.
۲۰. Blockchain Integration (یکپارچه‌سازی با زنجیره‌بلوک): ادغام فناوری زنجیره‌بلوک برای ذخیره و انجام تراکنش‌های امن و شفاف.
۲۱. Content Delivery Networks (CDNs) (شبکه‌های توزیع محتوا): بهینه‌سازی تحویل محتوا با ذخیره‌سازی و توزیع محتوا در سرورهای جغرافیایی توزیع شده.
۲۲. Workflow Engines (موتورهای گردش کار): پیاده‌سازی و مدیریت گردش کارها و فرآیندهای کسب و کار پیچیده.

💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
👍93🍾21
#fun

😁😁😁


🕊 @gopher_academy | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾13👍4
چرا ما به TDD نیاز داریم؟
🎯 https://craftbettersoftware.com/p/why-you-need-tdd


💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
3👍1
What happens when you type a URL into your browser_.pdf
362.1 KB
#bytebytego #tips #pro_guide

What happens when you type a URL into your browser

☕️ Buy Coffee me!

🕊 @gopher_academy | @GolangEngineers
👍3
✍️ mohammad gholamimohammad gholami

تون کوین (TON) و بلاکچین تون باعث شدن که تلگرام بیشتر از قبل به یک فضای دارک وب تبدیل بشه.

سیستم مالی غیرمتمرکز همون چیزی بود که گروه‌ها و کانال‌های مجرمانه تلگرام بهش نیاز داشتن. حالا خیلی راحت هر چیزی که میخوان رو میفروشن و پولش هم از طریق کیف پول مخصوص این اپلیکیشن، دریافت میکنن!

با این وضعیت، مرز آزادی در تلگرام کجاست؟ در لینک زیر براساس مقاله‌ای از فایننشال تایمز درباره این موضوع صحبت میکنم. لطفا با فیلترشکن کلیک کنید.👇🏻

⭕️ https://lnkd.in/dZGiNnnr


💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
👍81
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
✍️Pourya SharifiPourya Sharifi

مدیران فنی و CTOهای زیادی رو دیدم که هر روز دنبال افزایش مهارت‌های فنی خودشون هستن و تمرکز اصلی‌شون عمدتا بر روی مسائل فنیه و کمتر دیدم که توانایی‌های غیرفنی‌شون به اندازه‌ی مسائل فنی‌شون اثربخش باشه. این در حالیه که CTO و مدیر فنی جایگاهی کاملا بین تخصصی با زوایای مختلف داره و نیازه که به همه‌ی این ابعاد توجه بشه. یه زمانی خیلی درگیر این موضوع بودم و یه سری مواردی رو که تو فرآیند مطالعه‌ی Case-Studyها و مرور ضعف‌های خودم یادداشت کرده بودم رو باهاتون به اشتراک میذارم و امیدوارم به دردتون بخوره.

دارا بودن EQ‌ بالا و مهارت‌های مرتبط با EQ، برای یک مدیر فنی و CTO به همان‌اندازه‌ی داشتن IQ‌ مهمه و در خیلی از موارد کارایی بیشتری از IQ داره.

منظم باشید! یک CTO و مدیر فنی خوب منظمه و تمام کارهاش رو فقط با الویت‌بندی دقیق و نظم بالاست که می‌تونه به موقع و درست انجام بده.

داکیومنت کنید. هر چیزی رو که فکر می‌کنید مهمه داکیومنت کنید. در نظر داشته باشید که شما همیشه مشغول انجام یه کار مهم هستید پس همه چیز رو داکیومنت کنید! مهم‌ترین ابزاری که هر CTO در بلندمدت در اختیار خواهد داشت، یه داکیومنتیشن خوبه.

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

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

یک CTO همیشه باید چیزی برای یاد دادن و انتقال دادن به تیمش داشته باشه و همیشه باید بتونه چیزهایی رو از مدیران و هم‌تیمی‌هاش یاد بگیره. CTO مسئول پیشرفت تیم و هم‌تیمی‌هاشه. نداشتن نگاه بالا به پایین و داشتن انگیزه برای یادگیری مستمر در موضوعات فنی و غیرفنی، باید جزو برنامه‌های روزمره‌ی یک مدیر باشه.

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

برخلاف خیلی از مواردی که دیدم، یک CTO باید حتما به تمام ابعاد بیزنسی و قانونی کسب و کاری که در حال پیاده‌سازی‌ش هست آگاه باشه و به تمام ابعاد و قوانین و محدودیت‌ها و باید و نبایدهای اون کسب و کار و مسائل مرتبط باهاش تسلط داشته باشه.

یک CTO باید دانش و آگاهی جامعی از مسائل مالی مرتبط با کاری که داره انجام میده رو داشته باشه. یک CTO‌ باید مفهوم ROI رو بفهمه، باید همیشه ابعاد هزینه‌ای تصمیمی که داره می‌گیره رو محاسبه کنه. باید بتونه مدیریت هزینه انجام بده و اهداف تیم‌ش رو در راستای اهداف مالی سازمانی پیش ببره و الویت‌بندی کنه.

و درنهایت یک CTO‌ خوب دنبال راه‌حله نه مقصر!

💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
7👍3🍾21
✍️ mohammad gholamimohammad gholami


تا حالا شده از اینکه برای تایم طولانی open to work هستید و اون گردالی سبز دور پروفایلتون هست احساس بدی داشته باشید؟

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

من با این رزومه، با این سابقه، با این همه دستاورد و با N تا کانکشن، هنوز نتونستم شغل مناسبی پیدا کنم!

الان دوستام درباره من چه فکری میکنن؟ الان hr اون شرکتی که ازش جدا شدم داره ذوق میکنه که دیدی گفتم اگه از اینجا بری کار گیرت نمیاد ... و اورتینک پشت اورتینک ...

یکی از بچه‌ها میگفت من انقدر اپن تو ورک بودم که حالا میتونم یه کلمه "سید" اول اسمم اضافه کنم.

در اپیزود زیر با حلیه درباره تاثیر روانی طولانی شدن open to work صحبت کردم. برای شنیدن اپیزود لطفا با فیلترشکن کلیک کنید.

⭕️ در کست باکس:
https://lnkd.in/dvQSGTVQ


⭕️ در اسپاتیفای:
https://lnkd.in/dUtywGWw


💚 Donate
🤍 @gopher_academy
❤️ @GolangEngineers
👍8🍾1