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

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

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

ادمین:
@mrbardia72
Download Telegram
برای اثبات توانایی‌هایتان به مدیرعامل OpenAI، تنها ۱۰ دقیقه فرصت دارید

https://www.zoomit.ir/business/413398-openai-ceo-chooses-eployees-10-minutes/


🕊 @gopher_academy | @GolangEngineers
👍3🔥1
هر بار که با ChatGPT چت کنید، یک بطری آب مصرف می‌شود

https://www.zoomit.ir/ai-articles/413346-microsoft-specialized-liquids-cooling-ai-chips/


🕊 @gopher_academy | @GolangEngineers
👍32
اینتل از تراشه هوش مصنوعی Gaudi3 در رقابت با انویدیا و AMD رونمایی کرد

https://digiato.com/computers-hardware/intel-unveils-gaudi3-ai-chip-to-compete-with-nvidia-and-amd


🕊 @gopher_academy | @GolangEngineers
53🔥1
مخزن زیر یکی از مخزن‌های پرطرفدار در مورد devops و devsecops است که سوال و جواب های مختلفی در بخش های مختلف از امنیت گرفته تا Chaos Engineering که به DevOps مربوط می‌شود را گرد‌اوری کرده است.

https://github.com/bregman-arie/devops-exercises

#DevTwitter | <Vahid Nameni/>


🕊 @gopher_academy | @GolangEngineers
💋32👍2👀1
چرا جف بیزوس از آمازون جدا شد؟

https://www.zoomit.ir/business/413403-why-jeff-bezos-left-amazon/


🕊 @gopher_academy | @GolangEngineers
👍3😁2🍓2🍾1
نقل و قولی درخصوص دورهمی هفتگی و وضعیت فعلی

هدف اولیه: زمانیکه دورهمی هفتگی را شروع کردم هدف اولیه ام این بود تو هر جلسه به موضوعات مختلف بپردازیم و بصورت پرسش و پاسخ problem-solving انجام بدیم، که با نظر برخی دوستان تصمیم بر این شد هر هفته یک موضوع مشخص کنیم یک نفر درخصوص اون موضوع ارائه دهد سپس پرسش و پاسخ دهیم.

تجربه و ارائه دهندگان: طی این ۱۲ جلسه ای که گذراندیم افراد سرشناس نظیر مرتضی باشسیز، احمد رفیعی و برخی دوستان دیگر را به عنوان speaker و ارائه دهنده داشتیم و به موضوعات مختلفی پرداختیم.

فضای جلسات: گروه مهندسین گولنگ و گوفر آکادمی به عنوان همکار و بخشی از جامعه https://gobridge.org هست و تمامی جلسات در فضای اختصاصی میتینگ zoom تیم GoBridge برگزار می‌شد و جلسات بصورت کلاد با کیفیت بالا تو سط زوم رکورد میشد، اما فیدبک هایی مبنی بر اینکع برخی از عزیزان مشکل ورود داشتن داشتیم و تصمیم گرفتیم گوگل میتینگ را در جلسه آخر جایگزین این فضای اختصاصی کنیم تا عزیزان راحت باشند و بصورت دستی رکورد کردیم.

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

همیشه سعی کردم تمامی جلسات دورهمی را ضبط کنم و در روز بعد روی یوتیوب، کانال، پادکست منتشر کنم و همینطور پیش بردم.

حال از شما عزیزان میخوام نظرات خودتان را درخصوص برگزاری مجدد دورهمی بدونم:

- چه هدفی را دنبال کنیم؟
- فاصله بین دورهمی ها چقدر باشد؟
- و...


🕊 @gopher_academy | @GolangEngineers
👍102🍾1
❤️یلدا بیا که با تو امید آید
❤️شب نیز صدای پای خورشید آید
❤️تاریخ اگر دوباره تکرار شود
❤️عالم به طواف تخت جمشید آید

❤️جشن آریایی میترایی یلدا،
❤️جشن باستانی شب چله
❤️بر شما عزیزان جان
❤️پیشاپیش  شادباش و فرخنده باد...


🕊 @gopher_academy | @GolangEngineers
🍾75💋2
Gopher Academy pinned «نقل و قولی درخصوص دورهمی هفتگی و وضعیت فعلی هدف اولیه: زمانیکه دورهمی هفتگی را شروع کردم هدف اولیه ام این بود تو هر جلسه به موضوعات مختلف بپردازیم و بصورت پرسش و پاسخ problem-solving انجام بدیم، که با نظر برخی دوستان تصمیم بر این شد هر هفته یک موضوع مشخص…»
Go 1.22 Release Candidate 1 is released!

🏃‍♂️ Run it in dev! Run it in prod! File bugs! go.dev/issue/new

📢 Announcement: https://groups.google.com/g/golang-announce/c/FIUY9kd7fc0

⬇️ Download: go.dev/dl/#go1.22rc1

📌 Go 1.22 Release Notes: https://tip.golang.org/doc/go1.22


🕊 @gopher_academy | @GolangEngineers
6🔥3👍1
حلقه For Range برروی اعداد صحیح (ویژگی جدید 1.22)

در نسخه 1.22 این امکان فراهم شده اس بجای fori از for range برای اعداد صحیح فراهم شده است و در زیر یک نمونه کد به همراه بنچمارک قرار دادم.

توجه برای تست این ویژگی باید هنگام اجرا یا بیلد environment variable زیر را ست کنید:

GOEXPERIMENT=rangefunc


Example:

package main

import "fmt"

func main() {
for i := range 10 {
fmt.Println(10 - i)
}
fmt.Println("go1.22 has lift-off!")
}


Benchmark:

package forrange

import "testing"

func BenchmarkWithRange(b *testing.B) {
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for j := range 100 {
_ = j
}
}
}

func BenchmarkWithOutRange(b *testing.B) {
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for j := 0; j < 100; j++ {
_ = j
}
}
}


Result:

goos: windows
goarch: amd64
pkg: range2
cpu: AMD Ryzen 7 5700U with Radeon Graphics
BenchmarkWithRange
BenchmarkWithRange-16 41323167 29.54 ns/op 0
B/op 0 allocs/op
BenchmarkWithOutRange
BenchmarkWithOutRange-16 41830794 29.80 ns/op 0
B/op 0 allocs/op
PASS



🕊 @gopher_academy | @GolangEngineers
👍9🔥51🍾1💋1
اگه با ردیس کار میکنید این لایبرری میتونه خیلی مفید باشه
امکان searching, pagination, sorting بهتون میده که کارتون رو راحت میکنه
https://github.com/redis/redis-om-node

#DevTwitter | <Mr.Rasul/>


🕊 @gopher_academy | @GolangEngineers
👍811🏆1🎄1
☃️Happy Yalda Night 🍇

🕊 @gopher_academy | @GolangEngineers
🍾1411🔥3
Golang Weekly

December 19, 2023

https://golangweekly.com/issues/489


🕊 @gopher_academy | @GolangEngineers
👍5
🔵Visualizing memory management in Golang
https://deepu.tech/memory-management-in-golang/

🔵Demystifying memory management in modern programming languages
https://deepu.tech/memory-management-in-programming/


🔵Visualizing memory management in Rust
https://deepu.tech/memory-management-in-rust/



🕊 @gopher_academy | @GolangEngineers
🍾3🎄1
Visualizing Map Data with Go and Leaflet JS

https://www.ardanlabs.com/blog/2023/11/visualizing-map-data-go.html


🕊 @gopher_academy | @GolangEngineers
👍211🎄1
👍81🔥1🍾1🎄1
دوستان با استفاده از ربات زیر می توانید به کتابخانه zilibrary دسترسی داشته باشی و کتاب مورد نیازتان را دانلود نمایید.

@zgofarsi_bot


🕊 @gopher_academy | @GolangEngineers
🕊2💯1🏆1
گیت‌هاب در بروزرسانی اخیر، پنج حالت بصری هشدار (Alert) را به منظور بهبود نگارش مستندات مخازن در Markdown اضافه کرد.

https://github.blog/changelog/2023-12-14-new-markdown-extension-alerts-provide-distinctive-styling-for-significant-content/

#DevTwitter | <Glitch/>

🕊 @gopher_academy | @GolangEngineers
21👍1🕊1
استراتژی Deployment مناسب را انتخاب کنید!

استراتژی‌های Deployment مانند دستور العمل‌هایی هستند که برای به‌روزرسانی برنامه‌ها و سرویس‌های خود بدون ایجاد اختلال در سیستم دنبال می‌کنید. آنها به شما اجازه می‌دهند به‌روزرسانی‌های خود را به روشی هوشمند و ایمن امتحان، بررسی و لغو کنید. بسته به آنچه دوست دارید و نیاز دارید، می‌توانید استراتژی‌های Deployment مختلفی را انتخاب کنید که Azure می‌تواند برای شما انجام دهد، مانند:

