Pull to refresh
29
0
Андрей Воронков @Antiarchitect

User

Send message

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views58K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед
Total votes 315: ↑289 and ↓26+263
Comments206

Быстрая загрузка World of Tanks: попытка №2

Reading time4 min
Views74K
image

Вместо предисловия

После прочтения статьи Ускоряем загрузку карты в World of Tanks как-то само собой родилось решение дополнить статью пользователя tangro.

Суть проблемы

Причину долгой загрузки карт в WoT обнаружить очень легко — достаточно заглянуть в папку \World_of_Tanks\res. Почти все ресурсы игры, а их более 35 000, хранятся в этой папке в открытом виде. Огромное количество файлов малого размера и является главной причиной, ведь любой современный HDD имеет катастрофически низкую скорость чтения мелких файлов, на порядки ниже скоростей при линейном чтении.
Решить проблему можно раз и навсегда, упаковав текстуры в один или несколько архивов, как это сделано в World of Wacraft. Чтение из архива будет значительно быстрее, а распаковка вряд ли скажется на производительности игры на современных компьютерах. Разработчики обещают упаковать ресурсы, но ждать улучшения можно вечно. Так что нам опять придется делать все самостоятельно и другим способом…
Читать дальше →
Total votes 39: ↑29 and ↓10+19
Comments57

Разворачивание образов ОС при помощи FOG

Reading time10 min
Views28K

В этой статье я постараюсь вас познакомить с бесплатным продуктом FOG, который служит созданию и развертыванию образов ОС. К своему удивлению я не увидел статей на русскоязычных ресурсах, посвященных, безусловно, этому интересному продукту.
Отмечу, что я не ставлю перед собой задачу описать абсолютно все нюансы и расписать всё. Ничего не заменит ваш личный опыт. Я хочу лишь приоткрыть занавес и помочь многим системным администраторам двигаться в нужном направлении, остальное в ваших руках.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments17

Subtle Patterns: фоновые текстуры для вашего сайта

Reading time1 min
Views72K
Если вы запускаете новый сайт и заканчиваете его оформление, то есть смысл посмотреть коллекцию Subtle Patterns: отлично оформленную коллекцию фоновых текстур (паттернов) под лицензией Creative Commons Attribution 3.0 Unported. Их можно использовать без ограничений.



Сайт привлекает удобным предварительным просмотром: каждую текстуру можно мгновенно применить на всей странице в качестве фона. Сейчас там 93 работы, коллекция еженедельно пополняется отличными новинками.

Все текстуры на сайте Subtle Patterns являются повторяющимися, то есть склеиваются в бесшовную заливку.
Читать дальше →
Total votes 262: ↑247 and ↓15+232
Comments29

Оптимизация Ubuntu (и прочих Linux-ов) под SSD

Reading time4 min
Views205K
Доброго времени суток всем читающим. В данной мини-статье мне хотелось бы собрать и рассмотреть основные моменты оптимизации работы (и, конечно, продления жизненного цикла ) твердотельных накопителей. Практически всю информацию можно легко найти в сети, но тут я попытаюсь упомянуть пару подводных камней.
Читать дальше →
Total votes 128: ↑118 and ↓10+108
Comments109

Создание семантического веб-приложения

Reading time6 min
Views17K
railsrdf
В рамках моего дипломного проекта мне предложили создать систему формирования проектных команд на основе технологий семантической паутины. Так как я уже переболел голым PHP, SQL, ZF, и имел опыт программирования на Ruby on Rails, ознакомившись с существующими гемами и решениями для работы с RDF, решил писать на нём, т.к. не очень люблю яву (да простят меня ява-разработчики), хотя она и является самым передовым языком в области semantic web, intelligent agents, data mining.
Читать дальше →
Total votes 79: ↑70 and ↓9+61
Comments30

Плагин для «живых» форм

Reading time4 min
Views15K
Статья посвящена плагину, который упрощающает жизнь client-side программиста.

При заполнении формы случается так, что учитывая введенные данные, форму нужно менять (прятать и показывать поля). Простейший пример: при заказе доставки товара пользователь выбрал «самовывоз», значит поля про адрес доставки можно спрятать, зато было бы здорово показать карту проезда для самовывоза.

И что дальше

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

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

Второй подход это писать «портянки» javascript'а который всю эту логику реализует на стороне клиента. Особенно грустно писать «каскадную» логику типа «если ввели a в поле A, показать B, если ввели c в поле B, то показать D. Если в A ввели что-то другое, спрятать B, а потом D».

Оба варианта нельзя назвать удобными. Прежде всего потому что логика реализуется императивным стилем вместо уместного для таких случаев декларативного. Но выход есть!
Читать дальше →
Total votes 114: ↑112 and ↓2+110
Comments67

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity