CodeBaz.dev
696 subscribers
673 photos
108 videos
155 files
495 links
من، محمدرضا کسائی، برنامه‌نویس فول‌استک در تپسی و مدرس پایتون و جنگو در مجتمع فنی تهران هستم. در اینجا قصد دارم تجربیات و دانش خود را در زمینه‌های مختلف برنامه‌نویسی با شما به اشتراک بگذارم.
https://CodeBaz.dev
https://x.com/CodebazDev
Download Telegram
حماسه ای دیگر از chat gpt 😂😂
Channel name was changed to «Code With Mmreza»
توی این سایت می‌تونید اطلاعات خوبی در مورد شرکت‌ها به دست بیارید. اگه خواستید یه جا استخدام بشید حتما قبلش بیاید همه نظراتی که در موردش تو این سایت هست بخونید تا یه موقع ضرر نکنید!
https://tajrobe.wiki/
این هم آدرس کانالش هست
https://t.iss.one/wiki_tajrobe
@codewithmmreza
یه بار تو گیت حواسم نبود که توی هیچ برنچی نیستم! صرفا روی یک کامیت خاص بودم. کلی کار انجام دادم و کامیت کردم. بعد رفتم به برنچ dev و دیدم عه!!!
کامیتم رو گم کردم چون از پلاگین git graph تو vs code استفاده میکنم و دیگه کامیتم توش نشون داده نمیشد.
خلاصه که رفتم سراغ حضرت chat gpt و پرسیدم که چه کنم کامیتم اینطوری شده که گم شده. دستور زیر رو معرفی کرد. که مشکلم رو حل کرد.
اگه با یه سینیور مصاحبه داشته باشم و بخوام ببینم چقدر گیت بلده این سناریو رو مطرح میکنم ببینم راه حلش چیه
git reflog

@codewithmmreza
سلام دوستان
این پیام آگهی نیست. دوستم ازم خواست کمکش کنم برای همین با شما به اشتراک میذارم
یک موقعیت همکاری هست که با شما به اشتراک میذارم
یه شرکتی هست به اسم خوارزمی که از سیستم های بانک های اقتصاد نوین و پارسیان و آینده پشتیبانی میکنه.
ساعت کار از ۷:۳۰ تا ۱۴ هست و نحوه کار بدین شکل هست که شما در منزل پای گوشی میشینید و در صورتی که خرابی یا پشتیبانی نیاز شد، این درخواست به گوشی تون ارسال میشه و شما با حضور در شعبه مورد نظر که مشکل براش پیش اومده مشکل رو حل میکنید. برای حل این مشکلات لازمه که بتونید کار هایی مثلا نصب ویندوز و بررسی مشکلات شبکه و حل مشکلات شبکه و ... بلد باشید. در واقع ICDL بلد باشید و Network+ ظاهرا کافیه
شرایط کار بدین شکله:
+ کارت پایان خدمت یا معافیت لازمه
+ محدوده همکاری شرق تهران
+ حقوق ۳ ماه اول وزارت کاری و بعد از اون بنا به شرایط بین ۱۵ تا ۲۰ تومان متغیر
+ ساعت کار از ۷:۳۰ تا ۱۴
+ بیمه تامین اجتماعی
+ امکان دریافت وام از صندق شرکت

خوبی این کار اینه که میتونید با کارکنان شعب نتورک بزنید و اگه درخواست وامی چیزی داشتید ازشون کمک بگیرید. یه جورایی یعنی میتونه کمک‌تون کنه کارهایی مثل وام گرفتن و ... تون راحت تر تو این بانک ها انجام بشه و همچنین بعد از ساعت ۱۴ میتونید به شغل دوم مشغول بشید

