Секреты JavaScript ниндзя

ЛитератураСекреты JavaScript ниндзя

Прикупил недавно эту книгу → "Секреты JavaScript ниндзя" (Джон Резиг, Беэр Бибо). Почти три года назад тоже писал тут о книге, связанной с JavaScript, и тоже фигурировали эти самые ниндзя :) Хотя ниндзя веб-разработки я так и не стал.

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

Теперь о самой книге. Зацепила. Есть у меня и другие, но именно с этой стало понятно, чем, собственно, JavaScript отличается от других языков. Доступно и с большим количеством примеров описываются основы языка. Для меня, например, прояснились такие тёмные стороны JavaScript, как прототипизированное наследование и сами прототипы, что позволяет взглянуть на объектно-ориентированное программирование с другой стороны, отличной от привычных реализаций, где объекты основываются на классах.

В общем, рекомендую :)

PostgreSQL

PostgreSQLУстановка PostgreSQL в Mac OS X

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

Для начала установим, собственно, PostgreSQL:

1
sudo port install postgresql93
отладка

IDEPhpStorm и Xdebug - установка и настройка

Думаю, нет нужды объяснять про такой важный инструмент PHP-разработчика, как Xdebug. Знал о нём и я. Только вот руки всё никак не доходили, что бы просто взять и попробовать. Длилось это больше года. А в один прекрасный момент таки испробовал и очень доволен.

Для начала необходимо установить сам Xdebug. На убунте это довольно просто, на макинтоше - тоже. Напишу одну команду под другой, чтобы не растягивать (предполагается, что на маке используется MacPorts)

Ubuntu/Debian:

1
sudo apt-get install php5-xdebug

Mac:

1
sudo port install php5-xdebug

В операционной системе Windows всё может зависеть от ситуации. У меня, например, используется XAMPP, и заветная php_xdebug.dll обнаружилась в директории с остальными расширениями, оставалось только раскоментировать его в php.ini

Клонирование диска

ЖелезоЗамена диска в Mac mini на SSD

Пришло время проапгрейдить рабочий макинтош, а обновлять внутри и нечего, кроме памяти и накопителя. Оперативки пока достаточно, а вот повысить отзывчивость не помешает, поэтому SSD без вариантов :)

Речь ниже будет идти о модели Mac mini Mid 2011, если что.

typeahead.js

JavaScripttypeahead.js - Автокомплитер и Twitter Bootstrap.

Прикручивал автодополнение к полям формы на сайте, использующем Twitter Bootsrap, выбрал по инерции знакомый и привычный jQuery UI и тут же столкнулся с проблемой. Поля, использующие bootstrap-datepicker.js разнесло до полной неузнаваемости. Для начала просто отключил стили, необходимые для автокомплитера из jQuery UI, предполагая, что проблема именно в них, да и просто из любопытства, однако это не помогло - внешний вид улучшился, но до исходного варианта было ещё далеко :)

Морочить себе голову не стал, пытаясь соединить несовместимое, просто вбил в поисковик "twitter bootstrap autocomplete". И сразу наткнулся на то, что надо, т.е. на typeahead.js. Тут официальная страница с примерами, хорошая документация на GitHub. Добавить нечего. Просто брать и использовать. Внешний вид хорошо вписывается в общий стиль, не выглядит чужеродным :)

DISQUS

NewsПрикрутил DISQUS

Что-то довольно часто стала попадаться на глаза эта система комментариев, т.е. DISQUS. Любопытство взяло вверх, решил посмотреть, как оно всё выглядит изнутри, а этот блог как раз подходит на роль площадки для всяческих испытаний :)

Оказалось даже проще, чем я себе это изначально представлял, думал, что может приключиться что-то со стилями CSS и прочим, но ничего не произошло. Короче говоря, установить его сможет и домохозяйка, для которой html и javascript не пустой звук. Хотя если учитывать существование плагинов под WordPress, Blogger или Tumblr, то и эти условия становятся необязательными.

Комментарии, конечно, не посыпятся сюда, как из ведра, но надеюсь, что потратил своё драгоценнейшее время не зря :) А запись пусть висит тут для истории.

ApacheНастройка HTTPS в Apache

Нового здесь ничего не будет, всё это миллионы раз описано в документации и подобных записях по блогам. Так что оставлю здесь эту заметку для себя, чтобы не искать каждый раз, когда это потребуется.

В двух словах - что такое HTTPS и с чем его едят.

HTTPS - это расширение протокола HTTP, поддерживающий шифрование. Данные, передаваемые подобным образом, шифруются с использованием SSL или TLS.

В данной заметке будет создаваться самоподписанный сертификат и хотя браузеры начнут ругаться, что такой сертификат не является доверенным, но свою задачу выполнять он всё таки будет, т.е. если и не исключит возможность прослушивания при помощи тех же снифферов, например, но, по меньшей мере, сильно затруднит жизнь некоторых хацкеров. И что немаловажно - такой сертификат не будет стоить ни копейки, в отличии от сертификатов, подписанных компаниями-сертификаторами :)

kharkovtool.net

РаботаЗапустил kharkovtool.net

Запустил недавно магазинчик на базе популярного движка Magento. Хотя знатоки увидят это уже по favicon, менять его не стал :)

Хоть помещаю эту запись в раздел "Работа", но с той работой, где находятся мои работо- и зарплатодатели, данная новость никак не связана, это, скорее, фриланс, но не пропадать же категории.

UbuntuУдаление драйвера nVidia из командной строки

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

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

twig localized date

Symfony2Twig, интернационализация даты

Иногда возникает потребность выводить дату в таком формате, когда месяц написан текстом, но при этом сайт многоязычный. Месяц, естественно, тоже должен соответствовать выбранной локали. Вот тут и возникает загвоздка, поскольку php-шная функция date выведет месяца на английском. Какой-нибудь крутокодер Вова Теплов создал бы массивчик с переведёнными месяцами и прошёлся бы простой заменой, поскольку некогда разбираться, надо делать тикеты. Но это не наш путь. Языков на сайте может оказаться пять штук, один из которых, допустим, арабский/корейский. Да и сами языки могут добавляться на сайт в будущем.

В общем, задача эта типовая и не надо ничего придумывать. Решение имеется уже готовое → IntlDateFormatter. Но решать эту задачу я буду в контексте Symfony 2.