Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
مشکل سال 2038 چیست؟!
سوالش باحالیه مگه نه؟! نه پایان جهان نیست، تقویم قوم شبهمایاها هم تموم نمیشه، فضاییها هم حمله نمیکنن... یه اتفاق خطرناکتری ممکنه بیفته...🤭
ممکنه زمان کامپیوتر شما یهو 137 ســـــــــــــــال برگرده به عقب🥴
=+=+=+=+=+=+=+=+=+=+
حوالی سال 1970 که داشتن پروتکلهارو طراحی میکردن، باید مفهوم زمان رو با دقت ثانیه توی پروتکلهای مختلف یجوری ذخیره میکردن...
یه استانداردی دادن به اسم
Timestamp
یا برچسب زمانی، یه استاندارد یونیکسی هست که الان اکثر سیستمهای ما + اینترنت با اون کار میکنه،
مقدارش تعداد ثانیههایی هست که از سال 1970 تا این لحظه گذشته...😬
یعنی 1970 رو گرفتن مبدا زمان و با این کار 69 سال قبل و بعد از 1970 توی کامپیوتر مدل کردن.
مثلا تایماستمپ لحظه فعلی که من دارم این پیامو مینویسم هست:
1678537870
این یعنی 1678537870 ثانیه از 1970 گذشته... این توی خیــــلی از زبانها هست، مثلا اگه توی PHP بدمش به تابع date میگه که:
ساعتش به وقت ایران نیست، و اینکه جزئیات تابعش اصلا مهم نیست...
ولی جالبه که خیلیا نمیدونن که سیستمشون با این تایماستمپ داره میچرخه...
میتونین پرتکل NTP رو بخونین چیزای جذابی داره....
Network Time Protocol
=+=+=+=+=+=+=+=+=+=+=+=+
حالا مشکل کجاست؟
این تایم استمپ یا برچسب زمانی داره توی خیــــلی از رکوئست و ریسپانس ها انکپسوله میشه و میره و میاد...
برای همین باید برای ذخیره سازیش کمترین طول ممکن رو استفاده کنن که بهینه باشه.... اینا تایم استمپ رو اینتیجر گرفتن...
اینتیجر مثل هر زبان برنامهنویسی ، 4 بایت فضا اشغال میکنه...
اینا اون موقعی که طراحیش کردن گفتن که این ساختار تاااااا 70 سال دیگه کار میکنه... همینقدر بسه... اون موقع آیندگان یه فکری میکنن *-*
اتفاقی که میافته اینه که سال 2038 4 بایت پر میشه :)) و سرریز میکنه.... اصلاحا میگن اورفلو میکنه :3
یعنی تعداد ثانیه ها میشه
2147483647
و یک ثانیه که بگذره از 4 بایت (32 بیت) اورفلو میکنه و میشه 33 بیت و بیت علامت 0 میشه و عدد منفی میشه...🥴 شاید برای هضمش لازم باشه که روی کاغذ باینریش رو بنویسین.
*گیفش رو میفرستم پایین*
اگه مثلا 8 بایت میگرفتن میتونستن تا ملیاردها سال دیگه رو بدون اشکال پیش برن... ولی غیر بهینه بود...
خیلی از سیستما همین الان جلوی این اتفاق رو گرفتن... و خیلی از سیستمها هم اصلا روهشون خبر نداره😬 نشستن دارن خودشونو باد میزنن، اگه تا 2038 ایران متلاشی نشده باشه و آبش تموم نشده باشه، بهتون قول میدم نصف سیستماش از کار میافته *-*
=+=+=+=+=+=+=+=+=+=+=+
این مشکل از اولشم میدونستن که بوجود میاد... ولی بهترین راه این بود که 50 سال دیگه آیندهگان کامپیوترهاشون رو به روز کنن!!! یا محور قراردادی رو از 1970 تغییر بدن...
این مشکل بزرگیه که باید روش فکر بشه
مساله اگر فقط نرمافزاری بود مشکلی نبود ، یه پج میدادن حل میشد...!
ولی بسیــــــــــــاری از پیاده سازی های تایم سخت افزاری هستن!... مثلا طرف روی FPGA یا میکروکنترلر یا ROM {که قابل تغییر نیست} گرفته timestamp رو مدلسازی کرده...، یا توی امبدد سیستمها اینکارو کرده...
اون سخت افزارا کلا منسوخ میشن...!
ولی چیز جالبیه...😆
=+=+=+=+=+=+=+=+=+=+
سوالش باحالیه مگه نه؟! نه پایان جهان نیست، تقویم قوم شبهمایاها هم تموم نمیشه، فضاییها هم حمله نمیکنن... یه اتفاق خطرناکتری ممکنه بیفته...🤭
ممکنه زمان کامپیوتر شما یهو 137 ســـــــــــــــال برگرده به عقب🥴
=+=+=+=+=+=+=+=+=+=+
حوالی سال 1970 که داشتن پروتکلهارو طراحی میکردن، باید مفهوم زمان رو با دقت ثانیه توی پروتکلهای مختلف یجوری ذخیره میکردن...
یه استانداردی دادن به اسم
Timestamp
یا برچسب زمانی، یه استاندارد یونیکسی هست که الان اکثر سیستمهای ما + اینترنت با اون کار میکنه،
مقدارش تعداد ثانیههایی هست که از سال 1970 تا این لحظه گذشته...😬
یعنی 1970 رو گرفتن مبدا زمان و با این کار 69 سال قبل و بعد از 1970 توی کامپیوتر مدل کردن.
مثلا تایماستمپ لحظه فعلی که من دارم این پیامو مینویسم هست:
1678537870
این یعنی 1678537870 ثانیه از 1970 گذشته... این توی خیــــلی از زبانها هست، مثلا اگه توی PHP بدمش به تابع date میگه که:
echo date("m/d/Y h:i:s a", 1678537870);03/11/2023 12:31:10 pm
ساعتش به وقت ایران نیست، و اینکه جزئیات تابعش اصلا مهم نیست...
ولی جالبه که خیلیا نمیدونن که سیستمشون با این تایماستمپ داره میچرخه...
میتونین پرتکل NTP رو بخونین چیزای جذابی داره....
Network Time Protocol
=+=+=+=+=+=+=+=+=+=+=+=+
حالا مشکل کجاست؟
این تایم استمپ یا برچسب زمانی داره توی خیــــلی از رکوئست و ریسپانس ها انکپسوله میشه و میره و میاد...
برای همین باید برای ذخیره سازیش کمترین طول ممکن رو استفاده کنن که بهینه باشه.... اینا تایم استمپ رو اینتیجر گرفتن...
اینتیجر مثل هر زبان برنامهنویسی ، 4 بایت فضا اشغال میکنه...
اینا اون موقعی که طراحیش کردن گفتن که این ساختار تاااااا 70 سال دیگه کار میکنه... همینقدر بسه... اون موقع آیندگان یه فکری میکنن *-*
اتفاقی که میافته اینه که سال 2038 4 بایت پر میشه :)) و سرریز میکنه.... اصلاحا میگن اورفلو میکنه :3
یعنی تعداد ثانیه ها میشه
2147483647
و یک ثانیه که بگذره از 4 بایت (32 بیت) اورفلو میکنه و میشه 33 بیت و بیت علامت 0 میشه و عدد منفی میشه...🥴 شاید برای هضمش لازم باشه که روی کاغذ باینریش رو بنویسین.
*گیفش رو میفرستم پایین*
اگه مثلا 8 بایت میگرفتن میتونستن تا ملیاردها سال دیگه رو بدون اشکال پیش برن... ولی غیر بهینه بود...
خیلی از سیستما همین الان جلوی این اتفاق رو گرفتن... و خیلی از سیستمها هم اصلا روهشون خبر نداره😬 نشستن دارن خودشونو باد میزنن، اگه تا 2038 ایران متلاشی نشده باشه و آبش تموم نشده باشه، بهتون قول میدم نصف سیستماش از کار میافته *-*
=+=+=+=+=+=+=+=+=+=+=+
این مشکل از اولشم میدونستن که بوجود میاد... ولی بهترین راه این بود که 50 سال دیگه آیندهگان کامپیوترهاشون رو به روز کنن!!! یا محور قراردادی رو از 1970 تغییر بدن...
این مشکل بزرگیه که باید روش فکر بشه
مساله اگر فقط نرمافزاری بود مشکلی نبود ، یه پج میدادن حل میشد...!
ولی بسیــــــــــــاری از پیاده سازی های تایم سخت افزاری هستن!... مثلا طرف روی FPGA یا میکروکنترلر یا ROM {که قابل تغییر نیست} گرفته timestamp رو مدلسازی کرده...، یا توی امبدد سیستمها اینکارو کرده...
اون سخت افزارا کلا منسوخ میشن...!
ولی چیز جالبیه...😆
=+=+=+=+=+=+=+=+=+=+
👍7
🔺 در مورد تغییر سیاست در مورد ساعت تابستانی در ایران
هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده میشد این تغییر در اصطلاح Daylight savings time (DST) نام دارد که به اختصار به آن ساعت تابستانی نیز میگوید.
🔹 در این تغییر ممکن است برخی اشکالات در پیادهسازیهای نرمافزاری نمایان شود که مهمترین آن در نظر گرفتن زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادههاست
اگر از زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادهها استفاده شود میتواند خطای زیر رخ دهد.
❓تصور کنید در روز پایانی شهریور هستیم و قرار است در نیمه شب زمان یک ساعت به عقب کشیده شود مثل زیر
2022-09-20 23:00:00+04:30
...
2022-09-20 23:59:59+04:30
2022-09-20 23:00:00+03:30
میبینید که اگر منطقهی زمانی ذکر نشود از نظر توالی زمانی مشکل خواهیم داشت و ممکن است دادهها به شکل درستی ذخیره نشوند.
‼️راهکار: تمام دادههای زمانی در دیتابیس و در هنگام داده برداری باید با منطقهی زمانی صفر (UTC) ذخیره شوند و هنگام نمایش به کاربر در سمت کلاینت برای همان کاربر به منطقهی زمانی وی تبدیل شوند در اینصورت هر کاربر میتواند دادهها را در منطقهی زمانی خودش مشاهده کند در حالی که برای ذخیره سازی دادهها نیز مشکلی از نظر توالی وجود ندارد!
🔅حدود ۷۰ کشور در دنیا قاعدهی DST را اجرا میکردند که این امر از حدود سال 1910 (با هدف صرفهجویی در مصرف انرژی) شروع شد. اخیراً کشورهای ایران(از ابتدای ۱۴۰۲) و ایالات متحده (از ابتدای ۲۰۲۳) اجرای این قاعدهی جهانی را متوقف کردهاند، لازم به ذکر است کشورهایی مثل روسیه، چین و هند و ژاپن هرگز این قاعدهی جهانی را اجرا نکردهاند.
در سالهای اخیر مطالعات زیادی برای بررسی سودمندی اجرای این قاعده صورت گرفته بود.
🔺نکته پایانی:
اگر در تنظیم ساعت سیستم(به خصوص ویندوز) خود مشکل دارید کافیه در بخش تنظیمات تاریخ و زمان گزینه تنظیم خودکار DST رو خاموش کنید
همه چیز به صورت خودکار حل میشه!
🔎 @py4ds
هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده میشد این تغییر در اصطلاح Daylight savings time (DST) نام دارد که به اختصار به آن ساعت تابستانی نیز میگوید.
🔹 در این تغییر ممکن است برخی اشکالات در پیادهسازیهای نرمافزاری نمایان شود که مهمترین آن در نظر گرفتن زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادههاست
اگر از زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادهها استفاده شود میتواند خطای زیر رخ دهد.
❓تصور کنید در روز پایانی شهریور هستیم و قرار است در نیمه شب زمان یک ساعت به عقب کشیده شود مثل زیر
2022-09-20 23:00:00+04:30
...
2022-09-20 23:59:59+04:30
2022-09-20 23:00:00+03:30
میبینید که اگر منطقهی زمانی ذکر نشود از نظر توالی زمانی مشکل خواهیم داشت و ممکن است دادهها به شکل درستی ذخیره نشوند.
‼️راهکار: تمام دادههای زمانی در دیتابیس و در هنگام داده برداری باید با منطقهی زمانی صفر (UTC) ذخیره شوند و هنگام نمایش به کاربر در سمت کلاینت برای همان کاربر به منطقهی زمانی وی تبدیل شوند در اینصورت هر کاربر میتواند دادهها را در منطقهی زمانی خودش مشاهده کند در حالی که برای ذخیره سازی دادهها نیز مشکلی از نظر توالی وجود ندارد!
🔅حدود ۷۰ کشور در دنیا قاعدهی DST را اجرا میکردند که این امر از حدود سال 1910 (با هدف صرفهجویی در مصرف انرژی) شروع شد. اخیراً کشورهای ایران(از ابتدای ۱۴۰۲) و ایالات متحده (از ابتدای ۲۰۲۳) اجرای این قاعدهی جهانی را متوقف کردهاند، لازم به ذکر است کشورهایی مثل روسیه، چین و هند و ژاپن هرگز این قاعدهی جهانی را اجرا نکردهاند.
در سالهای اخیر مطالعات زیادی برای بررسی سودمندی اجرای این قاعده صورت گرفته بود.
🔺نکته پایانی:
اگر در تنظیم ساعت سیستم(به خصوص ویندوز) خود مشکل دارید کافیه در بخش تنظیمات تاریخ و زمان گزینه تنظیم خودکار DST رو خاموش کنید
همه چیز به صورت خودکار حل میشه!
🔎 @py4ds
👍1
Python for Data Science
🔺 در مورد تغییر سیاست در مورد ساعت تابستانی در ایران هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده میشد این تغییر در اصطلاح Daylight savings time (DST) نام دارد که به اختصار به آن ساعت تابستانی نیز میگوید. 🔹 در این…
🔺 در مورد تغییر سیاست در مورد ساعت تابستانی در ایران
هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده میشد این تغییر در اصطلاح Daylight savings time (DST) نام دارد که به اختصار به آن ساعت تابستانی نیز میگوید.
🔹 در این تغییر ممکن است برخی اشکالات در پیادهسازیهای نرمافزاری نمایان شود که مهمترین آن در نظر گرفتن زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادههاست
اگر از زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادهها استفاده شود میتواند خطای زیر رخ دهد.
❓تصور کنید در روز پایانی شهریور هستیم و قرار است در نیمه شب زمان یک ساعت به عقب کشیده شود مثل زیر
2022-09-20 23:00:00+04:30
...
2022-09-20 23:59:59+04:30
2022-09-20 23:00:00+03:30
میبینید که اگر منطقهی زمانی ذکر نشود از نظر توالی زمانی مشکل خواهیم داشت و ممکن است دادهها به شکل درستی ذخیره نشوند.
‼️راهکار: تمام دادههای زمانی در دیتابیس و در هنگام داده برداری باید با منطقهی زمانی صفر (UTC) ذخیره شوند و هنگام نمایش به کاربر در سمت کلاینت برای همان کاربر به منطقهی زمانی وی تبدیل شوند در اینصورت هر کاربر میتواند دادهها را در منطقهی زمانی خودش مشاهده کند در حالی که برای ذخیره سازی دادهها نیز مشکلی از نظر توالی وجود ندارد!
🔅حدود ۷۰ کشور در دنیا قاعدهی DST را اجرا میکردند که این امر از حدود سال 1910 (با هدف صرفهجویی در مصرف انرژی) شروع شد. اخیراً کشورهای ایران(از ابتدای ۱۴۰۲) و ایالات متحده (از ابتدای ۲۰۲۳) اجرای این قاعدهی جهانی را متوقف کردهاند، لازم به ذکر است کشورهایی مثل روسیه، چین و هند و ژاپن هرگز این قاعدهی جهانی را اجرا نکردهاند.
در سالهای اخیر مطالعات زیادی برای بررسی سودمندی اجرای این قاعده صورت گرفته بود.
🔎 @py4ds
هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده میشد این تغییر در اصطلاح Daylight savings time (DST) نام دارد که به اختصار به آن ساعت تابستانی نیز میگوید.
🔹 در این تغییر ممکن است برخی اشکالات در پیادهسازیهای نرمافزاری نمایان شود که مهمترین آن در نظر گرفتن زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادههاست
اگر از زمان محلی(بدون منطقهی زمانی) برای ذخیره سازی دادهها استفاده شود میتواند خطای زیر رخ دهد.
❓تصور کنید در روز پایانی شهریور هستیم و قرار است در نیمه شب زمان یک ساعت به عقب کشیده شود مثل زیر
2022-09-20 23:00:00+04:30
...
2022-09-20 23:59:59+04:30
2022-09-20 23:00:00+03:30
میبینید که اگر منطقهی زمانی ذکر نشود از نظر توالی زمانی مشکل خواهیم داشت و ممکن است دادهها به شکل درستی ذخیره نشوند.
‼️راهکار: تمام دادههای زمانی در دیتابیس و در هنگام داده برداری باید با منطقهی زمانی صفر (UTC) ذخیره شوند و هنگام نمایش به کاربر در سمت کلاینت برای همان کاربر به منطقهی زمانی وی تبدیل شوند در اینصورت هر کاربر میتواند دادهها را در منطقهی زمانی خودش مشاهده کند در حالی که برای ذخیره سازی دادهها نیز مشکلی از نظر توالی وجود ندارد!
🔅حدود ۷۰ کشور در دنیا قاعدهی DST را اجرا میکردند که این امر از حدود سال 1910 (با هدف صرفهجویی در مصرف انرژی) شروع شد. اخیراً کشورهای ایران(از ابتدای ۱۴۰۲) و ایالات متحده (از ابتدای ۲۰۲۳) اجرای این قاعدهی جهانی را متوقف کردهاند، لازم به ذکر است کشورهایی مثل روسیه، چین و هند و ژاپن هرگز این قاعدهی جهانی را اجرا نکردهاند.
در سالهای اخیر مطالعات زیادی برای بررسی سودمندی اجرای این قاعده صورت گرفته بود.
🔎 @py4ds
Python for Data Science
🔺 در مورد تغییر سیاست در مورد ساعت تابستانی در ایران هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده میشد این تغییر در اصطلاح Daylight savings time (DST) نام دارد که به اختصار به آن ساعت تابستانی نیز میگوید. 🔹 در این…
🔺اگر در تنظیم ساعت سیستم(به خصوص ویندوز) خود مشکل دارید کافیه در بخش تنظیمات تاریخ و زمان گزینه تنظیم خودکار DST رو خاموش کنید
همه چیز به صورت خودکار حل میشه!😁
🔎 @py4ds
همه چیز به صورت خودکار حل میشه!😁
🔎 @py4ds
👍4
Forwarded from Deep Time
یکی از نشانههای کدنویسی حرفهای در پایتون: استفاده (به موقع) از decorator
در زبان پایتون، decorator یک الگوی طراحی هست که میتونه به توابعی (یا کلاسهایی) که از قبل تعریف شدن یک functionality یا عملکرد جدید بده. این عملکرد میتونه سریعتر کردن اجرای تابع، تعیین زمان اجرای تابع، تنظیمات خاص برای کلاس، دیباگ کردن و ... باشه. پیشنهاد میکنم از این لینک حتما یکسری decorator کاربردی را یاد بگیرید و البته با استفاده از مطالب این پست، مهارتتون رو تثبیت کنید.
پ.ن: اگر سایت towardsdatascience یا medium براتون پیام میده که تعداد پست رایگانتون تموم شده و باید ثبت نام کنید کافیه صرفا لینک رو از یک صفحه incognito (ناشناس) باز کنید.
@deeptimeai
در زبان پایتون، decorator یک الگوی طراحی هست که میتونه به توابعی (یا کلاسهایی) که از قبل تعریف شدن یک functionality یا عملکرد جدید بده. این عملکرد میتونه سریعتر کردن اجرای تابع، تعیین زمان اجرای تابع، تنظیمات خاص برای کلاس، دیباگ کردن و ... باشه. پیشنهاد میکنم از این لینک حتما یکسری decorator کاربردی را یاد بگیرید و البته با استفاده از مطالب این پست، مهارتتون رو تثبیت کنید.
پ.ن: اگر سایت towardsdatascience یا medium براتون پیام میده که تعداد پست رایگانتون تموم شده و باید ثبت نام کنید کافیه صرفا لینک رو از یک صفحه incognito (ناشناس) باز کنید.
@deeptimeai
Medium
10 Fabulous Python Decorators
A great thing about the Python programming language is all of the features that it packs into a small package that are incredibly useful. A lot of said features can completely alter the functionality…
Forwarded from Gopher Academy (Javad)
18 Design Patterns Developers known
🔹Abstract Factory: Family Creator - Makes groups of related items.
🔹Builder: Lego Master - Builds objects step by step, keeping creation and appearance separate.
🔹Prototype: Clone Maker - Creates copies of fully prepared examples.
🔹Singleton: One and Only - A special class with just one instance.
🔹Adapter: Universal Plug - Connects things with different interfaces.
🔹Bridge: Function Connector - Links how an object works to what it does.
🔹Composite: Tree Builder - Forms tree-like structures of simple and complex parts.
🔹Decorator: Customizer - Adds features to objects without changing their core.
🔹Facade: One-Stop-Shop - Represents a whole system with a single, simplified interface.
🔹Flyweight: Space Saver - Shares small, reusable items efficiently.
🔹Proxy: Stand-In Actor - Represents another object, controlling access or actions.
🔹Chain of Responsibility: Request Relay - Passes a request through a chain of objects until handled.
🔹Command: Task Wrapper - Turns a request into an object, ready for action.
🔹Iterator: Collection Explorer - Accesses elements in a collection one by one.
🔹Mediator: Communication Hub - Simplifies interactions between different classes.
🔹Memento: Time Capsule - Captures and restores an object's state.
🔹Observer: News Broadcaster - Notifies classes about changes in other objects.
🔹Visitor: Skillful Guest - Adds new operations to a class without altering it.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔹Abstract Factory: Family Creator - Makes groups of related items.
🔹Builder: Lego Master - Builds objects step by step, keeping creation and appearance separate.
🔹Prototype: Clone Maker - Creates copies of fully prepared examples.
🔹Singleton: One and Only - A special class with just one instance.
🔹Adapter: Universal Plug - Connects things with different interfaces.
🔹Bridge: Function Connector - Links how an object works to what it does.
🔹Composite: Tree Builder - Forms tree-like structures of simple and complex parts.
🔹Decorator: Customizer - Adds features to objects without changing their core.
🔹Facade: One-Stop-Shop - Represents a whole system with a single, simplified interface.
🔹Flyweight: Space Saver - Shares small, reusable items efficiently.
🔹Proxy: Stand-In Actor - Represents another object, controlling access or actions.
🔹Chain of Responsibility: Request Relay - Passes a request through a chain of objects until handled.
🔹Command: Task Wrapper - Turns a request into an object, ready for action.
🔹Iterator: Collection Explorer - Accesses elements in a collection one by one.
🔹Mediator: Communication Hub - Simplifies interactions between different classes.
🔹Memento: Time Capsule - Captures and restores an object's state.
🔹Observer: News Broadcaster - Notifies classes about changes in other objects.
🔹Visitor: Skillful Guest - Adds new operations to a class without altering it.
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍1
Forwarded from Django Expert (Mehran Tarif)
متاسفانه صابر راستیکردار، خالق فونتهای وزیر متن (همون فونت زیبایی که روی تلگرام دسکتاپ و گوگلداکز و... به رایگان ازش استفاده میکنیم) و گندم و شبنم و کلی فونت دیگه، به سرطان مبتلا شده و در وبلاگش در این مورد مطلبی نوشته:
مشاهده مطلب در وبلاگ راستیکردار
اگر از فونتهاش استفاده میکنیم، شاید الان دونیت (حمایت مالی) ما بیشتر از قبل به کارش بیاد.
لینک دونیت:
payping.ir/@saber
🌱 صابر راستی کردار، از جمله بچه های گل روزگار هست که وب فارسی مدیونشه، تنهاش نمیذاریم.
™ @DjangoIR
〰️〰️〰️〰️〰️〰️〰️
© @DjangoEx |
مشاهده مطلب در وبلاگ راستیکردار
اگر از فونتهاش استفاده میکنیم، شاید الان دونیت (حمایت مالی) ما بیشتر از قبل به کارش بیاد.
لینک دونیت:
payping.ir/@saber
🌱 صابر راستی کردار، از جمله بچه های گل روزگار هست که وب فارسی مدیونشه، تنهاش نمیذاریم.
™ @DjangoIR
〰️〰️〰️〰️〰️〰️〰️
© @DjangoEx |
👏2
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
زبان برنامه نویسی Mojo ⭐️
در توضیحات این زبان برنامه نویسی اومده که : Mojo قابلیت استفاده پایتون را با عملکرد C ترکیب میکند، برنامهنویسی بینظیر سختافزار هوش مصنوعی و توسعهپذیری مدلهای هوش مصنوعی را باز میکند.
ویژگی ها عبارتند از:
PROGRESSIVE TYPES
انواع اهرم برای عملکرد بهتر و بررسی خطا.
ZERO COST ABSTRACTIONS
با تخصیص درون خطی مقادیر به ساختارها، ذخیره سازی را کنترل کنید.
OWNERSHIP + BORROW CHECKER
از ایمنی حافظه بدون لبه های ناهموار استفاده کنید.
PORTABLE PARAMETRIC ALGORITHMS
برای نوشتن الگوریتمهای سختافزاری-آگنوستیک و کاهش حجم دیگ، از متابرنامهنویسی زمان کامپایل استفاده کنید.
LANGUAGE INTEGRATED AUTO-TUNING
به طور خودکار بهترین مقادیر برای پارامترهای خود را برای استفاده از سخت افزار هدف پیدا کنید.
همچنین:
قدرت کامل MLIR
زمان اجرا ناهمگن موازی
زمان کامپایل سریع
در بخش دیگری از توضیحات اومده که پایتون اجرای تک رشته ای (سینگل ترد) داره اما توی mojo پردازش موازی در چندین هسته(Parallel processing across multiple cores) وجود داره
توی یکی از بنچمارک هاش هم نسبت به پایتون ۳.۱۰ ادعا کرده که ۳۵ هزار برابر سریعتر هستش💃
توی بحث هوش مصنوعی هم که خب تمرکز اصلی این زبان هستش گفته که کلی نسبت به تنسور فلو و پای تورچ سریع تر هستش
وبسایتش :
https://www.modular.com/
✅ @SEYED_BAX
در توضیحات این زبان برنامه نویسی اومده که : Mojo قابلیت استفاده پایتون را با عملکرد C ترکیب میکند، برنامهنویسی بینظیر سختافزار هوش مصنوعی و توسعهپذیری مدلهای هوش مصنوعی را باز میکند.
ویژگی ها عبارتند از:
PROGRESSIVE TYPES
انواع اهرم برای عملکرد بهتر و بررسی خطا.
ZERO COST ABSTRACTIONS
با تخصیص درون خطی مقادیر به ساختارها، ذخیره سازی را کنترل کنید.
OWNERSHIP + BORROW CHECKER
از ایمنی حافظه بدون لبه های ناهموار استفاده کنید.
PORTABLE PARAMETRIC ALGORITHMS
برای نوشتن الگوریتمهای سختافزاری-آگنوستیک و کاهش حجم دیگ، از متابرنامهنویسی زمان کامپایل استفاده کنید.
LANGUAGE INTEGRATED AUTO-TUNING
به طور خودکار بهترین مقادیر برای پارامترهای خود را برای استفاده از سخت افزار هدف پیدا کنید.
همچنین:
قدرت کامل MLIR
زمان اجرا ناهمگن موازی
زمان کامپایل سریع
در بخش دیگری از توضیحات اومده که پایتون اجرای تک رشته ای (سینگل ترد) داره اما توی mojo پردازش موازی در چندین هسته(Parallel processing across multiple cores) وجود داره
توی یکی از بنچمارک هاش هم نسبت به پایتون ۳.۱۰ ادعا کرده که ۳۵ هزار برابر سریعتر هستش
توی بحث هوش مصنوعی هم که خب تمرکز اصلی این زبان هستش گفته که کلی نسبت به تنسور فلو و پای تورچ سریع تر هستش
وبسایتش :
https://www.modular.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
😱1
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
Please open Telegram to view this post
VIEW IN TELEGRAM
کد بالا رو در دو محیط مختلف اجرا کنید
یکی در یک فایل .py
دیگری در فایل .ipynb
نتایج متفاوت هست!
چرا؟ 😊😊
🔎 @py4ds
یکی در یک فایل .py
دیگری در فایل .ipynb
نتایج متفاوت هست!
چرا؟ 😊😊
🔎 @py4ds
😱2
Python for Data Science
کد بالا رو در دو محیط مختلف اجرا کنید یکی در یک فایل .py دیگری در فایل .ipynb نتایج متفاوت هست! چرا؟ 😊😊 🔎 @py4ds
📌اختلاف این دو حالت برمیگرده به مبحث Interning که در اینجا برای مقادیر Integer در بازهی
🔺اگر دارید توی هر نوعی از شل توی پایتون (python shell , ipython, ...) کد میزنید باید حواستون باشه که این مقادیر یکبار ساخته میشن و برای همیشه از همونا استفاده میشه اما مقادیر خارج از این بازه هربار که لازم باشه از اول ساخته میشه. یعنی id اونها ممکنه با هم فرق داشته باشه
🔺اما اگر کل کد توی فایل .py به پایتون بدید اونو بهینه میکنه و تا زمانی که لازم هست مقادیر integer خارج از اون بازه رو نگه میداره. بنابراین این مقادیر هم مثل مقادیر ذکر شده در بازهی فوق فقط یکبار ساخته میشن.
🔹خلاصه هرجایی دارید از is استفاده میکنید حسابی حواستون رو جمع کنید که یه وقت اچتباهی کد نزنید! 😁
🔎 @py4ds
[-5, 256]هستند.
🔺اگر دارید توی هر نوعی از شل توی پایتون (python shell , ipython, ...) کد میزنید باید حواستون باشه که این مقادیر یکبار ساخته میشن و برای همیشه از همونا استفاده میشه اما مقادیر خارج از این بازه هربار که لازم باشه از اول ساخته میشه. یعنی id اونها ممکنه با هم فرق داشته باشه
🔺اما اگر کل کد توی فایل .py به پایتون بدید اونو بهینه میکنه و تا زمانی که لازم هست مقادیر integer خارج از اون بازه رو نگه میداره. بنابراین این مقادیر هم مثل مقادیر ذکر شده در بازهی فوق فقط یکبار ساخته میشن.
🔹خلاصه هرجایی دارید از is استفاده میکنید حسابی حواستون رو جمع کنید که یه وقت اچتباهی کد نزنید! 😁
🔎 @py4ds
Medium
3 Facts of the Integer Caching in Python
Understand some confusing results made by Python
👍2
🔹دسترسی رایگان و بدون فیلترشکن به ChatGPT
سایت زیر توسط مجموعه Quora توسعه داده شده که یک سایت پرسش و پاسخ هست!
این سایت چند ماهی هست که لانچ شده و به چندتا از رباتهای چت هوش مصنوعی متصل هست. شما میتونید خیلی راحت ازشون استفاده کنید!
همینطور میتونید یک ربات مخصوص با پرامپت مخصوص برای خودتون ایجاد کنید و جوابهای شخصیسازی شده بگیرید!
https://Poe.com
🔎 @py4ds
سایت زیر توسط مجموعه Quora توسعه داده شده که یک سایت پرسش و پاسخ هست!
این سایت چند ماهی هست که لانچ شده و به چندتا از رباتهای چت هوش مصنوعی متصل هست. شما میتونید خیلی راحت ازشون استفاده کنید!
همینطور میتونید یک ربات مخصوص با پرامپت مخصوص برای خودتون ایجاد کنید و جوابهای شخصیسازی شده بگیرید!
https://Poe.com
🔎 @py4ds
🔸 در حال آماده سازی یک فایل ارائه در مورد خطرات AI هست.
تا اینجا مشکلی نیست
مشکل اونجاست که توی مانیتور پایین داره از ChatGPT سوال میپرسه!
🔎 @py4ds
تا اینجا مشکلی نیست
مشکل اونجاست که توی مانیتور پایین داره از ChatGPT سوال میپرسه!
🔎 @py4ds
😁2
Forwarded from Python Hints
AdamJohnson-SpeedupyourDjangotests.pdf
5.7 MB
این پست استثنا هست :
توی مدتی که دارم django میخونم خیلی ایراد دیدم توی کدهای توسعه داده شده توسط دوستان
من خودمم اشتباه زیاد دارم؛ ولی خب در نظر بگیرید من سنیور django نیستم و تازه شروع کردم اما آشنایی بالایی که با
system design, software engineering
دارم باعث میشه خیلی از دوستان لطف کنند و من رو هم در زمره سنیورهای جنگو قرار بدند (هنوز سابقه ام به یکسال نرسیده)
یکی از معظلاتی که رو آپدیت پروژه شرکت داشتم؛ سرعت پایین کدهای تست بود و متاسفانه هیچکس هم نتونست کمکم کنه روی این موضوع
حالا به کتابی برخوردم که آرزو میکردم ۱ سال پیش پیداش کرده بودم یا حداقل یک
senior
بهم معرفی میکرد که بخونم.
برای اینکه کسی مثل من نشه و چون django developer بسیار داریم این پست و کتاب رو گذاشتم.
کتاب رو گذاشتم؛ چون خرید از ایران بسیار سخت بود.
Adam Johnson - Speedup your django tests
کتاب راحت ۱۰ ستاره هست؛ هم بخاطر اهمیت موضوع هم نوشتار و …
توی مدتی که دارم django میخونم خیلی ایراد دیدم توی کدهای توسعه داده شده توسط دوستان
من خودمم اشتباه زیاد دارم؛ ولی خب در نظر بگیرید من سنیور django نیستم و تازه شروع کردم اما آشنایی بالایی که با
system design, software engineering
دارم باعث میشه خیلی از دوستان لطف کنند و من رو هم در زمره سنیورهای جنگو قرار بدند (هنوز سابقه ام به یکسال نرسیده)
یکی از معظلاتی که رو آپدیت پروژه شرکت داشتم؛ سرعت پایین کدهای تست بود و متاسفانه هیچکس هم نتونست کمکم کنه روی این موضوع
حالا به کتابی برخوردم که آرزو میکردم ۱ سال پیش پیداش کرده بودم یا حداقل یک
senior
بهم معرفی میکرد که بخونم.
برای اینکه کسی مثل من نشه و چون django developer بسیار داریم این پست و کتاب رو گذاشتم.
کتاب رو گذاشتم؛ چون خرید از ایران بسیار سخت بود.
Adam Johnson - Speedup your django tests
کتاب راحت ۱۰ ستاره هست؛ هم بخاطر اهمیت موضوع هم نوشتار و …
👍5