Показаны сообщения с ярлыком console. Показать все сообщения
Показаны сообщения с ярлыком console. Показать все сообщения

Навигация по истории в терминале

Маленький хак упрощающий навигацию в Linux. Размещаем инструкции в ~/.bashrc:
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
и навигация по истории учитывает набранные до курсора символы.

Шпаргалка по bash


Перечень базовых конструкций bash.

Отдельное спасибо #ite за статьи:

Шпаргалка BASH.pdf

Gradle to Maven


Столкнулся с достаточно редким случаем, когда потребовалось переехать с gradle обратно на maven. Самой неприятной рутиной задачей был перевод описаний зависимостей из однострочного gradle-представления в xml-представление maven.
Представляю свое unix-way решение проблемы. Решение грубое, но может кому сгодится и сэкономит немного времени :)
~$ cat build.gradle | grep compile | sed "s/\(compile '\)\(.*\)\(:\)\(.*\)\(:\)\(.*\)\('\)/<dependency><groupId>\2<\/groupId><artifactId>\4<\/artifactId><version>\6<\/version><\/dependency>/g;"
Под катом небольшое пояснение.

Разбор аргументов командной строки в Java


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

Что такое Unix way?


Что такое "unix way"? Что кроется за этим словосочетанием? Почему идеология, рожденная десятилетия назад, до сих пор является актуальной и позволяет старикам юниксоидам козырять ей перед "оконным" молодняком? Эти вопросы беспокоили меня с первых дней моего знакомства с Linux. Пришла пора поделиться найденными ответами.

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

За границами IDE. Консоль.


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

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

JConsole. Компонент отображения стандартных потоков вывода.

В мире Java существует ни одна библиотека для логирования работы системы. Каждая из них обладает своими преимуществами и недостатками, писать о которых можно бесконечно долго. Но зачастую разработчики избегают использования сложных систем для ведения логов и пользуются проверенными годами (хоть и не лишенными недостатков) методами: выводом сообщений в потоки System.out и System.err.

В любом случае, читать содержимое лог-файлов, каждый раз находя их в директориях системы, не удобно. Куда приятнее видеть как изменяется их содержимое в реальном времени, как это сделано во многих IDE (пример из Eclipse):

В этой статье мы создадим свой компонент для вывода содержимого потоков System.out и System.err. Я постараюсь излагать материал как можно более подробно, чтобы он был понятен даже начинающим java программистам.