Mahmoud
#نشست هشتم اجرای کاتای Glided Rose در گولنگ توسط کاوه شهبازیان این کاتا تمرینی است برای چگونگی کار کردن با کدهای Legacy. در خلال انجام این کاتا تکنیک Golden Master معرفی میشود و همچنین تکنیک دیگری برای Refactoring شاخههای پیچیدهی شرطی. https://youtu.be/STbBiWBaVv4
👆👆👆👆👆👆
🎯پیرو نشست هشتم🎯
🔺منابع و راهنماییهای بیشتر:🔺
🔰کاتای Gilded Rose برای زبانهای مختلف در این ریپو قرار دارد
https://github.com/emilybache/GildedRose-Refactoring-Kata
🔰وبسایتهایی که شامل کاتاهای مختلف هستند
https://codingdojo.org/kata/
https://kata-log.rocks/index.html
https://t.co/3BvZLG2vzX?amp=1
🔰کاتاهای دیگر
https://github.com/emilybache/Parrot-Refactoring-Kata
.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯پیرو نشست هشتم🎯
🔺منابع و راهنماییهای بیشتر:🔺
🔰کاتای Gilded Rose برای زبانهای مختلف در این ریپو قرار دارد
https://github.com/emilybache/GildedRose-Refactoring-Kata
🔰وبسایتهایی که شامل کاتاهای مختلف هستند
https://codingdojo.org/kata/
https://kata-log.rocks/index.html
https://t.co/3BvZLG2vzX?amp=1
🔰کاتاهای دیگر
https://github.com/emilybache/Parrot-Refactoring-Kata
.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🍁یه سری کویز در مورد deferها🍁
👇🏻👇🏻👇🏻👇🏻
quiz1: https://t.me/gopher_academy/151
quiz2: https://t.me/gopher_academy/152
quiz3: https://t.me/gopher_academy/153
quiz4: https://t.me/gopher_academy/157
.
----------------------------------------
#quiz
🔰 @gopher_academy
👇🏻👇🏻👇🏻👇🏻
quiz1: https://t.me/gopher_academy/151
quiz2: https://t.me/gopher_academy/152
quiz3: https://t.me/gopher_academy/153
quiz4: https://t.me/gopher_academy/157
.
----------------------------------------
#quiz
🔰 @gopher_academy
🍁یه سری کویز جامع در مورد گو🍁
👇🏻👇🏻👇🏻👇🏻
https://t.me/gopher_academy/172
https://t.me/gopher_academy/176
https://t.me/gopher_academy/182
https://t.me/gopher_academy/188
https://t.me/gopher_academy/189
https://t.me/gopher_academy/190
https://t.me/gopher_academy/191
https://t.me/gopher_academy/192
https://t.me/gopher_academy/209
https://t.me/gopher_academy/232
https://t.me/gopher_academy/238
https://t.me/gopher_academy/239
https://t.me/gopher_academy/250
https://t.me/gopher_academy/251
https://t.me/gopher_academy/252
https://t.me/gopher_academy/253
.
----------------------------------------
#quiz
🔰 @gopher_academy
👇🏻👇🏻👇🏻👇🏻
https://t.me/gopher_academy/172
https://t.me/gopher_academy/176
https://t.me/gopher_academy/182
https://t.me/gopher_academy/188
https://t.me/gopher_academy/189
https://t.me/gopher_academy/190
https://t.me/gopher_academy/191
https://t.me/gopher_academy/192
https://t.me/gopher_academy/209
https://t.me/gopher_academy/232
https://t.me/gopher_academy/238
https://t.me/gopher_academy/239
https://t.me/gopher_academy/250
https://t.me/gopher_academy/251
https://t.me/gopher_academy/252
https://t.me/gopher_academy/253
.
----------------------------------------
#quiz
🔰 @gopher_academy
🔴زبان برنامهنویسی Go (یا Golang) 🔴
🔷یک زبان برنامهنویسی متنباز (Open Source) است که ساخت نرمافزار را ساده، قابلاعتماد و بهینه میکند.
🔷درواقع Golang زبانی است که توسط شرکت Google طراحی شدهاست و در حال حاضر، در سامانههای متفاوت اجرایی گوگل به کار گرفته شدهاست.
🔷زبان برنامهنویسی Go از لحاظ syntax مشابه زبان برنامهنویسی C است، اما تفاوت اصلی جایی رقم میخورد که Golang در مقایسه با C از مزایای امنیت حافظه، زبالهروبی (Garbage collection) حافظه، تایپ ساختاریافته (Structural typing)، برنامهنویسی همزمان (Concurrent programming) و غیره بهره میبرد.
🔷مزیت زبالهروبی Golang مدیریت حافظه را به صورت خودکار انجام میدهد و همچنین، اجازه میدهد که اجرای برخی توابع به تعویق بیفتد.
🔷علاوهبراین، ویژگی برنامهنویسی همزمان Golang که از طریق Goroutineها و Channelها اتفاق میافتد، اجازه اجرای چند فرایند را بهطور همزمان به شما خواهد داد. این مزیت آنجا اهمیت خود را نشان میدهد که با توجه به روند افزایش هزینههای ارتقاء سختافزاری، نیاز به بهینه بودن عملیات اجرای کدها احساس میشود.
🔷درواقع Golang بر خلاف زبانهای برنامهنویسی قدیمی مانند جاوا و پایتون، میتواند چندین میلیون goroutine را بهصورت همزمان اجرا کند. این رویههای Go مزایایی دارند که در مقایسه با زبانهای برنامهنویسی C++، C و جاوا همزمانیها را بسیار بهتر مدیریت کنند.
🔷 این مزایا عبارتند از:
🔸- قطعهبندی پشتهها
🔸- سرعت بالای آغاز اجرای برنامه
🔸- ارتباط امن میان رویهها
🔷زبان برنامهنویسی Go در توسعه و اجرای اپلیکیشنهای مختلف در سیستمعاملهای متفاوت، دستگاههای موبایل، وباپلیکیشنها و حتی برنامهنویسی فرانتاند (از طریق ماژول gccgo) کاربرد دارد. در واقع، Golang از طریق بهکارگیری مترجم GopherJS، کدهای Go را به جاوا اسکریپت جهت استفاده در برنامهنویسی فرانتاند تبدیل میکند.
🔷بهطور خلاصه، طراحان گوگل این زبان را توسعه دادند تا علاوه بر استفاده از قدرت سایر زبانهای برنامهنویسی، با استفاده از ویژگیهای زیر نیازمندیهای خود را نیز برطرف کنند:
🔸- تایپ ایستا (Static typing) و کارایی زمان اجرا (مانند ++C)
🔸- خوانا بودن و کاربردپذیری (مانند پایتون و جاوا اسکریپت)
🔸- شبکهسازی با کارایی بالا و چندفرایندی (Multiprocessing)
🔷کسبوکارهای زیادی برای توسعه اپلیکیشنهای خود از زبان برنامهنویسی Go بهره بردهاند که برای مثال میتوان به Google، Sound cloud، Uber، Netflix، Dropbox و غیره اشاره کرد. علاوهبراین، برخی از اپلیکیشنهای متنبازی که با زبان Go نوشته شدهاند عبارتند از: Docker، Kubernetes، Ethereum و غیره.
🔷زبان برنامه نویسی Go زبانی میباشد که توسط گوگل عرضه گردیده است. برای اینکه این زبان قابل توسعه باشد، قابلیت open source بودن را به آن اضافه کردهاند. با استفاده از زبان golang میتوانید به عنوان برنامهنویس هر نوع نرمافزاری را پیاده سازی نمایید.
🔷یادگیری زبان گو بسیار آسان و روان است. سادگی و سهولت استفاده از زبان برنامهنویسی گولنگ سبب شده است که در زمان کوتاهی محبوبیت زیادی در بین توسعهدهندگان پیدا کند.
🔷زبان برنامهنویسی Golang به شما این قابلیت را اعطا میکند که ارتباط و دسترسی بیشتر به سخت افزار داشته باشد و سرعت بسیار بالایی در زمینهی نوشتن کد و اجرای برنامهها داشته باشید.
🔷زبان برنامهنویسی go تعامل بسیار زیادی با زبان کامپیوتر و انسان دارد همچنین این قابلیت را به شما خواهد داد که با استفاده از آن نرم افزارهای اندروید را طراحی نمایید. این زبان دارای مکانیسمهای همپوشان است و میتواند در کنار آن، قابلیت کامپایل شدن به زبان ماشین را نیز داشته باشید. زبان برنامهنویسی go یکی از زبانهای بهینهسازی شدهی در حوزهی وب و سرور و شبکه میباشد.
🔷زبان go مانند زبانهای برنامه نویسی C و C++ و همچنین زبان برنامهنویسی پایتون، دارای کدنویسی کارآمد و ساده میباشد. با این حال ویژگیهایی در زبانهای دیگر وجود دارد که در زبان برنامهنویسی go وجود ندارد، در ادامه چند مورد از این ویژگیها را به شما معرفی میکنیم:
🔷زبان go کلاس ندارد و تنها دارای ساختارهایی مختص به خود میباشد.
🔷زبان برنامه نویسی go توانایی پشتیبانی از وراثت را دارا نمیباشد، به همین دلیل ویرایش کدها آسانتر خواهد شد.
🔷در زبان برنامهنویسی go خبری از جنریک لیستها نیست.
#golang
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔷یک زبان برنامهنویسی متنباز (Open Source) است که ساخت نرمافزار را ساده، قابلاعتماد و بهینه میکند.
🔷درواقع Golang زبانی است که توسط شرکت Google طراحی شدهاست و در حال حاضر، در سامانههای متفاوت اجرایی گوگل به کار گرفته شدهاست.
🔷زبان برنامهنویسی Go از لحاظ syntax مشابه زبان برنامهنویسی C است، اما تفاوت اصلی جایی رقم میخورد که Golang در مقایسه با C از مزایای امنیت حافظه، زبالهروبی (Garbage collection) حافظه، تایپ ساختاریافته (Structural typing)، برنامهنویسی همزمان (Concurrent programming) و غیره بهره میبرد.
🔷مزیت زبالهروبی Golang مدیریت حافظه را به صورت خودکار انجام میدهد و همچنین، اجازه میدهد که اجرای برخی توابع به تعویق بیفتد.
🔷علاوهبراین، ویژگی برنامهنویسی همزمان Golang که از طریق Goroutineها و Channelها اتفاق میافتد، اجازه اجرای چند فرایند را بهطور همزمان به شما خواهد داد. این مزیت آنجا اهمیت خود را نشان میدهد که با توجه به روند افزایش هزینههای ارتقاء سختافزاری، نیاز به بهینه بودن عملیات اجرای کدها احساس میشود.
🔷درواقع Golang بر خلاف زبانهای برنامهنویسی قدیمی مانند جاوا و پایتون، میتواند چندین میلیون goroutine را بهصورت همزمان اجرا کند. این رویههای Go مزایایی دارند که در مقایسه با زبانهای برنامهنویسی C++، C و جاوا همزمانیها را بسیار بهتر مدیریت کنند.
🔷 این مزایا عبارتند از:
🔸- قطعهبندی پشتهها
🔸- سرعت بالای آغاز اجرای برنامه
🔸- ارتباط امن میان رویهها
🔷زبان برنامهنویسی Go در توسعه و اجرای اپلیکیشنهای مختلف در سیستمعاملهای متفاوت، دستگاههای موبایل، وباپلیکیشنها و حتی برنامهنویسی فرانتاند (از طریق ماژول gccgo) کاربرد دارد. در واقع، Golang از طریق بهکارگیری مترجم GopherJS، کدهای Go را به جاوا اسکریپت جهت استفاده در برنامهنویسی فرانتاند تبدیل میکند.
🔷بهطور خلاصه، طراحان گوگل این زبان را توسعه دادند تا علاوه بر استفاده از قدرت سایر زبانهای برنامهنویسی، با استفاده از ویژگیهای زیر نیازمندیهای خود را نیز برطرف کنند:
🔸- تایپ ایستا (Static typing) و کارایی زمان اجرا (مانند ++C)
🔸- خوانا بودن و کاربردپذیری (مانند پایتون و جاوا اسکریپت)
🔸- شبکهسازی با کارایی بالا و چندفرایندی (Multiprocessing)
🔷کسبوکارهای زیادی برای توسعه اپلیکیشنهای خود از زبان برنامهنویسی Go بهره بردهاند که برای مثال میتوان به Google، Sound cloud، Uber، Netflix، Dropbox و غیره اشاره کرد. علاوهبراین، برخی از اپلیکیشنهای متنبازی که با زبان Go نوشته شدهاند عبارتند از: Docker، Kubernetes، Ethereum و غیره.
🔷زبان برنامه نویسی Go زبانی میباشد که توسط گوگل عرضه گردیده است. برای اینکه این زبان قابل توسعه باشد، قابلیت open source بودن را به آن اضافه کردهاند. با استفاده از زبان golang میتوانید به عنوان برنامهنویس هر نوع نرمافزاری را پیاده سازی نمایید.
🔷یادگیری زبان گو بسیار آسان و روان است. سادگی و سهولت استفاده از زبان برنامهنویسی گولنگ سبب شده است که در زمان کوتاهی محبوبیت زیادی در بین توسعهدهندگان پیدا کند.
🔷زبان برنامهنویسی Golang به شما این قابلیت را اعطا میکند که ارتباط و دسترسی بیشتر به سخت افزار داشته باشد و سرعت بسیار بالایی در زمینهی نوشتن کد و اجرای برنامهها داشته باشید.
🔷زبان برنامهنویسی go تعامل بسیار زیادی با زبان کامپیوتر و انسان دارد همچنین این قابلیت را به شما خواهد داد که با استفاده از آن نرم افزارهای اندروید را طراحی نمایید. این زبان دارای مکانیسمهای همپوشان است و میتواند در کنار آن، قابلیت کامپایل شدن به زبان ماشین را نیز داشته باشید. زبان برنامهنویسی go یکی از زبانهای بهینهسازی شدهی در حوزهی وب و سرور و شبکه میباشد.
🔷زبان go مانند زبانهای برنامه نویسی C و C++ و همچنین زبان برنامهنویسی پایتون، دارای کدنویسی کارآمد و ساده میباشد. با این حال ویژگیهایی در زبانهای دیگر وجود دارد که در زبان برنامهنویسی go وجود ندارد، در ادامه چند مورد از این ویژگیها را به شما معرفی میکنیم:
🔷زبان go کلاس ندارد و تنها دارای ساختارهایی مختص به خود میباشد.
🔷زبان برنامه نویسی go توانایی پشتیبانی از وراثت را دارا نمیباشد، به همین دلیل ویرایش کدها آسانتر خواهد شد.
🔷در زبان برنامهنویسی go خبری از جنریک لیستها نیست.
#golang
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
در دسته بندی تست ها در مهندسی نرم افزار، unit test جزء تست های White-box حساب می شود یا black-box؟
Anonymous Quiz
94%
White-box
6%
black-box
در دسته بندی تست ها در مهندسی نرم افزار، Integration test جزء تست های White-box حساب می شود یا black-box؟
Anonymous Quiz
43%
White-box
57%
black-box
در دسته بندی تست ها در مهندسی نرم افزار، Code coverageجزء تست های White-box حساب می شود یا black-box؟
Anonymous Quiz
75%
White-box
25%
black-bo؟
در دسته بندی تست ها در مهندسی نرم افزار، Test coverage جزء تست های White-box حساب می شود یا black-box؟
Anonymous Quiz
48%
White-box
52%
black-box
🎯"فصل اول - اپیزود ۳۴: کار با Legacy Code"🎯
#software_talk
👇👇👇👇
🔺 https://youtu.be/B5kxN3if_7A
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
➖➖➖➖➖➖➖➖➖➖
#software_talk
👇👇👇👇
🔺 https://youtu.be/B5kxN3if_7A
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
➖➖➖➖➖➖➖➖➖➖
YouTube
فصل اول - اپیزود ۳۴: کار با Legacy Code
سهشنبه ۴ دی ۹۷ با عباس یزدانپناه درباره کار با Legacy Code صحبت میکنیم. در این برنامه از تعریف و نحوه کار با کدهای قدیمی خواهیم گفت
برنامههای لایو ما را سهشنبه هر هفته از کانال Softwaretalks ببینید.
ویدئوی ما درباره CI
https://www.youtube.com/watch?v=Npe8ZT0wz58…
برنامههای لایو ما را سهشنبه هر هفته از کانال Softwaretalks ببینید.
ویدئوی ما درباره CI
https://www.youtube.com/watch?v=Npe8ZT0wz58…
🔷اگه چنین query برای ارتباط با postgresql دارید
🔺SELECT name FROM users WHERE id=?
🔷و خطای زیر رو در خروجی دارید
🔺“Operator does not exist: integer =?” when using Postgres
🔷پرس جوی فوق رو ویرایش کنید به صورت زیر
🔺SELECT name FROM users WHERE id = $1
#note
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔺SELECT name FROM users WHERE id=?
🔷و خطای زیر رو در خروجی دارید
🔺“Operator does not exist: integer =?” when using Postgres
🔷پرس جوی فوق رو ویرایش کنید به صورت زیر
🔺SELECT name FROM users WHERE id = $1
#note
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy