Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Linuxor ?
فیلتر شکن خراب کن ها چطوری فیلتر شکن هارو خراب میکنن؟

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


پروژه های زیادی برای DPI وجود داره مثلا nDPI یا L7-Filter یا مثلا Hippie که اتفاقا یه ماژول کرنل لینوکسه و میتونه به عنوان یه فایروال هم عمل کنه.


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

🐧 @Linuxor
Forwarded from Go Casts 🚀
Session Tracked Services
خب یه سری وقت ها پیش میاد که سرویس های ما Stateful هستن مثل همون مثال sessionی که در مطلب قبلی گفتم

یه دلیل رایج دیگه هم وجود داره برای اینکه سرویس های ما stateful باشن: اونم چیزی نیست جز cache
خیلی از سرویس ها برای اینکه لود کمتری روی سرویس های پایین دست (downstream) مثل دیتابیس بندازن از cache برای پاسخگویی استفاده میکنن. به این صورت که اگه درخواستی برای بار اول به اون سرویس بیاد دیتارو از سرویس های پایین دست مثلا دیتابیس میگیرن و علاوه بر اینکه درخواست کاربر رو پاسخ میدن، یک نسخه از اون دیتا رو در حافظه خودشن یا دیتابیس وابسته به خودشون مثل Redis ذخیره میکنن تا اگه درخواست مشابهی اومد نیاز نباشه دوباره دیتارو از دیتابیس بخونن، اینطوری هم لود overall سیستم کمتر میشه هم response time خیلی پایین میاد.

خب مشکل اینجاست که وقتی ما از cache استفاده میکنیم، اگه بخوایم واقعا بصورت بهینه از کارایی cache بهره مند بشیم، باید سعی کنیم درخواست های مشابه رو همیشه به یه سری node مشخص بفرستیم نه اینکه بصورت تصادفی هر درخواست رو به یه node بفرستیم. در واقع تو این حالت سرویس ما stateful شده و دیگه به راحتی حالت stateless نیست که load balancer هر طور دلش بخواد درخواست هارو تقسیم بکنه بین node ها

عموما load balancer ها برای حل کردن قضیه stateful service ها از یه سری hash function استفاده میکنن. البته اگه بخوایم بهترین و بهینه ترین الگوریتم های hashing رو استفاده کنیم باید از consistent hashing استفاده کنیم. مثلا از ip مبدا و مقصد برای وروی تابع هش استفاده میکنن و خروجی hash که همیشه ثابته به عنوان کلیدی برای مشخص کردن nodeی که باید پاسخگو باشه استفاده میشه.

در مورد consistent hashing جلوتر با بررسی الگوی sharded صحبت میکنیم

#designing_distributed_systems_brendan_burns

@gocasts
Forwarded from Go Casts 🚀
Introduction to Microservices

در سال های اخیر عبارت «microservices» برای توصیف multi-node distributed software archetectures یک عبارت همه گیر شده است. عموما Microservices سیستمی را توصیف می کنه که از چند component مختلف تشکیل شده که هر کدام از این component ها توسط process های مختلف اجرا می شوند و ارتباط بین آنها از طریق یک سری API از پیش تعریف شده صورت میگیره.
عبارت Microservices در مقابل monolithic systems قرار میگیره که تمایلش به اینه که همه ی functionality های یک سیستم رو بصورت یکجا در یک application ارائه بده.

#designing_distributed_systems_brendan_burns

@gocasts
Forwarded from Philocode
همیشه فکر می‌کردم شین‌بت اسم سایت شرط‌بندیه، فقط نمی‌دونستم چرا باید سایت شرط‌بندی خودش رو درگیر سیاست کنه. :))
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)
⚡️ Files.io
#منابع_رایگان

معرفی سرویس Filess.io

📌 سرویس رایگان ساخت و مدیریت دیتابیس

📌مناسب برای برنامه‌نویسان و توسعه‌دهندگان که نیاز به دیتابیس رایگان برای پروژه های کوچیک یا mvp دارند.

📌انواع دیتابیس:
MySQL
MongoDB
PostgreSQL
MariaDB

