React input автофокус с помощью ref

Представьте ситуацию, когда вам нужно поставить фокус в инпут. Для input’а, который есть на странице в момент загрузки — никаких проблем, в документации указано как использовать ref. Остается только вызвать метод .focus()

Но если элемента на странице нет, например, по клику на «Логин» появляется модальное окно, и в нем нужно установить фокус в input…
читать далее

Webpack source map для удобной отладки

Сегодня на операционном столе сайт с интерфейсом администратора. Причина заболевания: переезд с gulp на webpack.
Первая проблема: удобный source map.
Поехали 😉

читать далее

Глобальный .gitignore

Собственно, все указано в заголовке. Вам остается только создать новый .gitignore или указать на существующий.

git config --global core.excludesfile ~/.gitignore

Получить список всех слушателей jQuery объекта

Пост буквально одной строкой! Проблема — производительность.
Почему? Часто навешиваете обработчик и забываете его снять? Работаете в команде, и не можете гарантировать, что кто-нибудь не навесил случайно на $(window).on(‘resize’,..) кучу тяжелых функций?
Посмотрите список всех обработчиков

jQuery._data( window, "events" );

P.S. и да, не забывайте давать своим событиям «namespace», например так:

$(window).on('resize.playstop', myFunction)
//потом легко снять
$(window).off('resize.playstop')

P.P.S подсмотрел кусочек про _data на StackOverflow.

Boilerplate: Angular.js + JADE + Gulp

Изначально я долго и усердно настраивал browserify+angular.js, и был близок к победе, но что-то пошло не так (а именно inject кастомных директив) и я решил немного повременить. Поэтому связка будет немного иной и в консоли придется выполнить на одну команду больше. Так или иначе, этот пост в первую очередь для моего друга-бэкэндера и здесь будет сделан упор на автосборку проекта с помощью таск-менеджера Gulp.
Lexa-007, You’re welcome 😉
читать далее

Кастомизируем angular-strap datepicker

Это не пост, скорее заметка, чтобы не забыть.
Речь идет про http://mgcrea.github.io/angular-strap/##datepickers
читать далее

Комфортная работа по sshfs в OS X и Ubuntu

Данный пост будет рассчитан на пользователей OS X, но справедливости ради, скажу, что в Ubuntu все еще удобнее, поэтому не составит труда поставить sshfs через apt-get install, а сам ssh — есть «из коробки» в обеих системах.

Установить sshfs в OS X можно с помощью brew. Как установить brew — здесь
читать далее

Улучшаем читаемость git diff для сжатых js файлов (binary git diff)

octocat

Когда вы жмете js код, и попутно заменяете другие файлы, при попытке посмотреть git diff, вывод данной команды будет засорен большими кусками сжатого кода, так как это обычно одна строка и достаточно длинная, гит думает что ее заменили (и правильно!) и хочет, чтобы вы видели это. Но давайте, научим гит говорить нам, что изменился лишь размер файла, так как вывод изменений сжатых файлов нам абсолютно не интересен.
читать далее

Ньюанс base64 decode image для сохранения на диск

html5-canvas

Всеми любимый canvas имеет классный метод .toDataUrl(), который возвращает base64 закодированный текст. Но, внимание, с припиской вначале: data:image/png;base64, как раз в этом вся и проблема. При сохранении такой последовательности, ваше изображение получается испорченным. Все дело в том, что само изображение это ровно то, что идет после этого. Поэтому берите на вооружение вот такую регулярочку:

imgData.replace(/^data:image\/png;base64,/,'');

Мягкий рестарт сервиса на примере nginx

Есть разные варианты как можно рестартануть какой-то сервис, например service name restart, но сегодня я столкнулся с задачкой, когда команды service установлено не было, а nginx надо было рестартануть. Заодно расскажу о полезной команде поиска конфига.
читать далее

При копировании материалов обратная ссылка на play-stop.ru желательна обязательна!