هشدار به کاربران رمهای DDR5: در کمتر از ۲ دقیقه هک میشوید!
«آسیبپذیری سختافزاری» نوعی مشکل در ذات قطعات الکترونیکی است و برخلاف مشکلات نرمافزاری، اصلاحاش بسیار سختتر است.
حالا محققان دانشگاه ETH زوریخ و گوگل از یک «آسیبپذیری سختافزاری» پرده برداشتهاند که در قلب حافظههای رم (RAM) کمین کرده. این رخنه امنیتی که «ققنوس» نام گرفته نسل جدید حافظههای DDR5 و بهویژه تراشههای ساخت شرکت مشهور SK Hynix را هدف میگیرد.
آسیبپذیری ققنوس چیست؟
ققنوس مدل جدیدی از آسیبپذیری RowHammer است که از چند سال قبل شناخته شده بود. این آسیبپذیری به زبان ساده مثل ضربه زدن پیاپی به قفسه کتابها است. اگر به یک ردیف بیش از حد کوبیده شود، قفسه کناری هم تکان میخورد و کتابهای آن از جایش میافتند.
در چیپهای حافظه همین اتفاق رخ میدهد؛ با دستکاری مکرر یک ردیف، دادههای ردیفهای کناری دچار «بیت فلاپ» شده و بین صفر و یک جابجا میشوند. این تغییرات کوچک در ظاهر بیاهمیتاند، اما مهاجمان با همین روش به سیستم دسترسی غیرمجاز پیدا میکنند.
در ایران حافظههای RAM برند SK به دلیل قیمت مناسب سهم قابل توجهی از بازار را در اختیار دارند. همین باعث میشود بخشی از کاربران خانگی و حتی کسبوکارها ناخواسته در معرض ریسک قرار گیرند.
ققنوس از خاکستر برمیخیزد
سازندگان حافظه از این آسیبپذیری آگاه بودند و برای مقابله با آن سپرهای دفاعی مختلفی را طراحی کردند. اما حمله ققنوس نشان داد که این سپرها دیگر کافی نیستند.
ابزارهایی که قرار بود جلوی این نقص را بگیرند (مانند تصحیح خطای ECC) در برابر حملهی ققنوس کارایی ندارند.
روش جدید بهحدی خطرناک است که همه ۱۵ تراشه DDR5 آزمایششده (تولید سالهای ۲۰۲۱ تا ۲۰۲۴) در برابر آن تسلیم شدند. هکرها با استفاده از این تکنیک میتوانند:
• کلید اصلی را بدزدند: با تغییر دادن چند صفر و یک در جای درست، مهاجم به سیستم میقبولاند که مدیر اصلی (روت) است و کنترل کامل کامپیوتر را در دست بگیرد.
• قفلهای امنیتی را بشکنند: این حمله میتواند کلیدهای رمزنگاری را تخریب کرده و به اطلاعات حساس مانند رمزهای عبور دسترسی پیدا کند.
ترسناکتر اینکه تمام این فرآیند در کمتر از دو دقیقه (حدود ۱۰۹ ثانیه) روی یک سیستم استاندارد و بهروز قابل اجراست.
راه چاره چیست؟
مشکل اینجاست که ققنوس یک ضعف سختافزاری است، نه نرمافزاری. بنابراین نمیشود آن را با یک آپدیت ساده یا نصب وصله امنیتی برطرف کرد. تراشههایی که بین سالهای ۲۰۲۱ تا ۲۰۲۴ تولید شدهاند، این ضعف را در ذات خود دارند و برای سالها آسیبپذیر باقی خواهند ماند.
محققان توصیه کردهاند که نرخ بازخوانی (Refresh Rate) حافظه تا سه برابر افزایش یابد تا این روش خنثی شود، اما همین هم راهکاری موقت و تخصصی است.
@DevTwitter | <NooshDaroo/>
«آسیبپذیری سختافزاری» نوعی مشکل در ذات قطعات الکترونیکی است و برخلاف مشکلات نرمافزاری، اصلاحاش بسیار سختتر است.
حالا محققان دانشگاه ETH زوریخ و گوگل از یک «آسیبپذیری سختافزاری» پرده برداشتهاند که در قلب حافظههای رم (RAM) کمین کرده. این رخنه امنیتی که «ققنوس» نام گرفته نسل جدید حافظههای DDR5 و بهویژه تراشههای ساخت شرکت مشهور SK Hynix را هدف میگیرد.
آسیبپذیری ققنوس چیست؟
ققنوس مدل جدیدی از آسیبپذیری RowHammer است که از چند سال قبل شناخته شده بود. این آسیبپذیری به زبان ساده مثل ضربه زدن پیاپی به قفسه کتابها است. اگر به یک ردیف بیش از حد کوبیده شود، قفسه کناری هم تکان میخورد و کتابهای آن از جایش میافتند.
در چیپهای حافظه همین اتفاق رخ میدهد؛ با دستکاری مکرر یک ردیف، دادههای ردیفهای کناری دچار «بیت فلاپ» شده و بین صفر و یک جابجا میشوند. این تغییرات کوچک در ظاهر بیاهمیتاند، اما مهاجمان با همین روش به سیستم دسترسی غیرمجاز پیدا میکنند.
در ایران حافظههای RAM برند SK به دلیل قیمت مناسب سهم قابل توجهی از بازار را در اختیار دارند. همین باعث میشود بخشی از کاربران خانگی و حتی کسبوکارها ناخواسته در معرض ریسک قرار گیرند.
ققنوس از خاکستر برمیخیزد
سازندگان حافظه از این آسیبپذیری آگاه بودند و برای مقابله با آن سپرهای دفاعی مختلفی را طراحی کردند. اما حمله ققنوس نشان داد که این سپرها دیگر کافی نیستند.
ابزارهایی که قرار بود جلوی این نقص را بگیرند (مانند تصحیح خطای ECC) در برابر حملهی ققنوس کارایی ندارند.
روش جدید بهحدی خطرناک است که همه ۱۵ تراشه DDR5 آزمایششده (تولید سالهای ۲۰۲۱ تا ۲۰۲۴) در برابر آن تسلیم شدند. هکرها با استفاده از این تکنیک میتوانند:
• کلید اصلی را بدزدند: با تغییر دادن چند صفر و یک در جای درست، مهاجم به سیستم میقبولاند که مدیر اصلی (روت) است و کنترل کامل کامپیوتر را در دست بگیرد.
• قفلهای امنیتی را بشکنند: این حمله میتواند کلیدهای رمزنگاری را تخریب کرده و به اطلاعات حساس مانند رمزهای عبور دسترسی پیدا کند.
ترسناکتر اینکه تمام این فرآیند در کمتر از دو دقیقه (حدود ۱۰۹ ثانیه) روی یک سیستم استاندارد و بهروز قابل اجراست.
راه چاره چیست؟
مشکل اینجاست که ققنوس یک ضعف سختافزاری است، نه نرمافزاری. بنابراین نمیشود آن را با یک آپدیت ساده یا نصب وصله امنیتی برطرف کرد. تراشههایی که بین سالهای ۲۰۲۱ تا ۲۰۲۴ تولید شدهاند، این ضعف را در ذات خود دارند و برای سالها آسیبپذیر باقی خواهند ماند.
محققان توصیه کردهاند که نرخ بازخوانی (Refresh Rate) حافظه تا سه برابر افزایش یابد تا این روش خنثی شود، اما همین هم راهکاری موقت و تخصصی است.
@DevTwitter | <NooshDaroo/>
🔥22❤11👍3
من کپچای آرکپچا رو دیدم، خوب بود ولی پولی بود، بنابراین یکی خودم نوشتم:
https://github.com/mojtabaasadi/urcapcha
@DevTwitter | <Moji/>
https://github.com/mojtabaasadi/urcapcha
@DevTwitter | <Moji/>
🔥29👍7❤4👎2
مایکروسافت یه دورهی خیلی خفن برای MCP منتشر کرده!
این دوره بیشتر حالت دستبهکار شدن داره و فقط تئوری نیست. توش قراره از پایه تا پیشرفته رو یاد بگیریم. مثلاً:
اصلاً MCP چیه و چرا مهمه؟
مفاهیم اصلی و ساختار معماریش
نکات امنیتی که باید رعایت بشه
چطور اولین MCP سرور خودتو بسازی
توسعه، تست و دیپلوی اپهای MCP با ابزارای واقعی
ساخت ایجنتهای هوش مصنوعی امن، مقیاسپذیر و حتی چندحالته
تجربههای کسایی که زودتر از بقیه از MCP استفاده کردن
بهترین پرکتیسها و نمونههای واقعی
تمرین عملی توی VS Code برای ساخت ایجنت
آشنایی با FastMCP (SDK مخصوص پایتون)
استفاده از MCP برای اتصال به ابزارها و سرویسهای مختلف (از Azure و Dataverse گرفته تا APIها)
حتی ساخت ایجنتهای اتوماسیون مرورگر!
خلاصه که اگه دنبال اینی با MCP از نزدیک کار کنی و بفهمی چه پتانسیل بزرگی داره، این دوره میتونه خیلی به کارت بیاد.
لینک دوره اینجاست:
https://www.youtube.com/playlist?list=PLlrxD0HtieHjYfVUpGl_-ai7D6FRBjV-d
@DevTwitter | <Mohsen Rad/>
این دوره بیشتر حالت دستبهکار شدن داره و فقط تئوری نیست. توش قراره از پایه تا پیشرفته رو یاد بگیریم. مثلاً:
اصلاً MCP چیه و چرا مهمه؟
مفاهیم اصلی و ساختار معماریش
نکات امنیتی که باید رعایت بشه
چطور اولین MCP سرور خودتو بسازی
توسعه، تست و دیپلوی اپهای MCP با ابزارای واقعی
ساخت ایجنتهای هوش مصنوعی امن، مقیاسپذیر و حتی چندحالته
تجربههای کسایی که زودتر از بقیه از MCP استفاده کردن
بهترین پرکتیسها و نمونههای واقعی
تمرین عملی توی VS Code برای ساخت ایجنت
آشنایی با FastMCP (SDK مخصوص پایتون)
استفاده از MCP برای اتصال به ابزارها و سرویسهای مختلف (از Azure و Dataverse گرفته تا APIها)
حتی ساخت ایجنتهای اتوماسیون مرورگر!
خلاصه که اگه دنبال اینی با MCP از نزدیک کار کنی و بفهمی چه پتانسیل بزرگی داره، این دوره میتونه خیلی به کارت بیاد.
لینک دوره اینجاست:
https://www.youtube.com/playlist?list=PLlrxD0HtieHjYfVUpGl_-ai7D6FRBjV-d
@DevTwitter | <Mohsen Rad/>
❤24👍8👎2
This media is not supported in your browser
VIEW IN TELEGRAM
اکستنشن ذخیره و تغیر نشست سایت ها با قابلیت ویرایش کوکی برای کروم منتشر شد.
چند کاربرد جالب این افزونه :
رفع محدودیت لاگین در چت بات ها
رفع محدودیت لاگین های زیاد در تلگرام وب
️ لاگین سریع به اکانت های مختلف سایت ها
مشاهده و ویرایش کوکی ها
دانلود و ارسال نشست به دستگاه های دیگر
لینک نصب از کروم استور
@DevTwitter | <امید زاهدی/>
چند کاربرد جالب این افزونه :
رفع محدودیت لاگین در چت بات ها
رفع محدودیت لاگین های زیاد در تلگرام وب
️ لاگین سریع به اکانت های مختلف سایت ها
مشاهده و ویرایش کوکی ها
دانلود و ارسال نشست به دستگاه های دیگر
لینک نصب از کروم استور
@DevTwitter | <امید زاهدی/>
👍21❤6👎1🔥1
مدیریت وظایف (تسک ها) ترمینالی - MyTasks
برنامهنویسان عزیز! دیگه نیازی به نرمافزارهای سنگین مدیریت وظایف نیست
Mytasks
یه ابزار ساده، سریع و کاربردیه که مستقیم توی ترمینال اجرا میشه.
چرا MyTasks؟
تقویم شمسی داخلی – بدون دردسر تبدیل تاریخ
سریع و سبک – اجرا فقط در ترمینال
ساده و کاربردی – کنترل با کلیدهای جهتدار
اوپنسورس
نحوه استفاده:
کافیه بنویسی:
mytasks
سورسکد و مستندات:
https://github.com/aminrms/cli-task-manager
@DevTwitter | <Amin Ramezani/>
برنامهنویسان عزیز! دیگه نیازی به نرمافزارهای سنگین مدیریت وظایف نیست
Mytasks
یه ابزار ساده، سریع و کاربردیه که مستقیم توی ترمینال اجرا میشه.
چرا MyTasks؟
تقویم شمسی داخلی – بدون دردسر تبدیل تاریخ
سریع و سبک – اجرا فقط در ترمینال
ساده و کاربردی – کنترل با کلیدهای جهتدار
اوپنسورس
نحوه استفاده:
کافیه بنویسی:
mytasks
سورسکد و مستندات:
https://github.com/aminrms/cli-task-manager
@DevTwitter | <Amin Ramezani/>
🔥24👎14❤6👍2
اگر برای CVEها دنبال PoC میگردین این چیز خوبیه
https://github.com/0xMarcio/cve
@DevTwitter | <iM4n Emperor/>
https://github.com/0xMarcio/cve
@DevTwitter | <iM4n Emperor/>
👍7❤3👎2🔥1
الکامپ امسال باحال بود، ولی شبیه هر سال...
ارائهی جدیدی نبود.
کلی هم چتبات هوش مصنوعی زده بودن.
با وجود تکراری بودن و کپی بودن خیلی چیزا که اسمش «اولین...» بود، ارزشش رو داشت.
دم همتون گرم، تو این شرایط و اوضاع همین نمایشگاهها هم کیف میده.
ارائهی جدیدی نبود.
کلی هم چتبات هوش مصنوعی زده بودن.
با وجود تکراری بودن و کپی بودن خیلی چیزا که اسمش «اولین...» بود، ارزشش رو داشت.
دم همتون گرم، تو این شرایط و اوضاع همین نمایشگاهها هم کیف میده.
👎115👍59❤8🔥1
دوره های خوبی هستش به نظرم ،
دورههای فریلنسینگ و دیجیتال مارکتینگ
ببینید هرکدوم رو که نیاز داشتید سریع و رایگان دانلود کنید تا برداشته نشده
https://drive.google.com/drive/mobile/folders/1ezDZ3uDplBOjbuBGw1qxzzD64tiXhtDt?usp=sharing
Pass: hackinsider
@DevTwitter | <Mr.programmer/>
دورههای فریلنسینگ و دیجیتال مارکتینگ
ببینید هرکدوم رو که نیاز داشتید سریع و رایگان دانلود کنید تا برداشته نشده
https://drive.google.com/drive/mobile/folders/1ezDZ3uDplBOjbuBGw1qxzzD64tiXhtDt?usp=sharing
Pass: hackinsider
@DevTwitter | <Mr.programmer/>
👍14👎11❤5🔥1
👎73🔥38👍11❤6
بیشتر از ۱۰ هزار خط کد پایتون برای یه wrapper ساده روی yt-dlp
درحال ریفکتور سنگین بلاخره کدبیسشو تر تمیز کردم معماری که میخواستمو پیاده کردم. ولی احساس میکنم خریت بود از mvc تغییر دادن به این وضعیت.
ریفکتور با برکتی بود دو سه تا فیچر هم اضافه کردم نه همه ی اونهایی که قولشو داده بودم ولی سابتایتلو اضافه کردم, دانلود جداگونه ی صوت تصویر ویدیو یوتوب رو هم اضافه کردم کوکی دیتکشن رو هم اضافه کردم.
یسری دکمه هارو هم حذف کردم اتوماتیک تشخیص بده خودش, ریز کاری و تست اضافه کردن. یسری باگ ریز مونده حلشون بکنم docker اضافه بکنم با یه اکشن ریز تمومه منتشر میشه
هنوز کامل کامل نشده یسری ریز کاری و باگ داره باید اوکی بشن ولی روی این برنچ درحال توسعه ام.
میخواستم soundcloud رو هم اضافه بکنم دردسرش زیاده خودمم استفاده ندارم وقت هم کمه شاید اون رو حذف بکنم. دکمه لاگین اینستا رو هم حذف میکنم همین حالت منشترش میکنم
https://github.com/MSC72m/media_downloader/tree/development
@DevTwitter | <Mohammad Sadeghian/>
درحال ریفکتور سنگین بلاخره کدبیسشو تر تمیز کردم معماری که میخواستمو پیاده کردم. ولی احساس میکنم خریت بود از mvc تغییر دادن به این وضعیت.
ریفکتور با برکتی بود دو سه تا فیچر هم اضافه کردم نه همه ی اونهایی که قولشو داده بودم ولی سابتایتلو اضافه کردم, دانلود جداگونه ی صوت تصویر ویدیو یوتوب رو هم اضافه کردم کوکی دیتکشن رو هم اضافه کردم.
یسری دکمه هارو هم حذف کردم اتوماتیک تشخیص بده خودش, ریز کاری و تست اضافه کردن. یسری باگ ریز مونده حلشون بکنم docker اضافه بکنم با یه اکشن ریز تمومه منتشر میشه
هنوز کامل کامل نشده یسری ریز کاری و باگ داره باید اوکی بشن ولی روی این برنچ درحال توسعه ام.
میخواستم soundcloud رو هم اضافه بکنم دردسرش زیاده خودمم استفاده ندارم وقت هم کمه شاید اون رو حذف بکنم. دکمه لاگین اینستا رو هم حذف میکنم همین حالت منشترش میکنم
https://github.com/MSC72m/media_downloader/tree/development
@DevTwitter | <Mohammad Sadeghian/>
🔥39❤7👎6👍1
همیشه متدهای استرینگ توی JS رو یادم میرفت، برای همین یه فایل شخصی داشتم که همهشونو با توضیح نوشته بودم.
تو دوران قطعی اینترنت خیلی به دردم خورد.
بعدش یه مینیاپ ساختم که همین کارو میکنه: توضیح و مثال برای متدها.
ولی الان که همه با AI کار میکنن، حس کردم شاید دیگه به درد کسی نخوره و انتشارش بیفایده باشه چون مشکلی از کسی حل نمیکنه...
به نظرتون منتشرش کنم تو گیتهاب DevTwitter یا نه؟
لایک یا دیسلایک بدید که بدونم.
تو دوران قطعی اینترنت خیلی به دردم خورد.
بعدش یه مینیاپ ساختم که همین کارو میکنه: توضیح و مثال برای متدها.
ولی الان که همه با AI کار میکنن، حس کردم شاید دیگه به درد کسی نخوره و انتشارش بیفایده باشه چون مشکلی از کسی حل نمیکنه...
به نظرتون منتشرش کنم تو گیتهاب DevTwitter یا نه؟
لایک یا دیسلایک بدید که بدونم.
👍224👎23❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
الان با این ابزارهای AI ای که اومده میشه خیلی سریع، واقعا وب سایتهای خیلی قشنگی طراحی کرد. مدت زمانی که طول میکشه اصلا قابل مقایسه نیست. مثلا یک نفر اومده و با استفاده از اپ bolt یک landing page ساخته و هم کدش را گذاشته و هم همه پرامپت ها و کلا روش کارش را.ویدیوی پایین خود landige page نهایی است.
لینک به پرامپت و خود صفحه ای که درست کرده اینجا هست:
https://reflective-index-19c.notion.site/Bolt-Prompt-27cba954f16780b18047c415c0828623
@DevTwitter | <Mehdi Allahyari/>
لینک به پرامپت و خود صفحه ای که درست کرده اینجا هست:
https://reflective-index-19c.notion.site/Bolt-Prompt-27cba954f16780b18047c415c0828623
@DevTwitter | <Mehdi Allahyari/>
👎19👍15❤3🔥1
کلاد سونت ۴.۵ اومد با عنوان بهترین مدل کدنویسی در جهان.
رکوردهاش هم توی بنچمارکها جالبه، بیشتر جاها عملکرد بالاتر از Opus 4.1.
اکستنشن Claude for Chrome هم برای کسایی که توی لیست انتظار بودن در دسترس قرار گرفت.
یه ویژگی ساخت فایل هم به چتبات اضافه شده و میتونه براتون اسلاید و داک بسازه.
واکنشها خوب بوده و میگن بیشترین جهش عملکرد رو از زمان معرفی Sonnet 3.6 داشته.
این مدل میتونه بیشتر از ۳۰ ساعت به صورت خودکار روی پروژههای چند مرحلهای کار کنه. برای Opus 4 عددش ۷ ساعت هست، این نیاز نظارت رو کم میکنه و رسما بیش از ۱ روز میتونه خودکار فعالیت خودشرو ادامه بده.
@DevTwitter | <Soroush Ahmadi/>
رکوردهاش هم توی بنچمارکها جالبه، بیشتر جاها عملکرد بالاتر از Opus 4.1.
اکستنشن Claude for Chrome هم برای کسایی که توی لیست انتظار بودن در دسترس قرار گرفت.
یه ویژگی ساخت فایل هم به چتبات اضافه شده و میتونه براتون اسلاید و داک بسازه.
واکنشها خوب بوده و میگن بیشترین جهش عملکرد رو از زمان معرفی Sonnet 3.6 داشته.
این مدل میتونه بیشتر از ۳۰ ساعت به صورت خودکار روی پروژههای چند مرحلهای کار کنه. برای Opus 4 عددش ۷ ساعت هست، این نیاز نظارت رو کم میکنه و رسما بیش از ۱ روز میتونه خودکار فعالیت خودشرو ادامه بده.
@DevTwitter | <Soroush Ahmadi/>
👍27👎6❤4🔥1
توی این ویدیو یه سری از مواردی که وقتی میخوایم یه کدی رو بزاریم توی گیتهاب، لازم میشه رو گفتم...
مثل اینا:
- لزوم داشتن gitignore اگر فایلی داریم که نمیخوایم بره تو گیت
- لروم داشتن env برای توکنها که نرن تو گیت
- یا مثلا داشتن requirements.txt مخصوصا برای پروژههای پایتونی که راحتتر لانچ بشن توسط افراد...
- در آخر هم یه مقداری streamlit بازی کردیم...
https://www.youtube.com/watch?v=v4Hm98Q3eEI&list=PLwUWEGKy5kyP7pUFE-vPDDtXgQ8Ty4ohd&index=5
پ.ن: این ویدیو فاز AI نداره و یه طورایی بیشتر سمت برنامهنویسی و ایناست خلاصه...
@DevTwitter | <ًRyan Heida/>
مثل اینا:
- لزوم داشتن gitignore اگر فایلی داریم که نمیخوایم بره تو گیت
- لروم داشتن env برای توکنها که نرن تو گیت
- یا مثلا داشتن requirements.txt مخصوصا برای پروژههای پایتونی که راحتتر لانچ بشن توسط افراد...
- در آخر هم یه مقداری streamlit بازی کردیم...
https://www.youtube.com/watch?v=v4Hm98Q3eEI&list=PLwUWEGKy5kyP7pUFE-vPDDtXgQ8Ty4ohd&index=5
پ.ن: این ویدیو فاز AI نداره و یه طورایی بیشتر سمت برنامهنویسی و ایناست خلاصه...
@DevTwitter | <ًRyan Heida/>
❤14👍4👎2🔥1
DevTwitter | توییت برنامه نویسی
همیشه متدهای استرینگ توی JS رو یادم میرفت، برای همین یه فایل شخصی داشتم که همهشونو با توضیح نوشته بودم. تو دوران قطعی اینترنت خیلی به دردم خورد. بعدش یه مینیاپ ساختم که همین کارو میکنه: توضیح و مثال برای متدها. ولی الان که همه با AI کار میکنن، حس کردم…
یه مینیاپ که متدهای استرینگ توی جاوااسکریپت رو با توضیح و مثال نشون میده.
دم دست و سریع، مخصوص وقتایی که یادت میره کدوم متد چی کار میکنه.
دموی آنلاین:
https://js-string-methods.vercel.app
سورسکد:
https://github.com/DevTwitter/js-string-methods
@DevTwitter
دم دست و سریع، مخصوص وقتایی که یادت میره کدوم متد چی کار میکنه.
دموی آنلاین:
https://js-string-methods.vercel.app
سورسکد:
https://github.com/DevTwitter/js-string-methods
@DevTwitter
10❤37👍7👎1🔥1
دوره MCP مایکروسافت | زیرنویس فارسی
یوتیوب
https://youtu.be/Vr1vMyyIdzM?si=TEuNuXjEJhuE4fQG
آپارات (نیم بها)
https://www.aparat.com/v/azkvpjg
@DevTwitter | <Hamed Heydarian/>
یوتیوب
https://youtu.be/Vr1vMyyIdzM?si=TEuNuXjEJhuE4fQG
آپارات (نیم بها)
https://www.aparat.com/v/azkvpjg
@DevTwitter | <Hamed Heydarian/>
❤20👍1
خیلیا رو دیدم که سالهاست با git کار میکنن ولی هنوز فرق بین merge و rabase رو نمیدونن توی این پست میخام راجب این دو مورد توضیح بدم
وقتی میخوای تغییرات یک برنچ رو به برنچ دیگه بیاری، معمولاً بین دو دستور انتخاب داری:
Merge
-تغییرات رو ادغام میکنه.
-یک merge commit جدید میسازه.
-تاریخچه واقعی حفظ میشه، ولی کمی شلوغتر میشه.
Rebase
-تغییراتت رو روی آخرین commit مقصد بازنویسی میکنه.
-تاریخچه خطی و مرتب میشه.
-اما تاریخچه واقعی تغییر میکنه (روی برنچ تیمی خطرناک).
در کل بهتره برای برنچهای شخصی قبل از merge به main از rebase استفاده کنی تا تاریخچه تمیز باشه.
برای برنچهای مشترک تیمی از merge استفاده کن تا تاریخچه تغییر نکنه و همه چیز شفاف بمونه.
@DevTwitter | <Amirreza Sajadiyan/>
وقتی میخوای تغییرات یک برنچ رو به برنچ دیگه بیاری، معمولاً بین دو دستور انتخاب داری:
Merge
-تغییرات رو ادغام میکنه.
-یک merge commit جدید میسازه.
-تاریخچه واقعی حفظ میشه، ولی کمی شلوغتر میشه.
Rebase
-تغییراتت رو روی آخرین commit مقصد بازنویسی میکنه.
-تاریخچه خطی و مرتب میشه.
-اما تاریخچه واقعی تغییر میکنه (روی برنچ تیمی خطرناک).
در کل بهتره برای برنچهای شخصی قبل از merge به main از rebase استفاده کنی تا تاریخچه تمیز باشه.
برای برنچهای مشترک تیمی از merge استفاده کن تا تاریخچه تغییر نکنه و همه چیز شفاف بمونه.
@DevTwitter | <Amirreza Sajadiyan/>
👍33❤7🔥1
چرا از جاوا و پایتون برای نرم افزارهای سیستم های هوافضا نمیشه استفاده کرد؟
1-قطعیت (Determinism):
در زبان هایی مثل جاوا و پایتون به خاطر وجود garbage collection و مبتنی بر JVM بودن اجرای برنامه دقیقا قابل پیش بینی نیست. ممکنه برنامه یه لحظه به خاطر garbage collector متوقف بشه یا pause کنه. تو نرم افزارهای real time همچین چیزی قابل قبول نیست.
به عبارت دیگه یه حلقه توی جاوا یه بار ممکنه یک میلی ثانیه طول بکشه اما دفعه بعد 5 میلی ثانیه طول بکشه دلیل این امر اینه که JIT و gc معلوم نیست کی عمل می کنن و حافظه رو پس می گیرن. پایتون هم به همین دلیل که gc داره عملکردش این شکلیه.
2-زمانبندی سخت گیرانه(Hard real-time constraints): نرم افزارهای هوافضا باید مشخص، کوتاه و قطعی واکنش نشان دهند اما جاوا و پایتون همچین تضمینی نمی دهند.
3-ایمنی و استانداردها :
صنعت هوافضا از استانداردهایی مثل DO-178C پیروی میکند. Ada و C ابزارها و کتابخانههای تأییدشدهای برای این استاندارد دارند اما برای جاوا و پایتون چنین پشتیبانی و تأیید رسمی بسیار محدود یا تقریباً وجود ندارد.
4-کارایی (Performance & Footprint):
پایتون کنده چون مفسریه جاوا هم به خاطر JVM و مدیریت حافظه سربار زیادی داره که خب توی سیستم های هوافضا که سرعت مهمه و منابع سخت افزاری محدودی داریم نمیشه یه برنامه کند و برنامه ای که کلی منابع میخواد رو اجرا کنیم.
در نهایت باید بگم که زبان هایی که باهاشون نرم افزارهای سیستم های هوافضا، نظامی و حساس رو میسازن Ada-Spark ada - C و جدیدا Rust هستند.
@DevTwitter | <Mohsen Shojaei Yeganeh/>
1-قطعیت (Determinism):
در زبان هایی مثل جاوا و پایتون به خاطر وجود garbage collection و مبتنی بر JVM بودن اجرای برنامه دقیقا قابل پیش بینی نیست. ممکنه برنامه یه لحظه به خاطر garbage collector متوقف بشه یا pause کنه. تو نرم افزارهای real time همچین چیزی قابل قبول نیست.
به عبارت دیگه یه حلقه توی جاوا یه بار ممکنه یک میلی ثانیه طول بکشه اما دفعه بعد 5 میلی ثانیه طول بکشه دلیل این امر اینه که JIT و gc معلوم نیست کی عمل می کنن و حافظه رو پس می گیرن. پایتون هم به همین دلیل که gc داره عملکردش این شکلیه.
2-زمانبندی سخت گیرانه(Hard real-time constraints): نرم افزارهای هوافضا باید مشخص، کوتاه و قطعی واکنش نشان دهند اما جاوا و پایتون همچین تضمینی نمی دهند.
3-ایمنی و استانداردها :
صنعت هوافضا از استانداردهایی مثل DO-178C پیروی میکند. Ada و C ابزارها و کتابخانههای تأییدشدهای برای این استاندارد دارند اما برای جاوا و پایتون چنین پشتیبانی و تأیید رسمی بسیار محدود یا تقریباً وجود ندارد.
4-کارایی (Performance & Footprint):
پایتون کنده چون مفسریه جاوا هم به خاطر JVM و مدیریت حافظه سربار زیادی داره که خب توی سیستم های هوافضا که سرعت مهمه و منابع سخت افزاری محدودی داریم نمیشه یه برنامه کند و برنامه ای که کلی منابع میخواد رو اجرا کنیم.
در نهایت باید بگم که زبان هایی که باهاشون نرم افزارهای سیستم های هوافضا، نظامی و حساس رو میسازن Ada-Spark ada - C و جدیدا Rust هستند.
@DevTwitter | <Mohsen Shojaei Yeganeh/>
👍87👎6❤5🔥1
میخوام یک وب سایت خیلی خوب برای گولنگ بهتون معرفی کنم، https://awesome-go.com/
این وب سایت فوق العادس برای دیدن کد تو هر موضوعی که فکرشو کنید در کانکارنسی، CLI، وب و هرچیز دیگه ای.
کافیه برین داخلش عنوان ابزار، کتابخونه یا حتی نمونه کد مورد نظر خودتون رو پیدا کنید و ریپازیتوری اوپن سورس مرتبطش رو باز کنید و داکیومنشن یا کدش رو بخونید.
واقعا جذابه پیشنهاد میکنم حتما ببینید
@DevTwitter | <Abolfazl Alizadeh/>
این وب سایت فوق العادس برای دیدن کد تو هر موضوعی که فکرشو کنید در کانکارنسی، CLI، وب و هرچیز دیگه ای.
کافیه برین داخلش عنوان ابزار، کتابخونه یا حتی نمونه کد مورد نظر خودتون رو پیدا کنید و ریپازیتوری اوپن سورس مرتبطش رو باز کنید و داکیومنشن یا کدش رو بخونید.
واقعا جذابه پیشنهاد میکنم حتما ببینید
@DevTwitter | <Abolfazl Alizadeh/>
❤23🔥1
👍53👎8🔥5