<rmcreative>

RSS
  1. Yii 1.1.15 (исправление безопасности)

    30 июня 2014

    Вышел Yii 1.1.15, исправляющий проблему безопасности, найденную в 1.1.14. Более ранние версии не затронуты. Если вы используете его, следует обновиться. 1.1.15 полностью совместим с 1.1.14.

    Уязвимость затрагивает CDetailView. Если ваше приложение берёт значение value от пользователя, то атакующий имеет возможность выполнить произвольный PHP скрипт на вашем сервере. Мы не раскрываем подробностей сразу чтобы дать время обновиться. По нашим данным детали пока известны только основной команде разработчиков фреймворка.

    Уязвимости присвоен номер CVE-2014-4672.

    Забрать дистрибутив можно, как обычно, на yiiframework.com или обновиться через Composer.

    5 комментариев
  2. Иллюстрированное руководство по рефакторингу

    26 июня 2014

    На хабре анонсировали отличное иллюстрированное руководство по рефакторингу. Объяснения простые и понятные, примеры пока на Java и PHP.

    Рекомендую

    2 комментария
  3. PHP 5.6.0RC1

    20 июня 2014

    Вышел первый кандидат в релизы PHP 5.6.0. Можно помочь разработчикам, проверив свои проекты на этой версии (не на боевых серверах, конечно) и сообщив о проблемах.

    Изменения радуют. Рассмотрим самое интересное.

    Читаем

    12 комментариев
  4. GitHub Octicons

    19 июня 2014

    Команда GitHub выложила набор значков, используемых в проекте, в свободный доступ под лицензией SIL OFL 1.1. Значки векторные. Выполнены в виде шрифта, использовать который очень просто:

    <link rel="stylesheet" href="/octicons/octicons.css">
     
    ...
     
    <span class="octicon octicon-flame"></span>

    Пользуемся

    3 комментария
  5. Android, фрагмент в фрагменте и startActivityForResult

    12 июня 2014

    Одна из самых раздражающих недоработок Android проявляется когда нужно из фрагмента получить изображение с камеры или выбрать из готовых. Для этого используется Fragment.startActivityForResult(), а результат приходит в Fragment.onActivityResult(). Всё бы хорошо, но если фрагмент является потомком другого фрагмента, onActivityResult() не вызывается. Решается не очень тривиально:

    startActivityForResult() вызываем не для текущего фрагмента, а для родителя:

    private Fragment getActivityStarterFragment() {
            if (getParentFragment() != null) {
                return getParentFragment();
            }
            return this;
        }
     
    getActivityStarterFragment().startActivityForResult(...);

    В фрагменте-родителе явно вызываем onActivityResult() потомков:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        callOnActivityResultOnChildFragments(this, requestCode, resultCode, data);
    }
     
    // реализовано коллегами после изучения https://gist.github.com/artem-zinnatullin/6916740
    public static void callOnActivityResultOnChildFragments(Fragment parent, int requestCode, int resultCode, Intent data) {
        FragmentManager childFragmentManager = parent.getChildFragmentManager();
            if (childFragmentManager != null) {
                List<Fragment> childFragments = childFragmentManager.getFragments();
                if (childFragments == null) {
                    return;
                }
                for (Fragment child : childFragments) {
                    if (child != null && !child.isDetached() && !child.isRemoving()) {
                        child.onActivityResult(requestCode, resultCode, data);
                }
            }
        }
    }
    2 комментария
  6. Переводим Yii 2.0 на русский

    6 июня 2014

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

    Самостоятельно перевёл только оглавление. Остальное оставляю тем, кто хочет помочь фреймворку.

    6 комментариев
  7. UWDC 2014, отчёт

    31 мая 2014

    UWDC в Челябинске прошёл замечательно. Спасибо за хорошую атмосферу, общение и отзывы, которые особо важны OpenSource разработчикам для поддержания боевого духа.

    Отдельно спасибо тем, кто пригласил Сергея Логинова, поделившегося своим необычным опытом работы.

    11 комментариев
  8. Именование версий ПО

    22 мая 2014

    Начиная с Yii 2.0 мы решили придерживаться простого стандарта семантического версионирования или, если кратко, semver. В рабочих проектах у меня он применяется уже давно.

    Стандарт невероятно прост:

    Учитывая номер версии МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ, следует увеличивать:

    1. МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API.
    2. МИНОРНУЮ версию, когда вы добавляете новый функционал, не нарушая обратной совместимости.
    3. ПАТЧ-версию, когда вы делаете обратно совместимые исправления.

    Дополнительные обозначения для предрелизных и билд-метаданных возможны как дополнения к МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ формату.

    Полный текст на разных языках можно найти на semver.org

    Комментировать
  9. С Yii 1.1 на Yii 2.0, часть 1: PHP

    22 апреля 2014

    Вопрос о переходе с 1.1 на 2.0 всплывает слишком часто, чтобы не разобрать его более детально. Начать, конечно, стоит с самого основного, а именно с PHP.

    В Yii 1.1 использовался PHP 5.2. В некоторых местах можно было использовать элементы из 5.3. В Yii 2.0 используется PHP 5.4. Причём не просто используется, а используется по полной программе.

    Итак, для перехода на 2.0 стоит изучить:

    С Yii 1.1 на Yii 2.0, часть 2: Composer →

    29 комментариев
  10. Буду на DevConf 2014 в Москве

    17 апреля 2014

    14 июня в субботу в Москве пройдёт DevConf, на котором я буду рассказывать про вторую версию Yii (в зале) и, возможно, про обработку ошибок в PHP (на флипчартах).

    Программа всё ещё формируется, но уже довольно интересна. Занятно будет послушать про архитектуру AVITO.ru, платёжные системы, асинхронный PHP, Codeception, Tarantool и другие интересные штуки.

    DevConf всегда отличается особой атмосферой и отличными посиделками после конференции.

    Сайт конференции http://devconf.ru/. Зарегистрироваться можно до 12 июня 2014.

    3 комментария