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

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

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

ادمین:
@mrbardia72
Download Telegram
✍️ محتواسازی یکی از روش‌های هوشمند تبلیغاتی برای نشان دادن قابلیت یک تیم یا شرکت است اما بلاگ نویسی ساعت‌ها و حتی روزها زمان می‌برد.
🚀 اینفی بلاگ، ابزاری متن باز هست که به کمک GPT لیست موضوعات را از کاربر دریافت کرده و برحسب زمانبندی از پیش تعریف شده بلاگ پست‌هایی با ساختار مناسب تهیه و در پلتفرم‌های WordPress، تویتر و لینکدین منتشر می‌کند.
📣 این ابزار به سرعت در حال توسعه است و در آینده نسخه‌ی گرافیکی با قابلیت هوشمندسازی بیشتر ارائه خواهد شد.
👉 https://github.com/infilock/InfiBlog
👍6

🕊 @gopher_academy | @GolangEngineers
😁16👍1
What does ACID Means?

🕊 @gopher_academy | @GolangEngineers
👍72🍾1
سم آلتمن: به محض اخراج از OpenAI آیفون من کرش کرد

https://www.zoomit.ir/tech/412944-sam-altman-after-fired-openai-iphone-broke/


🕊 @gopher_academy | @GolangEngineers
👍3🕊2💊1
صفحه مرگ آبی ویندوز (بلو اسکرین آو دت / BOSD) داره با سیستم‌دی  به دنیای #لینوکس می‌یاد

