Gopher Academy
3.34K subscribers
920 photos
40 videos
280 files
2.01K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
دوستان با استفاده از ربات زیر می توانید به کتابخانه zilibrary دسترسی داشته باشی و کتاب مورد نیازتان را دانلود نمایید.

@zgofarsi_bot


🕊 @gopher_academy | @GolangEngineers
🕊2💯1🏆1
گیت‌هاب در بروزرسانی اخیر، پنج حالت بصری هشدار (Alert) را به منظور بهبود نگارش مستندات مخازن در Markdown اضافه کرد.

https://github.blog/changelog/2023-12-14-new-markdown-extension-alerts-provide-distinctive-styling-for-significant-content/

#DevTwitter | <Glitch/>

🕊 @gopher_academy | @GolangEngineers
21👍1🕊1
استراتژی Deployment مناسب را انتخاب کنید!

استراتژی‌های Deployment مانند دستور العمل‌هایی هستند که برای به‌روزرسانی برنامه‌ها و سرویس‌های خود بدون ایجاد اختلال در سیستم دنبال می‌کنید. آنها به شما اجازه می‌دهند به‌روزرسانی‌های خود را به روشی هوشمند و ایمن امتحان، بررسی و لغو کنید. بسته به آنچه دوست دارید و نیاز دارید، می‌توانید استراتژی‌های Deployment مختلفی را انتخاب کنید که Azure می‌تواند برای شما انجام دهد، مانند:

روش Blue-green deployment:
این استراتژی مانند این است که دو نسخه از برنامه یا سرویس خود داشته باشید، یکی برای نسخه قدیمی (آبی) و دیگری برای نسخه جدید (سبز). می‌توانید نسخه جدید را قبل از اینکه کاربران خود را به آن تغییر دهید، در نسخه سبز تست کنید. به این ترتیب می‌توانید از اشتباهات جلوگیری کنید و اگر مشکلی پیش آمد سریعا به عقب برگردید.

روش Rolling deployment:
این استراتژی مانند این است که اپلیکیشن یا سرویس خود را ذره ذره، با تغییر چند قسمت در یک زمان با نسخه جدید، به روز کنید. می‌توانید تصمیم بگیرید که چقدر سریع و چقدر می‌خواهید به‌روزرسانی کنید، و تماشا کنید که چگونه پیش می‌رود و چگونه روی سیستم شما تأثیر می‌گذارد. به این ترتیب، می‌توانید زمان خرابی را کاهش دهید و مطمئن شوید که همه چیز برای کاربرانتان به خوبی پیش می‌رود.

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


برای انتخاب استراتژی استقرار مناسب برای سیستم خود، باید به مواردی فکر کنید، مانند:

- برنامه یا سرویس شما چقدر بزرگ و پیچیده است.
- هر چند وقت یکبار و چقدر می‌خواهید آن را به روز کنید.
- به روز رسانی‌های شما چقدر خطرناک و مهم هستند.
- کاربران شما چه احساسی دارند و چه انتظاراتی از شما دارند.
- چه ابزارهایی برای استقرار خود دارید.

🔗 نسخه کامل مقاله را می‌توانید در اینجا مطالعه نمایید.


#محمدرضا_پازوکی (لینکدین)


#SoftwarePhilosophy


🕊 @gopher_academy | @GolangEngineers
👍52🔥1🕊1💯1🍾1
#iCodeNext

💎 Types of Coupling in Software Development - Part 1

🌀 خوب بد نیست یکمی بیشتر در مورد Coupling صحبت کنیم که تا الان مثل کلمه مانترا توی یوگا شده برامون. سعی کردم انواع Coupling رو توضیح بدم و براشون هم یه نمونه دولوپ کنم و راهکار هم بدم تا جاییکه چیکار بکنیم براشون. 

00:00  What is Coupling
06:00 Types of Coupling
06:28 No-Coupling
07:40 Data Coupling
11:30 Stamp Coupling
15:12 Real Example of Stamp Coupling
18:01 Control Coupling
22:18 External Coupling
27:58 Common Coupling
31:00 Content Coupling

🕶 مدت ویدیو : 37 دقیقه              
📺 لینک ویدیو :
https://youtu.be/zkexz3srbno

🌗 گیت هاب :
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCoupling

💎 Type of Cohesion in Software Development - Part 2

🌀 حالا که در مورد Coupling صحبت کردیم بد نیست در مورد انواع Cohesion هم صحبت کنیم. 

01:00 Coincidental Cohesion
04:00 Logical Cohesion
07:00 Temporal Cohesion
12:00 Procedural Cohesion
15:00 Communicational Cohesion
17:00 Sequential Cohesion
19:00 Functional Cohesion

🕶 مدت ویدیو : 21 دقیقه               
📺 لینک ویدیو :
https://youtu.be/c1kfgeYAYN0

