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
معماری‌های نرم‌افزاری در حوزه برنامه‌نویسی بسیار متنوع هستند و هر کدام با تمرکز بر اهداف، نیازها و شرایط خاصی به‌کار می‌روند.
در این پست، تعدادی از معماری‌های پرکاربرد را میگم و توضیح می‌دهم که روی چه حوزه‌ای متمرکزند، کجا استفاده از آن‌ها مناسب هست و کجا بهتر استفاده نشه.

—————————————————
معماری لایه‌ای (Layered Architecture)

تمرکز:تفکیک مسئولیت‌ها بر اساس لایه‌های منطقی (Presentation، Business، Data Access).

استفاده ش: سیستم‌های کلاسیک سازمانی که ساختار ساده و قابل پیش‌بینی می‌خوان؛ وقتی که تیم توسعه با رویکرد سنتی آشنا و نیاز به شفافیت بین لایه‌ها داریم

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

—————————————————
معماری سرویس‌گرا(Service Oriented Architecture - SOA)

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

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


—————————————————
معماری مایکروسرویس (Microservices Architecture)
تمرکز:
تقسیم سیستم به سرویس‌های کوچک، مستقل و قابل استقرار جداگانه که از طریق APIهای سبک (مثل rest api) با هم در ارتباطند
کجا استفاده کنیم:
در سیستم‌هایی با مقیاس بزرگ که نیاز به انتشار و تغییرات سریع دارند، تیم‌های توسعه جداگانه روی بخش‌های مختلف کار می‌کنن و بخش‌های مختلف سیستم باید به شکل مستقل مقیاس‌پذیر باشن. ولی مواظب باشین که تعدادش یهو نره بالا که از اونور(نگهداریش) به دردسر میفتین
کجا استفاده نکنیم:
در پروژه‌های کوچک یا تیم‌های کم تجربه که نگه‌داشت و هماهنگی بین تعداد زیاد سرویس‌های مستقل می‌تواند سخت باشه. همچنین اگر نیازمندی‌ها ساده است و تغییرات کم هستند، مایکروسرویس می‌تواند پیچیدگی غیرضروری ایجاد کند


—————————————————
معماری رویداد-محور (Event-Driven Architecture)
تمرکز:
تبادل اطلاعات و واکنش سرویس‌ها بر اساس Eventها و پردازش ناهمزمان.
کجا استفاده کنیم:
در سیستم‌هایی که رویدادها و اتفاقات به صورت لحظه‌ای رخ میدن، نیاز به پاسخ آنی و مقیاس‌پذیری بالا دارن (مثل سیستم‌های IoT، بازی‌های آنلاین، پردازش تراکنش‌های لحظه‌ای).
کجا استفاده نکنیم:
در سیستم‌هایی که روابط همزمان، قوی و فرآیندهای خطی و ساده دارند و افزایش پیچیدگی به واسطه پیام‌ها و صف‌ها ارزش افزوده‌ای ندارد. کلا هرجایی که حرف از stream و online بودن معنی نداره

—————————————————
معماری تمیز (Clean Architecture)،
شش ضلعی (Hexagonal) یا پیازی (به قول یکی از بچه ها پوست پیازی) (Onion)

تمرکز:
جداسازی منطق کسب‌وکار از جزئیات زیرساختی و رابط کاربری، تا بشه منطق اصلی را مستقل از تکنولوژی‌ها و فریم‌ورک‌ها نگه داشت. البته تو جزئیات باهم تفاوت هایی دارن
کجا استفاده کنیم:
در پروژه‌های بلندمدت و پیچیده که پایداری منطق کسب‌وکار مهم است و ممکن است نیاز باشد فناوری‌های زیرساختی طی زمان تغییر کنند. یعنی مثلا یهو از SQL Server بخواین سوییچ کنین به mongoDb بی دلیل!:)
کجا استفاده نکنیم:
در پروژه‌های سریع و کوچک با نیازهای ساده که ایجاد این سطح از انتزاع ممکنه زمانی که دارین را هدر بده و پیچیدگی غیرضروری اضافه کنه یه چیزی درست کردین هی کپی پیست نکنین تو پروژه های مختلف همچین کاری از یه جایی به بعد شمارو تبدیل میکنه به کدنویس نه برنامه نویس
@DevTwitter | <MahDi/>
دوره پیشرفته جاوا اسکریپت به شما کمک می‌کند تا مفاهیم پیچیده و پیشرفته این زبان محبوب را درک کنید و مهارت خود را به سطح جدیدی ببرید. این دوره شامل موضوعاتی مانند Generators، Iterators، Maps، و پروژه‌های عملی است که دانش تئوری را به کاربرد عملی متصل می‌کند.

مشاهده دوره در کانال نیکول وب:

https://youtube.com/playlist?list=PLbZbuOkDeba8zDIG2GleE6bVQ8AbW2APN&feature=shared

@DevTwitter | <Mohammadreza/>
Forwarded from nova-account (Mohammad Hossein)
“فریم‌ورک لاراول”
این هفته نسخه بتای اکستنشن رسمی لاراول برای VS Code منتشر میشه.
الان یه نگاهی انداختم به این سایت اول اینکه خب آدرسش عوض شده
دوم اینکه چقدر کامل شده

شدید پیشنهاد میکنم که اصلا از دستش ندید


آدرس: https://cheatsheets.zip/

#cheatsheets #نکتک

@PhiloLearn
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 پاول دروف اعلام کرد که در سال ۲۰۲۴ حدود ۱۵٫۴ میلیون گروه و کانال مرتبط با محتواهای آسیب‌زا مانند محتواهای کلاهبرداری و تروریسم را حذف کرده است.

پاول دروف تأیید کرد که پاکسازی این پلتفرم از گروه‌ها و کانال‌های آسیب‌زا با کمک ابزارهای پیشرفته‌ی هوش مصنوعی تقویت شده است.

#خبر

@TheRaymondDev
چند وقتی درگیر راه اندازی یه کلاستر ELK بودم و برای نگهداری snapshot ها باید از minio استفاده می کردیم.
یه ریپو درست کردم که براتون یه کلاستر الستیک با nginx و minio بالامیاره و می تونین ازش استفاده کنین

https://github.com/zaaferani/elk-nginx-s3

@DevTwitter | <حسن زعفرانی/>
Forwarded from Geek Alerts
نسخه جدید Grok اومد.
۳ برابر سریع‌تر، دقیق‌تر و بهبود ویژگی چند زبانه.
برای توسعه‌دهنده‌ها، مدل‌های grok-2-1212 و grok-2-vision-1212 رو با قیمت ۲ دلار برای ۱ میلیون توکن دادن.
https://x.com/i/grok
https://x.ai/blog/grok-1212
@geekalerts
This media is not supported in your browser
VIEW IN TELEGRAM
برای اضافه کردن کد به سایت، به جای نصب افزونه، می‌تونیم از روش استاندارد وردپرس یعنی Child Theme استفاده کنیم. افزونه یکبارمصرف Child Theme Configurator می‌تونه «پوستهٔ فرزند» بسازه و تنظیمات پوسته فعلی رو کامل انتقال بده و بعدش هم میشه حذفش کرد!
https://wordpress.org/plugins/child-theme-configurator/

@DevTwitter | <Yashar Shahi/>
سرویس #کلودفلر در بررسی سالانه ۲۰۲۴ برای ایران به بررسی الگوها و روندهای اینترنت از نگاه شبکه خودش پرداخته و یافته‌های کلیدی رو به‌طور عمومی به اشتراک گذاشته.

خلاصه‌ای از این #‌گزارش:
🔹 گوگل، اینستاگرام و فیس‌بوک، ۳ سرویس محبوب در ایران بر اساس داده‌های جمع‌آوری شده از ۱.۱.۱.۱ هستن و واتس‌اپ در رتبه هفتم و ایتا در رتبه نهم قرار گرفته
🔹 گوگل با ۹۹.۲ درصد، محبوب‌ترین موتور جستجو در ایران بوده و بینگ، یاندکس، یاهو و داک‌داک‌گو به ترتیب در جایگاه‌های بعدی قرار دارن
🔹 کروم با ۷۹.۱ درصد محبوب‌ترین مرورگر در ایران بوده و فایرفاکس، سافاری، سامسونگ‌اینترنت و اج در جایگاه‌های بعدی هستن
🔹 ۲۶ مگابیت بر ثانیه، میانگین سرعت دانلود در اینترنت ایران بوده، که ۱۸ درصد از کاربران سرعت دانلود کمتر از ۵ مگابیت دارن
🔹 ۵۸ درصد از کاربران در ایران سرعت آپلود کمتر از ۵ مگابیت بر ثانیه دارن
🔹 ۱۳۰ میلی‌ثانیه تاخیر، میانگین Latency در اینترنت ایران هست
🔹 ۱۵.۱ درصد از اتصالات TCP در ایران در ۱۰ پکت اول از طریق ریست یا تایم‌اوت قطع میشن
🔹 ۶ درصد از ترافیک در ایران از طریق دستگاه‌های موبایل و ۹۴ درصد مربوط به دسکتاپ هست
🔹 در میان دستگاه‌های موبایل اندروید و iOS، به میزان ۷.۷ درصد از ترافیک مربوط به iOS و ۹۲.۳ درصد مربوط به Android میشه
🔹 ۴.۲ درصد از ترافیک دوگانه‌استک در ایران از طریق IPv6 بوده و ۹۵.۸ درصد به IPv4 تعلق داره
🔹 ۱.۸ درصد از ترافیک TLS 1.3 در ایران از رمزنگاری پساکوانتومی استفاده می‌کنه
🔹 ۱.۴ درصد از ترافیک ایران از HTTP/3 استفاده کرده و ۱۱ درصد مربوط به HTTP/2 و ۸۷.۶ درصد مربوط به HTTP/1.x هست
🔹 اوج ترافیک اینترنت در ایران ۲۱.۸ درصد رشد داشته، اما ۲.۴ درصد از ترافیک ایران در سال ۲۰۲۴ کاهش یافته
🔹 ۵.۲ درصد از ترافیک جهانی ربات‌ها از ایران میاد، که ۶۰.۳۳ درصد تراکم فعالیت اون‌ها از طریق ایرانسل و ۱۸.۴۵ درصد از طریق همراه اول بوده و رایتل، آسیاتک، مبین‌نت و ... در جایگاه‌های بعدی قرار دارن
🔹 سازمان‌های هنری/سرگرمی/تفریحی با ۶۱.۵ درصد، بیشترین هدف حملات سایبری از ایران هستن و دولت‌ها با ۱۷.۳ درصد در جایگاه دهم از این‌حملات قرار دارن
🔹 اثرگذاری اینترنت استارلینک در ایران درحال گسترش هست

گزارش کامل:
👉 radar.cloudflare.com/year-in-review/2024/ir

🔍 ircf.space
@ircfspace
طی یک حرکت از روی کنجکاوی شروع کردم به گشتن دنبال یک api رایگان از مدل های Llama و رسیدم به سایت OpenRouter و از آن پس تصمیم گرفتم که یک افزونه برای مرورگر کروم بنویسم که متن یک صفحه ی وب را استخراج کند و در صورت لزوم آن را یا به زبان فارسی ترجمه کند یا خلاصه کند و یا هم ترجمه و هم خلاصه را هم زمان انجام دهد و اگر لازم شد متن اصلی به همراه متن پردازش شده به شکل یک فایل markdown ذخیره شود.

همانطور که گفتم من توانایی ای در جاوااسکریپت ندارم پس دست به دامان هوش مصنوعی claud شدم تا توانستم این افزونه را بسازم.

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

https://github.com/Hr-ArshA/Web-Page-Text-Processor


#پروژه #fun #ai #هوش_مصنوعی

@PhiloLearn
مردم چیزای مفید میسازن
اونوقت من میشینم با هوش مصنوعی بازی میکنم تا یه اسباب بازی دیگه بسازم برای خودم😂😂🤦🏻‍♂️
Forwarded from Geniuses Group (Omid Hekayati)
تو مو بینی و مجنون پیچش مو ( شعری از وحشی بافقی » فرهاد و شیرین)
در ادامه پست تبیین کلمه معماری و معمار، قبل از اینکه به کلمات بعدی مهم در این مسیر یعنی ساختار و چارجوب بپردازیم، چند مثال عینی تر را با هم بررسی کنیم که کمی بهتر بفهمیم اون فرآیندهای طراحی و ساخت سیستم که گفتیم چی هستند. و چقدر این ضرب المثل ابتدای پست، برای درک چرایی فهم عمیق موضوعات دلچسب هست.

با دو مثال کامپیوتری شروع کنیم.
- شاید در نگاه اول CDN ها مثل microservice خیلی جذاب و خوب باشند ولی در واقعیت به پیچیدگی هایی که به سیستم های نرم افزاری اضافه می کنند واقعا نمی ارزند! اگر با نگاه کامل بررسی کنی مصداق بارز ضرب المثل "تو مو میبینی، من پیچش مو" هست واقعا. مثلا این مقاله را بخونید. شاید در نگاه اول بگیم خوبه که داده در نزدیک ترین سرور به کاربر serve بشه ولی در عمل میبینیم که ما با برون سپاری یکسری از کارها عملا مجبوریم کلی نیازمندی دیگه را هم برون سپاری کنیم مثلا نیاز داریم بدونیم چه کاربری از کجا درخواست داده، چی درخواست داده، جواب اون سرور بهش چی بوده و ... خوب اینجا مشکلات شروع میشه. اول که هرگونه مشکلی در سیستم سازمان برون سپاری شده بوجود بیاد روی سیستم ما تاثیر میذاره! از این گذشته برون سپاری انجام شده شاید در نگاه اول با هزینه کمتر، کارکرد بهتری را برای ما به ارمغان بیاره ولی واقعیت قطعا چیز دیگری هست. سیستم برون سپاری شده برای دیگر نیازمندی های ما مصداق بارز دیگر ضرب المثل فارسی یعنی "خر را میارند پای بار" (ردِّ پای ریشه ی اصطلاحاتِ عامیانه، در شاهنامه ی فردوسی - که گر خر نیاید به نزدیک بار/ تو بار گران را به نزد خر آر) می باشد، که بجای بودن منطق پردازشی، مورد نیاز داده تولید شده در سرور مرتبط، سازمان برون سپاری مجبور میشه داده را با هزینه گزاف به سرور ما برسونه! یادمون باشه این هزینه شامل زمان هم میشه، یعنی ما با قطعا با تاخیر داده را بدست میاریم فارغ از اینکه ممکنه اصلا بدست نیاریم!
یادمون باشه مفهوم بالا که بهتره منطق بره جایی که داده تولید میشه موضوعی مهم در stream processing هست و می تونید با این عبارت کلیدی بیشتر بخونید.
اگر هم دنبال راه حل هستید که چجوری به اون نیازمندی اصلی که CDN بهمون ارائه میده را حل کنیم درک فهم edge computing و حل مشکلات مرتبط با این موضوع با unikernel ها می تونه گزینه به شدت خوبی باشه.
- اگر ما با عبارت "مرجع تسویه" در سیستم های مالی آشنا نباشیم اصولا دنیای متفاوتی از درک سیستم های مالی خواهیم داشت و نوع نگاه و مدل کردن ما به شدت متفاوت خواهد بود. یعنی سیستمی را طوری معماری می کنیم که شاید در نگاه اول سیستم مالی (مو) باشد ولی در عمل ظرافت های مورد نیاز یک سیستم مالی (پیچش مو) را نخواهد داشت.

یک مثال هم از دنیای ساختمان (عمارت های انسانی) بزنیم.
اگر ما قصد طراحی سیستم تاسیساتی یک ساختمان را داشته باشیم عدم آشنایی ما با عبارت "پمپ حرارتی" و استفاده از مفاهیم تجاری مثل "کولر گازی" دنیای ذهنی کاملا متفاوتی را برای ما میسازه و نمی تونیم درک درستی از عملکرد سیستم های پمپ حرارتی داشته باشیم. برای درک درست هم در عبارت "پمپ حرارتی" باید بدونیم حالتی از "انرژی" هست و کلی قوانین مرتبط هست که ما باید در خصوص انرژی برای معماری یک سیستم بر پایه این کلمه بدونیم.


پ.ن:
- بنظرم cloudflare به اشتباه به نیازمندی های سطح auditing میگه log! اگر بخوایم این مدل به هر data model یا data field که در سیستم برای توسعه دهنده ها ایجاد میشه از صفت log استفاده کنیم عملا داده هایی مثل metric هم میرن در زیر دسته log ها که بنظرم صحیح نیست. بنظرم log ها را فقط برای ثبت خطاهای سیستمی استفاده کنیم، هر چند بهتره کلا این کلمه دارای برداشت چندگانه را کنار بذاریم.
- دلیل اشاره به پست کلادفلر، این نوشته یکی از دوستان در لینکدین بود. و دلیل بعضی از دیگر مثال ها گفت و گو در زیر این پست کامیونیتی DDD
کاش شرکت ما هم تعطیل بود فردا
کونمون یخ زد خداوکیلی

@DevTwitter
Forwarded from Yasha
Forwarded from Yasha
This media is not supported in your browser
VIEW IN TELEGRAM
خلاصه که حتما حواستون باشه به این مورد

⚠️ خطر سوختن وسایل صوتی ⚠️

#️⃣ #fun

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
Forwarded from Accio
Forwarded from Accio
https://posting.sh/ | In terminal API client
It's keyboard driven and supports vim keys as well. Not the smoothest experience but still better than constantly switching between coding and fiddling with postman
Forwarded from Meitix
ا owasp یه سری استاندارد امنیتی داره که برای داشتن برنامه امن باید رعایت کنیم.

1. Broken Access Control 🔓

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



2. Cryptographic Failures 🔐

وقتی اطلاعات حساس درست قفل نشده باشه.
مثال: سایتی که اطلاعات بانکی شما رو ساده ذخیره کنه (مثلاً: 1234 5678 9012 3456) یا به جای HTTPS از HTTP استفاده کنه.



3. Injection 💉

وقتی هکر بتونه کدهای خودش رو بفرسته توی برنامه شما و اجراش کنه. مثل حملات sql/ shell injection


4. Insecure Design 🏗️

وقتی از اول سیستم رو اشتباه طراحی کرده باشی و امنیت توش لحاظ نشده باشه.
مثال: اپلیکیشنی که پسوردهای کاربرا رو بدون محدودیت طول و پیچیدگی قبول می‌کنه، مثل اینکه یکی پسوردش رو 1234 بذاره.



5. Security Misconfiguration ⚙️

وقتی تنظیمات سایت یا سرور درست انجام نشده باشه.
مثال: یه وب‌سایتی که به همه اجازه بده فایل‌های سرورش رو ببینن (مثلاً /config/settings رو باز کنی و اطلاعات حساسی ببینی).



6. Vulnerable and Outdated Components 🧩

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



7. Identification and Authentication Failures 🔑

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



8. Software and Data Integrity Failures 🛠️

وقتی داده‌ها یا به‌روزرسانی‌ها امن نیستن و قابل تغییرن.
مثال: یه اپلیکیشن که آپدیت‌های خودش رو از منابع غیرقابل اعتماد بگیره و هکر بتونه تو اون آپدیت کدهای مخرب بذاره.


9. Security Logging and Monitoring Failures 📋

وقتی سیستم نتونه اتفاقات مشکوک رو ثبت و پیگیری کنه.
مثال: هکری که وارد سایت بشه و کسی متوجه نشه چون سیستم ثبت وقایع نداره.


10. SSRF 🕵️

وقتی هکر سرور رو مجبور کنه که به جای اون، درخواست ارسال کنه.
مثال: کاربر باید URL تصویر را وارد کند: https://example.com/image.jpg.

هکر به جای URL معمولی، یک آدرس داخلی وارد می‌کند: https://localhost/admin.

چون این درخواست از طرف سرور میاد، ممکنه به اطلاعات حساس مثل پنل ادمین دسترسی پیدا کنه.
Forwarded from Md Daily (Mahan)
چند وقت پیش دنبال یه اپ حسابداری بودم که کار اصلیشو فقط یعنی ثبت هزینه و در آمد به دور از هرگونه پچیدگی انجام بده :)

چیزی که میخواستم رو پیدا نکردم،‌ پس تصمیم گرفتم منم نسخه ی خودم رو بسازم 🤷‍♂️

پس پروژه ی md fnancial رو استارت زدم. فعلا کار اصلیش یعنی ثبت هزینه و در آمد رو انجام میده و بهتون مجموعش رو نشون میده ولی خب هنوز خیلی کار داریم. با فلاتر نوشته شده و برای دیتابیس از ObjectBox استفاده میکنه، به زودی سینک با فضا های ابری هم بهش اضافه میشه و خروجی پلفتورم های مختلف رو ازش میگیرم.

رود مپ پروژه رو تو گیت هاب گذاشتم و آروم آروم داره جلو میره. خوشحال میشم ایده ها و پیشنهادتتونم بشنوم .

🔗 https://github.com/mdpe-ir/md_financial

🆔 @MdDaily