برنامه نویسی در ایران این شکلیه که ابزاری که استفاده میکنی رو یا دولت مردمی فیلتر کرده یا خود اون ابزار ما رو تحریم کرده
#DevTwitter | <I AM HOSSEIN/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
#DevTwitter | <I AM HOSSEIN/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
💊12🍌6👍4🔥1🐳1
✅ قوانین کلی نام گذاری در زبان گو
https://book.gofarsi.ir/chapter-4/go-code-rules/#4201-%d9%82%d9%88%d8%a7%d9%86%db%8c%d9%86-%d9%86%d8%a7%d9%85-%da%af%d8%b0%d8%a7%d8%b1%db%8c
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://book.gofarsi.ir/chapter-4/go-code-rules/#4201-%d9%82%d9%88%d8%a7%d9%86%db%8c%d9%86-%d9%86%d8%a7%d9%85-%da%af%d8%b0%d8%a7%d8%b1%db%8c
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍10❤3🕊3🌭1
✅ دورهمی هفته نهم
- موضوع: CQRS with Go
- تاریخ و ساعت: 5 خرداد ساعت ۹ شب
- اسپانسر: GoBridge
- ارائه دهنده: مهندس مبین شاطریان
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 884 0905 5240
Passcode: 157053
🔗 Join Link: https://us02web.zoom.us/j/88409055240?pwd=QVNwd1Z4Q1duMk5KaU9yUEVkQmJYUT09
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- موضوع: CQRS with Go
- تاریخ و ساعت: 5 خرداد ساعت ۹ شب
- اسپانسر: GoBridge
- ارائه دهنده: مهندس مبین شاطریان
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 884 0905 5240
Passcode: 157053
🔗 Join Link: https://us02web.zoom.us/j/88409055240?pwd=QVNwd1Z4Q1duMk5KaU9yUEVkQmJYUT09
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
❤9👍3🍌1🍓1💊1
اگر دوست دارین #راست یاد بگیرین یا راستتون رو مرور کنین، این دوره خوبیه. دوره سه روزه گوگل برای کارمندانی که قراره به سمت راست برن:
https://google.github.io/comprehensive-rust/
#برنامه_نویسی #معرفی
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://google.github.io/comprehensive-rust/
#برنامه_نویسی #معرفی
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥9👍2
Forwarded from Gopher Academy (Javad)
✅ دورهمی هفته نهم
- موضوع: CQRS with Go
- تاریخ و ساعت: 5 خرداد ساعت ۹ شب
- اسپانسر: GoBridge
- ارائه دهنده: مهندس مبین شاطریان
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 884 0905 5240
Passcode: 157053
🔗 Join Link: https://us02web.zoom.us/j/88409055240?pwd=QVNwd1Z4Q1duMk5KaU9yUEVkQmJYUT09
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- موضوع: CQRS with Go
- تاریخ و ساعت: 5 خرداد ساعت ۹ شب
- اسپانسر: GoBridge
- ارائه دهنده: مهندس مبین شاطریان
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
ایجاد رویداد در تقویم:
- Add to Calendar
- Add to Google Calendar
- Add to Yahoo Calendar
Meeting ID: 884 0905 5240
Passcode: 157053
🔗 Join Link: https://us02web.zoom.us/j/88409055240?pwd=QVNwd1Z4Q1duMk5KaU9yUEVkQmJYUT09
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥3👏1🌭1💊1
کتاب راهنمای زبان Go
آموزش Go برای مبتدی ها از FreeCode Camp
https://www.freecodecamp.org/news/learn-golang-handbook/
#DevTwitter
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
آموزش Go برای مبتدی ها از FreeCode Camp
https://www.freecodecamp.org/news/learn-golang-handbook/
#DevTwitter
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍4
Media is too big
VIEW IN TELEGRAM
دورهمی هفته نهم مهندسین گولنگ
موضوع: CQRS With Go
فایل ها: ویدئو - صوتی
این هفته به موضوع جذاب CQRS پرداختیم و یک مهمان ویژه داشتیم آقای مهندس مبین شاطریان, مبین جان بطور کامل درخصوص چالش ها و usecase های CQRS صحبت کرد و دلیل کافی برای انتخاب CQRS را توضیح داد.
🔗 لینک ویدئو در یوتیوب: https://www.youtube.com/watch?v=xoNewMW3dmQ
🔗 شنیدن پادکست در اسپاتیفای: https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 شنیدن پادکست در گوگل پادکست: https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 شنیدن پادکست در کست باکس: https://castbox.fm/va/5381928
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
موضوع: CQRS With Go
فایل ها: ویدئو - صوتی
این هفته به موضوع جذاب CQRS پرداختیم و یک مهمان ویژه داشتیم آقای مهندس مبین شاطریان, مبین جان بطور کامل درخصوص چالش ها و usecase های CQRS صحبت کرد و دلیل کافی برای انتخاب CQRS را توضیح داد.
🔗 لینک ویدئو در یوتیوب: https://www.youtube.com/watch?v=xoNewMW3dmQ
🔗 شنیدن پادکست در اسپاتیفای: https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 شنیدن پادکست در گوگل پادکست: https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 شنیدن پادکست در کست باکس: https://castbox.fm/va/5381928
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
❤3👍2🍌1
Audio
❤5🔥1🍾1
حرفههای شنیدنی مدیرعامل Nvidia در مورد AI گفته که چندتاشو براتون مینویسم
1. ما در آغاز یک دوره فناوری بزرگ هستیم: "مانند رایانه شخصی، اینترنت، موبایل و ابر، اما هوشمصنوعی بسیار اساسیتر است."
2. هوش مصنوعی مشاغل جدیدی ایجاد می کند که قبلاً وجود نداشتند: "مانند prompt engineering، AI Factory ops و AI safety engineers."
3. هوش مصنوعی هر شغلی را تغییر میدهد: «افزایش عملکرد برنامهنویسان، طراحان، هنرمندان، بازاریابان و برنامهریزان تولید»
4. باید یاد بگیرید که از هوشمصنوعی استفاده کنید: "در حالی که برخی نگران هستند که هوش مصنوعی شغل آنها را بگیرد، کسی که در زمینه هوش مصنوعی مهارت دارد این کار را انجام خواهد داد."
5. بهطور کلی هوش مصنوعی فرصتهای چند تریلیون دلاری ایجاد کرده است: "زمانی که من از دانشگاه فارغ التحصیل شدم، دنیا سادهتر بود."
نسخه کامل ویدئوی سخنرانی:
https://youtu.be/_sftvrqIfIU
#DevTwitter | <Soroush Ahmadi/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
1. ما در آغاز یک دوره فناوری بزرگ هستیم: "مانند رایانه شخصی، اینترنت، موبایل و ابر، اما هوشمصنوعی بسیار اساسیتر است."
2. هوش مصنوعی مشاغل جدیدی ایجاد می کند که قبلاً وجود نداشتند: "مانند prompt engineering، AI Factory ops و AI safety engineers."
3. هوش مصنوعی هر شغلی را تغییر میدهد: «افزایش عملکرد برنامهنویسان، طراحان، هنرمندان، بازاریابان و برنامهریزان تولید»
4. باید یاد بگیرید که از هوشمصنوعی استفاده کنید: "در حالی که برخی نگران هستند که هوش مصنوعی شغل آنها را بگیرد، کسی که در زمینه هوش مصنوعی مهارت دارد این کار را انجام خواهد داد."
5. بهطور کلی هوش مصنوعی فرصتهای چند تریلیون دلاری ایجاد کرده است: "زمانی که من از دانشگاه فارغ التحصیل شدم، دنیا سادهتر بود."
نسخه کامل ویدئوی سخنرانی:
https://youtu.be/_sftvrqIfIU
#DevTwitter | <Soroush Ahmadi/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👏11👍7❤1👎1🙏1
ما زمان بیشتری را صرف خواندن و درک کد می کنیم تا نوشتن آن. بنابراین، مقدار بار شناختی که برای درک کد باید در مغز خود ایجاد کنیم، بسیار مهم است. این نوشته سعی داره تا یه سری نکات در همین راستا بگه
https://github.com/zakirullin/cognitive-load
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://github.com/zakirullin/cognitive-load
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👏7👍3❤1💯1
🔵Function params involve heavy amount of copying
🟢When a param big in size (more than 80 bytes) is passed to another function, it is better to pass a pointer to the value around, rather than the value itself.
#Performance
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🟢When a param big in size (more than 80 bytes) is passed to another function, it is better to pass a pointer to the value around, rather than the value itself.
#Performance
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍9❤1🔥1
🔵Multiple append can be combined into a single call
🟢Multiple calls for append could be combined into a single call for append.
The append built-in function appends elements to the end of a slice. If it has sufficient capacity, the destination is resliced to accommodate the new elements, but if capacity is not enough, then append will allocate a new underlying array and return the updated slice. Therefore, it is necessary to store the result of append, often in the variable holding the slice itself. Appending calls in a single call of append allocates memory just once to accommodate all the elements to be appended. Whereas multiple calls to append introduce many overheads, most notably being the possibility of more calls for memory allocation because the total number of elements to be appended over multiple calls of append is unknown beforehand, resulting in inaccurate preallocation.
🔴 https://go.dev/blog/slices#TOC_9.
#Performance
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🟢Multiple calls for append could be combined into a single call for append.
The append built-in function appends elements to the end of a slice. If it has sufficient capacity, the destination is resliced to accommodate the new elements, but if capacity is not enough, then append will allocate a new underlying array and return the updated slice. Therefore, it is necessary to store the result of append, often in the variable holding the slice itself. Appending calls in a single call of append allocates memory just once to accommodate all the elements to be appended. Whereas multiple calls to append introduce many overheads, most notably being the possibility of more calls for memory allocation because the total number of elements to be appended over multiple calls of append is unknown beforehand, resulting in inaccurate preallocation.
🔴 https://go.dev/blog/slices#TOC_9.
#Performance
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍9❤1🔥1
با pgTAP میتونید برای کدهای SQL ای تون unit test بنویسید. در واقع یه framework عه برای تست که به زبان PL/PGSQL نوشته شده و از تمامی قابلیتهای Test anything Protocol برای تست استفاده میکنه.
https://pgtap.org
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://pgtap.org
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍10
✅ طراحی و توسعه کتابخانه های Modular در زبان گو با استفاده از Plugin
در میان ویژگیهای قابل توجه Go نسخه 1.8، سیستم جدید پلاگینهای Go قرار دارد. این ویژگی به برنامهنویسان اجازه میدهد تا برنامههای ماژولار بدون ارتباط زنجیرهای با هم، با استفاده از بستههایی که به صورت کتابخانههای اشیا شیءگرا کامپایل شدهاند، ساخته شوند و بهصورت پویا در زمان اجرا بارگذاری و بهصورت پیوسته به آنها پیوند داده شوند.
این تغییر بزرگی است! چرا که توسعهدهندگان نرمافزارهای سیستمی بزرگ در Go، بدون شک، نیاز به ماژولارسازی کد خود دارند. ما برای دستیابی به ماژولارسازی کد، از طراحیهای متعدد out-of-process، مانند OS exec calls، سوکت و RPC/gRPC (و غیره) استفاده کردهایم. این روشها ممکن است به خوبی کار کنند، اما در بسیاری از زمینهها بهعنوان پایانهای برای پردازش با قبل نبود یک سیستم پلاگینای ناتیو در Go بکار رفتهاند.
در این بخش از کتاب، من بررسی میکنم که ایجاد نرمافزار ماژولار با استفاده از سیستم پلاگینهای Go (plugin) چه تبعاتی دارد.
https://book.gofarsi.ir/chapter-4/go-plugin/
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
در میان ویژگیهای قابل توجه Go نسخه 1.8، سیستم جدید پلاگینهای Go قرار دارد. این ویژگی به برنامهنویسان اجازه میدهد تا برنامههای ماژولار بدون ارتباط زنجیرهای با هم، با استفاده از بستههایی که به صورت کتابخانههای اشیا شیءگرا کامپایل شدهاند، ساخته شوند و بهصورت پویا در زمان اجرا بارگذاری و بهصورت پیوسته به آنها پیوند داده شوند.
این تغییر بزرگی است! چرا که توسعهدهندگان نرمافزارهای سیستمی بزرگ در Go، بدون شک، نیاز به ماژولارسازی کد خود دارند. ما برای دستیابی به ماژولارسازی کد، از طراحیهای متعدد out-of-process، مانند OS exec calls، سوکت و RPC/gRPC (و غیره) استفاده کردهایم. این روشها ممکن است به خوبی کار کنند، اما در بسیاری از زمینهها بهعنوان پایانهای برای پردازش با قبل نبود یک سیستم پلاگینای ناتیو در Go بکار رفتهاند.
در این بخش از کتاب، من بررسی میکنم که ایجاد نرمافزار ماژولار با استفاده از سیستم پلاگینهای Go (plugin) چه تبعاتی دارد.
https://book.gofarsi.ir/chapter-4/go-plugin/
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥7🤔5❤2
✅ دورهمی هفته دهم
- موضوع: Memory Management
- تاریخ و ساعت: ۱۲ خرداد ساعت ۹ شب
- اسپانسر: GoBridge
- مهمان ویژه: آقای امید حکایتی
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
Meeting ID: 885 9293 2652
Passcode: 625503
🔗 Join Link: https://us02web.zoom.us/j/88592932652?pwd=QitZWkw5UmF4Z0RvU3M2OXhpZ2RDQT09
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- موضوع: Memory Management
- تاریخ و ساعت: ۱۲ خرداد ساعت ۹ شب
- اسپانسر: GoBridge
- مهمان ویژه: آقای امید حکایتی
- محل برگزاری: پلت فرم zoom (دانلود برای همه پلت فرم ها)
Meeting ID: 885 9293 2652
Passcode: 625503
🔗 Join Link: https://us02web.zoom.us/j/88592932652?pwd=QitZWkw5UmF4Z0RvU3M2OXhpZ2RDQT09
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥8👍5👎3❤1