• phpDaemon и runkit: новый уровень

      Сегодня я поведаю о новых вкусных плюшках phpDaemon, в том числе предоставленных PHP-модулем runkit.

      Рад сообщить, что стиль кода в phpDaemon адаптирован к предпочтениям большинства земных программистов, а не только суровых инопланетян. Спасибо за это silentroach. Также теперь адекватно воспринимаются замечания по стилю и читабельности кода.

      Разверзнуть врата рая
    • Потратьте 10 минут — обезвредьте СПАМера

        Мне часто приходит русскоязычный ICQ-спам, хотя в информации нет ни единой русской буквы, указана Танзания, и аська — шестизнак из первой тыcячи.
        Сообщение:
        Запрос авторизации:
        Все виды противопожарных работ. Решение вопросов любой сложности в органах гос.пож.надзора. Тел. 34596<wipe>, Щекалёв Игорь Владимирович. г. Екатеринбург

        Только что я позвонил ему по Skype, спросил как относится к ICQ-спаму, и сказал что это некрасиво и т.д. Игорь Владимирович стал неумело бычить и спрашивать кто я такой буду и кого я представляю. После этого я разъяснил, что сам я из Москвы, и мне в *** не впился его гос. пож. надзор. И если он будет продолжать это делать — я запущу программу которая будет ему дозваниваться, слать на… и класть трубку, и так раз за разом. Человек переменился, сказал что это не он, а его компьютерщики наемные, которым он еще и за это деньги платит по результатам рекламы. Я тоже переключил тон на более доброжелательный, и рассказал ему что его обманывают, и эффективность нулевая… посоветовал обратиться в Google и Яндекс за контекстной рекламой. Мило пообщались и попрощались.

        Результат — здорово поднятое настроение, спасенный лемминг, и избавленные от данного СПАМа люди.

        Советую всем повторить скромный мой опыт! Также можно поэкспериментировать с программами по изменению голоса.

        Лозунг примерно такой: «Это операция СПАМ или кипячение! Вы всё еще спамите? Тогда мы звоним к вам!»
      • Официальный хабра-фотохостинг — Habrastorage.org

          Спешим Вас обрадовать, начал свою работу официальный хостинг картинок Хабрахабра — Habrastorage.org. Рекомендуется использовать именно его, поскольку он не накладывает ограничения на кол-во показов картинки. Загрузка главной странички не будет тормозиться медленными картинками, которые выше хабраката.
          Изображения по ширине превышающие 800 px автоматически скукоживаются до этой отметки. Превью делается размером 96x96.
          Также стоит отметить, что вы можете выбрать сразу несколько изображений в меню «Выбора файла» — и они все будут загружены.

          Удачного дня!
        • phpDaemon: хорошие новости

            В Январе была опубликована статья phpDaemon — фреймворк асинхронных приложений. У многих она вызвала смешанные чувства: с одной стороны проект перспективен, с другой – было трудно вникнуть в недокументированный код, и хуже того – позиция автора была, скажем так, не совсем адекватной требованиям сообщества.
            Но позиция автора поменялась, а с ней и многое в проекте.
            Проект переехал на GitHub. Теперь методы и свойства задокументированы. API сделано более прозрачным и легким для работы, исправлено множество недочетов, повышена стабильность, изменена структура директорий.
            Заполняется WIKI. Добавлено много новых возможностей, включая клиент для Postgresql.
            Это принесло свои плоды: phpDaemon твердо обосновался на production-серверах многих проектов, и ведет себя стабильно, что не может не радовать.
            Также появилось время на реализацию общественно полезных модулей и других фич, будем рады дельным предложениям.

            Заранее благодарю за комментарии!
          • phpDaemon — фреймворк асинхронных приложений

              Сегодня речь пойдет о phpDaemon — асинхронном модульном демоне-фреймворке, который берёт на себя обработку I/O (libevent) и другие низкоуровневые задачи, присущие демонам. С его помощью легко писать правильные сетевые приложения с блэкджеком и шлюхами.
              Из коробки идут сервера FastCGI, HTTP, CGI, FlashPolicy, Telnet, WebSocket (!) — да-да тот самый волшебный пендаль новый протокол от Google. И клиенты mysql, memcached, mongodb… И многое другое, полный список под катом. Работать с сетью действительно просто. Программист средней руки может написать, к примеру, IRC-бота за считанные часы.
              В качестве наглядного примера я реализовал вот этот чат на phpDaemon + WebSocket + MongoDB + jQuery. Он наглядно демонстрирует преимущества этой технологии: доставка сообщений мгновенна, накладные расходы при обмене данными минимальны, высока производительность, приложение масштабируется горизонтально. Исходники этого чата (в данный момент 17 кб). Прошу заметить, чат тестировался и работает в Chrome, FF, IE6+, Iron, Safari.
              Читать дальше →
            • Делаем правильную платформу или Как повторить Google

                Введение
                Сегодня я расскажу о проектировании высоко-нагруженных отказоустойчивых систем. Акцент будет поставлен практическую разработку и жареные факты, а не на сухую теорию. После прочтения вы не испугаетесь разработки сервиса с миллиардом пользователей, если у вас будет достаточное количество серверов. Тема весьма обширна, но я постараюсь быть кратким и лаконичным.
                Читать дальше →
              • MongoDB — варим хороший кофе

                  Введение

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

                  Сегодня мы поставим MongoDB, ниже рассмотрим свежеиспеченный ХабраЛоггер и пошпионим за главной страницей Хабра в реальном времени.
                  Читать дальше →
                • MongoDB или как разлюбить SQL

                    Введение

                    Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
                    Читать дальше →