Как стать автором
Обновить
9
0
Борис @xdevel

Пользователь

Отправить сообщение

Smarty против XSLT

Время на прочтение5 мин
Количество просмотров6.3K
Очень распространено заблуждение о том, что xslt — это сплошные тормоза, а smarty — наше всё. Отставим в сторону лаконичность синтаксиса смарти и удобство поддержки xslt, а устремим наш пристальный взор именно на скорость их работы.

Рисовать мы будем нечто чуть более сложное чем «привет мир» — дерево. Это не даст нам использовать копипасту и заставит повторно использовать код для вывода узлов. Количество их пусть будет небольшим — 100 штук.

Поехали!
Всего голосов 94: ↑50 и ↓44+6
Комментарии323

Поддержка MySQL в Node.js: node-mysql-libmysqlclient

Время на прочтение4 мин
Количество просмотров16K
Я довольно долго откладывал этот анонс, однако сейчас настало его время.

Встречайте: node-mysql-libmysqlclient v0.0.7, коннектор к MySQL для Node.js, поддерживающий синхронное и асинхронное выполнение запросов к БД и имеющий API, близкое к API аналогичных коннекторов для PHP/Perl/Ruby etc.

Читать об истории создания и возможностях последней версии коннектора.
Всего голосов 44: ↑41 и ↓3+38
Комментарии36

Наш опыт участия в 10K Apart или как ужать 40 Кбайт кода в 10

Время на прочтение6 мин
Количество просмотров8.6K
Не так давно на Хабре уже писали о контесте 10К Apart — соревновании на лучшее веб-приложение общим объемом до 10К, созданное с использованием только клиентских технологий: (HTML, CSS, Javascript, SVG и т.д).

image

Я хочу представить вашему внимаю нашу работу для этого контеста, которую мы с private_face делали по вечерам в течение двух недель: адвенчуру в стиле dungeon-crawler под названием «Fontanero» (исп. водопроводчик).
Читать дальше →
Всего голосов 266: ↑264 и ↓2+262
Комментарии123

Создание игры на Javascript Canvas

Время на прочтение13 мин
Количество просмотров70K

Здравствуйте! Я предлагаю вам со мной создать небольшую казуальную игру на нескольких человек за одним компьютером на Javascript Canvas.
В статье я пошагово разобрала процесс создания такой игры при помощи MooTools и LibCanvas, останавливаясь на каждом мелком действии, объясняя причины и логику добавления нового и рефакторинга существующего кода.
Читать дальше →
Всего голосов 122: ↑111 и ↓11+100
Комментарии76

Системы управления проектами. Ищем альтернативы Basecamp

Время на прочтение8 мин
Количество просмотров111K
imageНа написание поста меня сподвигла найденная на просторах хабра ссылочка на сайт с альтернативами Basecamp. Уверен многие уже заходили и смотрели предлагаемые альтернативы. Я же решил просмотреть их все. По результатам просмотра было выбрано 4 (+ 1 бонусная) системы управления проектами, которые можно назвать реальными альтернативами Basecamp. Из них три являются чуть менее, чем полностью неизвестными на просторах хабра (поиск дает практически нулевой результат), что дает мне надежду на то, что данный топик сообщит вам что-то новое. Критерии выбора и краткий обзор систем под катом (осторожно скриншотный трафик ~0.5 Mb).

Читать дальше →
Всего голосов 98: ↑91 и ↓7+84
Комментарии157

Кэширование данных, возможно последняя вещь которую Вам стоит использовать

Время на прочтение3 мин
Количество просмотров14K
Недавно у меня был достаточно горячий конфликт с популярным PHP пакетом для электронной коммерции. В результате мне захотелось рассказать об одной распространенной ошибке в архитектуре веб приложений.

В чем же эта ошибка?
Читать дальше →
Всего голосов 74: ↑58 и ↓16+42
Комментарии58

Переход к PHP 5.3

Время на прочтение3 мин
Количество просмотров6.7K
Некоторые из тех, кто разрабатывает приложения на PHP уже скачали и начали тестировать новые возможности самого крупного изменения в языке за последние 7 лет, но большую часть разработчиков интересуют отнюдь не новые фишки, которые можно будет применить в грядущих разработках, а изменения которые повлияют на работу уже написанных приложений.

Обновленно:
  • В конце статьи есть так же некоторая информация о том как можно отметить сие славное событие в Мюнхене.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии77

Динамические поддомены с использованием nginx+apache

Время на прочтение3 мин
Количество просмотров28K
Этот топик — очередной топик про реализацию динамических поддоменов на сайте, коих много в интернете и даже есть пара топиков на хабре.

Проблема в том, что этот вопрос везде освещается только с точки зрения перенаправления с поддомена в папку и вся динамичность поддомена заключается в том, что ты создал папку — поддомен у тебя заработал.

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

Например, у нас есть готовый сайт, на котором работают профили по такому url: www.example.com/users/username, и есть всякие дополнительные возможности (например www.example.com/users/username/contact и другие страницы, связанные с этим юзером).

И мы теперь хотим вынести все, что связано с юзером, на поддомен, например username.example.com, username.example.com/contact и т.д.)

Решения, которые были найдены в интернете, меня не удовлетворили по 2 причинам:
  • Не нашел решения как заставить ее работать, сохранив работоспособность домена www.example.com
  • Все найденные решения подходят только для перенаправления в папку и не работают если дальше должны работать какие то правила


На нашем сайте стоит nginx над апачем (как и на многих других), поэтому пришлось изобретать велосипед самому, используя эту связку (nginx+ apache, благо сейчас почти на всех крупных сайтах стоит проксирующий nginx над апачем)

Читать дальше →
Всего голосов 68: ↑58 и ↓10+48
Комментарии50

Версионность и история данных

Время на прочтение5 мин
Количество просмотров127K
При разработке баз данных зачастую требуется обеспечить поддержку версионности и хранения истории объектов. Например, у работника может изменяться должность, у должности в свою очередь может меняться оклад — в многомерном моделировании это называется Slowly changing dimensions(далее SCD) — редко изменяющиеся измерения, то есть измерения, не ключевые атрибуты которых имеют тенденцию со временем изменяться. Всего существует 6 основных типов(методов) SCD, которые определяют как история изменений может быть отражена в модели.

Подробнее...
Всего голосов 64: ↑62 и ↓2+60
Комментарии50

Требования к html-верстке

Время на прочтение6 мин
Количество просмотров76K

1. Верстка, аутсорсинг и технические задания


Верстка — относительно независимый этап веб-разработки и, к примеру, в маленьких веб-студиях часто — это первый кандидат на аутсорсинг в условиях ограниченных трудовых ресурсов.
Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в негативном смысле.

Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому нужны детальные технические задания по верстке.
Читать дальше →
Всего голосов 228: ↑204 и ↓24+180
Комментарии296

Лента комиксов

Время на прочтение1 мин
Количество просмотров831
Хочу представить вашему вниманию свой сайт:



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

В основе работы сайта лежит ASP.NET, что довольно большая редкость для такого рода проектов. Для создания комиксов используется Silverlight, который, по-моему скромному мнению, самая подходящая для этого технология. Можно очень просто и быстро изменять размеры изображений, их пропорции, применять к ним трансформации (сжатие, зеркальность, повороты).

И да. Данный сайт не очень вписывается в формат Хабра (скорее развлекательный ресурс, а не, например, инновационный сервис), но, тем не менее, надеюсь, что сама идея, ее реализация, вызовет определенный интерес.

UPD Адрес сайта: comixme.net
Всего голосов 118: ↑78 и ↓40+38
Комментарии79

Выводим прогноз погоды на дисплей

Время на прочтение2 мин
Количество просмотров20K
image

Добрый день всем!


Раньше, чтобы посмотреть прогноз погоды, я обычно заходил на разные метеорологические сайты, потом с приходом разнообразных виджетов я мог узнать погоду, просто посмотрев на рабочий стол. В данный момент я решил изготовить небольшой девайс с экраном, на который может выводиться прогноз погоды с какого либо сайта. Думаю, сейчас наиболее актуально быть в курсе изменений погоды. Потому я решил опубликовать описание устройства на хабре, может кто-то захочет повторить эту конструкцию.
Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии83

HTML5 Audio и Game Development: баги браузеров, проблемы и их решения, идеи

Время на прочтение6 мин
Количество просмотров11K
В топике я расскажу о нюансах использования тега <audio> в разных браузерах при разработке игр, о проблемах, с которыми я столкнулся и о том, как их решить. Объяснение будет идти паралельно с написанием обертки для удобной работы.
Читать дальше →
Всего голосов 74: ↑64 и ↓10+54
Комментарии85

Популярные продукты для электронной коммерции с открытым исходным кодом

Время на прочтение4 мин
Количество просмотров30K
imageНас часто просят порекомендовать продукты eCommerce, которые могут интегрироваться с CMS или использоваться совместно с к.л. CMS. Ниже опубликован список ПО с открытым исходным кодом, пригодного для этих целей.
Примечание: русскоязычных пользователей, прежде всего, интересует наличие локализованных версий, поддержка отечественных платёжных систем и русское сообщество. В комментариях по тексту, выделенных курсивом, по-возможности указана эта информация.
Чертова дюжина движков под катом
Всего голосов 70: ↑54 и ↓16+38
Комментарии79

Соединяем филиалы в одну сеть. Снижаем затраты на интернет

Время на прочтение7 мин
Количество просмотров50K
logo

Приветствую тебя хабражитель, не так давно передо мною встала задача соединить в единую сеть филиалы одной крупкой компании, разбросанные по Сибири. Главная проблема была в том, что OpenVPN надо было заставить работать поверх нестабильного PPPoE попутно пустив весь трафик через OpenVPN
Далее о том как я с этим справился и получил profit
Всего голосов 101: ↑88 и ↓13+75
Комментарии84

Уязвимость связки PHP+nginx с кривым конфигом

Время на прочтение1 мин
Количество просмотров61K

Summary


Announced: 2010-05-20
Credits: 80sec
Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




Background


Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
}

Читать дальше →
Всего голосов 163: ↑146 и ↓17+129
Комментарии109

Краткий обзор бесплатных XML редакторов

Время на прочтение2 мин
Количество просмотров348K
Хороший XML редактор бережет нервы разработчика и делает процесс работы с XML легким и приятным. Вот так я подумал, когда начал пользоваться редактором Altova XMLSpy. Эта программа, безусловно, стоит своих денег.

Но руководство поставило задачу найти бесплатный аналог. Результатом поиска краткий обзор бесплатных XML редакторов.

Читать дальше →
Всего голосов 51: ↑39 и ↓12+27
Комментарии48

Целебное зелье для IE5+ или IE7.js

Время на прочтение2 мин
Количество просмотров7.1K
Разбирая код очередного проекта внутри тега head наткнулся на интересный код:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script>
<![endif]-->

Только одно слово «IE9» меня пустило в замешательство. Первое что пришло мне в голову — это то, что при помощи этого .js кода браузеры под печальным клеймом Internet Explorer можно заставить работать используя свойства многообещающего IE9. Больше всего я ожидал что будут доступны свойства CSS3.0, но не тут-то было!
Читать дальше →
Всего голосов 159: ↑125 и ↓34+91
Комментарии73

Сравнительный обзор бесплатных антивирусов

Время на прочтение8 мин
Количество просмотров435K


Решил я после обзора одного единственного антивируса AVG Antivirus 9.0 от хабравчанина Courteous написать свой и пройтись по бесплатным решениям в этой области.

Оценка антивирусов проводилась по трём параметрам — юзабилити (тут с моими оценками хабрасообщество может не согласиться), потребление ресурсов и надёжность (надёжность я оценивал по знаменитому архиву из 3732 вирусов).

A-Squared Free




Основные особенности a-squared Free 4.5
• Удаляет трояны, программы-шпионы (Spyware), рекламное ПО (Adware), интернет-червей, клавиатурных шпионов (Keyloggers), руткиты (Rootkits), звонильщики (Dialers) и другие угрозы.
• Прост в использовании и полностью бесплатен
• Более 4 млн. пользователей по всему миру

Для обладателей не слишком шустрого или лимитированного интернета минусом может являться факт начального обновления на 33мб.
Осторожно, под катом много скриншотов!
Читать дальше →
Всего голосов 275: ↑215 и ↓60+155
Комментарии319

Асинхронность: почему это никак не сделают правильно?

Время на прочтение7 мин
Количество просмотров6.8K
Асинхронные программы чертовски неудобно писать. Настолько неудобно, что даже в node.js, заявленном как «у нас все правильное-асинхронное», понадобавляли таки синхронных аналогов асинхронных функций. Что уж говорить про питоновский синтаксис, не дающий объявить лямбду со сколь-либо сложным кодом внутри…

Забавно, что красивое решение проблемы не требует ничего экстраординарного, но почему-то до сих пор не реализовано.
Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии78

Информация

В рейтинге
Не участвует
Откуда
Пятигорск, Ставропольский край, Россия
Дата рождения
Зарегистрирован
Активность