بازم میگم این پیام آگهی نیست. من فقط خواستم به اشتراک بذارم چون دوستم داره از شرکت میاد بیرون میخواد سریع تر برای خودش جایگزین پیدا کنه
اگر مایل به همکاری بودید توی سایت جاب‌ویژن اسم شرکت «توسعه فناوری اطلاعات خوارزمی» رو سرچ کنید و براشون رزومه بفرستید.
فرصت به شدت محدوده و نهایت یک هفته فرصت هست
ظاهرا این امکان هم فراهم هست که بشه به تیم های برنامه‌نویسی شرکت هم بعد از مدتی وارد شد
👍3
تفاوت list و tuple رو میدونید؟
لطفا در کامنت بنویسید
Anonymous Poll
78%
بله
22%
خیر
CodeBaz.dev
تفاوت list و tuple رو میدونید؟
لطفا در کامنت بنویسید
📚 تفاوت لیست و تاپل در پایتون

1️⃣ تغییرپذیری (Mutability):
- 🔸 لیست: قابل تغییر است.

     # مثال:
my_list = [1, 2, 3]
my_list[0] = 10 # تغییر عنصر
my_list.append(4) # اضافه کردن عنصر جدید
print(my_list) # خروجی: [10, 2, 3, 4]

- 🔹 تاپل: غیرقابل تغییر است.

     # مثال:
my_tuple = (1, 2, 3)
# my_tuple[0] = 10 # خطا : تاپل تغییرپذیر نیست!
print(my_tuple) # خروجی: (1, 2, 3)

---

2️⃣ کاربردها:
- لیست: برای داده‌های تغییرپذیر، مثل لیست خرید:

     shopping_list = ["milk", "bread", "eggs"]
shopping_list.append("cheese") # اضافه کردن محصول جدید
print(shopping_list) # خروجی: ['milk', 'bread', 'eggs', 'cheese']

- تاپل: برای داده‌های ثابت، مثل مختصات جغرافیایی:

     coordinates = (35.6892, 51.3890)  # مختصات تهران
print(coordinates) # خروجی: (35.6892, 51.3890)

---

3️⃣ سرعت و عملکرد:
- تاپل‌ها به دلیل غیرقابل تغییر بودن (immutable) و متدهای کمتر سریع‌تر هستند.

     print("تعداد متدهای لیست:", len(dir(list)))  # تعداد متدهای لیست
print("تعداد متدهای تاپل:", len(dir(tuple))) # تعداد متدهای تاپل

نتیجه:
لیست‌ها متدهای بیشتری مثل append، remove و غیره دارند که نیاز به مدیریت حافظه و عملکرد بیشتر دارند. این موضوع باعث کاهش سرعت نسبی آن‌ها می‌شود.

---

4️⃣ استفاده در دیکشنری:
- لیست نمی‌تواند به عنوان کلید استفاده شود، اما تاپل می‌تواند.

     # مثال:
my_dict = {("latitude", "longitude"): "Tehran"}
print(my_dict[("latitude", "longitude")]) # خروجی: Tehran

---

5️⃣ حجم حافظه:
- لیست‌ها به دلیل ساختار پیچیده‌تر و متدهای بیشتر، حافظه بیشتری نسبت به تاپل‌ها اشغال می‌کنند.
با استفاده از تابع dir می‌توان تفاوت تعداد متدها و ساختارها را مشاهده کرد:


     import sys

sample_list = [1, 2, 3]
sample_tuple = (1, 2, 3)

print("تعداد متدهای لیست:", len(dir(sample_list))) # تعداد متدهای لیست
print("تعداد متدهای تاپل:", len(dir(sample_tuple))) # تعداد متدهای تاپل

print("حجم لیست:", sys.getsizeof(sample_list), "بایت") # حجم لیست
print("حجم تاپل:", sys.getsizeof(sample_tuple), "بایت") # حجم تاپل

نتیجه:
- تعداد متدها:
لیست‌ها متدهای بیشتری نسبت به تاپل‌ها دارند، که نشان‌دهنده پیچیدگی بیشتر آن‌ها است:
- تعداد متدهای لیست: 47
- تعداد متدهای تاپل: 33
- حجم حافظه:
- حجم لیست: بیشتر است زیرا ساختار داده‌ای آن باید قابلیت مدیریت تغییرات (مثل افزودن یا حذف عناصر) را داشته باشد.
- حجم تاپل: کمتر است زیرا ساختار ساده‌تری دارد و تغییرپذیر نیست.

