گفتگوی شنیدنی با مهندس مصطفی صولتی
مهندس نرم افزار و CTO در اسنپکیچن!
فایل صوتی گفتگو در سایت GoCasts منشتر شد🚀
امیدوارم که مفید باشه و باز هم مثل همیشه ممنون از همراهی تون 🌹
در این جلسه در مورد مسائل مختلف مهندسی نرمافزار و همچنین چالشهایی که بچهها در مصاحبهها باهاش مواجه هستن صحبت کردیم
https://gocasts.ir/talk-with-mostafa-solati?utm_source=telegram&utm_medium=message&utm_campaign=talk-with-solati
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
مهندس نرم افزار و CTO در اسنپکیچن!
فایل صوتی گفتگو در سایت GoCasts منشتر شد🚀
امیدوارم که مفید باشه و باز هم مثل همیشه ممنون از همراهی تون 🌹
در این جلسه در مورد مسائل مختلف مهندسی نرمافزار و همچنین چالشهایی که بچهها در مصاحبهها باهاش مواجه هستن صحبت کردیم
https://gocasts.ir/talk-with-mostafa-solati?utm_source=telegram&utm_medium=message&utm_campaign=talk-with-solati
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍3🔥2
Forwarded from Geniuses Group (Omid Hekayati)
کامپایلر رسمی زبان برنامه نویسی Go به دسترسی فیلد ها و متدهای یک ساختار توسط دیگر پکیچ ها ایراد میگیره ولی درون یک پکیچ این قاعده رعایت نمیشه. موافق هستید لینتر یا کامپایلر این موضوع را بررسی کنه و اخطار بده؟ (جزییات در کامنت)
Anonymous Poll
25%
موافق نیستم به صورت قاعده در بیاد
45%
موافق هستم صرفا لینتر ایراد بگیره
30%
موافق هستم کامپایلر ایراد بگیره
👍1
🎊 Go 1.19.1 and 1.18.6 are released!
🔐 Security: Includes security fixes for net/http (CVE-2022-27664) and net/url (CVE-2022-32190).
🗣 Announcement: https://groups.google.com/g/golang-announce/c/x49AQzIVX-s
⬇️ Download: https://go.dev/dl/#go1.19.1
#golang
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔐 Security: Includes security fixes for net/http (CVE-2022-27664) and net/url (CVE-2022-32190).
🗣 Announcement: https://groups.google.com/g/golang-announce/c/x49AQzIVX-s
⬇️ Download: https://go.dev/dl/#go1.19.1
#golang
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
go.dev
All releases - The Go Programming Language
👍2
Vulnerability Management for Go
We are excited to announce Go’s new support for vulnerability management, our first step towards helping Go developers learn about known vulnerabilities that may affect them.
This post provides an overview of what’s available today and next steps for this project.
https://go.dev/blog/vuln
دوستان لطفاً این مقاله جدید را مطالعه کنید و نکات مفیدی و قابل اهمیتی بدست آوردید داخل گروه به اشتراک بزارید.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
We are excited to announce Go’s new support for vulnerability management, our first step towards helping Go developers learn about known vulnerabilities that may affect them.
This post provides an overview of what’s available today and next steps for this project.
https://go.dev/blog/vuln
دوستان لطفاً این مقاله جدید را مطالعه کنید و نکات مفیدی و قابل اهمیتی بدست آوردید داخل گروه به اشتراک بزارید.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
go.dev
Vulnerability Management for Go - The Go Programming Language
Announcing vulnerability management for Go, to help developers learn about known vulnerabilities in their dependencies.
👍1
🔸استخدام برنامهنویس Golang (دورکاری) در شرکت Kick Back
🔹حقوق ۲۰,۰۰۰,۰۰۰ تا ۲۵,۰۰۰,۰۰۰ 🔹تماموقت 🔹ارشد (Senior) 🔹امکان دورکاری
🔗 https://quera.org/r/UUirU9
#job
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹حقوق ۲۰,۰۰۰,۰۰۰ تا ۲۵,۰۰۰,۰۰۰ 🔹تماموقت 🔹ارشد (Senior) 🔹امکان دورکاری
🔗 https://quera.org/r/UUirU9
#job
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍1
🔴 مدیریت حافظه در golang
😉به زودی با توضیحات
🟢Go internal memory structure
🟢Page Heap(mheap)
🔻mspan
🔻mcentral
🔻empty
🔻non-empty
🔻arena
🔻mcache
🟢Stack
🟢Go memory usage (Stack vs Heap)
🟢how the stack and heap memory is used
🔻visualize
🔻 Description
🟢Go Memory management
🟢Memory Allocation
🔻Tiny(size < 16B)
🔻Small(size 16B ~ 32KB)
🔻Large(size > 32KB)
🟢Garbage collection
🔻visualize
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
😉به زودی با توضیحات
🟢Go internal memory structure
🟢Page Heap(mheap)
🔻mspan
🔻mcentral
🔻empty
🔻non-empty
🔻arena
🔻mcache
🟢Stack
🟢Go memory usage (Stack vs Heap)
🟢how the stack and heap memory is used
🔻visualize
🔻 Description
🟢Go Memory management
🟢Memory Allocation
🔻Tiny(size < 16B)
🔻Small(size 16B ~ 32KB)
🔻Large(size > 32KB)
🟢Garbage collection
🔻visualize
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍10👏2❤1
🔸استخدام تحلیلگر و برنامهنویس GoLang در شرکت هوشمند سازان هستی #تهران
🔹حقوق ۱۲,۰۰۰,۰۰۰ تا ۱۶,۰۰۰,۰۰۰ 🔹تماموقت 🔹ارشد (Senior)
🔗 https://quera.org/r/0frS4K
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹حقوق ۱۲,۰۰۰,۰۰۰ تا ۱۶,۰۰۰,۰۰۰ 🔹تماموقت 🔹ارشد (Senior)
🔗 https://quera.org/r/0frS4K
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍2
با کمک این ابزار انلاین json های پیچیده و تودرتو رو راحت به صورت گراف ببینید و با سرچ دنبال node های مشخصی که دنبالش هستین بگردین.
#json #viewer #view #editor #visualize #graph #visio
https://jsonvisio.com/editor
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
#json #viewer #view #editor #visualize #graph #visio
https://jsonvisio.com/editor
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍8
ایونت چطور یک برنامه بنویسیم با ناصر میرزایی:
نوشتن یک وب سرویس به روش ساده با گولنگ
ایونت در تاریخ جمعه ۱۸ شهریور ماه ساعت ۱۰:۳۰ شب در کانال گوفرآکادمی ( گوفرآکادمی هیچ شعبه دیگری ندارد)
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
نوشتن یک وب سرویس به روش ساده با گولنگ
ایونت در تاریخ جمعه ۱۸ شهریور ماه ساعت ۱۰:۳۰ شب در کانال گوفرآکادمی ( گوفرآکادمی هیچ شعبه دیگری ندارد)
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍7❤4🔥4🎉2
لیستی از سوالات مصاحبهطور برای طراحی سیستمهای نرمافزاری که برای scale و حالتهای دیگه میشه ازشون الگو گرفت
#interview #system #design #crack #practice #example #practical #scale #scalibility
https://tianpan.co/notes/2016-02-13-crack-the-system-design-interview
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
#interview #system #design #crack #practice #example #practical #scale #scalibility
https://tianpan.co/notes/2016-02-13-crack-the-system-design-interview
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍6
🤔2
Media is too big
VIEW IN TELEGRAM
❤7🔥2👍1👏1
سورسکدهای مرتبط با کتاب معروف ۱۰۰ اشتباه برنامهنویسی با زبان Go
#go #golang #mistake #book #list #mistakes #gotcha
https://github.com/teivah/100-go-mistakes
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
#go #golang #mistake #book #list #mistakes #gotcha
https://github.com/teivah/100-go-mistakes
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
GitHub
GitHub - teivah/100-go-mistakes: 📖 100 Go Mistakes and How to Avoid Them
📖 100 Go Mistakes and How to Avoid Them. Contribute to teivah/100-go-mistakes development by creating an account on GitHub.
👍11
📥 دریافت شده از:
Ali Nazari
-------------
یک نمونه واقعی از قانون ۸۰/۲۰ توی صنعت نرمافزار
- توی سال ۲۰۰۲ مایکروسافت اعلام کرد که با برطرف کردن ۲۰٪ از باگهایی که بیشتر از همه گزارش شدن، میتونستن ۸۰٪ مشکلات و باگهای مربوط به ویندوز و آفیس رو برطرف کنن
- بطور کلی این قانون میگه معمولاً چشمگیرترین (تقریباً ۸۰٪) خروجیها، از ۲۰٪ تلاشها ناشی میش. توی دنیای نرمافزار هم معمولاً چنین نتیجهگیریهایی وجود داره:
• ۸۰٪ یک نرم افزار با صرف ۲۰٪ زمان نوشته میشه. همچنین ۲۰٪ از سختترین قسمتهای یک برنامه میتونه ۸۰٪ زمان رو به خودش اختصاص بده
• ۸۰٪ پیشرفت توسعهٔ یک برنامه مربوط به ۲۰٪ تلاش هست
• ۸۰٪ درآمد یک برنامه مربوط به ۲۰٪ از فیچرهای اون برنامه هست
• ۸۰٪ از خرابیها (یا Crash های) یک برنامه مربوط به ۲۰٪ باگها هست
• ۸۰٪ استفاده از یک برنامه مربوط به ۲۰٪ از فیچرهای اون برنامه هست
منبع ۱: https://lnkd.in/esnhcrNU
منبع ۲: https://lnkd.in/evZyNNsq
#tips #softwareengineer #softwaredevelopment #microsoft #backend #frontend
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Ali Nazari
-------------
یک نمونه واقعی از قانون ۸۰/۲۰ توی صنعت نرمافزار
- توی سال ۲۰۰۲ مایکروسافت اعلام کرد که با برطرف کردن ۲۰٪ از باگهایی که بیشتر از همه گزارش شدن، میتونستن ۸۰٪ مشکلات و باگهای مربوط به ویندوز و آفیس رو برطرف کنن
- بطور کلی این قانون میگه معمولاً چشمگیرترین (تقریباً ۸۰٪) خروجیها، از ۲۰٪ تلاشها ناشی میش. توی دنیای نرمافزار هم معمولاً چنین نتیجهگیریهایی وجود داره:
• ۸۰٪ یک نرم افزار با صرف ۲۰٪ زمان نوشته میشه. همچنین ۲۰٪ از سختترین قسمتهای یک برنامه میتونه ۸۰٪ زمان رو به خودش اختصاص بده
• ۸۰٪ پیشرفت توسعهٔ یک برنامه مربوط به ۲۰٪ تلاش هست
• ۸۰٪ درآمد یک برنامه مربوط به ۲۰٪ از فیچرهای اون برنامه هست
• ۸۰٪ از خرابیها (یا Crash های) یک برنامه مربوط به ۲۰٪ باگها هست
• ۸۰٪ استفاده از یک برنامه مربوط به ۲۰٪ از فیچرهای اون برنامه هست
منبع ۱: https://lnkd.in/esnhcrNU
منبع ۲: https://lnkd.in/evZyNNsq
#tips #softwareengineer #softwaredevelopment #microsoft #backend #frontend
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍7
📥 دریافت شده از:
Amin Qurjili
-------------
یکی از اصطلاحاتی که موقع سر و کله زدن با کانتینرها زیاد میشویم عبارت Container Runtime ها هستن که برای افراد مختلف، معنی های مختلفی دارن. میری در مورد یه کانتینر Runtime میخونی میبینی توش یه چیز دیگه وجود داره با نام کانتینر Runtime بهش اشاره میشه. اگه اون اولی کانتینر Runtime هست پس این دومی چیه و یا بالعکس. امروز میخوایم با هم یه مقدار این اصطلاح مبهم رو بررسی و شفاف کنیم.
با سلام خدمت همه دوستان عزیز و همراهان همیشگی
به صورت پیشفرض برای یه برنامه نویس، Runtime میتونه به معنی فاز زمانی اجرای یک نرم افزار Program Runtime یا Implementation ی که امکان اجرای نرم افزار رو فراهم میکنه باشه مثل JRE یا .Net Runtime
اما وظیفه Container Runtime در واقع اجرای تمام مراحل مورد نیاز برای اجرای یک کانتینر هست و هیچ کاری با اجرای خود نرم افزار درون کانتینر نداره.
اما چی شد که Container Runtime معانی مختلفی پیدا کرد؟
داکر سال 2013 با معرفی نرم افزار و پلتفورم خودش خیلی از مشکلاتی رو که برنامه نویسی برای اجرای کانتینر ها و مدیریت چرخه عمر کانتینر ها داشتن رو حل کرد که شامل ویژگی های زیر بود:
✔️فرمت Image مناسب کارنتینر
✔️روش و ابزاری برای ساخت Image ها (Dockerfile, Docker Build)
✔️ابزار و روش مدیریت Image ها (Docker Images, Docker rm, ..)
✔️روش و ابزار مدیریت کانتینرها (Docker ps, Docker rm, …)
✔️روش و ابزار اشتراک گذاری کانتینرها (Docker push, Docker pull)
✔️روش و ابزار مناسب برای اجرای کانتینرها (Docker Run)
سال 2013 داکر یک نرم افزار مونولیث بود ولی در واقع هیچ بخشی وابسته به بخش دیگه ای نبود و محدودیت برای شکستن این نرم افزار مونولیث به تیکه های کوچیک تر وجود نداشت. به همین دلیل توی سال 2015 داکر با همراهی گوگل و Core OS سازمان OCI رو پایه گذاری کرد و یه تیکه از نرم افزارشو به نام runc به صورت یک لایبرری به عنوان مرجع پیاده سازی Container Runtime به OCI اهدا کرد.
اوایل چیزی که داکر به OCI اهدا کرد یه مقدار گیج کننده بود چرا که فقط و فقط یک لایبرری و مرجعی برای اجرای یک کانتینر بود نه چیز دیگه ای در صورتی که برای اجرای کانتینر، شما به یک فرمت استاندارد و ابزاری برای دریافت Image هم نیاز دارین و در واقع زمانی که شما با داکر یه کانتینر رو اجرا میکنید قدم هایی که برداشته میشه شامل دانلود Image، باز کردن یا همون Unpacking Image و تبدیل اون به یک باندل و اجرای کانتینر از اون باندل رو شامل میشه.
چیزی که داکر استاندارد سازی کرده بود فقط مرحله سوم یعنی اجرای کانتینر با استفاده از باندل Unpack شده بود.
.....
برای مطالعه ادامه مطلب به خاطر طولانی شدن لطفا وارد این لینک بشید.
https://lnkd.in/evxjDzmW
امیدوارم براتون مفید واقع بشه.
#containers #containerd #docker #runc #containerruntime
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Amin Qurjili
-------------
یکی از اصطلاحاتی که موقع سر و کله زدن با کانتینرها زیاد میشویم عبارت Container Runtime ها هستن که برای افراد مختلف، معنی های مختلفی دارن. میری در مورد یه کانتینر Runtime میخونی میبینی توش یه چیز دیگه وجود داره با نام کانتینر Runtime بهش اشاره میشه. اگه اون اولی کانتینر Runtime هست پس این دومی چیه و یا بالعکس. امروز میخوایم با هم یه مقدار این اصطلاح مبهم رو بررسی و شفاف کنیم.
با سلام خدمت همه دوستان عزیز و همراهان همیشگی
به صورت پیشفرض برای یه برنامه نویس، Runtime میتونه به معنی فاز زمانی اجرای یک نرم افزار Program Runtime یا Implementation ی که امکان اجرای نرم افزار رو فراهم میکنه باشه مثل JRE یا .Net Runtime
اما وظیفه Container Runtime در واقع اجرای تمام مراحل مورد نیاز برای اجرای یک کانتینر هست و هیچ کاری با اجرای خود نرم افزار درون کانتینر نداره.
اما چی شد که Container Runtime معانی مختلفی پیدا کرد؟
داکر سال 2013 با معرفی نرم افزار و پلتفورم خودش خیلی از مشکلاتی رو که برنامه نویسی برای اجرای کانتینر ها و مدیریت چرخه عمر کانتینر ها داشتن رو حل کرد که شامل ویژگی های زیر بود:
✔️فرمت Image مناسب کارنتینر
✔️روش و ابزاری برای ساخت Image ها (Dockerfile, Docker Build)
✔️ابزار و روش مدیریت Image ها (Docker Images, Docker rm, ..)
✔️روش و ابزار مدیریت کانتینرها (Docker ps, Docker rm, …)
✔️روش و ابزار اشتراک گذاری کانتینرها (Docker push, Docker pull)
✔️روش و ابزار مناسب برای اجرای کانتینرها (Docker Run)
سال 2013 داکر یک نرم افزار مونولیث بود ولی در واقع هیچ بخشی وابسته به بخش دیگه ای نبود و محدودیت برای شکستن این نرم افزار مونولیث به تیکه های کوچیک تر وجود نداشت. به همین دلیل توی سال 2015 داکر با همراهی گوگل و Core OS سازمان OCI رو پایه گذاری کرد و یه تیکه از نرم افزارشو به نام runc به صورت یک لایبرری به عنوان مرجع پیاده سازی Container Runtime به OCI اهدا کرد.
اوایل چیزی که داکر به OCI اهدا کرد یه مقدار گیج کننده بود چرا که فقط و فقط یک لایبرری و مرجعی برای اجرای یک کانتینر بود نه چیز دیگه ای در صورتی که برای اجرای کانتینر، شما به یک فرمت استاندارد و ابزاری برای دریافت Image هم نیاز دارین و در واقع زمانی که شما با داکر یه کانتینر رو اجرا میکنید قدم هایی که برداشته میشه شامل دانلود Image، باز کردن یا همون Unpacking Image و تبدیل اون به یک باندل و اجرای کانتینر از اون باندل رو شامل میشه.
چیزی که داکر استاندارد سازی کرده بود فقط مرحله سوم یعنی اجرای کانتینر با استفاده از باندل Unpack شده بود.
.....
برای مطالعه ادامه مطلب به خاطر طولانی شدن لطفا وارد این لینک بشید.
https://lnkd.in/evxjDzmW
امیدوارم براتون مفید واقع بشه.
#containers #containerd #docker #runc #containerruntime
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
qurjili.ir
کارنتینر runtime سطح بالا و پایین چیست؟ و چرا اینقدر این موضوع تو در تو هست؟ | امین قورجیلی
سایت امین قورجیلی
👍7
📥 دریافت شده از:
Kaaveh Mohamedi
-------------
اخیرا با پروژهای روی گیتهاب آشنا شدم ک سوالات خوبی رو گردآوری کرده ک یه کارجو میتونه توی مصاحبه بپرسه.
جای ترجمه فارسیش خالی بود ک انجامش دادم و توی ریپو اش مرج شد.
آدرسش:
https://lnkd.in/edTfBbVz
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Kaaveh Mohamedi
-------------
اخیرا با پروژهای روی گیتهاب آشنا شدم ک سوالات خوبی رو گردآوری کرده ک یه کارجو میتونه توی مصاحبه بپرسه.
جای ترجمه فارسیش خالی بود ک انجامش دادم و توی ریپو اش مرج شد.
آدرسش:
https://lnkd.in/edTfBbVz
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
GitHub
GitHub - viraptor/reverse-interview: Questions to ask the company during your interview
Questions to ask the company during your interview - GitHub - viraptor/reverse-interview: Questions to ask the company during your interview
👍7