Установка Oracle Java Development Kit в Linux

Есть несколько способов установить Oracle JDK в Linux. И всякий раз, когда мне приходится выполнить эту процедуру, я забываю каждый из найденых мною когда-то способов. Надоело. Пусть все будет в одном месте.

Стоит ли IT-шнику идти в армию?

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

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

Естественно, все ниже изложенное носит исключительно субъективный характер.

Служу России!


Пришло время отдать долг Родине. Университет позади и ближайший год я буду развлекать себя выполняя роль рядового Российской армии. Надеюсь время пролетит не заметно и я не успею забыть как писать Hello world!

Как разделить модульные и интеграционные тесты с помощью Maven


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

В этой статье хотелось бы поделиться опытом ее использования.

JUnit, параметризованные тесты и Spring IoC


Чтобы не подымать руками контекст Spring-а в каждом модульном тесте на JUnit, был придуман SpringJUnit4ClassRunner. Но его использование делает невозможным применение еще одного очень плезного запускальщика тестов: Parameterized. И тут возникает проблема, как усидеть на двух стульях сразу: писать параметризованные тесты и пользоваться Spring.

Интеллектуальные системы. Алгоритм поиска оптимального хода в игре Крестики-нолики

Уверен, многие успели насладиться великолепным квестом  Machinarium. Вы наверняка помните того робота, которого надо было обыграть в баре, чтобы получить необходимые болтики. Так вот, игра, в которую его надо было обыграть, очень похожа на  крестики-нолики, но имеет поле 10 на 10 и продолжается, пока один из игроков не выстроит ряд из пяти фигурок.

Продолжая тему интеллектуальных систем, предлагаю написать алгоритм для игры в крестики-нолики по правилам, предложенным в Machinarium.

Сыграть!

Mylyn. Подключаемся к Bitbcaket Issues

Не стану рассказывать зачем нужны и почему удобны системы отслеживания ошибок. О том, что такое Mylyn и почему это хорошо, можно почитать на хабре. В статье я лишь расскажу как подружить между собой mylyn и сервис Issues с Bitbucket.org

Компонент JGraphTree

Компонент JGraphTree позволяет отрисовывать деревья, представленные стандартным интерфейсом TreeModel, в виде графа. Компонент писался под собственные нужды и на идеальное исполнение не претендует. Архив с исходным кодом, документацией и библиотекой с компонентом можно взять тут. Под катом пример использования компонента и небольшие пояснения к его устройству.

Maven. Плагины для сборки простых проектов

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

Как построить дерево в виде графа

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