Forwarded from Ninja Learn | نینجا لرن (Mohammad)
اقا گپه ما چشه توش چت نمیکنید :(
Forwarded from Linuxor ?
Forwarded from معرفی توییترهای دانشگاهی
@sut_tw
@srbtwitter
@esfuni_twitter
@devtwitter
@yazd_tweet
@uoktweet
@shirazu_twitter
@sut_tweet
@tweet_Mahart
@arakstudentt
@NITtw
@ub_tweet
@auttw
@auttweet
@sbutw
@swIUTter
@Kashanuni_Twitter
@TwitterAUT
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 به عنوان برنامه نویس وردپرس که افزونه ورود موبایل پیامکی وردپرس نوشتم, این شرکت های پیامکی چه اصراری است که برای دریافت API آن و نوشتن درایور مربوطه کلی مدرک هویتی بفرستیم؟
چون می خواهیم تست کنیم و این همه مدرک می خوای چکار کنید؟ از دستت کلافه شدم.
قرار نیست در سرویس پیامکی فعالیت رسمی داشته باشیم.
#وردپرس
@TheRaymondDev
چون می خواهیم تست کنیم و این همه مدرک می خوای چکار کنید؟ از دستت کلافه شدم.
قرار نیست در سرویس پیامکی فعالیت رسمی داشته باشیم.
#وردپرس
@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
- واقعاً یکی از معضلات پروژههای بزرگ وقتیه که ابزارهایی مثل 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
Oxc
Oxlint
A collection of high-performance JavaScript tools written in Rust
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
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
www.alexedwards.net
A modern approach to preventing CSRF in Go - Alex Edwards
Forwarded from DevTwitter | توییت برنامه نویسی
یه سایتی هست به اسم «موزه طراحی وب» که نسخههای قدیمی وبسایتها و اپهای معروف رو جمع کرده.
اینها اولین نسخههای Windows 98 و توییتر هستند.
نوستالژی خالص
https://webdesignmuseum.org
@DevTwitter | <Mohammad/>
اینها اولین نسخههای Windows 98 و توییتر هستند.
نوستالژی خالص
https://webdesignmuseum.org
@DevTwitter | <Mohammad/>
Forwarded from DevTwitter | توییت برنامه نویسی
تجربهٔ شگفتانگیز و مفید یک میلیون نود کوبرنیتیز:
https://github.com/bchess/k8s-1m
@DevTwitter | <Amiria/>
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
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
antonz.org
Gist of Go: Atomics
Concurrent-safe operations without explicit synchronization.
Forwarded from Woland's Linux Journal (Woland)
مخزن عظیمی از کتابهای برنامهنویسی رایگان به تمامی زبانهای جهان!
این مخزن با ۳۷۳.۰۰۰ ستاره لیست کاملی از کتابهای برنامهنویسی رایگان رو توی خودش جمع کرده که شامل کتابهای فارسی هم میشه.
👉🔗 free-programming-books
#کتاب
#معرفی
این مخزن با ۳۷۳.۰۰۰ ستاره لیست کاملی از کتابهای برنامهنویسی رایگان رو توی خودش جمع کرده که شامل کتابهای فارسی هم میشه.
👉🔗 free-programming-books
#کتاب
#معرفی
Forwarded from کانال مهرداد لینوکس
📄 دستور strings در لینوکس
✅ استخراج رشتههای متنیِ قابلچاپ از داخل فایلهای باینری 😎
کاربرد؟
🔥مهندسی معکوس،پیدا کردن نام توابع، پیامهای خطا، library names.
🔥کشف URLها، توکنها
🔥بررسی فایلهای خراب یا بدافزار (اولین قدم قبل از دیباگ عمیق).
🔹 مثالهای پایه
⚙️ آپشنهای مهم
-n <num> یا --bytes=<num> : حداقل طول رشته .
-t <o|d|x> : نمایش offset رشته
-e <encoding> : تعیین encoding
-f : چاپ نام فایل قبل از خروجی.
-a : اسکن تمام بخشها .
🔥 ترفندهای ترکیبی و خلاقانه
#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
✅ استخراج رشتههای متنیِ قابلچاپ از داخل فایلهای باینری 😎
کاربرد؟
🔥مهندسی معکوس،پیدا کردن نام توابع، پیامهای خطا، 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
Forwarded from DevTwitter | توییت برنامه نویسی
این ریپو توسط خود گیتهاب چند روز پیش منتشر شده که کارکرد مشابه داره.
«یه جعبهابزار متنباز برای تمرکز روی هدف محصول و نتیجهی قابل پیشبینی — بهجای نوشتن همهچیز از صفر با Vibe Coding»
https://github.com/github/spec-kit
@DevTwitter | <Mohammad/>
«یه جعبهابزار متنباز برای تمرکز روی هدف محصول و نتیجهی قابل پیشبینی — بهجای نوشتن همهچیز از صفر با Vibe Coding»
https://github.com/github/spec-kit
@DevTwitter | <Mohammad/>
Forwarded from ⚝ (امیرحسین پناهےفر)
داشتم یه استوری در رابطه با پترن های مطرحی که واسه دیپلوی میکروسرویس وجود داره تو مدیوم میخوندم به نظرم دونستنش مفیده.
- Microservices — Deployment Patterns
- Microservices — Deployment Patterns
Medium
Microservices — Deployment Patterns
What are deployment patterns ?
Forwarded from ⚝ (امیرحسین پناهےفر)
الگوی Canary Deployment (استقرار قناری) 🐤
این الگو شامل استقرار نسخه جدید برای درصد کوچکی از کاربران نهایی است تا مشکلات احتمالی پیش از انتشار گسترده شناسایی شوند.
- مزایای کلیدی: امکان انجام تست عملکرد در محیط تولید با کاربران واقعی، برگشت سریع و امن (Rollback) به نسخه قبلی و هزینه اجرای کمتر در مقایسه با الگوی Blue/Green.
- ملاحظات و معایب: پیادهسازی این الگو میتواند پیچیده باشد و نیاز مبرمی به ابزارهای پیشرفته مانیتورینگ برای رصد دقیق عملکرد گروه کوچک کاربران دارد.
این الگو شامل استقرار نسخه جدید برای درصد کوچکی از کاربران نهایی است تا مشکلات احتمالی پیش از انتشار گسترده شناسایی شوند.
- مزایای کلیدی: امکان انجام تست عملکرد در محیط تولید با کاربران واقعی، برگشت سریع و امن (Rollback) به نسخه قبلی و هزینه اجرای کمتر در مقایسه با الگوی Blue/Green.
- ملاحظات و معایب: پیادهسازی این الگو میتواند پیچیده باشد و نیاز مبرمی به ابزارهای پیشرفته مانیتورینگ برای رصد دقیق عملکرد گروه کوچک کاربران دارد.
Forwarded from ⚝ (امیرحسین پناهےفر)
الگوی Blue/Green Deployment (آبی/سبز) 🔵🟢
در این روش، نسخه جدید بهصورت موازی با نسخه فعال (آبی) نصب میشود و پس از تأیید نهایی، انتقال کامل ترافیک به نسخه جدید (سبز) انجام میگیرد.
- مزایای کلیدی: استقرار بدون توقف (Zero Downtime)، سادگی در بازگشت به عقب و ریسک کنترلشده در فرآیند بهروزرسانی.
- ملاحظات و معایب: هزینه عملیاتی بالاتر به دلیل نیاز به نگهداری و تأمین منابع برای دو محیط Production کامل بهصورت همزمان.
در این روش، نسخه جدید بهصورت موازی با نسخه فعال (آبی) نصب میشود و پس از تأیید نهایی، انتقال کامل ترافیک به نسخه جدید (سبز) انجام میگیرد.
- مزایای کلیدی: استقرار بدون توقف (Zero Downtime)، سادگی در بازگشت به عقب و ریسک کنترلشده در فرآیند بهروزرسانی.
- ملاحظات و معایب: هزینه عملیاتی بالاتر به دلیل نیاز به نگهداری و تأمین منابع برای دو محیط Production کامل بهصورت همزمان.
Forwarded from ⚝ (امیرحسین پناهےفر)
الگوی Dark Launching (راهاندازی تاریک) 🌑
این الگو شامل فعالسازی ویژگیهای جدید برای یک گروه محدود و پنهان از کاربران با استفاده از Feature Toggle/Flag است. کاربران از وجود این ویژگی مطلع نیستند.
- مزایای کلیدی: امکان بررسی زیرساختی سیستم و جمعآوری دادههای عملکردی قبل از مواجهه عمومی، و بازگشت پذیری آسان از طریق خاموش کردن Feature Flag.
- ملاحظات و معایب: چالشهای دیباگینگ میکروسرویسها در محیطهای پنهان و نیاز به مدیریت قوی Feature Toggle توسط تیم توسعه برای جلوگیری از سردرگمی.
این الگو شامل فعالسازی ویژگیهای جدید برای یک گروه محدود و پنهان از کاربران با استفاده از Feature Toggle/Flag است. کاربران از وجود این ویژگی مطلع نیستند.
- مزایای کلیدی: امکان بررسی زیرساختی سیستم و جمعآوری دادههای عملکردی قبل از مواجهه عمومی، و بازگشت پذیری آسان از طریق خاموش کردن Feature Flag.
- ملاحظات و معایب: چالشهای دیباگینگ میکروسرویسها در محیطهای پنهان و نیاز به مدیریت قوی Feature Toggle توسط تیم توسعه برای جلوگیری از سردرگمی.