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 Ninja Learn | نینجا لرن (Mohammad)
اقا گپه ما چشه توش چت نمیکنید :(
Forwarded from Linuxor ?
اون فریم‌ورک و زبان برنامه نویسی که تو رفتی سراغش :

@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 لیست ۵ کشور برتر جهان در فناوری‌های پیشرفته و تولید

#توییت

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 به عنوان برنامه نویس وردپرس که افزونه ورود موبایل پیامکی وردپرس نوشتم, این شرکت های پیامکی چه اصراری است که برای دریافت API آن و نوشتن درایور مربوطه کلی مدرک هویتی بفرستیم؟

چون می خواهیم تست کنیم و این همه مدرک می خوای چکار کنید؟ از دستت کلافه شدم.

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

#وردپرس

@TheRaymondDev
Forwarded from Ditty | دیتی
۱۰۰ بار سریع‌تر از 𝗘𝗦𝗟𝗶𝗻𝘁 ؟! 😃

- واقعاً یکی از معضلات پروژه‌های بزرگ وقتیه که ابزارهایی مثل Linter و Formatter و روی اونها اجرا میشه

- جدیداً با توصیه Evan You (خالق Vue و Vite و …) با پروژه‌ای به اسم Oxc آشنا شدم که مجموعه‌ای از چند ابزار #جاوااسکریپتی هست که با زبان Rust نوشته شده و ادعا می‌کنه که سرعت و عملکرد فوق‌العادی در مقایسه با رقبا داره

- این ابزارها شامل Parser و Linter و Formatter و Minifier و … هست و توی پروژه‌هایی مثل Vite+ و Shopify و Turborepo استفاده شده و برای مثال ادعا می‌کنه ۱۰۰ برابر سریع تر از ESLint و ۴۰ برابر سریع‌تر از Babel هست

- یکی از ابزارهای این پروژه Oxlint هست که از اکثر دستورات فعلی ESLint و … پشتیبانی می‌کنه. اگه اندازهٔ پروژه‌تون خیلی بزرگ نیست و از ESlint استفاده می‌کنین، می‌تونین اون رو کاملاً با Oxlint جایگزین کنین

- برای آشنایی بیشتر با این پروژه این صفحه رو ببینین:
https://oxc.rs/docs/guide/usage/linter.html

#tools
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۳۵۵

شمشیر ازل بدست مردان خداست
گوی ابدی در خم چوگان خداست
آن تن که چو کوه طور روشن آید
نور خود از او طلب که او کان خداست

#مولانا | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
A Modern Approach to Preventing CSRF/CORF in Go

🟢 خلاصه مقاله:
این مقاله یک رویکرد مدرن برای مقابله با حملات CSRF/CORF در Go معرفی می‌کند. به‌جای تکیه بر tokens، در Go 1.25 یک middleware به نام http.CrossOriginProtection ارائه شده که با استفاده از سیگنال‌های امنیتی مرورگر (مانند Fetch Metadata و سیاست‌های SameSite) میان درخواست‌های امن هم‌مبداء و درخواست‌های مشکوک بین‌مبداء تفکیک ایجاد می‌کند. این میان‌افزار به‌طور پیش‌فرض درخواست‌های امن را می‌پذیرد و درخواست‌های تغییر‌دهنده حالت از مبداءهای نامطمئن را مسدود می‌کند، درحالی‌که برای مسیرهای ضروری (مثل OAuth callback یا webhook) قابلیت allowlist دارد و با CORS نیز سازگار است. نتیجه، کاهش پیچیدگی پیاده‌سازی CSRF، تکیه بر قابلیت‌های جدید مرورگرها، و استقرار مرحله‌ای (از حالت گزارش تا اعمال) است؛ ضمن اینکه جایگزین احراز هویت و کنترل دسترسی نیست، بلکه مکمل آن‌هاست.

#Go #CSRF #WebSecurity #FetchMetadata #SameSite #Middleware #GoLang #Security

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


👑 @gopher_academy
یه سایتی هست به اسم «موزه طراحی وب» که نسخه‌های قدیمی وب‌سایت‌ها و اپ‌های معروف رو جمع کرده.
این‌ها اولین نسخه‌های Windows 98 و توییتر هستند.
نوستالژی خالص

https://webdesignmuseum.org

@DevTwitter | <Mohammad/>
تجربهٔ شگفت‌انگیز و مفید یک میلیون نود کوبرنیتیز:

https://github.com/bchess/k8s-1m

@DevTwitter | <Amiria/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
Gist of Go: Atomics

🟢 خلاصه مقاله:
در Go، atomics مجموعه‌ای از عملیات سطح‌پایین در بسته sync/atomic هستند که امکان دسترسی thread-safe و lock-free به مقادیر حافظه مشترک را می‌دهند. آن‌ها برای متغیرهای ساده (مثل شمارنده‌ها، فلگ‌های وضعیت، و تعویض ایمن یک اشاره‌گر پیکربندی) بسیار سریع و مناسب‌اند و با Load/Store، Add/Swap و CAS رابطه‌های happens-before لازم را تضمین می‌کنند. وقتی نیاز به حفظ ناهمبستگی‌های چندفیلدی دارید یا به‌روزرسانی چندمرحله‌ای می‌خواهید، استفاده از mutex یا کانال‌ها شفاف‌تر و کم‌خطرتر است. از اختلاط دسترسی atomic و non-atomic به یک متغیر خودداری کنید، به هم‌ترازی و false sharing توجه کنید، و برای داده‌های read-mostly از atomic.Value بهره ببرید. نتیجه: در سناریوهای محدود، همزمانی بدون mutex واقعا شدنی است—به شرط رعایت دقیق مدل حافظه و الگوهای درست.

#golang #concurrency #atomics #lockfree #CAS #multithreading #memorymodel

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


👑 @gopher_academy
Forwarded from Woland's Linux Journal (Woland)
مخزن عظیمی از کتاب‌های برنامه‌نویسی رایگان به تمامی زبان‌های جهان!

این مخزن با ۳۷۳.۰۰۰ ستاره لیست کاملی از کتاب‌های برنامه‌نویسی رایگان رو توی خودش جمع کرده که شامل کتاب‌های فارسی هم می‌شه.

👉🔗 free-programming-books

#کتاب
#معرفی
📄 دستور strings در لینوکس
استخراج رشته‌های متنیِ قابل‌چاپ از داخل فایل‌های باینری 😎
کاربرد؟
🔥مهندسی معکوس،پیدا کردن نام توابع، پیام‌های خطا، library names.
🔥کشف URLها، توکن‌ها
🔥بررسی فایل‌های خراب یا بدافزار (اولین قدم قبل از دیباگ عمیق).

🔹 مثال‌های پایه
strings a.out              # استخراج همه رشته‌ه 
strings /bin/ls | less # خروجی طولانی
strings -n 6 file.bin # رشته‌های طول
strings -t x file.bin # offset به صورت hex
strings -f file1 file2 # قبل خروجی نام فایل

⚙️ آپشن‌های مهم
-n <num> یا --bytes=<num> : حداقل طول رشته .
-t <o|d|x> : نمایش offset رشته
-e <encoding> : تعیین encoding
-f : چاپ نام فایل قبل از خروجی.
-a : اسکن تمام بخش‌ها .
🔥 ترفندهای ترکیبی و خلاقانه
strings binary | grep -E 'https?://|https://'  # URL
strings binary | grep -iE 'token|key|password|passwd' # توکن
strings -t x binary | grep -i 'API_KEY' # offset

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
این ریپو توسط خود گیتهاب چند روز پیش منتشر شده که کارکرد مشابه داره.
«یه جعبه‌ابزار متن‌باز برای تمرکز روی هدف محصول و نتیجه‌ی قابل پیش‌بینی — به‌جای نوشتن همه‌چیز از صفر با Vibe Coding»

https://github.com/github/spec-kit

@DevTwitter | <Mohammad/>
Forwarded from Linuxor ?
توی تایم توسعه‌تون یک روز هم کاملا اختصاص بدید به حذف کد؛ دیگه بالاخره آدم جایی که زندگی می‌کنه رو باید آشغال هاشو پاک کنه.


@Linuxor
Forwarded from  (امیرحسین پناهےفر)
داشتم یه استوری در رابطه با پترن های مطرحی که واسه دیپلوی میکروسرویس وجود داره تو مدیوم میخوندم به نظرم دونستنش مفیده.
- Microservices — Deployment Patterns
Forwarded from  (امیرحسین پناهےفر)
الگوی Canary Deployment (استقرار قناری) 🐤

این الگو شامل استقرار نسخه جدید برای درصد کوچکی از کاربران نهایی است تا مشکلات احتمالی پیش از انتشار گسترده شناسایی شوند.
- مزایای کلیدی: امکان انجام تست عملکرد در محیط تولید با کاربران واقعی، برگشت سریع و امن (Rollback) به نسخه قبلی و هزینه اجرای کمتر در مقایسه با الگوی Blue/Green.
- ملاحظات و معایب: پیاده‌سازی این الگو می‌تواند پیچیده باشد و نیاز مبرمی به ابزارهای پیشرفته مانیتورینگ برای رصد دقیق عملکرد گروه کوچک کاربران دارد.
Forwarded from  (امیرحسین پناهےفر)
الگوی Blue/Green Deployment (آبی/سبز) 🔵🟢

در این روش، نسخه جدید به‌صورت موازی با نسخه فعال (آبی) نصب می‌شود و پس از تأیید نهایی، انتقال کامل ترافیک به نسخه جدید (سبز) انجام می‌گیرد.
- مزایای کلیدی: استقرار بدون توقف (Zero Downtime)، سادگی در بازگشت به عقب و ریسک کنترل‌شده در فرآیند به‌روزرسانی.
- ملاحظات و معایب: هزینه عملیاتی بالاتر به دلیل نیاز به نگهداری و تأمین منابع برای دو محیط Production کامل به‌صورت همزمان.
Forwarded from  (امیرحسین پناهےفر)
الگوی Dark Launching (راه‌اندازی تاریک) 🌑

این الگو شامل فعال‌سازی ویژگی‌های جدید برای یک گروه محدود و پنهان از کاربران با استفاده از Feature Toggle/Flag است. کاربران از وجود این ویژگی مطلع نیستند.
- مزایای کلیدی: امکان بررسی زیرساختی سیستم و جمع‌آوری داده‌های عملکردی قبل از مواجهه عمومی، و بازگشت پذیری آسان از طریق خاموش کردن Feature Flag.
- ملاحظات و معایب: چالش‌های دیباگینگ میکروسرویس‌ها در محیط‌های پنهان و نیاز به مدیریت قوی Feature Toggle توسط تیم توسعه برای جلوگیری از سردرگمی.