• Рельсы сошли с рельс: Почему я переписываю Archaeopteryx на CoffeeScript

    • Translation
    Вы бывали на вечеринках, где друзья с работы и друзья из колледжа не разговаривают?

    Я запостил видео на Tumblr, которое бы никогда не запостил на Facebook:


    Это гитарист, отжигающий под «Bangarang» Skrillex'а.
    Эй, при чём тут вообще Рельсы?!
  • Подстановка значений в Zend_Config

      Когда в конфигурационном файле возникает необходимость использовать подстановку значений, официальная документация недвузначно намекает на применение, ИМХО, не самой удачной практики — использование констант в INI-файлах, например так:

      [production]
      includePaths.library = APPLICATION_PATH "/../library"
      bootstrap.path = APPLICATION_PATH "/Bootstrap.php"


      Я написал небольшой класс, который наследует и расширяет функциональность Zend_Config, позволяя использовать такой синтаксис:

      [production]
      path.application        = "${path.root}/application"
      path.configs            = "${path.application}/configs"
      includePaths.library    = "${path.root}/library"

      Читать дальше →
    • Наследование конфигов в Zend_Config

        Для тех, кому лень читать длинное предисловие: перемотайте до последней части «Простая идея, которая пришла мне в голову».
        Я хотел поставить якорь, но хабрапарсер не разрешает :(

        Zend_Config и секции


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

        На первый взгляд, такая идея кажется разумной, но я столкнулся с некоторыми ограничениями этого подхода…
        Читать дальше →
      • Нелегальное число

          09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

          Только что вы стали свидетелями того, как я нарушил американский закон DMCA.
          Если бы Хабрахабр и/или я находились в юрисдикции США, компания AACS LA могла бы на полном серьёзе подать на меня в суд. Вряд ли бы им удалось выиграть, но… смысл ведь не в этом.
          Читать дальше →
        • Как Интернет спасет людей от копирайта

            В Америке и Европе сейчас активно обсуждаются юридические, экономические и моральные аспекты пиратства.
            Приятно, что до Хабра эта волна тоже докатилась.
            Вот только накрыла она его немного не с той стороны, с которой я ожидал.

            Я решил озвучить альтернативную точку зрения на то, как Интернет изменяет наши взгляды на явление пиратства и копирайта. Но я постараюсь выйти за пределы обсуждения банального скачивания фильмов и музыки, и поговорить об информации вообще.
            Читать дальше →
          • Хватит изобретать велосипеды!

              Здравствуйте, уважаемые хабрадевелоперы.

              С вашего позволения я немного пофилософствую на тему развития нас, как сообщества девелоперов, использующих замечательный язык PHP. Заранее скажу, что многие могут не поддержать мою точку зрения и я буду рад обсудить это в комментариях. Итак, приступим…

              Немного истории


              Так исторически сложилось, что PHP считается простым языком.
              Изначально он создавался для быстрого написания небольших динамических веб-приложений низкоквалифицированным (читай — неопытным и начинающим) веб-разработчиком.
              Аббревиатура PHP в далеком 1994 году означала «Personal HomePage».

              С тех пор прошло 14 лет, движок PHP переписывался с нуля два раза (если мне не изменяет память), обрастая «взрослой» функциональностью и разбивая стереотипы своей ограниченности проектами уровня Фейсбука и Википедии.
              Стоит подождать ещё самую малость и выйдет PHP 5.3 с долгожданными неймспейсами, незаслуженно игнорируемым Late Static Binding и некоторыми добавками синтаксического сахара.
              Читать дальше →
            • nginx, memcached и SSI

                Моя первая статья, не судите строго...

                Приветствую вас, уважаемые хабрадевелоперы!

                Многие из вас знают о прекрасном легковесном веб-сервере nginx.
                Некоторые также знают, что он умеет работать с memcached.
                Но лишь немногие в курсе, при чём здесь SSI и как его можно использовать в связке с nginx и memcached.

                Как известно, новое — это хорошо забытое старое. Каждый названный инструмент и технология вам наверняка известны. Я же хочу рассказать о том, как и зачем свалить всё это в одну кучу :)
                Читать дальше →