Forwarded from C O M P Ξ Z (Kambiz Asadzadeh)
The NSA (National Security Agency ) has released guidance encouraging organizations to shift programming languages from the likes of C and C++ to memory-safe alternatives – namely C#, Rust, Go, Java, Ruby or Swift.
"NSA recommends that organizations use memory safe languages when possible and bolster protection through code-hardening defenses such as compiler options, tool options, and operating system configurations," advised the agency.
Read More | Document PDF
"NSA recommends that organizations use memory safe languages when possible and bolster protection through code-hardening defenses such as compiler options, tool options, and operating system configurations," advised the agency.
Read More | Document PDF
The Register
NSA urges orgs to use memory-safe programming languages
C/C++ on the bench, as US snoop HQ puts its trust in Rust, C#, Go, Java, Ruby, Swift
Forwarded from C O M P Ξ Z (Kambiz Asadzadeh)
C O M P Ξ Z
The NSA (National Security Agency ) has released guidance encouraging organizations to shift programming languages from the likes of C and C++ to memory-safe alternatives – namely C#, Rust, Go, Java, Ruby or Swift. "NSA recommends that organizations use memory…
سادهوار خلاصش میکنم:
سازمان آژانس امنیتی NSA گفته که زبانهای C و ++C رو اگه ممکن هست بذارید کنار و برید به سمت Rust، Swift، Java، Go و امثالش چون معتقده که مشکلات حافظه و امنیت مربوط به این موضوع بسیار مهم هست و این دو زبان باید برن کنار و باید با زبانهایی که امن هستند استفاده بشه.
در ادامه مدیر ارشد فناوری مایکروسافت هم گفته که آره ما باید از این به بعد پروژههای جدید رو با سی و سی++ توسعه ندیم و اینارو بذاریم کنار بریم به سمت راست و از این توصیه هم حمایت خواهیم کرد.
به همین خاطر هم تیم The Register از کمیته و سازندهٔ سی++ در این باره توضیح و نظرش رو خواسته که سازندهٔ سی++ در پاسخ پست اخیری که فرستادم رو گفته.
نظرش این هست که طبیعیه، مردم و به ویژه مدیران به هر چیز جدیدی اولش به به چه چه میکنن! به خصوص مدیران فکر میکنند هر چیز جدیدی قراره زندگی اونها رو آسون کنه پس یه واکنش در موردش دارند، در ادامه به این اشاره کرده که ما سالهاست در بهبودهای امنیتی در کمیته کار کردیم و هدفمون هم همین بوده و مهم هم هست.
استراستروپ: اکنون استاندارد سی++ به نوع کامل و ایمنی حافظه رسیده و میتونیم این تضمین رو داشته باشیم که با سی++ مدرن همه چیز به خوبی پیش میره. توجه هم داشته باشید که هر زبانی (ایمن) از جمله Rust دارای حفرههایی است که امکان توسعهٔ کد نا امن رو فراهم میکنه. (در واقع منظورش اینه شعار ندین).
در ادامه به مستند Core Guidelines اشاره داشته و گفته برای کدنویسی ایمن دستورالعملهای اساسی رو ما در این بخش گفتهایم چرا که هر کدی که به صورت دلخواه نوشته شود نمیتواند ایمن باشد.
در ادامه اشاره کرده که در حال بهبود هرچه بیشتر راندمان با حفظ پایداری در دامنهٔ بیشتری از دنیای نرمافزاری هستیم به طوری که باید این رو هم در نظر گرفت امروزه میلیاردها خط کد به زمان سی++ مستقر شدهاند و به همین دلیل تعویض کدها، به سادگی ایمنسازی آنها یک کار بسیار بزرگی است، هرچند مدیران مایکروسافت و NSA هم گفتن که حتی اگه الآن بخواهیم کار جایگزینی کلی انجام بدین دهها سال طول میکشه و به این سادگی هم نیست.
استراستروپ هم اشاره داشته که کدهای قدیمی سی و سی++ رو باید به سبک نوین (Modern) بنویسید، انجام این کار ضروری است و در صورت عدم بهروز رسانی با تودهٔ عظیمی از کدهای نا امن سی و سی++ روبرو خواهیم بود.
نتیجهگیری NSA:
کدها باید ایمن باشند و یا با زبانهایی که چنین ادعایی دارند بازنویسی شوند.
نتیجهگیری از مایکروسافت:
مدیران ارشدش معتقد به این هستند که باید پروژههای جدید رو با راست توسعه بدن.
نتیجهگیری کمیتهٔ استانداردسازی:
سی++ غالب زبانهای برنامهنویسی و دنیای نرمافزار هست، همهٔ مسائل پیشبینی شده و تمامی راهکارها ارائه شده.
کدهای قدیمی خودتون رو بهروز رسانی کنید (نیازی به نگرانی نیست)، پروژههای جدیدتون رو هم با سی++ مدرن بنویسید.
نتیجهگیری شخصی من:
کدهای قدیمی دیگر جایی در دنیای کنونی ندارند، با توجه به میلیاردها خط کد نوشته شده، با توجه به بررسی پروژههای بزرگ مشخص است از خیلی وقتها پیش بهروز رسانیها در حال انجام هستند، کدهای قدیمی با کدهای جدید جایگزین و استانداردهای ایمن مورد توجه قرار گرفته است این رو با یک جستجوی ساده در بین انجمنها میشه به وضوح دید که با چه سرعتی مردم در حال بهروز شدن هستند.
سالهاست داریم در این باره صحبت میکنیم که استانداردهای جدید رو فرا بگیرید، تمامی شرکتهای نامآور اپل، گوگل و غیره با سرعت بسیاری در حال بهروز رسانی کدهای سی++ به استاندارد ۲۰ هستند، این رو حداقل میشه در سیاه تغییرات کدهای متنبازشون دید.
توصیههای شخصی من:
۱) به توصیههای هر طرف دقت کنید (از نظر من جایگزینی بیمعناست).
۲) به دستورالعملهای استاندارد توجه کنید، اصلاً در دنیای مهندسی دستورالعمل استاندارد وظیفش همین هست که شما رو در مسیر درستی قرار بده.
۳) ابزارهای کمکی و آنالیز رو در محیطهای توسعه به کار بگیرید (این امر برای هر ابزاری مفید هست).
۴) زبانی مثل سی++ اسباببازی امروز فردا نیست، سالهاست در دنیای نرمافزار حکمرانی میکنه و کمیته هم همینطور دست بسته ننشسته برای این صحبتها که دنیای نرمافزار محکوم به عقب افتادگی بشه. حتی مجموعهٔ همهٔ زبانهایی که به عنوان جایگزین مطرح شدن پیشنویسههای بهروز رسانیشون به اندازهٔ استانداردهای قبلی سی++ نیست! این یک معنا داره، اون هم بهروز رسانی عظیم و اساسی و پوستاندازی بسیار شدید استاندارد هست که خودش رو با احتمالات آینده هماهنگ و ادغام خواهد کرد.
همانطور که استاندارد تأکید کرده، کدهای شما در نسخههای جدید ایمن هستند و مدیریت چنین چیزی در یک پوستاندازیِ سی++، بسیار بزرگ واقعاً شاهکاره.
سازمان آژانس امنیتی NSA گفته که زبانهای C و ++C رو اگه ممکن هست بذارید کنار و برید به سمت Rust، Swift، Java، Go و امثالش چون معتقده که مشکلات حافظه و امنیت مربوط به این موضوع بسیار مهم هست و این دو زبان باید برن کنار و باید با زبانهایی که امن هستند استفاده بشه.
در ادامه مدیر ارشد فناوری مایکروسافت هم گفته که آره ما باید از این به بعد پروژههای جدید رو با سی و سی++ توسعه ندیم و اینارو بذاریم کنار بریم به سمت راست و از این توصیه هم حمایت خواهیم کرد.
به همین خاطر هم تیم The Register از کمیته و سازندهٔ سی++ در این باره توضیح و نظرش رو خواسته که سازندهٔ سی++ در پاسخ پست اخیری که فرستادم رو گفته.
نظرش این هست که طبیعیه، مردم و به ویژه مدیران به هر چیز جدیدی اولش به به چه چه میکنن! به خصوص مدیران فکر میکنند هر چیز جدیدی قراره زندگی اونها رو آسون کنه پس یه واکنش در موردش دارند، در ادامه به این اشاره کرده که ما سالهاست در بهبودهای امنیتی در کمیته کار کردیم و هدفمون هم همین بوده و مهم هم هست.
استراستروپ: اکنون استاندارد سی++ به نوع کامل و ایمنی حافظه رسیده و میتونیم این تضمین رو داشته باشیم که با سی++ مدرن همه چیز به خوبی پیش میره. توجه هم داشته باشید که هر زبانی (ایمن) از جمله Rust دارای حفرههایی است که امکان توسعهٔ کد نا امن رو فراهم میکنه. (در واقع منظورش اینه شعار ندین).
در ادامه به مستند Core Guidelines اشاره داشته و گفته برای کدنویسی ایمن دستورالعملهای اساسی رو ما در این بخش گفتهایم چرا که هر کدی که به صورت دلخواه نوشته شود نمیتواند ایمن باشد.
در ادامه اشاره کرده که در حال بهبود هرچه بیشتر راندمان با حفظ پایداری در دامنهٔ بیشتری از دنیای نرمافزاری هستیم به طوری که باید این رو هم در نظر گرفت امروزه میلیاردها خط کد به زمان سی++ مستقر شدهاند و به همین دلیل تعویض کدها، به سادگی ایمنسازی آنها یک کار بسیار بزرگی است، هرچند مدیران مایکروسافت و NSA هم گفتن که حتی اگه الآن بخواهیم کار جایگزینی کلی انجام بدین دهها سال طول میکشه و به این سادگی هم نیست.
استراستروپ هم اشاره داشته که کدهای قدیمی سی و سی++ رو باید به سبک نوین (Modern) بنویسید، انجام این کار ضروری است و در صورت عدم بهروز رسانی با تودهٔ عظیمی از کدهای نا امن سی و سی++ روبرو خواهیم بود.
نتیجهگیری NSA:
کدها باید ایمن باشند و یا با زبانهایی که چنین ادعایی دارند بازنویسی شوند.
نتیجهگیری از مایکروسافت:
مدیران ارشدش معتقد به این هستند که باید پروژههای جدید رو با راست توسعه بدن.
نتیجهگیری کمیتهٔ استانداردسازی:
سی++ غالب زبانهای برنامهنویسی و دنیای نرمافزار هست، همهٔ مسائل پیشبینی شده و تمامی راهکارها ارائه شده.
کدهای قدیمی خودتون رو بهروز رسانی کنید (نیازی به نگرانی نیست)، پروژههای جدیدتون رو هم با سی++ مدرن بنویسید.
نتیجهگیری شخصی من:
کدهای قدیمی دیگر جایی در دنیای کنونی ندارند، با توجه به میلیاردها خط کد نوشته شده، با توجه به بررسی پروژههای بزرگ مشخص است از خیلی وقتها پیش بهروز رسانیها در حال انجام هستند، کدهای قدیمی با کدهای جدید جایگزین و استانداردهای ایمن مورد توجه قرار گرفته است این رو با یک جستجوی ساده در بین انجمنها میشه به وضوح دید که با چه سرعتی مردم در حال بهروز شدن هستند.
سالهاست داریم در این باره صحبت میکنیم که استانداردهای جدید رو فرا بگیرید، تمامی شرکتهای نامآور اپل، گوگل و غیره با سرعت بسیاری در حال بهروز رسانی کدهای سی++ به استاندارد ۲۰ هستند، این رو حداقل میشه در سیاه تغییرات کدهای متنبازشون دید.
توصیههای شخصی من:
۱) به توصیههای هر طرف دقت کنید (از نظر من جایگزینی بیمعناست).
۲) به دستورالعملهای استاندارد توجه کنید، اصلاً در دنیای مهندسی دستورالعمل استاندارد وظیفش همین هست که شما رو در مسیر درستی قرار بده.
۳) ابزارهای کمکی و آنالیز رو در محیطهای توسعه به کار بگیرید (این امر برای هر ابزاری مفید هست).
۴) زبانی مثل سی++ اسباببازی امروز فردا نیست، سالهاست در دنیای نرمافزار حکمرانی میکنه و کمیته هم همینطور دست بسته ننشسته برای این صحبتها که دنیای نرمافزار محکوم به عقب افتادگی بشه. حتی مجموعهٔ همهٔ زبانهایی که به عنوان جایگزین مطرح شدن پیشنویسههای بهروز رسانیشون به اندازهٔ استانداردهای قبلی سی++ نیست! این یک معنا داره، اون هم بهروز رسانی عظیم و اساسی و پوستاندازی بسیار شدید استاندارد هست که خودش رو با احتمالات آینده هماهنگ و ادغام خواهد کرد.
همانطور که استاندارد تأکید کرده، کدهای شما در نسخههای جدید ایمن هستند و مدیریت چنین چیزی در یک پوستاندازیِ سی++، بسیار بزرگ واقعاً شاهکاره.
Telegram
Compez's World
امروز یهویی یه جایی داشتم یه مقالهای میخوندم که بیشتر نظراتی که داشتم رو پوشش میداد، گفتم در قالب یک مقاله بازنویسی و بهبودش بدم:
آیا زبان برنامهنویسی ++C قابل جایگزین شدن است؟
عاشقانِ سی++ بخونید برید کیف کنید حالشو ببرید.😉
#سیپلاسپلاس #راست #Rust…
آیا زبان برنامهنویسی ++C قابل جایگزین شدن است؟
عاشقانِ سی++ بخونید برید کیف کنید حالشو ببرید.😉
#سیپلاسپلاس #راست #Rust…
👍9
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
برای دواپس:
( من خیلی تازه کارم و مسیری که خودم طی کردم رو مینوسم)
اول رودمپ زیر رو ببینید:
roadmap.sh/devops
از هر بخش رودمپ سایت بالا یکی دوتاشو بدونید کفایت میکنه (غیر کلاد و 3 4 تا ابزار که تو ایران دسترسی نداریم)
بخوام فارسی بگم و جمع جور:
واجبات:
لینوکس - داکر - کوبرنتیز - هلم - انسیبل
سرچ میکنید بهترین کتاب lpic یا بهترین داکر براتون میاد(پایین پست لینک دادن یه سریشونو)
بعدش اینا (ترتیب ندارن) :
حدودا نصف الپیک2 مباحثی مثل: انجین ایکس ، haproxy
نتورک فایل سیستما مثل nfs ، مبحث های dns - نتورک .
کم کم مفاهیم ci/cd (پیش نیازش git ) با یکی از اینا:
gitlab ci ، github actions, jenkins
مانیتورینگ مثل گرافانا پرومتئوس .
الرت منیجر ، لاگ منیجر
باقی راهو خودتون پیدا میکنید :) موفق باشید :))
نکته: دواپس توی خارج از ایران یخورده متفاوته
اینام کانال گروه فارسی برای دواپس
@DevOpsEx @DevOpsExpertGroup
کتاب های دواپسی رو میتونید از اینجا یا پیام پین کانال پیدا کنید
( من خیلی تازه کارم و مسیری که خودم طی کردم رو مینوسم)
اول رودمپ زیر رو ببینید:
roadmap.sh/devops
از هر بخش رودمپ سایت بالا یکی دوتاشو بدونید کفایت میکنه (غیر کلاد و 3 4 تا ابزار که تو ایران دسترسی نداریم)
بخوام فارسی بگم و جمع جور:
واجبات:
لینوکس - داکر - کوبرنتیز - هلم - انسیبل
سرچ میکنید بهترین کتاب lpic یا بهترین داکر براتون میاد(پایین پست لینک دادن یه سریشونو)
بعدش اینا (ترتیب ندارن) :
حدودا نصف الپیک2 مباحثی مثل: انجین ایکس ، haproxy
نتورک فایل سیستما مثل nfs ، مبحث های dns - نتورک .
کم کم مفاهیم ci/cd (پیش نیازش git ) با یکی از اینا:
gitlab ci ، github actions, jenkins
مانیتورینگ مثل گرافانا پرومتئوس .
الرت منیجر ، لاگ منیجر
باقی راهو خودتون پیدا میکنید :) موفق باشید :))
نکته: دواپس توی خارج از ایران یخورده متفاوته
اینام کانال گروه فارسی برای دواپس
@DevOpsEx @DevOpsExpertGroup
کتاب های دواپسی رو میتونید از اینجا یا پیام پین کانال پیدا کنید
👍4
یه چنل با آموزش های لینوکسی خیلی خوب
اسمشون هم از sudo اومده که نشون دهنده ادمین سروره.
https://t.iss.one/sudoer_grp
اسمشون هم از sudo اومده که نشون دهنده ادمین سروره.
https://t.iss.one/sudoer_grp
Telegram
Sudoer
مرتضی باشسیز - سودوئر
چت سودوئر
@ChatSudoer
sudoer.ir
youtube.com/@MortezaBashsiz
چت سودوئر
@ChatSudoer
sudoer.ir
youtube.com/@MortezaBashsiz
👍7
یه آموزش خوب برای tmux
(طرف هم خیلی از ترمینال تعریف کرده، راضیم ازش)
https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
به یاد جادی
(طرف هم خیلی از ترمینال تعریف کرده، راضیم ازش)
https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
به یاد جادی
Hamvocke
A Quick and Easy Guide to tmux - Ham Vocke
Become a master of tmux in a few minutes
🕊8👍6
یکی از ترفند های جیمیل که خیلی ها بلد نیستند
امکان sub address با dot و plus
https://eduk8.me/2015/05/email-subaddresses-plus-aliases-in-gmail-and-others/
امکان sub address با dot و plus
https://eduk8.me/2015/05/email-subaddresses-plus-aliases-in-gmail-and-others/
ارسالی: با این قابلیت گیتهاب در readme ها آشنا بشید: کشیدن گراف!
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams#creating-mermaid-diagrams
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams#creating-mermaid-diagrams
GitHub Docs
Creating diagrams - GitHub Docs
Create diagrams to convey information through charts and graphs
🔥6
در مورد gradual typing
این مطالب جالب بود:
https://wphomes.soic.indiana.edu/jsiek/what-is-gradual-typing/
و
https://blog.sigplan.org/2019/07/12/gradual-typing-theory-practice/
به شکل خلاصه همینه که یه مقدار از سیستم dynamic type باشه و یه مقدار static type. حالا این وسط یه سری type annotation میاد وسط. مثل چیزی که توی پایتون دیدیم.
این مطالب جالب بود:
https://wphomes.soic.indiana.edu/jsiek/what-is-gradual-typing/
و
https://blog.sigplan.org/2019/07/12/gradual-typing-theory-practice/
به شکل خلاصه همینه که یه مقدار از سیستم dynamic type باشه و یه مقدار static type. حالا این وسط یه سری type annotation میاد وسط. مثل چیزی که توی پایتون دیدیم.
Jeremy Siek | Indiana University Bloomington
What is Gradual Typing | Jeremy Siek
(For a Japanese translation, go here) Gradual typing is a type system I developed with Walid Taha in 2006 that allows parts of a program to be dynamically typed and other parts to be statically typed. The programmer controls which parts are which by either…
تردهای سبک جاوا (مثل گو روتین های گو) از سال ۲۰۱۷ معرفی شدن و هنوز که هنوزه خبری ازشون نیست.
توی جاوا ۱۹ تازه به شکل preview عرضه شدن ولی اصلا نهایی نیستند.
اینجا هم وضعیتشون هم توضیحات و آموزششون رو میتونید بخونید.
https://developer.okta.com/blog/2022/08/26/state-of-java-project-loom
توی جاوا ۱۹ تازه به شکل preview عرضه شدن ولی اصلا نهایی نیستند.
اینجا هم وضعیتشون هم توضیحات و آموزششون رو میتونید بخونید.
https://developer.okta.com/blog/2022/08/26/state-of-java-project-loom
Okta Developer
What the Heck Is Project Loom for Java?
What the heck is Java's Project Loom and what does it mean for regular Java developers?
یه مطلب دارم توی ویرگول مینویسم، اینقدر ویرگول کند شده که انگار ssh زدم تو یه سرور دیگه مینویسم.
(بله مطلب طولانیایه!)
(بله مطلب طولانیایه!)
😱4👎2
در مورد اتفاقات تیم مهندسی توییتر این مطلب جالبی بود
https://blog.pragmaticengineer.com/cruel-changes-at-twitter/
https://blog.pragmaticengineer.com/cruel-changes-at-twitter/
The Pragmatic Engineer
Cruel Changes at Twitter
The speedrun for a complete culture overhaul at Twitter continues, and may conclude just two weeks after Elon Musk bought the company. Managers will have 20+ reports and are expected to code at least 20% of the time.
نوشتههای ترمینالی
در مورد اتفاقات تیم مهندسی توییتر این مطلب جالبی بود https://blog.pragmaticengineer.com/cruel-changes-at-twitter/
یا اینطوری بگم، چرا ایلان ماسک بد است😂
🔥5
تفاوت دیتابیس های OLAP و OLTP
و البته معرفی duck db که به نوعی نسخهی warehouseی برای sqliteئه.
https://shekhargulati.com/2019/12/15/the-5-minute-introduction-to-duckdb-the-sqlite-for-analytics/
و البته معرفی duck db که به نوعی نسخهی warehouseی برای sqliteئه.
https://shekhargulati.com/2019/12/15/the-5-minute-introduction-to-duckdb-the-sqlite-for-analytics/
Shekhar Gulati
The 5 Minute Introduction to DuckDB: The SQLite for Analytics
Updated: 3rd September 2020 A couple of weeks back I learnt about DuckDB while going over DB Weekly newsletter. It immediately caught my attention as I was able to quickly understand why need for s…