Python for Data Science
315 subscribers
127 photos
16 videos
12 files
61 links
اطلاعات مفید جهت یادگیری پایتون برای علم داده
Download Telegram
Forwarded from جنگولرن
آیا همیشه بهتره از آخرین نسخه پایتون برای همه پروژه ها استفاده کنیم؟
نظر چند تا از دوستان با تجربه در این مورد:

✔️یکسری پکیج هایی که اپدیت ندادن از ۳.۹ به ۳.۱۰ نیاز به یکسری تغییرات ریز دارن که باید فورک کنی دستی اپدیت کنی. ولی من خودم از ۳.۱۰ استفاده میکنم همه جا

✔️چون رو ۳.۱۰ یک تایمی انقدر سر پکیج ها ارور خوردم اومدم ۳.۹ همچی اوکی بود و اینکه الان دیفالت ۳.۱۰ وصله اوکی، ولی قدیمی ها روی ۳.۸ و ۳.۹ موندن دیگ

✔️تقریبا تمام پروژه هایی که تجاری هستن پایتون ۳.۸ و ۳.۹ استفاده میکنم. پروژه های استارتاپی و شخصی و ... آخرین نسخه پایتون (فکرکنم ۳.۱۱) برای من اینطوریه. روی همین ۳.۸ و ۳.۹ تا حالا چندین بار سر package conflict سرویس شدیم جرات نداریم بالاتر ببریم توی پروژه هایی که حساسن

✔️ببین من معتقدم که بسته به نیازت باید بری جلو و میدونم این خیلی کلیشه ای هست ولی اگر کاری نداشته باشم و لنگ نسخه بالا تر نباشم ۳.۹ ولی مثلاً من الان تفاوت سرعتم با ۳.۱۰ مشهوده و نیاز دارم سریع تر باشم توی یه پروژه دیگه با ۳.۱۰ میرم جلو

🙏🏻 شما هم نظر خودتون رو بدید (خصوصی هم بگید اوکیه). نظرات بقیه رو هم به کامنت ها اضافه میکنم
👍2
😄

🔎 @py4ds
😁2
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
مشکل سال 2038 چیست؟!

سوالش باحالیه مگه نه؟! نه پایان جهان نیست، تقویم قوم شبه‌مایاها هم تموم نمیشه، فضایی‌ها هم حمله نمیکنن... یه اتفاق خطرناکتری ممکنه بیفته...🤭

ممکنه زمان کامپیوتر شما یهو 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
وقتی کارفرما گفته سریع پروژه رو تحویل بده میخوام زود ببرمش روی پروداکشن 😁
🔎 @py4ds
😁3
🌺فرارسیدن نوروز سال 1402 بر همه شما مبارک
🔎 @py4ds
🔥1
🌙فرارسیدن ما رمضان، بهار دلها بر شما مبارک باشه
🔎 @py4ds
😁1
🔺 در مورد تغییر سیاست در مورد ساعت تابستانی در ایران

هر سال در اول بهار و پایان تابستان ساعت ایران به ترتیب یکساعت به جلو و به عقب کشیده می‌شد این تغییر در اصطلاح 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
Forwarded from Deep Time
یکی از نشانه‎‌های کدنویسی حرفه‌ای در پایتون: استفاده (به موقع) از decorator

در زبان پایتون، decorator یک الگوی طراحی هست که میتونه به توابعی (یا کلاس‌هایی) که از قبل تعریف شدن یک functionality یا عملکرد جدید بده. این عملکرد میتونه سریع‌تر کردن اجرای تابع، تعیین زمان اجرای تابع، تنظیمات خاص برای کلاس، دیباگ کردن و ... باشه. پیشنهاد میکنم از این لینک حتما یکسری decorator کاربردی را یاد بگیرید و البته با استفاده از مطالب این پست، مهارتتون رو تثبیت کنید.

پ.ن: اگر سایت towardsdatascience یا medium براتون پیام میده که تعداد پست رایگانتون تموم شده و باید ثبت نام کنید کافیه صرفا لینک رو از یک صفحه incognito (ناشناس) باز کنید.
@deeptimeai
عیدتون مبارک🌺
👍3
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
👍1
Forwarded from Django Expert (Mehran Tarif)
‏متاسفانه صابر راستی‌کردار، خالق فونت‌های وزیر‌ متن (همون فونت زیبایی که روی تلگرام دسکتاپ و گوگل‌داکز و... به رایگان ازش استفاده می‌کنیم) و گندم و شبنم و کلی فونت دیگه، به سرطان مبتلا شده و در وبلاگش در این مورد مطلبی نوشته:
مشاهده مطلب در وبلاگ راستی‌کردار

اگر از فونت‌هاش استفاده می‌کنیم، شاید الان دونیت (حمایت مالی) ما بیشتر از قبل به کارش بیاد.
لینک دونیت:
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
Please open Telegram to view this post
VIEW IN TELEGRAM
😱1
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
This media is not supported in your browser
VIEW IN TELEGRAM
دموی این زبان برنامه نویسی رو با هم ببینیم 💃

@SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
کد بالا رو در دو محیط مختلف اجرا کنید
یکی در یک فایل .py
دیگری در فایل .ipynb
نتایج متفاوت هست!

چرا؟ 😊😊

🔎 @py4ds
😱2
Python for Data Science
کد بالا رو در دو محیط مختلف اجرا کنید یکی در یک فایل .py دیگری در فایل .ipynb نتایج متفاوت هست! چرا؟ 😊😊 🔎 @py4ds
📌اختلاف این دو حالت برمیگرده به مبحث Interning که در اینجا برای مقادیر Integer در بازه‌ی
[-5, 256]
هستند.
🔺اگر دارید توی هر نوعی از شل توی پایتون (python shell , ipython, ...) کد میزنید باید حواستون باشه که این مقادیر یکبار ساخته میشن و برای همیشه از همونا استفاده میشه اما مقادیر خارج از این بازه هربار که لازم باشه از اول ساخته میشه. یعنی id اونها ممکنه با هم فرق داشته باشه
🔺اما اگر کل کد توی فایل .py به پایتون بدید اونو بهینه میکنه و تا زمانی که لازم هست مقادیر integer خارج از اون بازه رو نگه‌ می‌داره. بنابراین این مقادیر هم مثل مقادیر ذکر شده در بازه‌ی فوق فقط یکبار ساخته میشن.

🔹خلاصه هرجایی دارید از is استفاده می‌کنید حسابی حواستون رو جمع کنید که یه وقت اچتباهی کد نزنید! 😁
🔎 @py4ds
👍2
🔹دسترسی رایگان و بدون فیلترشکن به ChatGPT
سایت زیر توسط مجموعه Quora توسعه داده شده که یک سایت پرسش و پاسخ هست!
این سایت چند ماهی هست که لانچ شده و به چندتا از رباتهای چت هوش مصنوعی متصل هست. شما میتونید خیلی راحت ازشون استفاده کنید!
همینطور میتونید یک ربات مخصوص با پرامپت مخصوص برای خودتون ایجاد کنید و جوابهای شخصی‌سازی شده بگیرید!

https://Poe.com

🔎 @py4ds
🔸 در حال آماده سازی یک فایل ارائه در مورد خطرات AI هست.
تا اینجا مشکلی نیست
مشکل اونجاست که توی مانیتور پایین داره از ChatGPT سوال میپرسه!

🔎 @py4ds
😁2