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

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


О RubyOnRails

Book 1 6f6148112f8b367ade875aa62e9e4a84e23018ecfe9144444097f7692f00c17d

Agile Web Development with Rails 4

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

Book 2 48a8fdef0aee0c532c6135ca66e6d1dc8675bbf63f9390cb56d2ae470e21f685

Crafting Rails 4 Applications

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

Book 3 c664ef6d65bfcb14dcc7e83597f1c2ff4c504ee711e55c427dcbca2833ab2a79

Rails Recipes

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


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

Poignant 64d8c477b79fee6cae6458c5c6999bc9de34007dc6c96efd66ca57dcf740a033

Why’s (poignant) guide to Ruby

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

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


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

Refactoring 2529fecc54060c8c6cba8e338f7f2be62f83d6a8d316164a00ebccf534d6d6ff

Refactoring: Improving the Design of Existing Code

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

Patterns 0f4855344fe63caee95af52019dbb243284cbfd1f17fc22ddcf2171d3b40d51b

Design Patterns: Elements of Reusable Object-Oriented Software

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

Enterprise a04d3bc25845c3ddc22d021fed427aa1ba8a3c871b0110a52b7a91485c379024

Patterns of Enterprise Application Architecture

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

Ssa 98f6d3b132b7ea157ca19b174ea264fb106c84fd5d837503791283ae159884d6

Software Systems Architecture

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

Code complete 6b23571384b607577ca0199bd06d9ffadbeec005340b9e0b8efac04c13fb9b32

Code Complete

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

Pearls ec0cb1cec7812a17d4b922fe3e7cd7a6f406ab607b16f1669a3caf01d9563bd0

Programming Pearls

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


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

Mythical man month 05875155a360617596eedc399ff4853598c75e7b9fc2ba6270f4f480d02cf6a4

The Mythical Man-Month

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

Knuth 8b54f6705e06c9e23fb76b704314bdea2ac3f1ea0087fbf8fa818aacab8a8b53

The Art of Computer Programming

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


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

Patterns ruby dfcb03b8f093ab5d82fb9483dadfbb292039ed4a6e8cdb9c7a6fc374fab3152e

Design Patterns in Ruby

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

Growing d312349fe4c2ce89c9ecbca52c17823b2a471914a6cb4311bfffad712d102d38

Growing Rails Applications in Practice

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


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

Zachman f50bb20725827896c2050af8c83c805c2d95ab3192d615876a09659027232f90

Enterprise Architecture Using the Zachman Framework

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

Rework 16a1145d02cbd3aedb61477dc47818c2c4938cde4bd84cdc48d5b6eff282c8ec

Rework

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

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

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


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

Lyah 9edfd9941232ff7b93abca072b3ecb7ab35ebdc60247ab5c2286129df47c4796

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

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

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


Дизайн и UX

Book 4 e3a575354cc7b63849b854d2092eba498ecb4bbc0eedf97ac4f244628b0e9635

Project Guide to UX Design

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

Book 5 b3e6fb8381c101835854f266497896fc41ab2ce9570856fbcddf182b817bf57e

The Design of Everyday Things

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

Book 6 c7b95e304aa850a14efdb34bce582b80ed13a841bb99e8d052741fd6e8bc0e89

The Humane Interface

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

Tufte 84ed7efeb2252e03120a8b77d3cfecfcd8bf05048007224b12ddf9721aafbc85

The Visual Display of Quantitative Information

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

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


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

Progit 91fe17b9c87d91dd8cfda797a321c4da0cfac86a958adc74f4dd4820c60bb5fd

Pro Git

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


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