✅ Don't forget stop and clear
دقت کنید
#tips
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
time.Tickerدقت کنید
()ticker.Stop فقط تایمر را متوقف می کند اما آبجکت ticker باقی می ماند بهتر است پس از توقف آبجکت را nil بزارید.// Defer the stop of the ticker, help GC to cleanup
defer func() {
// we might want to revist this, go.mod now is 1.16
// however I still encouter the issue on go 1.22.2
// there are 2 issues regarding tickers
// https://go-review.googlesource.com/c/go/+/512355
// https://github.com/golang/go/issues/61542
ticker.Stop()
ticker = nil
}()
#tips
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course on Relational Database Design.pdf
2.6 MB
A Crash Course on Relational Database Design
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
A Crash Course on Domain-Driven Design.pdf
3.2 MB
A Crash Course on Domain-Driven Design
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
#bytebytego #tips #pro_guide
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798
با پیشرفت فنّاوری و توسعه روزافزون استفاده از نرمافزارها و هوش مصنوعی، استفاده از ابزارها و مکانیزمهای مختلفی برای توسعهٔ سریع و باکیفیت نرمافزارها ضروری است. در این کتاب مجموعه مواردی بیان شده است که به معرفی و پیادهسازی این روشها میپردازند. چه برای افزایش دانش در حوزه نرمافزار و چه برای آشنایی با ابزارها و روشهای پیادهسازی نرمافزارهای مدرن و چه برای آمادگی برای مصاحبههای شغلی برای مهندسی نرمافزار، این کتاب برای شما بسیار مناسب است.
لینک دانلود کتاب
آدرس گیتهاب این کتاب برای بروزرسانیها
https://system-design.ir
لینک دانلود کتاب
آدرس گیتهاب این کتاب برای بروزرسانیها
https://system-design.ir
MeiliShell is a interactive shell for manage Meilisearch
Feature:
- Interactive shell
- Connection check when connect to shell
- Connect to other Meilisearch server with connect command
- Help commands with example
- Meilisearch management with shell
- Standard result of responses
https://github.com/Ja7ad/meilishell
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
Feature:
- Interactive shell
- Connection check when connect to shell
- Connect to other Meilisearch server with connect command
- Help commands with example
- Meilisearch management with shell
- Standard result of responses
https://github.com/Ja7ad/meilishell
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798
ویرگول
ریپوهای مهم GitHub که هر مهندس نرمافزار باید بداند. - ویرگول
سرانجام، پس از مدتها، به تمایل خود برای نوشتن مقالاتی برای کمک به سایر مهندسان نرمافزار برای پیشرفت شغلی خود پی بردم. با این کار، من قصد…
🎊 Go 1.22.6 and 1.21.13 are released!
🔈 Announcement: https://groups.google.com/g/golang-announce/c/X4q_-Wf-5g4
⬇️ Download: go.dev/dl/#go1.22.6
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
🔈 Announcement: https://groups.google.com/g/golang-announce/c/X4q_-Wf-5g4
⬇️ Download: go.dev/dl/#go1.22.6
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
GoLand 2024.2 is Out!
⚙️ New refactoring
📦 Many fixes for remote development and dev containers
🚀 Performance improvements
🚄DX and UX upgrades
🛰️ Better support for Go frameworks and Go language features
Learn more: https://blog.jetbrains.com/go/2024/08/05/goland-2024-2-is-out/
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
⚙️ New refactoring
📦 Many fixes for remote development and dev containers
🚀 Performance improvements
🚄DX and UX upgrades
🛰️ Better support for Go frameworks and Go language features
Learn more: https://blog.jetbrains.com/go/2024/08/05/goland-2024-2-is-out/
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
GoLand 2024.2 Is Out! | The GoLand Blog
Beyond performance improvements and enhanced language support, GoLand 2024.2 introduces a powerful new refactoring to Add method to interface and all its implementations. We’ve also refined remote dev
الگوریتم PickByNestedKey
با استفاده از این الگوریتم شما می توانید value مورد نظر خود را از داخل map های تو در تو بکشید بیرون.
این الگوریتم برای مواقعی که شما میخواهید بصورت implicit با دیتا کار کنید و هیچ اطلاعی از تایپ های داخل map ندارید اما value را میخواهید کمک میکند.
https://gist.github.com/Ja7ad/8fd3b33518f571fbe82caa50ec90385f
تست بنچمارک عملکرد:
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
با استفاده از این الگوریتم شما می توانید value مورد نظر خود را از داخل map های تو در تو بکشید بیرون.
این الگوریتم برای مواقعی که شما میخواهید بصورت implicit با دیتا کار کنید و هیچ اطلاعی از تایپ های داخل map ندارید اما value را میخواهید کمک میکند.
https://gist.github.com/Ja7ad/8fd3b33518f571fbe82caa50ec90385f
تست بنچمارک عملکرد:
goos: linux
goarch: amd64
pkg: github.com/Ja7ad/meilisitemap/utils
cpu: AMD Ryzen 7 5700U with Radeon Graphics
Benchmark_PickByNestedKey
Benchmark_PickByNestedKey/foo.bar.x.y.z
Benchmark_PickByNestedKey/foo.bar.x.y.z-16 8992422 133.7 ns/op 80 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo.bar.x.y.a.0.noscript
Benchmark_PickByNestedKey/foo.bar.x.y.a.0.noscript-16 6467626 182.4 ns/op 112 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo.bar.x.y.a.0.domain
Benchmark_PickByNestedKey/foo.bar.x.y.a.0.domain-16 6328083 188.8 ns/op 112 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo.bar.x.y.a.1.noscript
Benchmark_PickByNestedKey/foo.bar.x.y.a.1.noscript-16 6277484 185.9 ns/op 112 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo.bar.x.y.a.1.domain
Benchmark_PickByNestedKey/foo.bar.x.y.a.1.domain-16 6407796 185.7 ns/op 112 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo.bar.x.y
Benchmark_PickByNestedKey/foo.bar.x.y-16 10424744 111.4 ns/op 64 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo.bar
Benchmark_PickByNestedKey/foo.bar-16 15783884 75.94 ns/op 32 B/op 1 allocs/op
Benchmark_PickByNestedKey/foo
Benchmark_PickByNestedKey/foo-16 22246024 52.19 ns/op 16 B/op 1 allocs/op
PASS
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Gist
PickByNestedKey
PickByNestedKey. GitHub Gist: instantly share code, notes, and snippets.
🥳 Go 1.23.0 is released!
📝 Release notes: go.dev/doc/go1.23
⬇️ Download: go.dev/dl/#go1.23.0
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
📝 Release notes: go.dev/doc/go1.23
⬇️ Download: go.dev/dl/#go1.23.0
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
7 must-know runtime complexities for coding interviews:
1. 𝐎(1) - 𝐂𝐨𝐧𝐬𝐭𝐚𝐧𝐭 𝐭𝐢𝐦𝐞
- The runtime doesn't change regardless of the input size.
- Example: Accessing an element in an array by its index.
2. 𝐎(𝐥𝐨𝐠 𝐧) - 𝐋𝐨𝐠𝐚𝐫𝐢𝐭𝐡𝐦𝐢𝐜 𝐭𝐢𝐦𝐞
- The runtime grows slowly as the input size increases. Typically seen in algorithms that divide the problem in half with each step.
- Example: Binary search in a sorted array.
3. 𝐎(𝐧) - 𝐋𝐢𝐧𝐞𝐚𝐫 𝐭𝐢𝐦𝐞
- The runtime grows linearly with the input size.
- Example: Finding an element in an array by iterating through each element.
4. 𝐎(𝐧 𝐥𝐨𝐠 𝐧) - 𝐋𝐢𝐧𝐞𝐚𝐫𝐢𝐭𝐡𝐦𝐢𝐜 𝐭𝐢𝐦𝐞
- The runtime grows slightly faster than linear time. It involves a logarithmic number of operations for each element in the input.
- Example: Sorting an array using quick sort or merge sort.
5. 𝐎(𝐧^2) - 𝐐𝐮𝐚𝐝𝐫𝐚𝐭𝐢𝐜 𝐭𝐢𝐦𝐞
- The runtime grows proportionally to the square of the input size.
- Example: Bubble sort algorithm which compares and potentially swaps every pair of elements.
6. 𝐎(2^𝐧) - 𝐄𝐱𝐩𝐨𝐧𝐞𝐧𝐭𝐢𝐚𝐥 𝐭𝐢𝐦𝐞
- The runtime doubles with each addition to the input. These algorithms become impractical for larger input sizes.
- Example: Generating all subsets of a set.
7. 𝐎(𝐧!) - 𝐅𝐚𝐜𝐭𝐨𝐫𝐢𝐚𝐥 𝐭𝐢𝐦𝐞
- Runtime is proportional to the factorial of the input size.
- Example: Generating all permutations of a set.
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
1. 𝐎(1) - 𝐂𝐨𝐧𝐬𝐭𝐚𝐧𝐭 𝐭𝐢𝐦𝐞
- The runtime doesn't change regardless of the input size.
- Example: Accessing an element in an array by its index.
2. 𝐎(𝐥𝐨𝐠 𝐧) - 𝐋𝐨𝐠𝐚𝐫𝐢𝐭𝐡𝐦𝐢𝐜 𝐭𝐢𝐦𝐞
- The runtime grows slowly as the input size increases. Typically seen in algorithms that divide the problem in half with each step.
- Example: Binary search in a sorted array.
3. 𝐎(𝐧) - 𝐋𝐢𝐧𝐞𝐚𝐫 𝐭𝐢𝐦𝐞
- The runtime grows linearly with the input size.
- Example: Finding an element in an array by iterating through each element.
4. 𝐎(𝐧 𝐥𝐨𝐠 𝐧) - 𝐋𝐢𝐧𝐞𝐚𝐫𝐢𝐭𝐡𝐦𝐢𝐜 𝐭𝐢𝐦𝐞
- The runtime grows slightly faster than linear time. It involves a logarithmic number of operations for each element in the input.
- Example: Sorting an array using quick sort or merge sort.
5. 𝐎(𝐧^2) - 𝐐𝐮𝐚𝐝𝐫𝐚𝐭𝐢𝐜 𝐭𝐢𝐦𝐞
- The runtime grows proportionally to the square of the input size.
- Example: Bubble sort algorithm which compares and potentially swaps every pair of elements.
6. 𝐎(2^𝐧) - 𝐄𝐱𝐩𝐨𝐧𝐞𝐧𝐭𝐢𝐚𝐥 𝐭𝐢𝐦𝐞
- The runtime doubles with each addition to the input. These algorithms become impractical for larger input sizes.
- Example: Generating all subsets of a set.
7. 𝐎(𝐧!) - 𝐅𝐚𝐜𝐭𝐨𝐫𝐢𝐚𝐥 𝐭𝐢𝐦𝐞
- Runtime is proportional to the factorial of the input size.
- Example: Generating all permutations of a set.
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
اولین نسخه از زبان GoSharp منتشر شد.
زبان GoSharp یک فورک از Golang هست که قراره فیچرها و بهینهسازیهای زیادی رو داشته باشه.
با اولین فیچری که اضافه شد، شما میتونید فقط با نوشتن یک '?' ، خطا رو بدون نوشتن if err != nil برگردونید.
مخزن گیتهاب
https://github.com/0x9n0p/gosharp
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineers
زبان GoSharp یک فورک از Golang هست که قراره فیچرها و بهینهسازیهای زیادی رو داشته باشه.
با اولین فیچری که اضافه شد، شما میتونید فقط با نوشتن یک '?' ، خطا رو بدون نوشتن if err != nil برگردونید.
مخزن گیتهاب
https://github.com/0x9n0p/gosharp
➖➖➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
1. Two Sum
بررسی ۷۵ الگوریتم اساسی در leetcode شماره ۱ Two Sum