Programmer City «شهر برنامه‌نویس»
1.14K subscribers
4.2K photos
954 videos
159 files
1.96K links
دنیای برنامه‌نویسی و مهندسی کامپیوتر🌈

📱ارتباط با ما: پیج اینستاگراممون🎈
IG: ProgrammerCity

لینک ناشناسمون:
https://t.me/BitnetChat_bot?start=sec-ehdiahcie
Download Telegram
📈 تمرین بدون بازخورد، همیشه باعث پیشرفت نمیشه.

فرض کن هر روز یک اشتباهو تکرار کنی.
اگر فقط بیشتر کدنویسی کنی، ممکنه فقط در انجام همون اشتباه سریع‌تر بشی!

برای پیشرفت واقعی، بعد از هر Task از خودت بپرس:

🔹 چه چیزی خوب پیش رفت؟
🔹 کجا گیر کردم؟
🔹 چرا گیر کردم؟
🔹 آیا راه ساده‌تری وجود داشت؟
🔹 دفعه بعد چه چیزیو متفاوت انجام میدم؟

این یعنی:

Practice → Feedback → Improvement

نه فقط:

Practice → Practice → Practice

📌 برنامه‌نویس بهتر کسی نیست که فقط بیشتر کد نوشته؛
کسیه که از کدهایی که نوشته یاد گرفته.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1👏1
🎯 چالش ProgrammerCity

آخرین باری که یک پروژه یا Task رو تموم کردی، آیا بعدش برگشتی و بررسی کردی که:

«چطور میتونستم بهتر انجامش بدم؟»

1️⃣ همیشه
2️⃣ گاهی
3️⃣ خیلی کم
4️⃣ اصلاً تا حالا بهش فکر نکرده بودم

👇 شماره گزینه رو بنویس.

اگر گزینه ۲، ۳ یا ۴ رو انتخاب کردی، نگران نباش؛ از همین Task بعدی میتونی شروع کنی. 🌱

📅 قسمت بعدی:
حالا که درباره رشد یک جونیور صحبت کردیم، وقتشه بریم سراغ یکی از مهم‌ترین مهارت‌های واقعی محیط کار:

🧩 چطور یک مسئله بزرگ را به چند مسئله کوچیک‌تر تبدیل کنیم؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1👏1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت هفدهم
🧩 چطور یک مسئله بزرگو به چند مسئله کوچیکتر تبدیل کنیم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

لید تیم یک Task جدید بهت میده:

«یک سیستم گزارش‌گیری برای کاربران بساز.»

😐 چند ثانیه به صفحه خیره میشی...

سیستم گزارش‌گیری؟

یعنی چی؟

از کجا شروع کنم؟

خیلی از برنامه‌نویس‌های تازه‌کار اینجا گیر میکنن.

نه به خاطر اینکه کدنویسی بلد نیستن...

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

امروز درباره یکی از مهم‌ترین مهارت‌های حل مسئله صحبت میکنیم:

🧩Problem Decomposition

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🧠 برنامه‌نویس‌های حرفه‌ای معمولاً مستقیم سراغ کد نمیرن.

اول مسئله بزرگو خرد میکنن.

مثلاً:

«ساخت سیستم فروشگاه»

خیلی بزرگ و مبهمه.

اما اگر تقسیمش کنیم:

ساخت بخش ثبت‌نام کاربران
طراحی ورود به حساب
مدیریت محصولات
ثبت سفارش
پرداخت
نمایش گزارش‌ها

حالا هر بخش تبدیل به یک مسئله قابل مدیریت شده.

📌 مغز انسان با مسئله‌های کوچیک بهتر کار میکنه.

یک برنامه‌نویس خوب کسی نیست که همیشه جوابو بدونه؛

کسیه که بلد باشه یک مشکل بزرگو به چند سؤال کوچیکتر تبدیل کنه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🎯 تمرین ProgrammerCity

فرض کن به تو یک Task داده شده:

«ساخت اپلیکیشن یادداشت‌برداری»

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

مثلاً:

🔹 بخش اول: ...

🔹 بخش دوم: ...

🔹 بخش سوم: ...

جوابتو بنویس. 👇

📅 فردا درباره یک قدم مهم قبل از شروع کدنویسی صحبت میکنیم:

📝 چرا برنامه‌نویس‌های حرفه‌ای قبل از کدنویسی الگوریتم طراحی میکنن؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت هجدهم
📝 چرا قبل از کدنویسی باید فکر کنیم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

یک Task جدید گرفتی:

«یک سیستم مرتب‌سازی برای لیست کاربران بنویس.»

اولین واکنش:

💻 سریع ادیتور را باز میکنی.

شروع به تایپ میکنی...

اما بعد از چند دقیقه:

🤔 «صبر کن... اصلاً راه‌حل من درست بود؟»

اینجاست که یک عادت مهم برنامه‌نویس‌های حرفه‌ای خودشو نشون میده:

قبل از نوشتن کد، اول راه‌حلو طراحی کن.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
📝 طراحی الگوریتم یعنی قبل از کدنویسی مشخص کنیم:

🔹 ورودی ما چیه؟
🔹 خروجی مورد انتظار چیه؟
🔹 چه مراحلی باید انجام شه؟
🔹 چه حالت‌های خاصی وجود داره؟

مثلاً برای پیدا کردن بزرگ‌ترین عدد یک لیست:

مستقیم شروع به کدنویسی نکن.

اول فکر کن:

اولین عددو به عنوان بزرگ‌ترین در نظر میگیرم.
بقیه اعدادو بررسی میکنم.
اگر عدد بزرگتری پیدا کردم، مقدارو تغییر میدم.
در پایان نتیجه رو برمیگردونم.

حالا نوشتن کد خیلی ساده‌تر میشه.

📌 کد زدن سریع همیشه نشانه حرفه‌ای بودن نیست.

گاهی حرفه‌ای‌ترین کار اینه که چند دقیقه بیشتر فکر کنیم.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🔥1👏1
🎯 یک سؤال:

وقتی یک مسئله جدید بهت داده میشه، معمولاً چکاری انجام میدی؟

1️⃣ سریع شروع به کدنویسی میکنم.
2️⃣ اول درباره راه‌حل فکر میکنم.
3️⃣ اول نمونه‌های مشابه رو پیدا میکنم.
4️⃣ از یک نفر کمک میگیرم.

👇 شماره گزینه رو بنویس.

📅 قسمت بعدی:

🚀 چطور یک برنامه‌نویس میتونه سرعت یادگیری خودشو چند برابر کنه؟

━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
#مدیرکانال

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🔥1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت ۱۹
🚀 چطور سرعت یادگیری برنامه‌نویسی‌مونو بیشتر کنیم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

دو برنامه‌نویس تازه‌کارو تصور کن.
هر دو باید یک تکنولوژی جدید یاد بگیرن.

👨‍💻 نفر اول:
«بذار اول یه دوره ۳۰ ساعته کامل ببینم.»

👩‍💻 نفر دوم:
«من اول ببینم دقیقاً برای Task فعلی به چی نیاز دارم.»

یک هفته بعد...

نفر اول هنوز وسط دوره است.
نفر دوم یک قابلیت واقعی ساخته. 😅

کدوم روش بهتره؟

امروز درباره چیزی صحبت میکنیم که میتونه سرعت یادگیریتو خیلی بیشتر کنه:

یادگیری هدفمند.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🥰1
🧠 برای یادگیری سریعتر، لازم نیست همیشه بیشتر یاد بگیری؛ باید درستتر یاد بگیری.

یک روش ساده:

1️⃣ هدف مشخص کن
«می‌خوام Java یاد بگیرم.»
«میخوام با Java یک REST API ساده بسازم.»

2️⃣ فقط چیزهای موردنیازتو پیدا کن
لازم نیست تمام مستندات یا یک دوره ۵۰ ساعته رو کامل بخونی.

3️⃣ سریع وارد عمل شو
چیزی که یاد گرفتیو در یک پروژه کوچیک استفاده کن.

4️⃣ با مشکل واقعی روبه‌رو شو
وقتی گیر کردی، تحقیق کن.

5️⃣ چیزی که یاد گرفتی رو دوباره استفاده کن
این مرحله باعث میشه دانش از حالت «اطلاعات» به «مهارت» تبدیل بشه.

📌 یادگیری واقعی = یاد گرفتن → استفاده کردن → اشتباه کردن → اصلاح کردن

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
🎯 یک سؤال برای کاربرای ProgrammerCity:

وقتی میخوای یک تکنولوژی جدید یاد بگیری، کدوم روشو بیشتر انجام میدی؟

1️⃣ یک دوره کامل میبینم.
2️⃣ مستندات رو میخونم.
3️⃣ با یک پروژه کوچیک شروع میکنم.
4️⃣ همزمان از چند منبع استفاده میکنم.

👇 شماره گزینه رو مشخص کن.

📅 فردا میریم سراغ یک موقعیت خیلی واقعی:

«یک تکنولوژی جدید بهت دادن و هیچ چیزی ازش نمیدونی؛ از کجا شروع کنی؟» 📚

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
💼 از دانشگاه تا شرکت
🚀 فصل دوم | قسمت ۲۰
📚 چطور یک تکنولوژی جدیدو یاد بگیریم؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

لید تیم میاد سراغت:

«برای Task بعدی باید با Redis کار کنی.»

تو:

🙂 «حتماً.»

ولی در ذهنت:

😐 «Redis دیگه چیه؟!»😂

این اتفاق برای یک برنامه‌نویس کاملاً طبیعیه.

در دنیای واقعی قرار نیست همه تکنولوژی‌ها رو از قبل بلد باشی.

مهم اینه که بلد باشی چطور یک چیز جدیدو یاد بگیری.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
📚 وقتی با یک تکنولوژی جدید روبه‌رو شدی، این مسیرو امتحان کن:

① اول بفهم دقیقاً چیست.

مثلاً: Redis چه مشکلیو حل میکنه؟

② کاربرد اصلیش رو پیدا کن.

کجا ازش استفاده میشه؟

③ مستندات رسمیو ببین.

نه اینکه از اول تا آخر بخونیش!
فقط بخش‌هایی که برای شروع نیاز داری.

④ یک مثال ساده اجرا کن.

مثلاً یک پروژه خیلی کوچیک بساز.

⑤ بعد سراغ استفاده واقعی برو.

حالا چیزی که یاد گرفتیو در Task خودت استفاده کن.

📌 لازم نیست قبل از شروع کار، متخصص یک تکنولوژی باشی.

باید بلد باشی به اندازه‌ای یاد بگیری که بتونی مسئله فعلیو حل کنی.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🎯 چالش امروز

فرض کن فردا وارد یک پروژه میشی و میبینی باید با یک تکنولوژی کار کنی که تا حالا اسمشو هم نشنیدی.

اولین کاری که میکنی چیه؟

1️⃣ یک دوره کامل درباره‌ش پیدا میکنم.
2️⃣ از هوش مصنوعی میپرسم.
3️⃣ مستندات رسمی و یک مثال ساده رو بررسی میکنم.
4️⃣ از هم‌تیمی‌ام میخوام همه‌چیزو برام توضیح بده.

👇 شماره گزینه رو بنویس و اگر گزینه دیگه‌ای داری، خودت پیشنهاد بده.

📅 قسمت بعدی میرسیم به یکی از مهم‌ترین مهارت‌های یک برنامه‌نویس:

🔎 چرا «خوب سرچ کردن» خودش یک مهارت برنامه‌نویسیه؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1
💼 از دانشگاه تا شرکت | قسمت ۲۱
🔎 چرا «خوب سرچ کردن» یک مهارت برنامه‌نویسیه؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

یک خطای عجیب داری:

NullPointerException

اولین کاری که میکنی چیه؟

😐 «این دیگه چرا اتفاق افتاد؟!»

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

اما یک برنامه‌نویس باتجربه احتمالاً خیلی سریع میره سراغ سرچ.

چون یک واقعیت مهم وجود داره:

🔎 برنامه‌نویس حرفه‌ای کسی نیست که همه جواب‌ها رو حفظ باشه؛ کسیه که بلد باشه جواب درستو پیدا کنه.

امروز میخوایم ببینیم چطور درست سرچ کنیم. 👇

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1😍1
🔎 سرچ کردن در برنامه‌نویسی خودش یک مهارته.

مثلاً این جستجو خیلی کلیه:

Java error

اما این یکی خیلی بهتره:

NullPointerException when accessing object Java

و اگر اطلاعات بیشتری داشته باشی، حتی بهتر:

Java NullPointerException ArrayList get index after removing element

یعنی هرچه مسئله رو دقیق‌تر توصیف کنی، احتمال پیدا کردن جواب مناسب بیشتر میشه.

یک نکته مهم دیگه:

📌 فقط اولین جواب Google یا Stack Overflow رو کپی نکن!

اول بفهم:

🔹 مشکل از کجاست؟
🔹 راه‌حل چرا کار میکنه؟
🔹 آیا با نسخه فعلی پروژه تو سازگاره؟

کپی کردن راه‌حل ≠ حل کردن مسئله

حل مسئله یعنی بفهمی چرا اون راه‌حل جواب داده.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🎯 چالش ProgrammerCity

فرض کن این خطا رو داری:

TypeError: Cannot read properties of undefined

به جای اینکه بنویسی:

«چرا این ارور میاد؟»

یک عبارت جستجوی دقیق‌تر برای پیدا کردن راه‌حل بنویس.

🔎 عبارت پیشنهادی خودتو همین‌جا بنویس.

فردا یک قدم از آموزش جلوتر میریم...

چون همیشه قرار نیست خودت ساعت‌ها دنبال راه‌حل بگردی. 😉

📅 فردا درباره این صحبت میکنیم که چه زمانی خودت مشکلو حل کنی و چه زمانی از یک متخصص کمک بگیری.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
💼 از دانشگاه تا شرکت | قسمت ۲۲
🆘 چه زمانی خودت حلش کنی و چه زمانی از متخصص کمک بگیری؟

🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی...

سه ساعت گذشته.
یک خطای عجیب داری.
مستنداتو خوندی.
چندین سرچ انجام دادی.
سایت Stack Overflow رو زیر و رو کردی.
حتی چند راه‌حل مختلفو هم امتحان کردی...

اما هنوز:

مشکل حل نشده.

اینجا یک سؤال مهم مطرح میشه:

🤔 آیا باید باز هم ادامه بدم یا از یک متخصص کمک بگیرم؟

جواب همیشه «بیشتر تلاش کن» نیست.

گاهی کمک گرفتن، خودش یک مهارت حرفه‌ایه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🧠 قبل از اینکه برای حل یک مشکل از کسی کمک بگیری، این ۴ کارو انجام بده:

1️⃣ مشکلو دقیق مشخص کن.
2️⃣ پیام خطا رو کامل بخون.
3️⃣ راه‌حل‌هایی که امتحان کردی یادداشت کن.
4️⃣ چند دقیقه برای پیدا کردن علت وقت بذار.

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

و اینجا دقیقاً جاییه که ProgrammerCity میتونه در کنارت باشه. 💻

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

📩 قبل از اینکه ساعت‌ها زمانتو صرف یک مشکل کنی، میتونی از یک متخصص کمک بگیری.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1