JavaScript антипаттерны

JavaScript антипаттерны

Парочка мелких антипаттернов, которые просачиваются на прод и об которые можно споткнуться. Оба шаблона связаны с оптимизацией условий и переписыванием их в более удобочитаемом виде: Замена продолжительных условий и Перегрузка switch (true).

Подробнее →

Вы не знаете JS. Типы и грамматические конструкции

Вы не знаете JS. Типы и грамматические конструкции

Сборник граблей и очень детальное погружение в типы и немного в грамматику JavaScript (чем отличается от синтаксиса, там написано). Как всегда, у JS есть чем удивить: какие-то старые и непонятные для меня вещи получили объяснение.

Читать интересно, воды нет, текст сжат и детален. Автор играет в адвоката дьявола и постоянно трясёт кулаком в сторону ленивых программистов, что не удосужились прочитать спеку, а обложились эзотерическими бест практиками, и просто не пишут «как не надо» и не пользуются неочевидными возможностями JavaScript. Интересная позиция.

Зачем читать

Прояснить тёмные моменты языка и понять, почему линтеры срабатывают на вроде бы безобидных участках кода. Понять JavaScript на более низком уровне.

Подробнее →

JavaScript: про ленивую обработку и сокращённые вычисления

Вы не знаете JS: про ленивую обработку и сокращённые вычисления

В моём экземпляре «Вы не знаете JS: Типы и грамматические конструкции» есть раздел про порядок выполнения логических операторов. Здесь есть неточность: результаты примеров выше обусловлены тем, что интерпретатор отбрасывает части выражения, которые не требуются вычислять.
Действуют принципы Ленивых вычислений (Lazy evaluation) и Вычислений по короткой схеме (Short-circuit evaluation):

Подробнее →

JavaScript: сильные стороны

JavaScript: сильные стороны

Книжка из мема про JS (Definitive guide я тоже когда-то прочитал весь, что было довольно утомительно).

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

Зачем читать

Книга интерес имеет скорее исторический, с современным языком вполне можно жить и так. Читать, если хочется понимать JS на более глубоком уровне.

Подробнее →

Генератор паролей на JavaScript

Чтобы закрепить пройденный на курсере курс по AngularJS, я переписал свой старый генератор паролей OktoPass заново: переверстал страницу с Bootstrap, избавился от jQuery и переделал сам механизм генерации паролей. Ссылка на сервис: password-generator.axisful.info

Это было занятно, у меня получилось веб-приложение со стильной шёрсткой и адаптивной вёрсткой, а в процессе я написал пару велосипедов для серверного микро-движка и фронтенда, вроде поддержки переводов и работы с URL.

Далее я опишу некоторые ключевые моменты, на которых работает OktoPass.

Подробнее →

Удобная IDE для PHP и Symfony

Пересел с NetBeans на PhpStorm — как будто открыл фотошоп после пеинта. До этого я больше пяти лет работал в NetBeans, а ещё раньше на Eclipse и вообще на целом зоопарке разных редакторов для веб-разработки.

Удобство во всём: быстро работает, великолепное автодополнение: есть плагины для Symfony, WordPress и для всех современных фреймворков. Куча полезных инструментов, вроде простого рефакторинга кода и автогенерации геттеров/сеттеров/конструкторов, тестов PhpUnit, сервисов-контроллеров Symfony и так далее.

Подробнее →

Простой генератор паролей на JavaScript

Внимание

Новая версия генератора паролей полностью переписана на AngularJS и Web Crypto API.


Генератор написан на одном из предыдущих мест моей работы в 2010 году (и успешно использовался в течении последующих нескольких лет абонентским отделом).

Доступны репозиторий на GitHub и демо.

Описание

Приложение использует три js-скрипта:

  • OktoPass.js — главный модуль, содержащий всю логику генератора.
  • SymStorage.js — хранилище шаблонов для генерации.
  • Wrapper.js — обслуживающий модуль, обёртка для вставки результатов работы генератора в DOM.

Подробнее →