آموزش ویدیویی جاوا اسکریپت، Node.js ، React ، jQuery ، Vue و ...
1.61K subscribers
155 photos
71 videos
121 files
1.85K links
Download Telegram


🔵 نکات برنامه‌نویسی



🔄 Idempotency در برنامه‌نویسی


🔹 ایده اصلی

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

📌 مثال روزمره:

⬅️ زدن کلید روشن کردن چراغ → اگر چراغ خاموش باشه روشن میشه.
⬅️ اگر دوباره بزنی، همچنان روشن می‌مونه. (تأثیر اضافه نداره)



🔹 چرا مهمه؟

در سیستم‌های توزیع‌شده و APIها، ممکنه یک درخواست به دلیل مشکل شبکه چند بار تکرار بشه.
اگر عملیات Idempotent نباشه، نتایج خراب میشن.

مثلاً:

⬅️ درخواست "پرداخت" دوبار انجام بشه → 😱 دو بار پول کم میشه!
⬅️ ولی درخواست "لغو سفارش" اگر Idempotent باشه، حتی با چند بار تکرار هم فقط یک بار لغو میشه.



مثال ساده (Python)

# عملیات غیر Idempotent (هر بار تغییر می‌کنه)
count = 0

def increment():
global count
count += 1
return count

print(increment()) # 1
print(increment()) # 2 (نتیجه فرق کرد!)


# عملیات Idempotent
users = set()

def add_user(user):
users.add(user) # اگر کاربر وجود داشته باشه دوباره اضافه نمیشه
return users

print(add_user("Ali")) # {"Ali"}
print(add_user("Ali")) # {"Ali"} (همون نتیجه قبلی)

📖 کاربردهای واقعی

➡️ APIهای بانکی و پرداخت 💳 → جلوگیری از دوبار برداشت پول
➡️ REST API (PUT vs POST)

* POST معمولاً Idempotent نیست (هر بار یک رکورد جدید می‌سازه)
* PUT معمولاً Idempotent هست (یک منبع خاص رو جایگزین می‌کنه)
➡️ Microservices Retry Logic → وقتی درخواست‌ها دوباره فرستاده میشن، جلوی خرابی گرفته میشه



🛠️ مزایا

⬅️ افزایش اطمینان در سیستم‌های توزیع‌شده
⬅️ راحت‌تر شدن Retry و Recovery
⬅️ جلوگیری از Duplicate شدن داده یا عملیات



🎯 تشبیه ساده

Idempotency مثل کلید آسانسوره 🛗:

⬅️ اگر یک بار بزنی → آسانسور میاد.
⬅️ اگر ده بار بزنی → سریع‌تر نمیاد!
نتیجه همونه، فقط یک بار انجام میشه.



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🪰 خبر علمی: دانشمندان مگس میوه را برای درمان اعتیاد، معتاد به کوکائین کردند!



🌿🌿 برای اولین بار در جهان، محققان دانشگاه یوتا با دستکاری ژنتیکی مگس میوه، موفق شدند این حشره را به استفاده از کوکائین ترغیب کنند. این کشف عجیب، گامی مهم در درک و درمان اعتیاد است.


🟣 شباهت شگفت‌انگیز انسان و مگس میوه:

شاید عجیب به نظر برسد، اما انسان و مگس میوه شباهت‌های بیولوژیکی زیادی با هم دارند. تقریباً ۷۰ تا ۷۵ درصد ژن‌های مسئول بیماری‌های مختلف بین انسان و این حشره مشترک هستند! همچنین بسیاری از اندام‌های حیاتی مشابه نیز در آن‌ها وجود دارد.


🔴 چرا مگس میوه؟

پژوهشگران سال‌هاست که از مگس میوه برای مطالعات ژنتیکی استفاده می‌کنند. چرخه زندگی کوتاه و ساختار ژنتیکی نسبتاً ساده این حشره، آن را به گزینه‌ای ایده‌آل برای بررسی ریشه‌های بیولوژیکی اعتیادهایی مانند سوءمصرف کوکائین تبدیل کرده است.


🔵 امید به درمان‌های جدید:

این پژوهش می‌تواند مسیرهای جدیدی را برای درک بهتر مکانیسم‌های اعتیاد در سطح ژنتیکی و عصبی باز کند. با مطالعه این تغییرات در مگس میوه، دانشمندان امیدوارند به روش‌های درمانی موثرتری برای انسان دست یابند. این یک گام مهم در نبرد با معضل اعتیاد است.

#پژوهش_علمی #اعتیاد #ژن_درمانی #مگس_میوه #زیست_شناسی

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی:
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکته برنامه نویسی




🚢 Bulkhead Pattern
(الگوی جداکننده / دیواره کشتی)

یک تکنیک در معماری نرم‌افزار (به‌ویژه microservices و سیستم‌های مقاوم) برای جلوگیری از اثر دومینویی خطاها.



📌 ایده اصلی

