Как стать автором
Обновить
0
0
Дмитрий Цуркан @dimatsourkan

Front-End Developer

Отправить сообщение

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

Время на прочтение3 мин
Количество просмотров97K

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →
Всего голосов 76: ↑69 и ↓7+62
Комментарии8

10 полезных функций Angular, которые вы упускали

Время на прочтение6 мин
Количество просмотров8.4K

Если вы регулярно пишете приложения на Angular и потратили на это не одну сотню часов, вы, скорее всего, знаете об этих функциях. Но, всё же, чтобы убедиться — прочтите :)

Прежде чем мы перейдем к функциям Angular, стоит упомянуть один очень полезный инструмент. Bit (Github) позволяет с легкостью работать над Angular-компонентами вместе и делиться ими. От души рекомендую его для поддержания консистентного интерфейса, ускорения разработки и минимизации количества ошибок в коде.


Пример: Круговые загрузчики для Angular с bit.dev
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии8

Медвежьи услуги по требованию

Время на прочтение9 мин
Количество просмотров30K
Можно не читать весь текст — в конце есть краткое содержание. Это я о вас забочусь, потому что я — хороший.

Я давно обнаружил одну примечательную штуку и успешно ей пользуюсь. Но мне не дает покоя ее… Как бы это сказать… Моральная сторона, что ли. Слишком уж штука хулиганская.

Всё бы ничего – мало ли на свете хулиганских штук. Но эта больно действенная. Не могу удержаться от соблазна и не воспользоваться, когда подворачивается подходящий случай.

Как-то давно я работал ИТ-директором, и меня заставили написать то ли положение об отделе, то ли стратегию – не помню, как называлась эта бумажка. Проверяли ее лютые бюрократы, но одну фразу они пропустили, и в ней содержалась квинтэссенция этой штуки.

Звучало примерно так. Если Заказчик услуг ИТ-отдела хочет совершить ошибку, то ИТ-отдел ему об этом скажет. Если Заказчик настаивает на совершении ошибки, то ИТ-отдел с радостью ему в этом поможет.
Читать дальше →
Всего голосов 127: ↑103 и ↓24+79
Комментарии79

Angular без zone.js: максимум производительности

Время на прочтение12 мин
Количество просмотров18K
Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angular производит повторный рендеринг соответствующих компонентов. В результате то, что видит пользователь, всегда содержит самую свежую информацию. Это просто замечательно.

Здесь мне хотелось бы исследовать некоторые аспекты того, как применение нового компилятора Ivy (он появился в Angular 9) способно значительно облегчить отказ от использования zone.js.



Благодаря отказу от этой библиотеки я смог значительно увеличить производительность Angular-приложения, работающего под высокой нагрузкой. При этом нужные мне механизмы удалось реализовать средствами декораторов TypeScript, что привело к совсем небольшим дополнительным затратам системных ресурсов.

Обратите внимание на то, что подход к оптимизации Angular-приложений, представленный в этом материале, возможен лишь благодаря тому, что Angular Ivy и AOT включены по умолчанию. Эта статья написана в учебных целях, она не направлена на пропаганду представленного в ней подхода к разработке Angular-проектов.
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии16

Оптимизация обработки событий в Angular

Время на прочтение8 мин
Количество просмотров15K

Введение


Angular предоставляет удобный декларативный способ подписки на события в шаблоне, с помощью синтаксиса (eventName)="onEventName($event)". Вместе с политикой проверки изменений ChangeDetectionStrategy.OnPush подобный подход автоматически запускает цикл проверки изменений только по интересующему нас пользовательскому вводу. Иными словами, если мы слушаем (input) событие на <input> элементе, то проверка изменений не будет запускаться, если пользователь просто кликает по полю ввода. Это значительно улучшает
производительность, по сравнению с политикой по умолчанию (ChangeDetectionStrategy.Default). В директивах мы также можем подписаться на события на хост-элементе через декоратор @HostListener('eventName').


В моей практике нередко встречаются случаи, когда обработка конкретного события требуется только при выполнении какого-либо условия. т.е. обработчик выглядит примерно так:

Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии6

Информация

В рейтинге
4 320-й
Откуда
Одесса, Одесская обл., Украина
Дата рождения
Зарегистрирован
Активность