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

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

لینک ناشناسمون:
https://t.me/BitnetChat_bot?start=sec-ehdiahcie
Download Telegram
📚 وقتی با یک تکنولوژی جدید روبه‌رو شدی، این مسیرو امتحان کن:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NullPointerException

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

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

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

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

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

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

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

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

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

Java error

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

NullPointerException when accessing object Java

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

Java NullPointerException ArrayList get index after removing element

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

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

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

اول بفهم:

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

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

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

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

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

TypeError: Cannot read properties of undefined

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

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

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

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

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

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

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

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

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

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

اما هنوز:

مشکل حل نشده.

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

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

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

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

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

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

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

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

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

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

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🚀 از این به بعد یک بخش جدید هم به ProgrammerCity اضافه می‌کنیم:

## 💻 خدمات برنامه‌نویسی و کامپیوتری

اگر برای پروژه یا کار برنامه‌نویسی‌ات به مشکل خوردی، میتونی برای بررسی با ما در ارتباط باشی.

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

📌 هدف ما این نیست که فقط جواب آماده تحویلت بدیم؛
میخوایم مشکلو پیدا کنیم و راه‌حل درستشو بهت ارائه بدیم.

📩 اگر مشکلی داری که چند ساعته درگیرشی، همین الان پیام بده و مشکل رو توضیح بده.

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

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
2🔥1
🔥فصل Case Study #1 | وقتی یک خطای ساده، ساعت‌ها وقتتو میگیره

🐞بریم سراغ یک خطای ساده که میتونه چند ساعت وقتتو بگیره!

فرض کن داری با Java کار میکنی و این کدو داری:

String name = null;
System.out.println(name.length());

برنامه اجرا میشه...

💥 و ناگهان:

NullPointerException

حالا یک برنامه‌نویس تازه‌کار ممکنه سریع بره سراغ Google و یک راه‌حل آماده کپی کنه.

اما قبل از اون، یک سؤال مهم:

اصلاً چرا این خطا اتفاق افتاده؟

بیایم قدم‌به‌قدم بررسیش کنیم. 👇

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
2🔥1
🔍 مشکل کجاست؟

اینجا:
String name = null;

یعنی متغیر name فعلاً به هیچ Object معتبری اشاره نمیکنه.

حالا این خطو ببین:

name.length();

ما داریم متدی رو روی چیزی صدا میزنیم که وجود نداره!

پس Java میگه:

🚨 NullPointerException

یکی از راه‌های ساده برای جلوگیری:

if (name != null) {
System.out.println(name.length());
}

حالا قبل از استفاده از name بررسی میکنیم که null نباشه.

📌 نکته مهم:

فقط حفظ کردن اینکه
«NullPointerException یعنی null»
کافی نیست.

باید یاد بگیری بفهمی:

کدوم متغیر null شده؟
چرا null شده؟
کجا ازش استفاده شده؟

این یعنی Debugging واقعی. 🧠

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
2🔥1
🎯 حالا نوبت توعه!

اگر این خطا رو ببینی:

NullPointerException

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

1️⃣ مستقیم راه‌حل رو از اینترنت کپی میکنم.
2️⃣میرم Stack Trace رو بررسی میکنم.
3️⃣ کل کدو از اول مینویسم. 😅
4️⃣ از یه نفر کمک میگیرم.

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

📌 فردا یک سؤال مهم‌تر:

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

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
2🔥1
🚀 بخش Case Study #2 | همه مشکلاتو نباید خودت حل کنی!

ساعت ۹ صبح:

یک خطا داری.

ساعت ۱۰:

هنوز خطا داری.

ساعت ۱۲:

سه Stack Overflow خوندی.

ساعت ۲:

پنج راه‌حل مختلف امتحان کردی.

ساعت ۳:

هنوز همون خطاست! 😂

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

🤔 آیا ادامه دادن همیشه نشونه پشتکاره؟

نه لزوماً.

گاهی اوقات حرفه‌ای‌ترین تصمیم اینه که بفهمی:

«این مشکلو خودم حل کنم یا از یک متخصص کمک بگیرم؟»

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

اول تلاش کن → بعد تحقیق کن → بعد کمک بگیر.

یعنی:

① مشکلو دقیق مشخص کن.

② همه Error و Stack Trace رو بخون.

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

④ چند راه‌حل منطقیو امتحان کن.

⑤ اگر هنوز به نتیجه نرسیدی، کمک بگیر.

اما یک نکته مهم:

کمک گرفتن یعنی «من برنامه‌نویسی بلد نیستم».

نه!

کمک گرفتن یعنی داری زمانتو مدیریت میکنی.

اگه یک مشکل ۵ ساعت از وقتتو میگیره و یک متخصص میتونه در ۳۰ دقیقه علتشو پیدا کنه، شاید ادامه دادن بهترین تصمیم نباشه.

زمان هم یک منبعه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👍1
💻 از امروز اگر در پروژه یا کدت به مشکل خوردی، میتونی روی ProgrammerCity حساب کنی.

ما در زمینه‌های مختلف برنامه‌نویسی میتونیم بهت کمک کنیم، از جمله:

🔹 بررسی و رفع خطاهای کد
🔹انجام Debugging و پیدا کردن علت مشکل
🔹 بررسی و اصلاح کد
🔹 کمک در بخش‌های مشخص پروژه
🔹 مشاوره و راهنمایی پروژه
🔹 بررسی ساختار و مشکلات فنی پروژه

📩 برای درخواست بررسی:

1️⃣ زبان/تکنولوژی پروژه رو بگو.
2️⃣ مشکلتو توضیح بده.
3️⃣ اگر Error داری، متن کاملشو بفرست.
4️⃣ در صورت امکان، بخش مربوط به کدو ارسال کن.

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

🎯 هدف ما اینه که به جای ساعت‌ها درگیر شدن با یک مشکل، سریعتر به یک راه‌حل درست برسی.

📨 برای مشاوره و بررسی پروژه:
[ID: @Fahimeh_riahi]

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1👏1
🛠 مشکل واقعی یک برنامه‌نویس | Case Study #2

یک جدول Users داریم:

👤 Ali — فعال
👤 Sara — غیرفعال
👤 Reza — فعال

حالا میخوایم فقط کاربران فعالو نمایش بدیم.

یک نفر این Query رو مینویسه:

SELECT * FROM Users
WHERE Status = Active;

اما...

💥 Error!

🤔 به نظرت مشکل کجاست؟

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

گاهی فقط یک جزئیات کوچیک باعث میشه کل کد کار نکنه!

امروز قدم‌به‌قدم بررسیش میکنیم. 👇

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1👏1
🔍 مشکل این Query چیه؟

SELECT * FROM Users
WHERE Status = Active;

در SQL اگر مقدار Active یک مقدار متنی باشه، باید داخل کوتیشن قرار بگیره:

شکل درست:

SELECT * FROM Users
WHERE Status = 'Active';

حالا Query میتونه مقدار موردنظرو به‌عنوان متن مقایسه کنه.

📌 اما نکته مهم‌تر اینه:

وقتی یک Query کار نمیکنه، فقط دنبال «نسخه درست» نباش!

اول بررسی کن:

🔹 نوع داده ستون چیه؟
🔹 مقدار واقعی داخل جدول چیه؟
🔹 متنو درست نوشتی؟
🔹 شرط WHERE دقیقاً چیو بررسی میکنه؟

🧠پس Debugging یعنی مرحله‌به‌مرحله دنبال علت گشتن؛ نه اینکه تصادفی کدهای مختلفو امتحان کنیم.


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

این Query چه کاربرانیو برمیگردونه؟

SELECT * FROM Users
WHERE Age >= 18
AND Status = 'Active';

1️⃣ تمام کاربران
2️⃣ فقط کاربران فعال
3️⃣ کاربران فعال با سن ۱۸ سال یا بیشتر
4️⃣ کاربران با سن کمتر از ۱۸ سال

👇 جواب درستو با شماره گزینه مشخص کن.

📅 فردا میریم سراغ یک مشکل رایج دیگه:

🐍 یک خطای Python که خیلی‌ها در اولین پروژه‌هاشون باهاش روبه‌رو میشن!

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

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
1🔥1👏1
🛠 مشکل واقعی یک برنامه‌نویس | Case Study #3

این کد Python رو ببین:

numbers = [1, 2, 3, 4]

for i in range(5):
print(numbers[i])

به نظرت چه اتفاقی میفته؟ 🤔

کد شروع به اجرا میکنه:

1
2
3
4

اما بعد...

💥 Error!

چرا؟

امروز میخوایم این خطا رو مثل یک Debugger بررسی کنیم. 👇

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

numbers = [1, 2, 3, 4]

اندیس‌هاش:

0️⃣ → 1
1️⃣ → 2
2️⃣ → 3
3️⃣ → 4

اما:

range(5)

این اعداد رو تولید میکنه:

0, 1, 2, 3, 4

وقتی i به 4 میرسه، Python دنبال این میگرده:

numbers[4]

اما چنین عضوی وجود نداره!

💥 IndexError

یک راه‌حل:

for i in range(len(numbers)):
print(numbers[i])

یا ساده‌تر:

for number in numbers:
print(number)

📌 قبل از اینکه Error رو حفظ کنی، یاد بگیر علتشو پیدا کنی.

ارور، دشمن برنامه‌نویس نیست؛ یک سرنخه. 🕵️‍♀️

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
@programercity
━━━━━━━━━━━━━━━━━━
🏆1
🎯 حالا نوبت توئه!
اگر این خطا رو ببینی:

IndexError: list index out of range

اولین چیزی که بررسی میکنی چیه؟

1️⃣ تعداد اعضای لیست و Index مورد استفاده
2️⃣ نسخه Python
3️⃣ اتصال اینترنت
4️⃣ کل کد رو پاک میکنم و دوباره مینویسم 😅

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

💻 اگر تو هم روی پروژه‌ات با Error یا Bug درگیری، میتونی اطلاعات مشکلت رو برای ProgrammerCity بفرستی تا بررسی کنیم.

فقط این‌ها رو ارسال کن:

🔹 زبان یا تکنولوژی مورد استفاده
🔹 توضیح مشکل
🔹 متن کامل Error
🔹 بخش مرتبط کد

📩 گاهی فقط یک جزئیات کوچیک، علت مشکلیه که ساعت‌ها درگیرشی.

فردا میتونیم بریم سراغ یک موضوع جذاب‌تر:

🔐 یک اشتباه رایج در پروژه‌های واقعی که میتونه باعث مشکل امنیتی بشه!

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