Книга «App from scratch»

от автора

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

Я прочитал много книг по программированию,
но, часто, после прочтения у меня оставался только один вопрос — Как мне применить эти знания на практике?

Предположим, вы разработчик системы автоматизации, портала или интернет-магазина.
Добавление нового функционала осложняют наслоения кода. Запуск тестов занимает полчаса, а
релиз — час. Идея о переходе на новую версию фреймворка вызывает нервные подергивания.
Вы узнаёте, что PostgreSQL имеет поддержку массивов, jsonb, полнотекстового поиска и lateral join,
но ORM не позволяет использовать их в полную силу. Вы прочитали про TDD, но как
писать в таком стиле, когда аналитик описывает сценарии,
а фреймворк требует создания модели, контроллера и представления?
Как применить SOLID, если сущности наследуют от ORM?

Как избавиться от боли?

Постепенно, по мере изучения Clojure, и, наконец после прочтения Clean Architecture, я понял, как без боли написать
приложение, где на первом месте стоит предметная область, а не фреймворк, где я принимаю решения,
а не создатели фреймворков навязывают свои.

В какой-то степени книгу можно рассматривать как практический самоучитель по Clojure,
так что знание этого языка не требуется.

Книга, как минимум, научит читать Clojure код.
Мы разберем основополагающие моменты, а именно: полиморфизм и управление состоянием.
В качестве практики реализуем монаду Either.

Во второй главе я познакомлю с базовыми идеями дизайна:

  • Объектно ориентированным проектированием
  • Принципами SOLID
  • Clean Architecture
  • Domain Driven Design
  • Dependency Injection
  • Приемами для работы с БД

В последующих главах я опишу, как создать приложение на этих принципах.

Мы начнем с бизнес-логики, реализуем сценарии использования,
отложим принятие технических решений с помощью абстракций.

Реализуем доставку приложения пользователю с помощью web-технологий.
Разберем работу с формами, валидацией.

Рассмотрим реализацию абстракции хранилища на основе паттернов
Data Maper, Identity Map и Unit of Work.

Я старался делать акценты на действительно важных вещах, а не перепечатывать документацию.
При чтении придется искать и изучать дополнительный материал, для этого я даю ссылки.

Книга содержит практические упражнения.
Доступен проект,
на основе которого она написана.

Важно понимать, что это предварительный релиз.
Наверняка есть проблемы с изложением, и мне важно как можно раньше собрать обратную связь.
На текущий момент у книги отсутствует сайт, нет pdf и epub.

Ссылка на книгу: https://github.com/darkleaf/app-from-scratch/

Присылайте свои комментарии на m.kuzmin+afs@darkleaf.ru


ссылка на оригинал статьи https://habr.com/post/426537/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *