انجمن علمی ریکا
1.96K subscribers
1.62K photos
101 videos
139 files
698 links
انجمن علمی ریاضی و علوم کامپیوتر دانشگاه اصفهان

جادویی که دنبالشی درون کاریه که از اون اجتناب می‌کنی...

انتقادات و پیشنهادات👇🏻
📎 https://app.epoll.pro/31821200
اطلاعات بیشتر👇🏻
📎 https://ZiL.ink/AMCSUI
ارتـبــاط بـا مـا👇🏻
📎 @AMCSSup
Download Telegram
🟡 #اطلاعیه
تعطیلات تابستانی دانشگاه اصفهان

🔸 دانشگاه اصفهان از شنبه مورخ ۱۱ مرداد ۱۴۰۴ تا چهارشنبه مورخ ۲۲ مرداد ۱۴۰۴ به دلیل تعطیلات تابستانی تعطیل خواهد بود. در این مدت، کلیه فعالیت‌های اداری نیز متوقف خواهند شد.

🔸 توصیه می‌شود دانشجویان تمامی مقاطع و فارغ‌التحصیلان، درخواست‌های مربوط به امور آموزشی خود را از تاریخ ۲۵ مرداد ۱۴۰۴ پیگیری نمایند.

⚠️ لازم به ذکر است که کلاس‌های مجازی دوره تابستانه طبق برنامه قبلی برگزار خواهند شد.

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
2
📣 #یادآوری

🔴 دیسکاشن کلاب | فردا(۱۰ مرداد) | ساعت ۱۰:۳۰ تا ۱۱:۴۵

♦️  موضوع جلسه:
The Decline of Traditional News and Rise of Echo Chambers

🔵 بوک کلاب | فردا(۱۰ مرداد) | ساعت ۱۴ تا ۱۶

🔹  موضوع جلسه:
ارائه و بحث تا سر فصل چهارم کتاب «خداحافظ گری کوپر» از رومن گاری.

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
🕊3
🐍 #پایتون

🚀 چطور CPU توی پایتون الکی منتظر نشه؟

اگه با پایتون کار کرده باشی، می‌دونی عملیات I/O مثل خوندن فایل یا درخواست به API، باعث می‌شه CPU همینطوری دست‌ به‌ سینه منتظر بمونه.

🔺 فرض کن ۱۰ تا API بزنی و هر کدوم ۲ ثانیه طول بکشه. بدون هیچ ترفندی، برنامه‌ت حداقل ۲۰ ثانیه طول می‌کشه!

⁉️ اما راه‌حل چیه؟ استفاده از async/await
با async به CPU می‌گی:
«اگه رسیدی به یه عملیات I/O، معطل نشو! برو سراغ کارهای دیگه. وقتی اون تموم شد، برگرد ادامه بده.»

💻 نمونه‌ی کدش رو اینجا می‌تونی ببینی.

نتیجه؟
🔻 همون مثال بالا، به جای ۲۰ ثانیه، توی ۲ ثانیه اجرا می‌شه! اونم بدون نیاز به سربار multi-threading.

📌 مخصوصاً برای برنامه‌نویس‌های وب و دیتا که دائم با API و scraping سر و کار دارن، async یه نجات‌دهنده‌ست.

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
💯12👍5🔥3
🔷 #حلقه_مطالعاتی

«هندسهٔ جبری»

📖 توضیحات:
در این حلقه سعی خواهیم کرد مطالعهٔ هندسهٔ جبری را از مباحث مقدماتی و کلاسیک شروع کنیم و سپس مباحث نوین آن را دنبال کنیم. پیش‌نیاز لازم برای حضور در این حلقه، آشنایی ابتدایی با جبر، توپولوژی، حسابان و جبر جابه‌جایی است. جلسات به صورت ارائه و مطالعهٔ گروهی خواهد بود. منبع مطالعاتی با هماهنگی اعضا مشخص خواهد شد.

🗓️ زمان جلسات:
جلسات دو روز در هفته و به صورت حضوری در خانه ریاضیات اصفهان برگزار خواهد شد. روز و زمان جلسات توسط اعضای حلقه مشخص خواهد شد.

🔗 در صورت تمایل به حضور در حلقه، به شناسهٔ زیر پیام دهید:
@imh_students

@IMHStudents
🔥2
🐍 #پایتون

👀 راز پشت‌صحنه ساخت کلاس‌ها در پایتون

شاید فکر می‌کنید وقتی اینو می‌نویسید:
class MyClass:
x = 10

فقط یه کلاس ساده ساختید، ولی حقیقت یکم جالب‌تره!
پایتون در واقع همین کد رو به شکل زیر تفسیر می‌کنه:
MyClass = type('MyClass', (), {'x': 10})

🔍 حالا یعنی چی؟
'MyClass' → اسم کلاس شما
() → لیست کلاس‌هایی که ازشون ارث‌بری می‌کنه (اینجا خالیه)
{'x': 10} → ویژگی‌ها و بدنه کلاس

جالب اینجاست که type فقط یه تابع نیست، بلکه سازنده کلاس‌ها هم هست!
حتی خود type هم یه شیئه و guess what؟ ساخته شده از چیزی به اسم Metaclass.

🧩 متاکلاس‌ها در پایتون
همون‌طور که شما با کلاس، شیء می‌سازید، پایتون هم با متاکلاس، کلاس می‌سازه!
پس در پایتون:
هر چیزی یه شیئه،
حتی کلاس‌ها هم خودشون شیءهایی هستن که type ساخته.

یه تست سریع:
class A:
pass

print(type(A)) # خروجی: <class 'type'>

نتیجه: وقتی کلاس می‌سازید، در حقیقت یه شیء از کلاس type می‌سازید!

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
👌182
💻 #برنامه‌نویسی #API

🛠️ پنج API رایگان برای تمرین برنامه‌نویسی

اگه دنبال منابع خفن برای تمرین و ساخت پروژه‌های واقعی هستی، این چندتا API عمومی می‌تونه بهت کمک کنه:

1️⃣ OpenWeatherMap API 🌦
برای دریافت داده‌های دقیق آب‌وهوا؛ شامل وضعیت فعلی، پیش‌بینی چندروزه، کیفیت هوا و داده‌های تاریخی. مستندات و اطلاعات قابل‌استفاده‌اش عالیه.

2️⃣ CoinGecko API 💰
دسترسی به قیمت لحظه‌ای و تاریخی رمز‌ارزها، داده‌های بازار، نمودارها و تحلیل شبکه‌های بلاک‌چین. مناسب برای ساخت داشبورد، اپ‌های تحلیلی یا پروژه‌های آموزشی.

3️⃣ The Cat API 🐱
یک API ساده و سرگرم‌کننده برای دریافت تصاویر گربه، اطلاعات نژاد، امتیازدهی و آپلود عکس. برای پروژه‌های fun یا نمونه‌ کار با رابط کاربری!

4️⃣ COVID-19 Data API 🦠
برای دسترسی به داده‌های روزانه و تاریخی درباره کرونا، تفکیک شده بر اساس کشور یا ایالت برای تحلیل‌های آماری و نمایش روندها.

5️⃣ Public APIs List
یک لیست جامع از هزاران API رایگان در موضوعات مختلف مثل آب‌وهوا، ارز، علم، سرگرمی، داده باز و غیره — یک پلتفرم عالی برای کشف منابع جدید.

🖇  انجمن ریکا | زی‌لینک | ویکی | ارتباط با ما
🔥151🤯1
🐍 #پایتون #کتابخونه

🥦 نجات‌دهنده تسک‌های سنگین در بک‌گراند، Celery

تصور کن لازم داری یه کاری رو انجام بدی، اما نمی‌خوای اپلیکیشن اصلیت معطل بشه.
شاید اولین چیزی که به ذهنت برسه async/await یا multithreading توی پایتون باشه.
درسته، اینا کمک می‌کنن، ولی هنوز داری تسک‌ها رو داخل اپ خودت اجرا می‌کنی.

