الگوریتم (Algorithm) یکی از مهم ترین بخش های دنیای کامپیوتر می باشد. در واقع الگوریتم مجموعه ای ترتیبی از دستور العمل ها است که به ترتیب خاصی اجرا می شوند و مساله ای خاص را حل می کنند. در دنیای کامپیوتر مسائل مختلفی وجود دارد که برای هرکدام الگوریتم های متفاوتی وجود دارد، هر کدام از آن ها دارای مزایا و معایبی هستند، به طور مثال یکی در استفاده از فضا بهینه است و یکی زمان اجرای بسیار بهینه و کمی دارد. از این رو دانستن الگوریتم های مختلف مثل جست و جو، مرتب سازی و... در دنیای کامپیوتر بسیار اهمیت دارد. از طرفی برای استفاده مناسب از الگوریتم ها باید با انواع ساختمان های داده مثل صف، پشته، لیست پیوندی و... آشنا بوده و ویژگی های هرکدام را بدانیم. ما می توانیم با انتخاب ساختمان داده و الگوریتم مناسب مسائل مختلف را به صورت بهینه حل کنیم و برنامه های بسیار مناسبی تولید نماییم. در دوره ی آموزشی Packt Break Away: Programming And Coding Interviews شما با انواع مختلف الگوریتم و ساختمان های داده مانند لیست های پیوندی، اشاره گرها و... آشنا می شوید.
دادهکاوی (Data Mining) به مفهوم استخراج اطلاعات نهان و یا الگوها و
روابط مشخص در حجم زیادی از دادهها در یک یا چند بانک اطلاعاتی بزرگ است.
بسیاری از مردم داده کاوی را مترادف واژه های رایج کشف دانش از دادهها
(KDD) میدانند. دادهکاوی پایگاهها و مجموعههای حجیم دادهها را در پی
کشف واستخراج دانش، مورد تحلیل و کند و کاوهای ماشینی (و نیمهماشینی) قرار
میدهد. این گونه مطالعات و کاوشها را به واقع میتوان همان امتداد و
استمرار دانش کهن و همه جا گیر آمار دانست. تفاوت عمده در مقیاس، وسعت و
گوناگونی زمینهها و کاربردها، و نیز ابعاد و اندازههای دادههای امروزین
است که شیوههای ماشینی مربوط به یادگیری، مدلسازی، و آموزش را طلب
مینماید. در دوره آموزشی Packt Advanced Statistics and Data Mining for Data Science با آموزش پیشرفته آمار و داده کاوی برای علوم داده آشنا می شوید.
یکی از مسائل مهمی که دارندگان وب سایت ها با آن مواجه هستند، مسئله حفظ امنیت و روش های ایمن نگهداشتن سرور، نرم افزارها و اطلاعات و داده ها و به طورکلی وب سایت، در مقابل تهدیدات احتمالی است. بنابراین آشنایی با روش های متداولی که هکر ها از آن ها برای دستیابی به اطلاعات شما استفاده می کنند به علاوه آشنایی با طرز عمل و شیوه تفکر کلی آن ها درباره حمله به وب سایت، می تواند به عنوان یک راه حل زیرکانه برای مقابله با چالش های امنیتی مورد استفاده قرار گیرند. در این میان آگاهی از اصولی همچون اهمیت فیلتر کردن ورودی، کنترل خروجی ها، استراتژی های هوشمند برای رمزنگاری و تصدیق هویت کاربران، می تواند برای توسعه دهندگان و صاحبان وب سایت ها بسیار مفید واقع شود. در دوره آموزشی Packt Learning Python Web Penetration Testing شما با آموزش تست نفوذ وب با پایتون آشنا می شوید.
فریم ورک Ember.js امبر جی اس جدید ترین فریم ورک در نوع خود است اما در همین عمر کوتاه (در سال ۲۰۱۱ به بازار عرضه شده) خود توانسته سهم بازار نسبتاً قابل توجهی را به خود اختصاص دهد. اپلیکیشن های LivingSocial، Groupon، Zendesk، Discourse و Square برخی از نمونههای معروفی اند که از این فریم ورک استفاده کرده اند. به گفته توسعه دهندگان اصلی این فریم ورک، زمانی که شما سایتی را مشاهده میکنید به راحتی میتوانید تشخیص دهید که آیا از امبر استفاده کرده است یا خیر زیرا سایتهایی که از فریم روک Ember استفاده می کنند خیلی سریع لود میشوند و دلیل این مسأله هم آن است که تمامی فرایند رندر شدن در مرورگر کاربر اتفاق می افتد. این قبیل وب سایتها در ظاهر همانند سایتهای عادی هستند اما پشت پرده ساختاری شبیه به یک اپلیکیشن اندروید یا آی او اس دارند که فرایندها در آن ها توسط سرور پردازش نمی شوند. این فریم ورک از بعد حجم عنوان سنگین ترین فریم ورک را به خود اختصاص داده است (۶۹K). گفته میشود که اپلیکیشن هایی که با این فریم ورک نوشته شدهاند پس از این کامپایل میشوند اندازهای مشابه اپلیکیشن های نوشته شده با سایر فریم ورک ها دارند و شاید دلیل این مسأله آن باشد که سایر فریم ورک ها غالباً در حین فرایند ساخت، لایبرری های اضافی دانلود می کنند. یکی از دلایلی که فریم ورک امبر سایز بیشتری نسبت به رقبا دارد این است که این فریم ورک دارای یکسری خصوصیات از پیش تعریف شده است و همین مسأله منجر شده تا حجم آن افزایش یابد. در دوره آموزشی Packt Test Driven Web Application Development with Ember با فریم ورک امبر جی اس و نحوه طراحی یک وب سایت فروش محصول به همراه ویژگی های آن آشنا می شوید.
هادوپ یک نرم افزار کد باز (Open source) است که برای تقسیم بندی و توزیع فایل های متمرکز به کار می رود. هادوپ تحت لیسانس آپاچی (Apache) ارائه می شود و توسط جاوا برنامه نویسی شده است. امّا هادوپ چگونه به وجود آمد؟ شرکت گوگل در پی افزایش حجم تبادل اطلاعات، به دنبال راه حلّی برای افزایش سرعت و راندمان سرورهای خود بود که سیستم توزیع (Distribution) منحصر به فردی برای خود ابداع کرد به نام GFS که مخفف Google File System بود. در پی این موفقیت، انجمن توزیع Apache به فکر گسترش این تکنولوژی در سطح وسیع تری افتاد و سیستم هادوپ به وجود آمد. هادوپ یک فریم ورک یا مجموعه ای از نرم افزارها و کتابخانه هایی است که ساز و کار پردازش حجم عظیمی از داده های توزیع شده را فراهم می کند. در واقع Hadoop را می توان به یک سیستم عامل تشبیه کرد که طراحی شده تا بتواند حجم زیادی از داده ها را بر روی ماشین های مختلف پردازش و مدیریت کند. MapReduce، یک مدل برنامه نویسی ساده است که برای حل مسائل محاسباتی در مقیاس وسیع و نیز به صورت توزیعی، مورد استفاده قرار میگیرد. مفهوم MapReduce توسط گوگل در سال ۲۰۰۳ توسعه داده شد و ارائه شد MapReduce یک چارچوب نرمافزاری است که بستری امن و مقیاس پذیر برای توسعه کاربردهای توزیعی فراهم میکند.MapReduce، به زبانهای مختلف پیادهسازی شده است. در دوره آموزشی Packt Learn By Example - Hadoop, MapReduce for Big Data problems با هادوپ و مپ ریداک برای مشکل های داده های حجیم همراه با مثال آشنا می شوید.
اگر تاکنون اخبار مربوط به سرویسهای کلود را دنبال کرده باشید، احتمالاً میدانید که تکنولوژیهای قدیمی هاستینگ و سرورها جای خود را با سرویسهای ابری عوض کردهاند؛ یکی از ویژگیهایی که سرویسهای کلود دارند این است که سرویس مورد نظر شما بر روی چندین سرور کلود در سراسر جهان در حال اجرا است و در صورتی که یکی از این سرورها از کار بیفتد، سرور دیگری به کاربران شما سرویسدهی خواهد کرد. در معماری Serverless معیار اندازهگیری مدت زمانی است که تابع مورد نظر شما در حال استفاده منابع سرور بوده است؛ در این معماری بحث بر سر این موضوع نیست که چه مقدار RAM یا CPU برای اجرای تابع مورد نظر شما نیاز است بلکه فقط مدت زمانی که طول میکشد تا تابع شما اجرا شود بررسی میشود. درواقع، هیچ یک از معیارهای قدیمی در این معماری در نظر گرفته نمیشوند! شما تابع مورد نظر خود را مینویسید، آن را بر روی کلود پابلیش میکنید و فقط به اندازهٔ زمانی که تابع شما طول کشیده است تا اجرا شود هزینه پرداخت میکنید. در این معماری برای شما مشخص نمیکنند که تابع مد نظر به طور فنی باید چگونه باشد؛ درواقع، از نظر شرکت مد نظر آن تابع یک واحد کاری است که باید انجام شود. توابع میتوانند به روشهای مختلفی اجرا شوند؛ ممکن است یک شمارنده به صورت دورهای تابع ما را اجرا کند یا اینکه یک پاسخدهنده به درخواستهای HTTP یا حتی رویدادی برای سرویسهای مشابه باشد. فرقی نمیکند که تابع شما چه کار میکند بلکه تنها چیزی که در این معماری مهم است این است که چقدر طول میکشد تابع شما اجرا شود. در دوره آموزشی Packt Building Serverless Applications با آموزش ساخت اپ های بدون سرویس آشنا می شوید.
Laravel یکی از فریم ورک های زبان PHP است که برای توسعه اپلیکیشن های وب در نظر گرفته شده است و بر پایه MVC کار می کند. فریم ورک لاراول، برنامه نویسی برنامه های کاربردی تحت وب با زبان PHP را سادهتر می نماید و کمک بسزایی برای انجام پروژه های PHP و توسعه آسان آنها می کند. فریم ورک Laravel بر روی اجزای مختلف فریم ورک symfony ساخته شده است و به برنامه شما پایهای بزرگ از کد های قابل اعتماد و تست شده می دهد. لاراول مجموعه ای از بهترین راه حل ها با سینتکس پر معنا و خلاقانه را ارائه میکند که به درستی انجام می پذیرند. چند ماه پیش بود که لاراول ۵.۳ انتشار یافت و حالا لاراول ۵.۴ با یکسری ویژگی های جدید و امکانات جدید که به آن اضافه شده ریلیز شد. اگرچه ما تا بحال هم به صورت پیوسته نوآوریهای فراوانی را برای این فریم ورک ارائه کردهایم، اما ۵٫۴ یکی از جالبترین نسخههایی است که تا امروز دیدهاید. لاراول نسخه 5.1 همراه با ویژگی های جدیدی معرفی شد؛ مهمترین ویژگی هایی که با این نسخه لاراول معرفی شده است اعلام رویدادها، بهبود امکانات تست و پشتیبانی از LTS است . در دوره ی آموزشی Packt Extending Laravel with First Party Packages با توسعه لاراول با اولین پکیج های خارجی آشنا می شوید.
دسته:
آموزش ←
کسب و کار
|
برنامه نویسی و طراحی وب
تصویرسازی دادهها (Data Visualization) به معنی ایجاد و مطالعه نمایش بصری داده، یعنی «اطلاعات چکیدهشده به یک شکل شماتیک، شامل خواص یا متغیرهای مربوط به واحدهای اطلاعاتی» است. به گفته فریدمن (۲۰۰۸) «هدف اصلی تصویرسازی دادهها ارتباط واضح و کارآمد اطلاعات از طریق ابزارهای گرافیکی است. البته به این معنی نیست که تصویرسازی دادهها برای کارآمدی باید خستهکننده به نظر بیاید یا برای زیبا بودن باید پیچیده باشد. برای انتقال کارآمد ایدهها، هر دو شکل زیبا و کارآمدی باید دوشادوش پیش رفته باشند و دانش مربوط به مجموعهای پیچیده و پراکنده از اطلاعات را با نمایش نوآورانه جنبههای کلیدی آن، انتقال دهند. با این وجود طراحان معمولا نمیتوانند توازن میان شکل و کارآمدی را رعایت کنند و تجسم زیبایی از دادهها ایجاد میکنند که در اصلیترین ماموریت خود - انتقال اطلاعات - باز میمانند». فرناندا ویگاس و مارتین واتنبرگ معتقدند تصویرسازی دادهها نهتنها باید ارتباطی واضح ایجاد کند بلکه باید توجه و درگیری بیننده را نیز موجب شود. تصویرسازی دادهها ارتباطی نزدیک با گرافیک اطلاعات، تجسم اطلاعات، تجسم علمی و گرافیک آماری دارد. در هزاره جدید، تصویرسازی دادهها حوزهای فعال برای تحقیق، آموزش و توسعه شده است. امروزه بسیاری معتقدند تصویرسازی دادهها توانسته تجسم علمی و اطلاعاتی را با هم متحد کند. برایان ویلیسون ثابت کرده است تصویرسازی دادهها با فراگیری توسعه سریع نرمافزار و درگیری مشتریان نیز ارتباط دارد. در دوره آموزشی Packt Data Visualization Solutions for Beginners با مصورسازی داده ها آشنا می شوید.
چندریسمانی یا چندنخی (Multithreading) توانایی یک برنامه در تقسیم شدن به چند ریسه (زیربرنامه) است که میتوانند جداگانه و در عین حال همزمان توسط رایانه اجرا شوند. یک رایانه چندپرداز میتواند همزمان دو یا چند ریسمان را اجرا کند که به معنی اجرای زودتر کل برنامه نسبت به رایانه تکپرداز است. بر روی یک رایانه تکپردازنده یک برنامه چند ریسمانی زودتر اجرا نمیشود اما یک نرمافزار کاربردی چندریسمانی ممکن است با کاربر اندرکنش بیشتری داشته باشد زیرا چندین فعالیت در نرمافزار همزمان اجرا میشوند. نرمافزارهای سنتی تکریسهای بر روی سیستمهای چندپردازنده سریعتر اجرا نمیشوند زیرا آن نرمافزارها در هر زمان میتوانند تنها یک پردازنده را به کار بگیرند. در دوره آموزشی ++Packt Mastering Multithreading with C با آموزش تسلط بر چندنخی در سی پلاس پلاس و توسعه اپ های چند نخی آشنا می شوید.
++C یک زبان پیشرفته، شی گرا و چند منظوره است که برگرفته و توسعه یافته زبان قدرتمند C است و در اوائل دهه 1980 توسط استراس تروپ؛ دانشمند دانمارکی آزمایشگاههای بل طراحی شد. سی پلاس پلاس دارای قابلیتهای متعددی است که باعث زیبایی و انعطاف بیشتر زبان C شده است که مهمترین آنها شی گرا بودن زبان ++C است. زبان سی پلاس پلاس یک زبان سطح میانی (دارای قابلیت های زبانهای سطح بالا و پایین) است که برای طراحی و تولید هر چه بهتر برنامه های کاربردی، روش های ساخت یافته و منظمی را تدارک دیده است و در عین حال، برخورداری و پشتیبانی از قابلیت های شی گرایی از برجسته ترین ویژگی های این زبان است. برنامههای نوشته شده به زبان C در فایلی متنی با پسوند c. ذخیره میشوند. به این فایل، کد منبع (source code) گفته میشود. فایل کد منبع برای اجرا باید به زبان ماشین ترجمه شود که به اینکار ترجمه (compile) و به برنامهای که عمل ترجمه به زبان ماشین یا زبان دیگر را انجام میدهد مترجم (compiler) میگویند. در دوره آموزشی ++Packt Rapid C با مباحث مقدماتی سی پلاس پلاس به صوزت سریع و روان آشنا می شوید.