Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
🔴Any🔴
ت✅ایپ Any شامل یک پیام دلخواه سریال به صورت بایت ، همراه با URL است که به عنوان یک شناسه پیام عمل می کند.
✅نوع پیش فرض URL برای نوع پیام داده شده است به صورت زیر
type.googleapis.com/_packagename_._messagename_
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
ت✅ایپ Any شامل یک پیام دلخواه سریال به صورت بایت ، همراه با URL است که به عنوان یک شناسه پیام عمل می کند.
✅نوع پیش فرض URL برای نوع پیام داده شده است به صورت زیر
type.googleapis.com/_packagename_._messagename_
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
🔴Oneof🔴
✅تایپ OneOf میگه فقط یکی از متغییرهایی که براش تعریف میکنیم میتونه مقدار داشته باشه.
✅در مسیج بالا داریم میگیم یه آیدی داریم و بعد از اون یکی از مقادیر my_string یا my_bool داریم
✅پس وقتی داریم این دو مقدار رو میخونیم فقط ممکنه یکی از اونها مقداری روش ست شده باشه. و اما چند نکته:
✅فیلدهای oneof نمیتونند repated باشن.
✅توسعه oneof میتونه خیلی پیچیده باشه.
✅در موقع خواندن مسیج oneof، همه فیلدها نال خواهد بود، بجز آخرین فیلدی که موقع ارسال درخواست ست کردید.
✅پس اگر my_string و my_bool ست کنید فقط my_bool داری مقدار خواهد بود و my_string نال خواهد بود.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
✅تایپ OneOf میگه فقط یکی از متغییرهایی که براش تعریف میکنیم میتونه مقدار داشته باشه.
✅در مسیج بالا داریم میگیم یه آیدی داریم و بعد از اون یکی از مقادیر my_string یا my_bool داریم
✅پس وقتی داریم این دو مقدار رو میخونیم فقط ممکنه یکی از اونها مقداری روش ست شده باشه. و اما چند نکته:
✅فیلدهای oneof نمیتونند repated باشن.
✅توسعه oneof میتونه خیلی پیچیده باشه.
✅در موقع خواندن مسیج oneof، همه فیلدها نال خواهد بود، بجز آخرین فیلدی که موقع ارسال درخواست ست کردید.
✅پس اگر my_string و my_bool ست کنید فقط my_bool داری مقدار خواهد بود و my_string نال خواهد بود.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🤔ایا تابحال میدونستید که👇🤔
😐حداکثر حجم اپلود در یوتوب چقدره 👇
🔺Maximum file size:
128GB
🔺Maximum video length:
12 hours
🔺Accepted YouTube video formats:
.mov, .mpeg, .mp4, .avi, .wmv, .mpegps, .flv, webM, and 3GPP
🎯 @gopher_academy
😐حداکثر حجم اپلود در یوتوب چقدره 👇
🔺Maximum file size:
128GB
🔺Maximum video length:
12 hours
🔺Accepted YouTube video formats:
.mov, .mpeg, .mp4, .avi, .wmv, .mpegps, .flv, webM, and 3GPP
🎯 @gopher_academy
🔴پذیرفته شد. جنریک به گولنگ اضافه میشه🔴
https://github.com/golang/go/issues/43651
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
https://github.com/golang/go/issues/43651
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
GitHub
spec: add generic programming using type parameters · Issue #43651 · golang/go
We propose adding support for type parameters to Go. This will change the Go language to support a form of generic programming. A detailed proposal document has been published, with input from many...
Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
🔴Maps🔴
✅در این تایپ میتونید اطلاعات رو به صورت key/value تعریف کنید (مشابه جیسون). از تمامی تایپها غیر از float/double پشتیابی میکنه، برای مثال:
✅در مثال بالا ما مجموعهای از یوزرها به همراه پروفایلشون داریم، که کلید هر پروفایل یوزرآیدی و مقدارش مسیج دیگهای به عنوان پروفایله. و اما چند نکته:
✅فیلدهای map نمیتونند repated باشن.
✅هیچگونه مرتب سازی روی مپ اتفاق نمیفته، چون مپ key/value هستش.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
✅در این تایپ میتونید اطلاعات رو به صورت key/value تعریف کنید (مشابه جیسون). از تمامی تایپها غیر از float/double پشتیابی میکنه، برای مثال:
✅در مثال بالا ما مجموعهای از یوزرها به همراه پروفایلشون داریم، که کلید هر پروفایل یوزرآیدی و مقدارش مسیج دیگهای به عنوان پروفایله. و اما چند نکته:
✅فیلدهای map نمیتونند repated باشن.
✅هیچگونه مرتب سازی روی مپ اتفاق نمیفته، چون مپ key/value هستش.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
🔴Packages🔴
✅خیلی مهمه برای فایلهای پروتو پیکج تعریف کنید، وقتی کد برای زبان خودتون جنریت کنید این پکیجها کاربرد دارن، همچنین از کانفلیکت بین اسم مسیجها جلوگیری میکنه، پیکجها تو تمام زبانهای پشتیبانی میشن.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
✅خیلی مهمه برای فایلهای پروتو پیکج تعریف کنید، وقتی کد برای زبان خودتون جنریت کنید این پکیجها کاربرد دارن، همچنین از کانفلیکت بین اسم مسیجها جلوگیری میکنه، پیکجها تو تمام زبانهای پشتیبانی میشن.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
🔴Defining Services🔴
✅ خب میخوایم درمورد ویژگی اصلی پروتوبافر حرف بزنیم، در فایل پروتو بجز مسیجها میتونید سرویسها روهم تعریف کنید، سرویس، اندپوینتی هست که کاربر (یا بقیه سرویسها) میتونه بهش دسترسی داشته باشه، برای مثال:
✅در این فایل یک سرویس سرچ تعریف کردیم و گفتیم انتظار داریم یک مسیج سرویس ریکوئست دریافت کنیم و در جواب یک مسیج سرچ ریسپانس برمیگردونیم، سادس درسته؟ در اصل این شیوه ساخت یک API در فایل پروتو هست، در اینجا به یک فریمورک نیاز داریم تا این سرویس رو هندل کنه و کدهاشو جنریت کنه، در پروتو ورژن ۳ از فریمورک gRPC گوگل کمک میگیره، ولی شما میتونید روی اینترنت فریمورکهای دیگم پیدا کنید.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
✅ خب میخوایم درمورد ویژگی اصلی پروتوبافر حرف بزنیم، در فایل پروتو بجز مسیجها میتونید سرویسها روهم تعریف کنید، سرویس، اندپوینتی هست که کاربر (یا بقیه سرویسها) میتونه بهش دسترسی داشته باشه، برای مثال:
✅در این فایل یک سرویس سرچ تعریف کردیم و گفتیم انتظار داریم یک مسیج سرویس ریکوئست دریافت کنیم و در جواب یک مسیج سرچ ریسپانس برمیگردونیم، سادس درسته؟ در اصل این شیوه ساخت یک API در فایل پروتو هست، در اینجا به یک فریمورک نیاز داریم تا این سرویس رو هندل کنه و کدهاشو جنریت کنه، در پروتو ورژن ۳ از فریمورک gRPC گوگل کمک میگیره، ولی شما میتونید روی اینترنت فریمورکهای دیگم پیدا کنید.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴Defining Services🔴 ✅ خب میخوایم درمورد ویژگی اصلی پروتوبافر حرف بزنیم، در فایل پروتو بجز مسیجها میتونید سرویسها روهم تعریف کنید، سرویس، اندپوینتی هست که کاربر (یا بقیه سرویسها) میتونه بهش دسترسی داشته باشه، برای مثال: ✅در این فایل یک سرویس سرچ تعریف کردیم…
فرض کنید شما یک سرور جاوا دارید که یک سرویسی رو ارائه میده، حالا هر کلاینتی با هر زبانی، برای مثال گولنگ، پایتون، جاوا و... میتونه با کمک فایلهای پروتو کدهای کلاینت gRPC جنریت کنه، و کلاینت یک ریکوئست پروتوبافر تولید میکنه برای سرور میفرسته، و سرور در پاسخ یک ریسپانس پروتوبافر ارسال میکنه. پس پروتوبافر اینجا یک شیوه انتقال دیتا توی شبکهاس که تمام زبانهارو ساپورت میکنه که همین نقطه قوتش شده.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯 آموزش کار با Gin Web Framework 🎯
🔸 part 1
🔴 https://vrgl.ir/iPhoQ
🔸 part 2
🔴 https://vrgl.ir/eZW4m
🔸 part 3
🔴 https://vrgl.ir/wXpwI
🔸part 4
🔴 https://vrgl.ir/rcsZs
🔸part 5
🔴 https://vrgl.ir/H72zq
🔸 part 6
🔴 https://vrgl.ir/RWMSW
🔸part 7
🔴 https://vrgl.ir/x0UTP
🔸 part 8
🔴 https://vrgl.ir/pTeDF
🔸part 9
🔴 https://t.me/gopher_academy/430
.
#gin
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔸 part 1
🔴 https://vrgl.ir/iPhoQ
🔸 part 2
🔴 https://vrgl.ir/eZW4m
🔸 part 3
🔴 https://vrgl.ir/wXpwI
🔸part 4
🔴 https://vrgl.ir/rcsZs
🔸part 5
🔴 https://vrgl.ir/H72zq
🔸 part 6
🔴 https://vrgl.ir/RWMSW
🔸part 7
🔴 https://vrgl.ir/x0UTP
🔸 part 8
🔴 https://vrgl.ir/pTeDF
🔸part 9
🔴 https://t.me/gopher_academy/430
.
#gin
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔸استخدام Golang Developer در تجارت بین الملل رابین #تهران
🔹نوع همکاری: تماموقت
🔹سطح: ارشد (Senior)
🔹زمینه کاری شرکت: پرداخت حوزه بین الملل و توریست
🔹حقوق بیش از ۱۲ میلیون تومان
مزایا: 🔹پروژه های تکنولوژی محور 🔹صبحانه و ناهار 🔹محیطی پویا و دوستانه 🔹امکان رشد 🔹حقوق و مزایای خوب
ارسال درخواست از طریق:👇
🔗 https://quera.ir/r/5Ka1bA
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹نوع همکاری: تماموقت
🔹سطح: ارشد (Senior)
🔹زمینه کاری شرکت: پرداخت حوزه بین الملل و توریست
🔹حقوق بیش از ۱۲ میلیون تومان
مزایا: 🔹پروژه های تکنولوژی محور 🔹صبحانه و ناهار 🔹محیطی پویا و دوستانه 🔹امکان رشد 🔹حقوق و مزایای خوب
ارسال درخواست از طریق:👇
🔗 https://quera.ir/r/5Ka1bA
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯OOM Killer: The Linux Assassin🎯
خب چند وقت پیش یه مقالهای توسط آقای JOE CONWAY در بحث PostgreSQL Performance Tuning پابلیش شد که بررسیش خالی از لطف نیست.
این مقاله روی فیچری از کرنل لینوکس به نام OOM (Out-Of-Memory) Killer مخصوصا تو مبحث Kubernetes و تاثیراتش روی سرویس PostgreSQL هنگام دپلویش روی این پلتفرم تمرکز و بحث میکنه.
در درجه اول خوده این فیچر رو مورد بررسی قرار می گیره و سطوحی که این فیچر میتونه تاثیر بزاره روی سرویسهای مختلف و قضیه اینجوریه که PostgreSQL نباید توسط OOM Killer کیل بشه چرا که مشکلاتی به همراه داره (تو مقاله کامل بررسی شده) ...
در نهایت هم روی مبحث Kubernetes QoS صحبت میکنه و تاثیراتی که هر کدوم از این سطوح QoS میتونن روی OOM Killer و عملا PostgreSQL بزارن ...
Links:
✅https://info.crunchydata.com/blog/deep-postgresql-thoughts-the-linux-assassin
◾️https://www.postgresql.org/docs/current/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
خب چند وقت پیش یه مقالهای توسط آقای JOE CONWAY در بحث PostgreSQL Performance Tuning پابلیش شد که بررسیش خالی از لطف نیست.
این مقاله روی فیچری از کرنل لینوکس به نام OOM (Out-Of-Memory) Killer مخصوصا تو مبحث Kubernetes و تاثیراتش روی سرویس PostgreSQL هنگام دپلویش روی این پلتفرم تمرکز و بحث میکنه.
در درجه اول خوده این فیچر رو مورد بررسی قرار می گیره و سطوحی که این فیچر میتونه تاثیر بزاره روی سرویسهای مختلف و قضیه اینجوریه که PostgreSQL نباید توسط OOM Killer کیل بشه چرا که مشکلاتی به همراه داره (تو مقاله کامل بررسی شده) ...
در نهایت هم روی مبحث Kubernetes QoS صحبت میکنه و تاثیراتی که هر کدوم از این سطوح QoS میتونن روی OOM Killer و عملا PostgreSQL بزارن ...
Links:
✅https://info.crunchydata.com/blog/deep-postgresql-thoughts-the-linux-assassin
◾️https://www.postgresql.org/docs/current/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
👆فردا مابقی رو براتون منتشر میکنم ممنونم از حضور گرمتون در کانال
فقط یه معذرت خواهی کنم بابت تاخیر در انتشار مطالب در کانال👆
🎯در ضمن هرکس دوس داشت بهم پیام بده که ادمین کنمش بتونه مطالب بزاره
🙏💙💙🙏
فقط یه معذرت خواهی کنم بابت تاخیر در انتشار مطالب در کانال👆
🎯در ضمن هرکس دوس داشت بهم پیام بده که ادمین کنمش بتونه مطالب بزاره
🙏💙💙🙏
کم کم ابزارها دارن بازنویسی میشن و یا به زبان های دیگه پورت می شن. الانم که Go 1.16 منتشر شد. به مناسبت این انتشار با ابزار FFUF آشنا بشید که با Go نوشته شده و خیلی سریع هست و میشه برای فازینگ Directory، Hosts و متدهای HTTP ازش استفاده کرد.
https://t.co/1L43GUjJsW https://t.co/D5qeShK8WG
🔰 @gopher_academy
https://t.co/1L43GUjJsW https://t.co/D5qeShK8WG
🔰 @gopher_academy
GitHub
ffuf/ffuf
Fast web fuzzer written in Go. Contribute to ffuf/ffuf development by creating an account on GitHub.
Gopher Academy
🔴آموزش proto3 از صفر تا صد🔴 ✅proto? 🔴https://t.me/gopher_academy/627 ✅Defining A Message Type 🔴 https://t.me/gopher_academy/628 ✅Assigning Field Numbers 🔴https://t.me/gopher_academy/629 ✅Adding Comments 🔴 https://t.me/gopher_academy/630 ✅Reserved Fields…
بعد اینکه آموزش proto تموم شد دوس دارید در مورد سناریور استفاده از contextها براتون آموزش بزاریم؟
Final Results
92%
اره
8%
نه
🐧 دوازدهمین دورهی جشنوارهی لینوکس امیرکبیر
#LinuxFestIR
🗓 ۶ تا ۸ اسفندماه ۹۹
📍 به صورت مجازی
🌐 اطلاعات بیشتر و ثبت نام:
LinuxFest.aut.ac.ir
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
#LinuxFestIR
🗓 ۶ تا ۸ اسفندماه ۹۹
📍 به صورت مجازی
🌐 اطلاعات بیشتر و ثبت نام:
LinuxFest.aut.ac.ir
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy