Gopher Academy
3.33K subscribers
915 photos
40 videos
279 files
1.96K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
Know Go Generics Programming with type parameters.pdf
3.4 MB
Go book


🔰@gopher_academy
🔥2🕊1
پادکست وبینار مهندسین گولنگ پارسی

دوستان از طریق Spotify و Google Podcasts و همچنین castbox می توانید وبینار را گوش دهید.

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

🔗 https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj

🔗 https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw

🔗 https://castbox.fm/va/5381928



🔰@gopher_academy
🐳3💊2🕊1
Why do we need message brokers 👇?

Message brokers play a crucial role when building distributed systems or microservices to improve their performance, scalability, and maintainability.

🔹 Decoupling: Message brokers promote independent development, deployment, and scaling by creating a separation between software components. The result is easier maintenance and troubleshooting.
🔹 Asynchronous communication: A message broker allows components to communicate without waiting for responses, making the system more efficient and enabling effective load balancing.
🔹 Message brokers ensure that messages are not lost during component failures by providing buffering and message persistence.
🔹 Scalability: Message brokers can manage a high volume of messages, allowing your system to scale horizontally by adding more instances of the message broker as needed.

🕊 @gopher_academy
2👍1🤔1🐳1
1681130553260.pdf
2.6 MB
Does #Kubernetes rebalance your Pods?

🕊 @gopher_academy
👍4
اگر دنبال یه کلاینت رایگان، اپن سورس و سبک برای دیتابیس های SQL و NoSQL هستید حتما DBGate رو امتحان کنید.

برای لینوکس، ویندوز، مک و مرورگر های وب هم قابل استفاده س.

https://dbgate.org/

🕊 @gopher_academy
👍4
POCO vs DTO vs Entity vs VO

POCO, DTO, Entity and VO are programming concepts used in software development. A better understanding of where we use them might help us make better code:

POCO (Plain Old CLR Object)
▪️ POCO classes hold data and represent business models.
▪️ POCO classes do not have any behavior.
▪️ They are used to persist data.
▪️ POCO classes are not framework-dependent.
▪️ hey should not contain any validation or persistence rules.

Data Transfer Object (DTO)
▪️ A DTO transfers data between layers, processes, or applications.
▪️ A DTO is immutable and has no behavior.
▪️ A DTO is optimized for serialization and deserialization for efficient data transfer.
▪️ A DTO only represents data and should not have business logic or validation methods.
▪️ Data transported by a DTO may not be reliable from a business perspective.
▪️ A DTO represents data needed by the consumer, not business entities directly.
▪️ A DTO should include only relevant data from one or multiple sources for a specific purpose.

Entity
▪️ Entities encapsulate business models related to database tables or domain units.
▪️ Entities validate, CRUD, fetch related data and apply business logic in a domain layer.
▪️ Validated entity changes allow persistence and visibility for consistency across layers.
▪️ Entities can represent non-table domain objects and are used in frameworks for mapping tables.

Value Object (VO)
▪️ VOs are immutable objects holding valid data for independent entities like dates or monetary amounts.
▪️ VOs shouldn't be used for persistence, but can represent properties of domain objects in a database.
▪️ Comparing VOs should consider property values, not references for equivalent object treatment.
▪️ VOs ensure valid data and provide necessary info to consumers via constructors, static factory methods or builder patterns.


🕊 @gopher_academy
👍51🤔1🐳1
تیکه ی کلفت تلگرام به دیسکورد در توییتر در پی افزایش حجم ارسال فایل از 8 مگابایت به 25 مگابایت:
"سایز مهمه" :)))

🕊 @gopher_academy
🤣26
1681029443356.pdf
923.4 KB
یک داکیومنت خوب که تمام سوالات مصاحبه کننده در مورد GIT , یک جور مرور هم حساب میشه و همیشه اماده نگهتون میداره 👌

🕊 @gopher_academy
👍6
آیا استفاده از atomic نیازمند mutex می باشد یا خیر؟

چند روز پیش یکی از دوستان در خصوص مثال کتاب برای بحث atomic سوال کرد چرا بازم از mutex استفاده شده در اتمیک؟

پاسخ:

"در این کد، mutex در متد Set برای جلوگیری از رخ دادن race condition یا داده‌های نامنظم استفاده شده است. بدون mutex، چندین گوروتین ممکن است همزمان به دسترسی و تغییر داده‌های map data بپردازند که موجب رفتار نامنظم و فساد داده می‌شود. با گرفتن mutex قبل از تغییر map data، متد Set اطمینان حاصل می‌کند که تنها یک گوروتین در هر زمان می‌تواند به داده‌ها دسترسی پیدا کند و تداخل داده‌ها را جلوگیری می‌کند.

