Gopher Academy
3.31K subscribers
911 photos
40 videos
279 files
1.94K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72

ادمین تبلیغات:
@labdon_ads
Download Telegram
Awesome Docker Compose samples
مجموعه‌ای از داکرکامپوزهای آماده برای اپلیکیشن‌های پرکاربرد

#docker #compose #awesome #list

https://github.com/docker/awesome-compose

🔰 @gopher_academy
👍1🔥1
یه مقاله خوب در مورد نحوه نوشتن کامنت
https://stackoverflow.blog/2021/12/23/best-practices-for-writing-code-comments/


🔰 @gopher_academy
🔥1
A package for building progressive web apps (PWA) with the Go and WebAssembly (Wasm).
#golang

🔰 @gopher_academy
🔥1
A curated list of awesome actions to use on GitHub
لیستی از پرکاربردترین action های قابل استفاده در سایت github

#github #action #awesome #list #curated #actions

https://github.com/sdras/awesome-actions

🔰 @gopher_academy
🔥1
آشنایی با سایت Codewars

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

🔰 @gopher_academy
1
سلام همگی دوستان ، اگه کانال رو دنبال کرده باشید ما یک برنامه قرار شد شروع بکنیم برای چهارشنبه هر هفته ، جلسه اول که برگزار شد بعدش صحبت کردیم تصمیم گرفتیم بجای یه دوره ای باشه که سینتکس گو رو بخوایم یاد بدیم ، پروژه محور جلو بریم به شکلی که یک پروژه واقعی تعریف بکنیم ، تسک های برای یک هفته تعریف بکنیم و همگی بریم انجامشون بدیم و چهارشنبه هفته بعدش سر بهترین راه حل بحث و گفتگو بکنیم تا بهترین رو انتخاب و مرج بکنیم به پروژه
نکته ای اهمیت داره قرار نیست اصلا وقت زیادی ازمون بگیره ، تسک ها باید کوچیک باشن و جلسه هامون یک بار در هفته و تلاش می کنیم نزدیک یک ساعت باشه
پروژه ها ، سعی می کنیم پروژه های بیزنسی و مشابه پروژه های که داخل شرکت ها نوشته می شن باشند که بتونیم کمک بکنیم نیرو های جونیور گو وارد بازار کار بشن و برای نیرو های که الان دارن کار می کنن نکات جدید و روش های بهینه تر یاد بگیرن
نکته بعد اینکه دوره منتور یا مدرس خاصی نداره ،هزینه ای هم نداره ، ورود برای همه ازاد هست و قراره خودمون به همدیگه آموزش بدیم
جلسه فردا استثنا ساعت ۱۱ ظهر می باشد در کانال دیسکورد ولی از هفته های بعد جلسه ساعت ۶ عصر هست
لینک کانال دیسکورد:
https://discord.gg/dJjasrmF

🔰 @gopher_academy
👍1🔥1
حرفه‌ای‌ها پیام کامیت گیت را چطور می نویسند؟
https://vrgl.ir/ZwkXz


🔰 @gopher_academy
1
چنل دیسکورد کانال ما رو حمایت کنید
https://discord.gg/dJjasrmF

🔰 @gopher_academy
🎉1
Gopher Academy pinned «چنل دیسکورد کانال ما رو حمایت کنید https://discord.gg/dJjasrmF 🔰 @gopher_academy»
این بلاگ russ cox هست که خیلی مطالب مفیدی داره
https://research.swtch.com/

مثلا اینجا در مورد go data structures توضیح داده
https://research.swtch.com/godata

یا اینجا در مورد interface ها گفته
https://research.swtch.com/interfaces

یا اینجا کلا در مورد versioning مفصل تو چند بخش صحبت شده
https://research.swtch.com/vgo

یا این مقاله در مورد CSP خیلی خوبه
https://swtch.com/~rsc/thread/

اینجا هم مقالات متفرقه خوبی هست
https://swtch.com/~rsc/

Tnx: @lifography


🔰 @gopher_academy
2
The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history.

یه سری قراردادهای کاربردی و سبک برای متن commit که بشه هم خواناتر و هم با قابلیت بیشتری برای automated tools ها به همراه پیروی از semantic versioning این متن‌ها رو ساخت.

#git #commit #convention #message #best_practice #best #practice

conventionalcommits.org/en/v1.0.0


🔰 @gopher_academy
2
آموزش استفاده از جنریک ها به داکیومنت سایت go.dev اضافه شد.

جنریک ها خیلی کاربردی هست و تو کاهش کدها , عملکرد , خوانایی کد تاثیر بسزایی میزاره

https://go.dev/doc/tutorial/generics


🔰 @gopher_academy
1👍1
⭕️ نکته مهم در خصوص استفاده از جنریک ها

دقت کنید تو جنریک از اینترفیس comparable به عنوان تایپ یک متغیر عادی نمی توانید استفاده کنید و فقط به عنوان parameter constraint باید استفاده شود.

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


🔰 @gopher_academy
1🔥1
Summary of ‘Clean code’ tips by Robert C. Martin.

اگه حال و حوصله خوندن کتاب عموباب رو ندارین میتونین از این gist یه خلاصه مفید و جمع و جور ازش رو داشته باشید.

#clean #refactor #uncle #bob #architecture #cleancode #book #summary #gist

https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29


🔰 @gopher_academy
👍6
👍15🔥72👎1
#linux #happy_birthday

🔰 @gopher_academy
🎉109🔥8
Forwarded from Mohammad Hoseini Rad
توی این مقاله در مورد جنریک ها که یکی از پرتقاضا ترین فیچرهای گو بوده صحبت میکنیم و با بنچ مارک گرفتن و مقایسه کردن توابعی که ازش استفاده میکنن با حالت های قبلی متوجه پرفورمنسشم میشیم.
https://vrgl.ir/AhNne
👍5🎉3
Forwarded from Go Casts 🚀
Design by Contract
شیوه ای که golang بخش مهمی از simplicityش رو مدیونشه

همون اول کار بگم که این ادعا یک برداشت شخصیه که هیچ منبع و مرجع خارجی ای نداره. فعلا یه draft از مقاله آماده شده، اما چون ممکنه اصل تحقیقات طولانی تر بشه بهتر دیدم که نسخه draftش رو هم در اختیار شما بذارم. این نوید رو هم بدم که با خوندن همین draft میتونید concept کلی رو متوجه بشید و بهش فکر کنید!!

آشنایی با DBC کمک میکنه خیلی عمیق تر interface های تعریف شده در کتابخونه های استاندارد گولنگ رو متوجه بشیم، و قطعا کمک میکنه ما هم قراردادهای بهتری برای سرویس و ماژول هامون تعریف کنیم.
نکته خیلی مهم DBC اینه که اگه خوب متوجه ش باشیم، نه تنها فهم ابزارهای موجود که یکیش میشه کتابخونه های استاندارد گولنگ رو بهتر متوجه بشیم و ما هم بهتر در گولنگ کد بزنیم. بلکه میشه به خیلی لایه های بالاتر تعمیمش داد. اگه داریم سرویسی مینویسیم که قراره یه apiی ارائه بده به یه سری کلاینت، که میتونه شامل همه rest api هایی که مینویسیم هم باشه، خیلی کمک میکنه طراحی بهتری برای api ها داشته باشیم، حتی و اگه داریم در شرکت های بزرگ کار میکنیم میتونیم تعامل بین تیمی رو تقویت کنیم و تعامل خیلی سازنده تری داشته باشیم.

این لینک draft مقاله، ببخشید که خیلی خامه، ولی مطمئن هستم اگه با دقت همین draft رو مطالعه کنید متوجه منظورم خواهید شد.
https://docs.google.com/document/d/11_Tj46PiJ0OK_smYr6wKYyRVMDCVzgqCzBgVjqtwwvo/edit?usp=sharing

قطعا ممکنه خود من هم کامل DBC رو متوجه نشده باشم، اما در حدی که متوجه شدم متقاعد شدم که بخشی از simplicity گولنگ مدیون اجرای صریح یا ضمنی این شیوه است و به خودمون هم خیلی میتونه کمک کنه.

منابع
برای اینکه با design by contract آشنا بشید اصل مقاله رو میتونید اینجا بخونید
http://se.inf.ethz.ch/~meyer/publications/old/dbc_chapter.pdf

همچنین خوندن فلسفه let it crash هم در اینجا توصیه میشه
https://media.pragprog.com/titles/jaerlang2/errors.pdf

و اگه بتونید قسمت Design by Contract از کتاب The Pragmatic Programmer, 20th Anniversary Edition رو هم بخونید که چه عالی
https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/


@gocasts

#design_by_contract #golang #simplicity #let_it_crash #joe_armstrong
👍2🎉1