The Commit
رفتن به کانال در Telegram
توسعه میدیم و توی راه توسعه چالش ها و مشکلات رو به اشتراک میزاریم (: @TheLinuxGP
نمایش بیشتر419
مشترکین
+124 ساعت
+27 روز
+630 روز
آرشیو پست ها
419
LINUX USERS ARE NOT HACKERS!
LINUX USERS ARE NOT HACKERS!
LINUX USERS ARE NOT HACKERS!
LINUX USERS ARE NOT HACKERS!
LINUX USERS ARE NOT HACKERS!
LINUX USERS ARE NOT HACKERS!
LINUX USERS ARE NOT HACKERS!
419
میگن که ۲۲ بهمن قراره تلگرام و یوتیوب رفع بشن ولی چند ساله این حرف زده میشه !
میمونیم بینم چی میشه ( روش حساب نکنید😂 )
419
۳. کد اسپاگتی (Spaghetti Code)
به نوعی از کد اشاره داره که خیلی بههمریخته و بینظم نوشته شده و در نتیجه خوندن و درک کردنش سخت میشه. وقتی کد شما مثل یه کاسه اسپگتی درهم و برهم میشه، باید مراقب باشید چون این کار باعث میشه که دیگه بهراحتی نتونید مشکلات رو پیدا کنید یا تغییرات لازم رو اعمال کنید. این نوع کد معمولاً به خاطر نداشتن ساختار و عدم رعایت الگوهای مناسب طراحی ایجاد میشه.
مثال:
فرض کنید ما قصد داریم یک برنامه ساده برای مدیریت کتابها بنویسیم. در اینجا یک مثال از کد Spaghetti Code رو میبینید:
books = []
def add_book(title, author, year):
books.append({'title': title, 'author': author, 'year': year})
print(f"کتاب '{title}' با موفقیت اضافه شد.")
def list_books():
if not books:
print("هیچ کتابی وجود ندارد.")
else:
for book in books:
print(f"عنوان: {book['title']}, نویسنده: {book['author']}, سال: {book['year']}")
def delete_book(title):
for book in books:
if book['title'] == title:
books.remove(book)
print(f"کتاب '{title}' حذف شد.")
return
print(f"کتاب '{title}' پیدا نشد.")
add_book("کتاب اول", "نویسنده اول", 2021)
add_book("کتاب دوم", "نویسنده دوم", 2020)
list_books()
delete_book("کتاب اول")
list_books()
توی این کد، همهی منطقها در یک فایل و بدون هیچ گونه ساختار خاصی شکل گرفته. با افزایش تعداد کتابها یا ویژگیها، مدیریت این کد به شدت دشوار و احتمال بروز خطا بیشتر میشه.
به طور کلی
برای جلوگیری از Spaghetti Code، پیشنهاد میشه که کد خودتون رو به ماژولهای کوچیکتر و منظمتر تقسیم کنید و از الگوهای طراحی استفاده کنید تا کد شما قابل نگهداری و فهمتر بشه.419
چون من دیدم شماهم ببینید
اولین بلاک از بیت کوین که ریواردی که داده ( جایزه ) ۵۰ تا بیت کوین هستش
چیزی حدود ۴،۵ میلیون دلار با قیمت ۹۰ هزار تا !
https://www.blockchain.com/explorer/blocks/btc/0
419
۲. شیء خدا (God Object) در برنامهنویسی شیءگرا به شیء یا کلاسی اشاره داره که تمام کارها رو انجام و همهچیز رو میدونه!. این موضوع میتونه به پیچیدگی و درهم ریختگی کد هم منجر بشه. مثلا یک شیء میتونه مسئولیتهای زیادی رو بر عهده بگیره، که باعث سردرگمی و دشواری نگهداری میشه
روش صحیح اینه که مشکلات بزرگ رو به بخشهای کوچکتر تقسیم کنیم. هر شی باید تنها مسئولیتهای خاصی رو در راستای حل یک مشکل محدود بر عهده بگیره. این کار کمک میکنه تا کد سازماندهیشده و قابلفهمتری داشته باشیم.
مثالی برای شی خدا بصورت زیر هست:
class ShoppingCart:
def __init__(self):
self.items = []
def add_item(self, item):
self.items.append(item)
def remove_item(self, item):
self.items.remove(item)
def checkout(self):
total = sum(item.price for item in self.items)
print(f'Total amount: {total}')
cart = ShoppingCart()
cart.add_item(Item("Apple", 1.5))
cart.add_item(Item("Banana", 1.0))
cart.checkout()419
۲. شیء خدا (God Object) در برنامهنویسی شیءگرا به شیء یا کلاسی اشاره داره که تمام کارها رو انجام و همهچیز رو میدونه!. این موضوع میتونه به پیچیدگی و درهم ریختگی کد هم منجر بشه. مثلا یک شیء میتونه مسئولیتهای زیادی رو بر عهده بگیره، که باعث سردرگمی و دشواری نگهداری میشه
روش صحیح اینه که مشکلات بزرگ رو به بخشهای کوچکتر تقسیم کنیم. هر شی باید تنها مسئولیتهای خاصی رو در راستای حل یک مشکل محدود بر عهده بگیره. این کار کمک میکنه تا کد سازماندهیشده و قابلفهمتری داشته باشیم.
مثالی برای شی خدا بصورت زیر هست:
class ShoppingCart:
def __init__(self):
self.items = []
def add_item(self, item):
self.items.append(item)
def remove_item(self, item):
self.items.remove(item)
def checkout(self):
total = sum(item.price for item in self.items)
print(f'Total amount: {total}')
cart = ShoppingCart()
cart.add_item(Item("Apple", 1.5))
cart.add_item(Item("Banana", 1.0))
cart.checkout()419
کتابخانه Tortoise ORM در پایتون یکی از ابزارهای جذاب برای کار با دیتابیسهاست. این کتابخانه به صورت غیرهمزمان (asynchronous) طراحی شده و میتوانه با پایگاهها دادههایی مثل PostgreSQL، MySQL و SQLite ارتباط برقرار کنه.
https://tortoise.github.io/
419
۱. اختراع دوباره چرخ در دنیای نرمافزار به معنای تکرار کارهایی هست که قبلا توسط بقیه انجام شده. به عبارتی، وقتی برنامهنویس به جای استفاده از راهحلهای موجود، به سراغ ایجاد دوباره ابزار یا متدهایی میره که قبلا ساخته شده، به این وضعیت به اصطلاح میگن اختراع دوباره چرخ.
این موضوع اتلاف وقت و منابع رو در پی داره. چرا که برنامهنویس به جای اینکه روی مشکلات جدید تمرکز کنه، به سراغ مسائلی میره که بقیه قبلا اونها رو حل کردن.
توصیه میشه تیمها به جای اختراع دوباره، از ابزارها و کتابخانههای موجود استفاده کنن و روی نواوریهای واقعی و حل مشکلات جدید تمرکز کنن. این شیوه باعث میشه بهرهوری بیشتری داشته باشن و زمان و تلاش خودشون رو به شکل بهتری مدیریت کنن
419
ضدالگوها در صنعت نرمافزار
قصد دارم از امشب طی چند پست مجزا به موضوعی جالب در دنیای توسعه نرمافزار بپردازم: "ضدالگوها". شاید تا حالا اسمش رو شنیده باشید، اما بیاید یه نگاهی بهش بندازیم. ضدالگوها، همینطور که از اسمشون پیداست، الگوهای منفیای هستن که میتونن پروژههای نرمافزاری رو به خطر بندازن. در واقع، اینها رفتارها یا تصمیماتی هستن که در ظاهر ممکنه منطقی به نظر بیان، ولی در نهایت به مشکلات بزرگی منجر میشن.
امشب اولین پست رو میزارم. طولانی نیستن و گمون نمیکنم از ۴ - ۵ پست بیشتر بشه
419
اینشتین، هایزنبرگ و نیوتن داشتن قایم موشک بازی میکردن. اینشتین چشم میذاره؛ شمردنش که تموم میشه برمیگرده میبینه نیوتن یه مربع یک در یک کشیده توش وایستاده. سریع میگه پیدات کردم! نیوتن سُک سُک. نیوتن میگه نخیر من که نیوتن نیستم. اینشتین میپرسه یعنی چی پلشت؟ نیوتن جواب میده من توی یک مربع یک در یک هستم که من رو نیوتن برمتر مربع میکنه. از اونجایی که نیوتن برمتر مربع برابر یک پاسکال میشه، بنابراین من پاسکالم. پس باید میگفتی پاسکال سُک سُک.
419
بلوک دیاگرام بیسیک cpu هستش…
همون بیوی گیت هابم ( step by step )
تمام پروژه های توی دنیا همینجورین و وقتی مرحله و با برنامه برید جلو وقتی به ارور یا مشکلی بخورید دیباگ کردن خیلی اسون تر میشه خدا میدونه چقدر برای طراحیش فکر و خلاقیت و تحقیق پشتشه خوشحال میشم اگر کسی بیشتر میدونه بهمون در موردش بگه (((:
419
غم انگیز که گفتم منظورم برای انویدیا هستش وگرنه منم مخالف این هستم که بعضی از دوستان میگن چون ساخت چین هستش نباید باهاش کار کرد…
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