* توی کشتی‌های بزرگ، بدنه رو به چند بخش (Bulkhead) تقسیم می‌کنن.
* اگه یک بخش سوراخ بشه و آب وارد بشه، فقط همون قسمت پر از آب میشه و کشتی کامل غرق نمیشه.
* در نرم‌افزار هم همین کارو می‌کنیم: سیستم رو به بخش‌های جدا تقسیم می‌کنیم تا خرابی یک بخش باعث خرابی کل سیستم نشه.



مثال ساده

فرض کن یه اپلیکیشن رزرو سفر داری:

* سرویس پرداخت 💳
* سرویس هتل 🏨
* سرویس پرواز ✈️

حالا اگه سرویس هتل Down بشه، کل سیستم قفل نکنه و کاربر هنوز بتونه پروازش رو رزرو کنه یا پرداخت کنه.



پیاده‌سازی در عمل

* جداسازی Thread Pools برای هر سرویس.
* استفاده از Connection Pool جدا برای دیتابیس‌ها.
* تقسیم منابع (CPU, Memory) بین سرویس‌ها.



مثال کد (با Thread Pool جداگانه در جاوا – مفهومی)

ExecutorService hotelPool = Executors.newFixedThreadPool(10);
ExecutorService flightPool = Executors.newFixedThreadPool(10);

hotelPool.submit(() -> hotelService.bookHotel());
flightPool.submit(() -> flightService.bookFlight());
اینجا اگه هتل قفل کنه یا Threadهاش پر بشن، پرواز هنوز مستقل کار می‌کنه.



📖 جاهای کاربردی

* معماری Microservices.
* سیستم‌های با بار بالا مثل رزرو آنلاین، پرداخت‌ها، فروشگاه‌های اینترنتی.
* هر جایی که High Availability مهم باشه.



🛠️ مزایا

* ایزوله‌سازی خطا → مشکل یک بخش به کل سیستم سرایت نمی‌کنه.
* پایداری بیشتر در سیستم‌های توزیع‌شده.
* مدیریت بهتر منابع.



⚠️ معایب / چالش‌ها

* مصرف منابع بالاتر (چون باید Poolها جدا بشن).
* پیچیدگی در مدیریت.
* نیاز به مانیتورینگ قوی برای فهمیدن اینکه کدوم Bulkhead پر یا Fail شده.



👉 تشبیه ساده

Bulkhead Pattern مثل کشتیه 🚢
اگه یک قسمت آب بگیره، فقط همون قسمت غرق میشه، نه کل کشتی.
توی نرم‌افزار هم همینطوره: با ایزوله کردن سرویس‌ها، کل سیستم رو از غرق شدن نجات می‌دی.




ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین


یک نکته ساده و مهم دیگه در یادگیری ماشین:

ویژگی‌های غیر مرتبط یا نویزی می‌تونن مدل رو بدتر کنن، پس Feature Selection مهمه.

* وقتی داده‌ها شامل ویژگی‌های زیادی هستن، بعضی‌ها ممکنه کمکی به پیش‌بینی نکنن یا حتی باعث overfitting بشن.
* روش‌هایی مثل انتخاب ویژگی مبتنی بر اهمیت (feature importance)،PCA یا حذف ویژگی‌های هم‌بسته زیاد می‌تونن کمک کنن.

به زبان ساده: گاهی کمتر، بهتره! انتخاب ویژگی‌های درست باعث می‌شه مدل سبک‌تر، سریع‌تر و دقیق‌تر باشه.




ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین

نکته: Stationarity در سری‌های زمانی اهمیت داره.

🔹 سری زمانی Stationary یعنی خصوصیات آماری مثل میانگین و واریانس در طول زمان ثابت باشن.
🔹 چرا مهمه؟ اکثر مدل‌های کلاسیک مثل ARIMA فرض Stationarity دارن و روی داده‌های غیرایستا به درستی کار نمی‌کنن.

🔹 روش‌ها برای رسیدن به Stationarity:

روش Differencing: تفاضل گرفتن بین مشاهدات متوالی.

روش Detrending: حذف روند (Trend) از داده‌ها.

روش Transformation: استفاده از لگاریتم یا ریشه دوم برای کاهش نوسانات بزرگ.

به زبان ساده: Stationary یعنی داده‌ها “آرام و یکنواخت” هستن و مدل راحت‌تر می‌تونه پیش‌بینی کنه 📊.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکات برنامه‌نویسی



💧 Backpressure

🔹 مشکل اصلی

توی سیستم‌های streaming یا message queue (مثل Kafka، RabbitMQ یا RxJS):

➡️ Producer (تولیدکننده) خیلی سریع داده تولید می‌کنه.
➡️ Consumer (مصرف‌کننده) نمی‌تونه با اون سرعت پردازش کنه.
⬅️ نتیجه → صف پر می‌شه، حافظه می‌ترکه، یا سیستم Crash می‌کنه. ⚠️



🔹 راه‌حل: Backpressure

یعنی مصرف‌کننده (Consumer) بتونه به تولیدکننده (Producer) فیدبک بده که سرعت رو کم کنه
یا داده‌ها به‌صورت بافر، Drop، یا Batch مدیریت بشن.



مثال ساده (Python – تولیدکننده سریع‌تر از مصرف‌کننده)

import time
import queue
import threading

# صف بین Producer و Consumer
q = queue.Queue(maxsize=5)

# Producer: داده‌ها رو سریع تولید می‌کنه
def producer():
for i in range(20):
q.put(i) # اگر صف پر بشه، Producer اینجا بلاک میشه (Backpressure)
print(f"Produced {i}")
time.sleep(0.1) # خیلی سریع‌تر از مصرف‌کننده

# Consumer: داده‌ها رو کندتر مصرف می‌کنه
def consumer():
while True:
item = q.get()
print(f" Consumed {item}")
time.sleep(0.5) # کندتر از Producer
q.task_done()

# اجرا
threading.Thread(target=producer, daemon=True).start()
threading.Thread(target=consumer, daemon=True).start()

time.sleep(10) # صبر برای دیدن خروجی


🔹 توضیح کد

* Producer داده‌ها رو با سرعت 0.1 ثانیه تولید می‌کنه.
➡️ Consumer هر 0.5 ثانیه یکی رو مصرف می‌کنه.
⬅️ چون queue.Queue(maxsize=5) تعریف شده، وقتی صف پر بشه → Producer بلاک می‌شه و صبر می‌کنه.
این دقیقاً همون Backpressure هست.



🎯 کاربردهای واقعی

➡️ Stream processing (Kafka, Flink, Spark Streaming)
➡️ Reactive programming (RxJava, Reactor, Akka Streams)
➡️ API Rate Control → اگر کلاینت سریع‌تر از سرور درخواست بفرسته، Backpressure باعث کنترل میشه.



🛠️ راهکارهای مختلف Backpressure

➡️ Buffering → داده‌ها رو موقت ذخیره کن تا مصرف‌کننده برسه.
➡️ Dropping → داده‌های اضافی رو بنداز دور.
➡️ Throttling → سرعت Producer کم بشه.
➡️ Batching → چند داده با هم پردازش بشن.



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکته برنامه نویسی




## 🔎 Fail Fast Principle (اصل خطای سریع)

ایده‌ی اصلی اینه:
اگر مشکلی توی داده یا شرایط برنامه وجود داره، همون اول جلوی ادامه‌ی کار گرفته بشه و سریع خطا داده بشه، به‌جای اینکه مشکل پنهان بمونه و بعداً توی جاهای دیگه برنامه دردسر درست کنه.



📌 چرا مهمه؟

* عیب‌یابی راحت‌تر → وقتی خطا زودتر بیفته، پیدا کردن منبعش خیلی ساده‌تر میشه.
* جلوگیری از انتشار خطا → اگر یک داده اشتباه همین‌طور توی سیستم بچرخه، ممکنه به بخش‌های دیگه آسیب بزنه.
* کاهش هزینه باگ‌ها → هرچی دیرتر یک خطا کشف بشه، رفعش سخت‌تر و پرهزینه‌تره.



مثال ساده – تقسیم عدد

def divide(a, b):
if b == 0:
raise ValueError(" Cannot divide by zero")
return a / b

print(divide(10, 2)) # خروجی: 5
print(divide(10, 0)) # سریع خطا میده
اینجا قبل از اینکه وارد عملیات خطرناک (تقسیم بر صفر) بشیم، برنامه فوراً متوقف میشه و پیام واضح میده.



مثال واقعی‌تر – پردازش کاربر

فرض کن یک API داری که باید داده‌ی کاربر رو ذخیره کنه:

بدون Fail Fast:

def save_user(user):
# فرض کردی داده‌ها درست هستن
db[user["id"]] = user
print("User saved!")
اگه `user مقدار None باشه یا id نداشته باشه، این خطا خیلی دیر اتفاق می‌افته و شاید توی دیتابیس داده‌های ناقص وارد بشه.

✔️ با Fail Fast:

def save_user(user):
if not user:
raise ValueError(" User cannot be None")
if "id" not in user:
raise ValueError(" User must have an id")

db[user["id"]] = user
print(" User saved successfully")
اینجوری خطا همون لحظه و با پیام روشن اتفاق میفته.



📖 جاهایی که خیلی کاربرد داره:

* طراحی APIها (ورودی‌های نامعتبر رو همون اول reject کن).
* Validation فرم‌ها (مثلاً ایمیل اشتباه → سریع خطا).
* تراکنش‌های مالی (اگه شرطی درست نبود، سریع لغو بشه).
* Microservices (به‌جای اینکه درخواست خراب بره لایه‌های پایین، همون ابتدا خطا بده).




💡 مقایسه با سبک “خطا دیررس” (Fail Silent)

* Fail Fast: سریع خطا → رفع راحت‌تر.
* Fail Silent: خطا پنهان می‌مونه → بعداً مشکلات جدی.



👉 یه تشبیه جالب:
مثل ماشینیه که وقتی روغن نداره چراغ قرمز روشن می‌کنه و سریع هشدار میده (Fail Fast)،
نه ماشینی که بدون هشدار ادامه میده تا موتور کامل بسوزه (Fail Silent). 🚗🔥



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


شیائومی هم به راه اپل می‌رود؟ HyperOS 26 در راه است!



🌿🌿 خبرهای تازه از دنیای تکنولوژی موبایل حکایت از یک تغییر بزرگ در نام‌گذاری سیستم‌عامل اختصاصی شیائومی دارد. طبق گزارش‌ها، این شرکت قصد دارد نسخه بعدی HyperOS را با نام HyperOS 26 عرضه کند، تصمیمی که به نظر می‌رسد از استراتژی نام‌گذاری iOS اپل الهام گرفته شده باشد.



🟣 سیستم عامل HyperOS: سبک‌تر، سریع‌تر، یکپارچه‌تر

شیائومی پیش از این سیستم‌عامل HyperOS را با هدف ایجاد یک اکوسیستم یکپارچه و بهبود عملکرد در مدیریت حافظه، شبکه و گرافیک معرفی کرده بود. این سیستم‌عامل با حجم تنها ۸.۷۵ گیگابایت، فضای بسیار کمی را اشغال می‌کند و قرار است روی بیش از ۲۰۰ دستگاه نصب شود؛ ویژگی‌هایی که آن را هم سبک‌تر از iOS و هم سریع‌تر از اندروید معرفی می‌کند.



🔴 تغییر نام، استراتژی جدید؟

اگر این گزارش‌ها دقیق باشند، شیائومی با پرش از HyperOS 3 به HyperOS 26، یک رویکرد نام‌گذاری جدید را در پیش می‌گیرد که سال عرضه را در نام سیستم‌عامل منعکس می‌کند. این تغییر می‌تواند به کاربران کمک کند تا نسخه‌های جدید را راحت‌تر تشخیص دهند و انتظاراتشان را بر اساس سال عرضه تنظیم کنند.



🔵 رقابت در بازار سیستم‌عامل‌ها

این حرکت نشان‌دهنده جاه‌طلبی شیائومی در بازار سیستم‌عامل‌هاست و موقعیت آن را در رقابت با غول‌هایی مانند اپل و گوگل (اندروید) تقویت می‌کند. با تمرکز بر اکوسیستم یکپارچه و بهینه‌سازی عملکرد، شیائومی می‌خواهد تجربه کاربری متمایزی را ارائه دهد.



🟢 اهمیت این تغییر برای توسعه‌دهندگان

برای برنامه‌نویسان، این تغییر نام‌گذاری به معنای نیاز به توجه به نسخه‌های جدیدتر و سازگاری اپلیکیشن‌ها با بهبودهای عملکردی و ویژگی‌های احتمالی HyperOS 26 خواهد بود. همچنین، تمرکز شیائومی بر یکپارچگی اکوسیستم می‌تواند فرصت‌های جدیدی برای توسعه اپلیکیشن‌های چندپلتفرمی و هماهنگ با دستگاه‌های مختلف شیائومی ایجاد کند.


منتظر اخبار رسمی و جزئیات بیشتر درباره HyperOS 26 و تأثیر آن بر آینده دستگاه‌های شیائومی باشید!

#شیائومی #HyperOS #سیستم_عامل #تکنولوژی_موبایل #آپدیت_نرم_افزاری

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی:
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🎯 مدیرعامل کلارنا: بازگشت انسان‌ها به خدمات مشتری VIP!

👤 سباستین سیِمیا‌توفسکی، مدیرعامل شرکت Klarna، در رویداد SXSW لندن گفت:

«همسرم چیزی بهم یاد داد؛ دو چیز می‌تونن همزمان درست باشن.»

🧠 این در حالی است که پیش‌تر گفته بود هوش مصنوعی در کلارنا جای ۷۰۰ نیروی انسانی را گرفته. حالا اما می‌گوید استفاده از انسان در خدمات مشتری نه‌تنها بازمی‌گردد، بلکه ویژه مشتریان VIP خواهد بود — درست مثل دوخت دستی که از دوخت ماشینی گران‌تر است.

📉 کلارنا طی دو سال گذشته تعداد کارمندانش را از ۵۵۰۰ به ۳۰۰۰ نفر کاهش داده و با کاهش هزینه‌ها، منابع را به پرداخت نقدی و سهام به کارمندان باقیمانده اختصاص داده است.

🔁 با این حال، سی‌میا‌توفسکی تأکید کرد:

«کارهای خسته‌کننده و تکراری را به AI می‌سپاریم، اما قول می‌دهیم تماس انسانی برای مشتری باقی بماند.»

💡 او همچنین به تغییر نقش‌ها در آینده اشاره کرد:
«افراد تازه‌ای وارد میدان می‌شوند که هم کسب‌وکار می‌فهمند و هم کدنویسی می‌کنند. ارزش این گروه روزبه‌روز بالاتر می‌رود.»

📚 خودش برای یادگیری کدنویسی و تحلیل داده‌ها از ChatGPT کمک می‌گیرد و می‌گوید:

«یه ترد از Slack رو بهش می‌دم و می‌پرسم: این حرفا منطقیه؟! درست فهمیدم؟»

📉 در ادامه صحبت‌هایش به قطع همکاری کلارنا با Salesforce و Workday اشاره کرد. دلیل؟
«ما باید همه داده‌ها را یکپارچه کنیم تا بهتر وارد مدل‌های هوش مصنوعی شوند. دیگه نمی‌خوایم بین Google Suite، Slack، Salesforce و ۱۲۰۰ سرویس کوچیک بپریم.»

⚠️ درباره چالش‌های AI نیز هشدار داد، مخصوصاً افزایش کلاهبرداری‌های مالی که در جوامع با اعتماد بالا مثل سوئد، ضربه‌زننده‌ترند.





#Klarna #هوش_مصنوعی #خدمات_مشتری #ChatGPT #AI #کسب_و_کار #TechCrunch #IPO #استارتاپ

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Zaban7ir

آدرس وبسایت:
https://Tutorial24.ir

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Zaban7ir

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکته برنامه نویسی

یک نکته مهم در مورد استفاده از Git حتی برای پروژه‌های شخصی اینه که:

> Git فقط برای همکاری تیمی نیست، بلکه یک "ماشین زمان" شخصی برای کد توست.

با Git می‌تونی:

⬅️ هر تغییری که در گذشته دادی رو دقیق ببینی.
⬅️ به نسخه‌های قبلی کدت برگردی، حتی اگر همه‌چیز رو خراب کرده باشی.
⬅️ بدون ترس از خراب شدن پروژه، ایده‌های جدید رو تو شاخه (branch) جدا تست کنی.

📌 مثال ساده:
فرض کن امروز یه تغییر میزنی که فکر می‌کنی عالیه، ولی فردا می‌بینی کدت پر از باگه.
با یک دستور ساده:

git checkout <commit-id>
می‌تونی برگردی به روزی که کدت بدون مشکل کار می‌کرد.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین

رگرسیون خطی مثل یک ماشین ساده و کارآمده که برای کارهای مستقیم و مشخص ساخته شده. 🚗 ولی گاهی اوقات به ماشین‌های دیگه‌ای نیاز داریم که کارهای متفاوت یا پیچیده‌تری انجام بدن. 🏎🚀

رگرسیون خطی در مقابل رگرسیون لجستیک

این دو مدل شبیه هم هستن، ولی هدفشون کاملاً فرق می‌کنه. رگرسیون خطی برای پیش‌بینی یک مقدار عددی استفاده می‌شه. 🔢 مثلاً پیش‌بینی قیمت خونه یا وزن یک نفر.

اما رگرسیون لجستیک برای پیش‌بینی یک دسته یا طبقه‌بندی استفاده می‌شه. 🎯 مثلاً اینکه آیا یک مشتری محصولی رو می‌خره یا نه (بله/خیر)، یا اینکه یک ایمیل اسپم هست یا نه. 🗑 به جای یک خط مستقیم، از یک منحنی S-شکل استفاده می‌کنه تا احتمال یک اتفاق رو پیش‌بینی کنه.

رگرسیون خطی در مقابل رگرسیون پلی‌نومیال

رگرسیون خطی همیشه یک رابطه مستقیم و خطی رو بین متغیرها در نظر می‌گیره. 📈 یعنی هر چقدر یک متغیر افزایش پیدا کنه، متغیر دیگه هم به صورت متناسب بالا یا پایین می‌ره.

اما اگه رابطه بین داده‌ها صاف و خطی نباشه، باید از رگرسیون پلی‌نومیال (چند جمله‌ای) استفاده کنیم. این مدل از یک منحنی خمیده 🎢 برای مدل‌سازی داده‌ها استفاده می‌کنه و می‌تونه الگوهای پیچیده‌تر رو تشخیص بده. مثلاً رابطه‌ی بین سن و توانایی ورزشی در انسان، اول افزایش پیدا می‌کنه و بعد کاهش پیدا می‌کنه. 🏃‍♂️🚶‍♀️

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
📲💰 همکاری RevenueCat و Paddle برای افزایش درآمد اپلیکیشن‌ها از طریق پرداخت‌های وب

دو شرکت بزرگ در زمینه زیرساخت پرداخت و اشتراک، RevenueCat و Paddle، به‌تازگی همکاری تازه‌ای را آغاز کرده‌اند تا به توسعه‌دهندگان اپلیکیشن‌ها کمک کنند از پرداخت‌های وب نیز درآمدزایی کنند — به‌ویژه در پی تغییرات جدید در سیاست فروشگاه اپ استور آمریکا.
🔓 چه اتفاقی افتاده؟

به‌دنبال حکم دادگاه پرونده اپیک گیمز علیه اپل، توسعه‌دهندگان حالا می‌توانند لینک پرداخت‌های وب را در اپلیکیشن‌های iOS قرار دهند — بدون اینکه مجبور باشند کارمزد به اپل بپردازند.
🔧 این همکاری چه کمکی می‌کند؟

شرکت Paddle پرداخت‌های وب و امور مالیاتی/قانونی مربوطه را مدیریت می‌کند.

شرکت RevenueCat داده‌های اشتراک کاربران را بین نسخه‌های وب و موبایل همگام‌سازی و مدیریت می‌کند.

کاربران می‌توانند یک‌بار اشتراک بخرند و روی همه دستگاه‌ها (iOS، Android و وب) استفاده کنند.

توسعه‌دهنده‌ها به داشبورد RevenueCat دسترسی دارند تا تحلیل لحظه‌ای عملکرد اشتراک‌ها را ببینند.

🧪 چه کسانی استفاده کرده‌اند؟

مثلاً اپلیکیشن دویدن Runna قبلاً از خدمات هر دو شرکت استفاده می‌کرد. حالا با این ادغام، فرآیند درآمدزایی از طریق وب برایش بسیار ساده‌تر شده است.
💬 گفته مدیرعاملان

جیمی فیتزجرالد (Paddle):

«فرصت بزرگی برای اپ‌های اشتراکی وجود دارد تا با رفتن به سمت وب، درآمد خود را افزایش دهند. اما این کار با چالش‌های فنی و عملیاتی زیادی همراه است. با همکاری با RevenueCat، این مسیر را برای توسعه‌دهنده‌ها هموار کردیم.»

جیکوب آیتینگ (RevenueCat):

«با Paddle شریک خوبی برای این پروژه پیدا کردیم تا پرداخت‌های وب را کنار اپ‌استورها به توسعه‌دهنده‌ها ارائه کنیم.»

🔍 این تغییرات می‌توانند انقلابی در درآمدزایی مستقل از اپ‌استور اپل ایجاد کنند و قدرت بیشتری را به دست توسعه‌دهندگان بازگردانند.

#RevenueCat #Paddle #اپلیکیشن #درآمدزایی #پرداخت_وب #پرداخت_مستقیم #اپ_استور #اپل #iOS #اپلیکیشن_موبایل #سیاست_اپل #استارتاپ #درآمد_دلاری


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Zaban7ir

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکته برنامه نویسی

یک نکته مهم درباره تست واحد (Unit Test) اینه که:

🌿🌿 تست واحد فقط برای پیدا کردن باگ نیست، برای جلوگیری از برگشت باگ (Regression) هم هست.

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

نتیجه این کار:

⬅️ اعتماد به تغییرات → می‌تونی با خیال راحت Refactor کنی.

⬅️ زمان کمتر برای دیباگ → به جای جستجوی چندساعته، تست خودش خطا رو نشون میده.

⬅️ مستندسازی زنده → خود تست‌ها نشون میدن کد چه ورودی و خروجی‌ای باید داشته باشه.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین

مقیاس‌بندی ویژگی‌ها یا Feature Scaling بخش مهمی از پیش‌پردازش داده‌هاست.

🔹 چرا مهمه؟
خیلی از الگوریتم‌ها (مثل KNN، SVM، شبکه‌های عصبی) به فاصله یا مقدار وزن حساسن. اگه یه ویژگی مقیاس بزرگ‌تری داشته باشه (مثلاً درآمد به میلیون در مقابل سن به سال)، مدل بیشتر به اون توجه می‌کنه.

🔹 روش‌های رایج:

روش Min-Max Scaling: همه داده‌ها رو به بازه [0,1] یا [−1,1] می‌بره.

روش Standardization (Z-score): داده‌ها رو طوری تغییر میده که میانگین = 0 و واریانس = 1 بشه.

روش Robust Scaling: از میانه و چارک‌ها استفاده می‌کنه → در برابر داده‌های پرت مقاوم‌تره.

به زبان ساده: Feature Scaling یعنی بذاری همه ویژگی‌ها “با یک متر اندازه‌گیری بشن”.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir




🗣 خبر خوب: ورزش مداوم، خطر مرگ در مبتلایان به سرطان کولون را تا ۳۷ درصد کاهش می‌دهد!



🌿🌿 سرطان کولون یا روده بزرگ، یکی از انواع شایع و جدی سرطان در سراسر جهان است. حالا، یک پژوهش جدید، خبری بسیار امیدبخش برای مبتلایان به این بیماری دارد: ورزش مداوم می‌تواند به شکل چشمگیری، خطر مرگ و میر ناشی از سرطان کولون را کاهش دهد.


🟣 ورزش، سدّی در برابر بازگشت سرطان

بسیاری از بیماران سرطانی پس از بهبود، با نگرانی بازگشت بیماری مواجه هستند. این پدیده، به خصوص در سرطان کولون، احتمال بالاتری دارد. اما یافته‌های جدید نشان می‌دهد که ورزش منظم و هدفمند، نه تنها به سلامت روده بزرگ کمک شایانی می‌کند، بلکه از لحاظ آماری توانسته است مرگ و میر مبتلایان به سرطان کولون را تا ۳۷ درصد کاهش دهد. این یعنی ورزش، می‌تواند یک ابزار قدرتمند در کنترل و پیشگیری از عود سرطان باشد.


🔴 جزئیات پژوهش و نتایج شگفت‌انگیز

این پژوهش اخیر روی ۸۸۹ بیمار مبتلا به سرطان کولون انجام شده که همگی چندین سال شیمی‌درمانی را پشت سر گذاشته بودند. این بیماران به دو گروه تقسیم شدند:

⬅️ گروه اول: یک برنامه تمرینی دقیق و شخصی‌سازی شده به مدت ۳ سال دریافت کردند، که تحت نظارت مستمر کارشناسان و مربیان بود.

⬅️ گروه دوم: برنامه استاندارد مراقبت پس از بهبود سرطان را دنبال کردند.

داده‌ها نتایج بسیار قابل توجهی را نشان داد: گروهی که برنامه تمرینی داشتند، ۲۸ درصد کمتر دچار عود مجدد سرطان شدند و میزان مرگ و میر آن‌ها بر اثر سرطان نیز ۳۷ درصد کمتر به ثبت رسید!


🔵 امید تازه برای مبتلایان

این یافته‌ها اهمیت فوق‌العاده‌ای دارد و تأیید می‌کند که سبک زندگی فعال و گنجاندن ورزش در برنامه روزانه، می‌تواند نقش حیاتی در بهبود نتایج درمانی و افزایش طول عمر مبتلایان به سرطان کولون ایفا کند. این خبر امید تازه‌ای به بیماران و خانواده‌های آن‌ها می‌دهد تا با استفاده از یک ابزار در دسترس و طبیعی، مسیر درمان و بهبودی خود را تقویت کنند.


#سرطان_کولون #ورزش #سلامت #پیشگیری_سرطان #پژوهش_پزشکی


ـــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی:
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


جمعیت واقعی زمین شاید چند میلیارد نفر بیشتر از برآوردهای رسمی باشد!



🌿🌿 شاید فکر می‌کردید جمعیت زمین را دقیق می‌دانید، اما یک پژوهش جدید این تصور را به چالش کشیده است! بررسی‌های تازه نشان می‌دهد که جمعیت واقعی کره زمین ممکن است به طرز چشمگیری بیشتر از برآوردهای فعلی باشد؛ حتی تا چند میلیارد نفر بیشتر!



🟣 چالش در آمار رسمی:

طبق آمار رسمی سازمان ملل، جمعیت جهان در تابستان سال گذشته حدود ۸.۲ میلیارد نفر اعلام شد. اما «جاناتان کندی»، استاد دانشگاه کویین‌مری لندن، در یادداشتی برای گاردین به این نکته اشاره کرده که این رقم ممکن است صدها میلیون یا حتی چند میلیارد نفر کمتر از جمعیت واقعی باشد. او تاکید می‌کند که بحث جمعیت فقط مربوط به اعداد نیست، بلکه به "منازعات قدرت درباره اینکه کدام زندگی اهمیت دارد و چه کسی تهدید یا بار اضافی تلقی می‌شود" نیز برمی‌گردد.



🔴 داده‌های روستایی، نقطه کور برآوردها:

پژوهشی که در ژورنال Nature توسط محققان دانشگاه آلتو منتشر شده، دلیل اصلی این دست‌کم گرفتن جمعیت را کم‌دقتی داده‌ها در مناطق روستایی می‌داند. به گفته این محققان، حتی دقیق‌ترین داده‌ها هم جمعیت روستایی را تا نصف مقدار واقعی برآورد کرده‌اند. این موضوع نشان می‌دهد که چقدر جمع‌آوری داده‌های دقیق در مناطق دورافتاده دشوار است و چقدر این نواقص می‌توانند بر آمارهای جهانی تاثیر بگذارند.


🔵 این یافته‌ها، بحث‌های جدیدی را درباره دقت داده‌های جمعیتی، نحوه سرشماری‌ها و پیامدهای آن برای برنامه‌ریزی‌های جهانی باز می‌کند.

#جمعیت_جهان #آمار_جمعیت #پژوهش_علمی #داده_کاوی #سازمان_ملل


ــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی:
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🔻 در پی تنش میان ترامپ و ماسک: ناسا و پنتاگون به دنبال جایگزین برای اسپیس ایکس!


🌿🌿 تنش‌های اخیر میان دونالد ترامپ و ایلان ماسک، که با تهدید ترامپ به لغو قراردادهای اسپیس ایکس و واکنش تند ماسک همراه بود، حالا وارد فاز جدیدی شده است. به نظر می‌رسد ناسا و پنتاگون (وزارت دفاع آمریکا) به طور جدی در حال بررسی گزینه‌های جایگزین برای مأموریت‌های فضایی و امنیتی حیاتی آمریکا هستند.


🟣 افزایش نگرانی‌ها در واشنگتن

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


🔴 نامزدهای احتمالی جایگزین

به گفته منابع آگاه، مقامات دولتی دست‌کم درباره سه شرکت فضایی خصوصی بزرگ تحقیق کرده‌اند: RocketLab، Stoke Space و بلو اوریجین (شرکت متعلق به جف بزوس). این شرکت‌ها ظرفیت‌ها و فناوری‌های بالقوه‌ای را برای انجام مأموریت‌های مشابه اسپیس ایکس دارند.


🔵 اعلام آمادگی سیرا اسپیس

علاوه بر این، شرکت Sierra Space، که مشغول توسعه فضاپیمای Dream Chaser است، به طور رسمی آمادگی خود را اعلام کرده است. این شرکت گفته در صورت لزوم، آماده است تا برای پشتیبانی از ایستگاه فضایی بین‌المللی (ISS) جایگزین اسپیس ایکس شود. فضاپیمای Dream Chaser، یک فضاپیمای قابل استفاده مجدد است که می‌تواند هم محموله و هم فضانورد حمل کند.
این تحولات نشان می‌دهد که وابستگی به یک تأمین‌کننده واحد، حتی در بخش‌های خصوصی، می‌تواند چالش‌های استراتژیکی ایجاد کند. دولت آمریکا به دنبال تنوع‌بخشی به شرکای فضایی خود است تا از آسیب‌پذیری‌های احتمالی در آینده جلوگیری کند.


#اسپیس_ایکس #ناسا #پنتاگون #فناوری_فضایی #امنیت_ملی


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی:
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #React

🟣 موضوع : ‏State چگونه باعث رندر مجدد می‌شود؟

نکته :

‏اگه state جدید به state قبلی بستگی داره، از آپدیت تابعی استفاده کن: setCount(c => c + 1). اینجوری خیالت راحته. 👍


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 نکته یادگیری ماشین

افزایش داده مصنوعی یا Data Augmentation یعنی با دستکاری هوشمندانه داده‌های موجود، داده‌ی بیشتری بسازی.

🔹 وقتی داده کم باشه یا نامتوازن باشه، مدل خوب یاد نمی‌گیره.
🔹 در واقع Augmentation بهت کمک می‌کنه بدون جمع‌آوری داده‌ی واقعی جدید، مجموعه‌داده رو غنی‌تر کنی.

مثال‌ها:

در بینایی کامپیوتر: چرخاندن، برش دادن، تغییر نور، نویز اضافه کردن به تصاویر.

در پردازش زبان طبیعی (NLP): جایگزینی مترادف‌ها، جابجایی کلمات، ترجمه رفت و برگشتی (back-translation).

در داده‌های عددی (time-series): نویز تصادفی، تغییر مقیاس یا کشیدگی داده.

مزیت:

مدل قوی‌تر و مقاوم‌تر میشه.

خطر Overfitting کمتر میشه.

به زبان ساده: Data Augmentation یعنی “یه جوری داده‌های موجود رو قاطی و دستکاری کن تا انگار داده‌ی تازه داری.”

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir


🔵 نکته برنامه نویسی



🐤 Canary Deployment (استقرار قناری)



یک تکنیک استقرار نرم‌افزار هست که شبیه Blue-Green عمل می‌کنه، ولی با یک تفاوت مهم:
👉 به‌جای اینکه یک‌باره همه کاربران به نسخه جدید منتقل بشن، فقط درصد کمی از کاربران (مثلاً ۵٪) اول نسخه جدید رو می‌بینن.



📌 ایده اصلی

* نسخه قدیمی (Stable) هنوز در حال سرویس‌دهی به بیشتر کاربران هست.
* نسخه جدید (Canary) به بخش کوچکی از کاربران داده میشه.
* رفتار اون‌ها، لاگ‌ها و خطاها بررسی میشه.
* اگر همه‌چیز خوب بود → به‌مرور ترافیک بیشتری به نسخه جدید منتقل میشه.
* اگر مشکل پیدا شد → سریعاً نسخه جدید حذف میشه و کاربران دوباره ۱۰۰٪ روی نسخه پایدار می‌مونن.



مثال تصویری (مفهومی)

Users ----> [ 90% Old Version | 10% New Version ]
بعد از تست موفق:

Users ----> [ 30% Old Version | 70% New Version ]
و در نهایت:

Users ----> [ 0% Old Version | 100% New Version 🚀 ]


📖 جاهای کاربردی

* اپلیکیشن‌های با میلیون‌ها کاربر (مثل فیسبوک، گوگل، توییتر).
* سیستم‌های حساس که نمی‌خوای ریسک استقرار یک‌باره داشته باشی.
* پرداخت آنلاین یا سیستم‌های مالی → خطا اینجا خیلی گرونه.



🛠️ مزایا

* ریسک پایین → چون فقط درصد کمی کاربر نسخه جدید رو می‌بینن.
* بازخورد سریع → میشه مشکلات رو قبل از گسترش پیدا کرد.
* انعطاف‌پذیر → درصد کاربرها رو به‌آرامی میشه افزایش داد.



⚠️ معایب / چالش‌ها

* نیاز به Load Balancer یا سیستم Routing هوشمند.
* باید لاگ‌ها و مانیتورینگ خیلی قوی باشه.
* هماهنگی بین دیتابیس و نسخه‌های مختلف کار رو پیچیده می‌کنه.



👉 تشبیه ساده

Canary Deployment مثل فرستادن یک قناری به معدن ⛏️🐤
قدیما معدن‌کارها قناری رو می‌فرستادن داخل تونل → اگه زنده موند یعنی هوا امنه، اگه مُرد یعنی مشکل هست و باید برگردن!
اینجا هم نسخه جدید مثل همون قناریه: اول فقط روی تعداد کمی تست میشه، بعد روی همه کاربران.



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir