اگر با زبان PHP برنامهنویسی انجام داده باشید، حتما این حس رو داشتید که در پروژه یک سری کارها را به صورت تکرار انجام میدهید. زبان PHP دارای فریمورکهای قدرتمند زیادی است که این مشکلها رو حل میکنند. ما به سادگی میتوانیم چیزهایی که نیاز داریم را از هر کدام از این فریمورکها برداریم. وقتی هر قسمت را از یکی از فریمورکها (مانند Zend, Laravel, Symfony) بردارید، مدیریت پروژه بسیار پیچیده میشود. هر کدام از کتابخانهها یک سری وابستگیها دارند و شما در آخر به بنبست میرسید، بخصوص هنگامی که بخواهید کسان دیگری هم در این پروژه نیز همکاری داشته باشند. در اینجا Composer وارد میشود. Composer یک Dependency Manager (مدیریتکننده وابستگی) برای PHP است. Composer وابستگیهایی که برای یک پروژه نیاز دارید را مدیریت میکند. این به این معناست که Composer تمامی کتابخانهها و وابستگیها را در یک مکان نگه میدارد. این نوع مدیریت وابستگیها در یک پروژه چیز جدیدی نیست و در واقع Composer الهامگرفتهشده از npm و Bundler است. در دوره آموزشی Lynda Learning Composer, the PHP Dependency Manager با کامپوزر و مدیریت وابستگی در پی اچ پی آشنا می شوید.
جاوا (Java) یک زبان برنامهنویسیِ شیءگرا است. نخستین بار توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد گردید. در سال ۱۹۹۵ به عنوان بخشی از سکوی جاوا منتشر شد. زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسانتری دارد و از قابلیتهای سطح پایین کمتری پشتیبانی میکند. ایده شیء گرایی جاوا از زبان اسمالتاک گرفته شدهاست. یکی از قابلیتهای بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد. ضریب اطمینان عملکرد برنامههای نوشتهشده به این زبان نسبت به زبانهای نسل اول C بالا است. برنامههای جاوا به صورت بایت کد (کامپایل) میشوند و توسط JVM (ماشین مجازی جاوا) به کدهای ماشین تبدیل و اجرا میشوند. در صورت وجود JVM مانند سایر زبانهای مبتنی بر آن که وابسته به سیستمعامل خاصی نیستند برنامههای نوشته شده به جاوا بر روی هر نوع سیستم عامل و هرگونه وسیلهٔ الکترونیکی قابل اجرا میباشند. شعار جاوا «یکبار بنویس و هر جایی اجرا کن» (Write once, Run anywhere) است که به همین ویژگی اشاره دارد. در دوره آموزشی Livelessons Core Java 9, Second Edition با مفاهیم هسته جاوا 9 که پیش نیاز جاوا 9 است آشنا خواهید شد.
برنامهنویسی کامپیوتر (Programming) بهطور کلی به فرایند نوشتن و توسعه نرمافزار کامپیوتر گفته میشود. به بیان جزئی تر برنامهنویسی رایانه به معنای فرایند تبدیل و سوق دادن فرمول حل یک مسئله یا الگوریتم محاسباتی، به یک برنامه قابل اجرا (نرمافزار) است. معنای برنامهنویسی رایانه در فرهنگ عامه میتواند به تمامی فرایند توسعه نرمافزار (به انگلیسی: Software Development) اطلاق گردد که شامل فعالیتهای مختلفی همچون بررسی، توسعه، درک، طراحی الگوریتم؛ پیادهسازی، تست، اشکال زدایی و نگهداری نرمافزارهای کامپیوتری نیز میشود. همچنین برنامهنویس به شخصی اطلاق میگردد که عمل برنامهنویسی و توسعه نرمافزار را انجام میدهد. برنامهنویسی مستلزم فعالیتهایی همچون تحلیل و درک مسئله است و عموماً حل چنین مسایلی منجر به ایجاد یک الگوریتم میشود، بازبینی نیازمندیهای الگوریتم که شامل صحت و میزان منابع مصرفی است، پیادهسازی (که معمولاً به عنوان کدینگ از آن یاد میشود) این الگوریتم در یک زبان برنامهنویسی مقصد، تست کردن، اشکال زدایی، نگهداری کد منبع، پیادهسازی سیستم ساخت(build system) و مدیریت مصنوعات مشتق شده مانند کد ترجمه شده به زبان ماشین برنامههای کامپیوتری. الگوریتم اغلب تنها به شکل قابل تجزیه و تحلیل برای انسان و قابل استدلال با منطق نمایش داده میشود. کد منبع به یک یا چند زبان برنامهنویسی، مانند جاوااسکریپت، اسمالتاک، پایتون، جاوا، سی شارپ، سی پلاسپلاس و سی نوشته شدهاست. در دوره آموزشی Udemy Everyday Programming Skills for Beginners به طور مقدماتی با زبان های مختلف برنامه نویسی مانند C, C++, Java, JavaScript, Python, PHP, Ruby و Swift2 آشنا خواهید شد.
SVG زبانی برای توصیف گرافیک 2 بعدی و برنامه های گرافیکی در XML است. این تکنولوژی مخفف کلمات Scalable Vector Graphics است. SVG برای ایجاد گرافیک های برداری در صفحات وب بکار میرود و با زوم روی عکس های SVG کیفیت آنها پایین نمی آید. هر المانی که در SVG می بینید میتواند نقاشی شود. SVG یکی از توصیههای کنسرسیوم w3 است زیرا با استفاده از این تکنولوژی جدید حجم عکس ها کاهش یافته و کیفیت انها در کلیه سایزها حفظ میشود. SVG نسخه 1.1 در ژانویه 2003 برای اولین بار توسط W3C توصیه شد. شرکت های Sun Adobe, Apple, IBM, Kodak ازجمله شرکت هایی بودند که بر روی این پروژه کار کرده اند. در دوره آموزشی Lynda Learning SVG با فایل اس وی جی و کار با آنها آشنا می شوید.
توسعه نرمافزار برگردان نیاز کاربران یا مشتریان درقالب یک محصول نرمافزاری است. توسعه نرمافزار از مرحله طرح یک راه حل مفهومی برای مسئله خواسته شده (امکانسنجی) آغاز شده، پس از دریافت خواستهها و تحلیل سیستم طراحی صورت گرفته و در نهایت این طراحی با کمک ابزارهای پیادهسازی تبدیل به یک سیستم واقعی میشود. هدف این فرایند آن است که از یک سو برآورده ساختن نیازهای کاربران و از سوی دیگر کیفیت مناسب عملکرد سیستم تضمین گردد و بنابراین بایستی حاوی مکانیسم هایی برای اعتبارسنجی یعنی خروجی مطابق با خواستهها (Validation) و وارسیپذیری یعنی صحت عملکرد خروجی (Verification) باشد. فرایند توسعه ضمن دادن آزادی به تحلیلگر باید تضمین کند که زمانبندی اجرای پروژه رعایت میشود. توسعه نرمافزار ارتباط تنگاتنگی با مهندسی نرمافزار دارد و از دید بسیاری این دو مفاهیمی تقریباً یکسان هستند. در سالهای اخیر با رشد نیاز به تولید نرمافزارهای تجاری توسعه نرمافزار به بحثی مهم تبدیل شدهاست و روشهای گوناگونی در قالبهای مختلف برای تولید نرمافزارها بر مبنای نیازهای کاربران، مشخصات کلی سیستم، شرایط مدیریتی و اقتصادی، زمانبندی و سطح کیفی به وجود آمدهاند. در دوره آموزشی MVA Software Development Fundamentals با اصول و مبانی توسعه نرم افزار و آزمون 98-361 آشنا خواهید شد.
انگولار جی اس یک فریم ورک تک صفحه ای برای ایجاد صفحات وب است. فریم ورک به شما این امکان را می دهد که کدهای خود را تکنیکی و بهینه بنویسید، تغییر بدهید و تنظیمات استاندارد را روی آن پیاده سازی کنید. ماژولاریتی هم یکی از مهمترین ویژگی هایی است که انگولار آن را برایتان تسهیل می کند. از ویژگی های یک Template Engine خوب این است که به شما این امکان را بدهد تا قالب هایی را با تگهای خاص html بنویسید. انگولار این تگها را با داده جابه جا می کند. بر خلاف دیگر موتورهای قالب بندی انگولار مجبورتان نمی کند تا قالب را جداگانه بسازید. مانند بقیه کتاب خانه ها قالب شما یک بخش جدایی ناپذیر از html می باشد. یکی دیگر از ویژگی های بزرگ html طریقه کارش با DOM است. در برنامه های قدیمی شما باید نگران مدیریت Event باشید. اما با انگولار داده ها به طور مستقیم به قالب شما مربوط (Bind) هستند (Two way Binding). برنامه های مدرن جاوا اسکریپت از روشی برای برنامه نویسی استفاده می کنند که به طور معمول به عنوان mvc شناخته می شود شما می توانید با استفاده از انگولار و این معماری به اهدافتان برسید. در دوره آموزشی Udemy Angular 5 (formerly Angular 2) - The Complete Guide به طور کامل با آموزش آنگولار 5 آشنا می شوید.
مدیریت دانش چه به منظور اشتراک با اعضای تیم میتواند به یکی از چالشهای هر تیم و یا سازمانی تبدیل شود. Confluence یک ابزار ویکی و همکاری تیمی شامل ویرایشگر متن حرفهای تحت وب، امکان همگامسازی کامل با Microsoft Office و مجموعهٔ وسیعی از افزونهها تجربهٔ کامل همکاری تیمی و اشتراک دانش بین اعزای تیم را فراهم میکند. استفاده از این ابزار میتواند موانع موجود فعلی برای اشتراک اطلاعات بین سازمانها، تیمهای مختلف، اعضای تیم و حتی موارد یادداشتهای شخصی اعضای تیم را از بین برده و هماهنگی کامل آنها را بر روی موضوعات فراهم کند. Confluence اطلاعات ارائه شده را در فضاهای (Spaces) مربوط به هر موضوع که توسط کاربر تعریف شده است به صورت ساخت یافته و قابل جستجو ذخیره میکند. بسته به نیاز هر تیم و گستردگی موضوعات مشترک میتوان فضاهای متفاوتی را تعریف نمود. در دوره آموزشی Lynda Learning Confluence با ابزار کانفلونس و ویژگی های آن آشنا می شوید.
الگوریتم (Algorithm) یکی از مهم ترین بخش های دنیای کامپیوتر می باشد. در واقع الگوریتم مجموعه ای ترتیبی از دستور العمل ها است که به ترتیب خاصی اجرا می شوند و مساله ای خاص را حل می کنند. در دنیای کامپیوتر مسائل مختلفی وجود دارد که برای هرکدام الگوریتم های متفاوتی وجود دارد، هر کدام از آن ها دارای مزایا و معایبی هستند، به طور مثال یکی در استفاده از فضا بهینه است و یکی زمان اجرای بسیار بهینه و کمی دارد. از این رو دانستن الگوریتم های مختلف مثل جست و جو، مرتب سازی و... در دنیای کامپیوتر بسیار اهمیت دارد. از طرفی برای استفاده مناسب از الگوریتم ها باید با انواع ساختمان های داده مثل صف، پشته، لیست پیوندی و... آشنا بوده و ویژگی های هرکدام را بدانیم. ما می توانیم با انتخاب ساختمان داده و الگوریتم مناسب مسائل مختلف را به صورت بهینه حل کنیم و برنامه های بسیار مناسبی تولید نماییم. در دوره ی آموزشی Udemy Data Structures and Algorithms: Deep Dive Using Java شما با انواع مختلف الگوریتم و ساختمان های داده و ویژگی های هرکدام به زبان جاوا آشنا می شوید.
عکاسی در لغت به معنای روش عکسبرداری است در بسیاری از زبانها به عکاسی
فوتوگرافی (Photography) و یا واژه ای معادل با آن میگویند که ترکیبی از دو
کلمهٔ یونانیفتو به معنی نور و گرافی به معنی ثبت یا نگارش است. بنابراین،
فتوگرافی را می توان به معنای نقش کردن با نور دانست. می توانید فوتوگرافی
و فوتوگراف را با واژه های عکاسی و عکس که در پارسی استفاده می شود،
مقایسه کنید. همان طور که مشخص است در واژه ی فوتوگرافی نقش "نور" به عنوان
عامل اصلی ایجاد یک عکس (فوتوگراف) کاملا برجسته است در مقابل در پارسی
عکس در واقع به تصویر تشکیل شده ی یک شیء اشاره می کند. به اصلاح یا حذف جزئیات ناخواسته در عکس روتوش عکس می گویند. بیشترین کاربرد روتوش، در عکاسی پرتره خلاصه می شود که اهمیت و کیفیت روتوش زمانی مشخص می شود که به بهترشدن و تمیزتر شدن تصویر کمک کند. زمانی که از روتوش عکس صحبت می کنیم طبیعتا به دنبال آن از برنامۀ فتوشاپ یا لایت روم نیز صحبت به میان می آید. امروزه اکثر کسانی که کار ویرایش و روتوش عکس را انجام می دهند، از برنامه فتوشاپ جهت این کار استفاده می کنند که تمامی ابزارها و فرمانهای مورد نیاز این کار را درون خود دارد. اما نحوۀ استفاده از امکانات این برنامه جهت روتوش، بسیار متنوع است چه بسا گاهی یک روتوش بسیار مخرب بی کیفیت را می توان در این برنامه انجام داد. اما اگر بطور ریزبینانه و حرفه ای از ابزارها و فرمانهای این برنامه قدرتمند استفاده شود می توان یک ویرایش و روتوش کاملا حرفه ای را بر روی تصاویر انجام داد که باعث حیرت بینندگان خواهد شد. در دوره The Complete Guide To Product Photography & Retouching به آموزش کامل تولید عکس و روتوش آن آشنا می شوید.
آیاواس (iOS) یک سیستم عامل همراه ساخته شرکت اپل است که در ابتدا برای آیفون و آیپاد تاچ توسعه داده میشد، از آن زمان به بعد برای استفاده در سایر دستگاههای شرکت اَپل مانند آیپد و اَپل تیوی گسترش یافت. شرکت اَپل مجوز استفاده از آی اُ اِس برای نصب بر روی سختافزارهای شخص ثالث را نمیدهد. رآلم (Realm) در واقع یک دیتابیس شبیه SQLite می باشد که بر روی گوشی های هوشمند اجرا میشود. این دیتابیس توسط دو تن از متخصصان پیشین نوکیا طراحی و توسعه داده شده است. دیتابیسها غالباً از دید کاربران پنهان میمانند؛ اما اغلب اپلیکیشنها برای ذخیرهی دادهها و خواندن اطلاعات ار دیتابیس استفاده میکنند. SQLite دیتابیسی است که این روزها محبوبیت فراوانی دارد و اغلب از آن استفاده میشود؛ اما Realm با هدف از میدان به درکردن این دیتابیس توسعه یافته و در اختیار توسعهدهندگان قرار گرفته است. در دوره آموزشی Lynda Learning Realm for iOS App Development با رآلم برای توسعه اپ آی او اس آشنا خواهید شد.