🌗 لینک گیت هاب:
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCohesion


🕊 @gopher_academy | @GolangEngineers
👍9321🕊1🍾1
طراحی نرم‌افزار واقعا کار دشواریه، بنابراین احتمالاً اولین فکرهای شما در مورد چگونگی ساختار یک ماژول یا یک سیستم، بهترین طراحی را تولید نخواهد کرد.

پس بهتره دوبار طراحی کنید
#icodenext


🕊 @gopher_academy | @GolangEngineers
👍35
Big Endian & Little Endian

🕊 @gopher_academy | @GolangEngineers
71🔥1
درود به همگی

#سوال

🟣شما به عنوان مصاحبه کننده

🔵چقدر به لایو کد اهمیت میدید؟
🔵آیا اصلن لایو کد رو ملاک قرار میدید برای مصاحبه یا نه؟

🟡برای استخدام فرد جدید توی شرکتتون

🔻نظرتون رو برامون کامنت کنید 🔻

🕊 @gopher_academy | @GolangEngineers
🔥1🕊1🍾1💋1
شروعی دوباره در کتاب آزاد زبان گولنگ فارسی

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

پ.ن این بخش بلاکچین هست قصد دارم به مباحث پایه تا عمیق بلاکچین ۱ و بلاکچین ۲ (قراردادهای هوشمند) بپردازم.

https://lnkd.in/dPQcj_a8

بخش اصلی کتاب به مفاهیم کلی شبکه نظیر (مفاهیم، الگوریتم consensus، درخت merkle, کریپتو گرافی و پیاده سازی شبکه همتا به همتا p2p) میپردازم سپس به مباحث روتین شبکه نظیر قراردادهای هوشمند، ارتباط با شبکه ها می پردازم.

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

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

بخش های مدنظر: https://github.com/GoFarsi/book/discussions/325


🕊 @gopher_academy | @GolangEngineers
11🔥6👍42🕊1🏆1
در مسیر تبدیل شدن به یک مهندس نرم‌افزار یکی از راه هایی که خیلی میتونه شمارو کمک کنه و مسیر رو براتون شفاف تر کنه، شنیدن پادکست هایی از جنس تجربس.

من این پایین لیستی از چندین پادکست خوب در زمینه مهندسی‌ نرم افزار رو اوردم که میتونید بررسی کنید

- Software Engineering Daily
توی این پادکست خفن میزبان میاد و درخصوص چالش ها توی پروژه های بزرگ با مهندسین نرم افزار شرکت های بزرگ صحبت میکنه و تجربیات خوبی شیر میشه.
softwareengineeringdaily.com


- Software Engineering Radio
پادکست رادیوی مهندسی نرم افزار، یکی از اون پادکست های پرمحتواییه که آدم های خفن هر هفته درخصوص چالش های طراحی نرم افزار صحبت میکنند.
http://se-radio.net


- CaSE
پادکست Conversations about Software Engineering سعی کرده هر سه هفته یک اپیزود برای افرادی که علاقه مند به معماری و مهندسی نرم افزار هستند رو منتشر کنه.

پادکست های رلیز شده مصاحبه طور هستند و بنظرم جذابن.
case-podcast.org


- Changelog
پادکست Changelog هم واقعا باحاله، خیلی از زمینه های اپن سورس، توسعه وب و برنامه نویسی و.. رو توی اپیزود هاش ساپورت میکنه و تا الان نزدیک ۵۷۰ اپیزود ضبط شده رو قرار داده روی سایتش.
changelog.com


- The Cloudcast
اگه شماهم علاقه مند به Cloud, Serverless architecture, aws ,.. هستید احتمالا این پادکست از بقیه براتون جذاب تره و هر هفته داره اپیزود های جدیدی در زمینه کلاود به اشتراک میزاره.
https://thecloudcast.net


- CodeNewbie
این پادکست هم با هدف باحالی اومده، آدمای مختلف داستان رسیدنشون از صفر به پوزیشن های بالایی که الان دارن رو توی هر اپیزود میگن و میگن که چطوری از یک کورس ساده به شرکت های بزرگ نرم افزاری رسیدن.
http://codenewbie.org/podcast


- System Design
یکی از جذاب ترین پادکست ها برای افرادی که به سیستم دیزاین علاقه دارن، اینجا مصاحبه های سیستم دیزاین بصورت پادکست ضبط میشن و آدمای با تجربه چالش های سیستم دیزاین مختلف رو حل میکنند.
systemdesign.buzzsprout.com

- Soft Skills Engineering

این بار دیگه قرار نیست محتوای فنی و کد بشنوید، با این پادکست شما قراره مهم ترین سافت اسکیل هارو تقویت کنید، بنظرم از دستش ندید.
softskills.audio


- CoRecursive
این پادکست هم عناوین باحالی داره، آدم های بزرگی راجع به مسائل جذابی صحبت کردن، میتونید چک کنید.
corecursive.com


#DevTwitter | <Reza/>

🕊 @gopher_academy | @GolangEngineers
💯17👍8🔥3💋32
8 Top Docker Tips & Tricks for 2024

https://www.docker.com/blog/8-top-docker-tips-tricks-for-2024/


🕊 @gopher_academy | @GolangEngineers
👍5
شرح موقعیت شغلی و الزامات (سمت چپ)

کاری که واقعا قراره انجام بدی (سمت راست)

#Fun

#Syntax_fa


🕊 @gopher_academy | @GolangEngineers
😁21👍8💯2
پیاده سازی Updater براساس GitHub Release

یکی از مرسوم ترین حالت برای پیاده سازی یک updater داخلی برای نرم افزار GUI یا CLI داشتن یک API برای گرفتن آخرین نسخه و دانلود براساس لینک دانلود است.

گیتهاب برای آخرین release که داخل هر ریپو منتشر می شود API دارد که خیلی کاربردی هست و می توانید آخرین نسخه و لینک دانلود را استفاده کنید.

https://api.github.com/repos/:owner/:repo/releases/latest


فیلد owner: نام کاربری شما یا org
فیلد repo: شناسه مخزن (مثل book)


به عنوان مثال لینک زیر را ببینید:

https://api.github.com/repos/gofarsi/book/releases/latest


🕊 @gopher_academy | @GolangEngineers
🕊7🔥1
کد دعوت بلواسکای

1. bsky-social-63hq5-i4eb3
2. bsky-social-43lsc-gshxt


🕊 @gopher_academy | @GolangEngineers
9👍1🍾1
❤️درود  به همگی دوستان

🟡یه #سوال

🔑راستش من چیزی در مورد اینکه حد نهایی انتهایی این cap ها چقدره می تونه باشه ندیدم جای توی سرچ هام و کدهای ران تایم گو

🔑چندتا سوال مطرح هست اینجا👇

🟣سوال اول : این cap ها براساس چه مکانیزمی ، الگوریتمی داره افزایش پیدا میکنه؟

🟣سوال دوم : اینه که این cap ها بسته به معماری سیستم مثلن 32 یا 64 تا چقدر این capافزایش پیدا میکنه؟(اصلن ربطی به معماری و رم سیستم داره؟ا)

👩‍💻جواب کامنت کنید البته با ذکر منبع. سپاس👨‍💻


🕊 @gopher_academy | @GolangEngineers
👍4
20 نکته واسه رعایت کردن توی تست نویسی

🕊 @gopher_academy | @GolangEngineers
10👍9
سلام دوستان. روز همگی بخیر. شرکت ما (terahard.org) که در شهر آتن کشور یونان واقع شده، دنبال یه برنامه نویس میگرده که هم با موتور یونیتی و زبان C# کد زده باشه، هم به مفاهیم بک اند و برنامه نویسی با Go آشنایی داشته باشه و یه مقدار هم کار dev ops انجام داده باشه.

کار به صورت تماما ریموت هست. روزهای کاری 2 شنبه تا جمعه هست. ساعات کاری 11:30 صبح تا 7:30 عصر (3:30 تا 4:30 تایم ناهار)

مقدار حقوق توافقی. پرداخت به صورت دلاری یا یورویی (هماهنگ کردن حساب مقصد با صراف یا روش های دیگه با خودتون هست). شرکت پرداخت کریپتو انجام نمیده.

لطفا در صورتی که همه شرایط بالا رو دارا هستین، رزومه تون رو به info@terahard.org ایمیل کنید.

🕊 @gopher_academy | @GolangEngineers
24😁8👍421
🥳 Go 1.21.6 and 1.20.13 are released!

📢 Announcement: https://groups.google.com/g/golang-announce/c/F12eMaUITDs

⬇️ Download: go.dev/dl/#go1.21.6


🕊 @gopher_academy | @GolangEngineers
👍62🕊1💋1🎄11
شما دعوتید به اولین همایش دوآپس ایران

همراهی با ۵۰۰ نفر متخصص و علاقه مندان دوآپس ایران این بار در شیراز، پایتخت فرهنگی ایران

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

🌐ثبت نام از طریق :
devops.shirazcloud.ir

📍مکان برگزاری: دانشگاه شیراز، سالن فجر

🗓 تاریخ برگزاری: ۱۳ بهمن ماه

ساعت برگزاری : ۱۲ الی ۱۹

🆔 @shirazlinuxcommunity
💋6🔥2
🔵Go 1.22: Interactive release notes

🔻No more sharing of loop variables
🔻Range over integers
🔻New math/rand/v2 package
🔻Generic N-function
🔻Fixed naming
🔻Enhanced routing patterns
🔻Slices

💙 https://antonz.org/go-1-22/


🕊 @gopher_academy | @GolangEngineers
🔥101