Random shi- tutorials – Telegram
Random shi- tutorials
206 subscribers
228 photos
27 videos
12 files
546 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
Forwarded from Armin codes (Armin Shaikhy)
Designing Data-Intensive Applications

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

این کتاب به جای تمرکز روی ابزارها، ایده‌های بنیادی را یاد می‌دهد؛ چیزهایی که هر معمار نرم‌افزاری باید بدونه.
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
1
در اغلب پروژه‌های مبتنی بر PostgreSQL، ضعف اصلی نه در خود دیتابیس، بلکه در بکاپ‌گیری نامنظم، دستی و بدون مانیتورینگ دیده میشه.

یک خطای انسانی، یک اسکریپت ناقص یا یک اختلال دیسک برای نابودی داده کافیه

اینجا 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 🛸
2
اگر قصد دارین بین دیوایس های ریموت تون کانکشن امنی بسازید
حتما Tailscale رو امتحان کنید
به زودی راجبش مینویسم براتون
Forwarded from localhost (Yousef Taheri)
👍2
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
این یه ابزار ویندوزه که کمک می‌کنه برنامه‌ها رو توی سندباکس یا جعبه امن اجرا کنید. یعنی هرچی برنامه انجام بده فایل ایجاد کنه، خرابکاری کنه، رجیستری رو به‌هم بریزه فقط داخل همون جعبه می‌مونه و به سیستم اصلی دست نمی‌زنه. برای تست‌کردن برنامه‌های ناشناس، وب‌گردی امن، یا حتی نصب آزمایشی نرم‌افزار، واقعاً نجات‌دهنده‌ست.

دانلود :
sandboxie-plus.com

@Linuxor
Forwarded from جوپن|کدتخفیف
مکتب‌خونه به جوپن پیوست👨‍🎓👩‍🎓

دو تا تخفیف عالی داریم براتون.
۸۲ درصد تخفیف اشتراک مکتب‌پلاس و ۴۰ درصد تخفیف تک دوره بدون کف خرید👌

تا آخــر دی ماه می‌تونید از این تخفیف‌ها استفاده کنید.
Forwarded from Linuxor ?
مونگو‌دی‌بی یه قابلیت عالی داره به اسم TTL Index که خودش رکوردهای قدیمی رو پاک می‌کنه مثلا می‌تونید فقط دیتا های 30 روز اخیر رو نگه دارید و بقیه خودکار پاک میشن، برای دیتاهای موقتی یا لاگ‌ها یا کد های OTP یک‌بار مصرف و کد تخفیف ها خیلی خوبه، نیاز نیست کد جدا بنویسید که مثلا هر یه مدت یه بار بره چیزی رو حذف کنه.

@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
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
تا زمانی که مغز و کنجکاویتون فعاله
ایده هاتون رو یکجا منظم (مثلا توی والت ابسیدین) با هرچقدر جزییات که میتونید ذخیره کنید.

دورانی میرسه که خلاقیت و انگیزه تون ته میکشه، و خوندن و فکر کردن راجب همین ایده ها یکی از بهترین راه ها برای برگردوندنش + بازیابی امید از دست رفته‌تون میتونه باشه.

به علاوه این موضوع که زمان زیادی ازش میگذره، و میبینید با دانشی که تا الان کسب کردین، اون ایده دیگه صرفا درحد ایده نیست و میتونه یک پروژه یا مسیر استارتاپی خوب بشه!

@Rs_tutorial ~#ARJ
🔥1
Forwarded from localhost (Yousef Taheri)
Forwarded from Md Daily (Mahan)
اصلاً من متخصّصم یا نه؟ شاید نکته اصلی همینه! 🤔

داشتم یه مقاله به اسم 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