466 subscribers
120 photos
13 videos
18 files
122 links
🩵 جایی برای ساختن & یاد گرفتن & بهتر کدنویسی کردن :))

Direct :
t.me/programming_codiing?direct

Me : @mohammad_dev_2012
Download Telegram
5 سایت رایگان و باحال برای تایپ 10 انگشتی

🔗 TypingClub⁠
🔗 Keybr⁠
🔗 Monkeytype⁠
🔗 Typing
🔗 Wetype

✦ @programming_codiing
❤‍🔥8❤3
اگه هنوز پروژه‌هات رو از ترس اینکه کامل نیستن منتشر نمی‌کنی،

هیچ‌وقت قرار نیست چیزی منتشر کنی.

اولین پروژه‌ات قرار نیست شاهکار باشه، قرارِ اولش اینه که بهت نشون بده پروژه دوم رو چطور بهتر بسازی.

کامل‌گرایی گاهی فقط اسم شیکِ ترسه.

@programming_codiing
👍9❤3
رزومه‌ای که ۳۰ تا تکنولوژی داخلشه ولی هیچ پروژه درست‌وحسابی نداره،

منو بیشتر می‌ترسونه تا رزومه‌ای که فقط ۵ تکنولوژی داره ولی با همونا پروژه ساخته.

تکنولوژی فقط جمع نکنید، پروژه هم جمع کنید.🌹

@programming_codiing
❤17✍4👍2
</ MoDev >
سافت اسکیل یا مهارت نرم چیه؟ وقتی صحبت از مهارت میشه، معمولاً ذهنمون میره سمت چیزهایی مثل HTML، CSS، JavaScript، React و... این‌ها مهارت‌های فنی یا Hard Skill هستن. اما یه سری مهارت دیگه هم وجود دارن که شاید مستقیم به کدنویسی مربوط نباشن، ولی تأثیر زیادی…
مهارت‌های نرم مهم برای رزومه؛

برای پیدا کردن شغل، فقط مهارت‌های فنی کافی نیستند.
مهارت‌هایی مثل ارتباط مؤثر، حل مسئله، کار تیمی و مدیریت زمان می تونه تأثیر زیادی روی رزومه و موفقیت شغلی شما داشته باشن.
این مطلب مهارت‌های نرمی رو که در بازار کار تقاضای بیشتری دارن بررسی کرده.

در کنار مهارت‌های فنی، داشتن مهارت‌های نرم قوی می‌تواند ارزش حرفه‌ای شما رو بیشتر کنه.
هرچه این مهارت‌ها رو بهتر تقویت کنید، در محیط کاری عملکرد بهتری خواهید داشت و برای کارفرما نیز گزینه ارزشمندتری خواهید بود.

پ.ن : مقاله های خوب و زیادی در سراسر اينترنت وجود داره و می تونید یه سِرچی کنید.

🔗 READ

@programming_codiing
❤8👏1
سوال :

دو نفر برای یک پروژه پیشنهاد دادن:
نفر اول: کد خیلی تمیز، ولی ۳ روز زمان
نفر دوم: کد متوسط، ولی ۶ ساعت زمان
ددلاین فرداست.

کدوم رو انتخاب می‌کنی؟

توی دایرکت بهم بگید

@programming_codiing
❤8👍2👎1
</ MoDev >
سوال : دو نفر برای یک پروژه پیشنهاد دادن: نفر اول: کد خیلی تمیز، ولی ۳ روز زمان نفر دوم: کد متوسط، ولی ۶ ساعت زمان ددلاین فرداست. کدوم رو انتخاب می‌کنی؟ توی دایرکت بهم بگید @programming_codiing
هیچ‌کدوم به‌صورت قطعی؛ این تصمیم به بودجه و خواسته‌ی کارفرما بستگی داره.

اگه کیفیت براش مهم‌تره، بهش می‌گیم پروژه چند روز بیشتر زمان می‌بره و باهاش هماهنگ می‌کنیم.

اگه سرعت تحویل براش مهم‌تره، گزینه دوم رو انتخاب می‌کنیم؛ به شرطی که کیفیت قابل‌قبولی داشته باشه.

در نهایت باید بین زمان، کیفیت، بودجه و خواسته‌ی کارفرما تصمیم گرفت.

@programming_codiing
👍12❤2👎1
یه ریپوی خفن برای وقتی که از والپیپر فعلیت خسته شدی.
کلی والپیپر با سبک‌های مختلف مثل Digital، Minimal، Anime، Pixel، Nature و... که می تونه برا دسکتاپتون یه جونی بده.

🔗 Repo

@programming_codiing
❤6👍1
می‌دونستید توی VS Code می‌تونید ساختار کامل فایل رو یه‌جا ببینید؟

از بخش Outline داخل Explorer می‌تونید لیست functionها، classها، متغیرها، کامپوننت‌ها و بقیه بخش‌های فایلی که باز کردید رو ببینید.

برای فایل‌های بزرگ خیلی کاربردیه و سریع‌تر می‌فهمید هر چیزی کجاست، چه فانکشن هایی دارید و..

@programming_codiing
❤5
بعضیا سه ساله برنامه‌نویسی می‌کنن.

بعضیا یک ساله برنامه‌نویسی می‌کنن و سه بار همون یک سال رو تکرار کردن.

تفاوتشون در تعداد سال‌ها نیست؛
تفاوت در چیزیه که توی اون سال‌ها تجربه کردن.

تقویم، تجربه و مهارت حساب نمی‌شه.
پروژه‌هایی که ساختی، ارورهایی که حل کردی و چیزهایی که یاد گرفتی، تجربه‌ان.

@programming_codiing
❤16👍5
This media is not supported in your browser
VIEW IN TELEGRAM
روزتون مبارک🌹

@programming_codiing
❤16🔥3👨‍💻2
ساخت یک NPM Package شاید با یک npm publish ساده به نظر بیاد؛ ولی اگر بخوای Package حرفه‌ای منتشر کنی، داستان خیلی بزرگ‌تره.

این راهنما مراحل ساخت یک NPM Package رو بررسی می‌کنه، مقاله خوبیه بنظرم، برای باز کردن ذهنتون درموردش.

🔗 Link

@programming_codiing
❤4🔥2
نکست جی‌اس و پروژه‌های فول‌استکی؟

اصلاً پروژه Full-Stack ای یعنی چی و Next.js چه کمکی به ساخت این پروژه‌ها می‌کنه؟

وقتی می‌گیم یک پروژه Full-Stack هست، یعنی فقط ظاهر سایت رو نمی‌سازیم؛ بلکه بخش‌هایی که پشت سایت اتفاق می‌افتن رو هم خودمون پیاده‌سازی می‌کنیم.

مثلاً یک فروشگاه اینترنتی رو در نظر بگیر:

صفحه محصولات، طراحی سایت و دکمه‌ها یک بخش ماجراست؛
اما ثبت‌نام کاربر، ورود، ذخیره اطلاعات، سبد خرید و ثبت سفارش هم باید جایی مدیریت بشن.

اینجاست که مفهوم Full-Stack خودش رو نشون می‌ده.

نکست جی اس یکی از گزینه‌های محبوب برای ساخت چنین پروژه‌هاییه؛ چون می‌تونی باهاش بخش‌های مختلف یک پروژه رو در کنار هم داشته باشی و لازم نباشه برای هر قسمت حتماً یک پروژه جدا بسازی.

مزیتش هم اینه که:
• توسعه پروژه راحت‌تر و یکپارچه‌تر می‌شه
• سرعت ساخت پروژه بالاتر می‌ره
• می‌تونی پروژه‌های واقعی‌تر و کامل‌تری بسازی
• برای سایت‌های بزرگ و کوچک قابل استفاده‌ست
• امکانات خوبی برای سرعت و سئو داره

در واقع اگر هدفت فقط ساخت چند صفحه ساده نیست و می‌خوای پروژه‌هایی بسازی که واقعاً کار کنن، یادگیری Next.js در کنار مفاهیم Full-Stack می‌تونه انتخاب خیلی خوبی باشه.

@programming_codiing
❤10🔥1
تکنولوژی‌ها ادعا هستن؛ پروژه‌ها مدرک.

چیزیه که توی برسی رزومه‌تون بیشتر خواهید دید.

@programming_codiing
❤18👍4💯2
احتمالاً عبارت Design Pattern رو بارها شنیدید؛

مخصوصاً اگه با React، JavaScript یا توسعه نرم‌افزار کار کرده باشید.

اما واقعاً Design Pattern چیه؟

دیزاین پترن یعنی یک راه‌حلِ از قبل شناخته‌شده برای یک مسئله‌ی رایج در طراحی نرم‌افزارِ.

