Search
Write a publication
Pull to refresh
0
0
Denis A. @shifty

User

Send message

Как реанимировать ваш PHP-проект с помощью Symfony2 компонентов

Reading time7 min
Views10K
Данный пост является переводом не статьи, как принято, а доклада+презентации, поэтому текст поста достаточно вольный.

Думаю, всем хорошо известно и очевидно, что PHP — один из самых популярных языков программирования, на котором написано множество веб-проектов, начиная с персональных homepage-страниц и заканчивая мастодонтами типа Facebook, Vimeo, WordPress и даже YouPorn.

PHP появился в 1995 году, при этом полноценная поддержка ООП была реализована только в PHP5, который вышел в 2005 году. За это время было написано большое количество кода, как хорошего, так и плохого, а точнее сказать сильно устаревшего и тяжело сопровождаемого.

Многие проекты, как и экосистема PHP в целом, к настоящему моменту стали представлять подобие оживленного городского квартала.

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

Твиттер-боты создают события в международном масштабе

Reading time2 min
Views5K

Когда Greg Marra (на снимке) построил твиттер-бот @Trackgirl в 2008 году, он просто хотел проверить, сможет ли скрипт на Python проникнуть в социальную сеть реальных людей. Он не ожидал, что люди действительно будут беспокоиться за @Trackgirl, слать ей прямые собщения и интересоваться самочувствием после ее вымышленной травмы.

@Trackgirl отслеживала поток твитов с популярными в данный момент хештэгами, и публиковала их от своего имени. Три раза в день она фолловила 5 человек. Получалось, что она связана с правильными людьми, и другие люди стали фолловить ее, считая, что ее копипасты о беге на длинные дистанции исходили от живого человека. Однажды она твитнула о том, что повредила колено… Тысячи людей интересовались самочувствием скрипта и искренне сопереживали боту.
Читать дальше →

5 полезных методов jQuery API, о которых вы могли не знать

Reading time2 min
Views55K
В статье я расскажу о пяти методах jQuery, которые я нашел для себя полезными и о которых, по моим наблюдениям, мало кто знает.

Я с jQuery работаю уже около двух лет, но до недавнего времени не использовал эти методы, так как и без них можно обойтись. Но с ними может быть на много легче.
Читать дальше →

Sypex Geo — быстрое определение города по IP

Reading time3 min
Views117K
В начале года я публиковал статью Определение страны по IP: тестируем скорость алгоритмов, в которой упоминался мой «велосипед» отличающийся высокой скоростью работы. Одним из популярных вопросов стала возможность определения города по IP.

И вот несколько месяцев спустя, проект начинавшийся, как «for fun» перерос в самостоятельный проект.
Открыт отдельный сайт посвященный проекту Sypex Geo, на котором можно скачать свежие версии API и баз данных, а также ознакомиться с документацией.

Для желающих скорее протестировать правильность определения города по IP — вот ссылка на демо-страницу. А под хабракатом, я опишу некоторые технические подробности и приведу результаты небольшого тестирования.
Читать дальше →

Brackets — Open Source IDE для веб-разработки от Adobe

Reading time3 min
Views24K
Очередным редактором HTML, CSS и JavaScript, написанным на HTML, CSS и JavaScript сейчас никого не удивишь. Однако есть несколько причин, по которым стоит обратить внимание на пока ещё совсем зелёный и молодой проект Adobe Brackets. Во-первых, его делает Adobe. Поддержка такой крупной корпорации значит очень много. Во-вторых, Open Source бывает разный. В случае с Brackets это правильный, настоящий Open Source — уровень открытости весьма и весьма высок. Проект был опубликован на Github в начале мая этого года, несмотря на то, что он ещё в совершенно младенческом состоянии. Бэклог проекта тоже открыт для всех — разработка ведётся по методологии scrum спринтами по 2.5 недели. В-третьих — дизайн и архитектура этого IDE заслуживают более подробного рассказа.


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

RIM: Мы создаем качественно новый продукт. И готовы с ним снова завоевать мир

Reading time11 min
Views24K
Генеральный директор и президент компании RIM Торстен Хайнс вышел на сцену BlackBerry World 2012 не только для того, чтобы продемонстрировать элементы новой мобильной платформы RIM, но и показать миру, что компания еще не готова сдаться. RIM ставит все на BlackBerry 10, абсолютно новую платформу. «Я здесь потому, что я верю в ту уникальную ценность, которую BlackBerry ежедневно предоставляет нашим клиентам», — сказал тогда Хайнс аудитории. Он рассказал о полном перезапуске мобильной платформы RIM, которая «перейдет на следующий уровень и предложит нечто уникальное». Изменения ОС настолько разительны, что у нового BlackBerry 10 Dev Alpha, показанного компанией, нет физической клавиатуры. Они всегда были визитной карточкой платформы. Если их не будет, что заставит фанатов платформы пользоваться устройствами от RIM? И что убедит пользователей других платформ перейти на телефоны BlackBerry? Компания не исключила физические клавиатуры из свои планов полностью, но когда топовое устройство для разработчиков выходит без клавиатуры, становится понятно, что грядут изменения.