تحلیل:
پیچیدگی بیشتر لیست‌ها و متدهای اضافه باعث افزایش سربار حافظه می‌شود. برای مثال، متدهایی مانند append و remove نیازمند حافظه اضافی برای ذخیره اطلاعات مربوط به تغییرات هستند، اما تاپل‌ها چون غیرقابل تغییر هستند، نیازی به این حافظه اضافی ندارند.

---

🎯 مقایسه خلاصه:
- لیست: تغییرپذیر، متدهای بیشتر، حجم بیشتر، مناسب داده‌های پویا.
- تاپل: غیرقابل تغییر، متدهای کمتر، حجم کمتر، مناسب داده‌های ثابت.

#پایتون_پیشرفته
👍63
print(1 == 1.0)
print(1 is 1.0)
CodeBaz.dev
print(1 == 1.0) print(1 is 1.0)
به نظرتون خروجی کد بالا چی میشه؟
Anonymous Quiz
10%
False False
20%
False True
17%
True True
54%
True False
CodeBaz.dev
خروجی کد بالا چی میشه؟
این سوال نکته داشت
خیلی ها اشتباه پاسخ دادند
دلیلش به صورت خلاصه اینه که اعداد کوچک و یه سری مقادیر تو پایتون cache میشن
به زودی یه مقاله در موردش مینویسم و بیشتر توضیح میدم در موردش
👍3
CodeBaz.dev
خروجی کد بالا چی میشه؟
پایتون هم مثل لینوکس توزیع های مختلفی داره
مثلا iron python و jython و CPython و ...
اگر نمیدونید از کدومش استفاده میکنید، شما دارید از نسخه CPython استفاده می‌کنید. این همون نسخه‌ای هست که تو python.org قرار داره
تو این توزیع از پایتون، اعداد صحیح از -۵ تا ۲۵۶ تو خود پایتون cache میشن و اگه بهشون کاری نداشته باشیم برای خودشون تا آخر برنامه یه جایی از رم زندگی می‌کنند به همین دلیل id شون تا اخر ثابت می‌مونه به همین دلیل هست که در این سوال، گزینه سوم درست میشه
به زودی یه مقاله منتشر میکنم و توضیحات بیشتری میدم
@CodeBazDev
👍4
میدونید بهترین روش پولدار شدن با برنامه نویسی شی‌گرا (oop) چیه؟
.
.
.
.
ارت بری 😂
@CodeBazDev
#joke
🤣7
یه اتفاق جالب برام افتاده
تو ۳۰ روز گذشته +50 امتیاز تو استک اورفلو فقط برای یک پاسخ مربوط به routing توی expo به دست آورده ام.
دو تا چیز میشه فهمید
- اول اینکه با وجود chat gpt هنوز stackoverflow داره به خوبی استفاده میشه. این نشون میده که chat gpt مشکلات پیچیده رو نمیتونه حل کنه هنوز
- دوم اینکه بریم expo یاد بگیریم. ظاهرا این روزا expo بیشتر رو بورسه
لینک این سوال تو استک‌اورفلو
@CodeBaz.dev
2
خیلی از تازه کاران نمیدونند که چطوری فکر کنند. یکی از همکارام دیروز یه هوش مصنوعی بهم معرفی کرد که اسمش DeepSeek هست. یه حالتی داره به اسم DeepThink که خیلی جالبه. اگه این حالتش رو فعال کنید میتونید ببینید که اون هوش مصنوعی چطوری فکر میکنه تا جواب شما رو بده.
این کمک میکنه که نحوه فکر کردن برای حل مسائل رو یاد بگیرید.
البته خیلی هنوز ازش استفاده نکرده ام و نمیدونم نسبت به chat gpt چقدر جواب هاش قابل اطمینان تره

https://www.deepseek.com/
@CodeBazDev
2👍2
لوتی جی‌پی‌تی 😂
@CodeBazDev
😁4
به نظر من یکی از سخت ترین کار های دنیا نوشتن کامنت مناسب برای یک کامیت هستش
نظر شما چیه؟
#git
@CodeBazDev
👌5💯2😭1