Рекомендуемые книги

Некоторые интересные и полезные книги в области разработки ПО и дизайна.


О RubyOnRails

Book 1

Agile Web Development with Rails 4

Позволяет начать разрабатывать веб-приложения на Rails.

Book 2

Crafting Rails 4 Applications

Более продвинутый материал, написана членом команды разработки Rails Хосе Валимом (José Valim).

Book 3

Rails Recipes

Набор стандартных ситуаций и приемов («рецептов»), позволяющих шаг за шагом строить Rails-приложения.


Необычная книга о языке Ruby

Poignant

Why’s (poignant) guide to Ruby

Эта книга не похожа ни на одну другую книгу по программированию, которую вы читали.

Говорящие лисы, эксцентричные заметки на полях и много юмора.


Дизайн и методология разработки ПО (классика)

Refactoring

Refactoring: Improving the Design of Existing Code

Рефакторинг — это улучшение дизайна существующего кода. Классическая книга Мартина Фаулера (Martin Fowler).

Patterns

Design Patterns: Elements of Reusable Object-Oriented Software

Это книга о разработке программного обеспечения описывает часто используемые решения в типичных ситуациях (паттерны). Книга написана группой авторов, известной как «Банда четырех» ("the Gang of Four").

Enterprise

Patterns of Enterprise Application Architecture

Еще одна хорошая книга Фаулера.

Ssa

Software Systems Architecture

Ориентированное на практическое использование руководство по проектированию и реализации эффективных архитектурных решений в информационных системах. Написана Н. Розански (N. Rozanski) и Е. Вудсом (E. Woods).

Code complete

Code Complete

Автор — Стив Макконнел (Steve McConnell) — рассказывает о своем опыте в разработке ПО, уделяя особенное внимание методологии написания кода.

Pearls

Programming Pearls

Эссе из этой книги рассказывают об интересных и необычных решениях при написании программ, иллюстрируя интересные приемы и важные принципы. Книга написана Джоном Бентли (Jon Bentley).


Еще большая классика

Mythical man month

The Mythical Man-Month

Не так много книг оказали такое влияние на управление разработкой ПО, как эта. Используя смесь фактов о процессе разработки ПО и собственных взглядов и выводов, Фред Брукс (Fred Brooks) пишет о действительно сложных проблемах.

Knuth

The Art of Computer Programming

Это настоящая библия для всех интересующихся алгоритмами. Здесь заложены основы того, что используется почти в любом коде. Автор: Дональд Е. Кнут (Donald E. Knuth).


Проектирование ПО в экосистеме Ruby/Rails

Patterns ruby

Design Patterns in Ruby

Это руководство по использованию стандартных решений на языке Руби. В книге Русса Олсена (Russ Olsen) 14 оригинальных паттернов «Банды четырех» рассматриваются в контексте современного языка с динамической типизацией.

Growing

Growing Rails Applications in Practice

Эта книга Хеннинга Коша (Henning Koch) и Томаса Эйзенбарта (Thomas Eisenbarth) научит вас правильно работать с большими проектами на RubyOnRails. Вместо того, чтобы использовать сложные паттерны или сервисно-ориентированные архитектуры, авторы предлагают использовать правильную организацию кода и дисциплину при его написании, по максимуму используя уже имеющиеся во фреймворке средства.


Разработка ПО и бизнес

Zachman

Enterprise Architecture Using the Zachman Framework

Эта книга представляет так называемый «Фреймворк Захмана» (Zachman Framework) — инструмент для эффективной организации процесса моделирования бизнес-процессов. Используя уроки истории, психологию, информационные технологии и другие области знаний, авторы используют этот фреймворк, чтобы выявить ключевые решения, лежащие в основе организации различных компаний, говоря в терминах «архитектуры бизнеса». Упорядоченность, интеграция и гибкость — ключевые цели при реализации современных бизнес-решений. Книга рассказывает профессионалам в области бизнеса и технологий о том, как спроектировать и реализовать решения проблем любого масштаба и сложности.

Rework

Rework

Большинство книг о ведении бизнеса дают все те же старые советы: напиши бизнес-план, изучай конкурентов, ищи инвесторов и т. д. Эта книга другая.

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

Книга написана Девидом Хейнмейером Хансоном (David Heinemeier Hansson), автором фреймворка RubyOnRails.


Другая парадигма

Lyah

Learn You a Haskell for Great Good! A Beginner's Guide

Функциональное программирование — интересная парадигма, изучив её, можно взглянуть на разработку ПО с другой точки зрения. Эта книга представляет собой введение в функциональное программирование (на языке Haskell). Хотя использования Хаскеля в реальных проектах может столкнуться с определенными трудностями, идеи из этой книги (или другой книги о функциональном программировании) помогут вам в работе даже если вы пользуетесь традиционной императивной парадигмой. Автор: Миран Липовача (Miran Lipovača).

Некоторые идеи из функциональных языков использованы в языке Руби (например, лямбды, блоки, итераторы).


Дизайн и UX

Book 4

Project Guide to UX Design

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

Book 5

The Design of Everyday Things

Дон Норман (Don Norman) отмечает хорошие примеры дизайна различных вещей и показывает как дизайн помогает в конкурентной борьбе.

Book 6

The Humane Interface

Книга представляет прорывные решения в навигации, управлении ошибками и других сферах с детальными примерами из собственного опыта Раскина (Raskin).

Tufte

The Visual Display of Quantitative Information

Классическая книга о статистических графиках, диаграммах, таблицах. Теория и практика дизайна диаграмм с данными, 250 иллюстраций с примерами лучшего (и худшего тоже) дизайна, с детальным анализом того, как показывать данные для быстрого, эффективного анализа. Дизайн на экранах с большим и малым разрешением. Изменение и улучшение графиков. Плотность информации. Временные срезы, зависимые графики, данные на картах, многомерный дизайн. Графические иллюзии, вариативность дизайна и вариативность данных. Источники иллюзий. Эстетика отображения данных.

Мы также рекомендуем и другие книги Эдварда Тафта (Edward Tufte).


Об одном очень полезном инструменте

Progit

Pro Git

Эта книга о Git. Git — это система управления версиями, разработанная Линусом Торвальдсом для разработки ядра ОС Linux. Она очень быстро и широко распространилась с года создания (2005), и используется как небольшими командами, так и компаниями-гигантами (Google, Red Hat, IBM), широко используется при разработки ПО с открытым исходным кодом. Автор: Скотт Чекон (Scott Chacon).


И многие другие. Читаем сами, делимся с вами.