Linux 🐧 (Kernel Fa) – Telegram
Linux 🐧 (Kernel Fa)
109 subscribers
14 photos
16 links
Linux 🐧 (Kernel Fa)
Download Telegram
Forwarded from Golang Farsi | گولنگ فارسی (Amir Hossein Kamandlou)
تو مصاحبه بک اند ممکنه بپرسن که آیا برای مایکروسرویس ها از API Gateway استفاده می کنید؟


مزیت ها و کاربرد های مختلف API Gateway:

1. Routing
کلاینت فقط به یک endpoint درخواست میزنه و Gateway درخواست رو به مایکروسرویس مربوطه میده که دیزاین کلی سیستم ساده میشه

2. Rate limiting and throttling
می تونیم با اعمال Rate limiting جلوی حمله DDoS رو بگیریم و این موضوع در Gateway انجام بشه نه در هر مایکروسرویس

3. Caching
می تونیم پاسخ های هر مایکروسرویس رو Cache کنیم و اگر درخواست مشابه بود همون رو برگردونیم که بار کلی سیستم کم میشه

4. Authentication and Authorization
می تونیم دسترسی دادن رو یکجا انجام بدیم تا اینکه هر مایکروسرویس جداگانه اینکار رو بکنه

5. Load Balancing
اگر از یک سرویس چند instance داشته باشیم می تونیم بینشون load balance کنیم

6. Monitoring
می تونیم یه سری metric جمع آوری کنیم و ببینیم کدوم مایکروسرویس ها ضعیف تر عمل میکنند و reliability سیستم رو بالا ببریم

7. Transformation
اگر مثلا یه سرویس SOAP قدیمی داشته باشیم که XML برمیگردونه می تونیم تبدیلش به JSON کنیم حتی میتونم داده های سرویس های مختلف رو ترکیب کنیم.

8. Request and response validation
اگر Schema از request و response مایکروسرویس ها داشته باشیم جایی که یک مایکروسرویس خطا خورده میتونیم متوجه بشیم و خطای مناسب برگردونیم

9. Circuit Breaker
با استفاده از این الگو اگر یک مایکروسرویس مشکلی داشت می تونیم از یک مایکروسرویس جایگزین استفاده کنیم.

10. Service Discovery
کلاینت ها نیاز ندارن که بدونن هر مایکروسروس کجاست و با این الگو می تونیم راحت سرویس اضافه و کم کنیم.

11. API Versioning
Gateway می تونه از وجود چند نسخه از یک API خبر داشته باشه و دولوپر ها راحت می تونن نسخه های جدید رو توسعه بدن

12. Error Handling
می تونیم خطا با فرمت یکسان تولید کنیم حتی اگر یک مایکروسرویس از دسترس خارج شده باشه

13. Service Aggregation
تو این الگو به جای اینکه یک کلاینت به چند مایکروسرویس درخواست بده، Gateway پاسخ چند مایکروسرویس رو تو یک response ترکیب می کنه که بار کلی سیستم کم میشه

14. Web Application Firewall (WAF)
می تونیم یک Firewall اضافه کنیم و جلوی حملاتی مثل XSS و DDoS و SQL Injection رو بگیریم

15. API Documentation
می تونیم تو Gateway با یک فرمت استادندارد مثل OpenAPI یا Swagger مستندات کلی سیستم رو تولید کنیم.

✍️ Pouria Jahandideh

@GolangF
👍1👏1
Forwarded from Golang Farsi | گولنگ فارسی (Amir Hossein Kamandlou)
تاحالا اسم پویش رها کردن گیت هاب (Give up GitHub) رو شنیده بودید؟ اگه مثل من نشنیده بودید از این لینک میتونید بفهمید داستان چیه

https://sfconservancy.org/GiveUpGitHub
Forwarded from Golang Farsi | گولنگ فارسی (Amir Hossein Kamandlou)
🌟 بعد از Notcoin حالا ربات Major توسط خود تلگرام عرضه شده ! تو این ربات میتونید با انجام وظایف روزانه و دعوت رتبه‌ت رو بالا ببری و پول تلگرام (Stars) دریافت کنی !

🤩 هر ده هزارتا استار که جمع کنید میشه ۱۶۰ دلار
😎 حدودا ۱۰ میلیون تومن

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

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

ورود به ربات 👇

https://news.1rj.ru/str/major/start?startapp=5060247333
Forwarded from Linuxor ?
با سویچ k- توی man میتونید به دنبال یه Keyword توی man پیچ ها بگردین

مثلا من دنبال کامند هایی هستم که با cpu سرو کار دارن ولی اسمشون رو نمیدونم :

man -k cpu

یا مثلا میخوام ببینم چه پکیج هایی مربوط به php هستن :

man -k php


🐧 @Linuxor
Forwarded from Golang Farsi | گولنگ فارسی (Amir Hossein Kamandlou)
‏‌‎ربات اصلی نات کوین دوباره فعال شده

(استارت کنید) @NotCoin
Forwarded from Golang Farsi | گولنگ فارسی (Amir Hossein Kamandlou)
دوج کوین رایگان بر اساس اینکه شما چند ساله کاربر تلگرام هستید.

https://news.1rj.ru/str/dogshouse_bot/join?startapp=npU-1AYKTvaOfBKwZ4z9zg
Forwarded from Linuxor ?
امروز داشتم داکیومنشن php رو میدیدم به دوتا دیتا تایپ عجیب خوردم true و false

دقت کنید اینا با bool فرق دارن دیتا تایپ bool هم میتونه true باشه هم false

حالا این چه مزیتی داره؟ این تابع زیر رو در نظر بگیرید

strpos(string heystack, string needle) : int | bool

کارش اینه که دوتا رشته میگیره و موقیت رشته دوم توی رشته اول رو به صورت عدد بر میگردونه و اگه وجود نداشت false برمیگردونه.

یه مشکل اساسی، تابع کی true میشه ؟ هیچ وقت. در نتیجه گذاشتن bool اینجا داره به ما اطلاعات اضافی میده در واقع یه دیتا تایپ یا ولیو تایپ به اسم false میتونیم بزاریم و از این اطلاعات اضافی جلو گیری کنیم و از گیج شدن یوزر جلوگیری کنیم.

پس ساختارو به این صورت تغییر دادن

strpos(string heystack, string needle) : int | false

و این یعنی این تابع هیچ وقت true نمیشه.


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

🐧 @Linuxor
👍2
Forwarded from Linuxor ?
لیست ابزار های امنیت و نفوذ در لینوکس، که البته کار کردن با هرکدومشون نیاز به تخصص و آموزش داره

🐧 @Linuxor ~ dan_nanni
👍4
Forwarded from Golang Farsi | گولنگ فارسی (Amir Hossein Kamandlou)
سوالی داشتید میتونید تو گروه بپرسید :))
https://news.1rj.ru/str/BackEndGroup
دزدی اطلاعات به سبک مدرن
@z1cast
🎙 اپیزود دوم z1cast منتشر شد! 🎙

-‌‏ I-XRAY دزدی اطلاعات به سبک مدرن

این قسمت درباره یه دزدی عجیب و غریب حرف می‌زنیم؛ یه هشدار جدی برای همه‌مون که بیشتر حواس‌مون به هویتمون، زندگی‌مون، مالمون و از همه مهم‌تر دیتامون و خانوادمون باشه!

اگه می‌خواید بدونید چطوری می‌تونید از خودتون و عزیزانتون محافظت کنید، حتماً این اپیزود رو از دست ندید. 🌟

لیست سرویس های استفاده شده در IXRAY : 👁

‏- FastPeopleSearch
‏- CheckThem
-‏ Instant Checkmate‌‌‏
- لینک کامل تمام سرچ انجین های جستجوی چهره

ابزار های مفید برای حذف اطلاعات :

- ‏Secure Eraser
‏- Jumbo Privacy
‏- Delete Me

📹 دست اندرکاران:

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

گرافیست : مهیب

کاور آرت، تدوینگر و پروداکشن: فرهان

شعر و متن ترانه: شایان

مجری و متن نمایشنامه: فرهان، اجراکنندگان: فرهان و شایان

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

بازبین گران:
بازبینگر شعر: فرهام
بازبین‌گر پادکست: صادق

@z1cast #podcast #ep2 #single
👍2
What is LVM in Linux?

LVM stands for Logical Volume Manager. It is a system for managing disk storage in a more flexible and advanced way than traditional partitioning schemes. Instead of directly partitioning physical disks, LVM creates an abstraction layer that allows for easier resizing, adding, and managing storage without being constrained by fixed partition sizes.

@KernelFa
درس امروز

همیشه دوتا ورژن از کرنل رو داشته باشید روی سیستم که اگه یکیش رو مثل من خراب کردید کل روزتون هم خراب نشه باهاش و سوییچ کنید روی اون یکی کرنل.

@KernelFa
👍3💘3
🔥 چند نفر از بچه‌های کامیونیتی، یه ابزار کاربردی با گولنگ برای خلاص شدن از شر ارور 403 نوشتن. من هم یه کمک کوچیکی تو این پروژه داشتم. 😊
حتماً تستش کنید و اگر نظری داشتید یا مشکلی پیدا کردید، تو بخش Issues مطرح کنید. 🙌

دمتون گرم که حمایت می‌کنید! ❤️

https://github.com/403unlocker/403Unlocker-cli
👏4
Golang Farsi | گولنگ فارسی
🔥 چند نفر از بچه‌های کامیونیتی، یه ابزار کاربردی با گولنگ برای خلاص شدن از شر ارور 403 نوشتن. من هم یه کمک کوچیکی تو این پروژه داشتم. 😊 حتماً تستش کنید و اگر نظری داشتید یا مشکلی پیدا کردید، تو بخش Issues مطرح کنید. 🙌 دمتون گرم که حمایت می‌کنید! ❤️ http…
🔥 تا حالا شده روی سرور موقع نصب Docker یا pull کردن یه image با ارور 403 برخورد کنید؟ 😤
این ابزار دقیقاً برای همین مواقع طراحی شده و می‌تونه حسابی به کارتون بیاد! 😎
حتماً تستش کنید و نظر بدید. ❤️‍🔥
👍1
Forwarded from Kamandlou
Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own custom Linux system, entirely from source code.

https://www.linuxfromscratch.org
Forwarded from Farhan WD (فرهان)
🖥 کامیونیتی و رویداد Beginner friendly کامپیوتر ساینس!

🚀 اگر به مفاهیم عمیق علوم کامپیوتر علاقه داری، این مطلب رو تا آخر بخون!

🔹 بررسی منابع اول علوم کامپیوتر و برنامه نویسی

🔹 یادگیری در جمع و رسیدن به یک بیس کامپیوتر ساینسی!

🔹 گفت‌وگو به شکل میز گرد و فری دیسکاشن!

🔹 مباحث عمیق از تئوری تا پیاده‌سازی

🔹 جامعه‌ای برای یادگیری و رشد تخصصی

هدف ما ایجاد کامپیوتر ساینس های جونیور هست تا در آینده نزدیک بتونیم باهم به پژوهش و ساخت چیزهای جدید بپردازیم!

🌍 به ما بپیوندید :
📎 https://news.1rj.ru/str/ccismywife
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1