روش Blue-green deployment:
این استراتژی مانند این است که دو نسخه از برنامه یا سرویس خود داشته باشید، یکی برای نسخه قدیمی (آبی) و دیگری برای نسخه جدید (سبز). می‌توانید نسخه جدید را قبل از اینکه کاربران خود را به آن تغییر دهید، در نسخه سبز تست کنید. به این ترتیب می‌توانید از اشتباهات جلوگیری کنید و اگر مشکلی پیش آمد سریعا به عقب برگردید.

روش Rolling deployment:
این استراتژی مانند این است که اپلیکیشن یا سرویس خود را ذره ذره، با تغییر چند قسمت در یک زمان با نسخه جدید، به روز کنید. می‌توانید تصمیم بگیرید که چقدر سریع و چقدر می‌خواهید به‌روزرسانی کنید، و تماشا کنید که چگونه پیش می‌رود و چگونه روی سیستم شما تأثیر می‌گذارد. به این ترتیب، می‌توانید زمان خرابی را کاهش دهید و مطمئن شوید که همه چیز برای کاربرانتان به خوبی پیش می‌رود.

روش Canary deployment:
این استراتژی مانند این است که نسخه جدید برنامه یا سرویس خود را ابتدا به چند کاربر یا مکان خوش شانس، قبل از دادن آن به دیگران، بدهید. می‌توانید از این استراتژی برای مشاهده نحوه عملکرد نسخه جدید و نظر کاربران در مورد آن استفاده کنید و هر مشکل یا باگ را زودتر تشخیص دهید. به این ترتیب می‌توانید به روز رسانی خود را بهتر و قابل اطمینان‌تر کنید و همه کاربران را به یکباره ناراحت نکنید.


برای انتخاب استراتژی استقرار مناسب برای سیستم خود، باید به مواردی فکر کنید، مانند:

- برنامه یا سرویس شما چقدر بزرگ و پیچیده است.
- هر چند وقت یکبار و چقدر می‌خواهید آن را به روز کنید.
- به روز رسانی‌های شما چقدر خطرناک و مهم هستند.
- کاربران شما چه احساسی دارند و چه انتظاراتی از شما دارند.
- چه ابزارهایی برای استقرار خود دارید.

🔗 نسخه کامل مقاله را می‌توانید در اینجا مطالعه نمایید.


#محمدرضا_پازوکی (لینکدین)


#SoftwarePhilosophy


🕊 @gopher_academy | @GolangEngineers
👍52🔥1🕊1💯1🍾1
#iCodeNext

💎 Types of Coupling in Software Development - Part 1

🌀 خوب بد نیست یکمی بیشتر در مورد Coupling صحبت کنیم که تا الان مثل کلمه مانترا توی یوگا شده برامون. سعی کردم انواع Coupling رو توضیح بدم و براشون هم یه نمونه دولوپ کنم و راهکار هم بدم تا جاییکه چیکار بکنیم براشون. 

00:00  What is Coupling
06:00 Types of Coupling
06:28 No-Coupling
07:40 Data Coupling
11:30 Stamp Coupling
15:12 Real Example of Stamp Coupling
18:01 Control Coupling
22:18 External Coupling
27:58 Common Coupling
31:00 Content Coupling

🕶 مدت ویدیو : 37 دقیقه              
📺 لینک ویدیو :
https://youtu.be/zkexz3srbno

🌗 گیت هاب :
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCoupling

💎 Type of Cohesion in Software Development - Part 2

🌀 حالا که در مورد Coupling صحبت کردیم بد نیست در مورد انواع Cohesion هم صحبت کنیم. 

01:00 Coincidental Cohesion
04:00 Logical Cohesion
07:00 Temporal Cohesion
12:00 Procedural Cohesion
15:00 Communicational Cohesion
17:00 Sequential Cohesion
19:00 Functional Cohesion

🕶 مدت ویدیو : 21 دقیقه               
📺 لینک ویدیو :
https://youtu.be/c1kfgeYAYN0

🌗 لینک گیت هاب:
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCohesion


🕊 @gopher_academy | @GolangEngineers
👍9321🕊1🍾1