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
یه برگه تقلب خوب Golang Regex
https://gist.github.com/harrietty/d737a350827e100712c5b62168358c88


🔰 @gopher_academy
Gopher Academy
🎯آموزش Regular Expressions در گولنگ🎯 Understanding Regular Expressions 🔴 https://t.me/gopher_academy/593 Dealing With Special Characters 🔴 https://t.me/gopher_academy/599 Using Boundaries 🔴 https://t.me/gopher_academy/606 Using Classes 🔴 https:/…
Dealing With Special Characters
نویسه های زیر در عبارات منظم معانی خاصی دارند:. + *؟ () | [] {} ^ $ \. ما قبلاً بسیاری از آنها را در مثال ایمیل مشاهده کرده ایم.
الگوی regex \؟ شامل یک بک اسلش است که باید با یک بک اسلش دیگر از آن خارج شود ، زیرا به عنوان یک رشته Go معمولی نمایش داده می شود.


🔰 @gopher_academy
🎯آیا Go سریعتر از Java است؟🎯
👇🏻👇🏻👇🏻👇🏻

https://roocket.ir/articles/is-go-faster-than-java-the-wrong-question-to-ask


🔰 @gopher_academy
🎯 شرکت های که از گولنگ استفاده کردن🎯
در ایران

Idpay
🔴bank gateways and a stable billing service in order to connect payments.
IranBooking
🔴Online booking system for hotels in Iran
QuizOfKings
🔴Online trivia game among the most popular mobile game in iran
ManaGroup
🔴github Iranian Payment And Traveling Solution 💸🚀
Emji -
🔴Emji is a new refined social networking platform aimed at simplicity and connectivity
Clickyab -
🔴Clickyab is diffrent online advertising & digital media agency
Sazito -
🔴Sazito is multi-functional tools to build and manage your online store.
AlAlam --
🔴 AlAlam news network TV channel
Aparat --
🔴Most popular video sharing platform in Iran
Asan Pardakht --
🔴 Pay Smarter. Pay Simpler. Pay Anywhere!
SabzCity -
🔴 github
Bahamta -
🔴Fintech company.
5th dimension -
🔴Advertising Agency.
Telmaperfume -
🔴Promotional Gifts.
Giftsbox -
🔴Promotional Mothers Day Gifts.
Snapp -
🔴Snapp is a web and mobile ride-hailing platform in Iran
Parsaspace -
🔴Parsaspace is an iranian storage as a service
Cafe Bazaar -
🔴Iranian Android marketplace
Alfa Movie -
🔴 Best download center platform in Iran.
Alibaba Travels Co. -
🔴(Github) - Iranian online travel agency


🔰 @gopher_academy
ما معمولا انتخاب و فراخوانی یک متد رو به صورت همزمان انجام میدیم! در صورتی که میتونیم یک متد رو انتخاب کنیم و بعدا اجرا کنیم! به مثال بالا دقت کنید.
این تکنیک موقعی به کار میاد که میخوایم یک متد رو به عنوان پارامتر به درون یک فانکشن یا متد دیگر پاس بدیم تا در زمان مناسب اجرا بشه.

🔰 @gopher_academy
🔴ent. An entity framework for Go🔴

درواقع ent یک فرم ورک ساده و در عین حال قدرتمند برای Go است ، ساخت و نگهداری برنامه های کاربردی با مدل داده های بزرگ را آسان می کند با اصول زیر را کار با این فرم ورک را آسان می کند:
🔹Easily model database schema as a graph structure.

🔹Define schema as a programmatic Go code.

🔹Static typing based on code generation.

🔹Database queries and graph traversals are easy to write.

🔹Simple to extend and customize using Go templates.

🔻 https://entgo.io/


🔰 @gopher_academy
🎯چه نوع دیتایی رو میشه باهم مقایسه کرد؟🎯

یا بهتره بگیرم در چه مواقعی میشه از عملگر == (مساوی بودن) یا =! (نامساوی بودن) استفاده کرد؟

۱- داده های basic یا پایه قابل مقایسه هستن. این داده ها شامل نوع های int , string , complex , boolean, float میشن و نوع pointer (اشاره گر)

۲- نوع های map , slice و function اصلا قابل مقایسه نیستن

۳- در مورد interface ها قضیه به چه صورته؟ وقتی دوتا متغیر از نوع interface ها رو باهم مقایسه میکنیم در صورتی که هردو nil باشن یا نوع و مقدار دیتایی که داخل اون متغیر هست باهم یکسان باشه , اون دوتا متغیر یکسان هستن. اما اگه مقدار دوتا متغیر باهم قابل مقایسه نباشه با panic مواجهه خواهیم شد. (مثلا مقدار از نوع slice باشه)

نکته: نوع های داده ای رو که بشه باهم مقایسه کرد میتونیم به عنوان key یا index توی map ها استفاده کنیم! اما نوع های داده ای که قابل مقایسه نیستن رو نمیشه به هیچ وجهه درون map ها به عنوان index استفاده کرد.


🔰 @gopher_academy
🔴Visualizing gRPC Language Stacks🔴

در gRPC-Go ، به دلیل عدم پشتیبانی از بسیاری از تنظیمات ، پشته بسیار ساده تر است.
در اینجا یک نمای کلی از سطح بالای پشته Go وجود دارد:
ساختار در اینجا کمی متفاوت است. از آنجا که فقط یک زبان وجود دارد ، جریان از بالای پشته به پایین خطی تر است. ب
درواقع ، gRPC Go می تواند از پیاده سازی HTTP / 2 یا بسته Go net / http استفاده کند.

🔰 @gopher_academy
Gopher Academy
🎯آموزش Regular Expressions در گولنگ🎯 Understanding Regular Expressions 🔴 https://t.me/gopher_academy/593 Dealing With Special Characters 🔴 https://t.me/gopher_academy/599 Using Boundaries 🔴 https://t.me/gopher_academy/606 Using Classes 🔴 https:/…
🔴Using Boundaries🔴
خط ۵
پیدا کردن کلمه father در رشته
خط ۸
انتهای رشته کلمه father باشد
خط ۱۱
شروع رشته کلمه Hello باشد
خط ۱۳
پیدا کردن کلمه kill در رشته
خط ۱۶
جست و جوی بخشی از جمله killed در رشته
خط ۱۹
ادامه کلمه kill نباید چیزی باشد
خط ۲۲
قبل و بعد kill نباید چیزی باشد
خط ۲۵
قبل و بعد killed نباید چیزی باشد
خط ۲۸
قبل Montoya چیزی نباید باشد اما بعدش باید یه ویرگول باشد

🔰 @gopher_academy
👀1
Gopher Academy
🔴Using Classes🔴 انواع الگو ها جهت استفاده در کد 🔰 @gopher_academy
👆🏻👆🏻👆🏻👆🏻
پیدا کردن یه عدد سه رقمی در رشته

🔰 @gopher_academy
Gopher Academy
🔴Using Classes🔴 انواع الگو ها جهت استفاده در کد 🔰 @gopher_academy
👆🏻👆🏻👆🏻👆🏻
توی خط ۳ دنبال رشته ACGTمیگرده که بعدش دنباله ای داشته باشه
توی خط ۶ هم دیگه واضح هست

🔰 @gopher_academy
Gopher Academy
🎯آموزش Regular Expressions در گولنگ🎯 Understanding Regular Expressions 🔴 https://t.me/gopher_academy/593 Dealing With Special Characters 🔴 https://t.me/gopher_academy/599 Using Boundaries 🔴 https://t.me/gopher_academy/606 Using Classes 🔴 https:/…
🔴Compiling Your Regex🔴
برای اینکه بخواییم چندین الگو رو توی یه رشته به کار ببریم از کد فوق استفاده می کنیم
با استفاده از MustCompile
دقت کنبد که فقط کافی هست یکی از الگو ها با رشته ما صدق کند

🔰 @gopher_academy
🔴بقول Uncle Bob، سیستم‌هایی که مدیریت وابستگی(SOLID) در آن رعایت نمی‌شود این ۴ بو (Smell) را همراه خود خواهند داشت:🔴

سختی یا Rigidity
سختی یا Rigidity یعنی ناتوانی در تغییر. / اگر برای تغییر دادن بخش کوچکی از کد مجبور شویم کل سیستم را مجددا rebuild کنیم، آنوقت آن سیستم سخت شده یا دچار Rigidty شده است.

شکنندگی یا Fragility
مفهوم Fragility و Rigidity بسیار بهم نزدیک اند. درواقع شکنندگی و سختی، علت و معلول یکدیگر هستند. شکنندگی یا Fragility اشاره دارد به اینکه هر موقع تغییری در سیستم ایجاد می‌کنید در بخش (یا بخش‌های) دیگری از سیستم - که حتی هیچ ربطی با آن قسمت ندارد - با خطا و مشکل مواجه می‌شوید.

عدم تحرک یا Immobility
نتوانیم آن قسمت از کد یا کامپوننت را در دیگر بخش‌های سیستم استفاده کنیم.

چسبناکی یا Viscosity
چسبناکی، ویسکوزیته یا Viscosity مقاومت در مقابل تغییر است. وقتی که ساخت مجدد و تست سیستم برای ما سخت می‌شود و ترجیح بدهیم از خیر تغییرات آن قسمت بگذریم، آنگاه کد ما viscous یا چسبناک است.


🔰 @gopher_academy
سیستم عاملی فعلیت برای کد زدن؟
Final Results
77%
Linux
30%
Window
7%
Mac
🔴یه کتاب خوب برای درک بهتر اصول مهندسی نرم افزار🔴

Fundamentals of Software Architecture: An Engineering Approach

لینک دانلود
https://b-ok.cc/book/5407664/01e173

فایل پسوند epub هست که با استفاده از سایت زیر اون رو به pdf تبدیل کنید
https://www.zamzar.com


🔰 @gopher_academy
Gopher Academy
🎯آموزش Regular Expressions در گولنگ🎯 Understanding Regular Expressions 🔴 https://t.me/gopher_academy/593 Dealing With Special Characters 🔴 https://t.me/gopher_academy/599 Using Boundaries 🔴 https://t.me/gopher_academy/606 Using Classes 🔴 https:/…
🔴Finding🔴

از سمت چپ شروع به تگاه کردن می کنه تا الگوی مانند الگوهای خط دو را پیدا کند و بعدش به انتها جمله همون الگوی رو که پیدا کرد رو بزاره


🔰 @gopher_academy