Некоторые интересные и полезные книги в области разработки ПО и дизайна.
О RubyOnRails
Agile Web Development with Rails 4
Позволяет начать разрабатывать веб-приложения на Rails.
Crafting Rails 4 Applications
Более продвинутый материал, написана членом команды разработки Rails Хосе Валимом (José Valim).
Rails Recipes
Набор стандартных ситуаций и приемов («рецептов»), позволяющих шаг за шагом строить Rails-приложения.
Необычная книга о языке Ruby
Why’s (poignant) guide to Ruby
Эта книга не похожа ни на одну другую книгу по программированию, которую вы читали.
Говорящие лисы, эксцентричные заметки на полях и много юмора.
Дизайн и методология разработки ПО (классика)
Refactoring: Improving the Design of Existing Code
Рефакторинг — это улучшение дизайна существующего кода. Классическая книга Мартина Фаулера (Martin Fowler).
Design Patterns: Elements of Reusable Object-Oriented Software
Это книга о разработке программного обеспечения описывает часто используемые решения в типичных ситуациях (паттерны). Книга написана группой авторов, известной как «Банда четырех» ("the Gang of Four").
Patterns of Enterprise Application Architecture
Еще одна хорошая книга Фаулера.
Software Systems Architecture
Ориентированное на практическое использование руководство по проектированию и реализации эффективных архитектурных решений в информационных системах. Написана Н. Розански (N. Rozanski) и Е. Вудсом (E. Woods).
Code Complete
Автор — Стив Макконнел (Steve McConnell) — рассказывает о своем опыте в разработке ПО, уделяя особенное внимание методологии написания кода.
Programming Pearls
Эссе из этой книги рассказывают об интересных и необычных решениях при написании программ, иллюстрируя интересные приемы и важные принципы. Книга написана Джоном Бентли (Jon Bentley).
Еще большая классика
The Mythical Man-Month
Не так много книг оказали такое влияние на управление разработкой ПО, как эта. Используя смесь фактов о процессе разработки ПО и собственных взглядов и выводов, Фред Брукс (Fred Brooks) пишет о действительно сложных проблемах.
The Art of Computer Programming
Это настоящая библия для всех интересующихся алгоритмами. Здесь заложены основы того, что используется почти в любом коде. Автор: Дональд Е. Кнут (Donald E. Knuth).
Проектирование ПО в экосистеме Ruby/Rails
Design Patterns in Ruby
Это руководство по использованию стандартных решений на языке Руби. В книге Русса Олсена (Russ Olsen) 14 оригинальных паттернов «Банды четырех» рассматриваются в контексте современного языка с динамической типизацией.
Growing Rails Applications in Practice
Эта книга Хеннинга Коша (Henning Koch) и Томаса Эйзенбарта (Thomas Eisenbarth) научит вас правильно работать с большими проектами на RubyOnRails. Вместо того, чтобы использовать сложные паттерны или сервисно-ориентированные архитектуры, авторы предлагают использовать правильную организацию кода и дисциплину при его написании, по максимуму используя уже имеющиеся во фреймворке средства.
Разработка ПО и бизнес
Enterprise Architecture Using the Zachman Framework
Эта книга представляет так называемый «Фреймворк Захмана» (Zachman Framework) — инструмент для эффективной организации процесса моделирования бизнес-процессов. Используя уроки истории, психологию, информационные технологии и другие области знаний, авторы используют этот фреймворк, чтобы выявить ключевые решения, лежащие в основе организации различных компаний, говоря в терминах «архитектуры бизнеса». Упорядоченность, интеграция и гибкость — ключевые цели при реализации современных бизнес-решений. Книга рассказывает профессионалам в области бизнеса и технологий о том, как спроектировать и реализовать решения проблем любого масштаба и сложности.
Rework
Большинство книг о ведении бизнеса дают все те же старые советы: напиши бизнес-план, изучай конкурентов, ищи инвесторов и т. д. Эта книга другая.
Автор хочет показать лучшие, более простые и быстрые пути успеха в бизнесе в быстро меняющемся мире. Прочитайте эту книгу, и вы узнаете почему планирование может быть вредным, почему не всегда нужны инвесторы, и что иногда лучше игнорировать то, что делают конкуренты. На самом деле, вам может быть нужно не так много. Вам не нужно становиться трудоголиком. Вам не нужен раздутый штат. Не стоит терять время на бумажную работу и бесконечные встречи. Вам может быть даже не нужен офис. Это всё — причины ничего не делать.
Книга написана Девидом Хейнмейером Хансоном (David Heinemeier Hansson), автором фреймворка RubyOnRails.
Другая парадигма
Learn You a Haskell for Great Good! A Beginner's Guide
Функциональное программирование — интересная парадигма, изучив её, можно взглянуть на разработку ПО с другой точки зрения. Эта книга представляет собой введение в функциональное программирование (на языке Haskell). Хотя использования Хаскеля в реальных проектах может столкнуться с определенными трудностями, идеи из этой книги (или другой книги о функциональном программировании) помогут вам в работе даже если вы пользуетесь традиционной императивной парадигмой. Автор: Миран Липовача (Miran Lipovača).
Некоторые идеи из функциональных языков использованы в языке Руби (например, лямбды, блоки, итераторы).
Дизайн и UX
Project Guide to UX Design
Секреты создания удобных сайтов и приложений, отвечающих требованиям пользователей.
The Design of Everyday Things
Дон Норман (Don Norman) отмечает хорошие примеры дизайна различных вещей и показывает как дизайн помогает в конкурентной борьбе.
The Humane Interface
Книга представляет прорывные решения в навигации, управлении ошибками и других сферах с детальными примерами из собственного опыта Раскина (Raskin).
The Visual Display of Quantitative Information
Классическая книга о статистических графиках, диаграммах, таблицах. Теория и практика дизайна диаграмм с данными, 250 иллюстраций с примерами лучшего (и худшего тоже) дизайна, с детальным анализом того, как показывать данные для быстрого, эффективного анализа. Дизайн на экранах с большим и малым разрешением. Изменение и улучшение графиков. Плотность информации. Временные срезы, зависимые графики, данные на картах, многомерный дизайн. Графические иллюзии, вариативность дизайна и вариативность данных. Источники иллюзий. Эстетика отображения данных.
Мы также рекомендуем и другие книги Эдварда Тафта (Edward Tufte).
Об одном очень полезном инструменте
Pro Git
Эта книга о Git. Git — это система управления версиями, разработанная Линусом Торвальдсом для разработки ядра ОС Linux. Она очень быстро и широко распространилась с года создания (2005), и используется как небольшими командами, так и компаниями-гигантами (Google, Red Hat, IBM), широко используется при разработки ПО с открытым исходным кодом. Автор: Скотт Чекон (Scott Chacon).