توی این ویدیو این وبسایت رو معرفی کردم و نحوه ساخت یک دیتابیس رو در اون توضیح دادم. همین طور با استفاده از expressjs و postgresql یک پروژه خیلی ساده نوشتیم تا دیتا رو در دیتابیس ذخیره کنیم.

ویدیو رو از اینجا تماشا کنید:
https://youtu.be/t1xMmKPNQ8w


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

در این مجموعه ویدیوها به معرفی منابع رایگان می‌پردازیم که برنامه‌نویسان می‌توانند به راحتی از آن‌ها استفاده کنند.

کانال کد۲
@code2_ir
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
این گجت یه کامپیوتر کوچیکه که روش کالی لینوکس نصبه و به گوشیتون وصل میشه


از طریق usb tethring یا hotspot گوشیتون با یه SSID و رمز از قبل مشخص شده به شبکه گوشیتون وصل میشه و یه ssh و vnc سرور بالا میاره و از طریق گوشی می‌تونید بهش کانکت بشین و کنترلش کنید در واقع یه کامپیوتره که روش کالی لینوکس نصب شده.


🐧 @Linuxor
Forwarded from Gopher Academy
🔵 عنوان مقاله
Maelstrom: A Fast, Contained Test Runner for Multiple Languages

🟢 خلاصه مقاله:
مجموعه‌ای از ابزارها که برای زبان‌های برنامه‌نویسی Go، Rust و Python پشتیبانی می‌کند، این ابزارها توانایی اجرای تست‌ها در میکرو-کانتینرهای ایزوله را دارند و ادعا می‌کند که به‌راحتی با تست‌های موجود شما کار می‌کنند. این تست‌ها می‌توانند هم بر روی ماشین محلی شما و هم در سراسر خوشه‌ای از سرورها اجرا شوند. اطلاعات بیشتر و دسترسی به کد این ابزارها از طریق مخزن GitHub قابل دسترس است. این امکان اطمینان می‌دهد که تست‌ها در محیط‌های کنترل‌شده و جدا شده به خوبی عمل کنند و به توسعه‌دهندگان این قدرت را می‌دهد که بتوانند بدون نگرانی از تداخل‌های محتمل، تست‌های خود را به‌طور مؤثری اجرا کنند.

🟣لینک مقاله:
https://golangweekly.com/link/159870/web


👑 @gopher_academy
Forwarded from Yasha
با کد تخفیف Yasha می‌تونید از ربات زیر یه کانفیگ vpn یک ماهه ۳۰ گیگی رایگان بگیرید:

🔗 @bestrealitybot

ظرفیت: ۳۰ نفر
Forwarded from Yasha
چون زود تموم شد ۵۰ نفر ۲۰ گیگی هم شارژ کردن :))
کد هدیه: Yasha40
Forwarded from A M I N
ایدی پشتیبان بزار
هرمشکلی بود به اون پیام بدن
@nikto_support
Forwarded from یک برنامه نویس تنبل (The Lazy Raymond)
🔶 سلام دوستان

دنبال اسمی برای این قالب وبلاگ وردپرس می گردم و چون رایگان منتشر میشه و اوپن سورسه...

ممنون میشم اسم خوب پیشنهاد بدید.

#موقت

@TheRaymondDev
Forwarded from CleverDevs (CleverDevs Ads)
🌐 یک زبان برنامه‌نویسی همه‌کاره و پردرآمد:

💻 از ساخت اپلیکشن تا برنامه‌نویسی بک-اند وب‌سایت‌ها، از اینترنت اشیاء تا وب اپ‌ها همه با Asp.Net ممکنه!

🟣 در دومین بوت‌کمپ Asp.Net دانشکار اصولی این زبان رو یادبگیر و استخدام شو.

ثبت‌نام
👇👇
🔗 https://dnkr.ir/kKzxN
‏بتونم امروز تو وقت خالیم بخش اول این پروژه شخصی رو تموم کنم. هدف اینه که فایل .torrent بگیره و دانلودش کنه. بعد magnet link رو هم بهش اضافه میکنم. یوزر دیتابیس رو با diesel هندل میکنم و در نهایت با tauri یه اپ دسکتاپ برای دانلود تورنت باید بشه ازش در آورد.
https://github.com/Soroushsrd/Torrs

@DevTwitter | <Soroush Sardashti/>
▪️ فروش ویژه اکانت GitHub Copilot 
💸 فقط با پرداخت ۹۹ هزار تومان 

🌟مزایای اکانت GitHub Copilot: 
کدنویسی سریع‌تر و هوشمندانه‌تر 
پیشنهادات خودکار و دقیق برای کدها 
کاهش زمان دیباگ و افزایش بهره‌وری 
یادگیری و الهام‌گیری از هوش مصنوعی

فرصت طلایی برای برنامه‌نویسان خلاق!🚀 
همین حالا خرید کنید و تجربه کدنویسی حرفه‌ای را به دست آورید. 😀

نکته : این پلن روی اکانت هایی قابل فعال هست که تا به حال این اکانت تریال را فعال نکردند

⭐️ جهت خرید به ایدی زیر پیام بدید
🆔
@GeekGroveSupport
✉️ کانال تلگرام ما
🆔
@geek_grove
This media is not supported in your browser
VIEW IN TELEGRAM
#fun


الکی نیست انقدر بی منطق ساخته شده 😂😂

@ninja_learn_ir
بچه ها من با react و express یدونه برنامه تبدیل عکس به PDF نوشتم برای فان، کلا UI و  پرفورمنسش باحال شده ، خودکار هم بعد 30 ثانیه لینک دانلود expire میشه و فایل ها پاک میشن ، اگه دوست داشتید توی github بهش استار بدید و خودتونم استفاده کنید ،چیز کاربردیه

https://github.com/Mehranlip/XImage-to-PDF

@DevTwitter | <Mehran/>
امروز آخرین مصاحبه درخواست همکاریم توی سری اول شرکت‌هایی که براشون رزومه فرستاده بودم به عنوان Rust developer/software engineer بود.

گفتم شاید بد نباشه که تجربیات این ۲-۳ هفته رو در اختیار دوستان بذارم، توجه کنید که هیچکدوم از موقعیت‌ها ایران نبود.

اولین موضوع مشترک توی همه مصاحبه‌ها این بود که بسیار مصاحبه‌هام مفهومی بود، بخش اول مصاحبه‌ها واقعاً تئوری و نحوه عملکرد بخش‌های مختلف توی Rust بود

دقیقاً این دوتا مورد ازم سوال شد (دوتا شرکت مختلف) :

https://t.iss.one/pyrust/77
https://t.iss.one/pyrust/82

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

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

تمام موارد چون بعنوان junior rust درخواست پر کرده بودم؛ کسی رو می‌خواستند که بتونه کد بزنه، من توی بخشی که اون‌ها نیازی نداشتند عملکرد خوبی داشتم
System design, Software Architecture, ...

اما توی کد زدن، با اینکه کار رو در میاوردم ولی دستم کند بود وقتی از crate ها قرار بود استفاده کنم.

چیزی که من متوجه شدم این بود که حداقل برای پوزیشن جونیور و شاید حتی میدلول باید لیست crate های مهم رو بلد باشی، چون دقیقاً توی مرحله توسعه کد مصاحبه ازت همچین چیزی می‌خوان.

برای مثال امروز از من توسعه یک ابزار خواستند که ۷-۸ تا آرگومان توی حالات مختلف می‌گرفت و یک سری لاگ رو بررسی می‌کرد چه بصورت file و چه بصورت stdin.

تمام منطقی که بهم داده بودند رو پیاده‌سازی کردم تقریباً هم سریع بودم ولی وقتی رسیدم به استفاده از clap بسیار سرعتم کند شد چون تا امروز از این crate استفاده نکرده بودم و برای args از خود std استفاده می‌کردم.

چندروز قبل متوجه این قضیه شدم و بعد از اون دیگه قرار مصاحبه‌ای رو قبول نکردم و به سمت

Blessed crate
ها رفتم تا نقطه ضعف‌هام رو تقویت کنم.


دلیل مصاحبه رفتنم هم همین بود، نقاط ضعف خودم رو پیدا کنم.

راستی clap رو هم کامل خوندم و به اندازه کافی یادگرفتم.