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
читать далее

Хранение паролей в Yii2

Здравствуйте! Сегодня хотелось бы поговорить о методах, позволяющих повысить безопасность, в приложениях на Yii2.

Поскольку алгоритмы шифрования паролей алгоритмами md5 or sha1 уже не внушают сильного доверия. В Yii2 был реализован метод реализующий хеширование bcrypt.


 

$hash_pass=Yii::$app->getSecurity()->generatePasswordHash('123');

 

в результате выполнения данного метода переменная $hash_pass будет содержать приблизительно следующее значение из 64 символов

 

$2y$13$imm.m0q9qN/IrWF4AtmH4ejHyS3d.ElmkayY3vQ69DTApgEY4ne36

 

Также у generatePasswordHash можно указать вторым параметром сложность шифрования

 

$hash_pass=Yii::$app->getSecurity()->generatePasswordHash('123',10);

 

по умолчанию этот параметр имеет значение 13. В официальной документации рекомендуют выставлять этот параметр повыше, но не стоит увлекаться.

Это довольно ресурсоемкий процесс. Если представить, что ваш компьютер сосчитает хеш со сложностью 14 за 1 секунду, то формула по нахождению времени расчета хеша будет выглядеть так 2^(сложность — 14) секунд.

В отличии от md5, при повторном вызове данного метода, будет сгенерирован абсолютно другой набор символов! Для этого для валидации пароля используется следующий код.

 

Yii::$app->getSecurity()->validatePassword($pass, $hash_pass);

 

Метод вернет true в случае успешной проверки и false в случае несоответствия данных.

Текстовый редактор с загрузкой изображений

Недавно наткнулся на интересный текстовый редактор Imperavi с возможностью загрузки изображений и ко всему прочему сообщество Yii купило OEM лицензию на него, за что отдельное спасибо!

До этого для вставки текстового редактора я использовал CKEditor и расширение для него the-ckeditor-integration, редактор Imperavi мне показался хорошей альтернативой. В этой статей хотелось бы поделиться своими впечатлениями о редакторе Imperavi. читать далее

Склонение существительных

Здравствуйте! Недавно столкнулся с задачей склонения существительных после числовых значений, например 1 удав, но 2 удава. Прежде чем лезть в просторы интернета за готовыми вариантами решений, мне захотелось самому понять принцип склонения существительных.

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

AJAX ссылка с подменой необходимого URL

Здравствуйте! Сегодня хотелось бы поделиться способом создания ajax ссылок в Yii. Зачастую бывает, что кроме самого функционала ajax ссылки необходимо проставить соответствующие адреса, для более правильной индексации поисковиками.

Давайте представим, что у нас есть какое-то меню рубрик товаров. Например меню состоит из 3х пунктов «Цветы, горшки, земля» и мы решили сделать эти ссылки посредством ajax т.е. при нажатии на «Горшки» у нас в блоке контента появляются горшки без перезагрузки страницы. Код подобной ссылки будет примерно следующий: читать далее

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

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

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

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