🧨 حالا فکر کن تعداد تسک‌ها یهو زیاد بشه، مثلاً یه وب‌سایت داری که باید صدها ایمیل رو هم‌زمان بفرسته. توی همچین شرایطی اپلیکیشنت ممکنه به مشکل بخوره.

💥 اینجاست که کتابخونه Celery وارد بازی می‌شه. (آره، کرفس! شاید چون تسک‌ها رو شاخه‌ شاخه مدیریت می‌کنه👀؟!)
حالا Celery با کمک broker‍هایی مثل RabbitMQ یا Redis، کارهای زمان‌بر رو می‌فرسته توی بک‌گراند.

📌 در نتیجه:
-تسک‌ها به‌صورت asynchronously اجرا می‌شن.
-اپلیکیشن اصلیت دیگه درگیر نمی‌شه.
-و منابع سیستمت آزاد می‌مونه.

💡 برای جزئیات بیشتر می‌تونی این لینک رو مطالعه کنی.

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
❤‍🔥91👌1
📚 #کتابخونه

🎯 کتابخونه‌ای همه‌فن‌حریف برای بینایی کامپیوتر!

👀 گوگل یه کتابخونه داره به اسم MediaPipe که حسابی کار رو راحت کرده!
از تشخیص چهره و ردگیری دست‌ها گرفته تا کلی الگوریتم بینایی کامپیوتر دیگه، همه‌چی رو به‌صورت real-time برات فراهم می‌کنه.

📌 نکته جذابش اینه که کراس‌پلتفرمه؛ یعنی می‌تونی به‌راحتی توی اپ‌های موبایل، دسکتاپ یا حتی وب استفاده‌ش کنی، اونم بدون نیاز به GPU یا سیستم قوی.

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
6👍2💯1
🐍 #پایتون

🔮 جادوی پنهان پایتون در ارسال آرگومان‌ها

وقتی بحث ارسال آرگومان به توابع می‌شه، معمولاً این دو اصطلاح رو می‌شنویم:

Pass by Value (ارسال کپی)
Pass by Reference (ارسال خود متغیر)

اما پایتون روش خودش رو داره!
مدلی به نام Pass by Object Reference یا همون Pass by Assignment.

📌 یعنی چی؟
تصور کن یه صندوق داری (مثل یه list) و آدرسش رو روی یه کاغذ نوشتی.
وقتی تابعی اجرا می‌شه، پایتون یه کاغذ جدید درمیاره، همون آدرس رو روش می‌نویسه و به تابع می‌ده.

-اگه تابع چیزی از صندوق برداره یا تغییر بده، تو هم می‌بینی.
-اما اگه صندوق جدید بسازه، فقط خودش اون رو داره.

🔑 اینجا پای یه تفاوت مهم وسط میاد:
Mutable object (مثل list):
تابع می‌تونه محتوای اصلی رو تغییر بده.
Immutable object (مثل int):
تابع نمی‌تونه مقدار اصلی رو تغییر بده و باید یه نسخه جدید بسازه.

👨‍💻 نمونه کد:

def demonstrate_passing_behavior(my_list, my_int):
my_list.append(4) # تغییر مستقیم در لیست اصلی
my_list = list(my_list) # ساخت کپی جدید
my_int = my_int + 10 # ساخت int جدید، بدون تغییر عدد اصلی

original_list = [1, 2, 3]
original_int = 5
demonstrate_passing_behavior(original_list, original_int)

print(original_list) # [1, 2, 3, 4]
print(original_int) # 5

📍 خروجی:

original_list تغییر کرده
(چون mutable بوده)
original_int بدون تغییر مونده
(چون immutable بوده)

💡 پس درنهایت فهمیدیم که در پایتون خبری از Pass by Value یا Pass by Reference نیست!
به‌جای اون Pass by Object Reference داریم. یعنی reference به object ارسال می‌شه، ولی خود reference به صورت value پاس می‌شه.

🖇  انجمن علمی ریکا | زی‌لینک | ویکی | ارتباط با ما
8👍2🤩1👌1