جنگولرن
3.78K subscribers
287 photos
73 videos
31 files
553 links
آموزش Django و بستگان
Download Telegram
خب خب خب Sentry چیه؟ 🔍

اگه برنامه نویسی میکنی احتمالاً این سناریو برات آشناست:
کلی وقت می‌ذاری، کد می‌نویسی، تست می‌کنی، همه‌چی درست کار می‌کنه. ولی وقتی می‌دی دست کاربر، یهو یه ارور عجیب غریب میاد که اصلاً نمی‌دونی از کجا دراومده اینجاست که Sentry وارد بازی میشه.

ـSentry چیه اصلاً؟
ـSentry یه ابزار خطایاب (Error Tracking) که کمک می‌کنه باگ‌ها و خطاهای پروژه‌ت رو همون لحظه‌ای که اتفاق میفتن، پیدا کنی.
این ابزار نه‌تنها ارورها رو جمع‌آوری می‌کنه، بلکه یه گزارش دقیق و کامل ازشون می‌ده؛ از جزئیات خطا گرفته تا شرایطی که باعث شده ارور پیش بیاد.
فرض کن یه باگ تو اپلیکیشن‌ ته که اصلاً قابل پیش‌بینی نبوده. به‌جای اینکه کاربر بیاد غر بزنه یا خودت بری تو لاگ‌ها دنبال مشکل بگردی، Sentry خودش ارور رو تشخیص می‌ده و گزارشش رو مستقیم برات می‌فرسته.

چرا Sentry محبوبه؟ 🌟
1⃣ گزارش ارور دقیق و کاربردی 🛠️
وقتی یه ارور اتفاق میفته، Sentry دقیقاً بهت میگه مشکل کجاست. جزئیاتی مثل:
فایل و خط کدی که ارور داده
نوع خطا (Exception)
اطلاعات مرورگر یا دستگاه کاربر
وضعیت سرور (مثلاً رم و CPU)
حتی مراحل درخواست کاربر تا لحظه‌ای که ارور رخ داده

2⃣ پشتیبانی از پلتفرم‌های مختلف 📱
هرچی فکرش رو بکنی، Sentry ساپورتش میکنه.
Backend: Python (جنگو، فلاسک و ...)، Node.js
Frontend: React، Vue.js
Mobile: اندروید و iOS
DevOps: Docker، Kubernetes


3⃣ دسته‌بندی ارورها 🗂️
وقتی تعداد ارورها زیاد بشه، Sentry اونا رو گروه‌بندی می‌کنه. مثلاً یه باگ اگه صد بار اتفاق بیفته، همشون رو زیر یه گزارش می‌ذاره که بتونی راحت مدیریت کنی.

4⃣ هشدار و نوتیفیکیشن 🔔

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


5⃣ـ Release Tracking 🚀
یه قابلیت جالبش اینه که می‌تونی ارورها رو به نسخه‌های پروژت وصل کنی و بفهمی کدوم تغییرات باعث مشکل شده.


6⃣ـPerformance Monitoring
علاوه بر ارورها، می‌تونی بفهمی اپلیکیشن کجاها کنده.


چطور از Sentry استفاده کنیم؟
ثبت‌نام کن:
تو سایت Sentry.io یه اکانت بساز. نسخه رایگانش برای شروع کافیه.

نصب کن:
ـSDK مخصوص زبان پروژه‌ت رو نصب کن. مثلاً برای Django این دستور کافیه:
 pip install sentry-sdk 

تنظیمش کن:
با چند خط کد ساده Sentry رو به پروژه وصل کن:
import sentry_sdk
sentry_sdk.init(
dsn="لینک DSN که Sentry می‌ده",
traces_sample_rate=1.0
)

ارورها رو مدیریت کن:
حالا هر اروری اتفاق بیفته، مستقیم تو داشبورد Sentry میره.

چند نکته مهم:
نسخه رایگان Sentry محدودیت داره (مثلاً تعداد ارورهای ماهانه). برای پروژه‌های بزرگ باید پلن‌های پولیش رو بگیری.
می‌تونی از مستندات رسمی کمک بگیری تا تنظیمات حرفه‌ای‌تر انجام بدی.

