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

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
📕 کتاب REST API Design Rulebook

📌 فصل اول: معرفی (Introduction)

📍پارت: دوم

#کتاب

💎 معماری وب 💎

در اواخر سال ۱۹۹۳، "روی فیلدینگ"، یکی از بنیان‌گذاران پروژه سرور HTTP آپاچی، نگران مشکل مقیاس‌پذیری وب شد.
بعد از تحلیل، فیلدینگ متوجه شد که مقیاس‌پذیری وب تحت تأثیر یه سری محدودیت‌های کلیدی قرار داره. اون و دیگران تصمیم گرفتن که با یه رویکرد عملیاتی، وب رو بهبود بدن: باید همه این محدودیت‌ها رو به‌صورت یکسان برآورده کنن تا وب بتونه به گسترش خودش ادامه بده.
فیلدینگ این محدودیت‌ها رو به شش دسته تقسیم کرد و به مجموعه این دسته‌ها "سبک معماری وب" گفت:

۱. کلاینت-سرور (Client-server)
۲. رابط یکپارچه (Uniform interface)
۳. سیستم لایه‌ای (Layered system)
۴. کش (Cache)
۵. بدون حالت (Stateless)
۶. کد به‌صورت درخواستی (Code-on-demand)

1️⃣ کلاینت-سرور (Client-server)
موضوع اصلی محدودیت‌های کلاینت-سرور در وب، جداسازی وظایف است. وب یک سیستم مبتنی بر کلاینت-سرور است که در آن کلاینت‌ها و سرورها نقش‌های مجزا و مشخصی دارند. این بخش‌ها می‌توانند به‌صورت مستقل پیاده‌سازی و مستقر شوند، با استفاده از هر زبان یا فناوری، به شرطی که با رابط یکنواخت وب سازگار باشند.

2️⃣ رابط یکپارچه (Uniform interface)
تعاملات بین اجزای وب، یعنی کلاینت‌ها، سرورها و واسطه‌های مبتنی بر شبکه، به یکنواختی رابط‌هایشان بستگی دارد. اگر هر یک از این اجزا از استانداردهای تعیین‌شده خارج شوند، سیستم ارتباطی وب دچار اختلال می‌شود.
اجزای وب در چارچوب چهار محدودیت رابط یکنواخت که فیلدینگ شناسایی کرده است، به‌طور سازگار با هم کار می‌کنند:

1- شناسایی منابع
2- دستکاری منابع از طریق نمایه‌ها
3- پیام‌های خودتوصیفی
4- هایپرمدیا به عنوان موتور حالت برنامه (HATEOAS)


1- شناسایی منابع
هر مفهوم مجزای مبتنی بر وب به عنوان یک منبع شناخته می‌شود و می‌تواند با یک شناسه یکتا، مثل URI، مورد خطاب قرار گیرد. برای مثال، یک URI خاص مثل http://www.google.com منحصراً به مفهوم ریشه‌ی یک وبسایت خاص اشاره دارد.

2- دستکاری منابع از طریق نمایه‌ها
کلاینت‌ها نمایه‌های منابع را دستکاری می‌کنند. یک منبع مشخص می‌تواند به شکل‌های مختلف برای کلاینت‌های مختلف نمایه شود. مثلاً، یک سند ممکن است به‌صورت HTML به یک مرورگر وب نمایش داده شود و به‌صورت JSON به یک برنامه خودکار. ایده کلیدی این است که نمایه‌ها راهی برای تعامل با منبع هستند، اما خود منبع نیستند. این تمایز مفهومی اجازه می‌دهد که منبع به روش‌ها و فرمت‌های مختلف نمایه شود بدون اینکه شناسه‌اش تغییر کند.

3- پیام‌های خودتوصیفی (Self-denoscriptive)
وضعیت مورد نظر یک منبع می‌تواند در پیام درخواست کلاینت نمایه شود. وضعیت کنونی منبع ممکن است در پیام پاسخ سرور که بازمی‌گردد، نمایش داده شود. به‌عنوان مثال، یک ویرایشگر صفحه ویکی ممکن است از پیام درخواست برای انتقال یک نمایه که پیشنهاد یک بروزرسانی صفحه (وضعیت جدید) برای یک صفحه وب مدیریت‌شده توسط سرور است، استفاده کند. سرور تصمیم می‌گیرد که درخواست کلاینت را بپذیرد یا رد کند.

4- هایپرمدیا به عنوان موتور حالت برنامه (HATEOAS)
نمایش وضعیت یک منبع شامل لینک‌هایی به منابع مرتبط هست. لینک‌ها مثل نخ‌هایی هستند که وب رو به هم متصل می‌کنن و به کاربرا این امکان رو می‌دن که به صورت معنادار و هدفمند بین اطلاعات و برنامه‌ها حرکت کنن. وجود یا نبودن یه لینک روی یک صفحه، بخش مهمی از وضعیت فعلی اون منبعه.

