Архив по категории ‘книги’.

Книга Алана Купера «Психбольница в руках пациентов»

psi
Эта книга Алана Купера уже давно была у меня на примете, однако прочитать ее удалось лишь недавно. И знаете, давно я не получал такого удовольствия от чтения. В целом книга посвящена тому, почему интерфейсы программ или других устройств, в которых содержится процессор, такие сложные и не логичные с точки зрения обычного пользователя. Автор в начале книги на примерах доказывает, что в каком бы предмете не появился процессор, он начинает вести себя как настольный компьютер в худшем смысле этого слова — начинает обрастать ненужными функциями, тормозить и виснуть. Это справедливо и для фотоаппаратов, и для автомобилей, и для военных кораблей.

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

Вся книга написана с иронией над программистами, но очень точно раскрывает причины поведения этих забавных существ. Алан Купер делит людей на два вида: хомо сапиенс и хомо логикус (т.е. программистов) и пытается доказать, что последним ни в коем случае нельзя доверять создание интерфейсов, потому то основные мотивы действий у людей и программистов различаются. Например, обычному хомо сапиенс нужно, чтобы предмет просто работал и выполнял свою функцию, он не хочет задумываться о том, как он устроен внутри. Хомо логикус же, напротив, желает полностью контролировать поведение предмета или программы, он готов пойти на некоторые неудобства использования программы, если они позволят полностью держать программу под наблюдением и контролем. Поэтому он будет инстинктивно добавлять в интерфейс множество настроек и индикаторов, которыми можно будет тонко настраивать программу под себя, но что абсолютно не будет использовать обычный пользователь.
Читать далее ‘Книга Алана Купера «Психбольница в руках пациентов»’ »

Книга Хуана Диего Гоше «HTML5 для профессионалов»

Хуан Диего Гоше "html5 для профессионалов"Решил я освежить свои знания в области сайтостроительства и упорядочить для себя обрывочные сведения относительно HTML5 и всего, что с ним связано. Статьи в интернете обычно рассказывают о какой-то одной особенности нового стандарта, а хотелось почитать что-то, где описывались бы все нововведения HTML5 по сравнению с HTML4 в одном месте.

Перебирая различные книги, я наткнулся на книгу Хуана Диего Гоше «HTML5 для профессионалов», которая в оригинале называлась «HTML5 for Masterminds, 2nd Edition», и на ее обложке красовался мозг в баночке. В переводе книга издана в 2015 году, а оригинальная вышла в 2012 году.

HTML5 for Masterminds
Свою задачу книга выполнила на 100%, ее содержание полностью сфокусировано на новых возможностях HTML5. Хотя книга и называется «HTML5 для профессионалов» (по крайней мере в переводе), но автор все-таки добавил пару глав, где коротко рассказывает основы HTML и JavaScript, но не более того, что понадобится для понимания примеров из книги. И даже когда он пишет про основы HTML, он сразу отмечает моменты, где по идеологии HTML5 отличается от HTML4. С первых же примеров он начинает использовать такие структурные теги как <header>, <nav>, <section>, <aside> и <footer> (хотя для меня эти теги уже были знакомы, но, пожалуй, самое понятное описание того, какие теги для каких элементов сайта рекомендуется применять, попалось именно в этой книге.), а заодно пишет, как изменилась семантика (смысл) старых HTML-тегов, таких как <i>, <b> и др.

Читать далее ‘Книга Хуана Диего Гоше «HTML5 для профессионалов»’ »

Книга Уильяма Зинсера «Как писать хорошо. Классическое руководство по созданию нехудожественных текстов»

Уильям Зинсер. "Как писать хорошо"Все мы иногда сочиняем тексты. Кто-то ограничивается короткими заметками в соц. сетях, кто-то ведет блог и пишет большие посты, для некоторых сочинение статей — работа, а кому-то хватает служебных и объяснительных записок на работе. В любом случае, раз мы что-то пишем, значит хотим, чтобы кто-то прочитал наше творение, а еще лучше, чтобы он понял то, что мы хотим донести до читателя, кем бы он ни был: заказчиком, начальником или посетителем сайта. Для тех, кто сочиняет подобные тексты и предназначена книга Уильяма Зинсера «Как писать хорошо. Классическое руководство по написанию нехудожественных текстов». Ее автор — американский писатель, журналист и преподаватель, который делится своим умением и видением того, как сделать так, чтобы вашу статью в газете или заметку в блоге дочитали до конца, а не переключились на что-то другое после первых двух предложений.

Как видно из второго названия, книга не научит вас писать романы и поэмы, а вот писать нехудожественные тексты после этой книги вы станете наверняка лучше, хотя бы из-за того, что после прочтения будете обращать внимание на указанные Зинсером типичные шероховатости и штампы. Да и смелости для того, чтобы начать что-то писать, книга прибавляет.

Книга «Как писать хорошо» в оригинале переиздавалась девять раз. Впервые она вышла еще в 1976 году, после чего периодически, с интервалом в несколько лет, печатались новые издания с поправками и дополнениями. Русский перевод основан на издании, вышедшем на английском языке в 2006 году, через 30 лет после первого издания. Не многие книги могут похвастаться такой историей.

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

Читать далее ‘Книга Уильяма Зинсера «Как писать хорошо. Классическое руководство по созданию нехудожественных текстов»’ »

Книга Уэса Маккинни «Python и анализ данных»

python-dataНедавно в нашей группе во Вконтакте мне задали вопрос о том, какие книги я могу посоветовать про применение Python в научных исследованиях. Как раз в это время я собирался начинать читать книгу Уэса Маккинни «Python и анализ данных» и пообещал, что о ней будет отзыв в блоге. Сегодня я выполняю это обещание.

Когда речь заходит про языки программирования для научных вычислений, то обычно вспоминают MATLAB, а в последнее время все больше появляется упоминаний языка R, который в первую очередь ориентирован на статистические расчеты. При этом Python с некоторыми библиотеками вроде NumPy и matplotlib отлично подходит для научных расчетов и во многих случаях могут успешно заменить MATLAB, который, к тому же, является достаточно дорогой программой, а Python и все упомянутые в книге библиотеки являются с вободными и вы можете их скачать без угрызения совести. Это здорово, что на русском языке вышла подобная книга (на английском языке книги про научные вычисления на Python мне попадались).

Сразу хочу предупредить, что «Python и анализ данных» — это описание инструментов, а не алгоритмов, про алгоритмы я могу посоветовать книги «Программируем коллективный разум» и «Алгоритмы интеллектуального интернета». Уэс Маккинни, автор книги «Python и анализ данных», является создателем известной библиотеки для обработки временных и табличных данных pandas, поэтому не удивительно, что большая часть книги посвящена этой библиотеке,

В этой книге Уэс описывает основные возможности нескольких инструментов и библиотек, которые предназначены для анализа и обработки данных: IPython, библиотеки NumPy, matplotlib и, конечно, pandas.

Читать далее ‘Книга Уэса Маккинни «Python и анализ данных»’ »

Про книгу Майкла Нейгарда «Release it!»

Release it!

На днях дочитал замечательную книгу Майкла Нейгарда, которая в переводе называется «Release it! Проектирование и дизайн ПО для тех, кому не всё равно». В оригинале книга имеет название «Release it! Design and Deploy Production-Ready Software», и знаете, русскоязычный вольный перевод названия лучше отражает суть книги, по крайней мере развертыванию (deploy) приложений на сервере посвящена лишь одна последняя (из 18) глава.

Книга посвящена проектированию веб-приложений, в основном серверной части, но в отличие от многих других книг, в названии которых встречается слово «проектирование» здесь нет пересказа паттернов проектирования из книги Банды Четырех, хотя в данной книге есть две главы, посвященные паттернам и антипаттернам, но к объектно-ориентированному проектированию они не имеют никакого отношения.

Книга рассказывает о том, как уменьшить последствия, после того, как в вашем веб-приложении что-то пойдет не так, а что-то обязательно пойдет не так — это основной посыл книги. Невозможно заранее предусмотреть все, что может случиться с вашим приложением до его выход на рынок (в онлайн). Как бы хорошо не было протестировано приложение, тесты наверняка не учитывают одну вещь — реальную нагрузку. Нагрузочные тесты — это отдельная культура, а программисты в основном занимаются юнит-тестами и интеграционными тестами, которые должны выполняться как можно быстрее, поэтому они по определению оперируют небольшими базами данных (а то и вовсе фиктивными объектами). А что произойдет, если в базе окажется не десяток записей, а миллионы?

Читать далее ‘Про книгу Майкла Нейгарда «Release it!»’ »

Про книгу «Как тестируют в Google»

test_googleДо сих пор книги по тестированию софта (под софтом для простоты я понимаю и десктопные программы, и сайты) меня обходили стороной. Разумеется, тесты я пишу, в основном это юнит-тесты, но после того как в последнее время начал «пописывать» сайты на Django, вопросы тестирования встали более остро.

Поэтому я решил наверстать упущенное в этой области и для начала почитать «Как тестируют в Google», в девичестве «How Google Tests Software». Честно говоря, книга вызвала у меня неоднозначное впечатление. С одной стороны, она читается легко и даже интересно, но с точки зрения пользы примерно половину книги можно было бы выкинуть.

Вся книга описывает то, как поставлено тестирование в Google, приводится несколько интервью с сотрудниками Google различных уровней. Но эта книга совсем не техническая, она делает упор именно на организационные моменты и часто скатывается к расхваливанию работы в Google (для контраста можно почитать статью Каково это — работать в Google?) и тому, как компания заботится о качестве своих продуктов.

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

Читать далее ‘Про книгу «Как тестируют в Google»’ »

Про книгу Я. К. Голованова «Королев. Факты и мифы»

obl-golНа книгу Ярослава Голованова «Королев. Факты и мифы» я наткнулся после поездки в Калугу, когда искал информацию о памятнике, посвященному встречи Королева и Циолковского, которой скорее всего не было. Именно тогда мне попалась глава, посвященная как раз этому вопросу. После прочтения этой главы мне захотелось прочитать всю книгу целиком, что недавно и было сделано.

Эта книга мне очень понравилась, читал ее все свободное время, и несмотря на ее объем (в бумажном виде у нее 800 страниц), даже под конец не надоедает. Удивительно, как можно было так подробно описать жизнь человека, да еще и засекреченного большую часть жизни. В предисловии написано, что Голованов писал эту книгу на протяжении более двадцати лет, используя архивы, разговаривая с непосредственными участниками описываемых событий, с теми, кто работал в НИИ и на космодроме, с первыми космонавтами. Жена С. П. Королева — Н. И. Королева — предоставила автору доступ к письмам Сергея Павловича.

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

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

Кроме биографии Королева в книге есть краткие биографии многих других известных личностей, с которыми работал или общался Сергей Павлович, включая маршала Тухачевского, В. П. Глушко, М. В. Келдыша, М. К. Янгеля.

В общем, книга отличная. Тем, кто интересуется историей техники, а особенно космонавтики, читать обязательно. Сама книга довольно старая, она издана была в 1994 году, и сейчас ее проще найти уже в электронном виде. Хотя когда я гуглил, попадалась информация о том, что эта книга была переиздана в 2007 году в виде двухтомника.

Книга Стояна Стефанова «JavaScript. Шаблоны»

book_javascriptВо время изучения нового для себя языка программирования на первых порах возникает желание писать на этом языке так, как привык писать на языке, который использовал до этого. Пожалуй, что это даже естественно для начала, но со временем от этой пагубной привычки стоит избавляться, поскольку каждый язык программирования имеет свои особенности, и если удастся «настроиться на волну» нового языка, то программы будут получаться более компактными.

Книга Стояна Стефанова «JavaScript. Шаблоны» как раз и предназначена для того, чтобы разобраться, как принято писать приложения на JavaScript, какие при этом используются приемы. После книги JavaScript. Подробное руководство Дэвида Флэнагана эта книга не стала каким-то откровением, но прочитать еще раз про идеологию JavaScript было полезно.

Читать далее ‘Книга Стояна Стефанова «JavaScript. Шаблоны»’ »

Про книгу Питера Морвиля «Тотальная видимость»

book_ambient_findability

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

Попалась мне как-то на глаза книга Питера Морвиля «Тотальная видимость», в оригинале «Ambient Findability», что довольно трудно корректно перевести на русский язык, дословно должно быть что-то вроде «Находимость в окружающем пространстве», в книге термин «findability» переводится как «поисковая доступность», что более точно отражает суть, а «Тотальная видимость» напоминает скорее отсылки к «1984» Оруэлла. Так о чем же эта книга? Собственно, она и начинается с этого вопроса, сам автор предлагает такие варианты ответа:

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

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

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

Читать далее ‘Про книгу Питера Морвиля «Тотальная видимость»’ »

Книга Дэвида Флэнагана «JavaScript. Подробное руководство»

Дэвид Флэнаган "JavaScript. Подробное руководство"До сих пор мое знание JavaScript носило хаотичный характер, поскольку этот язык я изучал по мере надобности для решения конкретных задач, и чтобы упорядочить свои знания, решил почитать какой-нибудь основательный учебник, в котором бы рассказывалось о последних тенденциях в этом языке и в браузерах. В качестве учебника мне попалась книга Дэвида Флэнагана «JavaScript. Подробное руководство», а именно его 6 издание. Как оказалось, выбор был правильный, эта книга — как раз то, что я искал.

«JavaScript. Подробное руководство» — это довольно объемная книга на 1000 с лишним страниц, и в ней язык JavaScript описан практически со всех сторон, начиная от основ языка, включая то, что часто называют HTML5, и до реализаций JavaScript для работы на сервере — Node.js и Rhino.

Книга состоит из трех примерно равных по объему частей. Первая часть посвящена самому языку JavaScript независимо от того, где именно он используется, это так называемый базовый JavaScript. Мне понравилось, что описание языка написано с одной стороны достаточно аккуратно с точки зрения формулировок и определений, и в то же время, читается книга достаточно легко. В некоторых местах автор сравнивает JavaScript с другими языками программирования, что особенно актуально для глав про объектно-ориентированное программирование — все-таки при переходе на JavaScript с других языков, таких как C++, Java, C# и т.п. приходится перестраивать мышление и думать не в терминах классов, а в объектах. Также автор рассматривает множество подводных камней, характерных для JavaScript, особенно это касается неявного преобразования типов, «поднятия» объявления переменных и области видимости переменных. Благодаря таким примечаниям чувствуется, что автор имеет опыт практического программирования не только на JavaScript, поэтому многие примеры в книге будут полезны даже сами по себе в качестве готовых функций или объектов.

Читать далее ‘Книга Дэвида Флэнагана «JavaScript. Подробное руководство»’ »