Как стать автором
Обновить
1
0
Кирилл @kirilloid

Программист

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

Трансформация и перевод на другие языки web-сайтов на лету при помощи Nginx

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




В моем первом посте я описал применение Apache Traffic Server в качестве кеширующего reverse-proxy. В отзывах меня спрашивали почему не nginx? Поскольку в ATS все равно не нашлось удобного способа трансформировать контент сайта, то я решил изучить возможности Nginx. Для решения задачи пришлось углубится в дебри документации, и вот что получилось…
Читать дальше →
Всего голосов 64: ↑56 и ↓8+48
Комментарии9

jCanvaScript: JavaScript библиотека для работы с html5 canvas

Время на прочтение3 мин
Количество просмотров11K
imageВсем доброго!
jCanvaScript — это, как видно из «картинки для привлечения внимания», JavaScript-framework. Не трудно, я думаю, догадаться из названия топика, что предназначение библиотеки — работа с элементом HTML5 canvas. Под катом всех заинтересовавшихся ждет небольшой рассказ о библиотеке и о том, как она создавалась.
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии78

jQuery Deferred Object (подробное описание)

Время на прочтение7 мин
Количество просмотров121K
31 января вышел релиз jQuery 1.5, одним из ключевых нововведений которого стал инструмент Deferred Object. Именно о нём я и хочу рассказать подробнее в этой статье.

Эта новая функциональность библиотеки направлена на упрощение работы с отложенными (deferred) вызовами обработчиков (callbacks). Deferred Object, аналогично объекту jQuery, «цепочный» (chainable), но имеет свой набор методов. Deferred Object способен регистрировать множество обработчиков в очередь, вызывать зарегистрированные в очереди обработчики и переключать состояние на «завершено» или «ошибка» для синхронных или асинхронных функций.
Подробности и примеры далее
Всего голосов 98: ↑95 и ↓3+92
Комментарии16

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Время на прочтение12 мин
Количество просмотров117K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

Как же автору игры, Notch'у, удалось добиться подобного сходства его случайных «миров» с земными просторами? В этом топике я как раз и рассмотрю один из способов построить искусственный ландшафт такого рода (и вскользь упомяну пару других способов), а также расскажу о моем небольшом усовершенствовании этого алгоритма, позволяющем значительно увеличивать размеры ландшафта без заметных потерь в производительности.

Внутри вас ждет несколько схем и красивых картинок, довольно много букв и ссылка на пример реализации алгоритма.

Читать дальше →
Всего голосов 148: ↑147 и ↓1+146
Комментарии58

Подход к оптимизации приложения на примере популярной CMS

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

Статья может помочь вашему живому проекту не тормозить(или тормозить меньше), либо стать отправной точкой для исследования стороннего продукта.
Например, у вас стоит задача понять что же происходит внутри «Самописная система 3.14» и, опять же, помочь ей не есть по 100 мегабайт RAM на одного клиента.
Читать дальше →
Всего голосов 54: ↑36 и ↓18+18
Комментарии70

MooTools 1.3

Время на прочтение4 мин
Количество просмотров2.6K
image
image
Вот и вышел долгожданный релиз MooTools 1.3. Расскажу немного об изменениях в самом фреймворке, и в его «окружении». Между версиями 1.2 и 1.3 довольно много различий, но обо всем по порядку.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии32

Интеграция сайта с Facebook через OpenGraph

Время на прочтение4 мин
Количество просмотров12K
Facebook OpenGraphВыменивая у агрегаторов контента (поисковых машин, социальных сетей и прочих сервисов) «продовольствие» на пользовательский трафик, издатель постоянно задается вопросом: не станет ли агрегатор основным источником информации для моего пользователя? Потерять свою идентичность в общей каше медиа-ресурсов, отдать результаты производства бесплатно и ничего не получить взамен — риски, которые зачастую сдерживают медиа-менеджеров в решении о максимальной публичности и открытости.

В этом смысле анонсированная Facebook поддержка OpenGraph кажется несколько провокационной. Технология позволяет сайтам экспортировать в социальную сеть профили всех объектов, которые они освещают – персоны, локации, товары, организации, произведения искусства и т.д. Пользователь, подписавшись на любой из этих объектов, сможет получать информационные сообщения в NewsFeed, увидит эти объекты в своих интересах и результатах поиска. Facebook предоставил удивительные возможности, но в то же время заставил серьезно задуматься о дальнейшей судьбе stand-alone media.

Sports.ru оказался первым российским сайтом, который ввязался в эту авантюру =) Какую задачу мы решаем с помощью OpenGraph и с какими проблемами столкнулись — в продолжении статьи об интеграции медийного проекта c социальной сетью.
Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии19

Программирование: индустрия обмана

Время на прочтение4 мин
Количество просмотров3.9K
Как-то пару месяцев назад, на одном хорошем интернет-ресурсе с интеллектуальной музыкой и фильмами, выложили ссылки на фильм «Психиатрия: индустрия смерти / Psychiatry: Industry to Deaths» созданного при участии Церкви Саентологии. Меня откровенно удивило появление такой махровой антинаучной пропаганды и я начал было возмущаться, но в ходе дискуссии в комментариях, с удивлением обнаружил, что большинство местных интеллектуалов (включая модераторов) считает фильм «весьма интересным» и «в большей степени полезным». И даже более того, такие фильмы как: «Великая тайна воды», «Плесень», «The Secret» — там тоже нашли своих интеллектуальных зрителей. И тут я подумал: Должен же быть какой-то предел человеческого легковерия и дремучести?

А что если специально снять фильм такого же плана, но с разоблачением? Ударно начать, сказать «всю страшную правду», потихоньку довести до абсурда и уже в титрах, всей съёмочной группой впрямую признаться в надувательстве и посмеяться над легковерными, а? Да и снять такой фильм просто — там только лишь интервью и видеомонтаж. Первая и единственная тема, пришедшая в голову — программирование и разработка ПО. А сам фильм можно назвать «Программирование: индустрия обмана»! (Конечно очень хотелось бы назвать «Компьютеры едят людей» или «Сортировка массивов вызывает псориаз мозга», но маловато фактов. Их даже меньше чем ни одного.)
Читать дальше →
Всего голосов 401: ↑343 и ↓58+285
Комментарии198

Функции наносят ответный удар

Время на прочтение5 мин
Количество просмотров2.3K
В этом топике хочу рассказать о подходе, который эксплуатирую уже несколько лет.
Сразу предупрежу, если Вы истовый фанат ООП, огромных конструкций и монструозных диаграмм классов, не читайте.

Вкратце, суть концепции — это перенос части unix way в программирование на PHP.
А конкретно, концепции простых программ, выполняющих одну функцию.
Читать дальше →
Всего голосов 130: ↑89 и ↓41+48
Комментарии107

Велосипедим, или Django-like Javascript Templates

Время на прочтение1 мин
Количество просмотров4.1K
Одним из компонентов нашего проекта Shopium.ua является административный интерфейс, который строится как полностью выполняющийся на клиенте rich internet application.

Для отрисовки данных приходящих с сервера в HTML нам часто нужен Javascript-шаблонизатор.

Различных шаблонизаторов для Javascript существует предостаточно. Даже в библиотеке ExtJS которую мы используем для своего проекта их целых два, однако их синтаксис и возможности каждого далеки от идеала.

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

И сформировали к нему такие требования:
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии19

Динамические поддомены с использованием 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

Ещё 10 уловок для защиты Wordpress'a

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

На сегодняшний день Wordpress как никогда популярен. Блоги, мини-сайты, а то и целые порталы — всё это строится на основе такого удобного движка-конструктора как Wordpress. Но за удобностью и лёгкостью освоения кроются, прежде всего, вопросы, связанные с безопасностью вашего сайта. Большая распространённость — большее внимание злоумышленников.

В этой статье описаны десять простых уловок, которые позволят сделать ваш сайт на Wordpress’e ещё более защищённым и позволят спокойнее спать по ночам.
Читать дальше →
Всего голосов 95: ↑84 и ↓11+73
Комментарии73

Открытие web-standards.ru

Время на прочтение2 мин
Количество просмотров716
Веб-стандарты
Сегодня у нас хорошие новости: как и обещали, мы открываем наш флагманский сайт Веб-стандарты. Это ресурс со статьями, новостями и анонсами событий Web Standards Days, созданный разработчиками для разработчиков.
Читать дальше →
Всего голосов 110: ↑93 и ↓17+76
Комментарии215

Обеспечение качества программного продукта

Время на прочтение4 мин
Количество просмотров11K
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
Читать дальше →
Всего голосов 127: ↑115 и ↓12+103
Комментарии43

Информация

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