#job #remote
Senior Golang Engineer
✅ https://www.notion.so/ghostbusters/Senior-Golang-developer-6eade474fb5a4ae089671df652c03ea8?pvs=4
Contacts:
Linkedin @ILGAR Namazov
or
Telegram @redguyjob
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
Senior Golang Engineer
✅ https://www.notion.so/ghostbusters/Senior-Golang-developer-6eade474fb5a4ae089671df652c03ea8?pvs=4
Contacts:
Linkedin @ILGAR Namazov
or
Telegram @redguyjob
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
❤2👎2
Mastering Golang Memory Management: Tips and Tricks
https://medium.com/@cerebrovinny/mastering-golang-memory-management-tips-and-tricks-99868f1f4971
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://medium.com/@cerebrovinny/mastering-golang-memory-management-tips-and-tricks-99868f1f4971
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍2
✅ پادکست وبینار مهندسین گولنگ پارسی
دوستان از طریق Spotify و Google Podcasts و همچنین castbox می توانید وبینار را گوش دهید.
در این وبینار درخصوص جامعه برنامه نویسان ایران و همچنین در خصوص بازار کار و درآمد استک گو در داخل یا خارج پرداختیم و تجربیان خیلی خوبی مطرح شد برای اینکه بتوانید یک فرصت شغلی مناسبی بدست آورد.
🔗 https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 https://castbox.fm/va/5381928
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
دوستان از طریق 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
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
اگر دنبال یه کلاینت رایگان، اپن سورس و سبک برای دیتابیس های SQL و NoSQL هستید حتما DBGate رو امتحان کنید.
برای لینوکس، ویندوز، مک و مرورگر های وب هم قابل استفاده س.
https://dbgate.org/
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
برای لینوکس، ویندوز، مک و مرورگر های وب هم قابل استفاده س.
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
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
👍5❤1🤔1🐳1
تیکه ی کلفت تلگرام به دیسکورد در توییتر در پی افزایش حجم ارسال فایل از 8 مگابایت به 25 مگابایت:
"سایز مهمه" :)))
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
"سایز مهمه" :)))
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🤣26
1681029443356.pdf
923.4 KB
یک داکیومنت خوب که تمام سوالات مصاحبه کننده در مورد GIT , یک جور مرور هم حساب میشه و همیشه اماده نگهتون میداره 👌
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
➖➖➖➖➖➖➖➖➖
🕊 @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
چند روز پیش یکی از دوستان در خصوص مثال کتاب برای بحث 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
زبان گو فارسی
3.4 پکیج atomic
پکیج atomic یک حافظه atomic سطح پایین برای پیاده سازی الگوریتم های همگام سازی شده است. از مواردی که خیلی قابل اهمیت است با این پکیج شما می توانید یکسری الگوهای همگام سازی را پیاده سازی کنید. سعی کنید با دقت بیشتری از این پکیج استفاده کنید چون کارکردش خارج…
❤4👍1
Are serverless databases the future? How do serverless databases differ from traditional cloud databases?
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍1🍾1