و سایت‌ها با هیجان براش کلی تیتر زدن (: اینجا نگاهی فنی داریم به اینکه ماجرا چیه و با خوندن سورس سیستم.دی. کلمه به کلمه می‌فهمیم قراره چیکار کنه

اگر واقعا دوست داشتین انگلیسی رو ببینین که خب باعث تقویت زبان هم هست... وگرنه منتظر بشین تا آپلود فارسی تموم بشه (:

#جادی

https://youtu.be/tK8VpcMS9eY


🕊 @gopher_academy | @GolangEngineers
👍41🔥1🕊1
ارتقای گیتهاب به MySQL 8.0

گیتهاب از MySQL برای ذخیره حجم عظیمی از داده‌های رابطه‌ای استفاده می‌کند. خلاصه داستان چگونگی ارتقای بی‌دردسر ناوگان تولید GitHub به MySQL 8.0 رو در زیر میگم براتون.

گیتهاب بیش از 15 سال پیش با یک برنامه Ruby on Rails و یک پایگاه داده MySQL شروع به کار کرد. از آن زمان، معماری MySQL GitHub برای پاسخگویی به نیازهای مقیاس‌پذیری و انعطاف‌پذیری پلتفرم تکامل یافته است، از جمله:

* ساخت برای بالاترین سطح دسترسی
* پیاده‌سازی اتوماسیون تست
* پارتیشن‌بندی داده‌ها

در سال 2023، گیتهاب تصمیم گرفت که به MySQL 8.0 ارتقا یابد تا از ویژگی‌های جدید و بهبود یافته آن بهره‌مند شود. این ویژگی‌ها شامل موارد زیر است:

* پشتیبانی از JSON
* پشتیبانی از انواع داده‌های جدید
* بهبود عملکرد
* امنیت بهبودیافته

گیتهاب یک برنامه ارتقای چند مرحله‌ای را برای انجام این کار اجرا کرد. این برنامه شامل موارد زیر بود:

1. آماده‌سازی زیرساخت برای ارتقا
2. اطمینان از سازگاری برنامه
3. برقراری ارتباط و شفافیت

ارتقای GitHub به MySQL 8.0 موفقیت‌آمیز بود و هیچ مشکل قابل توجهی در عملکرد یا قابلیت اطمینان پلتفرم ایجاد نکرد.

چالش‌های ارتقا

گیتهاب در طول ارتقا با چند چالش مواجه شد، از جمله:

* پشتیبانی از Vitess، یک پلتفرم توزیع‌شده پایگاه داده MySQL
* تأخیر در تکرار
* پرس و جوهایی که در CI قبول می‌شدند اما در تولید شکست می‌خوردند

GitHub این چالش‌ها را با همکاری نزدیک با تیم Vitess و استفاده از ابزارهای آزمایش خودکار برطرف کرد.

یادگیری‌ها و برداشت‌ها

گیتهاب از ارتقای خود به MySQL 8.0 درس‌های مهمی آموخت، از جمله:

* اهمیت برنامه‌ریزی و آماده‌سازی دقیق
* ارزش ارتباطات و شفافیت با کاربران و شرکا
* مزایای استفاده از ابزارهای آزمایش خودکار برای شناسایی و رفع مشکلات احتمالی

گیتهاب قصد دارد از MySQL 8.0 برای بهبود عملکرد و قابلیت اطمینان پلتفرم خود استفاده کند.

اطلاعات بیشتر در وبلاگ گیتهاب :

https://github.blog/2023-12-07-upgrading-github-com-to-mysql-8-0/



🕊 @gopher_academy | @GolangEngineers
👍223🕊2🍾1💊1
🔶️نمیدونم این سوال درسته یا اشتباه
اگر کسی میدونه یه جواب خوشگل بده
...
🔷️می‌دونید که مای اس کیو ال 8.2.0 اخیراً منتشر شده و ویژگی‌های جدید زیادی رو قاعدتا داره. یکی از این ویژگی‌ها، Read/Write Splitting هستش که به برنامه‌ها اجازه می‌ده تا به طور خودکار ترافیک نوشتن رو به سطوح اصلی و ترافیک خواندن رو به سطوح پشتیبان هدایت کنه. این کار باعث بهبود عملکرد و مقیاس‌پذیری پایگاه داده می‌شه.

🔻خب در MySQL Router به طور هوشمندانه ترافیک خواندن و نوشتن رو شناسایی و مسیریابی می‌کنه. این ویژگی به سشن کلاینت اجازه می‌ده با مقاصد read_write و read_only ارتباط برقرار کنه، تجربه کاربر رو بهبود می‌بخشه و مدیریت پایگاه داده رو ساده می‌کنه.
....
🌏حالا با این توضیحات بالا از ویژگی جدید mysql چه فرقی میکنه با الگوی معماری CQRS
شبیه هم هستن یا نه تفاوتی هست ؟


🕊 @gopher_academy | @GolangEngineers
👍4🕊1
var s = []int{1, 2, 3, 4}
a := s[1:3]



🕊 @gopher_academy | @GolangEngineers
👍21🍾1
var s = []int{1, 2, 3, 4}
a := s[:3]



🕊 @gopher_academy | @GolangEngineers
2🔥1💊1
var s = []int{1, 2, 3, 4}
a := s[3:]



🕊 @gopher_academy | @GolangEngineers
🐳31🎉1
🖇 در بین برنامه نویسان زبان Go همیشه این مسئله بوده که کی و کجا باید از Pointer استفاده کنیم؟!


دیدگاه من نسبت به Pointer :

زمانی باید از Pointer استفاده کنید که قصد دارید یک متغیری را در scope ها و توابع مختلف مقدار دهی کنید در اینجا بهتر است از Pointer استفاده کنیم تا جلو کپی شدن متغیر در خانه های مختلف حافظه گرفته شود.

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

حتی این قضیه برای اینکه method تعریف کنیم صدق میکنه که چرا باید متد با Pointer یا بدون Pointer تعریف کنیم.

نکته مهم 1: استفاده از Pointer باید با دقت انجام شود تا از مشکلاتی مانند دسترسی همزمان به متغیرها و اشتباهات مرتبط با حافظه جلوگیری شود.

نکته مهم 2: استفاده از Pointer خیلی خوب و مفید است اما در جای درست چون اگر نتوانیم تشخیص دهیم کی و کجا استفاده کنیم به مرور باعث کاهش عملکرد برنامه خواهد شد.

اگر علاقه مند هستید بیشتر با پوینتر آشنا شوید و یا درک عمیقی پیدا کنید ادامه این مطلب را در لینک زیر ببینید:

https://book.gofarsi.ir/chapter-2/pointer/


🕊 @gopher_academy | @GolangEngineers
👍8🕊1🐳1🍾1
😱😂سلامتی، دیتابیس رو پاک کردم

#DevTwitter | <A Faraz/>


🕊 @gopher_academy | @GolangEngineers
😁17🔥1
#بگایی_در_کمین

حواستون باشه اسیر اینطور کدنمک بازی ها نشید. ایشون صرفا یه شوخی کرده و در ادامه گفته:


هشدار:
تا وقتی نمیدونی یه کامند چیکار میکنه، اونو ران نکن.
این کامند خطرناکه. حواست باشه.
‏به طور دقیقتر dev/null/ همونجاییه که میگن عرب نی انداخت :))
بلک هول. نکنید. کل فایلاتون به چوخ میره


اما متاسفانه دیدم که بعضی چنل ها اومدن فقط همین توییت داخل تصویر رو گذاشتن.

این قسمت از لینوکس مثل سیاه چاله میمونه، هر چیزی که بریزید توش از بین میره
مراقب باشید

#DevTwitter

🕊 @gopher_academy | @GolangEngineers
😁19👍81🔥1🕊1🐳1
🔵The difference between nil and empty slices in Go

🔴 https://freshman.tech/snippets/go/nil-vs-empty-slices/


🕊 @gopher_academy | @GolangEngineers
👍5
17 دوره های رایگان که در انتها بهتون مدرک میدن.
حتما تو هر کدوم به دردتون میخوره شرکت کنید.

1. Python
https://freecodecamp.org/learn/scientific-computing-with-python/

2. SQL
https://hackerrank.com/skills-verification/sql_advanced

3. React
https://hackerrank.com/skills-verification/react_basic

4. Angular
https://hackerrank.com/skills-verification/angular_intermediate

5. HTML, CSS
https://freecodecamp.org/learn/2022/responsive-web-design/

6. JavaScript
https://hackerrank.com/skills-verification/javascript_intermediate

7. Data Science
https://mylearn.oracle.com/ou/learning-path/become-an-oci-data-science-professional-2023/121944

8. DevOps
https://mylearn.oracle.com/ou/learning-path/become-an-oci-devops-professional-2023/121756

9. Machine Learning
https://freecodecamp.org/learn/machine-learning-with-python/

10. Java
https://data-flair.training/courses/free-java-course/

11. Neo4j
https://graphacademy.neo4j.com/courses/neo4j-certification/

12. Redis
https://university.redis.com/certification/

13. C#
https://hackerrank.com/skills-verification/c_sharp_basic

14. Go
https://hackerrank.com/skills-verification/golang_intermediate

15. Security
https://mylearn.oracle.com/ou/learning-path/become-a-cloud-security-professional-2023/121923

16. SEO
https://academy.hubspot.com/courses/seo-training

17. Digital Marketing
http://learndigital.withgoogle.com/digitalgarage/course/digital-marketing

#DevTwitter


🕊 @gopher_academy | @GolangEngineers
4🔥1🕊1
🔵Repository: grpc/grpc-go 
🟣Tag: v1.60.0

🟡https://github.com/grpc/grpc-go/releases/tag/v1.60.0


🕊 @gopher_academy | @GolangEngineers
👍1🕊1🍾1
🔵Repository: grafana/loki
🟣Tag: v2.9.3

🟡https://github.com/grafana/loki/releases/tag/v2.9.3


🕊 @gopher_academy | @GolangEngineers
1👍1🍾1
خالق ChatGPT تأیید کرد که این چت‌بات «تنبل» شده است

https://www.zoomit.ir/ai-articles/413076-openai-confirms-chatgpt-getting-lazier/


🕊 @gopher_academy | @GolangEngineers
🐳7😁5🕊2👍1🎉11
یک ویژگی خوب در IDE های Jetbrains

قابلیت Local History یکی از وِیژگی خوب Jetbrains می باشد برای مواقعی که شما یک فایلی را اشتباهی حذف کردید را می توانید بازیابی کنید.

بیشتر برای مواقعی خوبه که آن فایل را داخل gitignore قراردادید.


🕊 @gopher_academy | @GolangEngineers
👍66🎉1🐳1💊1