Creativity

Innovation

Originality

Imagination

 

Salient

Salient is an excellent design with a fresh approach for the ever-changing Web. Integrated with Gantry 5, it is infinitely customizable, incredibly powerful, and remarkably simple.

Download

Статья опубликована на DOU

Поделюсь с вами пятью книгами, которые, по моему разумению, стоит прочитать Enterprise Java разработчику.

Мартин Фаулер: «Рефакторинг. Улучшение существующего кода»

Книга на все времена. Только прочитав ее, разработчик начинает понимать что-то в своем коде и самое главное — понимать, какую фигню он до этого писал. Да, книга слегка тяжеловата, и слишком растянутые примеры мешают, но из песни слова не выкинешь — если вы ее не читали — прочтите непременно.

Роберт К. Мартин: «Чистый код: создание, анализ и рефакторинг. Библиотека программиста»

Первая книга, которую должен прочитать любой разработчик, только вылезая из пеленок. Книга научит ценить качество кода, привьет верные ориентиры и научит не есть желтый снег. Меня часто спрашивают — вот я научился писать код и что дальше? Вот и ответ — читайте чистый код и будет вам счастье. :)

Роберт К. Мартин: «Agile Software Development: principles patterns and practices»

Вторая книга в этом обзоре от Роберта Мартина. По-хорошему — ее одной было бы достаточно вместо всех предыдущих. Книга прекрасна во всем — строго структурирована, емкие, короткие фразы, ни единого лишнего слова, авторские иллюстрации с легким и интеллигентным юмором. Но есть две проблемы. Первая — она отвратительно переведена на русский язык. Хуже я перевода не видел вообще, поэтому название даю на английском — на русском ее читать не имеет никакого смысла. Достаточно сказать, что один принцип там вообще переведен в противоположном от оригинала смысле. Естественно, авторское оформление и рисунки потеряны. А вот в оригинале — мастрид, однозначно. Даже держать книгу в руках приятно.

Мартин Фаулер «Шаблоны корпоративных приложений»

Следующая книга из нашего обзора подойдет для тех, кто уже поработал на галерах и даже перестал краснеть за свой код, ну по крайней мере делает это не часто. В этот момент разработчик понимает, что от решения локальных проблем надо переходить к пониманию построения архитектуры приложений в целом. К сожалению, хороших книг, обучающих декомпозиции предметной области я практически не знаю. Эта книга — не про декомпозицию, а про типовые решения для Enterprise разработки. Но и из нее можно сделать большое количество выводов и многому научиться. Честно говоря, я ее читал в русском переводе и был не впечатлен. Переведена она существенно хуже, чем рефакторинг, так что наверняка лучше читать в оригинале. Кстати, по материалу этой книги я скоро буду проводить тренинг в Киеве, приходите. Буду рад вас видеть. :)

Kent Beck «Extreme Programming Explained: Embrace Change»

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

Естественно, ХР — это вообще не про Enterprise, это про организацию всей команды. Ну и по естественным причинам — в Enterprise эта тема возникает в первую очередь — команды большие. Задачи длинные и сложные. Нужно как-то в этом всем разбираться. ХР сейчас в чистом виде встречается крайне редко, однако принципы Agile разработки — то, что должен знать любой разработчик. И лучше Кента Бека их не объяснит никто, на мой вкус.

Add a comment

Меня новички часто спрашивают, какой Java IDE пользоваться. Решил не повторять каждому, а оставить тут

Выбор IDE - любимый вопрос для холиваров. А разгадка простая - что значит "лучше"? Самая удобная, имхо - IDEA. Но я лично пользуюсь Eclipse и ее же заставляю учить своих студентов. По двум причинам: 
1. Идея - слишком умная. Она частенько делает за вас какие-то вещи, которые в редких случаях, но оказываются весьма неверными. и вы тратите тонны времени на то, чтобы найти, что же она таки натворила и это исправить. Даже если это случается редко (а так и есть) для энтерпрайза, имхо, это неприемлемо. 
2. в некоторых компаниях ее запрещают использовать просто из-за того, что бесплатная версия идеи бесплатна вообще-то только для НЕ КОММЕРЧЕСКОГО использования. А вы вообще-то на работе занимаетесь именно коммерческой разработкой. И вы в таком случае внезапно оказываетесь без любимого инструмента. Eclipse доступен всегда и везде.
Но решать в любом случае вам.
NetBeans не советую - он достает периодическими странными выходками. 
А вообще-то, на определенном уровне вам придется осваивать все известные науке IDE. Просто чтобы не мучиться перенастраивать проект под себя, а взять и работать. У меня например - все 4 IDE (Eclipse, IDEA, NetBeans, JDeveloper) стоят на машине :)

 

Апдейт: Я смотрю набежали сплошняком сеньоры и начали обсуждать. какую IDE они используют. Успокойтесь, рыцари добра. Этот пост не для вас. Вы будете работать в том, в чем захотите или в том, что потребует проект (например, если вы работаете Oracle SOA Suite, то у вас JDeveloper - на мой вкус худшая из доступных Java IDE) и вы не ноете. А новичка все-таки лучше сориентировать именно на Eclipse - она используется на многих проектах, на ее базе разрабатывают IDE для разных других вещей (например - FLEX Builder) и она ничего практически не делает за разработчика. заставляя его самого шевелить мозгами. Я как преподаватель одобряю. Все, больше в споре не участвую.

Add a comment

Сегодня мы публикуем статью , человека, который недавно начал изучать Java. Думаю, что это будет интересно таким же новичкам, как и он. Итак, встречайте

 

AlexNNovak

 

Работа с XML, что же в этом направлении на сегодняшний момент времени написано очень много статей с примерами и примеров со статьями, некоторое из них лучше, некоторые хуже, некоторые можно сказать совсем отвратительные. Отвратительные они в том плане, что читающий их человек может совершенно бездумно скопировать пример описанный в статье и так же, не задумываясь и не углубляясь в подробности изменив два значения его использовать.  «А что в этом плохого?» совершенно справедливо спросите Вы, «Взял мол, готовый кусок кода, подправил под свои потребности и используй!», вот тут то и заключается «плохо». Используя чужой код Вы отвыкаете думать сами, и я не подразумеваю библиотеки сторонних разработчиков, я имею ввиду конкретно код примеров из статей.  Ну да ладно, я отвлекся и хватил немного в сторону.

 

Add a comment

Последнее время я много катался по стране, выступая с разными лекциями. И при выборе темы выступления устроители чаще всего просили: «Расскажите нашим студентам — какой язык программирования выбрать?» Так что несколько раз с этой темой я выступал, а потом и с DOU ко мне обратились с просьбой написать по этой теме статью. В общем-то вы сейчас эту статью и читаете.

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

Add a comment

Начало у нас будет простое. Для чего мы работаем? Если кто-то скажет "для удовольствия", "для того, чтобы узнать что-то новое" или не приведи Господи "чтобы работать в  команде", киньте, пожалуйста в него чем-нибудь тяжелым. Зачем этот HR к нам пришел? Самое главное и не надо этого стесняться, мы работаем ради денег. Так вот, цель определили. Теперь как к ней идти.

 

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

Add a comment