• Pagodabox — облачный хостинг PHP проектов

      imagePagoda Box это новый PaaS для PHP проектов. Это значит что заполнив всего несколько полей в форме можно запустить свой проект на масштабируемой платформе, где первая доза бесплатно и кроме этого специально для читателей habra была выделена большая партия приглашений, чтобы получить один — напишите в приват (ваш email не требуется).

      P. S.
      Я не являюсь членом команды разрабатывающей описываемый сервис, но имею в наличии пакет приглашений.

      image

      Читать дальше →
    • Непрерывная интеграция и TeamCity

        Непрерывная интеграция (англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.

        imageВ этом топике мы в общих чертах рассмотрим процесс реализации непрерывной интеграции на примере TeamCity Enterprise 6.0 EAP (build 15400) и обратим внимание на применении инструментов рассмотренных в прошлой теме: Обеспечение качества программного продукта.
        Читать дальше →
      • Обеспечение качества программного продукта

          Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
          Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
          Читать дальше →
        • Pear Channel @ ( Google Code || SourceForge )

          • Перевод
          imagePEAR (акроним от английских слов PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом. В стандартную поставку PHP входит система управления классами PEAR, которая позволяет легко скачивать и обновлять их. Чтобы класс вошёл в PEAR он должен соответствовать очень жёстким правилам. Например, без особой необходимости нельзя создавать класс с такой же задачей, как у уже созданного. В рамках PEAR был создан специальный стиль оформления PHP-кода, которого должны придерживаться все классы в библиотеке. Этот стиль стал наиболее распространённым стандартом стиля PHP-кода в интернете. На английском языке «pear» означает «груша», которая и является логотипом проекта.

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

          Обновлено: В настоящее время найден недавно появившийся баг не позволяющий использовать сторонние PEAR каналы привычным набором действий, но установка пакетов несмотря на это, возможна, который предположительно будет исправлен на ближайших выходных. Вот вариант установки пакета «напрямую», на примере неофициального канала Smarty:
          pear install http://pear-smarty.googlecode.com/svn/tags/Smarty/Smarty-2.6.24.tgz
          Читать дальше →
        • Одноврéменно || Одновремéнно

          • Перевод
          image

          Введение


          ZendX_Console_Process_Unix позволяет разработчикам создавать объекты под видом процессов, и таким образом параллельно выполнять несколько задач. Из-за особенностей реализации на текущий момент эта возможность доступна только на *nix системах, таких как Linux, Solaris, Mac / OSX и другие в CLI или CGI режиме. Кроме того для работы этого компонента необходимы следующие модули: Shared Memory, Process Control и POSIX. Если одно из требований не выполняется, то будет брошено исключение.

          Основы использования ZendX_Console_Process_Unix


          ZendX_Console_Process_Unix это абстрактный класс, который должен быть расширен пользователем. В нем находится единственный абстрактный метод _run(), который должен описывать реализуемый алгоритм обработки тех или иных данных. Так же в классе определенны методы для проверки состояния процесса и обмена переменными между основным и дочерними процессами.

          Метод _run(), а так же каждый метод вызванный внутри него будет выполняться в отдельном процессе. Любой другой метод, вызванный в вашем приложении будет выполняться в родительском процессе.

          Методы setVariable () и getVariable () могут быть использованы для передачи переменных между родительским и дочерними процессами. Для наблюдения за статусом дочернего процесса следует вызывать внутри него метод _setAlive () через короткие промежутки времени, таким образом родительский процесс сможет получить информацию о состоянии дочернего процесса посредством вызова метода getLastAlive (). Чтобы получить PID дочернего процесса, родитель может вызвать getPid().
          Читать дальше →
        • phpUnderControl 0.5.0

          • Перевод
          phpUnderControl нацелен упростить интеграцию CruiseControl и PHP сделав ее как можно проще. Он объединяет лучшие инструменты в сочетании с простой установкой. Так же позволяет просматривать отчеты от РНРunit, PHP_CodeSniffer и PHPDocumentor. ©

          Если ваш опыт работы с PHP менее года или же если вы при отладке программ используете var_dump() / printr() и считаете что это единственно верный вариант — проходите мимо, все оскорбленные могут смело идти прямо в профиль и вымещать злобу на карме. Если вы действительно хотите узнать что это такое и для чего это нужно, то советую начать с установки phpUnderControl по этой статье желательно не на Windows платформе и параллельного изучения соответствующей статьи. Надеюсь что в ближайшем будущем на PHP будут создаваться более качественные и технологичные разработки благодаря популяризации современных методов разработки ПО.

          После довольно продолжительного времени автор phpUnderControl выпустил очередную версию 0.5.0. Кроме незначительных изменений, исправлений и улучшений в этой версии содержится одна новая важная особенность: PHP_CodeBrowser (обзор на англ.).

          phpUnderControl 0.5.0

          Читать дальше →