استفاده از mutex در متد Get نیز مهم است، زیرا این اطمینان را به ما می‌دهد که در هنگام دسترسی به map data، هیچ گوروتین دیگری دارای مجوز تغییر داده‌ها نیست. بدون mutex، یک race condition ممکن است ایجاد شود اگر یک گوروتین دیگر در حال تغییر داده‌های map باشد در حالی که یک گوروتین دیگر سعی در خواندن از آن دارد.

در پیاده‌سازی AtomicCache، یک atomic.Value برای ذخیره map استفاده شده است که به انجام عملیات اتمی روی آن اجازه می‌دهد. با این حال، حتی با استفاده از یک مقدار اتمی، همچنان نیاز به mutex وجود دارد تا فقط یک گوروتین در هر زمان به دسترسی به map دسترسی داشته باشد و تداخل داده‌ها را جلوگیری کند."


🕊 @gopher_academy
4👍1
Are serverless databases the future? How do serverless databases differ from traditional cloud databases?

🕊 @gopher_academy
👍1🍾1
Dylan_Meeus_Functional_Programming_in_Go_Apply_functional_techniques.pdf
15.5 MB
Functional Programming in Go: Apply functional techniques in Golang to improve the testability, readability, and security of your code


🕊 @gopher_academy
👍2🕊1
1680858494583.pdf
8 MB
20 سوال مصاحبه شغلی

🕊 @gopher_academy
👍4🐳1
اگر میخواید برنامه نویس وب بشید، نیازی به خرج کردن میلیون ها تومن برای دوره های مختلف نیست
از سایت ها و ابزار های زیر استفاده کنید :)

سایت های آموزش وب دولوپمنت
1. W3schools.
2. Freecodecamp
3. TheOdinProject
4. Scrimba
5. Tutorialspoint
6. Geeks for Geeks.
7. Studytonight
8. Solo Learn
9. Guru99

چنل های یوتیوب برای وب دولوپر ها
1. Code with harry
2. Taversy media
3. Freecodecamp
4. Clever programmer
5. The new boston
6. Telusko
7. Yahoobaba

نرم افزار های آموزشی
1. Solo learn
2. W3schools
3. Mimo
4. Grasshopper
5. Programminghub

تمرین کد زدن
1. Icodethis
2. Frontend Mentor
3. Hacker Rank
4. Top coder
5. Codechef
6. Hacker Earth
7. Coder byte


🕊 @gopher_academy
👍9
How does Twitter recommend " For You" timeline?

🕊 @gopher_academy
👍3
Design Patterns in sample


🕊 @gopher_academy
👍6
چند وقت پیش یه مطلب درمورد گندکاری‌های گوگل توی مهندسی نرم‌افزار می‌خوندم
این یکی خیلی باحال بود:

حوالی سال ۲۰۰۵ که پروژه گوگل وب سرور (GWS) یهویی شروع به بزرگ شدن کرد، پروسه‌هایی که توی تیم مهندسی وجود داشت آماده هندل کردن این رشد سریع نبود (پروسه‌هایی مثل تست، کد ریویو و...)
‏و اوضاع جوری به فنا رفت که ۸۰ درصد کامیت‌هایی که می‌رفت روی پروداکشن، باگ‌دار از آب درمی‌اومدن و مجبور میشدن roll back کنن روی ورژن قبلی!
‏و البته که این مشکل بخاطر پروسه‌هاست، نه آدما
فرض کنین ۱۰۰ تا دولوپر فوق‌العاده داشته باشین که فقط ماهی ۱ باگ توی کدشون هست
اینجوری هر ماه حداقل ۱۰۰تا باگ رو پروداکشن داریم :))))
فرایندهای release فیچرهای جدید باید طوری باشه که این باگ‌ها قبل از رفتن روی پروداکشن پیدا و فیکس بشن

#DevTwitter | <Erfan.tsx/>

🕊 @gopher_academy
👍115🔥1🍾1
آگهی شغلی
درود دوستان ✋🏽
ما تو آرکپچا به یه نیروی بک‌اند (Go) نیاز داریم.
آگهی زیر رو مطالعه کنید لطفا. اگه خودتون تمایل به همکاری با ما دارید یا کسی رو میشناسید، لطفا از طریق آگهی برامون رزومه ارسال کنید. 😊
https://quera.org/j/g9x7x

🕊 @gopher_academy
👍6🔥1🎉1🍓1🍾1