Наследование в Javascript
В данной статье мы будем разбираться в наследовании в Javascript. Мы должны понять что такое prototype, __proto__, Object.create, constructor.
В данной статье мы будем разбираться в наследовании в Javascript. Мы должны понять что такое prototype, __proto__, Object.create, constructor.
Паттерн Фасад, на мой взгляд, является одним из самых простых и распространенных паттернов при разработке. Многие разработчики пользуются им и даже не подозревая, что техника, которую они используют называется Фасад.
Теперь настало время разобрать что же такое Mediator. Его отличие, а также преимущества относительно Observer’а я рассмотрю в отдельной сравнительной статье. Но на самом деле, мне кажется многие догадаются об этом и сами, когда появится ясность и понимание данного паттерна.
Не случайно я хочу рассмотреть этот паттерн в первую очередь. Во-первых его назначение абсолютно понятно, и любой javascript-разработчик возможно даже не подозревает как часто он его использует.
Этой статьей я хочу начать целый цикл статей о паттернах, которые широко применяются в мире разработки больших приложений. Абсолютно не важно десктопное ли это приложение, или это веб-приложение; написанно оно на .NET, PHP или вовсе на Javascript. Главное понимать, что паттерны проектирования - это своего рода обобщенные решения типичных задач, который рано или поздно возникают при росте любого приложения.
Для развития и роста разработчика как профессионала, как мне кажется, нужно как минимум понимать какие паттерны существуют и для чего. Обладание этими навыками дает преимущество, т.к. позволяет сэкономить силы и время при разработке.
Ну и, конечно, как фронтенд-разработчик примеры я буду проводить исключительно на Javascript.
Поскольку эта статья - введение, под катом будет размещаться содержание на дальнейшие статьи, чтобы заинтересованному читателю было что добавить в закладки.
Часто на собеседованиях на позицию фронтенд-разработчика или верстальщика любят давать задачки, где нужно определить как будет выглядеть тот или иной html-элемент, после применения сложных CSS селекторов. У опытных разработчиков, как правило, включается интуиция, основанная на собственных решениях и задачах. У начинающих и вовсе возникает ступор при виде сложных конструкций.
Ясное дело (я надеюсь), что современный подход БЭМ-методологии (или просто соглашение внутри команды) исключает подобные головоломки в реальных приложениях, но ход рассуждений потенциального кандидата в таких задачах дает возможность оценить уровень его понимания материала.
Но оказывается существует очень простой способ, запомнить который просто и самое интересное, что описан-то он в спецификации W3C.
Я постараюсь изложить суть своим языком.
Если вы ведете разработку своего веб-проекта под Mac, то у вас рано или поздно возникнет необходимость запуска и проверки проекта в браузерах Internet Explorer. Единственным нормальным и правильным способом является использование виртуальных машин. Этот способ лучше всякого рода эмуляторов/имитаторов (в том числе онлайн). Дело в том, что с помощью виртуальной машины вы можете полностью воссоздать экосистему, в которой работает браузер.
Я работаю с git уже почти два года. Острой необходимости в глубоком его изучении у меня не было, однако, я решил, что мне для дальнейшего развития не хватает только поверхностных знаний, поэтому решил углубиться в изучение этой системы контроля версий, чтобы чувствовать себя уверенно в ежедневной работе.
Это далеко не первый пост в моей жизни :) Ранее я вел блог на ЖЖ, и он был больше про мою жизнь и мои мысли на разные темы. Время идет, интересы и взгляды меняются, и я решил возобновить практику изложения мыслей в блог.
Я считаю, что изложение мыслей неоходимо прежде всего самому излагающему. Это помогает структурировать свои мысли, думать о том как доносить их до потенциальных читателей. В виду специфики моей работы, я много читаю различных статей, рассуждений и обзоров на тему информационных технологий, и иногда действительно непросто все запомнить. Плюс зачастую прочитанное кажется мне слишком сложно передано. Я буду пытаться излагать популярные или интересные мне вещи своим языком, который как мне кажется будет понятен большинству начинающих программистов, верстальщиков или айтишников.
Я постоянно стремлюсь к тому, чтобы не просто проживать очередной день, а как-то становиться лучше. Об этом я тоже буду писать, чтобы, возможно, для кого-то стать вдохновителем или примером для подражания, а может и компаньоном по интересам, работе или спорту.
Постараюсь (изо всех сил) не затрагивать тему политики в своей блоге. Считаю, что эта тема способна поссорить даже самых близких друзей и разрушить самый слаженный коллектив. А таких целей я не преследую ни по жизни, ни в работе.