CodeBaz.dev
Ir al canal en Telegram
من، محمدرضا کسائی، برنامهنویس فولاستک در تپسی و مدرس پایتون و جنگو در مجتمع فنی تهران هستم. در اینجا قصد دارم تجربیات و دانش خود را در زمینههای مختلف برنامهنویسی با شما به اشتراک بگذارم. https://CodeBaz.dev https://x.com/CodebazDev
Mostrar más703
Suscriptores
Sin datos24 horas
-17 días
-730 días
Archivo de publicaciones
703
یه اتفاق جالب برام افتاده
تو ۳۰ روز گذشته +50 امتیاز تو استک اورفلو فقط برای یک پاسخ مربوط به routing توی expo به دست آورده ام.
دو تا چیز میشه فهمید
- اول اینکه با وجود chat gpt هنوز stackoverflow داره به خوبی استفاده میشه. این نشون میده که chat gpt مشکلات پیچیده رو نمیتونه حل کنه هنوز
- دوم اینکه بریم expo یاد بگیریم. ظاهرا این روزا expo بیشتر رو بورسه
لینک این سوال تو استکاورفلو
@CodeBaz.dev
703
میدونید بهترین روش پولدار شدن با برنامه نویسی شیگرا (oop) چیه؟
.
.
.
.
ارت بری 😂
@CodeBazDev
#joke
703
پایتون هم مثل لینوکس توزیع های مختلفی داره
مثلا iron python و jython و CPython و ...
اگر نمیدونید از کدومش استفاده میکنید، شما دارید از نسخه CPython استفاده میکنید. این همون نسخهای هست که تو python.org قرار داره
تو این توزیع از پایتون، اعداد صحیح از -۵ تا ۲۵۶ تو خود پایتون cache میشن و اگه بهشون کاری نداشته باشیم برای خودشون تا آخر برنامه یه جایی از رم زندگی میکنند به همین دلیل id شون تا اخر ثابت میمونه به همین دلیل هست که در این سوال، گزینه سوم درست میشه
به زودی یه مقاله منتشر میکنم و توضیحات بیشتری میدم
@CodeBazDev
703
این سوال نکته داشت
خیلی ها اشتباه پاسخ دادند
دلیلش به صورت خلاصه اینه که اعداد کوچک و یه سری مقادیر تو پایتون cache میشن
به زودی یه مقاله در موردش مینویسم و بیشتر توضیح میدم در موردش
703
جالبه که فقط نیمی از افراد پاسخ درست دادند.
یک کیلوگرم سیب و یک کیلوگرم گلابی هموزن هستند اما جنسشون فرق میکنه
حالا همین موضوع در اعداد هم صدق میکنه. به عبارتی 1و 1.0 مقدار برابری دارند اما جنس متفاوتی دارند.
برای درک عمیقتر این مقاله رو از کُدباز بخونید!
@CodeBazDev
703
📚 تفاوت لیست و تاپل در پایتون
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 نیازمند حافظه اضافی برای ذخیره اطلاعات مربوط به تغییرات هستند، اما تاپلها چون غیرقابل تغییر هستند، نیازی به این حافظه اضافی ندارند.
---
🎯 مقایسه خلاصه:
- لیست: تغییرپذیر، متدهای بیشتر، حجم بیشتر، مناسب دادههای پویا.
- تاپل: غیرقابل تغییر، متدهای کمتر، حجم کمتر، مناسب دادههای ثابت.
#پایتون_پیشرفته703
سلام دوستان
این پیام آگهی نیست. دوستم ازم خواست کمکش کنم برای همین با شما به اشتراک میذارم
یک موقعیت همکاری هست که با شما به اشتراک میذارم
یه شرکتی هست به اسم خوارزمی که از سیستم های بانک های اقتصاد نوین و پارسیان و آینده پشتیبانی میکنه.
ساعت کار از ۷:۳۰ تا ۱۴ هست و نحوه کار بدین شکل هست که شما در منزل پای گوشی میشینید و در صورتی که خرابی یا پشتیبانی نیاز شد، این درخواست به گوشی تون ارسال میشه و شما با حضور در شعبه مورد نظر که مشکل براش پیش اومده مشکل رو حل میکنید. برای حل این مشکلات لازمه که بتونید کار هایی مثلا نصب ویندوز و بررسی مشکلات شبکه و حل مشکلات شبکه و ... بلد باشید. در واقع ICDL بلد باشید و Network+ ظاهرا کافیه
شرایط کار بدین شکله:
+ کارت پایان خدمت یا معافیت لازمه
+ محدوده همکاری شرق تهران
+ حقوق ۳ ماه اول وزارت کاری و بعد از اون بنا به شرایط بین ۱۵ تا ۲۰ تومان متغیر
+ ساعت کار از ۷:۳۰ تا ۱۴
+ بیمه تامین اجتماعی
+ امکان دریافت وام از صندق شرکت
خوبی این کار اینه که میتونید با کارکنان شعب نتورک بزنید و اگه درخواست وامی چیزی داشتید ازشون کمک بگیرید. یه جورایی یعنی میتونه کمکتون کنه کارهایی مثل وام گرفتن و ... تون راحت تر تو این بانک ها انجام بشه و همچنین بعد از ساعت ۱۴ میتونید به شغل دوم مشغول بشید
بازم میگم این پیام آگهی نیست. من فقط خواستم به اشتراک بذارم چون دوستم داره از شرکت میاد بیرون میخواد سریع تر برای خودش جایگزین پیدا کنه
اگر مایل به همکاری بودید توی سایت جابویژن اسم شرکت «توسعه فناوری اطلاعات خوارزمی» رو سرچ کنید و براشون رزومه بفرستید.
فرصت به شدت محدوده و نهایت یک هفته فرصت هست
ظاهرا این امکان هم فراهم هست که بشه به تیم های برنامهنویسی شرکت هم بعد از مدتی وارد شد
703
یه بار تو گیت حواسم نبود که توی هیچ برنچی نیستم! صرفا روی یک کامیت خاص بودم. کلی کار انجام دادم و کامیت کردم. بعد رفتم به برنچ dev و دیدم عه!!!
کامیتم رو گم کردم چون از پلاگین git graph تو vs code استفاده میکنم و دیگه کامیتم توش نشون داده نمیشد.
خلاصه که رفتم سراغ حضرت chat gpt و پرسیدم که چه کنم کامیتم اینطوری شده که گم شده. دستور زیر رو معرفی کرد. که مشکلم رو حل کرد.
اگه با یه سینیور مصاحبه داشته باشم و بخوام ببینم چقدر گیت بلده این سناریو رو مطرح میکنم ببینم راه حلش چیه
git reflog
@codewithmmreza703
توی این سایت میتونید اطلاعات خوبی در مورد شرکتها به دست بیارید. اگه خواستید یه جا استخدام بشید حتما قبلش بیاید همه نظراتی که در موردش تو این سایت هست بخونید تا یه موقع ضرر نکنید!
https://tajrobe.wiki/
این هم آدرس کانالش هست
https://t.me/wiki_tajrobe
@codewithmmreza
703
سلام دوستان امیدوارم حالتون خوب باشه
دارم یه دوره آموزش کانکارنسی تو پایتون آماده میکنم. داشتم از chat gpt کمک میگرفتم که یه مثال جالبی زد که کلی خندیدم! گفتم شاید شما هم خوشتون بیاد برای همین اینجا با شما به اشتراک میذارم
703
دوستان یه دوره همی داریم خوشحال میشیم شما هم تشریف بیارید
داریم یه اپ با django و react و next.js و wordpress توسعه میدیم
میخواهیم pwa اش کنیم
الان ه داریم یکی دیگه از جلسات استریم رو شروع میکنیم اگه بیاید خوش حال میشیم
فقط لطفا حتما میکروفون تون رو میوت کنید
اگر صدای میکروفون اذیت کننده باشه با عرض پوزش مجبور میشیم remove کنیم
امشب رو تستی بریم اگه خوشتون اومد توضیحات بیشتری میدم که برای جلسات بعدی میخواهیم چیکار کنیم
روی لینک زیر کلیک کنید
https://meet.google.com/jtc-marf-toh
703
سلام
دوستان شبکه مستند چیز جالبی داره نشون میده
یک برنامه نویس ایرانی که تو ناسا کار میکرده رو نشون میده