جمع‌بندی
اگه می‌خوای ارورهای پروژه‌ت رو حرفه‌ای مدیریت کنی و حتی قبل از اینکه کاربر بفهمه، خودت رفعشون کنی، Sentry بهترین انتخابه. هم راحت نصب میشه، هم کلی قابلیت خفن داره.
تا حالا از Sentry استفاده کردی؟ نظرت چیه؟ 👀

#programming #python #sentry



🔆 CHANNEL | GROUP
👍211
Forwarded from Agora (Alireza Azadi)
پیچیدگی و نشانه‌های آن
___________

کتاب A Philosophy of Software Design نوشته‌ی John Ousterhout، میاد و سه نشانه (manifestation) از پیچیدگی در سیستم مطرح میکنه و اینجا میخوام این سه مورد رو باهم مرور کنیم:

- Change Amplification

یک تغییر ساده [در یک عملکرد کلی]، نیازمند تغییر در قسمت‌های مختلفه. دم دستی ترین مثال ممکن که احتمالا در ذهنتون بی‌درنگ نشست، استفاده از یک ثابته (مثل کد رنگ) که در تمام تابع‌ها داره به‌کار برده میشه و هر جا هم یک اسمی داره و ما قراره اون رو عوض کنیم. حالا یک تغییر ساده‌ی ما amplify شد و از یکی شد ۱۰۰ تا (مشابه write amplification در دیتابیس‌ها که گاهی یک رایت ساده، منجر به چسبیدن IO به سقف میشه).

- Cognitive Load

چقدر یک توسعه‌دهنده نیازه که [راجع‌به سیستم] بدونه برای این که یک تسک رو به سرانجام برسونه. هرچقدر این «دونستن» بیشتر لازم باشه، به طبع نیازمنده تا زمان بیشتری رو صرف یادگیری کنه تا تسک مذکور رو انجام بده و این تعدد نیاز به دانستن‌ها، ریسک به وجود اومدن باگ رو بیشترو بیشتر می‌کنه.

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

کاهش تعداد خط با خیال کاهش پیچیدگی در نهایت می‌تونه به افزایش cognitive load منجر بشه و مارو از اون رویای شیرین، به وسط کابوس کد‌بیس پیچیده پرتاب کنه.

- Unknown unknowns

بدترین بین این سه اما، ناشناخته‌های ناشناخته‌ست. به این معنی که ما ندونیم کدوم قسمت از کد باید تغییر کنه تا تسک ما انجام بشه.

unknown unknown means that there is something you need to know, but there is no way for you to find out what it is, or even whether there is an issue.


در این حالت، برای ما روشن نخواهد بود که چه کار باید بکنیم، یا اونچه که قصد انجامشو داریم اصلا کاراست یا نه.

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


پی‌نوشت:
- از عباس عزیز واقعا ممنونم بابت معرفی کتاب.

- کتاب رو دو روزه که شروع کردم و دلم میخواد تیکه‌هاییش که برام جالبه یا ممکنه برای شما جالب باشه رو چه با نقل و قول مستقیم، چه غیرمستقیم اینجا هم بنویسم.

- بجز تعریف سیستم پیچیده که به شکل تعریف نشانه‌هاش بالاتر ازش حرف زدیم و مختص به سیستم‌های نرم‌افزاری بود، بد نیست یک گریزی بزنیم به کتاب Melanie Mitchell
با عنوان «سیری در نظریه پیچیدگی» (عنوان اصلی کتاب، Complexity: A Guided Tour) که اون هم کتابیه خوندنی و توصیه‌ش میکنیم. در انتهای فصل اول کتاب، سیستم پیچیده رو به دو شکل تعریف میکنه:

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


و تعریف دوم:

سیستمی که رفتار‌های نا‌بدیهی (nontrival) و نوظهور و خود-سازمان را به‌نمایش میگذارد.


که فکر میکنم تعریف دوم، بیشتر با شرح نشانه‌هایی که از یک سیستم نرم‌افزاری دیدیم هم‌سو باشه.
👍41🤔1
گردونه شانس رو آزمایش کنید

الان دیدم یکی دوره من رو با 92 درصد تخفیف خریده 😳

توی صفحه اول دانشجویار نوار جشنواره بالای سایتشون
1👍1
Forwarded from An Inspired Engineer
‏یکی از پرطرفدارترین آموزش‌های دکتر کلامی در فرادرس، آموزش اصول و مبانی برنامه‌نویسی است که به صورت رایگان در دسترس است و به طور متوسط، در هر ماه بیش از ۴۰۰۰ نفر درخواست دسترسی به آن را ثبت می‌کنند.

🔗لینک آموزش:
https://faradars.org/courses/fvrprg101-programming-basics-concepts

‏این آموزش در کمتر از ۳ ساعت، هر آنچه را که برای ورود به دنیای برنامه‌نویسی لازم است، یاد می‌دهد. آموزش اصول و مبانی برنامه‌نویسی، در واقع درس شماره صفر سایر آموزش‌های برنامه‌نویسی است و دانستن مفاهیم ارائه شده در آن، در یادگیری بهتر هر زبان برنامه‌نویسی دلخواه، کمک‌کننده است.

دکتر کلامی هریس
👍6
Forwarded from An Inspired Engineer
همونطور که میدونین HTTP میاد روی TCP سوار میشه و توسط اون داده‌ رو میفرسته، عملا پروتکل http چیزی جز یه مشت قوانین روی چند خط string نیست. اکثرا وظایفش توسط Tcp پیاده سازی شده و ما فکر میکنیم که Http داره نقشش رو خوب بازی میکنه.

حالا دوتا از این نقش هایی که توسط Tcp بازی میشن چی هستن؟
- اطمینان از تحویل داده: توی Http ما گارانتی اینو از پروتکل میگیریم که داده ها صحیح و سالم تحویل داده بشن
- ترتیب صحیح داده ها: توی شبکه ممکنه بسته‌ها به صورت ناهمزمان و با ترتیبی غیر از ترتیب ارسال شده دریافت بشن، اما TCP این تضمین رو میده که داده‌ها توی مقصد به ترتیب ارسال مرتب و بازسازی بشن. خود HTTP هم از این ویژگی استفاده میکنه و نیازی به مدیریت ترتیب داده‌ها نداره.

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

همه ی اینارو گفتم که بگم تا حالا به این فکر کردین که بیاییم Http رو روی UDP پیاده سازی کنیم چی میشه؟ میشه پروتکل Http/3 که بهش میگن QUIC حالا چالشاش چیه؟ پستای بعدی میگم

@knowpow
👍18
Forwarded from Microfrontend.ir
SQL Cheatsheet

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
👍7🔥3
Media is too big
VIEW IN TELEGRAM
توی این ویدئو تغییراتی توی کد دادم، تا وقتی کاربر لاگین شد، آیتم های سبد خریدی که توی دیتابیس داره، لود بشن و توی سبد خریدش مشاهده شون کنه.

اگه کاربر لاگین نکرده باشه و چندتا آیتم هم توی سبد خریدش داشته باشه (همون سبد خرید سشنی) ، بعد از لاگین، ابتدا آیتم های سبد خرید دیتابیسی لود میشن، سپس آیتم های سبد خرید سشنی توی دیتابیس ذخیره میشن.

این ویدئو بخشی از آپدیت جدید آموزش ساخت فروشگاه اینترنتی است.

لینک همین ویدئو در آپارت:
https://www.aparat.com/v/pneon5r
لینک یوتیوب:
https://youtu.be/w9_PnBoG1jU

✔️لینک سورس کد کامل دوره فروشگاه اینترنتی با جنگو:
https://github.com/miladhzz/daneshjooyar_shop2/

خوشحال میشم ریپو رو نقد کنید.
👍63
Forwarded from Python Hints
#Quick

داشتم پروژه django شرکت رو می‌خوندم یک مشکل داریم سر بعضی endpointها و برخی تسک‌ها.
اولین کاری کردم این بوده که یک سری دیتا تست با faker بهش دادم مثه loadtest ولی بدون ابزار و بعد هم profiling گرفتم و ذخیره کردم.
چیز جالبی که دیدم؛ پروژه موقع کار کردن با redis به مشکل میخورد.
ولی redis منابعش بیشتر از حد مورد نیازش بود.

