❎16 System Design Concepts I Wish I knew Before the Interview.
🎃 https://levelup.gitconnected.com/16-system-design-concepts-i-wish-i-knew-before-the-interview-b8586e40a73b
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🎃 https://levelup.gitconnected.com/16-system-design-concepts-i-wish-i-knew-before-the-interview-b8586e40a73b
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍4🐳1
یک دیباگر مبتنی بر OpenAI Codex که خودش میگه کد شما را درمان میکنه :) و در چند ثانیه جزئیات خطاها را به شما میگه و فعلا نسخه محدودش رایگانه ظاهرا بیشتر از ۱۰۰ تا نمیشه بهش دستور داد در روز.
https://useadrenaline.com
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://useadrenaline.com
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥2💊1
📥 دریافت شده از: Amin Dezvarei
❎مصاحبه یک فرآیند دوطرفهاست. ❎
بر أساس نظر سنجی کریربیلدر(CareerBuilder)، که یک سایت #کاریابی است، دو سوم افرادی که شغلی رو پذیرفتن، شش ماه بعد از شروع به #کار تازه متوجه شدن که مناسب این کار نیستن.
قطعا دلایلی مهمی برای ترک کار وجود داره. مثلا ارزشهای سازمان با ارزشهای آنها یکی نیست و متوجه شدن این موضوع زمانبره یا مثلا متوجه شدن که محیط سمیه.
احتمالا امکان اینکه توی جلسه مصاحبه بتونید متوجه محیط سمی یا مغایرت فرهنگ سازمانی با فرهنگ خودتون بشید خیلی کمه اما قراره به چشم خریدار به محیط و فضا نگاه کنید.
👇🏻 من توی این پست پنج مورد از خطوط قرمز #سازمان رو براتون آوردم تا بتونه کمکی کنه از این به بعد در جلسات #مصاحبه بیشتر مراقب باشید.
1️⃣ برنامهریزی مجدد و بینظمی
قطعا همه ما سرمون شلوغه و خب اینکه جلسه مصاحبه بخواد جابهجایی داشته باشه غیرمنتظره نیست. ولی قطعا چند بار جابهجا کردن ساعت و زمان جلسه یک خط قرمزیه که میتونه سازمان برای شما داشته باشه.
2️⃣ بیاحترامی به دیگران
وقتی منتظر شروع جلسهتون نشستید خوب به اطرافتون دقت کنید. ممکنه توی سالن انتظار باشید و یک حرف یا حرکتی ناشایست از سمت مدیر مجموعه با بقیه کارمندها ببنید. البته بعضی وقتها ممکنه اونجوری که دیده میشه نباشه ولی این نکتهای هست که باید بهش دقت کنید.
3️⃣ تضاد ارزشی
عدم تطابق ارزشها یک پرچم قرمز بزرگه. قبل از شروع مصاحبه مهمترین ارزشهای خودتون برای یک سازمان رو مشخص کنید و بر اساس اونها سوالاتی رو برای جلسه مصاحبه طراحی کنید که مطابق با ارزشها و نیازمندیهای شماست.
4️⃣ شرح شغلی متفاوت
فرض کنید برای شرح شغلی خاصی درخواست میدید ولی در جلسه مصاحبه شرح شغلی متفاوتی رو برای شما توضیح میدن که خب این یک خط قرمز و باید به فکر باشید.
5️⃣ سوالات نامناسب
پرسیدن سوالات شخصی یک خط قرمزه. منظورم سوالاتیه که قرار نیست نه به کار شما ربطی داشته باشه و نه به سازمان. اگر از شنیدن سوالی معذب شدید یعنی باید حواستون رو بیشتر جمع کنید.
🔴 موارد بالا حکم کلی نیستند و صرفا از تجربیات خودم جمعآوریشون کردم. اگر موردی رو من جا انداختم برام بنویسید، ممکنه به کسی کمک کنه.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
❎مصاحبه یک فرآیند دوطرفهاست. ❎
بر أساس نظر سنجی کریربیلدر(CareerBuilder)، که یک سایت #کاریابی است، دو سوم افرادی که شغلی رو پذیرفتن، شش ماه بعد از شروع به #کار تازه متوجه شدن که مناسب این کار نیستن.
قطعا دلایلی مهمی برای ترک کار وجود داره. مثلا ارزشهای سازمان با ارزشهای آنها یکی نیست و متوجه شدن این موضوع زمانبره یا مثلا متوجه شدن که محیط سمیه.
احتمالا امکان اینکه توی جلسه مصاحبه بتونید متوجه محیط سمی یا مغایرت فرهنگ سازمانی با فرهنگ خودتون بشید خیلی کمه اما قراره به چشم خریدار به محیط و فضا نگاه کنید.
👇🏻 من توی این پست پنج مورد از خطوط قرمز #سازمان رو براتون آوردم تا بتونه کمکی کنه از این به بعد در جلسات #مصاحبه بیشتر مراقب باشید.
1️⃣ برنامهریزی مجدد و بینظمی
قطعا همه ما سرمون شلوغه و خب اینکه جلسه مصاحبه بخواد جابهجایی داشته باشه غیرمنتظره نیست. ولی قطعا چند بار جابهجا کردن ساعت و زمان جلسه یک خط قرمزیه که میتونه سازمان برای شما داشته باشه.
2️⃣ بیاحترامی به دیگران
وقتی منتظر شروع جلسهتون نشستید خوب به اطرافتون دقت کنید. ممکنه توی سالن انتظار باشید و یک حرف یا حرکتی ناشایست از سمت مدیر مجموعه با بقیه کارمندها ببنید. البته بعضی وقتها ممکنه اونجوری که دیده میشه نباشه ولی این نکتهای هست که باید بهش دقت کنید.
3️⃣ تضاد ارزشی
عدم تطابق ارزشها یک پرچم قرمز بزرگه. قبل از شروع مصاحبه مهمترین ارزشهای خودتون برای یک سازمان رو مشخص کنید و بر اساس اونها سوالاتی رو برای جلسه مصاحبه طراحی کنید که مطابق با ارزشها و نیازمندیهای شماست.
4️⃣ شرح شغلی متفاوت
فرض کنید برای شرح شغلی خاصی درخواست میدید ولی در جلسه مصاحبه شرح شغلی متفاوتی رو برای شما توضیح میدن که خب این یک خط قرمز و باید به فکر باشید.
5️⃣ سوالات نامناسب
پرسیدن سوالات شخصی یک خط قرمزه. منظورم سوالاتیه که قرار نیست نه به کار شما ربطی داشته باشه و نه به سازمان. اگر از شنیدن سوالی معذب شدید یعنی باید حواستون رو بیشتر جمع کنید.
🔴 موارد بالا حکم کلی نیستند و صرفا از تجربیات خودم جمعآوریشون کردم. اگر موردی رو من جا انداختم برام بنویسید، ممکنه به کسی کمک کنه.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
❤1
این سایت پلن رایگان DBaas ارائه میده که شامل دیتابیسهای معروف مثل mysql و PostgreSQL و حتی mongoDB هم میشه.
https://filess.io
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://filess.io
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🐳6🌭2
✅ جلسه دورهمی هفته سوم
- راس ساعت ۹
- موضوع: معماری نرم افزار و ساختار پروژه
- لطفا میکروفون خود را mute و حالت Push to talk بزارید.
- اگر قصد صحبت دارید گزینه بلند کردن دست را بزنید.
🔗 https://meet.jit.si/moderated/8f964ab1ec4492ffbabe6cfe16eb275a93212f3c3e6a9b6036259ab42a10969d
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
- راس ساعت ۹
- موضوع: معماری نرم افزار و ساختار پروژه
- لطفا میکروفون خود را mute و حالت Push to talk بزارید.
- اگر قصد صحبت دارید گزینه بلند کردن دست را بزنید.
🔗 https://meet.jit.si/moderated/8f964ab1ec4492ffbabe6cfe16eb275a93212f3c3e6a9b6036259ab42a10969d
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
❤3🔥1
به هیچ کدی، مطلقاً به هیچ کدی که توش magical number داره، اعتماد نکنید. شاید شما ندونید چرا یه وریبل اونجا هاردکد شده ولی اون دولوپره قطعاً میدونه چه گندی زده.
اگر میخواید بدونید Magical number چیه حتما پاسخ این سوال رو مطالعه کنید.
https://stackoverflow.com/questions/47882/what-is-a-magic-number-and-why-is-it-bad
#DevTwitter | <جالینوکس/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
اگر میخواید بدونید Magical number چیه حتما پاسخ این سوال رو مطالعه کنید.
https://stackoverflow.com/questions/47882/what-is-a-magic-number-and-why-is-it-bad
#DevTwitter | <جالینوکس/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍6
Forwarded from Gopher Academy (Javad)
✅ جلسه دورهمی هفته سوم
- راس ساعت ۹
- موضوع: معماری نرم افزار و ساختار پروژه
- لطفا میکروفون خود را mute و حالت Push to talk بزارید.
- اگر قصد صحبت دارید گزینه بلند کردن دست را بزنید.
🔗 https://meet.jit.si/moderated/8f964ab1ec4492ffbabe6cfe16eb275a93212f3c3e6a9b6036259ab42a10969d
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
- راس ساعت ۹
- موضوع: معماری نرم افزار و ساختار پروژه
- لطفا میکروفون خود را mute و حالت Push to talk بزارید.
- اگر قصد صحبت دارید گزینه بلند کردن دست را بزنید.
🔗 https://meet.jit.si/moderated/8f964ab1ec4492ffbabe6cfe16eb275a93212f3c3e6a9b6036259ab42a10969d
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
❤2🐳2
برنامه GNU Hello رو دیدین؟ کارش اینه که Hello, world! چاپ کنه.
gnu.org/software/hello/
هدفشون اینه که بقیه برنامهنویسا یه الگوی ساده داشته باشن تا بتونن از اون پیروی کنن و برنامههای پیچیدهتری با استانداردای GNU بسازن (مثل چندزبانی، آرگومانهای خط فرمان، مستندات، تست، ...)
کد سی برنامه اینجاست:
https://git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c
و جوک معروف «تکامل برنامهنویس» (اینکه یه برناهنویس در هر سطح برنامهنویسی Hello World رو چطوری مینویسه) رو هم در ریپوشون هست:
https://git.savannah.gnu.org/cgit/hello.git/tree/contrib/evolution.txt
#DevTwitter | <Hadi/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
gnu.org/software/hello/
هدفشون اینه که بقیه برنامهنویسا یه الگوی ساده داشته باشن تا بتونن از اون پیروی کنن و برنامههای پیچیدهتری با استانداردای GNU بسازن (مثل چندزبانی، آرگومانهای خط فرمان، مستندات، تست، ...)
کد سی برنامه اینجاست:
https://git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c
و جوک معروف «تکامل برنامهنویس» (اینکه یه برناهنویس در هر سطح برنامهنویسی Hello World رو چطوری مینویسه) رو هم در ریپوشون هست:
https://git.savannah.gnu.org/cgit/hello.git/tree/contrib/evolution.txt
#DevTwitter | <Hadi/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍2🎉1💊1
gathering3.mkv
185.4 MB
❤2🔥2👍1
✅ پادکست جلسه سوم دورهمی مهندسین گولنگ
دوستان از طریق Spotify و Google Podcasts و همچنین castbox می توانید جلسه سوم دورهمی را گوش دهید.
- موضوع از پیش تعیین شده: معماری نرم افزار و ساختار پروژه
🔗 https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 https://castbox.fm/va/5381928
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
دوستان از طریق Spotify و Google Podcasts و همچنین castbox می توانید جلسه سوم دورهمی را گوش دهید.
- موضوع از پیش تعیین شده: معماری نرم افزار و ساختار پروژه
🔗 https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 https://castbox.fm/va/5381928
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
🐳3
Test_Driven_Development_in_Go_A_practical_guide_to_writing_idiomatic.pdf
21.2 MB
TDD in Go book
Author: Adelina Simion
Publisher : Packt Publishing; 1st edition (21 April 2023)
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
Author: Adelina Simion
Publisher : Packt Publishing; 1st edition (21 April 2023)
➖➖➖➖➖➖➖➖➖
🔰@gopher_academy
🎉2
#بدرد
فقط اینکه شما بلد باشید با یک زبان برنامه نویسی یک پروژه رو به اتمام برسونید به معنی این نیست که شما یک Software engineer یا مهندس نرمافزار هستید.
یک مهندس نرمافزار توی سال 2023 نیازه که حداقل یکسری ابزار هارو بلد باشه و بتونه باهاشون کار کنه، خب بیاید ببینیم چه ابزارهایی...
- IDE | Editor
یک مهندس نرمافزار احتمالا بیشترین تایمش رو بابت کد زدن بگذرونه، پس نیازه که محیطی که توش کد میزنه رو خوب بشناسه.
پس اولین ابزار یک IDE یا ادیتور مناسبه که اون رو خوب بشناسه و بهش مسلط باشه تا با سرعت مناسبی بتونه پروسه کد زدن رو پیش ببره.
- Version control systems
برای مدیریت و توسعه سورس های کد نوشته شده و اشتراک گذاری و توسعه توسط بقیه برنامه نویس ها شما حتما حتما باید یک ورژن کنترل مثل گیت رو خوب بلد باشید تا بتونید در روند توسعه سریع و چابک باشید.
- Docker
دیگه توی این دوره هر مهندس نرم افزاری برای این که یک محیط Centralized رو بالا بیاره نیازه که داکر رو بلد باشه، حتما یادش بگیرید :)
- Testing tools
شما نیازه که ابزار ها و لایبرری های مورد استفاده جهت تست نرم افزارتون رو هم بلد باشید تا بتونید تست اتوماتیک داشته باشید
- Monitoring
یکسری ابزار ها هستن برای مانیتور کردن پرفومنس پروژه مثل Prometheus و Grafana که با استفاده ازشون میتونید پرفومنس پروژتون یا دیتابیستون رو مانیتور کنید و برای تحلیل هاتون ازشون استفاده کنید.
- Task management tools
کارها و تسک های هربرنامه نویس باید مشخص باشه که بتونه سرعتش در توسعه رو بالا ببره، در نتیجه دونستن یکسری ابزار مثل Jira که کارشون Task management و.. هست یک نیاز ضروریه.
- Logging
اما لاگ زدن و log tracking، اهمیتش توی یک پروژه به قدری مهمه که شما بعنوان مهندس نرم افزار برای کنترل بهتر روی پروژتون نباید ازش غافل بشید.
یکسری ابزار ها مثل Sentry بهتون کمک میکنن.
- CI/CD
شما با استفاده از CD/CD میتونید روند بیلد، تست و دیپلوی پروژتون رو اتوماتیک کنید و خیلی سرعت خودتون رو در روند توسعه نرم افزار بالاتر ببرید و ریسک خطا های بیلد و دیپلوی رو کاهش بدید، ابزار هایی مثل Jenkins یا حتی Gitlab به شما در این پروسه کمک میکنن.
- Gitlab | Github
خب ما گیت رو یادگرفتیم حالا چطور توی یک محیط اشتراکی کدهامون رو باهم به اشتراک بزاریم و کدهای همدیگه رو قبل از اعمال بررسی و کامنت بزاریم، یا اصلا این کدهارو کجا نگه داریم که فردا از دستشون ندیم؟ خب معلومه دیگه از گیتهاب یا گیتلب استفاده کنید.
- Message brokers
این روزا با بزرگ شدن پروژه هامون، نیاز به ارتباط بین اپلیکیشن ها حس میشه که یکی از روش های ارتباط برقرار کردن استفاده از Message broker هایی مثل Kafka یا RabbitMQ هستش و یادگیریشون امروزه تقریبا ضروری شده برای یک مهندس نرم افزار
- Linux
اصلا نیاز به توضیح نیست در مورد لینوکس، بعنوان یه مهندس نرم افزار تقریبا بیشتر سرورهایی که باهاشون سر و کار دارید لینوکسی هستند، و از سمتی احتمالا استفاده از لینوکس میتونه خیلی بهتون کمک کنه بعنوان دسکتاپتون
پس یادش بگیرید.
- Cloud platforms
این روزا تقریبا هرجایی که برید با Cloud سر و کار دارید و زیرساخت اکثر اپلیکیشنا توی محیط هایی مثل AWS و Google Cloud و Azure یا مشابهشون دارن میزبانی میشن، پس اینم احتمالا باید یادبگیرید خصوصا اگه قصد مهاجرت دارید.
#DevTwitter | <Reza/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
فقط اینکه شما بلد باشید با یک زبان برنامه نویسی یک پروژه رو به اتمام برسونید به معنی این نیست که شما یک Software engineer یا مهندس نرمافزار هستید.
یک مهندس نرمافزار توی سال 2023 نیازه که حداقل یکسری ابزار هارو بلد باشه و بتونه باهاشون کار کنه، خب بیاید ببینیم چه ابزارهایی...
- IDE | Editor
یک مهندس نرمافزار احتمالا بیشترین تایمش رو بابت کد زدن بگذرونه، پس نیازه که محیطی که توش کد میزنه رو خوب بشناسه.
پس اولین ابزار یک IDE یا ادیتور مناسبه که اون رو خوب بشناسه و بهش مسلط باشه تا با سرعت مناسبی بتونه پروسه کد زدن رو پیش ببره.
- Version control systems
برای مدیریت و توسعه سورس های کد نوشته شده و اشتراک گذاری و توسعه توسط بقیه برنامه نویس ها شما حتما حتما باید یک ورژن کنترل مثل گیت رو خوب بلد باشید تا بتونید در روند توسعه سریع و چابک باشید.
- Docker
دیگه توی این دوره هر مهندس نرم افزاری برای این که یک محیط Centralized رو بالا بیاره نیازه که داکر رو بلد باشه، حتما یادش بگیرید :)
- Testing tools
شما نیازه که ابزار ها و لایبرری های مورد استفاده جهت تست نرم افزارتون رو هم بلد باشید تا بتونید تست اتوماتیک داشته باشید
- Monitoring
یکسری ابزار ها هستن برای مانیتور کردن پرفومنس پروژه مثل Prometheus و Grafana که با استفاده ازشون میتونید پرفومنس پروژتون یا دیتابیستون رو مانیتور کنید و برای تحلیل هاتون ازشون استفاده کنید.
- Task management tools
کارها و تسک های هربرنامه نویس باید مشخص باشه که بتونه سرعتش در توسعه رو بالا ببره، در نتیجه دونستن یکسری ابزار مثل Jira که کارشون Task management و.. هست یک نیاز ضروریه.
- Logging
اما لاگ زدن و log tracking، اهمیتش توی یک پروژه به قدری مهمه که شما بعنوان مهندس نرم افزار برای کنترل بهتر روی پروژتون نباید ازش غافل بشید.
یکسری ابزار ها مثل Sentry بهتون کمک میکنن.
- CI/CD
شما با استفاده از CD/CD میتونید روند بیلد، تست و دیپلوی پروژتون رو اتوماتیک کنید و خیلی سرعت خودتون رو در روند توسعه نرم افزار بالاتر ببرید و ریسک خطا های بیلد و دیپلوی رو کاهش بدید، ابزار هایی مثل Jenkins یا حتی Gitlab به شما در این پروسه کمک میکنن.
- Gitlab | Github
خب ما گیت رو یادگرفتیم حالا چطور توی یک محیط اشتراکی کدهامون رو باهم به اشتراک بزاریم و کدهای همدیگه رو قبل از اعمال بررسی و کامنت بزاریم، یا اصلا این کدهارو کجا نگه داریم که فردا از دستشون ندیم؟ خب معلومه دیگه از گیتهاب یا گیتلب استفاده کنید.
- Message brokers
این روزا با بزرگ شدن پروژه هامون، نیاز به ارتباط بین اپلیکیشن ها حس میشه که یکی از روش های ارتباط برقرار کردن استفاده از Message broker هایی مثل Kafka یا RabbitMQ هستش و یادگیریشون امروزه تقریبا ضروری شده برای یک مهندس نرم افزار
- Linux
اصلا نیاز به توضیح نیست در مورد لینوکس، بعنوان یه مهندس نرم افزار تقریبا بیشتر سرورهایی که باهاشون سر و کار دارید لینوکسی هستند، و از سمتی احتمالا استفاده از لینوکس میتونه خیلی بهتون کمک کنه بعنوان دسکتاپتون
پس یادش بگیرید.
- Cloud platforms
این روزا تقریبا هرجایی که برید با Cloud سر و کار دارید و زیرساخت اکثر اپلیکیشنا توی محیط هایی مثل AWS و Google Cloud و Azure یا مشابهشون دارن میزبانی میشن، پس اینم احتمالا باید یادبگیرید خصوصا اگه قصد مهاجرت دارید.
#DevTwitter | <Reza/>
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🕊7👍3🔥1