قرار نیست دیزاین پترن یک تکه کد آماده باشه که کپی کنیم و داخل پروژه بذاریم،
در واقع، یک الگوی فکری و طراحیه که بهمون می‌گه برای حل یک مشکل تکراری، معمولاً چه ساختاری می‌تونه مناسب باشه.

مثلاً فرض کنید در چند جای پروژه به یک منطق مشترک نیاز دارید. به جای اینکه هر بار همون منطق رو دوباره بنویسید، می‌تونید از یک الگوی مناسب استفاده کنید تا کد:

• قابل نگهداری‌تر باشه
• ساختار بهتری داشته باشه
• راحت‌تر توسعه پیدا کنه
• وابستگی‌های غیرضروری کمتر بشن

دیزاین پترن ها معمولاً در چند دسته معروف قرار می‌گیرن که می تونید برای هر کدوم تحقیقی کنید.

نکته مهم اینه که استفاده ازش به معنی هر جا تونستی Pattern استفاده کن نیست،
در واقع اگه یک Pattern مشکل پروژه رو حل نکنه، فقط باعث پیچیده‌تر شدن کد می‌شه، این در واقع همه‌جا صدق می کنه که اگر یه چیزی برای حل پيچيدگی پروژه بزرگی هست می تونه عامل خود پیچیدگی پروژه کوچیک هم باشه.

پس Design Pattern بیشتر از اینکه یک سری کد آماده باشه، راهی برای فکر کردن و طراحی بهتر نرم‌افزاره.

@programming_codiing
❤5✍2
</ MoDev >
چرا زبان انگلیسی کلید طلایی برنامه‌نویسیه‌؟ ​یکی از بزرگ‌ترین دغدغه‌هایی که خیلیا موقع ورود به دنیای برنامه‌نویسی دارن اینه: «من زبان انگلیسی‌م خوب نیست، یعنی نمی‌تونم برنامه‌نویس بشم؟» ​پاسخ کوتاه و روشن: چرا که نه! بلد نبودن زبان انگلیسی اصلاً دلیلی برای…
به عنوان یه برنامه‌نویس
بنده از بالا نبودن سطح زبان انگلیسیم رنج می برم، البته که می تونستم از اول کار خودمو تقویت کنم ولی الان دارم انجامش می دم.
پیشنهادم اینه که برید کلاس زبان، چون واقعا تاثیرش خوبه تو یادگیری ولی اگه شرایطش رو ندارید، دوره زبان احمدیان رو ببینید یا هم یوتیوب پر از دوره هست که یکم بگردید پیدا می کنید و وقتی شروع کردید استمرار داشته باشید تا نتیجه بگیرید.

هر چی زبانتون خوب باشه دستتون بالاتره تو برنامه نویسی، جدی بگیریدش برا خودتون.❤️

@programming_codiing
👍16❤8
هرچی بیشتر برنامه‌نویسی می‌کنی، بیشتر می‌فهمی که ننوشتن کد هم یه مهارته.
اگه می‌تونی با تغییر ساختار پروژه، حذف یه وابستگی یا ساده‌تر کردن معماری، ۲۰۰ خط کد اضافه رو ننویسی، احتمالا تصمیم بهتری گرفتی.

کد کمتر همیشه بهتر نیست؛
ولی کد غیرضروری تقریباً همیشه بَده.

@programming_codiing
❤17👍4
چرا Dark Mode همیشه جواب نیست؟

​دارک مود فقط قشنگ کردن ظاهر نیست؛ مستقیم روی خوانایی، کنتراست و فشار به چشم تأثیر می‌ذاره.
​سیاه کردنِ ساده‌ی پس‌زمینه کافی نیست! و حالت دارک فقط به معنی این که white رو به black تبدیل کنیم نیست، رنگ متن، کنتراست دقیق و حتی نور محیط کاربر تعیین‌کننده‌ست.

​پس سؤال اصلی این نیست که:
دارک مود قشنگ‌تره؟
بلکه اینه:
در این نوع سایتی که دارم آیا برای کاربر بهتره؟

توی این مقاله می تونه سوال هایی که ممکنه براتون پیش بیاد نوشته شده، می تونید یه سرچ ساده هم کنید و بقیه مقاله های مرتبط رو مطالعه کنيد.


🔗 Link

@programming_codiing
❤7✍2
اگه همیشه موقع کدنویسی موسیقی گوش می‌دید، یه بار بدونش کدنویسی کنید.

نه برای Productivity.

