Gopher Academy
3.88K 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
New font released by GitHub!!!

https://monaspace.githubnext.com/


🕊 @gopher_academy
🍾5👍2
دیتابیس PostgreSQL قابلیت Full-Text search داره که خیلی وقت ها میتونه نیازمندی هارو پوشش بده و لازم نباشه سرویسی مثل elasticsearch رو بصورت مجزا استفاده کرد. چون نگهداری و مدیریت هر سرویس جدید هم هزینه نیروی انسانی داره و هم هزینه زمانی و انتقال دانش و کسب تجربه و غیره.

این مقاله قابلیت های دیتابیس PostgreSQL برای Full-Text search رو بیان میکنه

Create an advanced search engine with PostgreSQL

https://xata.io/blog/postgres-full-text-search-engine

#gocasts

#database #postgres

🕊 @gopher_academy
👍42🕊2🔥1🍾1
مجموعه نوشته‌های درهم و برهم یک محقیق امنیتی در مورد مسایل مختلف که در قالب یک کتاب دراورده شده.

https://ppn.snovvcrash.rocks


🕊 @gopher_academy
👍53🔥1🍾1💊1
1699245065655.jpg
280.6 KB
K8s Anti patterns

🕊 @gopher_academy
👍2🕊1
1698886842698.jpg
179.8 KB
Docker key command map

🕊 @gopher_academy
👍2🔥1💊1
This has been added to Go 1.22:

https://github.com/golang/go/issues/61410

Examples:
  mux := http.NewServeMux()
mux.HandleFunc("POST /user/$", ...)
mux.HandleFunc("GET /user/{username}", ...)
mux.HandleFunc("GET /website/{item...}", ...)

🕊 @gopher_academy
👍14🔥3💊3
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ریاضی و زیبایی هاش

🌷Visualization of that π is an irrational number


🕊 @gopher_academy
12👍6🔥1😁1
Go Programming Language For Dummies - DevTwitter.pdf
12.5 MB
#Go

Go Programming Language For Dummies

- By Wei-Meng Lee
- 339 Pages


🕊 @gopher_academy
👍3🕊1
Go With The Domain - DevTwitter.pdf
21.1 MB
#Go

Go With The Domain
Building Modern Business Software in Go

- By Robert Laszczak and Milosz Smolka
- 221 Pages


🕊 @gopher_academy
🍾4🔥2💊1
😴TDD Outcomes: The Good & The Bad

🔰 https://open.substack.com/pub/tidyfirst/p/tdd-outcomes

✍️ KENT BECK | NOV 15, 2023


🕊 @gopher_academy
1👍1🔥1
🔵Golang Structs Memory Benchmarks

🔴https://prog-bytes.hashnode.dev/golang-structs-memory-allocation-ii


🕊 @gopher_academy
1👍1🔥1🕊1
این ریپو لیستی از پروژه های اوپن سورسه که ایرانی ها ساختنش
چیزای بدرد بخوری توش داره حتما نگاهی بهش بندازید.

https://github.com/mohebifar/made-in-iran

#DevTwitter | <Reza Omranian/>


🕊 @gopher_academy
🍾5😁2🕊2💊1
This media is not supported in your browser
VIEW IN TELEGRAM
when the project hits the production mode 😂

🕊 @gopher_academy
😁11👍3
System design acronyms

🕊 @gopher_academy
👍4

🕊 @gopher_academy
😁15
How is SQL Executed in DB?

🕊 @gopher_academy
👍9
🔷️How Databases Execute SQL Statements?

🌏1. A SQL statement starts in a client program and gets sent over the network to the database server.

🌏2. When the database server receives the SQL statement, the relational engine starts processing it. First the command parser checks that the statement is valid. Then it converts the statement into a query tree, which is an internal data structure.

🌏3. The query optimizer looks at the query tree and figures out the most efficient way to execute the SQL statement, creating an execution plan.

🌏4. The execution plan gets passed to the query executor, which uses it to coordinate retrieving or changing the data as directed by the SQL statement. The executor interacts with the storage engine to access the data.

🌏5. The storage engine uses access methods, which are protocols for reading and writing data in the most efficient way for different operations.

🌏6. For reading data, the buffer manager checks if the required data is cached in memory and fetches it from disk if needed. This speeds up subsequent access.

🌏7. For writing data with inserts or updates, the transaction manager makes sure the changes happen atomically and maintain the database's integrity.

🌏8. At the same time, the lock manager applies locks so multiple transactions can happen simultaneously without conflict. This maintains isolation and consistency.


🕊 @gopher_academy
👍9
این کتاب رو پیشنهاد میکنم
سرفصل کتاب 👇
Table of Contents
Chapter 1. Software Efficiency Matters
Chapter 2. Efficient Introduction to Go
Chapter 3. Conquering Efficiency
Chapter 4. How Go Uses the CPU Resource (or Two)
Chapter 5. How Go Uses Memory Resource
Chapter 6. Efficiency Observability
Chapter 7. Data-Driven Efficiency Assessment
Chapter 8. Benchmarking
Chapter 9. Data-Driven Bottleneck Analysis
Chapter 10. Optimization Examples
Chapter 11. Optimization Patterns

لینک خرید
https://skybooks.ir/products/Efficient-Go


🕊 @gopher_academy
👍4
📥 دریافت شده از: Vesal Behrouzi
-------------

داشتم میگفتم وقتی میرید به شرکت جدید به جای حل کردن مشکلاتی که وجود ندارند، اولویت ندارن یا ازتون خواسته نشده و... یه 6 ماهی آروم بشینید و فقط نگاه کنید تا فضا و اتمسفر دستتون بیاد، اولویت‌ها رو بهتر درک کنید، ساختار شرکت و مشکلات رو بهتر بشناسید، بعد یواش یواش میتونید شروع کنید به انجام کارهایی که فرای انتظاراتی هستند که بابتش استخدام شدید، خلاصه در همین راستا از اتاق فرمان شرح انتظارات شغل Staff Engineer شرکت داکر رو هم برای ما فرستادن که جهت استحضار به پیوست ضمیمه شود.


🕊 @gopher_academy
👍19🔥3🕊1
برنامه هایی که با گولنگ نوشته میشن یک از شایع ترین خطاهایی که در runtime و روی production باهاش مواجه میشن خطای panic از جنس nil pointer هست. که میتونه منجر به از کار افتادن برنامه هم بشه، هر چند راه هایی وجود داره که شما بتونید panic رو recover کنید، اما اصولا جواب بهتر اینه که سعی کنید قسمت هایی از کد که باعث ایجاد این دسته از panic ها میشن رو شناسایی کنید و مشکل رو از ریشه حل کنید.


panic: runtime error: invalid memory address or nil pointer dereference

شرکت Uber اخیر مقاله ای منتشر کرده که در این مورد توضیحات خوبی رو ارائه داده، دوست داشتید مطالعه کنید.

NilAway: Practical Nil Panic Detection for Go

یه پروژه open-source هم در همین رابطه منشتر کرده که من روی یکی از پروژه هام اجراش کردم و کلی statement پیدا کرد که این مشکل رو داره احتمالا.

خودش هشدار داده که پروژه در دست توسعه ست و ممکنه خطای false positive داشته باشید، ولی بد نیست به پروسه ci اضافه بشه یا حداقل لوکال چک کنید.

نصب و اجراشم ساده ست.


go install go.uber.org/nilaway/cmd/nilaway@latest
nilaway ./...



#gocasts


🕊 @gopher_academy
👍16🍾1