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
‏برای من که OSINT جزو کارهای روتین نیست و هرزگاهی به آن نیاز پیدا می کنم، طبیعتا سایتی مثل OSINT Investigation Assistant که براساس موضوعات مختلف، ابزارها و سرویس‌های مختلف را لیست کرده است، در زمان برای رسیدن به هدفم، صرفه‌جویی می کند.
lambda.black/osint.html

@DevTwitter | <Vahid Nameni/>
#Javanoscript

ایا میدانستید وقتی دارید یک پریمیتیو رو وقتی وارد یک متغیر میکنید دارید فقظ ولیو رو کپی میکنید؟ و وقتی دارید یک ابجت رو وارد متغیر دیگه میکنید دارید رفرنس ریترن میکنید؟و در heap جایگاه دو ابجکت باهم یکیه؟


@DevTwitter | <Fazeli Dev/>
#Javanoscript

‏از بین روش های گرفتن خروجی در جاوا اسکریپت پرکاربردترینش برای من innerHTML، جالب ترینش document.write() و window.alert() و گیج کننده ترینش که وقت زیادی برای درک بهترش گذاشتم console.log() بود.

@DevTwitter | <Saharsojoodi/>
Forwarded from Meitix (Meiti)
شعر فارسی تو یه لیگ دیگه خوبه، اصن یه جای دیگه است، نمونه اش:

شیخِ ما دِلتَنگِ یار بود،
به خانه یار رِسید،
قَدَّش به پَنجره نَرِسید
سَرِ خویش بُرید و زیرِ پا نَهاد و قَدَّش بِرِسید
معشوق تماشا کرد...

تذکرة‌ اولیا
📕 کتاب REST API Design Rulebook

📌 فصل دوم: Identifier Design with URIs

📍پارت: چهارم

#کتاب

💎 URI Path Design 💎
هر قسمت از مسیر URI که با اسلش (/) جدا می‌شه، یه فرصت طراحی حساب می‌شه. اگه به هر قسمت از مسیر یه ارزش معنی‌دار بدیم، می‌تونیم ساختار سلسله‌مراتبی منابع یه REST API رو بهتر نشون بدیم.

شکل 2-1 با استفاده از نشانه‌گذاری WRML نشون می‌ده که چطور طراحی مسیر URI با مدل منابعی که ارائه می‌ده ارتباط داره.

این بخش قوانینی رو ارائه می‌ده که مربوط به طراحی مسیرهای URI معنی‌دار هستن.

⭕️ برای نام‌گذاری اسناد باید از اسم مفرد استفاده بشه.
یه URI که نمایانگر یه سند هست، باید توی قسمت مسیر از یک اسم یا عبارت اسمی مفرد استفاده کنه.

مثال: URI برای یه سند مربوط به یک بازیکن به شکل مفرد خواهد بود:

http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players/claudio


⭕️ برای نام‌گذاری کالکشن ها باید از اسم جمع استفاده بشه.
‏URI که یه مجموعه رو شناسایی می‌کنه، باید توی قسمت مسیر از اسم یا عبارت اسمی جمع استفاده کنه. نام کالکشن باید طوری انتخاب بشه که نشون بده چه چیزهایی به‌صورت یکسان داخلش قرار داره.

مثال: URI برای یه مجموعه از اسناد بازیکنان از فرم جمع اسم منابع استفاده می‌کنه:

http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players


⭕️ برای نام‌گذاری Store ها هم باید از اسم جمع استفاده بشه. URI که یه Store رو شناسایی می‌کنه، باید توی قسمت مسیر از اسم یا عبارت اسمی جمع استفاده کنه.

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

http://api.music.restapi.org/artists/mikemassedotcom/playlists


⭕️ برای نام‌گذاری کنترلر باید از یک فعل یا عبارت فعلی استفاده بشه، درست مثل عملکرد یه تابع در برنامه‌نویسی. URI که یه منبع کنترلر رو شناسایی می‌کنه، باید به‌طوری نام‌گذاری بشه که نشون‌دهنده‌ی عملی باشه که قراره انجام بشه.

مثال‌ها:
http://api.college.restapi.org/students/morgan/register
http://api.example.restapi.org/lists/4324/dedupe
http://api.ognom.restapi.org/dbs/reindex
http://api.build.restapi.org/qa/nightly/runTestSuite


⭕️ بعضی از بخش‌های مسیر URI ثابت هستند؛ یعنی اسم‌های مشخصی دارن که توسط طراح REST API انتخاب می‌شن. اما بقیه بخش‌های مسیر متغیر هستن، یعنی به‌طور خودکار با یه شناسه پر می‌شن که به خاص بودن URI کمک می‌کنه. در نگارش الگوی URI، طراح‌ها می‌تونن هم بخش‌های ثابت و هم متغیر رو مشخص کنن. یک الگوی URI شامل متغیرهایی هست که قبل از استفاده باید جایگزین بشن.

مثال زیر سه متغیر داره: ‌`leagueId`، ‌`teamId`، و ‌`playerId`:

http://api.soccer.restapi.org/leagues/{leagueId}/teams/{teamId}/players/{playerId}


جایگزینی متغیرهای الگوی URI ممکنه توسط REST API یا کلاینت‌ها انجام بشه. هر جایگزینی می‌تونه از یه شناسه عددی یا الفبایی-عددی استفاده کنه، مثل مثال‌های زیر:

http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players/21
http://api.soccer.restapi.org/games/3fd65a60-cb8b-11e0-9572-0800200c9a66


در اینجا، مقدار ‌`21` در قسمت متغیر ‌`playerId` قرار گرفته و مقدار UUID در قسمت متغیر ‌`gameId` جایگزین شده.


⭕️ نباید از نام‌های توابع CRUD در URI‌ها استفاده بشه. URI‌ها باید برای شناسایی منحصر‌به‌فرد منابع استفاده بشن و باید طبق قوانین بالا نام‌گذاری بشن. همون‌طور که در بخش «روش‌های درخواست» توضیح داده شده، روش‌های HTTP برای مشخص کردن عملکرد CRUD استفاده می‌شن.

مثلاً این طراحی API ارجحیت داره:
DELETE /users/1234


در مقابل، الگوهای نادرست (که نباید انجام بشن) به شکل زیر هستن:

GET /deleteUser?id=1234
GET /deleteUser/1234
DELETE /deleteUser/1234
POST /users/1234/delete


@ninja_learn_ir
Forwarded from Bardiaism
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت دوازدهم - Network Requests

در این قسمت درباره ماژول نتورک کیوت صحبت میکنیم و یاد میدیم چطوری به کمک این ماژول روی پروتوکل http ریکوئست ارسال کنیم و جواب اونو بگیرید و اگر json هست خروجی اون رو parse کنید.
این ماژول شامل کلاس‌های سطح پایین‌تر مثل tcp و udp هم میشه که در ویدیوهای بعدی درباره اون‌ها توضیح خواهم داد.

لینک ویدیو در یوتیوب:
https://youtu.be/dnDv5uAcl_Q

@Bardiaism
Forwarded from ASafaeirad
Key takeaway from Notion Calendar's poor UX: Avoid using optimistic updates if your system cannot ensure reliable synchronization.

#ux #notioncalendar
Forwarded from Syntax | سینتکس (nasrin)
پروکسی (proxy) چیه و به چه دردی میخوره

امروز می‌خوایم راجع به یه موضوع خیلی پرکاربرد و مهم حرف بزنیم: پروکسی (Proxy).
شاید براتون سوال باشه که پروکسی چیه و دقیقاً چه کاری انجام میده؟ 🤔
بیاید باهم بیشتر بررسی کنیم.

پروکسی یعنی چی؟ 🤷‍♂️
پروکسی یه نوع واسطه‌ست که بین دستگاه شما (مثلاً کامپیوتر یا موبایلتون) و اینترنت قرار می‌گیره. وقتی از پروکسی استفاده می‌کنید، درخواست‌هاتون (مثل وقتی یه سایت رو باز می‌کنید) اول به سرور پروکسی میره و بعد از اونجا به مقصد اصلی (یعنی همون سایت) فرستاده می‌شه. به همین خاطر، سایت مقصد هیچ‌وقت نمی‌فهمه شما دقیقاً از کجا بهش وصل شدید، چون فقط آی‌پی سرور پروکسی رو می‌بینه 😎

پروکسی چه کاربردهایی داره؟ 🤓

دور زدن محدودیت‌ها 🚫:
یکی از معروف‌ترین کاربردهای پروکسی اینه که می‌تونید باهاش فیلترها و محدودیت‌های اینترنتی رو دور بزنید. مثلاً اگه سایتی تو کشور ما فیلتر باشه، ( که ماشالله همه چی فیلتره) می‌تونید با استفاده از یه پروکسی از کشوری دیگه به اون سایت دسترسی پیدا کنید.

مخفی کردن هویت شما 👻:
همون‌طور که گفتم، وقتی از پروکسی استفاده می‌کنید، آی‌پی شما مخفی می‌شه و سایت مقصد آی‌پی پروکسی رو می‌بینه. این یعنی می‌تونید تو اینترنت ناشناس‌تر بچرخید و حریم خصوصی‌تون رو حفظ کنید.

افزایش امنیت 🔒:
بعضی پروکسی‌ها با استفاده از پروتکل‌های امنیتی مثل HTTPS، اطلاعات شما رو رمزنگاری می‌کنن تا هکرها و جاسوس‌ها نتونن به راحتی به داده‌هاتون دسترسی پیدا کنن.

مدیریت پهنای باند 📊:
توی شبکه‌های بزرگ (مثلاً تو شرکت‌ها)، مدیران شبکه می‌تونن از پروکسی برای مدیریت پهنای باند استفاده کنن. اینطوری می‌تونن ترافیک اینترنت رو کنترل کنن و استفاده از منابع رو بهینه کنن.

انواع پروکسی 🌐

HTTP Proxy:
این نوع پروکسی فقط درخواست‌های HTTP رو هندل می‌کنه. یعنی وقتی شما یه سایت رو با مرورگر باز می‌کنید، درخواست شما از طریق این پروکسی عبور می‌کنه. اما این نوع پروکسی نمی‌تونه درخواست‌های
غیر HTTP (مثلاً FTP) رو پشتیبانی کنه.

SOCKS Proxy 🧦:
این یکی از همه خفن تره و تقریباً هر نوع ترافیکی رو پشتیبانی می‌کنه. می‌تونید ازش برای ارسال ایمیل، دانلود فایل یا حتی بازی‌های آنلاین استفاده کنید. اما باید بدونید که SOCKS پروکسی به‌خودی‌خود اطلاعات رو رمزنگاری نمی‌کنه و فقط ترافیک رو هدایت می‌کنه.

Transparent Proxy (پروکسی شفاف) 🛠️:
این نوع پروکسی بدون اینکه شما متوجه بشید، درخواست‌هاتون رو هدایت می‌کنه. معمولاً مدیران شبکه یا ارائه‌دهندگان اینترنت از این نوع پروکسی استفاده می‌کنن تا ترافیک رو مانیتور یا فیلتر کنن.

Reverse Proxy (پروکسی معکوس) 🔄:
این نوع پروکسی برعکس بقیه‌ست. یعنی به جای اینکه درخواست‌های شما رو به اینترنت بفرسته، درخواست‌های اینترنت رو به سرورهای داخلی هدایت می‌کنه. معمولاً برای توزیع بار سرور یا افزایش امنیت سرورها از این مدل استفاده می‌شه.

مزایا و معایب پروکسی 💡

مزایا :

مخفی کردن هویت و آی‌پی شما
دور زدن محدودیت‌ها و فیلترینگ
مدیریت بهتر پهنای باند تو شبکه‌ها
افزایش امنیت و حفظ حریم خصوصی

معایب :

بعضی از پروکسی‌ها اطلاعات رو رمزنگاری نمی‌کنن، پس همچنان امکان لو رفتن اطلاعات وجود داره.
پروکسی‌های رایگان معمولاً سرعت پایینی دارن و قابل اعتماد نیستن.
اگه درست تنظیم نشن، می‌تونن باعث کاهش کارایی و سرعت اینترنت بشن.

جمع‌بندی 🎯
در کل، پروکسی یه ابزار خیلی کاربردیه که می‌تونه به شما کمک کنه به اینترنت آزادتر دسترسی داشته باشید، هویت‌تون رو مخفی کنید و امنیت‌تون رو افزایش بدید. ولی باید همیشه حواستون باشه که از پروکسی مطمئن و ایمن استفاده کنید، مخصوصاً اگه به حریم خصوصی و امنیت‌تون اهمیت می‌دید.

لینک:
https://news.1rj.ru/str/ninja_learn_ir

#proxy

@Syntax_fa
Forwarded from Pishro App
⭕️ دوستان #لاراول 11.22 منتشر شد

تو این نسخه، یه ویژگی جدید به نام رابطه "inverse/chaperone" توی Eloquent معرفی شد.

💫 این ویژگی به نحوی عمل می‌کنه که از بروز N+1 queries ناخواسته در روابط بین مدل‌ها جلوگیری می‌کنه.


فرض کنید شما یک مدل پست (Post) و یک مدل کامنت (Comment) دارید. رابطه بین این دو مدل به این صورته که هر پست میتونه چندین کامنت داشته باشه.

توی لاراول، معمولاً این رابطه را بصورت زیر تعریف میکنیم:
public function comments(): HasMany
{
    return $this->hasMany(Comment::class);
}


حالا با این قابلیت جدید chaperone()، میشه رابطه را اینطور بنویسیم:
public function comments(): HasMany
{
    return $this->hasMany(Comment::class)->chaperone('post');
}


💫 خوب اما چه اتفاقی می افته؟

با استفاده از chaperone('post')، لاراول به‌طور خودکار اطمینان پیدا میکنه که وقتی رابطه کامنت‌ها از دیتابیس لود میشه، هر کامنت به درستی به مدل پست اصلی‌اش لینک شده باشه.
این کار باعث می‌شه که کوئری‌های اضافه (N+1 Queries) ایجاد نشه و سرعت و کارایی برنامه بهبود پیدا میکنه.

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


مزایای این متد:

جلوگیری از کوئری‌های اضافی (N+1)

لینک خودکار مدل فرزند به مدل والد

حفظ صحیح محدودیت‌ها (Scopes)

#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
یه ویدیو گیم چیتر اومده تجربیاتش از اسمبلی ARMv8 رو در قالب یه آموزش برای تازه کار ها نوشته

https://mariokartwii.com/armv8/

🐧 @Linuxor
Forwarded from 
لشکر سه نفرهٔ ایران در برابر هجوم ارتش شوروی:

یاد و خاطرهٔ شهدای شهریور ۱۳۲۰ گرامی باد.

#note
🄯 CC-BY-SA 4 — w.wiki/B8d4
@amiria703_channel
Forwarded from 
Forwarded from 
First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture.


kernel.org/doc/Documentation/process/coding-style.rst

ما هیچ. ما نگاه. :))

#fun #linux
@amiria703_channel
Forwarded from 
switchfromshapefile.org

فرمت‌های جایگزین شِیپ‌فایل همیشگی:

#GIS #معرفی
@amiria703_channel
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
دستور Neofetch یک ابزار خط فرمان بود (آرشیو شده و دیگه توسعه پیدا نمیکنه)
که مجموعه ای از اطلاعات سیستم را روی یک ترمینال از جمله لوگوی سیستم عامل نمایش میداد
اینقدر این fetch ها معادل دارند که کار کشیده به awesome-fetch
در لینک زیر میتوانید نزدیک به ۱۰۰ تا از انواع fetch پیدا کنید
https://beucismis.github.io/awesome-fetch/
#linux
سلام دوستان 👋

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

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

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

برای همتون ارزوی بهترین هارو میکنم ❤️
Forwarded from Gopher Academy
🔵 عنوان مقاله
State Machines Simplified

🟢 خلاصه مقاله:
متأسفانه شما تنها یک جمله از مقاله فراهم کرده‌اید که اطلاعات کافی برای تهیه خلاصه‌ای جامع از مقاله را دربرندارد. با این حال، من می‌توانم بر اساس اطلاعات داده شده توضیحی ارائه دهم: مقاله‌ای که اشاره شده، به نظر می‌رسد به معرفی و بررسی "Temporal" می‌پردازد که یک راهکار برای مواجهه با چالش‌های پیچیده‌ی ماشین‌های حالت (state machines) است. Temporal به عنوان ابزاری برای افزایش کارآمدی شناخته شده، تأکید بر سادگی و دوام آن دارد، که می‌تواند در بهبود فرایندهای مرتبط با مدیریت حالت‌های مختلف در سیستم‌ها مفید واقع شود.

🟣لینک مقاله:
https://pages.temporal.io/download-state-machines-simplified-cooperpress.html


👑 @gopher_academy