اوپن سورس هم دنیای خودش رو داره
چند ماه پیش یک پکیج NPM به اسم iran-map-simple برای React منتشر کرده بودم؛ که امروز دیدم میانگین دانلود هفته ای روی 141 دانلود هستش.
هر چند نسبت به پکیج های دیگه عدد زیادی نیست... ولی همینکه خروجی کدهات جزئی از پروژه های دیگه میشه و امکان داره هزاران یا میلیون ها نفر هم ازش استفاده کنن بهت حس خوبی میده
و اینکه لینک پکیج:
https://www.npmjs.com/package/iran-map-simple
@DevTwitter | <Mohammad E./>
چند ماه پیش یک پکیج NPM به اسم iran-map-simple برای React منتشر کرده بودم؛ که امروز دیدم میانگین دانلود هفته ای روی 141 دانلود هستش.
هر چند نسبت به پکیج های دیگه عدد زیادی نیست... ولی همینکه خروجی کدهات جزئی از پروژه های دیگه میشه و امکان داره هزاران یا میلیون ها نفر هم ازش استفاده کنن بهت حس خوبی میده
و اینکه لینک پکیج:
https://www.npmjs.com/package/iran-map-simple
@DevTwitter | <Mohammad E./>
🔥58❤17🍌5
وقتی با هوش مصنوعی دارید ظاهر سایت یا اپتون رو میسازید، حتی اگر تسک رو کامل توضیح داده باشید، اسکیل مناسب داده باشید و تمام اون روشهای اصولی که خودتون میدونید رو هم رعایت کرده باشید، باز خیلی وقتها بعد از اتمام کار میبینید خروجی هنوز یکسری ایراد ریز داره.
ایرادهایی که شاید خیلی بزرگ نباشن، ولی تقریبا همیشه یه جایی خودشون رو نشون میدن.
دلیلش هم سادهست:
هوش مصنوعی خیلی وقتها تسک رو «تحویل میده»، ولی لزوما «کاملش نمیکنه».
یعنی وقتی به یک خروجی قابل قبول برسه که از نظر خودش دستور شما رو انجام داده، معمولا همونجا متوقف میشه.
معمولا اینجاست که انسان وارد میشه :
ما بعد از اینکه AI کارش رو انجام داد، صفحهها رو یکییکی باز میکنیم، ظاهر رو بررسی میکنیم، مشکلات رو پیدا میکنیم، دوباره بهش میگیم اصلاح کن، دوباره چک میکنیم و این لوپ رو تا جایی ادامه میدیم که به خروجی موردنظر برسیم.
حالا سؤال اینه:
چی میشه اگر این نقش انسان رو هم از وسط حذف کنیم؟
به جای اینکه خودمون بشینیم تمام صفحهها رو یکییکی بررسی کنیم، یک تیم از ایجنتهای سختگیر این کار رو انجام بدن؛ ایجنتهایی که قرار نیست با اولین خروجی قابل قبول راضی بشن و مدام بخشهای مختلف UI رو بررسی، نقد و اصلاح کنن تا جایی که دیگه ایراد مشخصی برای اصلاح باقی نمونه.
نتیجه شد Perfection Loop.
در این اسکیل، چند سابایجنت از زاویههای مختلف خروجی رو بررسی میکنن و کار وارد یک لوپ واقعی
https://github.com/mathofdynamic/perfection-loop
و برای رسیدن به اون خروجی نهایی، گاهی چیزی که کم داریم یک پرامپت بهتر نیست؛ یک Review سختگیرانه و یک لوپ درست تا رسیدن به کیفیت مطلوبه.
@DevTwitter | <Mohamad/>
ایرادهایی که شاید خیلی بزرگ نباشن، ولی تقریبا همیشه یه جایی خودشون رو نشون میدن.
دلیلش هم سادهست:
هوش مصنوعی خیلی وقتها تسک رو «تحویل میده»، ولی لزوما «کاملش نمیکنه».
یعنی وقتی به یک خروجی قابل قبول برسه که از نظر خودش دستور شما رو انجام داده، معمولا همونجا متوقف میشه.
معمولا اینجاست که انسان وارد میشه :
ما بعد از اینکه AI کارش رو انجام داد، صفحهها رو یکییکی باز میکنیم، ظاهر رو بررسی میکنیم، مشکلات رو پیدا میکنیم، دوباره بهش میگیم اصلاح کن، دوباره چک میکنیم و این لوپ رو تا جایی ادامه میدیم که به خروجی موردنظر برسیم.
حالا سؤال اینه:
چی میشه اگر این نقش انسان رو هم از وسط حذف کنیم؟
به جای اینکه خودمون بشینیم تمام صفحهها رو یکییکی بررسی کنیم، یک تیم از ایجنتهای سختگیر این کار رو انجام بدن؛ ایجنتهایی که قرار نیست با اولین خروجی قابل قبول راضی بشن و مدام بخشهای مختلف UI رو بررسی، نقد و اصلاح کنن تا جایی که دیگه ایراد مشخصی برای اصلاح باقی نمونه.
نتیجه شد Perfection Loop.
در این اسکیل، چند سابایجنت از زاویههای مختلف خروجی رو بررسی میکنن و کار وارد یک لوپ واقعی
Review → Fix → Review میشه.https://github.com/mathofdynamic/perfection-loop
و برای رسیدن به اون خروجی نهایی، گاهی چیزی که کم داریم یک پرامپت بهتر نیست؛ یک Review سختگیرانه و یک لوپ درست تا رسیدن به کیفیت مطلوبه.
@DevTwitter | <Mohamad/>
👍17🍌14👎1
shodan-lua
شودان یکی محبوب ترین موتور های جستجو برای دستگاه های هست که در سراسر جهان به اینترنت متصلن. این ابزار به پنتستر ها و هکرها اجازه میده تا در مورد دستگاه ها و تارگت هاشون اطلاعات جمع آوری کنن و هدف های خاصی رو پیدا کن. shodan-lua یک رپر فول قابلیت برای API شودان هست که برنامه نویس ها و توسعه دهدگان زبان Lua میتونن به راحتی ازش استفاده کنن.
از کل API شودان پشتیبانی میکنه, از پلن رایگان تا membership و خیلی راحت و سریع برای استفاده هست, کاملا نوشته شده با زبان برنامه نویسی Lua ومیتونم بگم واقعا خفن شده و تمیز و راحت میتونید ازش استفاده کنید.به احتمالاتی شاید توی ویترین خود Shodan هم ببینید و به تیم شودان بابتش پیام دادم و فکر نکنم از دست بدن.
تمام توضیحات و قابلیت هارو میتونید از ریپازیتوری بخونید.
میتونید با دستور زیر و با پکیج منیجر luarocks نصب کنید:
luarocks install shodan
- لینک Github:
https://github.com/hu-matin/shodan-lua
- لینک luarocks:
https://luarocks.org/modules/humatin/shodan
@DevTwitter | <Matin Yarzadah/>
شودان یکی محبوب ترین موتور های جستجو برای دستگاه های هست که در سراسر جهان به اینترنت متصلن. این ابزار به پنتستر ها و هکرها اجازه میده تا در مورد دستگاه ها و تارگت هاشون اطلاعات جمع آوری کنن و هدف های خاصی رو پیدا کن. shodan-lua یک رپر فول قابلیت برای API شودان هست که برنامه نویس ها و توسعه دهدگان زبان Lua میتونن به راحتی ازش استفاده کنن.
از کل API شودان پشتیبانی میکنه, از پلن رایگان تا membership و خیلی راحت و سریع برای استفاده هست, کاملا نوشته شده با زبان برنامه نویسی Lua ومیتونم بگم واقعا خفن شده و تمیز و راحت میتونید ازش استفاده کنید.به احتمالاتی شاید توی ویترین خود Shodan هم ببینید و به تیم شودان بابتش پیام دادم و فکر نکنم از دست بدن.
تمام توضیحات و قابلیت هارو میتونید از ریپازیتوری بخونید.
میتونید با دستور زیر و با پکیج منیجر luarocks نصب کنید:
luarocks install shodan
- لینک Github:
https://github.com/hu-matin/shodan-lua
- لینک luarocks:
https://luarocks.org/modules/humatin/shodan
@DevTwitter | <Matin Yarzadah/>
❤5🔥5👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤7🔥1
اگه برنامهنویسی و بودجه محدودی داری، این ریپو خیلی به دردت میخوره.
اسمش stack-on-a-budget هست و یه لیست کامل از سرویسهایی رو جمع کرده که free tier خوبی دارن.
از هاستینگ و دیتابیس گرفته تا CI/CD و مانیتورینگ.
لینک:
https://github.com/255kb/stack-on-a-budget
@DevTwitter | <Reza/>
اسمش stack-on-a-budget هست و یه لیست کامل از سرویسهایی رو جمع کرده که free tier خوبی دارن.
از هاستینگ و دیتابیس گرفته تا CI/CD و مانیتورینگ.
لینک:
https://github.com/255kb/stack-on-a-budget
@DevTwitter | <Reza/>
❤24👍2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
پروژهای که Claude Code رو بدون پرداخت هیچ اشتراکی قابل استفاده کرد
این پروژه روی گیتهاب ۴۶ هزار ستاره گرفته
Claude Code رو به ۴۹ ارائهدهنده هوش مصنوعی رایگان وصل میکنه و تا ۱.۳ میلیارد توکن رایگان در ماه میده.
تنظیمش فقط ۵ دقیقه طول میکشه
لینک:
https://github.com/Alishahryar1/free-claude-code
@DevTwitter | <Reza/>
این پروژه روی گیتهاب ۴۶ هزار ستاره گرفته
Claude Code رو به ۴۹ ارائهدهنده هوش مصنوعی رایگان وصل میکنه و تا ۱.۳ میلیارد توکن رایگان در ماه میده.
تنظیمش فقط ۵ دقیقه طول میکشه
لینک:
https://github.com/Alishahryar1/free-claude-code
@DevTwitter | <Reza/>
👎29👍11❤2
استارتاپ TypeSafe AI که پشت مدل Jev قرار دارد، خبر جذب سرمایه جدیدش را به سبک متفاوتی با نام Series AI منتشر کرده است.
به جای تب و تاب معمول چتباتها، تمرکز آنها روی مدلهای به اصطلاح ماشینمحور (machine-native) یا مدلهای سیستم یک (System One) است؛ مدلهایی که هدفشان تولید متن طولانی برای انسان نیست، بلکه برای تصمیمگیریهای ساختاریافته، قطعی و سریع در لایه زیرساخت نرمافزار طراحی شدهاند.
طبق اعلام خودشان، در حال حاضر یکسوم شرکتهای Fortune 500 از مدل Jev استفاده میکنند و تمرکز دور جدید، توسعه قابلیتهای سازمانی، بهینهسازی بیشتر سمپلرها و اضافه کردن مدلهای سبکتر برای تصمیمگیری کالیبرهشده (calibrated decisions) در مقیاس عملیاتی است.
ایده جالبی است که نشان میدهد آینده هوش مصنوعی صرفاً مدلهای زبانی عظیمتر و چتباتها نیست، بلکه مدلهای تخصصی و سریعی هستند که مستقیماً داخل پایپلاینهای نرمافزاری جا میگیرند و بدون سر و صدا کار را جلو میبرند.
لینک خبر:
https://typesafe.ai/blog/series-ai
@DevTwitter | <Mehdi Allahyari/>
به جای تب و تاب معمول چتباتها، تمرکز آنها روی مدلهای به اصطلاح ماشینمحور (machine-native) یا مدلهای سیستم یک (System One) است؛ مدلهایی که هدفشان تولید متن طولانی برای انسان نیست، بلکه برای تصمیمگیریهای ساختاریافته، قطعی و سریع در لایه زیرساخت نرمافزار طراحی شدهاند.
طبق اعلام خودشان، در حال حاضر یکسوم شرکتهای Fortune 500 از مدل Jev استفاده میکنند و تمرکز دور جدید، توسعه قابلیتهای سازمانی، بهینهسازی بیشتر سمپلرها و اضافه کردن مدلهای سبکتر برای تصمیمگیری کالیبرهشده (calibrated decisions) در مقیاس عملیاتی است.
ایده جالبی است که نشان میدهد آینده هوش مصنوعی صرفاً مدلهای زبانی عظیمتر و چتباتها نیست، بلکه مدلهای تخصصی و سریعی هستند که مستقیماً داخل پایپلاینهای نرمافزاری جا میگیرند و بدون سر و صدا کار را جلو میبرند.
لینک خبر:
https://typesafe.ai/blog/series-ai
@DevTwitter | <Mehdi Allahyari/>
❤14👍7🍌1
- یکی کل مستندات توسعهدهندههای Anthropic رو توی یه ریپو گیتهاب جمع کرده.
- پروژه Claude Code Docs همه APIها، MCP، هوکها، مهارتها و آموزشها رو توی یه آرشیو محلی searchable گذاشته که هر شش ساعت اتوماتیک آپدیت میشه.
- لینک ریپو:
https://github.com/thevibeworks/claude-code-docs
@DevTwitter | <Yarad/>
- پروژه Claude Code Docs همه APIها، MCP، هوکها، مهارتها و آموزشها رو توی یه آرشیو محلی searchable گذاشته که هر شش ساعت اتوماتیک آپدیت میشه.
- لینک ریپو:
https://github.com/thevibeworks/claude-code-docs
@DevTwitter | <Yarad/>
❤19👎2🍌2
چند روز پیش تصمیم گرفتم برای اجرای لوکال پروژهم از lerd.sh استفاده کنم و تجربهی خوبی بود.
پروژهم هم لاراول داشت، هم فرانت Next.js.
چیزی که برام جالب بود، استفاده از پادمن بود؛ بدون اینکه لازم باشه درگیر نوشتن و تنظیم Dockerfile بشم.
خود ابزار هم خیلی سبکه و برای تنظیمات HTTPS هم کلی از دردسرها رو کم میکنه. ابزارهای مدیریتیش هم کاربردیان،
مخصوصاً کامند
که برای پیدا کردن مشکلات به کار میاد.
در مجموع، تجربهی باحالی بود و کار با پروژه رو برام راحتتر کرد.
https://lerd.sh/
@DevTwitter | <Sajjad Zibafar/>
پروژهم هم لاراول داشت، هم فرانت Next.js.
چیزی که برام جالب بود، استفاده از پادمن بود؛ بدون اینکه لازم باشه درگیر نوشتن و تنظیم Dockerfile بشم.
خود ابزار هم خیلی سبکه و برای تنظیمات HTTPS هم کلی از دردسرها رو کم میکنه. ابزارهای مدیریتیش هم کاربردیان،
مخصوصاً کامند
doctor که برای پیدا کردن مشکلات به کار میاد.
در مجموع، تجربهی باحالی بود و کار با پروژه رو برام راحتتر کرد.
https://lerd.sh/
@DevTwitter | <Sajjad Zibafar/>
🍌18👍11👎1
بالاخره تونستنم انتی گرویتی خودمو درست کنم اونم با این ریپو :
https://github.com/trustybird/AvenCores-open-antigravity-patcher
درحالت عادی بخاطر ریجن کشور عزیزمون نمیزاره لاگین کنید و باید به گوگل درخواست بدین ریجن عوض کنه که احتمال زیر ۱۰ درصده!
@DevTwitter | <TheAmirreza/>
https://github.com/trustybird/AvenCores-open-antigravity-patcher
درحالت عادی بخاطر ریجن کشور عزیزمون نمیزاره لاگین کنید و باید به گوگل درخواست بدین ریجن عوض کنه که احتمال زیر ۱۰ درصده!
@DevTwitter | <TheAmirreza/>
🍌57❤15👎6
اگه فردا یکی محصولت رو دوباره بسازه، چی داری که نتونه کپی کنه؟
یه ابزار اومده به اسم rea که ادعاش اینه:
هر چیزی رو مهندسی معکوس کن، بفهم چطور کار میکنه، بعد خودت بسازش!
الانم از ۱۰۰ هزار استار تو گیتهاب رد شده
به نظرم ماجرا خیلی فراتر از یه ابزار جدیده.
ما سالها فکر میکردیم «کدش دست خودمونه» یعنی یه مزیت بزرگ داریم.
ولی اگه بازسازی نرمافزار روزبهروز راحتتر بشه، چقدر میشه روی خودِ کد بهعنوان دارایی استراتژیک حساب کرد؟
احتمالاً باید بیشتر به چیزایی فکر کنیم که سختتر کپی میشن:
شناخت مشتری، داده، اعتماد و راه رسیدن به بازار.
اگه کد محصولت رو از معادله حذف کنیم، مزیتمون چیه؟
http://github.com/morluto/rea
@DevTwitter | <Amir Ghasemi/>
یه ابزار اومده به اسم rea که ادعاش اینه:
هر چیزی رو مهندسی معکوس کن، بفهم چطور کار میکنه، بعد خودت بسازش!
الانم از ۱۰۰ هزار استار تو گیتهاب رد شده
به نظرم ماجرا خیلی فراتر از یه ابزار جدیده.
ما سالها فکر میکردیم «کدش دست خودمونه» یعنی یه مزیت بزرگ داریم.
ولی اگه بازسازی نرمافزار روزبهروز راحتتر بشه، چقدر میشه روی خودِ کد بهعنوان دارایی استراتژیک حساب کرد؟
احتمالاً باید بیشتر به چیزایی فکر کنیم که سختتر کپی میشن:
شناخت مشتری، داده، اعتماد و راه رسیدن به بازار.
اگه کد محصولت رو از معادله حذف کنیم، مزیتمون چیه؟
http://github.com/morluto/rea
@DevTwitter | <Amir Ghasemi/>
🔥52👍14🍌5
بازیهای جدید و سنگین PS5 به راحتی روی دستگاه هکی کار نمیکنه و خطا PRX_NOT_RESOLVED_FUNCTION میده باید برنامه
https://github.com/gcoding97/PS5-Game-Compressor
دانلود و روی دستگاه اجرا کنید حالا فایلهای اون بازی را Image کنید و از روی Image جدید مجدد بازی را نصب کنید
@DevTwitter | <Teegra/>
https://github.com/gcoding97/PS5-Game-Compressor
دانلود و روی دستگاه اجرا کنید حالا فایلهای اون بازی را Image کنید و از روی Image جدید مجدد بازی را نصب کنید
@DevTwitter | <Teegra/>
👍26❤1
این ویدیو رو از دست ندید!
مهرزاد عزیز رفته سراغ Jev و با بیان عالیش توضیح میده که چیه و چیکار میکنه...
دیدن ویدیوهای مهرزاد فارغ از موضوع به همه توصیه میشه :) جهت لذت بردن از دیدن کسی که در عین خفن بودن...
متواضعانه آموزش میده و کنار بقیه است
https://youtu.be/mxijLTA5RTw
@DevTwitter | <Ali Rashedi/>
مهرزاد عزیز رفته سراغ Jev و با بیان عالیش توضیح میده که چیه و چیکار میکنه...
دیدن ویدیوهای مهرزاد فارغ از موضوع به همه توصیه میشه :) جهت لذت بردن از دیدن کسی که در عین خفن بودن...
متواضعانه آموزش میده و کنار بقیه است
https://youtu.be/mxijLTA5RTw
@DevTwitter | <Ali Rashedi/>
👍46🍌23🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
منبع خیلی کاربردی برای ساخت UI با AI پیدا کردم
سایت Refero Styles بیش از ۲۰۰۰ سبک طراحی واقعی از بهترین محصولات دنیا رو جمع کرده
همهشون به فرمت DESIGN.md هستن که مستقیم به ایجنت میدی و UI خیلی حرفهایتر و خوشسلیقهتری درمیاره
لینک
https://styles.refero.design/
@DevTwitter | <Reza/>
سایت Refero Styles بیش از ۲۰۰۰ سبک طراحی واقعی از بهترین محصولات دنیا رو جمع کرده
همهشون به فرمت DESIGN.md هستن که مستقیم به ایجنت میدی و UI خیلی حرفهایتر و خوشسلیقهتری درمیاره
لینک
https://styles.refero.design/
@DevTwitter | <Reza/>
🔥23❤3👍1
فرانتاند سخت نیست، تا وقتی که پروژه واقعی نشده! :)
ساختن یه صفحه با React و Tailwind شاید چند ساعت زمان ببره؛ اما ساختن سیستمی که قراره چند سال توسعه پیدا کنه، داستان کاملاً متفاوتیه.
وقتی پروژه بزرگتر میشه، دیگه فقط بحث Component ساختن و Pixel Perfect بودن نیست.
اینجاست که چالشهای واقعی شروع میشن:
معماریای که با اضافه شدن هر فیچر به هم نریزه.
بخش Performance که با افزایش حجم داده قربانی نشه.
مدیریت State بدون ایجاد وابستگیهای پیچیده.
تستنویسی، مقیاسپذیری و کدی که نفر بعدی هم بتونه بفهمه و توسعه بده.
اینجاست که نقش Software Engineering پررنگ میشه.
به نظرم یه مهندس نرمافزار صرفاً کسی نیست که بتونه یه فیچر رو پیادهسازی کنه؛ کسیه که میفهمه چرا باید یه راهحل رو انتخاب کنه، چه هزینهای داره و شش ماه بعد چه تأثیری روی کل سیستم میذاره.
نوشتن کدی که امروز کار کنه یه مهارته؛
ساختن سیستمی که فردا هم بشه روش حساب کرد، یه مهارت دیگهست!
@DevTwitter | <Mohsen Karimvand/>
ساختن یه صفحه با React و Tailwind شاید چند ساعت زمان ببره؛ اما ساختن سیستمی که قراره چند سال توسعه پیدا کنه، داستان کاملاً متفاوتیه.
وقتی پروژه بزرگتر میشه، دیگه فقط بحث Component ساختن و Pixel Perfect بودن نیست.
اینجاست که چالشهای واقعی شروع میشن:
معماریای که با اضافه شدن هر فیچر به هم نریزه.
بخش Performance که با افزایش حجم داده قربانی نشه.
مدیریت State بدون ایجاد وابستگیهای پیچیده.
تستنویسی، مقیاسپذیری و کدی که نفر بعدی هم بتونه بفهمه و توسعه بده.
اینجاست که نقش Software Engineering پررنگ میشه.
به نظرم یه مهندس نرمافزار صرفاً کسی نیست که بتونه یه فیچر رو پیادهسازی کنه؛ کسیه که میفهمه چرا باید یه راهحل رو انتخاب کنه، چه هزینهای داره و شش ماه بعد چه تأثیری روی کل سیستم میذاره.
نوشتن کدی که امروز کار کنه یه مهارته؛
ساختن سیستمی که فردا هم بشه روش حساب کرد، یه مهارت دیگهست!
@DevTwitter | <Mohsen Karimvand/>
👍77🍌15❤13
مهم
اگر از Redis در پروژههاتون استفاده میکنید، این آسیبپذیری رو جدی بگیرید
CVE-2025-49844 | CVSS 10.0
این آسیبپذیری که به اسم RedisRCE هم شناخته میشه، مربوط به یک مشکل Memory Safety از نوع Use-After-Free در اجرای اسکریپتهای Lua در Redis هست
به زبان ساده، مهاجمِ احراز هویتشده میتونه با یک اسکریپت Lua دستکاریشده، در شرایط خاص باعث استفاده از حافظهای بشه که قبلاً آزاد شده؛ موضوعی که میتونه در نهایت به اجرای کد دلخواه روی سرور منجر بشه
نکته مهم اینه که داشتن رمز عبور بهتنهایی برای امن بودن Redis کافی نیست، مخصوصاً اگر دسترسی کاربران به دستورات حساس محدود نشده باشه.
چطور از Redis محافظت کنیم؟
۱. ردیس رو به نسخهای که این آسیبپذیری در اون برطرف شده ارتقا بدید.
۲. پورت Redis رو مستقیماً روی اینترنت در دسترس قرار ندید.
۳. احراز هویت رو فعال کنید و بهجای یک کاربر مشترک، از ACL برای محدود کردن دسترسی هر سرویس استفاده کنید.
۴. دسترسی به اجرای اسکریپتهای Lua رو فقط به کاربرانی بدید که واقعاً بهش نیاز دارن.
۵. اگر Redis رو با Docker اجرا میکنید، پورتها رو بیدلیل Publish نکنید و ارتباط با Redis رو به شبکه داخلی و سرویسهای مجاز محدود کنید.
برای Redis Open Source، نسخههای اصلاحشده شامل 8.2.2، 8.0.4، 7.4.6، 7.2.11 و نسخههای بعدی هر شاخه هستند. برای شاخههای قدیمیتر و Redis Software، نسخه اصلاحشده متفاوت است؛ قبل از ارتقا، جدول رسمی نسخهها رو بررسی کنید.
یک نکته مهم در DevOps:
امنیت دیتابیس فقط به رمز عبور قوی محدود نمیشه؛ نسخه نرمافزار، سطح دسترسی کاربران و محدودیت دسترسی شبکه هم به همون اندازه اهمیت دارن.
منبع رسمی:
https://redis.io/blog/security-advisory-cve-2025-49844/
@DevTwitter | <ali sahrayi/>
اگر از Redis در پروژههاتون استفاده میکنید، این آسیبپذیری رو جدی بگیرید
CVE-2025-49844 | CVSS 10.0
این آسیبپذیری که به اسم RedisRCE هم شناخته میشه، مربوط به یک مشکل Memory Safety از نوع Use-After-Free در اجرای اسکریپتهای Lua در Redis هست
به زبان ساده، مهاجمِ احراز هویتشده میتونه با یک اسکریپت Lua دستکاریشده، در شرایط خاص باعث استفاده از حافظهای بشه که قبلاً آزاد شده؛ موضوعی که میتونه در نهایت به اجرای کد دلخواه روی سرور منجر بشه
نکته مهم اینه که داشتن رمز عبور بهتنهایی برای امن بودن Redis کافی نیست، مخصوصاً اگر دسترسی کاربران به دستورات حساس محدود نشده باشه.
چطور از Redis محافظت کنیم؟
۱. ردیس رو به نسخهای که این آسیبپذیری در اون برطرف شده ارتقا بدید.
۲. پورت Redis رو مستقیماً روی اینترنت در دسترس قرار ندید.
۳. احراز هویت رو فعال کنید و بهجای یک کاربر مشترک، از ACL برای محدود کردن دسترسی هر سرویس استفاده کنید.
۴. دسترسی به اجرای اسکریپتهای Lua رو فقط به کاربرانی بدید که واقعاً بهش نیاز دارن.
۵. اگر Redis رو با Docker اجرا میکنید، پورتها رو بیدلیل Publish نکنید و ارتباط با Redis رو به شبکه داخلی و سرویسهای مجاز محدود کنید.
برای Redis Open Source، نسخههای اصلاحشده شامل 8.2.2، 8.0.4، 7.4.6، 7.2.11 و نسخههای بعدی هر شاخه هستند. برای شاخههای قدیمیتر و Redis Software، نسخه اصلاحشده متفاوت است؛ قبل از ارتقا، جدول رسمی نسخهها رو بررسی کنید.
یک نکته مهم در DevOps:
امنیت دیتابیس فقط به رمز عبور قوی محدود نمیشه؛ نسخه نرمافزار، سطح دسترسی کاربران و محدودیت دسترسی شبکه هم به همون اندازه اهمیت دارن.
منبع رسمی:
https://redis.io/blog/security-advisory-cve-2025-49844/
@DevTwitter | <ali sahrayi/>
❤9🔥4🍌1
این روزها عنوانهای Agentic Developer (توسعهدهندهٔ مسلط به عاملها) و AI-powered Developer (توسعهدهندهٔ توانمند با هوش مصنوعی) را زیاد میبینیم.
اما استفاده از ابزارهای کدنویسی کافی است که خودمان را با این عنوانها معرفی کنیم؟
به نظرم معیار، تعداد ابزارها نیست؛ این است که چه کاری را میتوانیم واگذار کنیم، چطور درستی نتیجه را بسنجیم و کجا کنترل را نگه داریم.
این ۹ گام، یک نقشهٔ پیشنهادی برای پیدا کردن جای خودمان است؛ نه یک استاندارد رسمی.
۱. کمک بگیر، اما بفهم
از هوش مصنوعی برای توضیح کد و تحلیل خطا کمک بگیر.
نشانهٔ آمادگی: بتوانی پاسخ را توضیح بدهی و بخشهای نامطمئنش را تشخیص بدهی.
۲. مسئله را روشن کن
قبل از Prompt، هدف، محدودیت و Acceptance Criteria (معیار پذیرش) را بنویس.
نشانهٔ آمادگی: قبل از گرفتن پاسخ، بدانی خروجی قابلقبول چیست.
۳. زمینهٔ درست فراهم کن
با Context Engineering (طراحی زمینه)، فایلها، قواعد و اطلاعات مرتبط را در اختیار مدل بگذار؛ نه کل پروژه را بیهدف.
نشانهٔ آمادگی: کمتر مجبور شوی حدسهای اشتباه مدل را اصلاح کنی.
۴. با شواهد اعتماد کن
با Verification (راستیآزمایی)، خروجی را تست و بازبینی کن. تستهای تولیدشده هم نیاز به بررسی دارند.
نشانهٔ آمادگی: دلیل پذیرش تغییر، شواهد باشد؛ نه توضیح قانعکنندهٔ مدل.
۵. کار را قابلکنترل کن
با Task Decomposition (تقسیم کار)، درخواست بزرگ را به طرح، تغییرات کوچک، تست و بازبینی بشکن.
نشانهٔ آمادگی: بتوانی هر بخش را مستقل بفهمی و اصلاح کنی.
۶. روش تکرارپذیر بساز
یک Workflow (گردشکار) مشخص برای کاری مثل رفع باگ تعریف کن: بازتولید، تست، اصلاح و بازبینی.
نشانهٔ آمادگی: خودت و همکارت بتوانید این روش را روی چند کار مشابه تکرار کنید.
۷. اختیار محدود واگذار کن
به Agent (عامل اجرایی) کار چندمرحلهای بده؛ با دسترسی محدود، نقاط تأیید و امکان Rollback (بازگردانی).
نشانهٔ آمادگی: بتوانی اجرا را بررسی و متوقف کنی و تغییرات را برگردانی.
۸. اثر واقعی را بسنج
در Evaluation (ارزیابی)، زمان کل، بازبینی، دوبارهکاری، خطا و هزینه را با روش قبلی مقایسه کن.
نشانهٔ آمادگی: بدانی هوش مصنوعی کجا کمک میکند و کجا نه.
۹. مسئلهٔ بهتری حل کن
با Product Thinking (تفکر محصولی)، بپرس: آیا این قابلیت لازم است؟ آیا گلوگاه واقعاً کدنویسی است؟
نشانهٔ آمادگی: اثر کارت در نتیجهٔ محصول دیده شود، نه فقط حجم کد.
ممکن است در تستنویسی قدم هفتم باشی و در معماری قدم دوم؛ طبیعی است. بلوغ بیشتر هم الزاماً یعنی اختیار بیشتر دادن نیست؛ یعنی واگذاری متناسب با ریسک.
برای معرفی تواناییات، بهجای یک عنوان کلی، شواهد بده:
«رفع باگ را با گردشکار مشخص، تست و بازبینی انجام میدهم.»
حالا قدم بعدی را مشخص کن:
«در کارِ …، در قدمِ … هستم و این هفته روی … تمرین میکنم.»
هدف، واگذاری فهمیدن نیست؛ تقویت توان تصمیمگیری ماست.
@DevTwitter | <HamidReza Madani/>
اما استفاده از ابزارهای کدنویسی کافی است که خودمان را با این عنوانها معرفی کنیم؟
به نظرم معیار، تعداد ابزارها نیست؛ این است که چه کاری را میتوانیم واگذار کنیم، چطور درستی نتیجه را بسنجیم و کجا کنترل را نگه داریم.
این ۹ گام، یک نقشهٔ پیشنهادی برای پیدا کردن جای خودمان است؛ نه یک استاندارد رسمی.
۱. کمک بگیر، اما بفهم
از هوش مصنوعی برای توضیح کد و تحلیل خطا کمک بگیر.
نشانهٔ آمادگی: بتوانی پاسخ را توضیح بدهی و بخشهای نامطمئنش را تشخیص بدهی.
۲. مسئله را روشن کن
قبل از Prompt، هدف، محدودیت و Acceptance Criteria (معیار پذیرش) را بنویس.
نشانهٔ آمادگی: قبل از گرفتن پاسخ، بدانی خروجی قابلقبول چیست.
۳. زمینهٔ درست فراهم کن
با Context Engineering (طراحی زمینه)، فایلها، قواعد و اطلاعات مرتبط را در اختیار مدل بگذار؛ نه کل پروژه را بیهدف.
نشانهٔ آمادگی: کمتر مجبور شوی حدسهای اشتباه مدل را اصلاح کنی.
۴. با شواهد اعتماد کن
با Verification (راستیآزمایی)، خروجی را تست و بازبینی کن. تستهای تولیدشده هم نیاز به بررسی دارند.
نشانهٔ آمادگی: دلیل پذیرش تغییر، شواهد باشد؛ نه توضیح قانعکنندهٔ مدل.
۵. کار را قابلکنترل کن
با Task Decomposition (تقسیم کار)، درخواست بزرگ را به طرح، تغییرات کوچک، تست و بازبینی بشکن.
نشانهٔ آمادگی: بتوانی هر بخش را مستقل بفهمی و اصلاح کنی.
۶. روش تکرارپذیر بساز
یک Workflow (گردشکار) مشخص برای کاری مثل رفع باگ تعریف کن: بازتولید، تست، اصلاح و بازبینی.
نشانهٔ آمادگی: خودت و همکارت بتوانید این روش را روی چند کار مشابه تکرار کنید.
۷. اختیار محدود واگذار کن
به Agent (عامل اجرایی) کار چندمرحلهای بده؛ با دسترسی محدود، نقاط تأیید و امکان Rollback (بازگردانی).
نشانهٔ آمادگی: بتوانی اجرا را بررسی و متوقف کنی و تغییرات را برگردانی.
۸. اثر واقعی را بسنج
در Evaluation (ارزیابی)، زمان کل، بازبینی، دوبارهکاری، خطا و هزینه را با روش قبلی مقایسه کن.
نشانهٔ آمادگی: بدانی هوش مصنوعی کجا کمک میکند و کجا نه.
۹. مسئلهٔ بهتری حل کن
با Product Thinking (تفکر محصولی)، بپرس: آیا این قابلیت لازم است؟ آیا گلوگاه واقعاً کدنویسی است؟
نشانهٔ آمادگی: اثر کارت در نتیجهٔ محصول دیده شود، نه فقط حجم کد.
ممکن است در تستنویسی قدم هفتم باشی و در معماری قدم دوم؛ طبیعی است. بلوغ بیشتر هم الزاماً یعنی اختیار بیشتر دادن نیست؛ یعنی واگذاری متناسب با ریسک.
برای معرفی تواناییات، بهجای یک عنوان کلی، شواهد بده:
«رفع باگ را با گردشکار مشخص، تست و بازبینی انجام میدهم.»
حالا قدم بعدی را مشخص کن:
«در کارِ …، در قدمِ … هستم و این هفته روی … تمرین میکنم.»
هدف، واگذاری فهمیدن نیست؛ تقویت توان تصمیمگیری ماست.
@DevTwitter | <HamidReza Madani/>
❤16👍5🍌1
امروز یه مقدار بیکار بودم گفتم Notepad++ رو برای mac os با rust بازنویسی کنم. نتیجه به نظرم خیلی خوب شد. خودم که خیلی بهش نیاز داشتم و اپ های مشابه رو نمیپسندیدم. اگه خواستید این لینک گیتهابم
https://github.com/sonatina-dream/Linewright
@DevTwitter | <Sonata/>
https://github.com/sonatina-dream/Linewright
@DevTwitter | <Sonata/>
🍌86❤15👎5
اساتید، مهندسین نرمافزار و توسعهدهندگان ایرانی و خارجی!
یک مقالهی جدید آماده کردیم که میتونه برای تقویت مهارتهای فنی و آمادگی برای مصاحبههای استخدامی در گوگل و شرکتهای بزرگ تکنولوژی بهتون کمک کنه.
توی این مقاله دربارهی Big-O درگونگ صحبت کردیم؛ از تحلیل پیچیدگی زمانی و فضایی الگوریتمها گرفته تا نوشتن کدهای بهینهتر و کارآمدتر.
اگه میخواید دانش الگوریتمی خودتون رو تقویت کنید و برای چالشهای مصاحبههای فنی آمادهتر باشید، این مقاله رو از دست ندید!
https://medium.com/@milwad.dev/big-o-in-go-a-practical-guide-for-software-engineers-4812016dd1dd
@DevTwitter | <Milwad Khosravi/>
یک مقالهی جدید آماده کردیم که میتونه برای تقویت مهارتهای فنی و آمادگی برای مصاحبههای استخدامی در گوگل و شرکتهای بزرگ تکنولوژی بهتون کمک کنه.
توی این مقاله دربارهی Big-O درگونگ صحبت کردیم؛ از تحلیل پیچیدگی زمانی و فضایی الگوریتمها گرفته تا نوشتن کدهای بهینهتر و کارآمدتر.
اگه میخواید دانش الگوریتمی خودتون رو تقویت کنید و برای چالشهای مصاحبههای فنی آمادهتر باشید، این مقاله رو از دست ندید!
https://medium.com/@milwad.dev/big-o-in-go-a-practical-guide-for-software-engineers-4812016dd1dd
@DevTwitter | <Milwad Khosravi/>
1🍌21❤6👎1