برای اینکه ببینید واقعاً می‌تونید چند دقیقه بدون حواس‌پرتی روی یه مسئله تمرکز کنید یا نه.

خیلی وقت‌ها مشکل ما کمبود زمان نیست،
تکه‌تکه شدن توجه‌مونه.

پ.ن: موسیقی گوش بدین، عشقه :))


@programming_codiing
❤12😁4🤔1
هر چیزی که می‌تونید با npm install نصب کنید، لزوماً نباید نصبش کنید.

قبل از اضافه کردن یه پکیج به پروژه، چندتا سؤال ساده بپرسید:

واقعاً بهش نیاز دارم؟
خودم می‌تونم با چند خط کد حلش کنم؟
چقدر Maintenance داره؟
چقدر استفاده می‌شه؟
حجمش چقدره؟

یه Dependency جدید فقط چند خط کد به پروژه اضافه نمی‌کنه، یه تکه از مسئولیت پروژه رو هم بهتون اضافه می‌کنه.
می تونم بگم یه پروژه م به خاطر اینکه هر چی جلوم میومد نصب می کردم به پایان نرسید.

@programming_codiing
❤4👍2✍1
احتمالاً موقع نصب یه پکیج دیدید که نسخه‌ش مثلاً اینه: 3.7.2

ولی این سه تا عدد دقیقاً چی می‌گن؟
این سیستم اسمش Semantic Versioning یا SemVerـه و شکل کلیش اینه :

MAJOR.MINOR.PATCH

مثلاً:
3.7.2
یعنی:
3 → MAJOR
7 → MINOR
2 → PATCH

حالا قسمت جذابش اینجاست
MAJOR — تغییرات بزرگ و Breaking
وقتی نسخه Major تغییر می‌کنه، ممکنه چیزهایی که قبلاً توی پروژه‌ات کار می‌کردن، دیگه کار نکنن.
مثلاً:
2.4.1 → 3.0.0
فرض کن قبلاً این API رو داشتی:
getUser(id)
ولی توی نسخه جدید تبدیل شده به:
getUser({ id })
کدت ممکنه بشکنه؛ چون API قبلی تغییر کرده.
پس:
Major = احتمال Breaking Change
MINOR — قابلیت جدید، بدون شکستن قبلی‌ها
مثلاً:
3.7.2 → 3.8.0
یک قابلیت جدید اضافه شده، ولی قرار نیست قابلیت‌های قبلی خراب بشن.
مثلاً:
getUser()
همچنان کار می‌کنه و فقط قابلیت جدیدی مثل:
getUsers()
اضافه شده.
پس:
Minor = Feature جدید + سازگاری با قبلی
PATCH — رفع باگ
مثلاً:
3.7.2 → 3.7.3
اینجا معمولاً قابلیت جدیدی اضافه نشده؛ فقط باگ‌ها و مشکلات نسخه قبلی برطرف شدن.
مثلاً:
نسخه قبلی:
calculateTotal()
گاهی مبلغ اشتباه برمی‌گردوند.
در نسخه جدید این باگ Fix شده.
پس:
Patch = Bug Fix
حالا یه مثال واقعی‌تر
فرض کن نسخه پکیجت اینه:
1.4.2
بعد:
1.4.3 → یک باگ Fix شده.
1.5.0 → یک قابلیت جدید اضافه شده.
2.0.0 → تغییر بزرگی اتفاق افتاده که ممکنه نیاز به تغییر کدت داشته باشه.
پس فقط با نگاه کردن به نسخه می‌تونی بفهمی تقریباً چه نوع تغییری اتفاق افتاده.
اما یه نکته مهم درباره npm
وقتی توی package.json می‌نویسی:
"react": "^19.0.0"
این ^ مهمه.
یا مثلاً:
"lodash": "~4.17.21"
این علامت‌ها مشخص می‌کنن چه نسخه‌هایی اجازه دارن نصب بشن.
به زبان ساده:
^ → معمولاً Minor و Patch را اجازه می‌دهد.
~ → معمولاً فقط Patch را اجازه می‌دهد.
مثلاً:
^1.4.2

1.4.3 ✅
1.5.0 ✅
1.9.9 ✅
2.0.0 ❌
و:
~1.4.2

1.4.3 ✅
1.4.9 ✅
1.5.0 ❌


خلاصه:
1.4.2
│ │ │
│ │ └── PATCH → رفع باگ
│ └──── MINOR → قابلیت جدید
└────── MAJOR → تغییرات ناسازگار


@programming_codiing
❤9