Прочитал 12 книг списком обложками

  • Groovy и Grails. Практические советы

    Башар Абдул-Джавад

    Задача - прочесть про Groovy, Grails сейчас не интересен.

    Очень нравится, как автор расписывает слабые стороны Java.

    Несмотря на то, что книга рассчитана на Джавистов, да и сам Groovy очень близок к Джаве, мне с первой попытки далеко не всё было понятно. Тут либо перевод не совсем удачный, либо автор бегло рассматривает определённые вещи.

    Самое обидное, что перевод плохо вычитан, особенно, что касается самого языка - встречаются ошибки в коде, а иногда даже неоднозначности в определениях, вероятно, привнесённые переводчиками.

    Прочёл не всё, так что буду перечитывать.
    май 2017
  • Изучаем Java EE 7

    Энтони Гонсалвес

    Книга достаточно подробно и глубоко описывает Java EE 7, так что, если нужно для работы и есть время - стоит почитать и вникнуть.

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

    Автора пока покритиковать не могу - хорошо пишет. JPA - просто блеск: доступно даже начинающим, подробно, информативно. А вот переводчик местами не справляется с терминологией, а местами не понимает то, что переводит.
    май 2017
  • Разработка приложений Java EE 6 в NetBeans 7

    Дэвид Хеффельфингер

    Лишь пролистал.

    У Дэвида есть другие книги по тематике Java EE, так что, если любая из них уже прочитана, к этой стоит обращаться лишь в том случае, если код пишется в NetBeans - тут даются действительно толковые полезные советы как и что настроить.
    май 2017
  • Java EE 7 и сервер приложений GlassFish 4

    Дэвид Хеффельфингер

    Удивительно, ранее я прочёл версию этой книги для Java EE 6, но почти ничего об этом не помню.

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

    Тут, например, я читал о JPA и JMS, у нас в проекте они используются, но это не учебник, то есть, если надо понять что это за технологии, надо открывать другие источники, например, Википедию, как минимум, а практические примеры смотреть в этой книге.

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

    Об авторе и переводчике - весь материал, как и в предыдущей книге, написан здоровски, и читается на одном дыхании.
    май 2017
  • Java SE 8. Вводный курс

    Кей С. Хорстманн

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

    В начале читается трудно - не самые простые примеры кода (особенность применения), большая плотность информации, много терминологии.

    Подойдёт для повышения квалификации. Например, только сейчас понял что такое функциональные интерфейсы, как объявлять ссылки на методы, и прочее-прочее.

    Если кратко, то рассматриваются лямбда-функции, стримы, JavaFX, Date and Time API, параллельные вычисления, JS (Nashorn), другие новшества, а так же несправедливо незамеченные возможности из Java 7.

    У автора есть ещё книга "Базовый курс", где всё расписывается более подробно.
    май 2017
  • Функциональное программирование. SCALA для нетерпеливых

    Кей Хорстман

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

    Очень понравилось, что в конце каждой главы есть упражнения. Что самое примечательное, по-сути, эти упражнения направлены не только на закрепление прочитанного материала, но и на углублённое изучение дополнительной информации.

    Так как это единственная книга на русском по языку Scala - очень рекомендую к ознакомлению.

    Да, что ещё. Книгу я понял далеко не до конца, надо перечитать разделы для продвинутых пользователей.
    октябрь 2015
  • Spring в действии

    Крейг Уоллс

    Из всех книг по Spring Framework на русском языке, которые мне пока попадали в руки эта - лучшая. Она подходит в большей степени для тех, кто только начал изучать Spring. Информация подана в очень простом и понятном виде - есть много примеров, и автор, Крейг Уоллс, не лишён чувства юмора.

    Широко рассмотрены вопросы внедрения зависимостей и АОП. На примере разрабатываемого приложения Spitter (упрощённый аналог Twitter), автор демонстрирует работу с базами данных (JDBC, Hibernate) и транзакциями. Далее, для построения веб-приложения он задействует фреймворк Spring MVC а так же Spring Web Flow. Напоследок изучается Spring Security.

    В третьей части книги рассматривается взаимодействие с удалёнными службами (RMI, Hessian, Burlap, Http Invoker), программирование архитектуры REST в Spring, обмен сообщениями JMS, управление компонентами JMX, создание веб-служб Spring-WS и взаимодействие с Enterprise JavaBeans. Последняя глава посвящена темам, которые из-за своего небольшого размера не получили свою отдельную главу.

    Рекомендую к прочтению всем, кто планирует использовать Spring в своих проектах.

    Минусы книги следующие:
    1. Рассмотрены версии Spring 3.0.5 и Hibernate 3.4.0. При переходе на 4-е версии столкнулся с тем, что часть кода устарела - некоторые методы выпилены из Spring.
    2. Эта книга по-сути, является компиляцией переводов Spring in Action 2-го и 3-го изданий. Материал 3-го издания переведён полностью, а со второго вырваны только некоторые главы, отсутствующие в 3-м издании. Этот более ранний код сильно устарел (Spring 2.0.6) и мало интересен.
    3. Если не иметь на руках исходники примеров, можно промучиться даже при условии, что работа ведётся в Spring 3.

    Я был так вдохновлён этой книгой, что захотелось довести её до совершенства, устранив мелкие недочёты и переписав код для русскоязычного читателя. Материал готов, кому надо - пишите, поделюсь.
    октябрь 2015
  • Java EE 6 и сервер приложений GlassFish 3

    Дэвид Хеффельфингер

    После книг 10-ти летней давности приветствую свежесть материала. Есть краткая информация по сервлетам версии 3.0, что радует. Перевод лёгкий, приятный.

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

    Из других рассмотренных технологий - JSP 2.1, пользовательские теги, JSTL 1.2, JDBC на примерах MySQL и JavaDB, JPA 2.0, JSF 2.0, JMS, JAAS, EJB 3.1, JAX-WS, JAX-RS, JavaMail. Рассмотрена установка и настройка сервера приложений GlassFish 3.1, а так же его интеграция с NetBeans и Eclipse.

    По книге. Хорошее.
    Простой стиль изложения, обилие примеров, достаточно толковый перевод. Где надо всё детально разжёвывается, а где надо - даётся такой поток информации, что мозги закипают. Начало книги достаточно расслабленное, но потом придётся попотеть, чтобы всё освоить. И это на 400 страницах. Блокбастеры прошлого с трудом укладывались в 700-800. Главы с тегами JSP и JSTL достаточно ёмкие, JDBC раздел небольшой, а вот в JPA без сто грамм не разобраться, там где вопрос касается связей между таблицами. JMS и JAAS рассмотрены со всех сторон. Главы EJB, JAX-WS, JAX-RS, как мне показалось, подготовлены слабее и в спешке, отправка почты тоже рассмотрена без дополнительных разъяснений.

    Не очень.
    Ошибки в вёрстке книги периодически могут приводить к взрыву мозга. Местами в исходном коде переведены строки, которые должны быть на английском, взять хотя бы пример для JavaMail. Практика показала, что некоторые ошибки возникают только у читателей этой книги (в русском переводе) и больше ни у кого. Прибавим к этому, что книга всё-таки уже не новьё, да и некоторые моменты в ней были упущены. Как результат - многочасовое сидение в сети в поисках решения и ответов. Хотя, банальной логики и внимательности хватает, чтобы понять причину ошибки. По настройке GlassFish информация несколько устарела, но это не вина книги. Больше всего убил времени на установку GlassFish и на то, чтобы подружить его с Eclipse.

    Как оказалось, Eclipse Luna + GlassFish ныне требует Java 8, а заполучить её на Ubuntu 14.04 без приключений не получится. Ставил Kepler, он делает то же самое с Open JDK 7.

    А при установке GlassFish 3.1.2.2 - если кто войдёт по моим стопам - надо понимать, что путь к asadmin будет таким: /glassfish3/glassfish/bin/asadmin

    По JMS. Настройки ролей, групп и безопасности из sun-web.xml следует перенести в glassfish-web.xml.

    Пример с JDBC realm - при создании newJdbcRealm надо указать Digest Algorithm: MD5 и можно Charset: UTF-8. Ещё надо создать пул соединений UserAuthPool по примеру CustomerDBPool. Настройки: база - userauth, логин/пароль: admin/admin. Следом надо создать ресурс jdbc/__UserAuthPool. Только тогда аутентификация из базы заработает.

    Страница 300 (EJB). Надо:
    public class SimpleSessionBean implements SimpleSession {

    Ошибка в примерах JMS/EJB:
    org.glassfish.appclient.client.acc.UserError: The location ...... could not be opened as an archive; an app client or an enterprise app was expected.
    Решение (для Eclipse):
    При экспорте проекта из Eclipse следует проделать следующие обязательные шаги:
    1. Экспортировать как Jar file, не как Runnable Jar file.
    2. На странице JAR File Specification поставить галочку: Export all output folders for checked project
    3. На странице JAR Manifest Specification поставить галочку напротив Generate the manifest file. Внизу указать Main class: (кнопка Browse...)
    5. Finish.

    Непонятки в главах по EJB, JAX - подробностей не помню, но придётся немного попрыгать с бубном.

    Традиционно - все примеры для буржуев, чтобы заставить их работать с русским текстом приходится снова лезть и инет.
    сентябрь 2015
  • Java сервлеты и JSP. Сборник рецептов

    Брюс У. Перри

    Книжка старенькая, написана в 2004-м году. А это J2EE 1.4 (примеры писались для версии J2EE 1.2.1), Сервлеты 2.4, JSP 2.0, JSTL 1.0 (про 1.1 чуть написано), Tomcat 5, WebLogic 7.0. Плюс её в том, что без лишней теоретической нагрузки даются готовые решения для тех или иных задач, связанных с разработкой веб-серверов.

    По использованию сервлетов инфа интересная. А вот c JSP сложнее. Информация местами конкретно устарела, из-за чего примеры не запускаются. Чтобы их реанимировать - надо изрядно понервничать. Материал по WebLink пролистал. Не актуально.

    По-всей видимости, автор очень спешил, потому что периодически нахожу огрехи кода (переводчик тоже постарался), помню, попалось какое-то явное несоответствие, кажется, что-то связанное с Cookies. Встречается избыточный, не оптимизированный код. Но в целом для ознакомления с возможностями Сервлетов и JSP сойдёт. Правда, к этой книге надо подходить уже немного подготовленным. Хотя бы иметь понятия о сервлетах, и очень желательно иметь хоть немного практики в JSP, если эта технология интересует.

    Информация по доступу к API Google и Amazon совершенно устарела. Зато узнал что такие существуют :)

    Насчёт отправки и получения почты - примеры тоже сразу не заработают. Лучше не тратить время и искать готовые решения в сети.
    август 2015
  • Java. Промышленное программирование

    Игорь Блинов, Валерий Романчик

    По-сути, к этой книге надо подходить уже подготовленным (касается базового курса языка), так как часто приводится фактология без развёрнутых примеров и объяснений. Это учебное пособие а не полноценный учебник по Java.

    Автор временами переходит на академический язык, так что информация воспринимается непросто. Зато есть такие факты, которые не указаны в других источниках. Очень понравилось, что приводятся различия с языком Си.

    Отложил в пользу новой книги.

    В книге 2013-го года от тех же авторов "Java 2. Методы программирования - 2013" охватываемый материал почти тот же. Отчасти он дополнен, отчасти убраны какие-то устаревшие факты.

    Изменения следующие:
    1. Убрано описание новых возможностей Java 5, 6.
    2. Нет заметки про StringTokenizer
    3. Нет странички по классу Arrays
    4. Полностью убрана информация по GUI, событиям, компоновщивам, JavaBeans.
    5. Убраны приложения: HTML, JavaScript, Struts, Портлеты

    При всём при этом отчасти переписан код примеров, текст более читаемый, и книга выросла с 711 до 897 страниц (+86)!!!
    август 2015
  • Thinking in Enterprise Java Revision 1.1 - May 6, 2003

    Bruce Eckel

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

    Не дочитал Сокеты, EJB, RMI.
    июль 2015
  • Изучаем Java (Head First Java) 2-е издание

    Кэти Сьерра, Берт Бейтс

    Ну что сказать. По-мне, так это книга для новичков в Java номер один. Очень просто, наглядно и доходчиво объясняются простые вещи. Из недостатков - авторов иногда заносит и они бросаются рассматривать крайне специфичные вещи вроде проигрывания MIDI музыки и Jini. В остальном же - великолепно.
    март 2015