الگوریتم (Algorithm) یکی از مهم ترین بخش های دنیای کامپیوتر می باشد. در واقع الگوریتم مجموعه ای ترتیبی از دستور العمل ها است که به ترتیب خاصی اجرا می شوند و مساله ای خاص را حل می کنند. در دنیای کامپیوتر مسائل مختلفی وجود دارد که برای هرکدام الگوریتم های متفاوتی وجود دارد، هر کدام از آن ها دارای مزایا و معایبی هستند، به طور مثال یکی در استفاده از فضا بهینه است و یکی زمان اجرای بسیار بهینه و کمی دارد. از این رو دانستن الگوریتم های مختلف مثل جست و جو، مرتب سازی و... در دنیای کامپیوتر بسیار اهمیت دارد. از طرفی برای استفاده مناسب از الگوریتم ها باید با انواع ساختمان های داده مثل صف، پشته، لیست پیوندی و... آشنا بوده و ویژگی های هرکدام را بدانیم. ما می توانیم با انتخاب ساختمان داده و الگوریتم مناسب مسائل مختلف را به صورت بهینه حل کنیم و برنامه های بسیار مناسبی تولید نماییم. در دوره ی آموزشی Udemy Algorithms and Data Structures in Java شما با انواع مختلف الگوریتم و ساختمان های داده و ویژگی های هرکدام به زبان جاوا آشنا می شوید.
افرادی که تکنولوژی های مایکروسافت به ویژه asp.net را پیگیری می کنند یکی دو سال می شود که با شنیدن خبرهایی مانند "open source شدن دات نت"، "قابلیت اجرا بر روی غیر ویندوز مثل لینوکس و os x با سوالهایی مواجه می شوند. این تغییرات موجب چه بهبودهایی در توسعه نرم افزار های تحت .net می شود؟ آیا مایکروسافت از تکنولوژی های قبلی پشتیبانی می کند یا باید سراغ تکنولوژی جدید بروم؟ برای پاسخ به سوالهایی از این دست شاید بهترین راه پس از آشنایی اولیه، انجام یک پروژه کوچک باشد. برای کسانی که برای توسعه وب سایت از تکنولوژی وب فورم استفاده می کنند تغییرات چشم گیر خواهد بود. بنابراین توصیه می شود ابتدا asp mvc نسخه های قبلی یعنی تا نسخه ۶ را اندکی تجربه کنند. اما برای کسانی که تجربه کدنویسی در چارچوب الگوی mvc را دارند تغییرات بسیار کم است. تیم asp.net سعی کرده است در نسخه جدید که تنها بر بستر mvc است از لحاظ مفهومی سازگاری را حفظ کند با اینکه تمام کتابخانه ها و توابع از نو نوشته شده اند. بنابراین اگر شما در asp.net mvc6 کلاسی دارید در asp.net core هم همین کلاس را دارید با این تفاوت که این کلاس در namespace دیگری قرار دارد. در دوره آموزشی MVA ASP.NET Core Tutorial Series با ویژگی ها و امکانات ای اس پی دات نت کور آشنا می شوید.
دسته:
آموزش ←
برنامه نویسی و طراحی وب
|
کاربردی
سرویس Jupyter Notebook پلتفرمی اپن سورس و تعاملی برای داده کاوی و تحلیل آماری دادهها در بیش از 40 زبان برنامه نویسی است. این وب اپلیکیشن امکانی را در اختیار برنامه نویسان قرار میدهد تا مستندات مد نظر خود را که ممکن است حاوی سورس کد، معادلات ریاضیاتی، نمایش آمار و متن باشند را ایجاد کرده و با سایر کاربران از طریق ایمیل، دراپباکس و گیت هاب به اشتراک بگذارند. تعاملی بودن سرویس ژوپایتر هم به این نکته اشاره دارد که این سرویس خروجی هایی به شکل تصاویر، ویدیو و حتی کدهای جاوا اسکریپت در قالب ویجت هایی تعاملی در اختیار کاربر قرار میدهد که به منظور داده کاوی میتوانند مورد استفاده قرار گیرند. به گفته ی سایت رسمی ژوپایتر نوت بوک، در حال حاضر شرکت های بزرگی همچون گوگل، مایکروسافت، آی بی ام، ناسا و... از این سرویس استفاده می کنند. در دوره آموزشی Packt Jupyter for Data Science با ژوپایتر برای علوم داده آشنا می شوید.
اکسکد (Xcode) نام محیط توسعه مجتمعی است که ابزاری را برای توسعه نرمافزار فراهم میآورد که توسط شرکت اپل برای توسعه برنامه برای سیستم عامل مک اواس ده توسعه میباد. اولین نسخهٔ آن با نگارش ۱٫۰ در تاریخ ۲۰۰۳ (۱۳۸۲) ارایه شد و آخرین نگارش آن با نگارش ۴٫۳ (۴٫۳.۲) توسط اپل از طریق فروشگاه برنامه مک و برنامهٔ آیتیونز برای نگارش سیستمعامل شیر، به صورت رایگان، منتشر شد. توسعه گران مک که ثبت شده باشند از طریق سایت توسعهگر اپل قادر به دستیابی به نگارشهای سابق این محیط مجتمع هستند. در دوره آموزشی Udemy 80 Xcode Tips To Improve Productivity - Xcode 9 iOS11 Swift4 با آموزش 80 نکته برای بهتر شدن بهره وری ایکس کد آشنا می شوید.
کرس (Keras) یک کتابخانهٔ متنباز شبکه عصبی است که به زبان پایتون نوشته شده است و قابل است که بر روی تنسورفلو یا ثینو قابل اجرا است. این نرمافزار به منظور آزمایش کردن سریع یادگیری عمیق طراحی شده است و در طراحی آن بر روی کوچک، ماژولار و قابل گسترش بودن توجه شده است. یادگیری عمیق (Deep learning) یک زیر شاخه از یادگیری ماشینی و بر مبنای مجموعهای از الگوریتمها است که در تلاش هستند مفاهیم انتزاعی سطح بالا در دادگان را مدل نمایند که این فرایند را با استفاده از یک گراف عمیق که دارای چندین لایه پردازشی متشکل از چندین لایه تبدیلات خطی و غیر خطی هستند، مدل میکنند. به بیان دیگر پایهٔ آن بر یادگیری نمایش دانش و ویژگیها در لایههای مدل است. یک نمونه آموزشی (برای نمونه: تصویر یک گربه) میتواند به صورتهای گوناگون بسان یک بردار ریاضی پر شده از مقدار به ازای هر پیکسل و در دید کلی تر به شکل یک مجموعه از زیرشکلهای کوچکتر (نظیر اعضای صورت گربه) مدل سازی شود. در دوره آموزشی Packt Advanced Deep Learning with Keras با مفاهیم و ویژگی های کرس برای ساخت اپ های یادگیری عمیق آشنا می شوید.
سال های متمادی در شرکت های توسعه نرم افزار، تیم هایی با هدف کاملا متفاوت به نام تیم توسعه (Development) و تیم عملیات (Operation) وجود داشتند. هدف تیم توسعه ساخت ویژگی های جدید بر روی محصول و در نتیجه تغییرات زیاد روی آن بود، اما هدف تیم عملیات، ثابت نگه داشتن وضعیت موجود سرویس ها برای پایداری بیشتر آن ها بود. با پیشرفت هایی که در زمینه Cloud حاصل شد و حرکت تیم ها به سمت روش های چابک توسعه نرم افزار، این نیاز که نسخه های جدید محصول، خیلی سریع به دست مشتریان نهایی برسد، پررنگ تر شد. ارتباط ضعیف بین تیم های توسعه، تضمین کیفیت، و عملیات، باعث شد فرآیند تست، انتشار و تحویل از کارایی لازم برخورداد نباشد و زمان بر باشد. بدین ترتیب با مشاهده هر مشکل در عملیات، هر تیم آن را به تیم دیگر نسبت می داد و آن ها را محکوم می کردند. دوآپس سعی می کند با نزدیک تر کردن این تیم ها با تمرکز بر تعامل و همکاری بیشتر و حذف دیوار بین آن ها و همچنین به کمک یک سری ابزار که کارهای تکراری را اتوماتیک می کند، تحویل ارزش به مشتری سریعتر و مطمئن تر انجام شود. در دوره آموزشی Udemy Complete DEVOPS with Docker, Jenkins, GIT, Vagrant and Maven با آموزش کامل دوآپس با داکر، جت کینز، گیت، وارجنت و ماون آشنا می شوید.
با گسترش روز افزون زبان برنامه نویسی Javascript و استفاده هر چه بیشتر آن در تولید برنامههای تحت وب این زبان به یکی از قدرتهای بزرگ در تولید برنامههای مبتنی بر وب تبدیل شده است. ترکیب این زبان با Css و Html5 تقریبا هر گونه نیاز برای تهیه و توسعه برنامههای وب را حل کرده است. امروزه به قدری Javascript توسعه داده شده است که حتی در تولید برنامههای Native مانند Windows Store و برنامههای تحت Cloud نیز استفاده میشود. پیشرفتهای صورت گرفته و اشاره شده در این حوزه موجب شد تا شاهد پیداش برنامههای مبتنی بر جاوا اسکریپت با سایزهای بی سابقهای باشیم و این بیانگر این بود که تولید برنامههای مبتنی بر جاوا اسکریپت در مقیاسهای بزرگ امر دشواری است و اینک TypeScript توسط غول نرم افزاری جهان (Microsoft) پا به عرصه گذاشته که این فرآیند را آسانتر نماید. به کمک TypeScript میتوان برنامه تحت JavaScript در مقیاس بزرگ تولید کرد به طوری با هر مرورگر و سیستم عاملی سازگار باشد. TypeScript از شی گرایی نیز پشتیبانی میکند و خروجی آن در نهایت به JavaScript کامپایل میشود. در دوره آموزشی Packt Mastering TypeScript - Second Edition با ویژگی های اساسی و تسلط کامل بر تایپ اسکریپت آشنا می شوید.
دسته:
آموزش ←
برنامه نویسی و طراحی وب
|
سیستم عامل
Puppet (پاپت) یک ابزار مدیریت پیکربندی متن باز (open source) است که می تواند به عنوان برنامه ای بسیار کاربردی و دستیاری مفید برای مدیران سیستم های لینوکس/ویندوز در نظر گرفته شود. از آن جایی که بسیاری از کارهای مدیریتی و تنظیمات مربوط به پیکربندی در سیستم های لینوکس مرتباً باید انجام شوند، با استفاده از این نرم افزار می توان با خودکارسازی آن وظایف در وقت و هزینه مدیر سیستم صرفه جویی نمود. Puppet با زبان برنامه نویسی روبی (Ruby) نوشته شده است. پاپت می تواند یک فایل پیکربندی به نام مانیفست (manifest) که در واقع یک فایل پیکربندی حاوی دستورات است، ایجاد کند که پیکربندی دلخواه سیستم ها در آن قرار می گیرد، سپس نزدیک ترین حالت ممکن به آن مانیفست را در سرورها پیاده می کند. بنابراین Puppet قابلیت مدیریت پیکربندی تمام میزبان های تحت شبکه را برای مدیر فراهم می کند. در دوره آموزشی Lynda Mastering Puppet for Large Infrastructures با آموزش تسلط بر پاپت برای زیرساخت های بزرگ آشنا می شوید.
یکی از پرطرفدارترین سیستم عامل هایی که امروزه در دستگاه های همراه و گوشی های هوشمند مورد استفاده قرار می گیرد، سیستم عامل اندروید (Android) است و این امر بازار کار پر رونقی در زمینه ساخت و توسعه برنامه های کاربردی قابل اجرا بر روی اندروید به وجود آورده است. از ویژگی های این سیستم عامل که در میزان محبوبیت آن نقش به سزایی داشته اند می توان به مواردی مانند پشتیبانی از تمامی تکنولوژیهای اتصال (=Connectivity) شامل GSM/EDGE, CDMA, EV-DO, UMTS, بلوتوث و وای-فای، پشتیبانی از سخت افزارهای مختلف همچون جی پی اس و دوربینهای متنوع، پشتیبانی از فرمتهای مختلف فایلهای مالتی مدیا مثل MPEG-۴, H.۲۶۴, MP3, AAC, AMR, JPEG, PNG, GIF، امکان ارسال پیغامهای متنی یا همان اس ام اس (SMS) از فرمهای SMS, MMS و XMPP، دارای مرورگری بر اساس فریم ورک اوپن سورس WebKit، استفاده از نرمافزار SQLite برای ذخیره دادهها و مدیریت بانکهای اطلاعاتی و ... اشاره نمود. اسکیوال لایت یا سیکوئل لایت (SQLite) یک سامانه مدیریت پایگاه داده رابطهای کم حجم که به زبان سی در قالب یک کتابخانه نوشته شده است و یک پایگاه دادههای رابطهای به حساب میآید. کد اسکیوال لایت در مالکیت عمومی است. از ویژگیهای اسکیوال لایت آن است که پایگاه دادهای متشکل از یک پرونده، با حجم کم و عدم وابستگی به سیستمعامل، دارای محیط مدیریتی خوب که تمامی امکانات آن را پوشش میدهد در اختیار کاربر میگذارد. با این حال اسکیوال لایت از تمامی امکانات اسکیوال پشتیبانی نمیکند. برخلاف انواع دیگر پایگاه داده، اسکیوال لایت یک پروسه جداگانه نیست که توسط برنامهٔ اصلی فراخوانی شود، بلکه جزئی از خود برنامهٔ اصلی است. در دوره آموزشی Udemy Android Build Voting App using SMS and SQLite with zero ex به طراحی اپ رای گیری در اندروید با پیامک و اس کیو ال لایت می پردازیم.
آیونیک یک چارچوبی است برای توسعه ی نرم افزارهای موبایل بدون دانستن جاوا که هدف آن توسعه ی برنامه های ترکیبی از چند زبان مختلف مثل HTML5 ،CSS و جاوا اسکریپت است. آیونیک در زمینه ی طراحی ظاهر برنامه ها به شما کمک می کند به صورتی که به وسیله ی آن می توانید تمام تعاملات کاربر با برنامه خود را ایجاد و مدیریت کنید. می توان گفت فرم ورک آیونیک شبیه بوت استرپ است با این تفاوت که پشتیبانی آن طیف وسیعی از تلفن های هوشنمد را شامل می شود البته نمی توان این را گفت که شبیه به فریم ورک هایی هست که فقط عمل Responsive کردن را انجام می دهند بلکه اساس آن بر اساس المان ها و لایه هایی است که در طراحی ظاهری برنامه های موبایل iOS و Android استفاده می شود. AngularJS کتابخانهای برپایهی جاوااسکریپت است که به منظور تولید نرمافزارهای تحت وب توسط گوگل توسعه پیدا کرده است. ایدهی اصلی AngularJS، اضافه کردن امکاناتی به HTML است تا آن را از یک زبان نشانگذاری ساده خارج کند و ابزارهای لازم برای تولید یک نرمافزار داده محور را به سادهترین شکل ممکن فراهم نماید. امکانات متنوعی در این کتابخانه وجود دارد. ویژگی اصلی AngularJS، ایجاد ارتباط پویا میان دادههای ورودی و خروجی است. به این معنی که به سادگی میتوانید اطلاعات دریافت شده از کاربر را به صورت خودکار جمعآوری کنید، پردازش کنید، در محلهای دلخواه نمایش دهید یا به سرور بفرستید. در دوره آموزشی Packt Ionic & Angular JS - Principles Of Mobile and Web Development با آموزش آیونیک و آنگولار جی اس و اصول توسعه وب و موبایل آشنا می شوید.