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 Python Hints
وقتی صحبت از امنیت میشه خیلی از توسعه دهنده‌های اینکار رو وظیفه تیم امنیت می‌دونند؛ که خب درست هم هست ولی تا یک جایی. شما هم بعنوان توسعه دهنده باید یک سری موارد رو بدونید.
مثلا خیلی دیدم؛ تیم‌های تست نفوذ فراموش می‌کنند (دسترسی ندارند) الگوریتم hash کردن پسورد داخل دیتابیس رو چک کنند؛ اینجا دانش شما بعنوان برنامه‌نویس پروژه خودش رو نشون میده و یک لایه اطمینان بیشتر برای پروژه خواهد بود.

دمشون گرم؛ تیم توسعه Django رو می‌گم چرا که اکثر اتک‌های مهم رو تا جایی که امکانش هست جلوگیری می‌کنند و برای همین هم همیشه می‌گم بکند رو فارغ از فریمورک یاد بگیرید. با این حال بسیاری دولوپر Django هست که حتی زحمت بررسی و آپدیت به آخرین پچ‌های امنیتی رو به خودش نمیده مثلا pip freeze و version locking استفاده کرده.

توی بعضی مواقع هم دانستن بعضی نکات امنیتی برای optimization بهتون کمک می‌کنه؛ مثلا توی password hash ممکن هست تحت یک شرایط خاصی اصلا الگوریتمی مثل Argon2 به کار شما نیاد و به دلایلی بهش نیاز نداشته باشید تحت این شرایط می‌تونید برگردید روی sha256 و از اون استفاده کنید (این یک مثال بود اگر argon2 رو نمی‌شناسید درموردش بخونید؛ توی لیست PASSWORD_HASHERS های Django هم هست ولی خود Django از PBKDF2 استفاده می‌کنه پیشفرض)


خیلی از برنامه‌نویس‌ها سرویس login امنی دارند که از موارد امنیتی خوبی هم استفاده می‌کنه throttling, brute-force blocker, hashing و ... اما بعضی موارد باید فراتر ازین بره؛ چیزی که خیلی ندیدم حتی روی بعضی سرویس‌های لاگین شرکت‌های بزرگ و موارد حساس.
فرض کنید شما login با ایمیل اعضای شرکت بزنید (ایمیل‌های شرکتی اصول خاصی داره و راحت بدست میاد) اگر ایمیل اشتباه باشه response time شاید زیر 20ms باشه ولی وقتی ایمیل درست هست بالای 100ms می‌شه این یکی از تکنیک‌‌های قدیمی مورد استفاده برای نفوذ به صفحات ادمین بوده و هست. شما وقتی username. email رو پیدا کنی یک نگرانی کمتر خواهی داشت.
برای همین کسی که با این موارد آشنا هست؛ برای اینکه response time لاگین درست و غلط رو یکسان کنه وقتی می‌بینه یوزر وجود نداره بجای اینکه درجا پاسخ رو برای کاربر بفرسته یکبار پسورد رو با یک چیز رندم (طبق validation نمی‌تونه توی دیتابیس باشه) حساب می‌کنه و بعد response اطلاعات غلط روی لاگین رو بر می‌گردونه.


البته که من برای این مثال دست روی یک موردی گذاشتم که خیلی‌ها رعایت نمی‌کنند (شاید نیازی هم ندارند) و خیلی‌ها بلد نیستند (باید دنبال یک جیزی هم می‌گشتم که خود django امن نکرده باشه)

یا مثلا توی کار با دیتا قبول نکردن دیتای pickle؛ اینو برگردید بالا من همون اوایل شروع کار کانال گفتم با مثال و حدود ۶ ماه قبل یکی از خوبای دنیای تکنولوژی با همین روش بهش نفوذ شد (hugging face رو منظورم هست)

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

حالا چه چیزهایی رو باید بعنوان دولوپر بدونید ؟ OWASP TOP 10 حداقلی ترین مواردی هست که شما بعنوان یک دولوپر باید بشناسید و راهای مقابله باهاش رو هم بلد باشید.

ولی بطور خاص برای Django Rest Framework حداقل این cheathseet رو باید داشته باشد
OWASP cheatsheet for DRF

من یک cheatsheet شخصی خودم دارم (شامل مواردی از بخش‌های مختلف همین cheatsheet هم هست) ولی متاسفانه نمی‌تونم به اشتراک بذارم چون آخرین ورژن رو با داکیومنت شرکت ادغام کردم. اما پیشنهاد میدم لینک بالا رو بخونید و حتما حتما حتما نگاهی هم به رفرنس‌هاشون بندازید این خیلی مهمه.
Forwarded from Python Hints
#موقت

نوشتن این پست ۴۵ دقیقه زمان برد؛ چون عادت دارم مثال‌ها رو هی تغییر میدم تا مطمئن بشم اون چیزی که فکر می‌کنم رو منتقل می‌کنه.

برای همین آموزش دادن برام خیلی سخت هست همیشه.
توی @pyrust شروع کردم آموزش های کوچیک رو ولی بعضی از پست‌ها بیش از ۱ ساعت هم زمان میبره تایپ کردنش مثلا فرق Stack, Heap رو توضیح دادن فکر می‌کنم ۲ ساعت شد.

درنهایت:
بله من تایم میگیرم هرکاری که انجام میدم رو.
Forwarded from Gopher Academy
🔵 عنوان مقاله
How to Manage Tool Dependencies in Go 1.24+

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به تفصیل به بررسی زیر دستور جدید 'go tool' در زبان برنامه نویسی Go می‌پردازد. تمرکز اصلی مقاله بر استفاده عملی از این زیر دستور است و شامل نکات کاربردی برای بهبود فرآیند توسعه نرم افزار می‌باشد. مقاله همچنین راهکاری مفید را ارائه می‌دهد که شامل جدا کردن ابزارها در یک فایل ماژول جداگانه است. این رویکرد به توسعه‌دهندگان کمک می‌کند تا تعمیر و نگهداری کد خود را راحت‌تر کرده و وابستگی‌های پروژه را بهتر مدیریت کنند. این مقاله برای برنامه‌نویسانی که مایل به بهینه‌سازی کار با محیط Go هستند مفید است و ارائه‌های مفیدی درخصوص چگونگی استفاده بهینه از امکانات جدید ابزار Go را فراهم می‌کند.

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


👑 @gopher_academy
آقا این رپو با php یه MCP سرور ساده برای زمان پیاده کرده مثلا ساعت چنده یا ساعت فولان جا چنده میشه راحت فهمید چیکار کرده
البته اگه زبون ژاپنی بلد باشی
https://github.com/uzulla/mcp-time-php/

@DevTwitter | <Saman/>
Forwarded from Linuxor ?
معماری میکروسرویس و داکر فلسفه‌اش اینه که هر کانتینر فقط یه کار رو انجام بده نه چند تا با هم

@Linuxor
⚡️ نکات طلایی برای استفاده از مدل‌های زبانی بـزرگ (LLM) از زبان آنـدری کـارپاتی، بنیان‌گذار OpenAI:

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

📄حالا بعضی از جالب‌ترین نکات سخنرانی:

💎هنگام تغییر موضوع، یه چـت جدید رو شروع کنید. این به مدل کمک میکنه تا روی یه سوال خاص تمرکز کنه و از دانشش به طور موثرتری استفاده کنه.

💎شما می‌تونید فراتر از متن با ربات‌ها گفتگو و تعامل داشته باشین. ChatGPT و سایر دستیارها حالت‌های مناسبی برای ارتباط صـوتی ارائـه میدن. همچنین می‌تونن اطلاعات رو از تصاویر و حتی ویدیوها به صورت سریع پردازش کنند. کارپاتی همینطور گفت که این ویژگی‌ها ممکنه برای بستگان مسن شما خیلی مفید و قابل استفاده باشه.

💎از کاستوم GPTها حتما استفاده کنید. این‌ها قابلیت‌های ChatGPT رو گسترش می‌دهند. برای مثال، کارپاتی از کاستوم GPT برای یادگیری زبان کره‌ای استفاده می‌کنه.
••تماشای کامل سخنرانی••
Forwarded from Gopher Academy
درود به همه

دوستان عزیزی که علاقه‌مند به تبلیغات در توییتر هستند، می‌توانند به من پیام بدن.

@mrbardia72

صفحه توییتر ما با بیش از ۱۱ هزار فالوور فعال، فضای مناسبی برای معرفی کسب‌وکار شما فراهم می‌کند.
اگر مشکل تغییر timezone تهران به 04:30 رو روی php سرورهاتون دارید
میتونید اکستنشن timezonedb رو روی php فعال و آخرین تغییرات timezone رو دریافت و آپدیت کنید

https://pecl.php.net/package/timezonedb

@DevTwitter | <Rasoul Mousavian/>
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۱۱۲۸

از خویشتن بجستن آرزو می کندم
آزاد نشستن آرزو می کندم
در بند مقامات همی بودم من
وان بند گسستن آرزو می کندم

#مولانا | گنجور
📍@iipoem
Forwarded from Philocode
🔥 بالاخره Firefox صدای کاربرهاش را شنید و پشتیبانی از Progressive Web Apps (PWAs)
را به فایرفاکس اضافه کرد

اپلیکیشن‌های پیش‌رونده وب (PWA) نوعی از برنامه‌های تحت وب شبیه وب سایت که تجربه‌ای مشابه با اپلیکیشن‌های نصب شده میده
این اپلیکیشن‌ها قابلیت‌هایی مثل دسترسی آفلاین، ارسال اعلان‌های پوش (Push Notifications) و عملکرد سریع دارند
🗓 در نسخه ۵۸ مرورگر فایرفاکس برای اندروید، موزیلا پشتیبانی از قابلیت‌های اولیه PWAs را معرفی کرد.

🔥 فایرفاکس در حال (دوباره) افزودن پشتیبانی از Web Apps برای دسکتاپه. در این رویکرد جدید، تمرکز بر ارائه تجربه‌ای «اپ‌مانند» برای هر وب‌سایتی است که کاربر انتخاب کنه بدون اینکه از ویژگی‌های اصلی مرورگر فایرفاکس (مانند نوار آدرس، افزونه‌ها، بوکمارک‌ها و …) چشم پوشی بشه

ویژگی‌های کلیدی پشتیبانی جدید از Web Apps در فایرفاکس:
💠نمایش آیکون جداگانه
💠مدیریت پنجره‌ها
💠انتقال پویا بین تب و حالت اپ
💠یکپارچگی با مرورگر
، در نسخه‌های Nightly فایرفاکس یک تنظیم مخفی به نام browser.taskbarTabs.enabled اضافه شده است که به فعال‌سازی این قابلیت کمک می‌کند

منبع
Forwarded from Syntax | سینتکس (alireza-fa)
بررسی معماری پرومتئوس Prometheus

پرومتئوس یک ابزار متن‌باز برای مانیتورینگ و هشداردهی است که به‌طور گسترده در حوزه DevOps و مدیریت سیستم‌ها استفاده می‌شود ...

در وبلاگ سینتکس‌فا بخوانید:
https://syntaxfa.com/blogs/prometheus-architecture/

#prometheus

@syntax_fa
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 نسخه ۱.۳ پکیچ لاراول متاباکس منتشر شد.

ویژگی ها افزوده شده :

- Text Field
- Upload Field
- Select Field
- Checkbox Field
- Toggle Field
- Radio ‌Button Field
- Tabs Field
- Gallery Image Field

مستندات انگلیسی همراه با پیش نمایش ها :

https://github.com/Rayiumir/laravel-metabox/blob/main/Documentation/en.md

گیت هاب :

https://github.com/Rayiumir/laravel-metabox

#لاراول
#php

@TheRaymondDev
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
سادگی رو با کد ضعیف اشتباه نگیرید 🚀

خیلی برنامه‌نویسا بین دو تا رویکرد گیر می‌کنن 🔻
➊ یه راه‌حل پیچیده و اورمهندسی‌شده که شاید خیلی پیشرفته و خفن به نظر برسه، ولی نگهداری و توسعه‌ش سخت بشه.

➋ یه راه‌حل خیلی دم‌دستی و بی‌دقت که فقط برای "جواب دادن" ساخته شده، ولی تو طولانی‌مدت مشکل‌سازه.


حالا راه حل درست چیه ⁉️
شما همیشه باید دنبال سادگی هوشمندانه بسته به موقعیت باشید!


این یعنی کدی که ...
خوانا و قابل فهمه
نه فقط برای خودت، برای کل تیم

مینیماله ولی ناقص نیست
یعنی کارو درست انجام می‌ده، نه اینکه یه چیزی رو فدای سادگی کنیم

➌ قابل گسترشه بدون دردسر

اگه بعداً نیاز شد توسعه‌ش بدیم، مجبور نشیم کل سیستمو از نو بسازیم

وقتی که کد میزنی، این ۳ تا سوالو از خودت بپرس
➊ آیا این راه‌حل، بیش از حد پیچیدست بدون دلیل موجه؟

➋ آیا این سادگی باعث شده کیفیت یا پایداری سیستم کم بشه؟

➌ آیا کسی که بعد از من این کد رو می‌خونه، راحت متوجه می‌شه چی کار کردم؟


سادگی خوب، یعنی طراحی درست و تمیز، نه طراحی ضعیف

#programming #tips

𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
Forwarded from Geek Alerts
بخشی از تیم گیک‌آلرتس بشید 🤍

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

https://docs.google.com/forms/d/e/

🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
می‌دونین int p چیه؟ آفرین اشتباه حدس زدین تایپ شخصیته


@Linuxor
Forwarded from mosTafa Arshadi
امروز برای بار هزارم بهم ثابت شد هیچ میزان تنفری بزرگتر از تنفر مردم ایران نسبت بهمدیگه وجود نداره. باورتون نمیشه ادما چقدر از شکست هاتون خوشحال میشن، چقدر به موفقیت هاتون حسودی میکنن و چقدر ازتون متنفرن. هیچکس قرار نیست بهت کمک و رحم کنه. یه کاری برای خودت بکن.

@hamidreza01
👍2