Думаю, что одного этого скриншота реально существующего замера производительности хватит, чтобы донести смысл статьи, но, если читателю интересны мои мысли на этот счет, то добро пожаловать.
Team Lead
Презумпция ума
Во-первых, для сборки фронтенда у нормальных людей давно уже используется Webapck, на худой конец Gulp. Неужели они ничего не слышали про Docker?! Они вообще не умеют писать на Python!? Да и зачем здесь в принципе Python, и почему он еще 2й версии!? Вот дебилы! (Здесь может быть любой WTF на ваш вкус).
Мысли свои озвучиваешь вслух. Но про дебилов молчишь, конечно, все-таки культурный человек. Но на лице все написано. А вообще должны и сами понимать. И вроде все правильно. И все по делу. Но…
FZF. Нечеткий поиск или как быстро ставить npm пакеты и убивать процессы
Я работаю в MacOS, почти не использую Finder и все время провожу в консоли. Именно поэтому стараюсь сделать работу из консоли как можно более удобной.
Относительно недавно мне на глаза попалась утилита FZF. И уже через неделю стала незаменимой.
FZF представляет возможность нечеткого поиска в стиле UNIX: умеет быстро и относительно хорошо искать по строкам, которые передали ей на вход, и интегрироваться с другими моими любимыми программами.
Я с удивлением обнаружил, что об этой программе нет ни одной статьи на хабре, кроме некоторых упоминаний вскользь. Я решил восполнить этот пробел. Если вы уже знаете о FZF, то статья скорее всего покажется вам неинформативной, а всем остальным добро пожаловать
Оптимизация фронтенда. Часть 2. Чиним tree-shaking в проекте на webpack
Итак, если специально не чинить, tree-shaking в webpack не работает. Кто не верит, читайте мою предыдущую статью. Если починить очень хочется, то добро пожаловать под кат. Тут есть несколько вариантов, которые я смог подсмотреть, найти придумать.
Оптимизация фронтенда. Часть 1. Почему я не люблю слово treeshaking или где вас обманывает webpack
Мы относимся к технологиям, которые используем, как к покупкам на Яндекс маркете. Смотрим на спецификацию, читаем отзывы и, если проект получил много звездочек на гитхабе, проходит по спецификации, и к тому же внедрение стоит недорого, мы его покупаем устанавливаем. Такой подход иногда очень сильно бьет по голове ручкой от граблей, и тогда все-таки приходится разбираться, что происходит.
Как отрефакторить 2 500 000 строк кода и не сойти с ума
5 июня 2017 года на РИТ я рассказал доклад про то, как мы рефакторим свое огромное клиентское приложение на 2 500 000 строк кода.
Недавно я получил запись выступления. Думаю, что это видео может быть кому-то полезно, поэтому я попросил у Олега Бунина разрешение на то, чтобы выложить его в открытый доступ. Он согласился. Надеюсь, вам будет интересно. В любом случае буду рад любым комментариям.
P.S.: Заранее прошу прощение за качество видео. К сожалению, ничего с этим поделать не могу.
Когда вредно тестировать ваши компоненты

Автоматизированные тесты – это хорошо. Проект, который на 100% покрыт тестами, преподносит покрытие как преимущество. Но…
Думаю, что в этом процессе нет осознанности. А она сильно облегчает жизнь. Возможно, что половина тестов в вашем проекте не только бесполезна, более того — несет вред. Ниже расскажу о том, какие тесты писать не нужно.
Zone.js или как Dart спас Angular

Я фронтенд-разработчик в компании Wrike, пишу на JavaScript и на Dart, который компилируется в JavaScript. Сегодня я хочу рассказать о библиотеке Zone.js, лежащей в основе Angular 2.
Изначально Zone.js была придумана разработчиками Google для языка программирования Dart и утилиты Dart2JS. С помощью этой библиотеки «гугловцы» решили проблему с дайджест-циклом, которая была характерна для первого Angular’а.
Чтобы понять, где эта библиотека используется и для чего нужна, прошу под кат.
Асинхронность в JavaScript: Пособие для тех, кто хочет разобраться
На JavaScript легко писать. Достаточно взять пару библиотек или модный фреймворк, прочитать несложный туториал и все — через пару часов у вас простой работающий интерфейс.
Проблемы начинаются, когда интерфейс становится сложнее. Вот тут без глубокого понимания JavaScript не обойтись. Важно, чтобы даже большой и сложный интерфейс оставался быстрым и отзывчивым. Отзывчивость, как правило, достигается за счет использования асинхронных функций. Попробуем разобраться, как устроена асинхронность в JavaScript.
Лайфхаки для веб-разработчика
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.
Использование ** в zsh
Таким образом я ищу файлы в папке по расширению рекурсивно:
ls **/*.json
файлы с размером выше чем 1 мегабайт:
ls -lh **/*(Lm+1)
Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
git rm --cached **/*.pyc
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность