📚 خلاصه کتاب: Soft Skills: The Software Developer's Life Manual
نویسنده: John Sonmez
🟢 مقدمه
🔑 فصلهای کلیدی و نکات مهم
1. مدیریت حرفهای
2. ارتباطات
3. مدیریت زمان
4. سلامتی و تعادل کار و زندگی
5. کارآفرینی و برندسازی شخصی
📋 نکات عملی برای برنامهنویسان
---
🟠 چرا این کتاب برای برنامهنویسان مفید است؟
#Book #SoftSkills
نویسنده: John Sonmez
🟢 مقدمه
این کتاب یک راهنمای عملی است که به برنامهنویسان کمک میکند مهارتهای نرم خود را بهبود بخشند. موضوعاتی مانند مدیریت زمان، ارتباطات، کارآفرینی، و حتی سلامتی در این کتاب مطرح شدهاند.---
🔑 فصلهای کلیدی و نکات مهم
1. مدیریت حرفهای
هدفگذاری:---
همیشه اهداف کوتاهمدت و بلندمدت داشته باشید و آنها را به بخشهای کوچکتر تقسیم کنید
ارتقاء شغلی:
برای دیدهشدن در محیط کاری، مهارتهای جدید یاد بگیرید و به اشتراک بگذارید.
2. ارتباطات
برقراری ارتباط موثر:---
با استفاده از گوش دادن فعال و واضح صحبت کردن، در جلسات تیمی مشارکت کنید.
بازخورد سازنده:
همیشه بازخورد خود را با پیشنهادهای بهبود ارائه دهید.
3. مدیریت زمان
برنامهریزی:---
از ابزارهایی مانند Trello یا Notion برای مدیریت وظایف استفاده کنید.
اصل 80/20:
روی 20 درصد وظایفی تمرکز کنید که 80 درصد ارزش را ایجاد میکنند.
4. سلامتی و تعادل کار و زندگی
ورزش و تغذیه:---
حداقل 3 بار در هفته ورزش کنید و رژیم غذایی سالم داشته باشید.
استراحت:
استراحت کافی و تکنیکهایی مثل مدیتیشن برای افزایش تمرکز ضروری هستند.
5. کارآفرینی و برندسازی شخصی
برندسازی شخصی:---
وبلاگ بنویسید، در شبکههای اجتماعی فعال باشید و رزومه آنلاین بسازید.
کارآفرینی:
همیشه به دنبال فرصتهایی برای راهاندازی پروژههای کوچک باشید.
📋 نکات عملی برای برنامهنویسان
1. هر روز 30 دقیقه برای یادگیری موضوع جدید وقت بگذارید.
2. ارتباطات کاری خود را بهبود دهید، از ایمیلها گرفته تا جلسات حضوری.
3. کد خود را به طور مرتب بازبینی کنید و اصول Clean Code را رعایت کنید.
4. برنامهریزی روزانه و اولویتبندی وظایف را جدی بگیرید.
---
🟠 چرا این کتاب برای برنامهنویسان مفید است؟
این کتاب به شما کمک میکند نهتنها در مهارتهای فنی بلکه در جنبههای انسانی، مثل ارتباطات، بهرهوری و مدیریت زندگی شغلی خود پیشرفت کنید.
نتیجهگیری:
ا Soft Skills یک کتاب جامع برای تبدیلشدن به برنامهنویسی حرفهایتر و موثرتر است
👌23👍8❤2👎1
توسعه دهندگان
📚 خلاصه کتاب: Soft Skills: The Software Developer's Life Manual #Book #SoftSkills نویسنده: John Sonmez 🟢 مقدمه این کتاب یک راهنمای عملی است که به برنامهنویسان کمک میکند مهارتهای نرم خود را بهبود بخشند. موضوعاتی مانند مدیریت زمان، ارتباطات، کارآفرینی،…
از اونجایی که حدس میزنم پست های طولانی مثل اینو نمیخونید و فقط انبار میکنید، تیکه تیکه کنمش و سریالی پست بشه مفید تر هست، نظرتون چیه!؟
👍82👎5😎1
شمام زیر این پست هر چیزی که میخواید نصب کنید، بنویسید!
npm install Money
👍26🔥3❤1👎1
نکات مهم از کتاب The Pragmatic Programmer
✍️ نوشته: Andy Hunt و Dave Thomas
📌 بخش اول: عادتهای برنامهنویس حرفهای
1. یک ذهن انتقادی داشته باشید 🧠
همیشه کدها و روشها را نقد کنید. سوال بپرسید: آیا این راهکار بهترین انتخاب است؟
2. مسئولیتپذیری را بپذیرید 🙋♂️
اگر مشکلی در کد پیش آمد، دنبال مقصر نباشید؛ حل مسئله را در اولویت بگذارید.
3. دفترچهای برای ایدهها داشته باشید 📒
ایدههای خوب ممکن است در لحظهای خاص به ذهن برسند؛ همیشه یادداشت کنید.
✍🏽 ¦ @DevYara
#PragmaticCode
✍️ نوشته: Andy Hunt و Dave Thomas
📌 بخش اول: عادتهای برنامهنویس حرفهای
1. یک ذهن انتقادی داشته باشید 🧠
همیشه کدها و روشها را نقد کنید. سوال بپرسید: آیا این راهکار بهترین انتخاب است؟
2. مسئولیتپذیری را بپذیرید 🙋♂️
اگر مشکلی در کد پیش آمد، دنبال مقصر نباشید؛ حل مسئله را در اولویت بگذارید.
3. دفترچهای برای ایدهها داشته باشید 📒
ایدههای خوب ممکن است در لحظهای خاص به ذهن برسند؛ همیشه یادداشت کنید.
✍🏽 ¦ @DevYara
👍28👎1
توسعه دهندگان
نکات مهم از کتاب The Pragmatic Programmer
📌 بخش دوم: رویکردهای توسعه بهتر
4. کدتان را همیشه ساده نگه دارید (KISS) 🧩
پیچیدگیها را کاهش دهید و از راهحلهای مینیمال استفاده کنید.
5. کدهای قابل تست بنویسید 🔍
تستپذیری یکی از نشانههای اصلی کد خوب است.
6.ء DRY باشید ♻️
از تکرار کدها اجتناب کنید و از الگوها و توابع قابل استفاده مجدد بهره ببرید.
4. کدتان را همیشه ساده نگه دارید (KISS) 🧩
پیچیدگیها را کاهش دهید و از راهحلهای مینیمال استفاده کنید.
5. کدهای قابل تست بنویسید 🔍
تستپذیری یکی از نشانههای اصلی کد خوب است.
6.ء DRY باشید ♻️
از تکرار کدها اجتناب کنید و از الگوها و توابع قابل استفاده مجدد بهره ببرید.
👍24👎1
#debug
🐞چالش رفع باگ
کدی داریم که قرار است تمام کلمات در یک جمله را بررسی کنه و طولانیترین کلمه را برگردونه. اما کد فعلی یکسری اشتباه و مشکل ها داره. هیچ Syntax Error ندارد، اما خروجی درست نیست!.
صورت مسئله:
کد زیر را بررسی کنید و مشکلات آن را شناسایی کنید. سپس آن را اصلاح کنید تا به درستی کار کند
function longestWord(sentence) {
const words = sentence.split(' ');
let longest = '';
words.forEach((word) => {
if (word.length > longest.length) {
longest = word;
} else if (word.length === longest.length) {
longest = word;
}
});
return longest;
}
const sentence = "JavaScript is amazing, isn't it?";
console.log(longestWord(sentence)); // خروجی چیست؟سوال:
1️⃣ خروجی کد چیست و چرا اشتباه است؟
2️⃣ چطور میتوانید کد را بهینه کنید؟
3️⃣ آیا میتوانید کدی بنویسید که کاراکترهای غیرحروفی (مثل کاما و آپاستروف) را حذف کند؟
🔥14👍6❤1
#Text
🔖 بوکمارکهای مرورگرت چطوریه؟
هممون کلی سایت تو مرورگرمون بوکمارک کردیم، شاید هم فولدربندیشون کردیم که نسبت به نیاز و تخصصمون مرتبتر باشن.
حالا وقتشه یه اسکرینشات از بوکمارکهاتون بفرستید تا ببینیم چطوری دستهبندی کردید! 📂
مرتب و حرفهایه یا شلوغ و بههمریخته؟
👍19❤1🔥1
🛠 ورژنبندی نرمافزار: Major, Minor, Patch 🎯
ورژنبندی استاندارد یا Semantic Versioning یکی از ابزارهای مهم برای مدیریت نسخههای نرمافزار است. اما معنی هر عدد چیه؟ 🤔
1️⃣ Major: تغییرات بزرگ و ناسازگار با نسخههای قبلی
🔸 وقتی پروژه تغییرات اساسی و ساختارشکن داره (Breaking Changes).
🔹 مثال: از v1.0.0 به v2.0.0 یعنی کلی از APIها یا قابلیتها عوض شدن.
2️⃣ Minor: قابلیتهای جدید ولی سازگار با نسخه قبلی
🔸 افزودن امکانات جدید بدون اینکه چیزی خراب بشه.
🔹 مثال: از v1.1.0 به v1.2.0 یعنی ویژگیهای جدید اضافه شده.
3️⃣ Patch: رفع باگها و بهبودهای جزئی
🔸 تغییرات کوچکی که مشکلی رو برطرف میکنه، بدون اضافه شدن قابلیت جدید.
🔹 مثال: از v1.1.1 به v1.1.2 یعنی فقط باگها رفع شدن.
✍🏽 ¦ @DevYara
#SemanticVersioning | #Programming
ورژنبندی استاندارد یا Semantic Versioning یکی از ابزارهای مهم برای مدیریت نسخههای نرمافزار است. اما معنی هر عدد چیه؟ 🤔
1️⃣ Major: تغییرات بزرگ و ناسازگار با نسخههای قبلی
🔸 وقتی پروژه تغییرات اساسی و ساختارشکن داره (Breaking Changes).
🔹 مثال: از v1.0.0 به v2.0.0 یعنی کلی از APIها یا قابلیتها عوض شدن.
2️⃣ Minor: قابلیتهای جدید ولی سازگار با نسخه قبلی
🔸 افزودن امکانات جدید بدون اینکه چیزی خراب بشه.
🔹 مثال: از v1.1.0 به v1.2.0 یعنی ویژگیهای جدید اضافه شده.
3️⃣ Patch: رفع باگها و بهبودهای جزئی
🔸 تغییرات کوچکی که مشکلی رو برطرف میکنه، بدون اضافه شدن قابلیت جدید.
🔹 مثال: از v1.1.1 به v1.1.2 یعنی فقط باگها رفع شدن.
✍🏽 ¦ @DevYara
🔥18👍8❤1
توسعه دهندگان
نکات مهم از کتاب The Pragmatic Programmer
#PragmaticCode
📌 بخش سوم: پیشرفت شخصی و تیمی
7. ابزارهای خود را بشناسید 🛠️
به ابزارهای برنامهنویسی تسلط پیدا کنید تا بهرهوریتان افزایش یابد.
8. برای شکست آماده باشید 🔄
همه پروژهها موفق نمیشوند؛ مهم است که از شکستها درس بگیرید.
9. در یادگیری دائمی باشید 📚
تکنولوژیها هر روز تغییر میکنند؛ یک برنامهنویس موفق همیشه در حال یادگیری است.
👍24👨💻3❤2👏2⚡1🔥1
🔎 توی شبکههای توزیع شده بزرگ وقتی بخوان یه اطلاعاتی به همه نودها برسه و منابع زیادی مصرف نشه از پروتکل شایعه استفاده میکنن؛
به این صورت که یه نود یه دیتایی رو رندوم به چند تا نود دیگه میده و بقیه هم همین کارو میکنن. البته تضمینی نیست به همه برسه و مهم هم نیست چون هدف اصلی این پروتکلها پوشش دادن بخش بزرگی از شبکه با مصرف منابع کم است.
دقیقا توی دنیای واقعی هم شایعه به همین شکله نیازی به منابع زیادی نداره که مثلا بخواید همه رو یجا جمع کنید و اطلاعاتی بدید و هدفش پوشش بخش بزرگی از جامعهاست.
فقط کافیه یه نفر بتونه یه دیتایی رو به چند نفر تصادفی بده و اگر اون چند نفر این کارو تکرار کنن به این صورت شایعه پخش میشه. در هر حالت، اطلاعات ممکنه در حین انتشار تغییر شکل داده یا عوض بشه.
📌 جالب اینجاست توی ریاضیات برای این یه اصلاح داریم به اسم WHP که میگه اگه تعداد گره ها زیاد باشه به احتمال نزدیک به 1 این شایعه رو همه میشنون. این اصطلاح به این معنیه که با افزایش اندازه شبکه، احتمال رسیدن اطلاعات به همه نودها به طور چشمگیری افزایش پیدا میکنه.
✍🏽 ¦ @DevYara
به این صورت که یه نود یه دیتایی رو رندوم به چند تا نود دیگه میده و بقیه هم همین کارو میکنن. البته تضمینی نیست به همه برسه و مهم هم نیست چون هدف اصلی این پروتکلها پوشش دادن بخش بزرگی از شبکه با مصرف منابع کم است.
دقیقا توی دنیای واقعی هم شایعه به همین شکله نیازی به منابع زیادی نداره که مثلا بخواید همه رو یجا جمع کنید و اطلاعاتی بدید و هدفش پوشش بخش بزرگی از جامعهاست.
فقط کافیه یه نفر بتونه یه دیتایی رو به چند نفر تصادفی بده و اگر اون چند نفر این کارو تکرار کنن به این صورت شایعه پخش میشه. در هر حالت، اطلاعات ممکنه در حین انتشار تغییر شکل داده یا عوض بشه.
📌 جالب اینجاست توی ریاضیات برای این یه اصلاح داریم به اسم WHP که میگه اگه تعداد گره ها زیاد باشه به احتمال نزدیک به 1 این شایعه رو همه میشنون. این اصطلاح به این معنیه که با افزایش اندازه شبکه، احتمال رسیدن اطلاعات به همه نودها به طور چشمگیری افزایش پیدا میکنه.
✍🏽 ¦ @DevYara
👍31✍5👏2❤1🆒1
#BackEnd #SoftwareEngineer
🌐احراز هویت و مجوز دسترسی؛ پلی بین بکاند و شبکه
احراز هویت (Authentication) یعنی مطمئن بشیم کاربر واقعاً همونیه که ادعا میکنه، مثلاً با پسورد، اثر انگشت یا توکن. بعد از اون، مجوز دسترسی (Authorization) مشخص میکنه که کاربر به چه بخشها یا امکاناتی از سیستم اجازه دسترسی داره.
🔐این موضوع امنیت سیستمها رو از دو جهت تضمین میکنه، اول اینکه کاربر اصلا همونی هست که داره به سیستم میگه و دووم حالا که وارد سیستم شد دقیقا به کدوم بخش ها باید دسترسی داشته باشه؛ توی بکاند با ابزارهایی مثل JWT و OAuth و توی شبکه با پروتکلهایی مثل SSL/TLS این اتفاق میوفته.
✍🏽 ¦ @DevYara
👍24🔥4
توسعه دهندگان
#PragmaticCode 📌 بخش سوم: پیشرفت شخصی و تیمی 7. ابزارهای خود را بشناسید 🛠️ به ابزارهای برنامهنویسی تسلط پیدا کنید تا بهرهوریتان افزایش یابد. 8. برای شکست آماده باشید 🔄 همه پروژهها موفق نمیشوند؛ مهم است که از شکستها درس بگیرید. 9. در یادگیری دائمی…
#PragmaticCode
📌 بخش چهارم: طراحی و معماری
10. کد را مانند داستان بنویسید 📖
کدی که مینویسید باید واضح و قابل درک باشد، انگار برای انسان نوشته شده است.
11. قراردادها را رعایت کنید 📜
برای متدها و ماژولها قراردادهای واضح تعیین کنید و به آنها پایبند بمانید.
12. مفهوم "قانون تغییر" را درک کنید 🔄
طراحیتان را طوری انجام دهید که تغییرات آینده، کد را خراب نکند.
✍🏽 ¦ @DevYara
👍16
#update #nuxt #frontend
👩💻 انتشار Nuxt 3.15
📦 ویژگیهای جدید:
🚀 ادغام با Vite 6: عملکرد بهتر در محیط سرور.
🌐 بهبود DevTools کرومیوم: امکان مشاهده زمان اجرای Nuxt hooks در DevTools.
🗺 حالت مسیریابی callOnce: قابلیت اجرای کد فقط یکبار در هر مسیریابی با گزینه جدید navigation.
🥵 بهروزرسانی HMR: برای قالبها، صفحات و متادیتای صفحات.
📄 بهبود متادیتای صفحات: پشتیبانی از توابع محلی در definePageMeta.
🔥 افزایش کارایی: پیشبارگذاری Manifest اپلیکیشن در مرورگر و حذف حالت هش Vue Router از بسته.
💡 برای بهروزرسانی:
npx nuxi@latest upgrade --force
🔗 جزئیات بیشتر در وبلاگ Nuxt
✍🏽 ¦ @DevYara
👍19😎1
#alert #frontend
🗯 بهترین کتابخانههای اعلان جاوااسکریپت
1️⃣ SweetAlert ✨
2️⃣ React-Toastify 🍞
3️⃣ Toastr 🚀
4️⃣ Essential JS 2 🛠
5️⃣ chakra-ui/alert ⚡
6️⃣ Vue Toastification 🔔
7️⃣ Sonner 🎵
8️⃣ Awesome Notifications 🌟
✍🏽 ¦ @DevYara
👍22❤1🔥1
توسعه دهندگان
PragmaticCode
#PragmaticCode
📌 بخش پنجم: ابزارها و تکنیکها
13. از ابزارهای اتوماتیک استفاده کنید 🤖
وظایف تکراری را با ابزارهای خودکار مثل CI/CD سادهتر کنید.
14. کنترل نسخه را جدی بگیرید 🗂️
تمام پروژههایتان را با ابزارهای کنترل نسخه مثل Git مدیریت کنید.
15. ابزارهای مناسب برای کار انتخاب کنید 🛠️
ابزارهای ناکارآمد میتوانند شما را عقب نگه دارند؛ همیشه بهترین ابزارها را بشناسید.
✍🏽 ¦ @DevYara
👍13❤3✍1⚡1👎1