programing

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

12 فریم ورک جذاب Node.js برای برنامه نویسان در سال 2019

۵۶۲ بازديد
در چشم انداز تکنولوژیکی همیشه در حال توسعه، توسعه دهندگان نیز باید خود را به روز رسانی کنند. در طول چند سال گذشته، Node.js خود را به عنوان یک منبع باز، محیط متقابل پلتفرم اجرا کرده است. در این مقاله، ما 12 برنامه شگفت انگیز Node.js را برای توسعه دهندگان فهرست می کنیم که این برنامه ها می تواند برای آموزش برنامه نویسی خیلی مفید باشد.


1 | آدونیس، جسی
AdonisJs یک چارچوب وب Node.js با نفس هوای تازه و چنگال از نحو ظریف در بالای آن است. AdonisJs چارچوب Node.js MVC است که در تمام سیستم عامل های اصلی اجرا می شود. این یک چارچوب مدولار است که متشکل از ارائه دهندگان خدمات متعدد، بلوک های ساختمانی از برنامه های AdonisJs است. این برنامه یک اکوسیستم پایدار را برای نوشتن برنامه های کاربردی وب مبتنی بر وب ارائه می دهد، بنابراین می توانید بر روی نیازهای تجاری تمرکز کنید تا نهایتا کدام بسته را انتخاب کنید یا نه.

2 | Derby.js
DerbyJS از چندین استاندارد ماژول Node.js تشکیل شده است که به راحتی می توان برنامه های همکاری که در هر دو Node.js و مرورگر اجرا می شود، آسان است. این شامل یک موتور هماهنگ سازی داده قدرتمند به نام Racer است که به طور خودکار داده ها را بین مرورگرها، سرور ها و پایگاه داده همگام سازی می کند. دربی باعث ساده شدن نوشتن برنامه هایی می شود که به سرعت به عنوان یک موتور جستجو بار می کنند، به عنوان یک ویرایشگر سند تعاملی و کار آفلاین هستند.

3 | Express.js
اکسپرس یک چارچوب کاربردی وب کم و انعطاف پذیر Node.js است که مجموعه ای کامل از ویژگی های کاربردی وب و تلفن همراه را فراهم می کند. این یک لایه نازک از ویژگی های نرم افزار وب را فراهم می کند، بدون پوشش ویژگی های Node.js. این ویژگی ها مانند مسیریابی قوی، پوشش تست فوق العاده بالا، کمک کننده های HTTP، مذاکره با محتوا و خیلی بیشتر.
4 | Hapi.js
Hapi.js ساده است که از چارچوب محدوده پیکربندی با پشتیبانی از ورودی برای اعتبارسنجی ورودی، ذخیره سازی، احراز هویت و سایر امکانات ضروری برای ساختن برنامه های کاربردی وب و خدمات استفاده کند. این توسعه دهندگان را قادر می سازد تا در نوشتن منطق برنامه های کاربردی مجدد با استفاده از رویکرد بسیار مدولار و پیشگیرانه، به جای گذراندن زیرساخت های ساختمانی زمان، تمرکز کنند.
5 | Koa.js
Koa یک چارچوب وب جدید طراحی شده توسط تیم پشت اکسپرس است که هدف آن یک پایه کوچکتر، واضح و پایدار برای برنامه های کاربردی وب و API ها است. این اجازه می دهد تا شما را به تماس تلفنی مگس و به شدت افزایش خطا دست زدن و بسته نرم افزاری هیچ middleware در هسته خود را. همچنین، مجموعه ای عالی از روش هایی را فراهم می کند که سریع و لذت بخش هستند.

آیا TypeScript می‌تواند جایگزین JavaScript شود

۵۶۲ بازديد
در حال حاضر شواهد بیشتری وجود دارد که زبان مایکروسافت برای افزایش سرعت جاوا اسکریپت، TypeScript برای توسعه دهندگان برای اینترنت ضروری است.

ماه گذشته ماه گذشته شرکت RedMonk تحلیلگر برنامه نویسی اشاره کرد که TypeScript، مایکروسافت نسخه هفت ساله محبوب ترین زبان برنامه نویسی جاوا، جاوا اسکریپت، در حال حاضر 12 مورد محبوب ترین زبان بر اساس پروژه های GitHub و پچ پچ توسعه است.

دلیل این افزایش را می توان در آخرین بررسی 33000 توسعه دهندگان از 156 کشور که از npm استفاده می کنند، بسیار محبوب Node.js جاوااسکریپت جاوااسکریپت جاوا که به طور سنتی برای ساختن ویژگی های وب استفاده می شود، یافت می شود.

اما، با افزایش PWA ها یا برنامه های پیشرفته وب، جاوا اسکریپت به طور فزاینده ای برای ساخت برنامه های تلفن همراه و دسکتاپ بومی به کار می رود، بلکه به عنوان مثال، C و C ++، زبان هایی است که به طور سنتی برای ساخت برنامه های بومی Win32 استفاده می شود.

همانطور که در توسعه دهندگان npm، تعجب بزرگ در نظرسنجی سال گذشته بود که 46 درصد از پاسخ دهندگان گفتند که از TypeScript استفاده می کنند. امروز، نسبت توسعه دهندگان که از منبع باز مایکروسافت در جاوا اسکریپت استفاده می کنند، به 62 درصد افزایش یافته است. حدود 15 درصد از آنها از کتابخانه های دیگر توسعه دهندگان استفاده می کنند که به چارچوب زوایای محبوب نسبت داده شده است و "90 درصد [UseScript TypeScript]" استفاده می شود.

"به طور کلی، 36 درصد از کاربران npm Typyscript را تقریبا یا اغلب وقت می نویسند. یک سوم از کاربران در جامعه جاوا اسکریپت، طعم کاملا جدیدی از جاوا اسکریپت را ایجاد می کنند تا همه را نشناسند و متوجه شوند،" توسعه دهندگان npm می نویسند.

به عبارت دیگر، TypeScript باید در لیستی از زبان ها باشد تا بتوانند درک کنند. همانطور که RedMonk در ماه مارس اظهار داشت، تعداد روزافزون پروژه ها به توضیح اینکه "خط سیر صعودی قابل توجه و پایدار" تایپ اسکریپت است، و نه فقط از بین می رود، بلکه مانند بسیاری از زبان های دیگر نیز خاتمه می یابد.


ضربه با مایکروسافت با TypeScript به عنوان کد منبع باز متقارن کد منبع ویژوال استودیو کد یا VS Code، نقطه ای شیرین با توسعه دهندگان در سراسر جهان پیدا می کند که از 500000 توسعه دهنده در سال 2016 به 4.5 میلیون نفر در سال 2019 افزایش یافته است.

محاسبات Serverless نیز در بین توسعه دهندگان جاوا اسکریپت محبوب است. Serverless به معنای هیچ سرور نیست، بلکه این است که توسعه دهندگان نیازی به مقابله با وظایف مربوط به میزبان ندارند، از جمله سیستم های پچ و سیستم عامل.

در سرویس ابری آمازون، AWS، محاسبات serverless تحت نام تجاری لامبدا توسعه یافته است، در حالی که در دنیای مایکروسافت آن را Azure Functions نامیده است. گوگل و آی بی ام آن را "توابع ابر" تحت نام شرکت های خود می نامند.

"ما شگفت زده شدیم که 33 درصد از توسعه دهندگان با استفاده از تکنیک هنوز" نسبتا جدید "بدون سرور" شناخته می شوند، همچنین به عنوان توابع Cloud یا Lambdas شناخته می شوند. "توسعهدهندگان npm می گویند.

این سازمان همچنین دریافت که npm و جاوا اسکریپت به طور فزاینده ای برای ساخت برنامه های بومی مورد استفاده قرار می گیرند. تقریبا همه - 97 درصد از پاسخ دهندگان - در حال ساخت برنامه هایی هستند که در مرورگر زندگی می کنند، در حالی که 77 درصد از توسعه دهندگان آن را برای کد سرور استفاده می کنند.

با این حال، npm همچنین دریافت که 46 درصد از آن برای نوشتن کد برای برنامه های بومی که در سیستم های تلفن همراه و دسکتاپ استفاده می کنند استفاده می کنند.


"جاوا اسکریپت از مرورگر خارج شده و تبدیل به یک زبان آموزش برنامه نویسی عمومی شده است، به همان شیوه استفاده شده است که به عنوان زبان های دیگر برنامه نویسی شده است. به طور خاص، جاوا اسکریپت یک نیروی بزرگ در دنیای توسعه برنامه های موبایل است." Slack در جاوا اسکریپت نوشت.

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

کدام زبان برنامه نویسی بیشترین آسیب‌پذیری را دارد

۴۹۷ بازديد

دنیای تکنولوژی بدون نقص های امنیتی معنا ندارد؛ از حفره های سخت افزاری مانند ملتداون و اسپکتر در پردازنده های اینتل گرفته تا ایرادات نرم افزاری در زبان های برنامه نویسی. به تازگی شرکت امنیتی «وایت سورس» آسیب پذیری های موجود در 7 زبان برنامه نویسی پرکاربرد طی ده سال اخیر را بررسی کرده و نتایج جالبی را به دست آورده است.

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

گزارش وایت سورس

البته به گفته وایت سورس، حتی با وجود این همه آسیب پذیری هم نمی توان گفت که زبان C امنیت کمتری نسبت به دیگر زبان ها دارد. تعداد زیاد نقص های امنیتی زبان C به چند عامل وابسته است، از جمله اینکه قدمت بسیار بیشتری نسبت به بقیه دارد و کدهای فوق العاده زیادی با آن نوشته شده است. زیرساخت های نرم افزاری متعددی مانند OpenSSL و کرنل لینوکس هم از زبان C بهره می برند.

با این حال اگر برنامه نویسی را با C آغاز کرده باشید، احتمالاً می دانید که بعضی از مشکلات هم ذاتی هستند. یکی از مسائل اساسی زبان C رفتار نامشخص و تعریف نشده در شرایط مختلف است که می تواند آسیب پذیری های متعددی را ایجاد کند. از طرفی زبان ++C طی 5 سال گذشته با بحرانی ترین آسیب پذیری ها روبرو بوده است. خطاهای بافر که مدتها برنامه نویسان C را آزار می دادند، حالا در ++C خودنمایی می کنند.

جاوا اسکریپت که احتمالاً محبوب ترین زبان برنامه نویسی عصر حاضر به شمار می رود، تنها موردیست که طی 10 سال اخیر با افزایش مداوم تعداد آسیب پذیری ها روبرو بوده است. البته بیشتر معضلات امنیتی جاوا اسکریپت از نوع Path Traversal بوده یا مربوط به پکیج های ثالث هستند و فقط توسط ابزارهای آنالیز کد منبع شناسایی می شوند.

همان طور که انتظار می رود، شاهد عملکرد بسیار خوب زبان برنامه نویسی قدیمی پایتون از نظر امنیت هستیم. تقریباً تمامی زبان ها از حفره های امنیتی مشترک رنج می برند. دو نقص امنیتی که در 70 درصد زبان ها دیده می شوند، عبارتند از CWE-79 یا «تزریق اسکریپت از طریق وبگاه» و CWE-20 که به اعتبارسنجی داده ها مربوط است.
منبع: بلاگ گروه شرکت‌های کهکشان

هفت نکته مهم برای برنامه نویسان جاوا در سال ۲۰۱۹

۴۹۴ بازديد
جاوا یکی از محبوب ترین و گسترده ترین زبان های برنامه نویسی در جهان است. غلبه تسلط بر رتبه بندی شاخص TIOBE برای اکثریت قریب به اتفاق، با داشتن رتبه 1 برای تقریبا 20 سال است.

اگرچه تسلط جاوا در عرض 12 ماه آینده بعید به نظر نمی رسد، اما بسیاری از مسائل مهم و اطلاعیه هایی که به توسعه دهندگان جاوا نیاز دارند، وجود دارد. بنابراین، آماده شدن برای سال 2019 با این لیستی از چیزهای کلیدی در جهان جاوا برای مراقبت آماده شوید.

# 1 کاربران تجاری Java SE اکنون مجوز لازم را خواهند داشت
شاید مهمترین تغییر برای جاوا در سال 2019 این است که کاربران تجاری مجبور خواهند شد که از ماه فوریه از Java SE استفاده کنند. این حرکت در زمانی اتفاق می افتد که اوراکل تصمیم به تغییر مدل پشتیبانی برای زبان جاوا کرد. این تغییر در حال حاضر تحت تاثیر جاوا SE 8 است که انتشار LTS با پشتیبانی برتر و پشتیبانی گسترده تا مارس 2022 و 2025 است.

با این حال، برای کاربران فردی، پشتیبانی و به روز رسانی تا دسامبر 2020 ادامه خواهد یافت. به تازگی منتشر شده جاوا SE 11 همچنین دارای پشتیبانی طولانی مدت با پشتیبانی پنج ساله و هشت سال پشتیبانی از تاریخ انتشار است.

# 2 انتشار جاوا 12 در مارس 2019
از آنجایی که اوراکل مدل پشتیبانی خود را تغییر داد، منتشر نشده نسخه LTS دو ساله خواهد بود و احتمالا شامل بسیاری از تغییرات عمده نخواهد بود. JDK 12 غیر LTS است، که نمی گوید تغییراتی در آن بی اهمیت است، آن را با مجموعه ای از ویژگی های جدید خود می آید. این برنامه در ماه مارس سال جاری به طور کلی در دسترس خواهد بود و تا سپتامبر پشتیبانی می شود که زمانی که جاوا 13 منتشر خواهد شد. جاوا 12 چندین ویژگی جدید دارد، برخی از آنها برای انتشار در ماه مارس امضا شده اند و بعضی از آنها در حال بحث هستند.

نسخه ی جاوا 13 برای ماه سپتمبر 2019، با دسترسی سریع به آن، در حال حاضر است
تا کنون اطلاعات کمی درباره جاوا 13 وجود دارد. همه ما واقعا می دانیم در حال حاضر این است که "به علت انتشار در سپتامبر 2019 است. مانند جاوا 12، جاوا 13 خواهد شد منتشر نشده غیر LTS.

با این حال، اگر شما می خواهید یک بینش اولیه، یک دسترسی دسترسی سریع موجود برای آزمایش در حال حاضر وجود دارد. برخی از JEP (پیشنهادات ارتقاء JDK) در بخش بعدی ممکن است در جاوا 13 مشخص شود، اما این تنها حدس و گمان است.
# 4 مجموعه ای از ویژگی های جدید در جاوا در سال 2019
با وجودی که نسخه اصلی پشتیبانی طولانی مدت Java، Java 11 در سال گذشته منتشر شد، انتشار این سال نیز دارای ویژگی های جدید قابل توجه در فروشگاه است. بیایید نگاهی به آنچه که در سال جاری منتشر می شود داشته باشیم.

کاندیداهای تایید شده برای جاوا 12
یک کامپایلر زمانی مکانی جدید با کمترین زمان به نام Shenandoah اضافه می شود تا زمانی که یک برنامه در حال اجرا است، حداقل وقفه ایجاد شود. این برای مطابقت با محاسبات مدرن افزوده شده است. زمان مکث هم همین است بدون در نظر گرفتن اندازه پشته که با کاهش زمان مکث GC به دست می آید.
ویژگی Microbenchmark Suite باعث می شود که برنامه نویسان برای اجرای معیارهای تست موجود و ایجاد امکانات جدید تر شوند.
اظهارات سوئیچ های اصلاح شده باید ساده تر کردن روند نوشتن کد باشد. اساسا این بدان معناست که عبارت switch نیز می تواند به عنوان یک عبارت استفاده شود.
API Constants JVM، وب سایت OpenJDK توضیح می دهد، "معرفی یک API جدید برای مدل سازی توصیف اسامی کلیدی فایل کلاس و آثار زمان اجرا".
یکپارچه با جاوا 12 یک پورت AArch64 است، به جای دو.
بایگانی CDS پیش فرض.
G1 مخلوط مجموعه.
ویژگی های دیگر که ممکن است با جاوا 12 نباشد
ادبیات رشته ای خام به جاوا اضافه خواهد شد.
یک ابزار بسته بندی، طراحی شده تا راحتتر نصب و اجرا یک برنامه ی جاوااسکریپت را در یک پلت فرم بومی انجام دهد.
محدود کردن اشکال اجرایی برای کمک به هر دو توسعه دهندگان و مهندسان عملیات به طور موثر امنیتی برنامه های کاربردی در برابر آسیب پذیری های اکتشافات احتمالی.
# 5 مشارکت و ویژگی های بیشتر با OpenJDK
OpenJDK یک برنامه منبع باز از نسخه استاندارد جاوا (جاوا SE) است که از اوراکل و جامعه منبع باز پشتیبانی می کند. از حالا، دوتایی از OpenJDK برای جدیدترین انتشار LTS، جاوا 11 در دسترس هستند. حتی دورههای زندگی OpenJDK 7 و 8 تا ژوئن 2020 و 2023 افزایش یافته است. این نشان می دهد که به نظر می رسد اوراکل به ایده منبع باز و مشارکت اجتماعی علاقمند است. و چرا اینطور نیست؟ بسیاری از مقالات ارزشمند از جامعه منبع باز آمده است. مایکروسافت به نظر می رسد از منبع باز با ارسال های دریافتی بهره مند شده است.

اگر چه اوراکل بعد از شش ماه از انتشار اولیه نسخه های این نسخه را پشتیبانی نمی کند، Red Hat پشتیبانی خواهد شد. مارک رینولدون، معمار اصلی پلت فرم جاوا، گفت که استواری ها رهبران واقعی هستند که می توانند چگونگی جاوا را به عنوان یک زبان بدانند. این اساتید می توانند JEP جدید را پیشنهاد دهند، مشکلات جدید OpenJDK را پیش بینی کنند که منجر به JEP بیشتر می شود و به طور کلی به زبان کمک می کند.

# 6 فرصت های شغلی برای یادگیری موبایل و ماشین
در اکوسیستم موبایل، به خصوص آندروید، جاوا هنوز هم به عنوان زبان رایج ترین مورد استفاده است. بله، کوتلین وجود دارد، اما هنوز نسبتا جدید است. بسیاری از توسعه دهندگان هنوز برای اتخاذ زبان جدید هستند. بر طبق برآورد شده در واقع، متوسط ​​حقوق و دستمزد یک توسعه دهنده جاوا در حدود 100 دلار آمریکا در ایالات متحده است. با اکوسیستم اندروید که در دهه گذشته به سرعت در حال رشد است، سخت نیست که آنچه را که ارزش جاوا را در اختیار دارد، افزایش دهد.

اما جاوا و اکوسیستم وسیع جاوا در مورد خیلی بیشتر از تلفن همراه هستند. گرچه اهمیت جاوا در توسعه برنامه های کاربردی شرکت شناخته شده است، همچنین در یادگیری ماشین و هوش مصنوعی مورد استفاده قرار می گیرد. حتی اگر Python مسلما زبان مورد استفاده در این زمینه باشد، جاوا مجموعه ای از کتابخانه های خود را دارد و در محیط های شرکت بسیار کاربرد دارد. Deeplearning4j، Neuroph، Weka، OpenNLP، RapidMiner، RL4J و غیره برخی از کتابخانه های جاوا محبوب در هوش مصنوعی هستند.

# 7 کنفرانس های جاوا در سال 2019
اکنون که ما در مورد زبان، نسخه های ممکن و ویژگی های جدید صحبت کرده ایم، نگاهی اجمالی به کنفرانس هایی که در سال 2019 برگزار می شود را بررسی خواهیم کرد. کنفرانس ها یک محیط خوب برای شنیدن حرفای عالی، صحبت کردن، و برنامه نویسان برای برقراری ارتباط است. حتی اگر شما نمیتوانید حضور پیدا کنید، آنها در تقویم برای همه کسانی که علاقه مند به انتشار و بحثهای بعدی در جاوا هستند، هستند.
 دوره آموزشی برنامه نویسی جاوا