Forwarded from Armin codes (Armin Shaikhy)
Designing Data-Intensive Applications
اگر میخوای بدونی سیستمهای مدرن مثل شبکههای اجتماعی، فروشگاههای آنلاین و سرویسهای استریم چطور این حجم عظیم داده را مدیریت میکنند، این کتاب بهترین نقطه شروعه.
Martin Kleppmann
در این کتاب با زبانی ساده توضیح میدهد پشت صحنهی سیستمهای دادهمحور چه میگذرد: از مدل دادهها و دیتابیسها تا رپلیکیشن، شاردینگ، سازگاری و پردازش لحظهای.
این کتاب به جای تمرکز روی ابزارها، ایدههای بنیادی را یاد میدهد؛ چیزهایی که هر معمار نرمافزاری باید بدونه.
اگر میخوای بدونی سیستمهای مدرن مثل شبکههای اجتماعی، فروشگاههای آنلاین و سرویسهای استریم چطور این حجم عظیم داده را مدیریت میکنند، این کتاب بهترین نقطه شروعه.
Martin Kleppmann
در این کتاب با زبانی ساده توضیح میدهد پشت صحنهی سیستمهای دادهمحور چه میگذرد: از مدل دادهها و دیتابیسها تا رپلیکیشن، شاردینگ، سازگاری و پردازش لحظهای.
این کتاب به جای تمرکز روی ابزارها، ایدههای بنیادی را یاد میدهد؛ چیزهایی که هر معمار نرمافزاری باید بدونه.
Forwarded from Armin codes (Armin Shaikhy)
Designing_Data_Intensive_Applications_The_Big_Ideas.pdf
21.1 MB
Forwarded from TheAliBigdeli Channel
این پروژه یک نمونهی برای آشنایی با احراز هویت و SSO با Keycloak است.
میتونید از این پروژه برای یادگیری نحوهی اتصال React + FastAPI + Keycloak و تست جریانهای OAuth2 و OIDC استفاده کنید.
پروژه هنوز یک قالب تمرینی است و هدف اصلی آن تمرین و تجربه عملی است، بنابراین نیازی به استفاده مستقیم در پروژههای تولیدی ندارد.
اگر ایده یا پیشنهادی برای بهبود پروژه دارید، میتونید Pull Request ارسال کنید تا بررسی و اضافه شود.
🔗 لینک ریپازیتوری:
https://github.com/AliBigdeli/Python-Keycloak-SSO-Example
امیدوارم این تمرین براتون مفید باشه و کمک کنه با مفاهیم SSO و احراز هویت مبتنی بر Keycloak بیشتر آشنا بشید.
@thealibigdeli_channel
#keycloak
#repo
میتونید از این پروژه برای یادگیری نحوهی اتصال React + FastAPI + Keycloak و تست جریانهای OAuth2 و OIDC استفاده کنید.
پروژه هنوز یک قالب تمرینی است و هدف اصلی آن تمرین و تجربه عملی است، بنابراین نیازی به استفاده مستقیم در پروژههای تولیدی ندارد.
اگر ایده یا پیشنهادی برای بهبود پروژه دارید، میتونید Pull Request ارسال کنید تا بررسی و اضافه شود.
🔗 لینک ریپازیتوری:
https://github.com/AliBigdeli/Python-Keycloak-SSO-Example
امیدوارم این تمرین براتون مفید باشه و کمک کنه با مفاهیم SSO و احراز هویت مبتنی بر Keycloak بیشتر آشنا بشید.
@thealibigdeli_channel
#keycloak
#repo
❤1
Forwarded from Byteforge / بایــت فورج 🛸
در اغلب پروژههای مبتنی بر PostgreSQL، ضعف اصلی نه در خود دیتابیس، بلکه در بکاپگیری نامنظم، دستی و بدون مانیتورینگ دیده میشه.
یک خطای انسانی، یک اسکریپت ناقص یا یک اختلال دیسک برای نابودی داده کافیه
اینجا Postgresus بهعنوان یک راهکار بکاپ خودکار و self-hosted وارد میشه
Postgresus داخل زیرساخت پروژه اجرا خواهد شد و بدون وابستگی به SaaS، وظیفه زمانبندی، اجرا، نگهداری و گزارش بکاپ را برعهده خواهد گرفت.
شامل:
مزیت جدی نسبت به سرویسهای ابری:
داده از زیرساخت پروژه خارج نخواهد شد
وابستگی به سرویس ثالث ایجاد نخواهد شد
هزینه اشتراک ماهانه صفر باقی خواهد ماند
امکان کنترل کامل سطح دسترسی و امنیت وجود خواهد داشت
سورس پروژه روی GitHub بهصورت عمومی منتشر شده:
https://github.com/RostislavDugin/postgresus
یک خطای انسانی، یک اسکریپت ناقص یا یک اختلال دیسک برای نابودی داده کافیه
اینجا Postgresus بهعنوان یک راهکار بکاپ خودکار و self-hosted وارد میشه
Postgresus داخل زیرساخت پروژه اجرا خواهد شد و بدون وابستگی به SaaS، وظیفه زمانبندی، اجرا، نگهداری و گزارش بکاپ را برعهده خواهد گرفت.
قابلیتهای فنی مهم:
اجرای بکاپ بر پایه pg_dump با امکان تعریف چندین Job مستقل
زمانبندی دقیق از سطح دقیقه تا هفتگی
تعریف چند مقصد ذخیرهسازی بهصورت همزمان
شامل:
local filesystem
S3-compatible storage
مسیرهای network storage
نگهداری نسخههای قدیمی بر اساس سیاست Retention
داشبورد تحت وب برای مشاهده وضعیت Jobها
ارسال نوتیفیکیشن پس از هر Job موفق یا ناموفق
امکان تعریف چند PostgreSQL instance داخل یک پنل واحد
در سناریوی عملیاتی، معماری به این شکل پیادهسازی خواهد شد:
یک Container مرکزی Postgresus
اتصال امن به دیتابیسهای Production یا Staging
ذخیره بکاپ روی Volume مجزا یا Object Storage
مانیتورینگ خروجی Jobها از طریق اعلان
راهاندازی پایه بر اساس Docker انجام خواهد شد و نیاز به نصب مستقیم ابزار روی هاست دیتابیس وجود نخواهد داشت.
این موضوع ریسک دسترسی مستقیم به سرور اصلی دیتابیس را نیز کاهش خواهد داد.
مزیت جدی نسبت به سرویسهای ابری:
داده از زیرساخت پروژه خارج نخواهد شد
وابستگی به سرویس ثالث ایجاد نخواهد شد
هزینه اشتراک ماهانه صفر باقی خواهد ماند
امکان کنترل کامل سطح دسترسی و امنیت وجود خواهد داشت
سورس پروژه روی GitHub بهصورت عمومی منتشر شده:
https://github.com/RostislavDugin/postgresus
نکته فنی واقعبینانه :
برای دیتابیسهای بسیار سنگین با نیاز به WAL Archiving، Point-in-Time Recovery و بکاپ تفاضلی، ابزارهایی مانند pgBackRest انتخاب منطقیتری خواهند بود.
اما در اغلب پروژههای واقعی، Postgresus پوشش کامل نیاز بکاپ اتومات را فراهم خواهد کرد.
#DevOps
#database
#tools
#postgres
#byteforge
@byteforge_chan 🛸
GitHub
GitHub - RostislavDugin/postgresus: PostgreSQL backup tool
PostgreSQL backup tool. Contribute to RostislavDugin/postgresus development by creating an account on GitHub.
⚡2
اگر قصد دارین بین دیوایس های ریموت تون کانکشن امنی بسازید
حتما Tailscale رو امتحان کنید
به زودی راجبش مینویسم براتون
حتما Tailscale رو امتحان کنید
به زودی راجبش مینویسم براتون
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
این یه ابزار ویندوزه که کمک میکنه برنامهها رو توی سندباکس یا جعبه امن اجرا کنید. یعنی هرچی برنامه انجام بده فایل ایجاد کنه، خرابکاری کنه، رجیستری رو بههم بریزه فقط داخل همون جعبه میمونه و به سیستم اصلی دست نمیزنه. برای تستکردن برنامههای ناشناس، وبگردی امن، یا حتی نصب آزمایشی نرمافزار، واقعاً نجاتدهندهست.
دانلود :
sandboxie-plus.com
@Linuxor
دانلود :
sandboxie-plus.com
@Linuxor
Forwarded from جوپن|کدتخفیف
مکتبخونه به جوپن پیوست👨🎓👩🎓
دو تا تخفیف عالی داریم براتون.
۸۲ درصد تخفیف اشتراک مکتبپلاس و ۴۰ درصد تخفیف تک دوره بدون کف خرید👌
تا آخــر دی ماه میتونید از این تخفیفها استفاده کنید.
دو تا تخفیف عالی داریم براتون.
۸۲ درصد تخفیف اشتراک مکتبپلاس و ۴۰ درصد تخفیف تک دوره بدون کف خرید👌
تا آخــر دی ماه میتونید از این تخفیفها استفاده کنید.
Forwarded from Linuxor ?
مونگودیبی یه قابلیت عالی داره به اسم TTL Index که خودش رکوردهای قدیمی رو پاک میکنه مثلا میتونید فقط دیتا های 30 روز اخیر رو نگه دارید و بقیه خودکار پاک میشن، برای دیتاهای موقتی یا لاگها یا کد های OTP یکبار مصرف و کد تخفیف ها خیلی خوبه، نیاز نیست کد جدا بنویسید که مثلا هر یه مدت یه بار بره چیزی رو حذف کنه.
@Linuxor
@Linuxor
Forwarded from TheAliBigdeli Channel
بزرگترین ایراد هممون API Design
وقتی ازتون می خوان یه API طراحی کنین سریع شروع می کنین به زدن ولی اینکه اسامی آدرس ها و یا پاسخ ها و یا pagination و بقیه باید چطوری باشن رو خیلی جدی نمیگیریم. این دقیقا نقطه ضعفی میشه از بابت عدم وجود دانش کافی نه تجربه.
این دانش با مطالعه مسائل منطقی به دست میاد مثل کتاب و مقالات و استاندارد ها منتهی مراتب بایستی اینو در نظر بگیرید که در حقیقت نوعی ساختار منطقی برای صحبت با همدیگه هستش یعنی وقتی من یه استانداردی رو رعایت و رفتار می کنم نفر بعدی هم همین انتظار رو از من خواهد داشت و همینطور الی آخر.
پس این موضوع چیزی نیستش که فقط به بک اند مربوط باشه بلکه هر کسی که توی حوزه وب مطالعه می کنه باید بدونه که داده ها چطور میان و چه ساختاری دارن و چطور باهاشون برخورد میشه.
یکی از ویدئو هایی که بهتون توی مطلب و درکش کمک می کنه رو پیوست کردم که حتما نگاهش کنین.
https://www.youtube.com/watch?v=DQ57zYedMdQ
لینک مقاله:
https://www.hellointerview.com/learn/system-design/core-concepts/api-design
@thealibigdeli_channel
#systemdesign
وقتی ازتون می خوان یه API طراحی کنین سریع شروع می کنین به زدن ولی اینکه اسامی آدرس ها و یا پاسخ ها و یا pagination و بقیه باید چطوری باشن رو خیلی جدی نمیگیریم. این دقیقا نقطه ضعفی میشه از بابت عدم وجود دانش کافی نه تجربه.
این دانش با مطالعه مسائل منطقی به دست میاد مثل کتاب و مقالات و استاندارد ها منتهی مراتب بایستی اینو در نظر بگیرید که در حقیقت نوعی ساختار منطقی برای صحبت با همدیگه هستش یعنی وقتی من یه استانداردی رو رعایت و رفتار می کنم نفر بعدی هم همین انتظار رو از من خواهد داشت و همینطور الی آخر.
پس این موضوع چیزی نیستش که فقط به بک اند مربوط باشه بلکه هر کسی که توی حوزه وب مطالعه می کنه باید بدونه که داده ها چطور میان و چه ساختاری دارن و چطور باهاشون برخورد میشه.
یکی از ویدئو هایی که بهتون توی مطلب و درکش کمک می کنه رو پیوست کردم که حتما نگاهش کنین.
https://www.youtube.com/watch?v=DQ57zYedMdQ
لینک مقاله:
https://www.hellointerview.com/learn/system-design/core-concepts/api-design
@thealibigdeli_channel
#systemdesign
Forwarded from TheAliBigdeli Channel
Reverse Proxy vs API Gateway vs Load Balancer
خیلی وقتا می شنویم که در رابطه با Reverse Proxy مثل Nginx و یا API Gateway مثل Kong و مباحث Load Balancing صحبت میشه ولی هیچ وقت دقیقا نفهمیدیم که چی هستن و کجا کاربرد دارن.
این موارد جزو مهمترین ارکان System Design در زمان پیاده سازی محسوب میشن و هر کدوم توانایی های خاص خودشون و عملکرد متفاوت و تشابهاتی دارن که باید در زمان پیاده سازی در نظر بگیرید.
برای درک سریع این موضوع می تونین از این لینک استفاده کنین که در کمترین زمان ممکن ساختار رو بهتون منتقل می کنه:
https://www.youtube.com/watch?v=RqfaTIWc3LQ
و برای درک عمیق تر می تونین از این لینک استفاده کنین:
https://www.youtube.com/watch?v=Q4XUptm9S8w
در نظر داشته باشید که گاهی وقت ها یک ابزار می تونه شامل خیلی چیزا باشه ولی دونستن منطق پشتش از پیاده سازیش مهم تره!
@thealibigdeli_channel
#system_design
خیلی وقتا می شنویم که در رابطه با Reverse Proxy مثل Nginx و یا API Gateway مثل Kong و مباحث Load Balancing صحبت میشه ولی هیچ وقت دقیقا نفهمیدیم که چی هستن و کجا کاربرد دارن.
این موارد جزو مهمترین ارکان System Design در زمان پیاده سازی محسوب میشن و هر کدوم توانایی های خاص خودشون و عملکرد متفاوت و تشابهاتی دارن که باید در زمان پیاده سازی در نظر بگیرید.
برای درک سریع این موضوع می تونین از این لینک استفاده کنین که در کمترین زمان ممکن ساختار رو بهتون منتقل می کنه:
https://www.youtube.com/watch?v=RqfaTIWc3LQ
و برای درک عمیق تر می تونین از این لینک استفاده کنین:
https://www.youtube.com/watch?v=Q4XUptm9S8w
در نظر داشته باشید که گاهی وقت ها یک ابزار می تونه شامل خیلی چیزا باشه ولی دونستن منطق پشتش از پیاده سازیش مهم تره!
@thealibigdeli_channel
#system_design
Forwarded from localhost (Yousef Taheri)
ساخت ایمیل کاری و حرفهای مثل
info@domain.com
بدون نیاز به Hosting
فقط با یک دومین، مثل ir. یا هر چی.
https://ivpn.pro/general/how-to-create-a-business-email-without-hosting/
<Kevin Zakarian>
info@domain.com
بدون نیاز به Hosting
فقط با یک دومین، مثل ir. یا هر چی.
https://ivpn.pro/general/how-to-create-a-business-email-without-hosting/
<Kevin Zakarian>
آی VPN.پُرو
ساخت ایمیل کاری و حرفهای مثل info@domain.com بدون نیاز به هاست! - آی VPN.پُرو
مقدمه بله عنوان مقاله درست است؛ بدون نیاز به هاست سرویس ایمیل کاری و حرفهای داشته باشید. مواد لازم:– اکانت Gmail– اکانت Cloudflare– یک دامنه با هر پسوندی (از ۵۰ هزار تومان برای ir. یا ۱ دلار برای خارجی)– یک شماره مجازی فقط برای دریافت یک پیامک (گوگل ویس…
تا زمانی که مغز و کنجکاویتون فعاله
ایده هاتون رو یکجا منظم (مثلا توی والت ابسیدین) با هرچقدر جزییات که میتونید ذخیره کنید.
دورانی میرسه که خلاقیت و انگیزه تون ته میکشه، و خوندن و فکر کردن راجب همین ایده ها یکی از بهترین راه ها برای برگردوندنش + بازیابی امید از دست رفتهتون میتونه باشه.
به علاوه این موضوع که زمان زیادی ازش میگذره، و میبینید با دانشی که تا الان کسب کردین، اون ایده دیگه صرفا درحد ایده نیست و میتونه یک پروژه یا مسیر استارتاپی خوب بشه!
@Rs_tutorial ~#ARJ ✍
ایده هاتون رو یکجا منظم (مثلا توی والت ابسیدین) با هرچقدر جزییات که میتونید ذخیره کنید.
دورانی میرسه که خلاقیت و انگیزه تون ته میکشه، و خوندن و فکر کردن راجب همین ایده ها یکی از بهترین راه ها برای برگردوندنش + بازیابی امید از دست رفتهتون میتونه باشه.
به علاوه این موضوع که زمان زیادی ازش میگذره، و میبینید با دانشی که تا الان کسب کردین، اون ایده دیگه صرفا درحد ایده نیست و میتونه یک پروژه یا مسیر استارتاپی خوب بشه!
@Rs_tutorial ~#ARJ ✍
🔥1
Forwarded from Md Daily (Mahan)
اصلاً من متخصّصم یا نه؟ شاید نکته اصلی همینه! 🤔
داشتم یه مقاله به اسم I Don't Know If I'm An Expert (And That Might Be the Point) میخوندم که نویسنده مقاله داستان رو از جایی شروع میکنه که همهمون ممکنه توش گیر کرده باشیم. اون یه شرکت امنیت سایبری داره، کلی مدرک معتبرِ جهانی تو جیبشه و حتی شش تا کتاب هم نوشته . اما میگه وقتی داشتم رزومهم رو پر میکردم و به بخش «تخصصها» رسیدم، یهو خشکم زد! نه اینکه چیزی بلد نباشم، نه؛ مشکل اینجاست که میگه: «من هر روز دارم یه چیز جدید یاد میگیرم و همین باعث شده از خودم بپرسم: اصلاً من متخصصِ چیزی هستم یا نه؟»🤯
---
تلهای به اسم «مطمئن بودن»⚠️
حقیقتش اینه که ما توی دنیایی زندگی میکنیم که انگار مجبوریم همهش ادای «آدمهای همهچیزدون» رو دربیاریم. نویسنده میگه: «من میتونم برم توی دفتر یه مشتری و براشون خفنترین سیستمهای دفاعی رو طراحی کنم، اما آگاهانه واژه متخصص رو برای خودم به کار نمیبرم.» چرا؟ چون توی دنیای تکنولوژی، وقتی میگی «مطمئنم»، یعنی یادگیری رو متوقف کردی. و این شروعِ سقوطِ مهارته📉 .
دقت کردین؟ یه برنامهنویس تازهکار با یه دوره دو روزه مینویسه «متخصص ریاکت»؛ یا یکی دیگه با دو تا سخنرانی میشه «رهبر فکری». نویسنده معتقده این تورمِ مدارک و القاب، باعث شده واژه متخصص بیمعنی بشه. این نمایشِ «قطعیت»، مثل یه نقابه که نمیذاره بقیه بفهمن ما هنوز چقدر چیزها رو نمیدونیم🎭 .
معیار واقعی چیه؟✨
نویسنده یه پیشنهاد باحال داره. میگه به جای اینکه بپرسیم «من متخصصم؟»، بیایم این چندتا سوال رو از خودمون بپرسیم تا همزادپنداریمون با واقعیت بیشتر بشه:
⬅️ آیا این کار رو اونقدر تکرار کردم که سوراخسمبههاش رو بشناسم؟
⬅️ آیا خروجی کارم توی دنیای واقعی (نه فقط روی کاغذ) جواب داده؟
⬅️ آیا کسی حاضر هست بابت تجربه قبلیم، دوباره بهم پول بده؟
⬅️ میتونم این موضوع رو جوری به بقیه یاد بدم که واقعاً بفهمن؟
خودِ نویسنده با همین معیارها میگه: «من توی امنیتِ کسبوکارهای کوچیک کارم درسته، چون امتحان پس دادم. اما مثلاً توی بحثهای سنگینی مثل کوبرنتیز، با اینکه خیلیها ممکنه بگن متخصصی، ولی خودم میدونم که هنوز راه دارم.»
پارادوکسِ عجیبِ یادگیری 🌀
نکته قشنگِ حرفش اینجاست: «هرچی بیشتر میفهمم، کمتر احساس تخصص میکنم.» این یه جور پارادوکسه، ولی دقیقاً همینه که نشون میده تو واقعاً بلدی! تازهکارها فکر میکنن تهِ کوه رو دیدن، ولی حرفهایها میدونن که این مسیر تمومی نداره. نویسنده میگه: «اگه یه پزشک بگه من بعد دانشگاه دیگه هیچی یاد نگرفتم، فرار نمیکنی؟ خب توی دنیای فنی هم همینه. تواضع فکری نشونه بیسوادی نیست؛ نشونه اینه که تو میفهمی چقدر بازی جدیه.»🎯
حرف آخر: نمایش رو تموم کنیم✋
حرف حسابش اینه: بیایم به جای اینکه با کلمات قلمبهسلمبه رزومهمون رو پر کنیم، با «خروجیهامون» حرف بزنیم. به جای اینکه بگیم «من متخصص هوش مصنوعیام»، بگیم «من مدلهای ML رو برای انطباق در حوزه سلامت با دقت ۹۹.۷٪ در طول ۱۸ ماه پیادهسازی کردم».
اون در نهایت میگه: «شاید هنوزم با کلمه متخصص راحت نباشم، ولی میدونم سیستمهایی ساختم که جلوی حملات واقعی رو گرفتن. این برای من از هر عنوانی باارزشتره.»
—-
💡 مثل همیشه کنجکاو بمونید :)
🆔 @MdDaily
داشتم یه مقاله به اسم I Don't Know If I'm An Expert (And That Might Be the Point) میخوندم که نویسنده مقاله داستان رو از جایی شروع میکنه که همهمون ممکنه توش گیر کرده باشیم. اون یه شرکت امنیت سایبری داره، کلی مدرک معتبرِ جهانی تو جیبشه و حتی شش تا کتاب هم نوشته . اما میگه وقتی داشتم رزومهم رو پر میکردم و به بخش «تخصصها» رسیدم، یهو خشکم زد! نه اینکه چیزی بلد نباشم، نه؛ مشکل اینجاست که میگه: «من هر روز دارم یه چیز جدید یاد میگیرم و همین باعث شده از خودم بپرسم: اصلاً من متخصصِ چیزی هستم یا نه؟»
---
تلهای به اسم «مطمئن بودن»
حقیقتش اینه که ما توی دنیایی زندگی میکنیم که انگار مجبوریم همهش ادای «آدمهای همهچیزدون» رو دربیاریم. نویسنده میگه: «من میتونم برم توی دفتر یه مشتری و براشون خفنترین سیستمهای دفاعی رو طراحی کنم، اما آگاهانه واژه متخصص رو برای خودم به کار نمیبرم.» چرا؟ چون توی دنیای تکنولوژی، وقتی میگی «مطمئنم»، یعنی یادگیری رو متوقف کردی. و این شروعِ سقوطِ مهارته
دقت کردین؟ یه برنامهنویس تازهکار با یه دوره دو روزه مینویسه «متخصص ریاکت»؛ یا یکی دیگه با دو تا سخنرانی میشه «رهبر فکری». نویسنده معتقده این تورمِ مدارک و القاب، باعث شده واژه متخصص بیمعنی بشه. این نمایشِ «قطعیت»، مثل یه نقابه که نمیذاره بقیه بفهمن ما هنوز چقدر چیزها رو نمیدونیم
معیار واقعی چیه؟
نویسنده یه پیشنهاد باحال داره. میگه به جای اینکه بپرسیم «من متخصصم؟»، بیایم این چندتا سوال رو از خودمون بپرسیم تا همزادپنداریمون با واقعیت بیشتر بشه:
خودِ نویسنده با همین معیارها میگه: «من توی امنیتِ کسبوکارهای کوچیک کارم درسته، چون امتحان پس دادم. اما مثلاً توی بحثهای سنگینی مثل کوبرنتیز، با اینکه خیلیها ممکنه بگن متخصصی، ولی خودم میدونم که هنوز راه دارم.»
پارادوکسِ عجیبِ یادگیری 🌀
نکته قشنگِ حرفش اینجاست: «هرچی بیشتر میفهمم، کمتر احساس تخصص میکنم.» این یه جور پارادوکسه، ولی دقیقاً همینه که نشون میده تو واقعاً بلدی! تازهکارها فکر میکنن تهِ کوه رو دیدن، ولی حرفهایها میدونن که این مسیر تمومی نداره. نویسنده میگه: «اگه یه پزشک بگه من بعد دانشگاه دیگه هیچی یاد نگرفتم، فرار نمیکنی؟ خب توی دنیای فنی هم همینه. تواضع فکری نشونه بیسوادی نیست؛ نشونه اینه که تو میفهمی چقدر بازی جدیه.»
حرف آخر: نمایش رو تموم کنیم
حرف حسابش اینه: بیایم به جای اینکه با کلمات قلمبهسلمبه رزومهمون رو پر کنیم، با «خروجیهامون» حرف بزنیم. به جای اینکه بگیم «من متخصص هوش مصنوعیام»، بگیم «من مدلهای ML رو برای انطباق در حوزه سلامت با دقت ۹۹.۷٪ در طول ۱۸ ماه پیادهسازی کردم».
اون در نهایت میگه: «شاید هنوزم با کلمه متخصص راحت نباشم، ولی میدونم سیستمهایی ساختم که جلوی حملات واقعی رو گرفتن. این برای من از هر عنوانی باارزشتره.»
—-
🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
اگه دنبال اینی که بفهمی سیستمهای نرمافزاری Domain-Driven Design (یه رویکرد طراحی نرمافزاره که تمرکزش روی فهم دقیق مسئله، منطق اصلی کسبوکار و مدلکردن درست دنیای واقعی قبل از کدنویسیه) چطوری طراحی میشن، اینجا یه نقطه شروع خیلی خوبیه. اینجا کلی منبع جمع شده دربارش، از مقاله و کتاب گرفته تا ویدیو و ابزار، طوری که کمکم ذهنت رو با این سبک فکر کردن آشنا میکنه :
github.com/heynickc/awesome-ddd
@Linuxor
github.com/heynickc/awesome-ddd
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
سیستم کند است؟ این ۴ عدد دروغ نمیگویند
کند شدن API یکی از رایجترین چالشها در سیستمهای نرمافزاری است.
اما تشخیص اینکه دقیقاً چه چیزی کند شده بدون داده و متریک، عملاً غیرممکن است.
تحلیل عملکرد سیستم نیازمند اعداد واقعی و قابل اندازهگیری است؛ متریکهایی که بتوانند محل گلوگاهها و نقاط ضعف را بهدرستی مشخص کنند.
در این پُست به چهار متریک بنیادی میپردازیم که شناخت آنها برای هر مهندس نرمافزار ضروری است.
1- معیار Queries Per Second (QPS)
این معیار نشان میدهد سیستم شما در هر ثانیه چند درخواست ورودی دریافت میکند.
برای مثال، اگر سرور در یک ثانیه ۱۰۰۰ درخواست دریافت کند، مقدار QPS برابر با ۱۰۰۰ خواهد بود.
در نگاه اول، QPS متریکی ساده به نظر میرسد، اما چالش اصلی در پایداری آن نهفته است. بسیاری از سیستمها قادر به حفظ QPS بالا در بازههای زمانی طولانی نیستند و در شرایط فشار، بهتدریج دچار افت عملکرد میشوند.
2- معیار Transactions Per Second (TPS)
این معیار تعداد تراکنشهای کاملاً انجامشده در هر ثانیه را نشان میدهد.
یک تراکنش شامل کل مسیر پردازش درخواست است؛ از دریافت درخواست تا تعامل با دیتابیس و بازگشت پاسخ نهایی.
برخلاف QPS که صرفاً تعداد درخواستهای ورودی را نشان میدهد، TPS بیانگر میزان کار واقعی انجامشده است و معمولاً مهمترین متریک از دیدگاه کسبوکار محسوب میشود.
3- معیار Concurrency (همزمانی)
این معیار تعداد درخواستهای فعالی است که سیستم در یک لحظه در حال پردازش آنهاست.
برای مثال، ممکن است سیستم ۱۰۰ درخواست در ثانیه دریافت کند، اما اگر پردازش هر درخواست ۵ ثانیه طول بکشد، در عمل با ۵۰۰ درخواست همزمان مواجه خواهیم بود.
همزمانی بالا به معنای نیاز به مدیریت بهینهتر منابع، connection pool مناسب و کنترل دقیقتر threadها است.
4- معیار Response Time
این معیار مدت زمانی است که از آغاز یک درخواست تا دریافت پاسخ نهایی سپری میشود.
این متریک هم در سطح کلاینت و هم در سطح سرور اندازهگیری میشود و نقش کلیدی در تجربه کاربری و توان پردازشی سیستم دارد.
رابطه بین متریکها:
این چهار متریک بهطور مستقل عمل نمیکنند و رابطهی مشخصی میان آنها وجود دارد:
QPS = Concurrency ÷ Average Response Time
بر اساس این رابطه، افزایش همزمانی یا کاهش میانگین زمان پاسخ، منجر به افزایش توان پردازشی (Throughput) سیستم میشود.
تحلیل صحیح عملکرد سیستم بدون درک دقیق این متریکها ممکن نیست.
@DevTwitter | <Amir Rahimi Nejad/>
کند شدن API یکی از رایجترین چالشها در سیستمهای نرمافزاری است.
اما تشخیص اینکه دقیقاً چه چیزی کند شده بدون داده و متریک، عملاً غیرممکن است.
تحلیل عملکرد سیستم نیازمند اعداد واقعی و قابل اندازهگیری است؛ متریکهایی که بتوانند محل گلوگاهها و نقاط ضعف را بهدرستی مشخص کنند.
در این پُست به چهار متریک بنیادی میپردازیم که شناخت آنها برای هر مهندس نرمافزار ضروری است.
1- معیار Queries Per Second (QPS)
این معیار نشان میدهد سیستم شما در هر ثانیه چند درخواست ورودی دریافت میکند.
برای مثال، اگر سرور در یک ثانیه ۱۰۰۰ درخواست دریافت کند، مقدار QPS برابر با ۱۰۰۰ خواهد بود.
در نگاه اول، QPS متریکی ساده به نظر میرسد، اما چالش اصلی در پایداری آن نهفته است. بسیاری از سیستمها قادر به حفظ QPS بالا در بازههای زمانی طولانی نیستند و در شرایط فشار، بهتدریج دچار افت عملکرد میشوند.
2- معیار Transactions Per Second (TPS)
این معیار تعداد تراکنشهای کاملاً انجامشده در هر ثانیه را نشان میدهد.
یک تراکنش شامل کل مسیر پردازش درخواست است؛ از دریافت درخواست تا تعامل با دیتابیس و بازگشت پاسخ نهایی.
برخلاف QPS که صرفاً تعداد درخواستهای ورودی را نشان میدهد، TPS بیانگر میزان کار واقعی انجامشده است و معمولاً مهمترین متریک از دیدگاه کسبوکار محسوب میشود.
3- معیار Concurrency (همزمانی)
این معیار تعداد درخواستهای فعالی است که سیستم در یک لحظه در حال پردازش آنهاست.
برای مثال، ممکن است سیستم ۱۰۰ درخواست در ثانیه دریافت کند، اما اگر پردازش هر درخواست ۵ ثانیه طول بکشد، در عمل با ۵۰۰ درخواست همزمان مواجه خواهیم بود.
همزمانی بالا به معنای نیاز به مدیریت بهینهتر منابع، connection pool مناسب و کنترل دقیقتر threadها است.
4- معیار Response Time
این معیار مدت زمانی است که از آغاز یک درخواست تا دریافت پاسخ نهایی سپری میشود.
این متریک هم در سطح کلاینت و هم در سطح سرور اندازهگیری میشود و نقش کلیدی در تجربه کاربری و توان پردازشی سیستم دارد.
رابطه بین متریکها:
این چهار متریک بهطور مستقل عمل نمیکنند و رابطهی مشخصی میان آنها وجود دارد:
QPS = Concurrency ÷ Average Response Time
بر اساس این رابطه، افزایش همزمانی یا کاهش میانگین زمان پاسخ، منجر به افزایش توان پردازشی (Throughput) سیستم میشود.
تحلیل صحیح عملکرد سیستم بدون درک دقیق این متریکها ممکن نیست.
@DevTwitter | <Amir Rahimi Nejad/>
Forwarded from TheAliBigdeli Channel
چطور بفهمم چیا باید بلد باشم و تو رزومم درج کنم
سادس اول برید توی سایت هایی که آگهی شغلی میگذارن و بعد دنبال پوزیشون مورد نظرتون بگردید مثلا "ارشد پایتون" میرسید به موضوعی که توی بخش نیازمندی های ضروری از یسری چیزا اسم میبرن. 10 تا 20 تا از آگهی ها رو در نظر بگیرید. توانایی ها و نیازمندی هاشون رو توی یه جدول بنویسید و بعد اونایی که مشترک هستش رو جدا کنین.
حالا یه جدول از نیازمندی های اساسی بازار کار دارید. بعد یه جدول به عنوان ویژگی های افزاینده درست کنین که به شما امتیاز بیشتری میده.
حالا فقط باید برنامه ریزی کنین که مباحث پایه رو یاد بگیرید و استفاده کنین و بعد توی رزومتون هم درج کنین و تجاربتون رو در پروژه ها بگید.
هدف اینه بفهمید اول کجا ها نیازمندی هستش و آیا اون توانایی رو دارید یا نه و بعد برنامه ریزی کنین که بخونین.
اینطوری بهش نگاه کنین که به جای خوندن 100 کتاب اول کار اگر تست کنکور های قبلی رو ببینید می فهمید که بیشتر سوالات تمرکزش روی چه فصل هایی بوده، حالا می تونین وقت بیشتری رو صرف اون بخش ها کنین به جای اینکه همه چی رو بلد باشید.
@thealibigdeli_channel
#resume
سادس اول برید توی سایت هایی که آگهی شغلی میگذارن و بعد دنبال پوزیشون مورد نظرتون بگردید مثلا "ارشد پایتون" میرسید به موضوعی که توی بخش نیازمندی های ضروری از یسری چیزا اسم میبرن. 10 تا 20 تا از آگهی ها رو در نظر بگیرید. توانایی ها و نیازمندی هاشون رو توی یه جدول بنویسید و بعد اونایی که مشترک هستش رو جدا کنین.
حالا یه جدول از نیازمندی های اساسی بازار کار دارید. بعد یه جدول به عنوان ویژگی های افزاینده درست کنین که به شما امتیاز بیشتری میده.
حالا فقط باید برنامه ریزی کنین که مباحث پایه رو یاد بگیرید و استفاده کنین و بعد توی رزومتون هم درج کنین و تجاربتون رو در پروژه ها بگید.
هدف اینه بفهمید اول کجا ها نیازمندی هستش و آیا اون توانایی رو دارید یا نه و بعد برنامه ریزی کنین که بخونین.
اینطوری بهش نگاه کنین که به جای خوندن 100 کتاب اول کار اگر تست کنکور های قبلی رو ببینید می فهمید که بیشتر سوالات تمرکزش روی چه فصل هایی بوده، حالا می تونین وقت بیشتری رو صرف اون بخش ها کنین به جای اینکه همه چی رو بلد باشید.
@thealibigdeli_channel
#resume
Forwarded from codepedia (Mahsa)
یکی از اینفلوئنسرهای حوزه Ai بنام Robin Eber سایت پایین رو ساخته که بصورت رایگان، پرامپت شما رو آنالیز میکنه و بهش نمره میده.
بهتون میگه که آیا پرامپتتون رو خوب نوشتید یا نه و اگر نه، ایرادش کجاست و چطور میتونید بهترش کنید که بهترین خروجی ممکن رو بگیرید.
💡https://coach.robinebers.com
#هوش_مصنوعی
🆔 @code_pedia
بهتون میگه که آیا پرامپتتون رو خوب نوشتید یا نه و اگر نه، ایرادش کجاست و چطور میتونید بهترش کنید که بهترین خروجی ممکن رو بگیرید.
💡https://coach.robinebers.com
#هوش_مصنوعی
🆔 @code_pedia
Forwarded from Byteforge / بایــت فورج 🛸
doh یه ابزار خطفرمان سبکه که باهاش DNS رو به شکل DNS over HTTPS میفرستی یعنی بهجای اینکه درخواست DNS معمولی و قابل شنود بفرستی، کوئری داخل HTTPS روی پورت ۴۴۳ میره سمت Cloudflare (1.1.1.1) و رمزنگاری میشه
به درد وقتایی میخوره که میخوای بدون درگیر شدن با DNS سیستمعاملت دامنهها رو resolve کنی یا وقتی DNS اینترنتت درست جواب نمیده، فیلتره یا دستکاری شده. برای دیباگ شبکه هم خیلی خوبه چون مستقیم میبینی هر دامنه دقیقاً چه رکوردایی برمیگردونه.
لینک ریپو :
https://github.com/mxssl/doh
به درد وقتایی میخوره که میخوای بدون درگیر شدن با DNS سیستمعاملت دامنهها رو resolve کنی یا وقتی DNS اینترنتت درست جواب نمیده، فیلتره یا دستکاری شده. برای دیباگ شبکه هم خیلی خوبه چون مستقیم میبینی هر دامنه دقیقاً چه رکوردایی برمیگردونه.
doh a google.com
doh mx gmail.com
doh txt example.com
لینک ریپو :
https://github.com/mxssl/doh
#tools
#DevOps
#byteforge
@byteforge_chan 🛸
❤🔥2
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (Mohammad Khoshnava)
یک احراز هویت جدید توی nic.ir 🇮🇷 اجباری شده که اگر انجام ندید دسترسیتون رو قطع میکنن بزودی
بابت این احراز هویت باید توی ثبت احوال لاگین کنید و وارد سامانه هدا (هویت دیجیتال ایرانیان) بشید و اپلیکیشن اندرویدی یا ios ای (از استور های ایرانی) نصب کنید و سپس مبلغ 198,236 ریال رو پرداخت کنید، بعد یک احراز هویت تصویری انجام میشه که یک اقاهه خیلی شیکمیگه صورتت عقب وجلو کن چشماتوباز کن و … (خدایی یکم صداش ترسناکه ولی خوب پیاده سازی شده)
حالا این ۲۰ هزار تومن جدی احراز هویته یا پول زوره؟ مگه قبلا احراز هویت نکرده بودیم؟ باشه نوش جونت اقای ثبت احوال و نیک
✅ @SEYED_BAX
بابت این احراز هویت باید توی ثبت احوال لاگین کنید و وارد سامانه هدا (هویت دیجیتال ایرانیان) بشید و اپلیکیشن اندرویدی یا ios ای (از استور های ایرانی) نصب کنید و سپس مبلغ 198,236 ریال رو پرداخت کنید، بعد یک احراز هویت تصویری انجام میشه که یک اقاهه خیلی شیکمیگه صورتت عقب وجلو کن چشماتوباز کن و … (خدایی یکم صداش ترسناکه ولی خوب پیاده سازی شده)
حالا این ۲۰ هزار تومن جدی احراز هویته یا پول زوره؟ مگه قبلا احراز هویت نکرده بودیم؟ باشه نوش جونت اقای ثبت احوال و نیک
Please open Telegram to view this post
VIEW IN TELEGRAM