Pull to refresh
52
0
Алексей Золотых @zolotyh

Team Lead

Send message

Почему я не верю микробенчмаркам

Reading time3 min
Views8.3K

typescript работает быстрее javascript и занимает меньше памяти. Скриншот с сайта с микробенчмарками
Думаю, что одного этого скриншота реально существующего замера производительности хватит, чтобы донести смысл статьи, но, если читателю интересны мои мысли на этот счет, то добро пожаловать.

Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments65

Презумпция ума

Reading time2 min
Views43K
Новое место работы. Все собеседования позади. Первый рабочий день. Тебя проводят к рабочему месту. Там уже стоит готовый к работе ноутбук. Ты открываешь крышку. Все, ты готов к работе. Твоя первая задача. К тебе подходит человек, который должен ввести тебя в курс дела. Он объясняет тебе, что нужно сделать: баг с фиксом в 3 строчки кода. Попутно тебе помогают настроить рабочий комп. И вот ты уже приступаешь к задаче и понимаешь, что как-то все не так…

Во-первых, для сборки фронтенда у нормальных людей давно уже используется Webapck, на худой конец Gulp. Неужели они ничего не слышали про Docker?! Они вообще не умеют писать на Python!? Да и зачем здесь в принципе Python, и почему он еще 2й версии!? Вот дебилы! (Здесь может быть любой WTF на ваш вкус).

Мысли свои озвучиваешь вслух. Но про дебилов молчишь, конечно, все-таки культурный человек. Но на лице все написано. А вообще должны и сами понимать. И вроде все правильно. И все по делу. Но…
Читать дальше →
Total votes 159: ↑127 and ↓32+95
Comments210

FZF. Нечеткий поиск или как быстро ставить npm пакеты и убивать процессы

Reading time2 min
Views12K


Я работаю в MacOS, почти не использую Finder и все время провожу в консоли. Именно поэтому стараюсь сделать работу из консоли как можно более удобной.


Относительно недавно мне на глаза попалась утилита FZF. И уже через неделю стала незаменимой.


FZF представляет возможность нечеткого поиска в стиле UNIX: умеет быстро и относительно хорошо искать по строкам, которые передали ей на вход, и интегрироваться с другими моими любимыми программами.


Я с удивлением обнаружил, что об этой программе нет ни одной статьи на хабре, кроме некоторых упоминаний вскользь. Я решил восполнить этот пробел. Если вы уже знаете о FZF, то статья скорее всего покажется вам неинформативной, а всем остальным добро пожаловать

Total votes 21: ↑20 and ↓1+19
Comments2

Оптимизация фронтенда. Часть 2. Чиним tree-shaking в проекте на webpack

Reading time5 min
Views13K


Итак, если специально не чинить, tree-shaking в webpack не работает. Кто не верит, читайте мою предыдущую статью. Если починить очень хочется, то добро пожаловать под кат. Тут есть несколько вариантов, которые я смог подсмотреть, найти придумать.

Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments7

Оптимизация фронтенда. Часть 1. Почему я не люблю слово treeshaking или где вас обманывает webpack

Reading time4 min
Views20K


Мы относимся к технологиям, которые используем, как к покупкам на Яндекс маркете. Смотрим на спецификацию, читаем отзывы и, если проект получил много звездочек на гитхабе, проходит по спецификации, и к тому же внедрение стоит недорого, мы его  покупаем устанавливаем. Такой подход иногда очень сильно бьет по голове ручкой от граблей, и тогда все-таки приходится разбираться, что происходит.

Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments17

Как отрефакторить 2 500 000 строк кода и не сойти с ума

Reading time1 min
Views11K

5 июня 2017 года на РИТ я рассказал доклад про то, как мы рефакторим свое огромное клиентское приложение на 2 500 000 строк кода.


Недавно я получил запись выступления. Думаю, что это видео может быть кому-то полезно, поэтому я попросил у Олега Бунина разрешение на то, чтобы выложить его в открытый доступ. Он согласился. Надеюсь, вам будет интересно. В любом случае буду рад любым комментариям.


P.S.: Заранее прошу прощение за качество видео. К сожалению, ничего с этим поделать не могу.


Total votes 23: ↑15 and ↓8+7
Comments12

Когда вредно тестировать ваши компоненты

Reading time3 min
Views13K
image

Автоматизированные тесты – это хорошо. Проект, который на 100% покрыт тестами, преподносит покрытие как преимущество. Но…

Думаю, что в этом процессе нет осознанности. А она сильно облегчает жизнь. Возможно, что половина тестов в вашем проекте не только бесполезна, более того — несет вред. Ниже расскажу о том, какие тесты писать не нужно.
Читать дальше
Total votes 28: ↑24 and ↓4+20
Comments37

Zone.js или как Dart спас Angular

Reading time7 min
Views39K


Я фронтенд-разработчик в компании Wrike, пишу на JavaScript и на Dart, который компилируется в JavaScript. Сегодня я хочу рассказать о библиотеке Zone.js, лежащей в основе Angular 2.

Изначально Zone.js была придумана разработчиками Google для языка программирования Dart и утилиты Dart2JS. С помощью этой библиотеки «гугловцы» решили проблему с дайджест-циклом, которая была характерна для первого Angular’а.
Чтобы понять, где эта библиотека используется и для чего нужна, прошу под кат.
Читать дальше →
Total votes 37: ↑27 and ↓10+17
Comments34

Асинхронность в JavaScript: Пособие для тех, кто хочет разобраться

Reading time4 min
Views154K

image


На JavaScript легко писать. Достаточно взять пару библиотек или модный фреймворк, прочитать несложный туториал и все — через пару часов у вас простой работающий интерфейс.


Проблемы начинаются, когда интерфейс становится сложнее. Вот тут без глубокого понимания JavaScript не обойтись. Важно, чтобы даже большой и сложный интерфейс оставался быстрым и отзывчивым. Отзывчивость, как правило, достигается за счет использования асинхронных функций. Попробуем разобраться, как устроена асинхронность в JavaScript.

Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments38

Лайфхаки для веб-разработчика

Reading time3 min
Views44K
Обожаю трюки и лайфхаки. Каждый раз радуюсь, когда удается упростить очередную рутинную операцию. А так как работаю я, вот уже 8 лет, веб-программистом, то рутинные операции и лайфхаки у меня программерские. Вот этим и хочу с вами поделиться.
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.

Использование ** в zsh


Таким образом я ищу файлы в папке по расширению рекурсивно:
ls **/*.json

файлы с размером выше чем 1 мегабайт:
ls -lh **/*(Lm+1)

Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
git rm --cached **/*.pyc


Читать дальше →
Total votes 55: ↑35 and ↓20+15
Comments51

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity