✔️ بررسی کیفیت کد با Pylint
یکی از چالشهای برنامهنویسی پایتون، رعایت استانداردهای کدنویسی و جلوگیری از خطاهای پنهان است. ابزار Pylint به شما کمک میکند تا کدهای خود را تحلیل کنید و مشکلات آنها را برطرف نمایید.
برای نصب Pylint، کافی است دستور زیر را اجرا کنید:
پس از نصب، میتوانید کیفیت کد خود را با اجرای این دستور بررسی کنید:
این ابزار کد شما را تحلیل کرده و خطاهای احتمالی، مشکلات سبک کدنویسی و پیشنهادهای بهبود را نمایش میدهد. هر مشکل با یک کد مشخص نمایش داده میشود. مثلا اگر مستندات (docstring) در ابتدای ماژول وجود نداشته باشد، خروجی شامل چنین پیامی خواهد بود:
اگر بخواهید برخی از خطاها را نادیده بگیرید، میتوانید آنها را در فایل .pylintrc تنظیم کنید. این ابزار به شما کمک میکند تا کدهای تمیزتر، خواناتر و حرفهایتری بنویسید.
✅ @Teachify | برنامه نویسی
یکی از چالشهای برنامهنویسی پایتون، رعایت استانداردهای کدنویسی و جلوگیری از خطاهای پنهان است. ابزار Pylint به شما کمک میکند تا کدهای خود را تحلیل کنید و مشکلات آنها را برطرف نمایید.
برای نصب Pylint، کافی است دستور زیر را اجرا کنید:
pip install pylintپس از نصب، میتوانید کیفیت کد خود را با اجرای این دستور بررسی کنید:
pylint my_noscript.pyاین ابزار کد شما را تحلیل کرده و خطاهای احتمالی، مشکلات سبک کدنویسی و پیشنهادهای بهبود را نمایش میدهد. هر مشکل با یک کد مشخص نمایش داده میشود. مثلا اگر مستندات (docstring) در ابتدای ماژول وجود نداشته باشد، خروجی شامل چنین پیامی خواهد بود:
my_noscript.py:5:0: C0114: Missing module docstring (missing-module-docstring)اگر بخواهید برخی از خطاها را نادیده بگیرید، میتوانید آنها را در فایل .pylintrc تنظیم کنید. این ابزار به شما کمک میکند تا کدهای تمیزتر، خواناتر و حرفهایتری بنویسید.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from کالی بویز | ترفند | تکنولوژی (YOUSEF)
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ نوروز مبارک
سال 1403 با همه سختیها، چالشها و لحظههای شیرینش داره تموم میشه. شاید بعضی کارها رو تموم نکردی، شاید به همه هدفت نرسیدی، ولی مهم نیست! مهم اینه که هنوز فرصت داری، هنوز میتونی بهترین نسخهی خودت باشی!
سال جدید قراره سالی باشه که دست از بهونهها برداری، رویاهات رو واقعی کنی و جرئت کنی که خودت رو از نو بسازی! به جای منتظر موندن برای اتفاقات خوب، خودت سازندهی اون اتفاقات باش!
+ به عقب نگاه نکن، جلو برو!
+ هیچ چیز قویتر از یه ذهنیت برنده نیست!
+ بزرگ فکر کن، جسور باش، و مهمتر از همه: فقط شروع کن!
و در آخر سالی پر از رشد، برکت، سلامتی و خوشی براتون آرزو میکنم🌱
✅ @kaliboys | کالی بویز
سال 1403 با همه سختیها، چالشها و لحظههای شیرینش داره تموم میشه. شاید بعضی کارها رو تموم نکردی، شاید به همه هدفت نرسیدی، ولی مهم نیست! مهم اینه که هنوز فرصت داری، هنوز میتونی بهترین نسخهی خودت باشی!
سال جدید قراره سالی باشه که دست از بهونهها برداری، رویاهات رو واقعی کنی و جرئت کنی که خودت رو از نو بسازی! به جای منتظر موندن برای اتفاقات خوب، خودت سازندهی اون اتفاقات باش!
+ به عقب نگاه نکن، جلو برو!
+ هیچ چیز قویتر از یه ذهنیت برنده نیست!
+ بزرگ فکر کن، جسور باش، و مهمتر از همه: فقط شروع کن!
و در آخر سالی پر از رشد، برکت، سلامتی و خوشی براتون آرزو میکنم🌱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
کالی بویز | ترفند | تکنولوژی
✔️ نوروز مبارک سال 1403 با همه سختیها، چالشها و لحظههای شیرینش داره تموم میشه. شاید بعضی کارها رو تموم نکردی، شاید به همه هدفت نرسیدی، ولی مهم نیست! مهم اینه که هنوز فرصت داری، هنوز میتونی بهترین نسخهی خودت باشی! سال جدید قراره سالی باشه که دست از بهونهها…
✔️ امیدوارم امسال سالی پر از کدهای تمیز، بدون باگ و پر از دیباگهای موفقیتآمیز برات باشه:))
+ امیدوارم هیچوقت SyntaxError نبینی، NullPointerException ازت دور باشه، همه Merge Conflictهات با یه git pull --rebase حل بشه، سرورت هیچوقت تو نصف شب داون نشه، و وقتی یه باگ رو فیکس میکنی، یه باگ دیگه از ناکجا ظاهر نشه! 😅
سال پر از کدهای بهینه و PRهای تأییدشده برات آرزو میکنم!
✅ @Teachify | برنامه نویسی
+ امیدوارم هیچوقت SyntaxError نبینی، NullPointerException ازت دور باشه، همه Merge Conflictهات با یه git pull --rebase حل بشه، سرورت هیچوقت تو نصف شب داون نشه، و وقتی یه باگ رو فیکس میکنی، یه باگ دیگه از ناکجا ظاهر نشه! 😅
سال پر از کدهای بهینه و PRهای تأییدشده برات آرزو میکنم!
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁20❤🔥7❤4👍3👨💻1
Forwarded from کالی بویز | ترفند | تکنولوژی (YOUSEF)
✔️ 10 مهارت ضروری برای ارتقای سطح برنامهنویسی
اگر به دنبال راههایی هستید که کیفیت کدهای خود را بالا ببرید و به یک توسعهدهنده حرفهایتر تبدیل شوید، این مقاله برای شماست! در دنیای پرسرعت توسعه نرمافزار، داشتن مهارتهای قوی در برنامهنویسی و نوشتن کدهای باکیفیت نه تنها به شما کمک میکند پروژههای بهتری بسازید، بلکه باعث میشود در میان همکاران و کارفرمایان خود متمایز شوید.
در این مطلب، به 10 مهارت ضروری برای ارتقای سطح برنامهنویسی میپردازیم که میتوانید با استفاده از آنها کیفیت کدهایتان را به سطح بالاتری برسانید.
در کالی بویز بخوانید: مهارتهای ضروری برای ارتقای سطح برنامهنویسی
✅ @kaliboys | کالی بویز
اگر به دنبال راههایی هستید که کیفیت کدهای خود را بالا ببرید و به یک توسعهدهنده حرفهایتر تبدیل شوید، این مقاله برای شماست! در دنیای پرسرعت توسعه نرمافزار، داشتن مهارتهای قوی در برنامهنویسی و نوشتن کدهای باکیفیت نه تنها به شما کمک میکند پروژههای بهتری بسازید، بلکه باعث میشود در میان همکاران و کارفرمایان خود متمایز شوید.
در این مطلب، به 10 مهارت ضروری برای ارتقای سطح برنامهنویسی میپردازیم که میتوانید با استفاده از آنها کیفیت کدهایتان را به سطح بالاتری برسانید.
در کالی بویز بخوانید: مهارتهای ضروری برای ارتقای سطح برنامهنویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5
✔️ چرا logging بهتر از print است؟
در برنامهنویسی، بسیاری از افراد برای بررسی اجرای کد از print() استفاده میکنند، اما logging قابلیتهای بیشتری دارد که آن را به گزینهای حرفهایتر تبدیل میکند.
تفاوت print و logging در عمل
در روش print، فقط پیامها در کنسول نمایش داده میشوند و هیچ کنترلی روی آنها نداریم:
مشکل این روش این است که اگر برنامه بزرگی داشته باشیم، کنترل پیامهای print دشوار میشود و امکان ذخیره یا فیلتر کردن پیامها وجود ندارد.
در روش logging، پیامها قابل تنظیم، دستهبندی و ذخیره در فایل هستند:
مزایای logging در این مثال:
+ امکان تعیین سطح پیامها (INFO، ERROR و …)
+ امکان ذخیره پیامها در فایل برای بررسیهای بعدی
+ قابلیت تنظیم نمایش پیامها بر اساس محیط توسعه یا تولید
درنتیجه اگر میخواهید پیامها را فقط موقتاً ببینید، print() گزینه مناسبی است. اما برای پروژههای حرفهای، logging راهکار بهتری برای مدیریت و تحلیل لاگها خواهد بود.
✅ @kaliboys | کالی بویز
در برنامهنویسی، بسیاری از افراد برای بررسی اجرای کد از print() استفاده میکنند، اما logging قابلیتهای بیشتری دارد که آن را به گزینهای حرفهایتر تبدیل میکند.
تفاوت print و logging در عمل
در روش print، فقط پیامها در کنسول نمایش داده میشوند و هیچ کنترلی روی آنها نداریم:
def divide(a, b):
if b == 0:
print("Error: Division by zero!")
return None
print(f"Result: {a / b}")
return a / b
divide(10, 2) # خروجی: Result: 5.0
divide(5, 0) # خروجی: Error: Division by zero!
مشکل این روش این است که اگر برنامه بزرگی داشته باشیم، کنترل پیامهای print دشوار میشود و امکان ذخیره یا فیلتر کردن پیامها وجود ندارد.
در روش logging، پیامها قابل تنظیم، دستهبندی و ذخیره در فایل هستند:
import logging
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
def divide(a, b):
if b == 0:
logging.error("Division by zero!")
return None
result = a / b
logging.info(f"Result: {result}")
return result
divide(10, 2) # خروجی: INFO: Result: 5.0
divide(5, 0) # خروجی: ERROR: Division by zero!
مزایای logging در این مثال:
+ امکان تعیین سطح پیامها (INFO، ERROR و …)
+ امکان ذخیره پیامها در فایل برای بررسیهای بعدی
+ قابلیت تنظیم نمایش پیامها بر اساس محیط توسعه یا تولید
درنتیجه اگر میخواهید پیامها را فقط موقتاً ببینید، print() گزینه مناسبی است. اما برای پروژههای حرفهای، logging راهکار بهتری برای مدیریت و تحلیل لاگها خواهد بود.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
✔️ بیل گیتس: هوش مصنوعی به زودی این افراد را بیکار خواهد کرد
بیل گیتس، بنیانگذار مایکروسافت، در اظهاراتی جنجالبرانگیز پیشبینی کرده است که در دهه آینده هوش مصنوعی جایگزین بسیاری از مشاغل انسانی از جمله پزشکان و معلمان خواهد شد. این میلیاردر فناوری در مصاحبهای با جیمی فالون در برنامه «تونایت شو» تأکید کرد که با پیشرفتهای سریع هوش مصنوعی، دسترسی به خدمات تخصصی مانند مشاوره پزشکی و آموزش باکیفیت به صورت رایگان و همگانی فراهم خواهد شد.
✅ @Teachify | برنامه نویسی
بیل گیتس، بنیانگذار مایکروسافت، در اظهاراتی جنجالبرانگیز پیشبینی کرده است که در دهه آینده هوش مصنوعی جایگزین بسیاری از مشاغل انسانی از جمله پزشکان و معلمان خواهد شد. این میلیاردر فناوری در مصاحبهای با جیمی فالون در برنامه «تونایت شو» تأکید کرد که با پیشرفتهای سریع هوش مصنوعی، دسترسی به خدمات تخصصی مانند مشاوره پزشکی و آموزش باکیفیت به صورت رایگان و همگانی فراهم خواهد شد.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👎4😎2👌1💔1
Forwarded from کالی بویز | ترفند | تکنولوژی (YOUSEF)
✔️ قضیه CAP در سیستم های توزیع شده
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
✅ @kaliboys | کالی بویز
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Data = "022345678"
Pos = Data.find("1")
Pos2 = Data.rfind("2")
print(Pos, Pos2)
برنامه نویسی | Teachify
Data = "022345678" Pos = Data.find("1") Pos2 = Data.rfind("2") print(Pos, Pos2)
✔️ تفاوت find() و rfind() در پایتون
در پایتون، دو متد find() و rfind() برای جستجوی یک زیررشته در یک رشته استفاده میشوند، اما تفاوت مهمی با هم دارند:
▪️متد find(substring) اولین وقوع substring را در رشته پیدا میکند.
▪️متدrfind(substring) آخرین وقوع substring را در رشته پیدا میکند.
برای مثال:
اگر مقدار موردنظر در رشته وجود نداشته باشد، هر دو متد مقدار -1 برمیگردانند.
نکته:متدهای find() و rfind() در مقایسه با index() و rindex() امنتر هستند، زیرا در صورت نبود مقدار موردنظر، بهجای ValueError مقدار -1 برمیگردانند.
#پایتون #Python
✅ @Teachify | برنامه نویسی
در پایتون، دو متد find() و rfind() برای جستجوی یک زیررشته در یک رشته استفاده میشوند، اما تفاوت مهمی با هم دارند:
▪️متد find(substring) اولین وقوع substring را در رشته پیدا میکند.
▪️متدrfind(substring) آخرین وقوع substring را در رشته پیدا میکند.
برای مثال:
text = "banana"
print(text.find("a")) # 1 (Index of the first occurrence of "a")
print(text.rfind("a")) # 5 (Index of the last occurrence of "a")
اگر مقدار موردنظر در رشته وجود نداشته باشد، هر دو متد مقدار -1 برمیگردانند.
نکته:متدهای find() و rfind() در مقایسه با index() و rindex() امنتر هستند، زیرا در صورت نبود مقدار موردنظر، بهجای ValueError مقدار -1 برمیگردانند.
#پایتون #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣32😁10
✔️ ابزارهای مدرن برای متخصصان داده و هوش مصنوعی
اگر یک دیتاساینتیست یا مهندس هوش مصنوعی هستید، وقت آن رسیده که از ابزارهای مدرنتر و سریعتر استفاده کنید!
▪️کتابخانه Polars جایگزین بهتری برای
▪️ برای محاسبات عددی، Numba میتواند جایگزین
▪️ در حوزه یادگیری عمیق، JAX انتخاب بهتری نسبت به
▪️ اگر هنوز از
▪️ برای مدلهای یادگیری ماشین مبتنی بر درخت تصمیم، LightGBM نسبت به
با این تغییرات، میتوانید سرعت پردازش، کارایی مدلها و بهینهسازی منابع را بهبود دهید.
#پایتون #Python
✅ @Teachify | برنامه نویسی
اگر یک دیتاساینتیست یا مهندس هوش مصنوعی هستید، وقت آن رسیده که از ابزارهای مدرنتر و سریعتر استفاده کنید!
▪️کتابخانه Polars جایگزین بهتری برای
pandas است. این کتابخانه با پردازش موازی و استفاده بهینه از حافظه، عملکرد بهتری روی دادههای حجیم دارد. نیازی به Index ندارد و از Lazy Evaluation پشتیبانی میکند، که باعث کاهش مصرف منابع و افزایش سرعت میشود. ▪️ برای محاسبات عددی، Numba میتواند جایگزین
numpy شود. این ابزار با کامپایل JIT، سرعت اجرای کد را تا چندین برابر افزایش میدهد و حتی از GPU (با CUDA) نیز پشتیبانی میکند. مهمتر از همه، میتوان کدهای numpy را با چند تغییر کوچک در Numba اجرا کرد. ▪️ در حوزه یادگیری عمیق، JAX انتخاب بهتری نسبت به
TensorFlow است. سینتکس سادهتر، عملکرد بهینهتر، تمایز خودکار پیشرفته (AutoDiff) و پشتیبانی از تبدیلهای تابعی، آن را به گزینهای ایدهآل برای تحقیقات علمی و مدلهای سفارشی تبدیل کرده است. ▪️ اگر هنوز از
Matplotlib برای رسم نمودار استفاده میکنید، بهتر است Bokeh را امتحان کنید. این کتابخانه امکان ساخت نمودارهای تعاملی و تحت وب را فراهم میکند، برای دادههای حجیم بهینه شده است و میتوان با آن داشبوردهای پویا طراحی کرد. ▪️ برای مدلهای یادگیری ماشین مبتنی بر درخت تصمیم، LightGBM نسبت به
XGBoost عملکرد بهتری دارد. این کتابخانه سرعت آموزش بالاتر، مصرف حافظه کمتر و پشتیبانی بهتری از ویژگیهای دستهای (Categorical Features) دارد. با این تغییرات، میتوانید سرعت پردازش، کارایی مدلها و بهینهسازی منابع را بهبود دهید.
#پایتون #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
✔️ نرمالسازی دیتابیس(Database Normalization)
اگه تا به الان با مشکلاتی مثل دادههای تکراری، ناسازگاری اطلاعات، یا کندی کوئریها در دیتابیس برخورد کردید، وقتشه که نرمالسازی (Database Normalization) رو جدی بگیرید!
موضوع برمیگرده به یکی از مصاحبههایی که داشتم و دیدم چقدر Normalization برای شرکتها اهمیت داره و تصمیم گرفتم تو پروژههام این موضوع رو رعایت کنم و حتما پیشنهاد میکنم این کار رو برای پروژههای خودتون رعایت کنید.
▪️حالا چرا Normalization؟
+ حذف افزونگی دادهها و کاهش حجم پایگاه داده
+ جلوگیری از ناسازگاریهای اطلاعاتی و مشکلات بهروزرسانی
+ بهبود کارایی و افزایش سرعت پردازش کوئریها
▪️مراحل نرمالسازی (Normalization Forms)
+ مرحله 1NF: هر ستون فقط یک مقدار داشته باشد، بدون گروههای تکراری.
+ مرحله 2NF: حذف وابستگیهای جزئی به کلید اصلی.
+ مرحله 3NF: حذف وابستگیهای انتقالی برای ساختاری تمیزتر و کارآمدتر.
خب سوالی که پیش میاد اینه که آیا همیشه Normalization نیازه؟
در سیستمهای تحلیلی و خواندنی، گاهی Denormalization (غیرنرمالسازی) برای افزایش سرعت خواندن دادهها ضروری است. مهم اینه که تعادل بین ساختار بهینه و عملکرد مطلوب حفظ بشه.
✅ @Teachify | برنامه نویسی
اگه تا به الان با مشکلاتی مثل دادههای تکراری، ناسازگاری اطلاعات، یا کندی کوئریها در دیتابیس برخورد کردید، وقتشه که نرمالسازی (Database Normalization) رو جدی بگیرید!
موضوع برمیگرده به یکی از مصاحبههایی که داشتم و دیدم چقدر Normalization برای شرکتها اهمیت داره و تصمیم گرفتم تو پروژههام این موضوع رو رعایت کنم و حتما پیشنهاد میکنم این کار رو برای پروژههای خودتون رعایت کنید.
▪️حالا چرا Normalization؟
+ حذف افزونگی دادهها و کاهش حجم پایگاه داده
+ جلوگیری از ناسازگاریهای اطلاعاتی و مشکلات بهروزرسانی
+ بهبود کارایی و افزایش سرعت پردازش کوئریها
▪️مراحل نرمالسازی (Normalization Forms)
+ مرحله 1NF: هر ستون فقط یک مقدار داشته باشد، بدون گروههای تکراری.
+ مرحله 2NF: حذف وابستگیهای جزئی به کلید اصلی.
+ مرحله 3NF: حذف وابستگیهای انتقالی برای ساختاری تمیزتر و کارآمدتر.
خب سوالی که پیش میاد اینه که آیا همیشه Normalization نیازه؟
در سیستمهای تحلیلی و خواندنی، گاهی Denormalization (غیرنرمالسازی) برای افزایش سرعت خواندن دادهها ضروری است. مهم اینه که تعادل بین ساختار بهینه و عملکرد مطلوب حفظ بشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5
✔️ تشخیص عدد زوج در پایتون با یک روش سریعتر!
در پایتون معمولاً برای تشخیص عدد زوج از این روش استفاده میکنیم:
اما یک روش جالبتر و بهینهتر هم وجود دارد که از عملیات بیتی استفاده میکند:
در این روش، عملگر
این روش در بسیاری از زبانهای برنامهنویسی مثل پایتون، C، C++، جاوا و Go کار میکند. چون عملیات بیتی ذاتاً سبکتر از مدولوس
#پایتون #Python
✅ @Teachify | برنامه نویسی
در پایتون معمولاً برای تشخیص عدد زوج از این روش استفاده میکنیم:
if num % 2 == 0:
اما یک روش جالبتر و بهینهتر هم وجود دارد که از عملیات بیتی استفاده میکند:
if (num & 1) == 0:
در این روش، عملگر
& آخرین بیت عدد را بررسی میکند. در نمایش باینری، اعداد زوج همیشه آخرین بیتشان 0 است، بنابراین نتیجهی این بررسی 0 میشود و تشخیص عدد زوج بهسادگی انجام میگیرد. این روش در بسیاری از زبانهای برنامهنویسی مثل پایتون، C، C++، جاوا و Go کار میکند. چون عملیات بیتی ذاتاً سبکتر از مدولوس
% است، در برخی زبانها عملکرد سریعتری دارد. #پایتون #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👌16👍9
✔️ جنگو 5.2 منتشر شد!
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
✅ @Teachify | برنامه نویسی
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👌13👍5❤🔥3❤1
✔️ وقتی AI بر دنیا تسلط پیدا کنه
دیگه اهمیت نداره که از ChatGPT تشکر کردید انتهای هر پیام یا نه: ))))
✅ @Teachify | برنامه نویسی
دیگه اهمیت نداره که از ChatGPT تشکر کردید انتهای هر پیام یا نه: ))))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤣10👀6😁3🗿3
✔️ کمپانی openAI یک آکادمی راه انداخته برای آموزش مهارتهای مربوط به استفاده از AI. کلی ویدیوی کوتاه و مطالب آموزشی داره و به نظر میرسه قراره کلی بهش اضافه بشه.
academy.openai.com
✅ @Teachify | برنامه نویسی
academy.openai.com
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👀2👎1
✔️ متا از نسل جدید مدلهای هوش مصنوعی خودش رونمایی کرد: Llama 4!
اولین عضو این خانواده به نام Llama 4 Scout معرفی شده؛ مدلی چندوجهی و قدرتمند با ۱۷ میلیارد پارامتر که از معماری MoE با ۱۶ متخصص بهره میبره.
به گفتهی متا، این مدل بهترین مدل مولتیمودال در کلاس خودشه و روی یه کارت گرافیک H100 هم اجرا میشه!
همچنین Context window این مدل ۱۰ میلیون توکنه!
✅ @Teachify | برنامه نویسی
اولین عضو این خانواده به نام Llama 4 Scout معرفی شده؛ مدلی چندوجهی و قدرتمند با ۱۷ میلیارد پارامتر که از معماری MoE با ۱۶ متخصص بهره میبره.
به گفتهی متا، این مدل بهترین مدل مولتیمودال در کلاس خودشه و روی یه کارت گرافیک H100 هم اجرا میشه!
همچنین Context window این مدل ۱۰ میلیون توکنه!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
✔️ زندگی یک برنامه نویس!
وقتی یه برنامهنویس میخواد از زندگی بگه، داستانش همیشه از یه باگ شروع میشه.
یه چیزی که یه جایی درست کار نمیکنه... و سوال همیشگی:
"مشکل از کجاست؟"
گاهی تقصیر خودمه.
گاهی هم تقصیر ناسازگاریهایی که هیچجوره نمیتونستم پیشبینیشون کنم.
زمان، همیشه یه دیباگر خوبه.
ولی نه همیشه!
یه وقتایی توی نقطههایی گیر میکنی که حتی فکرشم نمیکردی اونجا چیزی اشتباه باشه.
باگهایی از ناکجاآباد پیداشون میشه.
علتشونو میدونی، میفهمی چرا هستن،
ولی نمیتونی درستشون کنی.
اومدن که بمونن، انگار بخشی از پروژهت شدن،
بخشی که هیچوقت نمیخواستی، ولی حالا هست.
مجبوری بذاری یه گوشهی کد،
زیر چند تا کامنت خاک بخورن،
ولی هنوز اونجان،
هنوز اجرا میشن.
خیلی شبیه زندگیه.
اتفاقایی که میدونی چرا افتادن،
ولی نمیتونی عوضشون کنی.
هر چقدر هم که دیباگ کنی، هیچ راهحلی براشون نیست.
شاید بعضیا که هنوز یه ذره امید توی وجودشونه بگن:
"همیشه یه راه هست."
ولی من شک دارم.
مگه میشه آدامسی که ماههاست ته کفشت چسبیده رو جدا کرد؟
وقتی با هر قدم، همراهته...
اگه یه نگاه درست بندازی، میفهمی این باگهای لعنتی از کجا اومدن.
از آدما.
آدمای به ظاهر روشنفکر، خانواده، جامعه، حکومت...
هر کی که یه روزی توی زندگیمون دستی برده.
باگهارو میفهمی.
سرچشمهشون معلومه.
ولی نه راهی هست، نه امیدی به فیکس شدنشون...
پ.ن: نظر خود من اینه بازم راهی هست.
#devlife
✅ @Teachify | برنامه نویسی
وقتی یه برنامهنویس میخواد از زندگی بگه، داستانش همیشه از یه باگ شروع میشه.
یه چیزی که یه جایی درست کار نمیکنه... و سوال همیشگی:
"مشکل از کجاست؟"
گاهی تقصیر خودمه.
گاهی هم تقصیر ناسازگاریهایی که هیچجوره نمیتونستم پیشبینیشون کنم.
زمان، همیشه یه دیباگر خوبه.
ولی نه همیشه!
یه وقتایی توی نقطههایی گیر میکنی که حتی فکرشم نمیکردی اونجا چیزی اشتباه باشه.
باگهایی از ناکجاآباد پیداشون میشه.
علتشونو میدونی، میفهمی چرا هستن،
ولی نمیتونی درستشون کنی.
اومدن که بمونن، انگار بخشی از پروژهت شدن،
بخشی که هیچوقت نمیخواستی، ولی حالا هست.
مجبوری بذاری یه گوشهی کد،
زیر چند تا کامنت خاک بخورن،
ولی هنوز اونجان،
هنوز اجرا میشن.
خیلی شبیه زندگیه.
اتفاقایی که میدونی چرا افتادن،
ولی نمیتونی عوضشون کنی.
هر چقدر هم که دیباگ کنی، هیچ راهحلی براشون نیست.
شاید بعضیا که هنوز یه ذره امید توی وجودشونه بگن:
"همیشه یه راه هست."
ولی من شک دارم.
مگه میشه آدامسی که ماههاست ته کفشت چسبیده رو جدا کرد؟
وقتی با هر قدم، همراهته...
اگه یه نگاه درست بندازی، میفهمی این باگهای لعنتی از کجا اومدن.
از آدما.
آدمای به ظاهر روشنفکر، خانواده، جامعه، حکومت...
هر کی که یه روزی توی زندگیمون دستی برده.
باگهارو میفهمی.
سرچشمهشون معلومه.
ولی نه راهی هست، نه امیدی به فیکس شدنشون...
پ.ن: نظر خود من اینه بازم راهی هست.
#devlife
Please open Telegram to view this post
VIEW IN TELEGRAM
💔7👍4
✔️ زندگی یک برنامه نویس!
یه روزهایی هست که فقط به یه خط کد نگاه میکنی.
نه برای اینکه باگ داره،
نه برای اینکه درست کار نمیکنه...
فقط خیره میشی، چون حس میکنی یه جایی از خودت اون تو گم شده.
یه خط ساده:
شاید فقط یه شرط معمولی باشه.
ولی برای تو انگار یه فلسفهست.
نه پیدا شدنی در کاره،
نه توقفی برای جستوجو.
یه لوپ بیپایان وسط زندگی که فقط سعی میکنی بفهمی چی گم شده...
و اصلاً آیا چیزی واقعاً گم شده؟
بعضی وقتا برنامهها مثل آدمان.
فانکشنهایی که هیچوقت کال نمیشن.
متغیرهایی که فقط تعریف شدن، اما هیچ وقت استفاده نشدن.
یه عالمه "احتمال" که فقط توی حافظه میمونن و هیچوقت به واقعیت تبدیل نمیشن.
و تو هم مثل یه برنامهنویس خسته،
میگردی دنبال کامنتی از گذشتهت که برات توضیح بده چرا اینجایی...
#devlife
✅ @Teachify | برنامه نویسی
یه روزهایی هست که فقط به یه خط کد نگاه میکنی.
نه برای اینکه باگ داره،
نه برای اینکه درست کار نمیکنه...
فقط خیره میشی، چون حس میکنی یه جایی از خودت اون تو گم شده.
یه خط ساده:
if not found:
keep_searching()
شاید فقط یه شرط معمولی باشه.
ولی برای تو انگار یه فلسفهست.
نه پیدا شدنی در کاره،
نه توقفی برای جستوجو.
یه لوپ بیپایان وسط زندگی که فقط سعی میکنی بفهمی چی گم شده...
و اصلاً آیا چیزی واقعاً گم شده؟
بعضی وقتا برنامهها مثل آدمان.
فانکشنهایی که هیچوقت کال نمیشن.
متغیرهایی که فقط تعریف شدن، اما هیچ وقت استفاده نشدن.
یه عالمه "احتمال" که فقط توی حافظه میمونن و هیچوقت به واقعیت تبدیل نمیشن.
و تو هم مثل یه برنامهنویس خسته،
میگردی دنبال کامنتی از گذشتهت که برات توضیح بده چرا اینجایی...
#devlife
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14👌3