Angular — это достаточно большой фреймворк. Задокументировать и написать примеры использования для каждого кейса просто невозможно. И механизм внедрения зависимостей не исключение. В этой статье я расскажу о возможностях Angular DI, о которых вы почти ничего не найдете в официальной документации.
Frontend разработчик
Приятная сборка frontend проекта
Статья не претендует на истину в последней инстанции, так как сегодня существует большое количество различных сборщиков и подходов к сборке, и каждый выбирает по вкусу. Я лишь поделюсь своими мыслями по этой теме и покажу свой workflow.
UPD (13 марта 2015): Заменил несколько плагинов на более актуальные + решил проблему с импортом CSS файлов внутрь SCSS
Работа нестрогого равенства в JS на примере задачки
Недавно столкнулся с одной из «типовых» задач на собеседованиях. Просто увидел такое выражение где-то в интернете и не совсем понял как оно работает. А именно не понимал почему пустой массив дает 0
.
![] == []
Такое выражение вернет true
.
Решил конкретно рассмотреть данный пример по спецификации, и понять что происходит шаг за шагом.
Особенности использования типа данных Symbol в JavaScript
В материале, перевод которого мы сегодня публикуем, речь пойдёт о типе данных Symbol в JavaScript. Начнём мы с обзора некоторых возможностей JavaScript, в которых нужно ориентироваться для того, чтобы разобраться с символами.
Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность
Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседовании любого уровня в обязательном порядке будут вопросы по ФП.
Введение в функциональное программирование
Функциональное программирование(ФП) — способ организации кода через написание набора функций.
EcmaScript, являясь мультипарадигменным языком программирования, реализует наряду с прочими и функциональную парадигму. Это означает, что функции в ES являются данными и могут быть переданы в функции, возвращены из функций и могут сами принимать функции. Т.е. функции в ES являются функциями первого класса.
Отсюда следуют следующие определения:
Функциональный агрумент(Functional argument, фунарг) — аргумент, значением которого является функция.
Функция высшего порядка(ФВП, higher-order-funtion, hof) — функция, которая принимает функции в качестве аргументов.
Функции с функциональным значением(Function valued functions) — функция, которая возвращает функцию.
Все эти типы функций условно объединяют в функции первого класса, и, как следует из определения выше, в ES все функции являются объектами первого класса.
Каррирование функций в JavaScript
Принципы функционального программирования поддерживает множество языков. Среди них можно отметить JavaScript, Haskell, Clojure, Erlang. Использование механизмов функционального программирование подразумевает знание, кроме прочих, таких концепций, как чистые функции, каррирование функций, функции высшего порядка.
Материал, перевод которого мы сегодня публикуем, посвящён каррированию. Мы поговорим о том, как работает каррирование, и о том, как знание этого механизма может пригодиться JS-разработчику.
Личный профессиональный блог — полное руководство для начинающих
Всем привет! На связи Олег Громов, автор телеграм-канала Приключения Громова, где я рассказываю про свой опыт работы программистом в крупных компаниях и стартапах, карьеру, переход из найма в в предпринимательство, способы развития для разработчиков, софт-скиллы и другие полезные в работе и жизни навыки и идеи.
Сегодня я расскажу про ведение личного профессионального блога. По моим наблюдениям, а также по результатам небольшого опроса (результаты ниже), единицы разработчиков ведут блоги, либо как-то ещё активны публично.
И это несмотря на то, что множество моих коллег в нынешней и прошлых компаниях (Facebook, Toptal, Klarna, Яндекс) — прекрасные профессионалы с огромным опытом, которым явно есть чем поделиться. Тем не менее, большинство из них неактивны публично. Почему?
[Перевод] Всё о файлах cookie и их безопасности
HTTP является протоколом без статических данных, что означает, что он не может различать два последовательных запроса, исходящих от одного и того же компьютера, сети или пользователя. Это было основной проблемой. Из-за этого пользователь не мог поддерживать свою сессию, и если бы мы продолжили в том же духе, интернет стал бы таким же, каким он был десять лет назад, состоящим только из кучи статичных html-страниц. Никаких учетных записей пользователей, никакой настройки и т.д., а если и есть какие-то учетные записи, то для доступа к каждой странице нужно снова и снова входить в систему.
Чтобы решить эту проблему, HTTP нужно было сделать с сохранением состояния. Ответом стал файл cookie. В отличие от cookie, которые вы получаете, это небольшие файлы, создаваемые веб-сайтом, который вы посещаете. Они генерируются веб-приложениями и хранятся в вашем браузере в виде пар ключ-значение.
Примером может служить PHPSESSID: xyjaez1081lze23, lang: en.
Давайте разберемся в этом на примере. Предположим, вы пошли в магазин и принесли оттуда посуду. Придя домой, вы обнаруживаете, что один из них сломан. Тогда вы идете к владельцу магазина и рассказываете ему о своей проблеме. Но, к вашему ужасу, он отвечает, что не знает вас. Таково было исходное состояние HTTP без файлов cookie. Веб-сервер не узнает вас при любом раскладе.
Путь развития Frontend разработчика (Вторая часть)
Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика.
Какой работодатель тебя купит?
Постараюсь раскрыть для тебя все нюансы, с которыми ты должен быть знаком перед выбором рынка и будущего работодателя.
Эта статья будет полезна не только начинающим, но и тем, кто давно не менял работу и сейчас не представляет, что их может ждать на рынке.
Пару лет назад мне такая информация не дала бы продешевить в зарплатных переговорах и успокоила бы мой синдром самозванца, показав, как на самом деле меня видит мой работодатель.
Покажу тут разницу между аутсорсом, аутстаффом и продуктом. Какую компанию выгодно выбрать на самом старте, а какую ближе к пенсии? Как построить свою карьерную стратегию, чтобы не проебать время? Задумываешься ли ты об этом?
Здесь все расписала!
Как появляются вакансии?
Начнем с базы. Вакансии появляются в двух случаях: для расширения штата или на замену ушедшему сотруднику.
В первом случае у нанимающих есть проект, который они хотят расширить новым функционалом в те сроки, в которые не смогут уложиться с текущей командой. Это может быть из-за их компетенций или отсутствия нужного количества людей. Они просчитали, что до конца года они хотят релизить по одной крупной продуктовой фичи в конце спринта, а их Вася не справится с реализацией и половины этих фич. До пользователей дойдет лишь часть, и, в таком случае, в конце года никто из руководства не получит премию. Тогда в их головах щелкает — пора открывать вакансию на hh.
Им очень выгодно расширить штат сотрудников, вне зависимости от стоимости специалиста, потому что при удачном найме и выполненных командой KPI — руководство получит жирную премию.
Полное руководство по стратегии обнаружения изменений Angular onPush
Default cтратегия обнаружения изменений
По умолчанию Angular использует ChangeDetectionStrategy.Default стратегию обнаружения изменений.
ChangeDetectionStrategy.Default работает таким образом, что каждый раз, когда что-то меняется в нашем приложении, в результате различных пользовательских событий, таймеров, XHR, промисов и т.д., обнаружение изменений будет запускаться по всем компонентам.
5 вещей, которые я бы хотел знать, когда начинал использовать Angular
Современный Angular — это мощный фреймворк с множеством возможностей, вместе с которыми приходят и сложные, на первый взгляд, концепции и механизмы. Особенно это заметно тем, кто только начал работу как во фронтэнде в принципе, так и с Angular в частности.
С этой же проблемой столкнулся и я, когда примерно два года назад пришел в Тинькофф на позицию Junior Frontend Developer и погрузился в мир Angular. Поэтому предлагаю вам короткий рассказ о пяти вещах, понимание которых очень облегчило бы мою работу на первых порах.
Все, что вам нужно знать об обнаружении изменений в Angular
35 вопросов с собеседования JavaScript-разработчика
Это перевод статьи, в которой Abdo Amin приводит 35 вопросов на собеседованиях JavaScript-разработчиков, которые он сам задает. К вопросам прилагаются и ответы.
Пять типов вопросов на собеседованиях, которые я терпеть не могу
Но сегодня я хотел бы поговорить о дурацких вопросах на собеседованиях, которые на первый взгляд сходят за нормальные. Они вроде бы и по теме, но ничего не дают, кроме нервотрепки для претендента на вакансию. Некоторые из них вообще ничего не спасет, а какие-то сами по себе неплохи, но неверно применяются. Вот некоторые из особо злостных.
- Что будет, если создать круговую цепочку прототипов? И прочие сведения случайного характера.
- Как мигрировать с webpack 3 на webpack 5? И прочие частности.
- В чем разница между числом и массивом? И прочие вопросы, затуманенные расплывчатыми формулировками.
- Как быстрее всего перевести строку в число? И прочие вопросы, не дающие достаточно информации о поведении.
- Как сделать этот фрагмент кода лучше? И прочие вопросы, предлагаемые вне контекста.
Я поделюсь рекомендациями как для проводящих собеседования, чтобы они могли разумнее распорядиться своим временем, так и для кандидатов, которые хотят понять, как лучше отвечать. Имейте в виду: я буду использовать примеры из JavaScript, впрочем, найти аналоги в других языках несложно. Поехали!
Неизвестно полезный CSS
CSS не отстаёт от JavaScript. Постоянно развивается. Классно же. Мне особенно радостно видеть, как старые задачи, которые я решал при помощи костылей, теперь можно сделать при помощи одного свойства.
Только многие фишки неизвестны широкому кругу разработчиков. Честно говоря, некоторые я сам узнал недавно. В любом случае так дальше нельзя. Надо исправлять ситуацию!
Я собрал фишки, которые могут быть полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров, начиная с 2021 года. Отдельно отмечу, что я не считаю IE11 браузером, который поддерживается в современной разработке. По этой причине я не учитывал его.
Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.
Angular: полное руководство для «Внедрения зависимостей»
Об одной из важнейшей функциональностей Angular «Внедрение зависимостей» на просторах рунета написано преступно мало, в основном затрагивается только «Внедрение сервисов». В этом материале я расскажу практически обо всех возможностях «Внедрение зависимостей», приведу примеры реального использования, объясню тонкости некоторых неочевидных моментов.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity