Лень, нетерпимость и высокомерие
Скакунов АлександрОпубликовано 9.07.2007 в Книги
Замечательная книга “Building Scalable Web Sites” (”Построение масштабируемых веб-сайтов”) Кала Хендерсона (не повезло человеку с именем
).
В книге описывается опыт разработчиков Flickr.com - уж у кого у кого, а у них с их мириадами хранящихся картинок нагрузка на сервера ого-го.
Минус и плюс одновременно - книга на английском. Минус - похоже, мало кто возьмется читать. Плюс - целее будет сохраняется авторский стиль; например, про один мануал он пишет, мол, доступен как в веб, так и в формате мертвого дерева (on the web and dead-tree formats).
Если приводятся куски рекомендуемого кода, то дается решение и для РНР-программистов, и для людей из мира Perl. Так или иначе, готового кода очень мало.
Зато много общих умозаключений и рекомендаций. Что интересно: автор на протяжении всей книги не сводит глаз с фразы Ларри Уолла (Larry Wall), которую я вынес в название этого поста (Laziness, Impatience and Hubris) - не надо, дескать, изобретать заново велосипед, который имеет уже столько реализаций, будьте более ленивыми. Фраза Ларри Уолла кстати - характеристика нашего брата, программиста.
Другая черта автора, которой не хватает многим разработчикам (включая меня
) - либеральность к пользователям. Вот пишет он пишет, в каком ужасном формате присылают емейлы с беспроводных устройств и как трудно их процессить (Flickr позволяет аплодить файлы, высылая их по емейлу), и тем не менее расписывает, как всё-таки удовлетворить даже этих пользователей. Афоризм, который он приводит касательно этой части, звучит так: “Будьте либеральны к тому, что получаете, и будьте консервативны к тому, что отправляете“.
Как после хорошей травки, по прочтении книги простые привычные вещи начинают обрастать смыслом. Например, становится понятно, зачем и почему
- на Blogger’e сделан специальный емейл, на который можно посылать
текст, чтобы он автоматом запостился на твоем блоге - пользоваться SVN и иметь систему сборки проекта одним нажатием
- имеет смысл делать насильственную денормализацию
- при работе с API Гугла нужно получать ключ
Вообще наличие раздела о грамотном создании API подкупает - раньше такого доступного материала не встречал.
В общем, эта Книга - одна из самых ценных вещей, которые можно купить за $26.
Понравилась статья? Подпишись на обновления по RSS/E-mail





Книга отличная, мне тоже понравилась. Надеюсь, еще пригодится на практике building _scalable_ sites.
Да уж, пора запустить старт-ап, добиться его популярности, заработать денег - и начать применять полученные знания
Кстати, на страницах книги автор постоянно проводит эту последовательность действий
Оптимист.
По твоему же совету и купил
Прочитал эту книгу около месяца назад, и не смотря на многообещающее название, она не рассказала самого главного - как же строить масштабируемые приложения. Книга представляет собой “галопом по европах” о разных аспектах современной разработки крупных вэб приложений, причем в очень поверхностном виде. Рассказываются банальные вещи вроде UTF-8 и хорошей постановке процесса разработки ПО () которые Joel Spolsky успел уже и в своем блоге написать и даже в переведенной на русский язык печатной книжке. Зачем то рассказывается про SQL Injection Attack про которые
можно прочитать в любой книжке по PHP. Вроде дальше идет немножко по теме (одна глава) - обзор load balancing, MySQL replication, но на этом книжка внезапно обрывается. Вывод такой: для людей занимающихся этим делом - ничего нового, для тех кто хочет разрабатывать такие приложения - ничего конкретного. Книга может быть хороша как ликбез, чуть того, чуть сего. Для понимания актуального состояния данной проблемы, гораздо полезнее будет посмотреть доступные в интернете презентации о архитектуре LiveJournal, Google, etc, или погуглить по таким словам как memcached.
В целом ты прав. То, что реально про “построение масштабируемых систем” отведена только одна глава - правда, что меня тоже удивило.
Тем не менее, для меня скорее важно мнение человека, который участвовал в построении Большой Системы - на какие проблемы обратить внимание и какой инструментарий рекомендуется.
“Будьте либеральны к тому, что получаете, и будьте консервативны к тому, что отправляете“.
“Be liberal in what you accept, and conservative in what you send”
За перевод фразы незачет.
Ох уж эти раздаватели зачетов…
Как на твой взгляд правильно?