Gopher Academy
3.34K subscribers
918 photos
40 videos
279 files
2K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
Software Architecture in Practice - Contents - (Skybooks.ir).pdf
341.2 KB
📕 Software Architecture in Practice

Edited by: Len Bass, Paul Clements, Rick Kazman
Paperback : 460 pages
Edition : 4
Year : 2022
Publisher : Addison-Wesley

•  Discover how architecture influences (and is influenced by) technical environments, project lifecycles, business profiles, and your own practices
•  Leverage proven patterns, interfaces, and practices for optimizing quality through architecture
•  Architect for mobility, the cloud, machine learning, and quantum computing
•  Design for increasingly crucial attributes such as energy efficiency and safety
•  Scale systems by discovering architecturally significant influences, using DevOps and deployment pipelines, and managing architecture debt
•  Understand architecture's role in the organization, so you can deliver more value

🕊 @gopher_academy
👍61
Gopher Academy
Software Architecture in Practice - Contents - (Skybooks.ir).pdf
📕کتاب پرفروش Software Architecture in Practice بعد از 9 سال به ویرایش چهارم به‌روز رسانی شد. 160 صفحه نسبت به نسخه قبلی کمتر شده.

راهنمای قطعی، عملی و اثبات‌ شده برای معماری نرم‌افزار مدرن - به‌طور کامل با محتوای جدید در زمینه پویایی، ابر، مدیریت انرژی، DevOps، محاسبات کوانتومی و موارد دیگر به‌روزرسانی شده است.

سه معمار معروف نرم افزار کل چرخه را پوشش می‌دهند، راهنمایی‌های عملی، روش‌های تخصصی و مدل‌های آزمایش شده را برای استفاده در هر پروژه، صرف نظر از اینکه چقدر پیچیده هستند، ارائه می‌دهند. شما یاد خواهید گرفت که چگونه از معماری برای رسیدگی به رشد سریع نیازمندی‌ها، اندازه سیستم و انتزاع، و مدیریت ویژگی‌‌های کیفیت نوظهور استفاده کنید زیرا سیستم‌ها به صورت پویا به روش‌های جدید ترکیب می شوند.

🔍 مشاهده فهرست و تعدادی از صفحات

🛒 خرید از سایت:

🌐 https://skybooks.ir/products/Software-Architecture-in-Practice

🕊 @gopher_academy
👍51
وقتی کدهای که چند روز پیش زدی دوباره نگاه میکنی

🕊 @gopher_academy
🤣20
درود
طبق این نظرسنجی که زحمت کشیدید و مشارکت کردید تو تیرماه آموزش کوبرنتیز رو شروع می‌کنیم. همانطور که چند تا از دوستان گفته بودن docker swarm و docker compose براش ویدئو نساخته بودم که خوب قبل از شروع دوره‌ی کوبرنتیز این دو تا موضوع رو پوشش می‌دم و بعدش ضبط دوره‌ی کوبرنتیز رو شروع می‌کنیم.

https://lnkd.in/ej9M56Hp

ویدئوها هم تو سایت داکرمی هم تو کانال تلگرام داکرمی و هم سعی می‌کنم که تو youtube منتشر بشه. اینجا حتما اطلاع‌رسانی پیرامونش انجام می‌دم.
از خودتون مراقبت کنید و سعی کنی شاد باشید.


کانال تلگرام داکرمی:
https://lnkd.in/gfaVMiQ

سایت داکرمی:
https://dockerme.ir



#docker #kubernetes #dockerme #dockerswarm #docker_compose #knowledgesharing


🕊 @gopher_academy
5👍2🎉1
Bug😑😡

🕊 @gopher_academy
🤣10
🥳 فصل چهارم: مباحث پیشرفته تمام شد.

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

امروز این فصل با تمامی چالش و فاصله زمانی که وجود داشت اتمام شد.

اما از این فصل بخش آموزش generator ناتمام ماند قصد داشتیم درخصوص code generator و ایجاد boilerplate های ایجاد کد بپردازیم ایده نداشتم ولی به مرور با مشارکت دوستان این بخش هم تکمیل خواهد شد.

شروع فصل پنجم یکی از فصل های خفن در زبان گو برنامه نویسی شبکه

من به این فصل علاقه زیادی دارم بخصوص بحث برنامه نویسی شبکه و بزودی بخش های این فصل مرتب و تکمیل خواهد شد و حتی ما چند بخش را از قبل استارت زدیم نظیر شبکه چیست یک محتوای کامل برای یادگیری شبکه..

نسخه آنلاین کتاب: https://book.gofarsi.ir/
نسخه آفلاین کتاب: https://github.com/GoFarsi/book/releases
مخزن: https://github.com/GoFarsi/book
اطلاعات مشارکت: https://github.com/GoFarsi/book/blob/main/COUNTRIBUTING.md


🕊 @gopher_academy
16🎉6🕊2🍾1
How to improve api performance?

🕊 @gopher_academy
👍12🔥1
Netflix

🕊 @gopher_academy
👍10
Git flow

🕊 @gopher_academy
👍8
#tip

دوستان به مثال بالا توجه کنید یه نکته ای وجود دارد که گاها باعث ایجاد خطا های Logical خواهد شد.

در مثال فوق:

۱. ما slice با نام items داریم که داخلش ۲۰ تا آیتم دارد.
۲. حال یک متغیر داریم به نام totalItem که قرار است برای ظرفیت و گرفتن تعداد مشخصی از item های items میخواهیم استفاده کنیم.
۳. یک متغیر از نوع slice ایجاد کردیم با فرض اینکه میخواهیم ظرفیت این slice یک تعداد مشخص باشه و کامپایلر ظرفیت بیشتری در نظر نگیرد.
۴. حال داخل حلقه ما تک تک آیتم های items را به num1 گرفتیم append کردیم.
۵. در ادامه num1 را به همراه len ش چاپ کردیم.

اتفاقی که افتاد ۱۰ تا المنت اول صفر و item ها به ادامه المنت ها اضافه شد.

make(slice, length, capacity)

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

حال اگر به المنت های slice المنتی اضافه کنید به ادامه اون المنت های قبلی اضافه خواهد شد و تعداد المنت بیشتر از اون چیزی که خواستید خواهد بود.

https://go.dev/play/p/bjlc8E1Q776



🕊 @gopher_academy
👍12👎1💊1
New

🔵Returns pointer

🔵initialises to zero value of the type

🔵used for all types

Make

🔵Returns an initialised value of type T

🔵Does not initialise to zero value of the type

🔵Used for only slices, maps and channels


🕊 @gopher_academy
👍6
Interface

Where to use

🔴Abstraction - allow you to define a contract between different parts of a program without specifying how that contract will be implemented.

🔴Polymorphism - allows different types to be used interchangeably, as long as they implement the same interface.

🔴Testability - By defining interfaces for dependencies, you can create mock implementations of those dependencies that can be used for testing

🔴Flexibility - makes it easier to add new types to your program and make changes without having to modify existing code.


🕊 @gopher_academy
👍2🔥2
interface
Use cases

Standard library:
Go’s standard library makes heavy use of interfaces. For example, the io package defines several interfaces for input and output, such as io.Readerio.Writer, and io.Closer. These interfaces allow different types of input and output streams to be used interchangeably, as long as they implement the required methods.

Web development:
In web development, interfaces are often used to define the behavior of HTTP handlers. For example, the http.Handler interface defines a single method ServeHTTP, which takes an http.ResponseWriter and an http.Request and returns nothing. Any type that implements this method can be used as an HTTP handler.


🕊 @gopher_academy
👍2🐳1
اگه دنبال پروژه های ماشین لرنینگ برای تمرین و یادگیری میگردید این ریپاژیتوری بیشتر از ۹۰۰ پروژه داره که حسابی کمکتن میکنه توی این زمینه!

https://github.com/ml-tooling/best-of-ml-python

#DevTwitter | <Mehdi Mashayekhi/>


🕊 @gopher_academy
👍6🔥21🕊1
یک میلیون Thread با گرفتن فقط 461 مگابایت مموری.
این قدرت هندل کردن Thread ها و GC سی شارپ میرسونه که چقدر روش کار شد و همونطورم که تو ویدیو میبینید چقدر به زبان Rust نزدیک شده (تازه با دات نت 6 هست).
youtu.be/WjKQQAFwrR4
https://github.com/ThePrimeagen/ts-rust-zig-deez

#DevTwitter | <Hootan HT/>

🕊 @gopher_academy
🤣14🔥2🗿2🕊1🐳1🍾1

🕊 @gopher_academy
🤣8👍31🐳1🗿1
How discord store trillions of messages

🕊 @gopher_academy
👍9🤔4
#job #golang

🕊 @gopher_academy
👍6🤔21
A list of APIs from Iran
لیست API های ارائه شده توسط سایت‌های ایرانی

#api #iran #farsi #persian #list #curated

https://github.com/Hameds/APIs-made-in-Iran


🕊 @gopher_academy
🍾2👍1🕊1
پروژه شبکه بلاکچین Pactus

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

مسیر پروژه خیلی همواره نبوده. هنوز خیلی کار و مشکل هست، اما در یک جمع‌بندی کلی، میشه گفت که پروژه به یک ثبات اولیه رسیده. در حال حاضر ۲۰۰ ولیدیتور در شبکه هستند و تخمین خودمون چیزی در حدود ۲۵ تا ۵۰ کامپیوتر هم در شبکه بهم متصل هستند. انتظار داریم بتونیم به ۱۰۰۰ ولیدیتور و ۲۰۰ کامپیوتر برسیم.

اما Maintainer و توسعه دهنده اصلی این پروژه آقای مصطفی صداقت جو (@mos_joo) می باشد که اهل مالزی است و ۲ سال است فوکوس کرده روی این پروژه.

اکنون این پروژه localnet, testnet دارد که داخل testnet حدودا ۲۰۰ ولیدتور فعال دارد که دارند staking می کنند برروی شبکه و اما شبکه mainnet در حال تکمیل شدن است و در Q3 امسال استارت می شود.

من اینجا دوست داشتم دوستانِ علاقمند را دعوت کنم که در روند توسعه پروژه به ما کمک کنند. خصوصا اگر بتونیم از تجربیات دوستان در پروژه بهره ببریم و نواقص پروژه را رفع و کیفیت پروژه را ارتقا بدهیم.

اگر علاقه مند به برنامه نویسی حوزه بلاکچین هستید پروژه پکتوس یک شروع خوب برای یادگیری برنامه نویس بلاکچین هست.

برنامه نویسی بلاکچین مثل کوه یخ می ماند:
- بخش روی سطح آب می توانیم به قراردادهای هوشمند و کارهای روتین با شبکه دانست.
- بخش زیر آب برنامه نویسی شبکه بلاکچین و node و کلیات خود شبکه است (بخش پردرآمد این روزا).

نکته آخر و خوب شما می توانید با مشارکت خود در توسعه این پروژه به پیشرفت پروژه و افزایش دانش خود کمک کنید و ما یکسری مزایا برای پیوستن به تیم توسعه دهنده در نظر گرفتیم:

۱. دریافت bounty برای انجام issue هایی که لیبل bounty دارند.
۲. ورکشاپ های رایگان آموزش کلیات برنامه نویسی بلاکچین (یادگیری عمیق عناوین)
۳. پیوستن به تیم core developer در صورت صلاح دید.
۴. تقویت رزومه شما در زمینه بلاکچین
۵. پرداخت ریالی bounty ها برای مشارکت کنندگان داخل کشور
و...

لینک ها

- صفحه خانگی: https://pactus.org/
- آموزش عناوین کلی پروژه: https://pactus.org/learn/
- نقشه راه: https://pactus.org/about/roadmap/
- اکسپلورر: https://pactusscan.com
- گیتهاب: https://github.com/pactus-project
- مخزن پروژه: https://github.com/pactus-project/pactus
- نحوه مشارکت: https://github.com/pactus-project/pactus/blob/main/CONTRIBUTING.md
- دیسکورد پکتوس: https://discord.gg/H5vZkNnXCu
- کانال تلگرام پکتوس: https://t.me/pactusblockchain


🕊 @gopher_academy
🔥72💊2👍1🕊1