Gopher Academy
3.87K subscribers
927 photos
40 videos
280 files
2.09K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🪲 مشارکت برای حل مشکل در کتابخانه amqp

دوستان بعد از مدت ها سروکله زدن با این کتابخانه که دیروز منتشر کردم یک مشکلی در reconnection Publisher وجود دارد که هنوز نتونستم درک کنم.

https://github.com/Ja7ad/amqp/issues/1

اگر مایل هستید با مشارکتتان در حل این مشکل کمک کنید تا به پایداری کامل برسونم.

نکته ای که هست Consumer کاملا پایدار هست و بدونی هیچ مشکلی reconnection را انجام می دهد ولی سمت Publisher دلیلی نیافتم که چرا کانکشن بسته میشه روی reconnection.



🕊 @gopher_academy | @GolangEngineers
👍3💊3
در زیر بنچمارکی داریم درخصوص تعداد شرط های زیاد استفاده از switch یا else if به نظرتان کدام انتخاب مناسبی هست؟

package switch_if

import (
"github.com/brianvoe/gofakeit/v6"
"testing"
)

var providers = []string{"Google", "Microsoft", "Apple", "GitHub", "Twitter", "Twitch", "Facebook"}

type ProviderEmail struct {
Google string
Microsoft string
Apple string
GitHub string
Twitter string
Twitch string
Facebook string
}

func BenchmarkSwitch(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()

for i := 0; i < b.N; i++ {
provider := generateRandomProviderEmail()
switch {
case len(provider.GitHub) != 0:
_ = "GitHub"
case len(provider.Google) != 0:
_ = "Google"
case len(provider.Microsoft) != 0:
_ = "Microsoft"
case len(provider.Apple) != 0:
_ = "Apple"
case len(provider.Twitter) != 0:
_ = "Twitter"
case len(provider.Twitch) != 0:
_ = "Twitch"
case len(provider.Facebook) != 0:
_ = "Facebook"
}
}
}

func BenchmarkIfElse(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()

for i := 0; i < b.N; i++ {
provider := generateRandomProviderEmail()
if len(provider.GitHub) != 0 {
_ = "GitHub"
} else if len(provider.Google) != 0 {
_ = "Google"
} else if len(provider.Microsoft) != 0 {
_ = "Microsoft"
} else if len(provider.Apple) != 0 {
_ = "Apple"
} else if len(provider.Twitter) != 0 {
_ = "Twitter"
} else if len(provider.Twitch) != 0 {
_ = "Twitch"
} else if len(provider.Facebook) != 0 {
_ = "Facebook"
}
}
}

func generateRandomProviderEmail() *ProviderEmail {
randomProvider := &ProviderEmail{}

randomProvider.setRandomField()

return randomProvider
}

func (p *ProviderEmail) setRandomField() {
randomField := gofakeit.RandomString(providers)
randomEmail := gofakeit.Email()
switch randomField {
case "Google":
p.Google = randomEmail
case "Microsoft":
p.Microsoft = randomEmail
case "Apple":
p.Apple = randomEmail
case "GitHub":
p.GitHub = randomEmail
case "Twitter":
p.Twitter = randomEmail
case "Twitch":
p.Twitch = randomEmail
case "Facebook":
p.Facebook = randomEmail
}
}


نتیجه بنچمارک:

goos: linux
goarch: amd64
pkg: switch-if
cpu: AMD Ryzen 7 5700U with Radeon Graphics
BenchmarkSwitch
BenchmarkSwitch-16 2169474 559.9 ns/op 88 B/op 4 allocs/op
BenchmarkIfElse
BenchmarkIfElse-16 2134839 556.0 ns/op 88 B/op 4 allocs/op
PASS



🕊 @gopher_academy | @GolangEngineers
👍6🔥1🎉1🐳1🍾1
♻️How to Observe Your CI/CD Pipelines with OpenTelemetry

https://thenewstack.io/how-to-observe-your-ci-cd-pipelines-with-opentelemetry/


🕊 @gopher_academy | @GolangEngineers
👍3🔥1
🌷Go Fact: Zero-sized Field at the Rear of a Struct Has Non-zero Size

https://i.hsfzxjy.site/zst-at-the-rear-of-go-struct/


🕊 @gopher_academy | @GolangEngineers
👍4
♻️Postgres Weekly Issue 532:

♻️November 29, 2023

https://postgresweekly.com/issues/532


🕊 @gopher_academy | @GolangEngineers
👍4
Kubernets => k8s 😉

🕊 @gopher_academy | @GolangEngineers
👍6
Forwarded from Gopher Academy (Javad)
دورهمی هفته دوازدهم (یادآوری - اطلاعات ورود میتینگ)

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


- موضوع: An introduction to the public-key cryptography
- تاریخ و ساعت: ۹ آذر ساعت ۷ شب
- اسپانسر: GoBridge
- ارائه دهنده: مهندس مصطفی صداقت جو (توسعه دهنده و Maintainer پروژه بلاکچین Pactus )
- محل برگزاری: پلت فرم zoom و گوگل میت


اطلاعات ورود به میتینگ

۱. از طریق گوگل میتینگ: https://meet.google.com/axn-cwds-xqn
۲. از طریق zoom :
- لینک ورود: https://us02web.zoom.us/j/86712676395?pwd=NXNxRlZ4dnNETXF3RXBTWXM4UXYrZz09
- شناسه و رمز: 86712676395 - 944574



🕊 @gopher_academy | @GolangEngineers
3🔥1🍾1
Gopher Academy
دورهمی هفته دوازدهم (یادآوری - اطلاعات ورود میتینگ) این هفته بصورت مقدماتی به موضوع کریپتوگرافی کلید عمومی می پردازیم که یکی از اساسی ترین موضوع دنیای رمزنگاری و بلاکچین هست. - موضوع: An introduction to the public-key cryptography - تاریخ و ساعت: ۹ آذر…
دوستان دورهمی ۲۰ دقیقه دیگر شروع می شود و از طریق لینک ها و اطلاعات زیر می توانید وارد شوید:

اطلاعات ورود به میتینگ

۱. از طریق گوگل میتینگ: https://meet.google.com/axn-cwds-xqn
۲. از طریق zoom :
- لینک ورود: https://us02web.zoom.us/j/86712676395?pwd=NXNxRlZ4dnNETXF3RXBTWXM4UXYrZz09
- شناسه و رمز: 86712676395 - 944574


🕊 @gopher_academy | @GolangEngineers
👍4🍾3
4
خیلی ها به سیستم عامل های کاستوم دید منفی دارن که خب درست هم هست؛ ویدویی تو يوتيوب دیدم که روال کار ساخت سیستم عامل کاستوم رو بهتون آموزش میده و برای خیلی ها میتونه مفید واقع بشه.

https://youtu.be/tSs-jkVRcXM?si=-zo-NQxhR2aBMqc7

#DevTwitter | <Nima Nikjoo/>


🕊 @gopher_academy | @GolangEngineers
👍2🕊21🍾1
Understanding_Cryptography.pdf
4.7 MB
دورهمی هفته دوازدهم مهندسین گولنگ (ویدئو)

موضوع: An introduction to the public-key cryptography

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


🔗 لینک ویدئو در یوتیوب: https://www.youtube.com/watch?v=2qKS0eyuNiQ

☑️ پروژه پکتوس: https://pactus.org

مقاله: https://andrea.corbellini.name/2015/05/17/elliptic-curve-cryptography-a-gentle-introduction/#algebraic-addition




🕊 @gopher_academy | @GolangEngineers
🔥9👍1

🕊 @gopher_academy | @GolangEngineers
😁29👍2
اگه میخواید بدونید شرکت های بزرگ چه مشکلاتیو با Go حل کردن و داستان استفادشون از گولنگ چی بوده این لینک رو ببینید، خیلی جذابه بنظرم

https://go.dev/solutions/case-studies

#DevTwitter | <Reza/>

🕊 @gopher_academy | @GolangEngineers
👍10🍾5🕊21🔥1

🕊 @gopher_academy | @GolangEngineers
🔥9👍4🕊2
اوه مای زیشل نه فقط ترمینال شما رو قشنگتر می‌کنه که فرصتی هم هست برای کلی یادگیری جدید. بیاین با هم ببینیم چیکار می کنه و این وسط ترمینالمون رو هم قشنگتر کنیم.

https://youtu.be/5lK4ihsXAX8

#جادی

🕊 @gopher_academy | @GolangEngineers
👍81
Nginx playground

https://nginx-playground.wizardzines.com/


🕊 @gopher_academy | @GolangEngineers
🔥72👍2🍾2
اکستنشن کروم ChatGPT RTL Support پابلیش شد
ساده؛ سبک؛ کاربردی و بدون واترمارک روی صفحه و همچنین اوپن سورس
لینک کروم استور:
https://chrome.google.com/webstore/detail/chatgpt-rtl-support/ljfnhokapbmbchbfpgdkedekmfeodoie
لینک گیت هاب:
https://github.com/rastegardev/ChatGPT-RTL-Support

#DevTwitter | <Reza Rastegar/>


🕊 @gopher_academy | @GolangEngineers
👍3🍾21