3️⃣ سیستم لایه‌ای (Layered system)
محدودیت‌های سیستم لایه‌ای این امکان رو می‌ده که واسطه‌های مبتنی بر شبکه مثل پروکسی‌ها و درگاه‌ها، به‌صورت شفاف بین کلاینت و سرور مستقر بشن و از رابط یکنواخت وب استفاده کنن. به‌طور کلی، یه واسطه مبتنی بر شبکه برای یه هدف مشخص ارتباط کلاینت و سرور رو رهگیری می‌کنه. این واسطه‌ها معمولاً برای اجرای امنیت، کش کردن پاسخ‌ها و متعادل کردن بار ترافیکی استفاده می‌شن.

4️⃣ کش (Cache)
کش کردن یکی از مهم‌ترین محدودیت‌های معماری وب هست. محدودیت‌های مربوط به کش به سرور وب می‌گن که باید قابلیت کش شدن داده‌های هر پاسخ رو مشخص کنه. کش کردن داده‌های پاسخ می‌تونه به کاهش تأخیر احساس‌شده توسط کاربر، افزایش دسترسی‌پذیری و قابلیت اطمینان یک برنامه، و کنترل بار سرور وب کمک کنه. به طور خلاصه، کش کردن هزینه کلی وب رو کاهش می‌ده.
کش می‌تونه در هر جایی از مسیر شبکه بین کلاینت و سرور وجود داشته باشه. این کش‌ها ممکنه در شبکه سرور وب یک سازمان، داخل شبکه‌های تحویل محتوای تخصصی (CDNها) یا حتی داخل خود کلاینت باشن.
ضمن خوش آمد گویی به دوستانی که تازه به جمعمون اضافه شدن 🌹، باید بگم که ما هر روز بخشی از خلاصه کتاب REST API Design Rulebook رو داخل کانال منتشر میکنیم و میتونید مطالعه کنید.

فایل PDF هم قبلا آپلود شده، فقط کافیه سرچ بزنید 🔎

از هشتگ #کتاب هم میتونید استفاده کنید برای دسترسی سریعتر #️⃣

استفاده کنید 😄❤️
Forwarded from Syntax | سینتکس (Petres)
Consumer data platform

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

همه اینا با استفاده از Customer data platform(CDP) انجام میشه.

تو این وب سایت میتونید دربارش اطلاعات بیشتری بدست بیارید:
https://revium.com.au/blog/what-is-segment-cdp

#CDP

@Syntax_fa
👍1
Forwarded from TechTube 𝕏 تک توب
اپ مدیریت پسورد محبوب Bitwarden اپدیت جدیدش رو با رابط کاربری جدیدی عرضه کرده که از نسخه قبلی روانتر و سریعتره، علاوه بر این طراحی شکیل تری داره.

نسخه های قبلی این اپ بر پایه فریمورک دات نت MAUI بودن که فریمورکی برای توسعه اپهایی با پشتیبانی از سیستم عاملهای مختلف هست اما اپهای ساخته شده با این پلتفرم عمدتا روان نیستن و از المان های Native هر سیستم عامل استفاده نمیکنن.

حالا بیت واردن چند ماه پیش تصمیم گرفت که اپهاش رو برای هر سیستم عامل با زبان بهینه اون یعنی سویفت برای iOS و کاتلین برای اندروید بازنویسی کنه و اپهای Native منتشر کنه.

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

🔗 دانلود نسخه iOS بیت واردن

🔗 دانلود نسخه اندروید بیت واردن (هنوز دارای رابط جدید نیست)

🔎 bitwarden

📍 @TechTube
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)
توی کانال های نخونده تلگرام یوهو اسم بیت واردن و دیدم چشام تیز شد. تو دلم گفتم الان نگه هک شده یا ...
اما نه بیت واردن کارش درست تر از این حرفاس!
اگر دنبال پسورد منیجر رایگان و خوب و امن میگردید بیت واردن جزو خوباس و سینکش هم رایگان هست. حتی هزینه دلاری اشتراکش هم اونقدری گرون نیست از قدیم یادمه.

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


واقعاً از برخی از دوستان در عجبم در این زمینه.


برای داشتن دسترسی ریشه داخل برنامه‌های کی‌دی‌ای از جمله دلفین باید بسته kio-admin رو نصب کنید.

بعدش توی میله مکان (location bar) بنویسید:
admin:///



@SohrabContents
Forwarded from کداکسپلور | CodeExplore (Amin)
📚دوستان حتما کتاب Clean Code رو بخونین و قبلاً هم براتون PDFش رو قرار دادیم براتون ( راستی اگه انگلیسیتون خوب نیست ، نسخه ترجمه شدشو هم قرار دادیم ) و خلاصه می‌خوام بگم اگه حوصله خوندن این کتاب رو ندارین ( که امیدوارم داشته باشید 😅 ) میتونین تو ریپازیتوری زیر خلاصشو بخونید و نکات مهمی که گفته شده رو بهره مند بشید🤍

🌐 https://github.com/JuanCrg90/Clean-Code-Notes

🔥🔥🔥🔥🔥🔥🔥🔥

🙂 پایین لینک نسخه اصلی و ترجمه شده ی خود کتاب Clean Code رو قرار میدم:

👍 نسخه انگلیسی کتاب Clean Code

👍 نسخه ترجمه شده ی کتاب Clean Code

#clean #code #book #pdf #point
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Code Module | کد ماژول (genix)
ماژول perf_hooks چیکار میکنه؟ ⚡️

ماژول perf_hooks در Node.js یک ابزار قدرتمند برای نظارت بر عملکرد و بهینه سازی هست. این یک رابط برای اندازه‌گیری عملکرد عملیات مختلف در یک برنامه ارائه میکنه و دولوپر ها رو قادر میسازه تا Bottleneck رو شناسایی، کد رو بهینه و معیارهای کلیدی مثل تاخیرهای حلقه رویداد، زمان‌های اجرای عملکرد و موارد دیگه رو نظارت کنن.

ماژول «perf_hooks» در درجه اول بر روی اندازه‌گیری‌های عملکرد با وضوح بالا تمرکز داره. مثلا با استفاده از روش «performance.now()»، دولوپر ها میتونن فواصل زمانی دقیق تا میکروثانیه رو اندازه‌گیری کنن که برای ردیابی مدت زمان انجام عملیات خاص مفید هست.

- مثال:

     const { performance } = require('perf_hooks');
const start = performance.now();
// Execute some code here
const end = performance.now();
console.log(`Execution took ${end - start} milliseconds.`);


به صورت کلی ماژول perf_hooks ابزارهای ضروری رو برای درک و بهینه سازی عملکرد برنامه به دولوپر های Node.js، ارائه میده. با ارائه معیارهای دقیق در زمان‌بندی، تاخیرهای حلقه رویداد و استفاده از حافظه، به دولوپر ها کمک میکنه تا مشکلات عملکرد رو تشخیص داده و کارایی برنامه رو افزایش بدن. برای اطلاعات بیشتر به داکیومنت این ماژول مراجعه کنید.

#nodejs
@CodeModule
اگر تا امروز موفق به نصب نسخه تست‌فلایت اپ #هیدیفای در #آیفون نشدین، از طریق لینک زیر اقدام کنین:

👉 https://testflight.apple.com/join/URrT6ZWm

🔍 ircf.space/software.php
@ircfspace
اگر تا امروز موفق به نصب نسخه تست‌فلایت اپ #هیدیفای در #آیفون نشدین، از طریق لینک زیر اقدام کنین:

👉 testflight.apple.com/join/URrT6ZWm

🔍 ircf.space/software.php
@ircfspace
Forwarded from IRCF
این‌ابزار کاربردی امکان اصلاح کانفیگ‌های Vless/Vmess پشت CDN رو با استفاده از رنج آی‌پی‌های کلودفلر یا آی‌پی‌های موردنظر فراهم میکنه.

👉 seramo.github.io/v2ray-config-modifier
💡 github.com/seramo/v2ray-config-modifier
© seramo_ir

🔍 ircf.space
@ircfspace
Forwarded from CleverDevs (Mammad)
کامند های artisan توی لاراول 11

#php #laravel
@CleverDevs - @CleverDevsGp
Forwarded from CleverDevs (Mammad)
Forwarded from CleverDevs (Mammad)
Forwarded from CleverDevs (Mammad)
Forwarded from CleverDevs (Mammad)
تغییرات جدید برای پلاسما ۶.۲

این هفته در پلاسما

https://pointieststick.com/2024/09/07/this-week-in-plasma-stabilization-for-6-2/

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


@SohrabContents
Forwarded from Linuxor ?
اینارو بعدا قراره خیلی توی خونه ها ببینید.


بهشون میگن Mesh مِش، کارشون افزایش ناحیه تحت پوشش سیگنال Wi-Fi هست. مثلا اگه یه خونه با متراژ خیلی بزرگ دارید یه مودم اگه همه نقاط خونه رو آنتن نده، میتونید بجای تنها یک مودم اصلی، توی هر نقطه از خونه یه مش بزارید، مش ها بی سیم یا باسیم به هم دیگه وصل میشن و باعث میشن کل خونه Wi-Fi آنتن بده.


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


🐧 @Linuxor
‏هک کردن با ابزار های کالی لینوکس قبول نیست :(
آدم باید یاد بگیره خودش نفوذ کنه
کی برسه اون روز :(

<ولمار/>

@DevTwitter
This media is not supported in your browser
VIEW IN TELEGRAM
#javanoscript #web_design

توی این ویدیو بهتون یاد میدم که خیلی ساده با چند خط کد جاوااسکریپت از این کاردای سه بعدی خفن بسازید که با حرکت موس کاربر افکتای سه بعدی بهش اعمال بشه و تجربه خفنی رو برای کاربر رقم بزنه 🤩⚡️

لینک ریپازیتوری گیت‌هاب پروژه

Channel | YouTube | Instagram