elasticsearch، یک موتور جستجو و تحلیلگر توزیع شده است که برای تعامل با آن از restful api استفاده میشود، قالب ارسال و دریافت اطلاعاتش json است. اولین نسخه از elasticsearch در سال 2010 عرضه شد و در حال حاضر نسخه 5.0.1 آن هم در دسترس است. elasticsearch با جاوا توسعه داده شده، متن باز و تحت مجوز ASL است. امکان اجازه ی ترکیب و استفاده از انواع مختلف، پاسخ دهی سریع، مقیاس پذیر، پایداری و انعطاف پذیری بالا، قابل اعتماد، ساده و شفاف، دارای امنیت، دارای تحلیل گر بلادرنگ و... از ویژگی های elasticsearch می باشد. در دوره آموزشی O'Reilly Working with Elasticsearch کار با الاستیک سرچ را خواهید آموخت.
KNIME یک پلتفورم متنباز و یکپارچه برای تجزیه و تحلیل دادهها و گزارش گیری است که به زبان جاوا نوشته شده و مبتنی بر Eclipse است. KNIME از طریق مفهوم pipeline کردن داده، اجزای مختلف یادگیری ماشین و دادهکاوی را ترکیب کرده است. در سال 2006 از KNIME در تحقیقات دارویی استفاده شد و بعدتر در زمینههای دیگر مانند تحلیل دادهها در مدیریت ارتباط با مشتری مانند تحلیل و پیشبینی ریزش مشتری، هوش تجاری و تحلیل دادهی مالی مانند رتبهبندی اعتبار، تحلیل شبکههای اجتماعی مانند تجزیه و تحلیل تمایلات و... نیز مورد استفاده قرار گرفت. KNIME به کاربران اجازه میدهد که به صورت بصری جریانات داده را بسازند. یکی از کلیدهای موفقیت KNIME همین فرایند Workflow است که فرایند تحلیل را همانطوری که درک و پیادهسازی شده، ذخیره میکند. مقیاسپذیری بالا از طریق مدیریت دادهها و catching خودکار آنها، امکان توسعهی زیاد و ساده از طریق APIهاس خوشساخت، امکان ورودی دادن و خروجی گرفتن از Workflowها، توانایی اجرای موازی روی سیستمهای چند هستهای و... از جمله ویژگی های آن می باشد. در دوره آموزشی O'Reilly Introduction to Data Analytics with KNIME با نحوه آنالیز داده ها با نایم آشنا می شوید.
بانک اطلاعاتی یا پایگاه داده یا دیتابیس به مجموعه ای از اطلاعات با ساختار منظم گفته می شود. این پایگاه های اطلاعاتی معمولاً در قالبی که برای دستگاه ها و رایانه ها قابل خواندن و قابل دسترسی باشند ذخیره می شوند. پایگاه داده در اصل مجموعه ای سازمان یافته از اطلاعات است. این واژه از دانش رایانه سرچشمه می گیرد ،اما کاربر وسیع و عمومی نیز دارد، این وسعت به اندازه ای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانه ای برای پایگاه داده ایجاد می کند) شامل تعاریف غیر الکترونیکی برای پایگاه داده می باشد. در این نوشتار به کاربرد های تکنیکی برای این اصطلاح محدود می شود. یک تعریف ممکن این است که: پایگاه داده مجموعه ای از رکورد های ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانه ای است که می تواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولا به صورت مجموعه ای از اجزای داده ای یا رویداد ها سازماندهی می گردد. در دوره آموزشی O'Reilly Database Fundamentals for Java Programmers با اصول و مبانی طراحی پایگاه داده برای برنامه نویسان جاوا آشنا می شوید.
کوتلین زبان برنامهنویسی از نوع ایستا است که بر روی ماشین مجازی جاوا اجرا میشود. همچنین میتواند به سورس کد جاوا اسکریپت نیز کامپایل شود. اولین توسعهٔ ان از تیم برنامهنویسان JetBrains واقع در سنت پترزبورگ روسیه است (این نام از روی جزیره کوتلین در نزدیکی سنت پتربورگ میآید). کوتلین در ژانویهٔ سال ۲۰۱۲ به عنوان زبان ماه انتخاب شد. با وجود آنکه از نظر syntax با جاوا سازگار نیست، کوتلین طراحی شده تا با کد جاوا همکاری داشته باشد و متکی بر کد جاوا از کتابخانهٔ کلاس جاوا است، مانند مجموعهٔ فریم ورکها. مشابه با Pascal, Haxe, PL/SQL, F#, Go و اسکالا (بی شباهت به نحو C و زبانهای مشتق از ان مانند نیست C++, Java, C# و زبان D)، اعلامات متغیر کوتلین و پارامتر لیستها دارای نوع هستند که بعد از نام متغیر میآید (با جدا کنندهٔ کالن). مانند دیگر زبانهای مدرن مانند اسکالا و Groovy، سمی کالنها به عنوان عبارت خاتمه دهنده اختیاری هستند. در بیشتر اوقات یک خط جدید برای کامپایلر کافی است تا بتواند استنباط کند که عبارت به پایان رسیده است. در دوره های آموزشی O'Reilly Kotlin Programming Tutorial Series با زبان برنامه نویسی کوتلین آشنا می شوید.
نرم افزار RapidMiner یکی از پرکاربرد ترین نرم افزارهای داده کاوی طی سال های اخیر بوده است. متن باز بودن و استفاده از کتابخانه های آن برای برنامه نویسان به همراه امکان استفاده از محیط گرافیکی آن بدون استفاده از دانش برنامه نویسی باعث گشته طیف متنوعی از کاربران به سراغ این ابزار متمایل گردند. تنوع الگوریتم های آماده سازی و مدلسازی در این ابزار باعث شده تا بسیاری از پروژه های تحقیقاتی، آکادمیک و همچنین پروژه های اجرایی حداقل بخشی از روند پیاده سازی مدل ها را در این ابزار مورد آزمایش قرار دهند. این نرمافزار یک ابزار دادهکاوی متن باز است که با زبان جاوا نوشته شدهاست و از سال 2001 تا به حال، توسعه داده شدهاست. در این نرمافزار سعی تیم توسعهدهنده، بر آن بودهاست که تا حد امکان تمامی الگوریتمهای رایج دادهکاوی و همچنین یادگیری ماشین پوشش داده شوند. به گونهای که حتی این امکان برای نرمافزار فراهم شدهاست تا بتوان سایر ابزارهای متن باز دادهکاوی را نیز به آن الحاق نمود. رابط گرافیکی شکیل و کاربرپسند نرمافزار نیز آن را یک سر و گردن بالاتر از سایر ابزارهای رقیب قرار میدهد. لازم به ذکر است این نرم افزار به عنوان پرکاربردترین نرم افزار داده کاوی در سال 2014 شناخته شده است. در دوره آموزشی O'Reilly Beginning Data Analytics with RapidMiner Training Video با نحوه آنالیز داده ها در نرم افزار رپیدماینر آشنا می شوید.
بنیان نمایش ویندوز (Windows Presentation Foundation) (یا WPF) که توسط مایکروسافت ایجاد شد، یک زیر سیستم گرافیکی برای رندر کردن واسطهای کاربر در برنامههای کاربردی تحت ویندوز می باشد. WPF یک موتور رندرینگ برداری و مستقل از وضوح تصویر است که برای بهره برداری از مزایای سخت افزارهای گرافیکی امروزی ساخته شده است. تعبیه WPF در نسخههای سیستم عامل ویندوز از ویندوز ویستا و ویندوز سرور ۲۰۰۸ آغاز شد، که البته در ویندوز XP و ویندوز سرور ۲۰۰۳ نیز قابل استفاده است. WPF که پیشتر به نام "Avalon" شناخته می شد، اولین بار به عنوان بخشی از چارچوب دات نت 3 به بازار آمد. WPF به جای استفاده از سیستم قدیمی تر واسط دستگاه گرافیک (GDI) از دایرکت ایکس استفاده می کند. WPF سعی دارد که مدل پایداری از برنامه نویسی ارائه کند که در آن واسط کاربر از منطق تجاری(Business Logic) برنامه کاملاً جدا باشند. از این جهت شباهت زیادی به زول (زبان برنامهنویسی) و SVG دارد. WPF از XAML (با تلفظ زمل)، که از مشتقات ایکسامال (XML) است، برای تعریف و پیوند عناصر تشکیل دهنده واسط کاربر استفاده می کند. برنامههای WPF می توانند به صورت مستقل ومنزوی یا به صورت شی ادغام شده در یک صفحه وب به کار روند. مایکروسافت سیلورلایت نیز از WPF استفاده می کنند تا کنترلهای وب ادغام شده در صفحات را به شیوه ای قابل مقایسه با ادوبی فلش ارائه دهد. در دوره آموزشی O'Reilly Intermediate Windows Presentation Foundation Training Video در سطح متوسط با ویندوز پرزنتیشن فونداسیون آشنا می شوید.
Nagios یک سیستم مانیتورینگ اپن سورس برای مانیتور کردن شبکه، زیر ساخت ها و نرم افزار ها است. با Nagios امکان مانیتورینگ سیستم، سرویس ها و شبکه با ارسال پیغام هایی به ایمیل مدیران در زمان های بحرانی وجود دارد. در پیکربندی Nagios از دو ماشین لینوکسی که یکی به عنوان Nagios Server عمل می کند و دیگری به عنوان Nagios Client استفاده می کنیم. Nagios Server ماشینی است که Nagios و کنسول آن به روی آن نصب شده و می توان دیگر ماشین های شبکه را را برای مانیتورینگ متمرکر به آن (Nagios Server) معرفی کرد. در واقع با استفاده از ماشین Nagios Server می توان سرویس ها، زیر ساخت ها (مانند ftp, dns) و وضعیت پردازنده، حافظه و swap بر روی ماشین های راه دور را یکجا مانیتور کرد. به ماشین هایی که به Nagios Server معرفی می شوند، Nagios Client گویند. لازم است بر روی ماشین های Nagios Client، بسته نرم افزاری nrpe نصب شود. در دوره آموزشی O'Reilly Modern Nagios Training Video با ناجیوس و ویژگی های آن آشنا می شوید.
در زبان برنامه نویسی، یک رویداد، کار یا رخدادی است که توسط نرمافزار شناخته میشود و میتواند توسط نرمافزار بهکار بردهشود. رویدادهای رایانهای میتوانند توسط سامانه یا کاربر ایجاد شود. معمولاً رویدادها بهطور همگام با روند برنامه بهکار برده میشوند؛ به این معنی که، نرمافزار ممکن است یک با چند مکان اختصاصی که رویدادها بهکار برده میشوند داشتهباشد. معمولاً منابع رویدادها کاربری را شامل میشود که ممکن است یک کلید از صفحهکلید را بفشارد. دیگر منبع یک دستگاه سختافزاری مانند یک زمانسنج است. نرمافزار همچنین میتواند مجموعهٔ خودش از رویدادها را درون حلقهٔ رویداد راهاندازی کند، مانند ارتباط برقرارکردن با اتمام یک وظیفه. نرمافزاری که رفتارش را در پاسخ به رویدادها تغییر میدهد رویدادمحور گفته میشود. Delegates می تواند یک شی باشد که شامل لیستی از متدهای یکسان است. (هم امضا و دارای مقادیر بازگشتی یکسان). به متدهایی که تعداد و مقادیر و نوع پارامترها ورودی و خروجی یکسان است، متدهای یکسان می گویند. در دوره آموزشی O'Reilly Mastering Events and Delegates in C# Training Video با رویدادها و دلگیت ها در سی شارپ آشنا می شوید.
وراثت در برنامه نویسی شبیه وراثت بیولوژیکی است که در آن فرزندان صفاتی را از والدین به ارث میبرند. در برنامهنویسی شیءگرا میتوان با وراثت از کلاس موجود کلاسی را ایجاد کرد که دادهها و متدهای کلاس قبلی را به ارث ببرد. برای فرزند یک کلاس می توان توابع و متغیرهای جدید تعریف کرد یا توابع مربوط به والد را دوباره نویسی (overwrite) نمود. مفهوم چندریختی ویژگی است که به رابطها امکان میدهد تا برای گروهی از عملیاتها مورد استفاده قرار گیرند. مفهوم چندریختی از طریق دو مفهوم متدهای Override (توابع مجازی) و Overload شده پشتیبانی میشود. چندریختی به معنای چندین شکل از یک متد است. مفهوم چندریختی اغلب به وسیلهٔ عبارت« یک رابط، چند متد» بیان میشود. این بدین معناست که این امکان وجود دارد که یک رابط عمومی برای گروهی از فعالیتهای مرتبط به هم طراحی شود. در برنامههای شیء گرا مانند سی پاس پلاس، این امکان فراهم شده تا دو و یا بیش از دو متد همنام در یک کلاس تعریف نمود، مشروط بر اینکه تعریف پارامترهای آن متفاوت باشد. در این موارد متدها Overload میشوند. از چندریختی به منظور تعیین انواع مختلف متدهای پویا، در زمان اجرا استفاده میشود. که این یکی از قدرتمندترین امکاناتی است که چندریختی به وجود میآورد. چنانچه نام و امضای متدی از یک زیر کلاس (در ساختار سلسله مراتبی کلاسها) با نام و نوع امضای متدی از فوق کلاسش یکسان باشد، در آن صورت متد موجود در زیر کلاس، متد موجود در فوق کلاسش را Override میکند. در دوره آموزشی O'Reilly Inheritance and Polymorphism with C++ Training Video با استفاده از سی پلاس پلاس به آموزش وراثت و چندریختی در شی گرایی می پردازیم.
آپاچی تامکت (Apache Tomcat) یک وبسرور آزاد و یک کانتینر سرولت است که توسط بنیاد نرمافزار آپاچی توسعه داده میشود. آپاچی تامکت یک پیادهسازی از قرارداد جیاسپی اوراکل و همینطور جاوا سرولت است و یک محیط وبسرور HTTP «تماماً جاوایی» را برای کدهای جاوا فراهم میکند تا در آن محیط اجرا شوند. آپاچی تامکت در سادهترین پیکربندی، به صورت یک فرایند منفرد اجرا میشود. این فرایند، ماشین مجازی جاوا را اجرا میکند. تمام درخواستهای HTTP که از طرف مرورگر وب برای تامکت ارسال میشوند، با استفاده از یک ریسه مجزا پردازش میشوند. بستهٔ نرمافزاری آپاچی تامکت حاوی ابزارهای برای پیکربندی و مدیریت این نرمافزار است، اما همچنین تامکت را میتوان مستقیماً با تغییر دادن فایلهای پیکربندی مبتنی بر XML آن هم پیکربندی کرد. در دوره آموزشی O'Reilly Learning Apache Tomcat Training Video با آپاچی تامکت و ویژگی های آن آشنا می شوید.