حجم دیتاهای تست رو کم کردم و مشکل حل شد؛ توی چندتا تست مختلف که زدم دیدم مسئله و مشگل از سمت پیکج redis هست توی پایتون و راهکار ساده رو هم خود redis داده (هرچند من برعکس بهش رسیدم)

$ pip install "redis[hiredis]"


بجای اینکه برای parse کردن دیتا از python استفاده کنه وقتی hiredis رو نصب کنید از C استفاده می‌کنه (بنچمارکاش هم توی گیت‌هاب hiredis هست ببینید)

مشکل خیلی ساده حل شد؛ ولی برای این حل ساده خیلی زمان و درک profiling لازم بود.

اهمیت profiling
👍23
Forwarded from Linuxor ?
این تیتر هم جالب بود 9 الگورتیمی که بر دنیای ما حکمرانی می‌کنند.

@Linuxor
10
یک سوال:
آیا هنوز داشتن sitemap در SEO سایت مون تاثیر داره؟
ممنون میشم اگه کسی تجربه ای داره، کامنت کنه.
Final Results
57%
نمیدونم
24%
تاثیر زیادی داره
13%
تا حدودی تاثیر داره
3%
بودن و نبودنش فرقی نداره
2%
موتورهای جستجو دیگه بهش اهمیت نمیدن
2%
باید توضیح بدم. پس نظر میدم
👍1
این سوال ع stackoverflow برای منم سوال شده بود (البته عکسی که گذاشتم یه پاسخه)

Django 'Sites' Model - what is and why is 'SITE_ID = 1'?
لینک سوال:
https://stackoverflow.com/questions/25468676/django-sites-model-what-is-and-why-is-site-id-1

عکسی که گذاشتم اشاره کرده که تا جنگو 1.4 فریمورک sites کارش چیز دیگه ای بوده. ایشویی که اشاره کرده رو ببینید.

✔️راستی اون SITE_ID به خاطر این مقدارش 1 باید باشه، چون وقتی sites رو به installed_app اضافه میکنیم باید مایگریت کنیم و یه رکورد به جدول site اضافه میکنه با مقدار example.com و آیدی ش هم 1 هست.

و خب مسلما قابل تغییره
👍5
Forwarded from Mahi in Tech
یکی از مواردی که می‌تونه دید خیلی خوبی نسبت به سناریوهای مختلف توی پروژه‌های کوچیک و بزرگ بهتون بده و شما رو به مهندس بهتری تبدیل کنه نه صرفا کدنویس، مطالعه‌ی tech blog شرکت‌های بزرگ هست؛ حالا چه ایرانی و چه خارجی. معمولا تجربیات و مقالات ارزشمندی بین‌شون پیدا می‌شه.
در ادامه لیستی از مقالات تخصصی و فرانت‌اندی شرکت PayPal رو که توسط Soheib Kiani معرفی شده بود قرار دادم:

🔻چطور PayPal Checkout اپلیکیشن frontend خودش رو مقیاس‌پذیر کرد؟ 
 https://bluepnume.medium.com/sane-scalable-angular-apps-are-tricky-but-not-impossible-lessons-learned-from-paypal-checkout-c5320558d4ef

🔻‏PayPal درباره Dependency injection چه نظری داره؟ 
 https://bluepnume.medium.com/dependency-injection-in-angular-isn-t-worth-it-more-lessons-learned-from-scaling-paypal-checkout-2189ec9c21a0

🔻 کاهش 1000 دکمه PayPal به iFrame 
https://bluepnume.medium.com/less-is-more-reducing-thousands-of-paypal-buttons-into-a-single-iframe-using-xcomponent-d902d71d8875

🔻 درخواست‌های cross-origin بدون CORS 
https://bluepnume.medium.com/reinventing-cross-origin-requests-without-cors-b9c4cb645376

🔻 چرا اپلیکیشن وب جدید در PayPal از Typescript استفاده می‌کنه؟ 
 https://medium.com/@kentcdodds/why-every-new-web-app-at-paypal-starts-with-typescript-9d1acc07c839

