Как всё начиналось

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

Для своих проектов у меня всегда был свой сайт. Сначала он был просто набором статических страниц, подготовленных в блокноте. Затем в какой-то момент я завёл полноценный блог на WordPress со своим доменом.

Наполнение блога росло. Я перенёс большую часть проектов со старых сайтов, продолжал писать статьи. В тот момент я переучивался на Java и Spring Framework. Мне казалось, что это будет более актуально, чем приложение на C#, в разработке которого я участвовал до этого в небольшой региональной фирме. Пока я учил Java, я читал кучу статей с различных источников интернете, в том числе даже из спецификации.

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

Издательство

В августе прошлого года (2021) мне написали из издательства и предложили написать книгу о Java по мотивам статей с сайта. Сама идея мне сразу понравилась. Если честно, я ещё в детстве был тем ещё книжным червём. И, разумеется, много раз представлял себя на месте автора какой-нибудь книги. Однако я не имел вообще ни малейшего представления о том, какие этапы существуют в издании книги. И уж тем более не понимал, что придётся делать во всем этом процессе мне самому.

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

По тому, что мне рассказали, будут примерно следующие этапы:

  • заключение договора со сроками и промежуточными этапами,

  • написание рукописи книги (разумеется, в электронном варианте),

  • редактура,

  • остальная предпечатная подготовка (обложка там и всё остальное),

  • печать,

  • продажа в магазинах.

Написание

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

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

В целом у меня получалось примерно каждый месяц отправлять новый вариант книги с дополнительными главами. Я осознанно так делал, особенно с самой первой главой. Очень не хотелось под конец книги узнать, что всё написано совсем не так, как ожидалось. И это было не зря, потому что после первой версии сразу же получил пару дельных замечаний, а именно:

  • нужно добавлять картинки;

  • желательно описывать работу в какой-нибудь IDЕ;

  • нужны компилируемые примеры, которые бы можно было скачать с сайта и запустить;

  • ещё пара замечаний по стилю текста.

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

Про IDE совет действительно полезный. Большая часть статей в моём блоге была абстрактна и не привязана ни к какой IDE. Только код и только результат. Для книги было бы полезно рассказать хотя бы кратко про работу в какой-нибудь IDE. Я решил в качестве основной IDE взять IntelliJ IDEA, как самую популярную на текущий момент. Заодно вскользь упомянул Eclipse и NetBeans, просто чтобы показать, что существуют и другие.

Примеров особых у меня не было. Это факт. Учебник из блога и набор остальных статей чаще всего был просто с каким-нибудь куском кода, который ни скачать, ни скомпилировать было нельзя, а уж тем более запустить. Пришлось примеры придумывать почти с нуля и собирать их в отдельный проект.

А тем временем, основная моя работа тоже никуда не делась, так что писать книгу я мог далеко не каждый день, и уж тем более не полный день. Очень большая часть была написана в выходные и праздничные дни. Я, в принципе, был к этому готов. Знал на что шёл. Да и статьи на блог я тоже писал примерно в таком формате.

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

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

Я, если честно, такого не ожидал. Если добавить задания в конце каждой главы ещё не так сложно, то придумать какой-нибудь проект, а потом провести чего через всю книгу... Это выглядит довольно ресурсоёмко. Я итак уже писал книгу больше полугода. Пока я её писал, успело выйти две новые версии Java. Если сейчас затеять глобальную переделку, но насколько затянется весь процесс? И сколько версий Java успеет выйти к тому момент? Успею ли я вообще её когда-нибудь дописать?

К счастью, после переговоров мы договорились просто о добавлении заданий к каждой главе и к одной отдельной главе в конце книги с небольшим проектом, использующим Spring Boot, Docker, Kubernetes и всё остальное.

А в самой книге уже в некоторых главах было некое подобие небольших, но вполне законченных проектов.

Например, глава про работу с файлами включала в себя небольшой двухпанельный файловый менеджер наподобие Far Manager. Он использовал практически все возможности работы с файлами: копирование, перемещение, простановку атрибутов для разных файловых систем, прослушивание изменений каталога и автоматическое обновление списка файлов и т. д.

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

После добавления раздела заданий к каждой главе и раздела с проектом на Spring Boot были ещё небольшие правки, но в целом, было видно, что рукопись книги уже готова.

Редактура

Двадцатого мая рукопись моей первой книги наконец-то перешла на следующий этап — её приняли на редактуру. Не знаю, на сколько затянется этот этап, но по завершении постараюсь написать следующую статью, с описанием процесса.

Комментарии (15)


  1. saipr
    23.05.2022 21:04
    +4

    В августе прошлого года (2021) мне написали из издательства и предложили написать книгу о Java по мотивам статей с сайта. Сама идея мне сразу понравилась. Если честно, я ещё в детстве был тем ещё книжным червём.

    Как это перекликается с тем, что случилось со мной 40 (сорок) лет назад:


    После работы с французской диссертацией и реальным программированием по комплексированию различных модулей в среде ОС ЕС Соколов А.П. предложил мне написать учебное пособие. Я, конечно, согласился. Эта была хорошая школа работы с редакционно-издательским отделом. И когда спустя несколько лет я буду издавать книгу в издательстве «Финансы и статистика», мне это очень поможет. Так на свет в 1981 году появится моя первая книга, подготовленная вместе с Володей Андрейченко, под названием «Межмодульные связи в ОС ЕС»:
    image

    И вот я читаю как на свет появляется книга автора статьи:


    после первой версии сразу же получил пару дельных замечаний, а именно:
    нужно добавлять картинки;
    желательно описывать работу в какой-нибудь IDЕ;
    нужны компилируемые примеры, которые бы можно было скачать с сайта и запустить;
    ещё пара замечаний по стилю текста.
    Картинок, действительно, не было. Причем их не было совсем. Художник из меня не очень, рисовать толком не умею. В большинстве случаев, в конечный вариант книги вставлял снимки экрана с окнами IntelliJ IDEA, чтобы наглядно показать, куда кликать для достижения результата из главы. Для пары глав нарисовал очень красивые диаграммы классов с помощью ArgoUML.

    Как сейчас всё стало замечательно: Интернет, IDE, графические редакторы. А тогда, в далеком 1981 году, АЦПУ для распечатки кодов программ, печатающая машинка для печати текста книги, ватман и карандаш. Помню как вчера. Но мы знали, что такие времена как сегодня наступят и "приближали этот день как могли".


    Автору пожелаю успешного выхода книги в свет.


  1. AWE64
    24.05.2022 00:10
    +3

    Может подскажете, у нас же есть какой-то закон, определяющий, что вся печатная продукция должна быть на литературном русском языке?
    Правильно ли я понимаю, что все эти 'представления' вместо вью, 'операторы ветвления' вместо свитчей, 'электронно-вычислительные машины' вместо компьютеров и прочий буллшит появляются именно из-за этого? Или это просто разновидность той же необъяснимой тяги в научной литературе писать 'автор' вместо 'я'?


    1. Maccimo
      24.05.2022 01:12

      Bullshit это как раз эти самые «вью», «свитчи» и прочие убогие кальки, родившиеся из-за дефицита словарного запаса в организме.


      1. AWE64
        24.05.2022 01:55
        +2

        Какие ваши доказательства?


        1. ris58h
          24.05.2022 06:25

          А ваши?


          1. Ahuromazdie
            24.05.2022 16:46
            +1

            А ваши? (прикольно, да?)


  1. dyadyaSerezha
    24.05.2022 05:54
    +2

    Ну так и скока денег за все эти усилия?


    1. urvanov Автор
      24.05.2022 16:47

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


    1. questor
      24.05.2022 21:51

      В районе 30 тысяч рублей - на хабре несколько статей было на эту тему, скажем вот https://habr.com/en/company/ruvds/blog/527696/?


  1. shovdmi
    24.05.2022 08:43
    +2

    Расскажите, кому будут принадлежать авторские права на текст книги? Были ли в связи с этим какие-нибудь требования от издательства на дублирующийся текст в блоге и книге?


    1. urvanov Автор
      24.05.2022 16:48

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


  1. NeverIn
    24.05.2022 21:02

    А где ссылка на тот самый блог?


    1. urvanov Автор
      25.05.2022 08:58

      У меня в профиле есть ссылка.


      1. Sora
        25.05.2022 10:18

        я лично не вижу никаких ссылок в вашем профиле


        1. urvanov Автор
          25.05.2022 10:40

          О, спасибо, что заметили. Там, похоже, настройки приватности были такие, что никто не видел никаких ссылок. Сейчас всё должно быть видно.