زبان برنامهنویسی سی، زبانی همه منظوره، ساختیافته، دستوری و روندگرا است که در سال ۱۹۷۲ توسط دنیس ریچی در آزمایشگاههای بل ساخته شد. در دهه ۱۹۶۰ میلادی توسعه نرمافزار دچار مشکلات عدیدهای شد. در آن زمان سبک خاصی برای برنامه نویسی وجود نداشت و برنامهها بدون هیچگونه ساختار خاصی نوشته میشدند. وجود دستور پرش (goto) نیز مشکلات بسیاری را برای فهم و درک برنامه توسط افراد دیگر ایجاد میکرد، چرا که جریان اجرای برنامه مرتباً دچار تغییر جهت شده و دنبال کردن آن دشوار میگردید؛ لذا نوشتن برنامهها عملی بسیار زمان بر و پرهزینه شده بود و معمولاً اشکال زدایی، اعمال تغییرات و گسترش برنامهها بسیار مشکل بود. فعالیتهای پژوهشی در این دهه باعث بوجود آمدن سبک جدیدی از برنامه نویسی بنام برنامهنویسی ساختیافته گردید؛ روش منظمی که باعث ایجاد برنامههایی کاملاً واضح و خوانا گردید که اشکالزدایی و خطایابی آنها نیز بسیار سادهتر بود. برنامههای نوشته شده به زبان C در فایلی متنی با پسوند c. ذخیره میشوند. به این فایل، کد منبع (source code) گفته میشود. فایل کد منبع برای اجرا باید به زبان ماشین ترجمه شود که به اینکار ترجمه (compile) و به برنامهای که عمل ترجمه به زبان ماشین یا زبان دیگر را انجام میدهد مترجم (compiler) میگویند. در دوره آموزشی Udemy 101 C Programming for beginners and interview preparation به صورت مقدماتی با آموزش تسلط بر زبان سی آشنا می شوید.
اگر تاکنون اخبار مربوط به سرویسهای کلود را دنبال کرده باشید، احتمالاً میدانید که تکنولوژیهای قدیمی هاستینگ و سرورها جای خود را با سرویسهای ابری عوض کردهاند؛ یکی از ویژگیهایی که سرویسهای کلود دارند این است که سرویس مورد نظر شما بر روی چندین سرور کلود در سراسر جهان در حال اجرا است و در صورتی که یکی از این سرورها از کار بیفتد، سرور دیگری به کاربران شما سرویسدهی خواهد کرد. در معماری Serverless معیار اندازهگیری مدت زمانی است که تابع مورد نظر شما در حال استفاده منابع سرور بوده است؛ در این معماری بحث بر سر این موضوع نیست که چه مقدار RAM یا CPU برای اجرای تابع مورد نظر شما نیاز است بلکه فقط مدت زمانی که طول میکشد تا تابع شما اجرا شود بررسی میشود. درواقع، هیچ یک از معیارهای قدیمی در این معماری در نظر گرفته نمیشوند! شما تابع مورد نظر خود را مینویسید، آن را بر روی کلود پابلیش میکنید و فقط به اندازهٔ زمانی که تابع شما طول کشیده است تا اجرا شود هزینه پرداخت میکنید. در این معماری برای شما مشخص نمیکنند که تابع مد نظر به طور فنی باید چگونه باشد؛ درواقع، از نظر شرکت مد نظر آن تابع یک واحد کاری است که باید انجام شود. توابع میتوانند به روشهای مختلفی اجرا شوند؛ ممکن است یک شمارنده به صورت دورهای تابع ما را اجرا کند یا اینکه یک پاسخدهنده به درخواستهای HTTP یا حتی رویدادی برای سرویسهای مشابه باشد. فرقی نمیکند که تابع شما چه کار میکند بلکه تنها چیزی که در این معماری مهم است این است که چقدر طول میکشد تابع شما اجرا شود. در دوره آموزشی Packt Beginning Serverless Architectures with Azure با آموزش مقدماتی معماری سرورلس با آژور آشنا می شوید.
اینترنت چیزها، یا چیزنت (Internet of Things) (مخفف IoT) که گاهی در زبان انگلیسی اینترنت اشیا(Internet of Objects) هم برای این کلمه استفاده میشود، به طور کلی اشاره دارد به بسیاری از چیزها شامل اشیا و وسایل محیط پیرامونمان که به شبکه اینترنت متصل شده و بتوان توسط اپلیکیشنهای موجود در تلفنهای هوشمند و تبلت کنترل و مدیریت شوند. اینترنت چیزها به زبان ساده، ارتباط سنسورها و دستگاهها با شبکهای است که از طریق آن میتوانند با یکدیگر و با کاربرانشان تعامل کنند. این مفهوم میتواند بهسادگی ارتباط یک گوشی هوشمند با تلویزیون باشد و یا به پیچیدگی نظارت بر زیرساختهای شهری و ترافیک. از ماشین لباسشویی و یخچال گرفته تا پوشاک؛ این شبکه بسیاری از دستگاههای اطراف ما را در برمیگیرد. در دوره آموزشی O'Reilly Learning Path: Programming the Internet of Things با آموزش برنامه نویسی اینترنت اشیا آشنا می شوید.
آپاچی اسپارک محاسباتی خوشه ای سبک و سریع برای محاسبات سریع طراحی شده است. اسپارک در لایه بالایی Hadoop MapReduce می باشد و مدل MapReduce را برای موثر بودن انواع بیشتری از محاسباتی که شامل کوئری های تعاملی (Interactive Queries) و جریان پردازش (Stream Processing) می باشد، گسترش می دهد. داده های عظیم، ابر داده، بزرگداده یا داده های بزرگ (Big Data) اصطلاحی است که به مجموعه داده هایی اطلاق میشود که مدیریت، کنترل و پردازش آنها فراتر از توانایی ابزارهای نرمافزاری در یک زمان قابل تحمل و مورد انتظار است. مقیاس بزرگ داده، به طور مداوم در حال رشد از محدوده چند ۱۰ ترابایت به چندین پتابایت، در یک مجموعه داده واحد است. نـمونههایی از بزرگ داده، گــزارش های وبی، سامانه های بازشناسی با امواج رادیویی، شبکههای حسگر، شبکههای اجتماعی، متون و اسناد اینترنتی، نمایههای جستجوهای اینترنتی، نجوم، مدارک پزشکی، آرشیو عکس، آرشیو ویدیو، پژوهشهای زمینشناسی و تجارت در مقیاس بزرگ هستند. در دوره آموزشی Udemy Apache Spark 2.0 with Java 8: Beginner to Advanced Guide به آموزش مقدماتی تا پیشرفته آپاچی اسپارک 2 همراه با جاوا 8 می پردازیم.
سیستم مدیریت آموزش (LMS= Learning Managment System)٬ نرم افزاری است که فعالیت آموزش گیرنده را ثبت و پیگیری می کند. به عبارت دیگر٬ این سیستم٬ روند یادگیری و آموزش را به طور خودکار مدیریت می کند. یک سیستم مدیریت آموزش قدرتمند٬ مدیریت اجرایی برنامه های آموزشی را در درون یک سازمان تسهیل می کند و همچنین این سیستم فراگیران را قادر می سازد که به همکاری و مشارکت با فراگیران هم تراز خود بپردازند. LMS ها عملا ابزاری هستند که فرایند E-learning را تسهیل مینماید. امروزه استاندارد های فراوانی برای یکسان سازی و هماهنگی میان همه انواع LMS بوجود آمده که برای نمونه استاندارد scorm برای یکسان سازی محتوای LMS در همه سیستمها است. در دوره آموزشی Skillshare Build Library Management System | Python & PyQt5 به آموزش ساخت سیستم مدیریت آموزش با پایتون و PyQt5 می پردازیم.
هشتمین نسخه یکی از قویترین سیستم های مدیریت محتوا یعنی Drupal 8 منتشر شد. Drupal 8 به طور رسمی توسط سایت دروپال انتشار و هم اکنون قابل دانلود می باشد. این نسخه بزرگترین بروزرسانی در تاریخ Drupal تاکنون است. با وجود ماژول های کلیدی همچون نماها و رفرنس های موجود که بصورت تمام و کمال در هسته ی Drupal 8 جای گرفته اند و پروژه های بسیاری که هم اکنون برای Drupal 8 قابل دسترسی می باشند، می توانید بی درنگ شروع کرده و سایت جدید خود را با دروپال بنویسید. همچنین می توانید از بخش مردمی Contrib Porting Tracer برای دریافت بروزرسانی ماژول ها و تم های مورد علاقه خود استفاده کنید و یا بخوانید که چگونه میتوانید در این امر مشارکت کنید. در دوره آموزشی Udemy Learn Drupal 8 module development with examples با آموزش توسعه ماژول های دروپال 8 همراه با مثال آشنا می شوید.
افرادی که تکنولوژی های مایکروسافت به ویژه asp.net را پیگیری می کنند یکی دو سال می شود که با شنیدن خبرهایی مانند "open source شدن دات نت"، "قابلیت اجرا بر روی غیر ویندوز مثل لینوکس و os x با سوالهایی مواجه می شوند. این تغییرات موجب چه بهبودهایی در توسعه نرم افزار های تحت .net می شود؟ آیا مایکروسافت از تکنولوژی های قبلی پشتیبانی می کند یا باید سراغ تکنولوژی جدید بروم؟ برای پاسخ به سوالهایی از این دست شاید بهترین راه پس از آشنایی اولیه، انجام یک پروژه کوچک باشد. برای کسانی که برای توسعه وب سایت از تکنولوژی وب فورم استفاده می کنند تغییرات چشم گیر خواهد بود. بنابراین توصیه می شود ابتدا asp mvc نسخه های قبلی یعنی تا نسخه ۶ را اندکی تجربه کنند. اما برای کسانی که تجربه کدنویسی در چارچوب الگوی mvc را دارند تغییرات بسیار کم است. تیم asp.net سعی کرده است در نسخه جدید که تنها بر بستر mvc است از لحاظ مفهومی سازگاری را حفظ کند با اینکه تمام کتابخانه ها و توابع از نو نوشته شده اند. بنابراین اگر شما در asp.net mvc6 کلاسی دارید در asp.net core هم همین کلاس را دارید با این تفاوت که این کلاس در namespace دیگری قرار دارد. در دوره آموزشی Udemy Learn ASP.NET Core Step By Step با آموزش گام به گام ای اس پی دات نت کور آشنا می شوید.
لینوکس سیستمعاملی شبه یونیکسی است که بخش عمدهٔ آن سازگار با استاندارد پازیکس است. از دید فنی لینوکسْ تنها نامی است برای هستهٔ سیستمعامل و نه کل آن. هستهای که نخستین بار در سال ۱۹۹۱ میلادی توسط لینوس توروالدز منتشر شد. اما به طور معمول این نام اطلاق میشود به سیستمعاملهایی که از همنهش (composition) لینوکس (به عنوان هسته سیستمعامل) با نرمافزارهای آزاد و متنباز بدست میآیند. درحالیکه بنیاد نرمافزار آزاد سیستمعامل حاصل از این همنهش را «گنو/لینوکس» مینامد اما همانطور که گفته شد به طور معمول آنرا لینوکس میخوانند. این دوگانگی در نام نهادن منجر به بحث نامگذاری گنو/لینوکس شدهاست. لینوکس از سختافزارهای مختلفی پشتیبانی میکند از جمله ساعت (Linux Watch)، تلفنهای همراه، تبلتها، مسیریابها، و کنسولهای بازی تا رایانههای رومیزی، رایانههای بزرگ و ابررایانهها. در دوره آموزشی Livelessons Linux Web Operations Complete Video Course با توسعه وب با ابزارهای مختلف نظیر پایتون و AWS و همچنین مدیریت سیستم عامل لینوکس، DNS، API و... آشنا می شوید.
به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند. هدف یادگیری ماشین این است که کامپیوتر (در کلیترین مفهوم آن) بتواند به تدریج و با افزایش دادهها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه میتواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گامبرداری روباتهای دوپا با دریافت سیگنال پاداش و تنبیه باشد. طیف پژوهشهایی که در یادگیری ماشینی میشود گستردهاست. در سوی نظری آن پژوهشگران بر آناند که روشهای یادگیری تازهای به وجود بیاورند و امکانپذیری و کیفیت یادگیری را برای روشهایشان مطالعه کنند و در سوی دیگر عدهای از پژوهشگران سعی میکنند روشهای یادگیری ماشینی را بر مسایل تازهای اعمال کنند. البته این طیف گسسته نیست و پژوهشهای انجامشده دارای مولفههایی از هر دو رویکرد هستند. در دوره ی آموزشی Udemy Machine Learning The Art of Digging Data با آموزش کاوش در داده ها با یادگیری ماشین آشنا می شوید.
کوکو پاد یک سامانه مدیریت کتابخانه ها (Dependency manager) برای پروژه های برنامه نویسی سوئیفت (Swift) و آبجکتیو سی (Objective-C) می باشد. سامانه مدیریت کتابخانه ها (Dependency manager) ابزاری است که به توسعه دهندگان زبان سوئیفت و ابجکتیو سی اپل اجازه می دهد یک نسخه ای خاص از یک کتابخانه ی خارجی را به پروژه مورد نظر اضافه کرده و از قابلیت های آن کتابخانه در پروژه خود بهره ببرند. این ابزار با دارا بودن بیش از ۱۸۰۰۰ کتابخانه می تواند کمک خوبی برای توسعه و بسط دادن پروژه ها به بهترین شکل باشد. در کوکوپادز به کتابخانه های نرم افزاری پاد (Pod) گفته می شود، کوکو پادز در سیستم اپل دقیقا سامانه ای مانند نیوگت (Nuget) برای برنامه نویسی دات نت (.NET) و ماوین (maven) برای برنامه نویسی اندروید (Android) می باشد. در دوره آموزشی Lynda Making Your Own CocoaPod with Swift با ساخت کوکوآپاد اختصاصی با سوئیفت آشنا خواهید شد.