Безусловно, потенциал у новой платформы огромный. И если компании RIM удастся завлечь разработчиков, она, возможно, сумеет вернуться на рынок. По крайней мере, в плане инновационных технологий.

Мы побеседовали с Андреем Киселевым, главой российского представительства Research In Motion, о будущем платформы и тех усилиях, которые вкладывает RIM в привлечение разработчиков на новую платформу.

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

Плакат «Современные веб-стандарты»

Reading time1 min
Views44K


Готовясь к конференции DevCon'12 и, помня о Тостере по JavaScript, который проходил буквально на следующий день, мы решили, что было бы очень здорово сделать что-то полезное информационное для веб-разработчиков.

Как результат, родился плакат по современным веб-стандартам, вернее, как это принято в мире веб-разработки, черновик плаката, в который мы включили, как нововведения в самой спецификации HTML5:
Читать дальше →

Пишем простой плагин для Sublime Text 2

Reading time3 min
Views33K
Введение

Странно, но поискав на Хабре упоминания текстового редактора Sublime Text 2 я почти ничего не нашел. Спешу исправить положение и рассказать хабраюзерам об этом прекрасном инструменте. Вначале очень коротко расскажу о том чем же он так хорош, потом напишем простой но полезный плагин.
Читать дальше →

Встречайте WebMatrix 2 RC: поддержка Node.js, Jade, EJS, LESS, CoffeeScript и многое другое

Reading time6 min
Views19K
После нескольких месяцев активной разработки, команда WebMatrix рада представить новую версию WebMatrix 2 Release Candidate. WebMatrix 2 включает в себя очень много новых функций, но сегодня я предлагаю вам ознакомиться с обзором той работы, которая была проделана для поддержки разработки приложений Node.js в WebMatrix.



Для того чтобы загрузить WebMatrix 2 достаточно перейти по следующей ссылке. Подробнее о нововведениях в WebMatrix 2 предыдущей предварительной версии можно прочитать здесь.
Читать дальше →

Установка Linux на дешёвые ARM-нетбуки

Reading time1 min
Views47K


Сделать дешёвый компьютер можно и без Raspberry Pi. Один из вариантов — поставить дистрибутив Linux на какой-нибудь ARM-нетбук под Android. Например, китайский нетбук WM8650 (производство WonderMedia Technologies) стоит примерно 50 евро. Это немного дороже Raspberry Pi, и у него нет хорошего GPU, зато есть монитор, корпус, аккумулятор, тачпад и т.д.

Один из линуксоидов опубликовал подробное описание, как поставить на нетбук WM8650 операционную систему Arch Linux и какие проблемы возникают при этом.
Читать дальше →

Creative D100 — мобильная акустическая система

Reading time2 min
Views32K
Что требуется для хорошего пикника? Шашлык (рыбный, мясной, овощной), веселая компания, отличное настроение, хорошая погода и классная музыка. Когда собрание происходит на даче — проблем немного, розетка рядом, любая система будет радовать качественным звуком. Автомобильные выезды же сопряжены с опасностью посадить аккумулятор. Как решить ребус? Беспроводная автономная акустика — наш выбор для пикника. Creative D100 давно на рынке, но ко мне в руки колонка попала только сейчас.


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

CoffeeScript: Классы

Reading time16 min
Views22K
CoffeeScript: Classes

В ECMAScript пока отсутствует понятие «класс», в классическом понимании этого термина, однако, в CoffeeScript такое понятие есть, поэтому сегодня мы рассмотрим этот вопрос очень подробно.


Содержание:

1. Основные понятия
2. Члены класса
   2.1. Метод constructor
   2.2. Открытые члены класса
   2.3. Закрытые члены класса
   2.4. Защищенные члены класса
   2.5. Статические члены класса
   2.6. Оператор => (fat arrow)
3. Наследование
4. Дополнительная литература

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

Веб-разработчик и дизайнер Крис Койер собрал за 24 часа 25 000 $ на Kickstarter

Reading time2 min
Views8.2K
Понятно, что все уже устали от новостей про то, как очередная команда разработчиков собрала кучу денег на разработку римейка очередной классической игры. Сейчас речь пойдет немножко о другом — об относительно известной звезде фронтенда, веб-разработчике, CSS-евангелисте и авторе популярного сайта CSS-tricks.com Крисе Койере. Он решил собрать деньги на редизайн своего детища, причем сам процесс он хочет записать в виде обучающих скринкастов и предоставить их всем, кто поддержит его.

image

Буквально вчера он выложил на kickstarter.com проект следующего содержания (далее — перевод):
Читать дальше →

Оптимизация связки Nginx, Apache, PHP, MySql

Reading time9 min
Views80K
Неожиданно поступила задача разобраться почему определенный сайт не работает столь быстро сколь хочется. В основе его CakePHP, в связке с Apache и MySQL. В статье описание процесса поиска узких мест и приведение в порядок на столько, на сколько это возможно.

Название сайта светить не буду — думаю, программисты сами узнают. Скажу лишь, что это приложение для социальной сети нагрузкой 70-150 тысяч посетителей в обычное время. Все усложняется тем, что периодически производится рекламная рассылка, которая привлекает около 200-300 тысяч посетителей за пару часов.

Итак, под катом описание всей борьбы на протяжении 4 дней.
Читать дальше →

Файервол для Linux с простым интерфейсом

Reading time4 min
Views22K
Файервол представляет из себя bash-скрипт, который интегрирует с помощью соответствующих пакетов следующие функции:
  1. Файервол внешний и внутренний (пакет iptables).
  2. Учёт трафика внешнего и внутреннего (пакет iptables).
  3. Прокси-сервер для локальных сетей (пакет Squid).
  4. Контент-фильтр для локальных сетей (пакет DansGuardian).
  5. DNS-сервер для локальных сетей (пакет BIND).

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

Composer — менеджер зависимостей для PHP

Reading time10 min
Views405K
Composer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Кратко, как это работает:
  1. У вас есть проект, который зависит от нескольких библиотек.
  2. Некоторые из этих библиотек зависят от других библиотек.
  3. Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  4. Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

При создании Composer авторы черпали идеи и вдохновение из аналогичных проектов: npm для Node.js и Bundler для Ruby.

Изначально он был спроектирован и разработан двумя людьми Nils Adermann и Jordi Boggiano, сейчас в проекте участвует более двадцати контрибьюторов, Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на github.

Первые коммиты были сделаны апреле 2011 года и на сегодняшний день Composer находится в стадии «alpha3». Однако, он уже достаточно стабилен и используется многими популярными PHP проектами (например, Symfony 2). Список проектов использующих Composer можно посмотреть на сайте packagist.org — это официальный репозиторий Composer пакетов. Кстати, на недавней конференции Devconf 2012 разработчик фреймворка Yii в своём докладе упомянул, что Yii2 скорее всего тоже будет использовать Composer.

В этой статье я кратко опишу основные возможности Composer и мы попробуем создать демонстрационный проект использующий Composer для загрузки необходимых библиотек. Все примеры будут доступны на github.com и bitbucket.org.

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

Статический анализ PHP-кода с помощью HipHop

Reading time5 min
Views8.5K
Неожиданно не нашёл информации на русском языке о такой замечательной возможности HipHop, как статический анализ кода для PHP, а потому встречайте обзор, на идею которого меня натолкнула презентация Расмуса на DevConf.

А как это вообще?

Статический анализ кода — вещь весьма полезная, ведь иначе ошибку мы не увидим, пока функция, её содержащая, не будет вызвана. Как же это делает HipHop? Он транслирует PHP в C++!

Таким образом мы получаем возможность статически проанализировать C++ код, что, в общем, давно никого не удивляет, а потом применить полученную информацию к PHP (естественно автоматически).

Итак, начнём.
Читать дальше →

Orange San Diego уже в Европе

Reading time4 min
Views28K
Orange San Diego уже в продаже.

image

C 6ого июня в Европе уже можно приобрести Orange San Diego. Телефон пока доступен в Великобритании и Франции. Это телефон на базе платформы x86 32-bit — Intel Medfield.

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

Бюджетные новинки Sony: Xperia miro и Xperia tipo

Reading time2 min
Views40K
Вчера в Лондоне Sony Mobile Communications анонсировала две новых бюджетных модели Xperia: Xperia miro and Xperia tipo. Xperia miro — 3,5"-дюймовый молодёжный аппарат, Xperia tipo компактнее — 3,2" экран — и предназначен для тех, кто выбирает свой первый смартфон. Также будет доступна двухсимочная версия Xperia tipo — Xperia tipo dual.


На фото — Xperia tipo
Читать дальше →

Opera TV — завтра уже наступило

Reading time3 min
Views66K
image

Интернет — штука заразная: как только появляется возможность проникнуть на очередное устройство, опрометчиво решившее выйти из офлайна в мир, Веб тут же проникает в доверчивую «железку», неся с собой необъятный океан информации. Совсем недавно по историческим меркам всемирная сеть поглотила рынок десктопов и ноутбуков, сегодня ещё более бурными темпами разрастается мобильный интернет, а что будет завтра? Нет, холодильники, подключенные через сеть к супермаркетам и кофеварки со встроенным Wi-Fi — это всё понятно, но до массового распространения этим экспериментальным разработкам ещё далеко. Самый ближайший плацдарм находится чуть ближе на временной шкале, и он уже активно вливается в общую сеть. Телевизионные устройства — вот то непаханое поле, которое уже сегодня ускоренными темпами осваивает Интернет.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity