Новый год уже очень скоро, так что заранее поздравляю всех читателей с окончанием 2013. Пришла пора вспомнить, что же было в нём интересного и подумать, что бы хотелось сделать в следующем 2014.
-
2013, итоги и планы
31 декабря 2013
-
Перспективы HHVM 2013
23 декабря 2013
Довольно много времени прошло с последнего раза как я писал про реализацию PHP в исполнении Facebook. С того времени многое поменялось.
- Юнит-тесты по 21 OpenSource проекту проходят на 99%. Тесты Yii проходят на 99,11%.
- Ещё сильнее ускорили исполнение кода.
- Добавили поддержку FastCGI, так что можно спокойно оттестировать свой проект под Apache или nginx.
В планах у команды HHVM на 2014 ещё большее ускорение виртуальной машины и полная совместимость с оригинальным PHP. Настрой серьёзный. В начале месяца Josh Waltzman из команды HHVM связывался с членами php-fig, в том числе и со мной. В планах ещё много дополняющих PHP вкусняшек: строгая типизация, коллекции, быстрый статический анализ. Жаль, что поддержки Windows в планах пока нет по техническим причинам. Это прилично сократит аудиторию...
Если в 2012 HHVM был годен только на использование внутри Facebook, то под конец 2013 перспективы его использования для своих проектов выглядят вполне реальными.
-
Предновогодние скидки у PACKT
21 декабря 2013
У издательства PACKT до третьего января включительно приличные скидки на книги. Не исключение и моя англоязычная книга рецептов, которую сейчас можно заполучить всего за €3.65 вместо €20.99.
-
Yii 2 alpha
2 декабря 2013
Вышла первая альфа версия Yii 2. Скачать в виде архива её можно с официального сайта. Там же приведены инструкции по установке через Composer.
Yii 2 является полностью переделанной версией одного из самых популярных PHP-фреймворков. В новой версии унаследован общий дух первой версии, а именно стремление к простоте, скорости и расширяемости. В Yii 2 применяются многие возможности PHP 5.4. Фреймворк следует лучшим практикам современной веб-разработки.
Полное описание возможностей вы можете найти в полном руководстве и, в особенности в разделе с отличиями от версии 1.1.
Выпуск альфы является важным событием в разработке Yii 2 и означает, что код достиг определённой степени стабильности. Если вы только начинаете изучать Yii или у ваш проект не ограничен жёсткими временными рамками, можно попробовать новую версию. Не используйте Yii 2 в боевых проектах так как команда фреймворка всё ещё может внести значительные изменения без каких-либо предварительных уведомлений.
В течение двух лет было получено огромное количество кода от сообщества. Спасибо вам, что сделали этот релиз возможным.
-
Разработка веб-приложений с использованием AngularJS
27 ноября 2013
В издательстве ДМК, которое выпустило мой русскоязычный сборник рецептов по Yii, готовится к печати перевод книги по довольно актуальной JavaScript библиотеке AngularJS. Библиотека разрабатывается Google и отлично подходит для создания сложных динамичных интерфейсов для веб-приложений.
В оригинале книга называется «Mastering Web Application Development with AngularJS» by Pawel Kozlowski, Peter Bacon Darwin. В печать уходит в декабре. Сейчас можно сделать предзаказ с 20% скидкой. Электронные версии будут, но позже.
-
MacOS + PhpStorm, делаем текст менее мыльным
20 ноября 2013
Apple делает прекрасное железо и хорошую ОС, но некоторые штуки сделаны в Windows намного лучше. Одна из них — сглаживание шрифтов. После ClearType читать мыльный текст на маке очень неприятно. Усугубляется это ещё большим количеством мыла в IDE JetBrains. Например, в PhpStorm.
К счастью, проблема решаемая, хоть и немного нетривиально. Сначала стоит немного подстроить общее сглаживание. В последних версиях ОС настройку убрали, так что открываем терминал и пишем:
defaults -currentHost write -g AppleFontSmoothing -int 2
Эффект в отдельных приложениях должен быть виден после их перезапуска. В интерфейсе ОС после перезагрузки.
Далее поправим опции JVM для PhpStorm. В
/Applications/PhpStorm\ EAP.app/bin/idea.vmoptions
(путь может отличаться) дописываем в конец:-Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd
Перезапускаем IDE.
Те же опции можно применить и к другим продуктам JetBrains и основанным на них. Например, Android Studio.
UPD: похоже, всё вышеприведённое не имеет никакого эффекта в последних версиях ОС.
-
Убираем дубликаты URL в Yii
17 ноября 2013
Не первый раз спрашивают как убрать дубликаты URL в приложении на Yii при использовании красивых URL и
showScriptName = false
. Yii при включении данной опции генерирует все URL как надо, но позволяет обращаться к страницам и так и так:http://example.com/blog/tag/Yii http://example.com/index.php/blog/tag/Yii
На самом деле никакой проблемы в этом нет потому как ни одной ссылки на второй тип URL не будет и он, соответственно, не проиндексируется. Но так как вопросы поступают и SEO-шники настаивают, вот ответ в виде gist.
Сохраняем в виде
protected/components/DuplicateFilter.php
, прописываем в методfilters
контроллеров и забываем о проблеме. -
Android: быстрый удобный эмулятор
31 октября 2013
Использовать встроенный эмулятор из Android SDK — та ещё радость из за его скорости. Дело усугубляется, если у вас процессор не Intel. Можно, конечно, прилично поковырявшись в BIOS и системе, добиться сходной с Intel производительности, но работать будет всё-равно неприятно.
По этой причине вместо эмуляторов я обзавёлся реальными устройствами и долго пользовался ими пока не стал браться за задачки с довольно сложными интерфейсами. Железяк стало не хватать. У коллег при тестах иногда вылезали глюки на устройствах с другими пропорциями экрана и плотностью пикселей.
Поискав получше, я нашёл нормальный эмулятор. Зовётся Genymotion и является обёрткой над VirtualBox и набором образов. Работает действительно быстро. Быстрее реального устройства.
-
Android: поймать back в EditText
30 октября 2013
Задачка — отловить нажатие хардварьной кнопки back и OK (или Done) на экранной клавиатуре при фокусе на
EditText
. Вроде должно решаться просто... -
Yii2 будет на PHP 5.4
20 октября 2013
Ещё недавно я рассказывал про то, что Yii2 будет использовать PHP 5.3, и вот планы круто поменялись. После публичного обсуждения, а затем и внутрикомандного, было решено, что релиз состоится с минимальным требованием PHP 5.4.
Сначала мы составили список популярных хостингов. После этого стало понятно, что 72% хостингов, которые поддерживают минимальную на тот момент версию 5.3.7, поддерживают и 5.4. А те, что принципиально застряли на 5.2 или 5.3, чаще всего не имеют и 5.3.7. С операционками выходит примерно так же.
Далее пошли в ход плюсы.
Короткий синтаксис массивов и
<?=
в шаблонах. Да, для фреймворка оно не нужно и это долгое время было аргументом против 5.4. Но мы изначально упустили из вида, что авторам расширений придётся использовать 5.4, что негативно скажется на сообществе.В 5.3 более не исправляется, начиная с этого Июля. В Июле 2014 PHP 5.3 перестанет получать также и исправления по части безопасности, так что использовать его будет довольно рисково. К тому времени Yii2, как раз, должен начать набирать обороты и если сейчас переход на 5.4 кажется немного рисковым, то через пол года это точно будет верным шагом. Да и с точки зрения маркетинга шаг верный.
Ну и трейты, конечно. Хотя на их счёт ещё есть большие сомнения...