🔻 مقیاس‌پذیری GraphQL در PayPal 
 https://medium.com/paypal-tech/scaling-graphql-at-paypal-b5b5ac098810

🔻 کامپوننت‌های UI قابل اشتراک‌گذاری PayPal در سطح Enterprise
 https://medium.com/paypal-tech/reusing-ui-components-at-enterprise-level-a7df1ea1f8dd

🔻 اپلیکیشن‌های PayPal معماری Microfrontend رو دنبال می‌کنند  
 https://medium.com/paypal-tech/how-micro-frontend-has-changed-our-team-dynamic-ba2f01597f48

🔻 توضیح PayPal درباره پذیرش GraphQL 
https://medium.com/paypal-tech/graphql-at-paypal-an-adoption-story-b7e01175f2b7

🔻 داستان موفقیت PayPal Checkout 
https://medium.com/paypal-tech/graphql-a-success-story-for-paypal-checkout-3482f724fb53

#PayPal #FrontEnd
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Media is too big
VIEW IN TELEGRAM
پیاده سازی sitemap در فروشگاه جنگو

توی این ویدئو یاد می گیریم sitemap چی هست و چه تاثیری روی SEO سایت میتونه داشته باشه.
همچنین روش پیاده سازی سایت مپ در پروژه جنگویی رو یاد میگیریم.
با تنظیمات و فیچرهای مختلف sitemap هم آشنا میشیم
و همچنین داستان SITE_ID = 1 رو متوجه میشیم که چرا باید مقدارش عدد یک باشه

لینک آپارات:
https://www.aparat.com/v/tuoj1xx

لینک یوتیوب:
https://youtu.be/zmj8CdpABbM


این ویدئو بخشی از آپدیت دوره فروشگاه جنگو ع
👍11
Media is too big
VIEW IN TELEGRAM
گفتگو با نیما جمشیدی Database admin

🎧ویس این ویدئو:
https://t.me/djangolearn_ir/986
سوالاتی که از نیما پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟ به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به db admin خوب شدن کمک کنه؟
-آیا تخصص شما هم برنامه نویسی حساب میشه
-اگر برگردید عقب برنامه نویسی رو انتخاب می کنید یا dbadmin یا اصلا چیز دیگه ای؟
-اگه فقط دستورات sql بلد باشیم میتونیم همکار شما بشیم؟
-آیا sql server قوی ترین نرم افزار مدیریت دیتابیس ع؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-به نظر شما یه db admin چه ویژگی هایی باید داشته باشه که بهش بگیم حرفه ای؟

لینک ویدئو در آپارت:
https://www.aparat.com/v/elax9bc

لینک یوتیوب:
https://youtu.be/5ZEEfvjpQeo
👍7
Audio
🎧ویس گفتگو با نیما جمشیدی Database admin

سوالاتی که از نیما پرسیدم:
-چند سال دارید؟
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟ به نظر شما هنرستان خوبه یا دبیرستان؟
-دانشگاه چی خوندید؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به db admin خوب شدن کمک کنه؟
-آیا تخصص شما هم برنامه نویسی حساب میشه
-اگر برگردید عقب برنامه نویسی رو انتخاب می کنید یا dbadmin یا اصلا چیز دیگه ای؟
-اگه فقط دستورات sql بلد باشیم میتونیم همکار شما بشیم؟
-آیا sql server قوی ترین نرم افزار مدیریت دیتابیس ع؟
-اشتباهی که کردید و اگه برگریدید عقب مرتکبش نمیشید چیه?
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-الگوی شما تا اینجای کار چه کسی بوده ؟
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-به نظر شما یه db admin چه ویژگی هایی باید داشته باشه که بهش بگیم حرفه ای؟

لینک ویدئوی این گفتگو:
https://t.me/djangolearn_ir/985
👍4
Forwarded from PhiloLearn with ArshA
بریم با زبان ساده‌تر ببینیم چرا اختراعات AI دیپ‌سیک همه رو انگشت به دهن گذاشته (و احتمالا مارکت کپ ۲ تریلیون دلاری انویددیا رو به خطر انداخته)
اول یکم زمینه رو توضیح بدیم: فعلا فرایند آموزش مدل‌های AI به شدت پرهزینه‌ست. انترپرایزهایی مثل OpenAI Anthropic و ... بیشتر از ۱۰۰ میلیون دلار فقط برای محاسبات خرج می‌کنن

پس نیاز به مراکز داده بسیار بزرگ با هزاران GPU چهل هزار دلاری دارن

انگار یه نیروگاه برق بسازی برای راه‌اندازی یک کارخونه
حالا DeepSeek اومده گفته «هه! اگه همه این کارها رو با ۵ میلیون دلار انجام دادم چی؟»

وحرف مفت هم نزده و واقعا این کار رو کرده!
مدل اونها توی تسک‌های زیادی تونسته GPT-4 و Clause رو شکست بده

و این باعث شگفتی دنیای هوش مصنوعی شده!

چطور این کار رو کردن؟

همه چیز رو از اول بازاندیشی کردن. هوش مصنوعی‌های سنتی مثل اینن که هر عدد رو با ۳۲ اعشار می‌نویسن.

دیپ‌سیک گفته« خب چرا با ۸ تا ننویسیم؟ تقریبا همون قدر دقیقه!»

بوم! ۷۵٪ کاهش در حافظه مورد نیاز!
بعد رفتن سراغ سیستم Multi token

هوش مصنوعی‌های نرمال مثل یه بچه کلاس اولی می‌خونن: « بابا .... نان .... داد»

ولی دیپ‌سیک کل جمله رو یکجا می‌خونه با سرعت ۲ برابر و دقت ۹۰٪

وقتی قراره میلیاردها کلمه رو تحلیل کنی این خیلی مهمه!
ولی قسمت هوشمندانه‌شون اینه:

یه چیزی ساختن مثل «سیستم تخصص»
به جای اینکه یه AI غول‌آسا همه چیز رو بدونه (مثلا یه آدم که هم دکتر باشه هم مهندس، هم جامعه‌شناس و ... )، فقط از متخصصینی استفاده می‌کنن که در مواقع نیاز فراخوانی میشن
مدل‌های نرمال سنتی؟
تمام ۱.۸ تریلیون پارامتر در لحظه فعالن
دیپ‌سیک؟
۶۷۱ بیلیون در مجموع داره که ۳۷ بیلیونش در لحظه فعالن

مثل این می‌مونه که تیم بزرگی داشته باشی ولی فقط اونی رو صدا بزنی که الان برای یک کاری بهش نیاز داری

نتیجه حیرت‌انگیزه:

هزینه آموزش مدل: ۱۰۰ میلیون >> ۵ میلیون
تعداد GPU: صد هزار > دو هزار
هزینه API: نود و پنج درصد ارزون‌تر
می‌تونه روی کارت گرافیک‌های گیمینگ هم ران بشه بدون نیاز به سخت‌افزار مرکز داده
حالا ممکنه بگی «صبر کن ببینم! حتما یه ریگی توی کفش‌شون هست!»

اصلا قسمت جذاب داستان همینه: همه‌اش اپن سورسه! همه می‌تونن کارشون رو بررسی کنن. کدش عمومیه. راهنمای تکنیکال همه چیز رو توضیح میده. جادو جنبل نکردن، صرفا هوشمندانه مهندسی کردن.
چرا این داستان مهمه؟

چون این فرض و مدل رو که «فقط کمپانی‌های بزرگ می‌تونن توی عرصه AI بازی کنن» رو باطل می‌کنه

برای انویدیا این ترسناکه! کل مدل بیزنس‌شون بر مبنای این بود که با مارجین ۹۰ درصد GPU های فوق گرون بفروشن. حالا معلومه مشکل چیه اگه همه بتونن با GPUهای گیمینگ مدل هوش مصنوعی بسازن!
ضربه نهایی هم این بود:

دیپ‌سیک این کار رو با تیمی کمتر از ۲۰۰ نفر انجام داد.

در حالیکه هزینه‌هایی که متا برای حقوق کارکنانش می‌پردازه از کل بودجه آموزش دیپ‌سیک بیشتره و مدل‌شون هم به این اندازه خوب نیست

یه داستان کلاسیک از شکستن وضع موجود:

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

دیپ‌سیک هم پرسید «چی میشه به جای اینکه هی سخت‌افزار اضافه کنیم، این کار رو هوشمندانه‌تر انجام بدیم؟»

عواقبش چشمگیره:
- دسترسی به توسعه هوش مصنوعی بیشتر میشه
- رقابت به شدت افزایش پیدا می‌کنه
- «سنگر»های بزرگ شرکت‌های تکنولوژیک مثل دست‌اندازهای کوچیک جلوه می کنه
- نیازهای سخت‌افزاری و هزینه‌ها به شدت کم میشه

البته غول‌هایی مثل OpenAI و Anthropic بیکار نمی‌شینن. احتمالا همین الان هم شروع کردن به استفاده و به کارگیری این ابداعات. ولی غول بهره‌وری از چراغ جادو اومده بیرون. دیگه نمی‌تونی برگردی به دورانی که هی سخت‌افزار اضافه کنی
به نظر می‌رسه این لحظه از اونهاست که بعدا به عنوان نقطه عطف بهش نگاه می‌کنیم. درست مثل موقع‌هایی که PCها کامپیوتر‌های بزرگ‌ رو از رده خارج کردن، یا محاسبات ابری همه‌ چیز رو تغییر داد.

هوش مصنوعی قراره باز هزینه بسیار کمتر، و به مقدار بیشتری در دسترس قرار بگیره.

سوال این نیست که آیا این باعث تغییر زمین بازی‌گران بزرگ این عرصه میشه یا نه، سوال اینه که با چه سرعتی این کار رو می‌کنه.

https://x.com/Cryptonut24/status/1883897510936314158


@PhiloLearn
👍26👏1
bigdeli.pdf
1.2 MB
نرمال سازی پایگاه داده چیه و چطور انجام میشه

مطلبی از لینکدین علی بیگدلی

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

مزایای نرمال‌سازی:
- کاهش افزونگی داده‌ها
- جلوگیری از ناسازگاری‌ها
- ساده‌سازی به‌روزرسانی و نگهداری داده‌ها
- بهبود عملکرد کوئری‌ها

قطعا نیاز به توضیحات بیشتری هستش برای همین رفرنس های مناسبی رو براتون در نظر گرفتم.
همه پست جا نشد: لینکش
7👍5
جعبه های شانس دانشجویار رو تست کنید.
شاید تخفیف خوبی گرفتید.

یه نفر دوره من رو با 90 درصد تخفیف خریده 😬

لینکش:
https://www.daneshjooyar.com/landing/birthday-1403/
👍62👎1😁1🤮1
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
وقتی هنوز به میزان کافی متوجه بیزنس نشدی سعی نکن معماری خفنی پیاده‌سازی کنی. اینکار باعث میشه به بیزنس سرعت ببخشی.

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



ولی خب اگر در شروع کار over engineering انجام ندی، به زودی ایده‌های جالبی به ذهنت میرسه که هم بیزنس رو دگرگون میکنه و هم کد رو. ولی خب تا اینجا بیزنس رو از دست ندادی و مشتری داره از همون کد معمولی شما استفاده میکنه که قراره بدهی‌های فنیش رو با ایده‌های جدید حل و فصل کنی.



اگر بیزنس رو سیر کنی، بیزنس هم بهت فرصت میده تا بدهی‌های فنی خودت رو رفع کنی، در غیر این صورت با یک بیزنس طلبکار طرفی که ازت خروجی میخواد و بدهی‌های فنی‌ای که دست از سرت بر نمی‌دارن.



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



#بدهی_فنی

#over_engineering
👍18👎1
این چند خط کد رو ببین. از کدهای ادمین جنگو هستن.

وقتی که زبان سایت رو روی fa-ir میزاری، جنگو قالب ادمین رو اینجوری راست چین میکنه.

تگ ع get_current_language_bidi مشخص میکنه که زبان انتخاب شده (یا منطقه انتخاب شده) راست چین هستن یا نه.
👍10