Monday, March 7, 2016

Предотвращение закрытия окна коммандной строки после выполнения bat файла

Время от времени тебе хочется автоматизировать какой-либо процесс, который повторяется изо дня в день. Это может быть запуск локального веб сервера, redis сервера или ещё что-то.
Один из вариантов, чтобы не вбивать полный путь к программе, которую нужно запустить это в проводнике найти эту папку, затем нажать правой кнопкой мыши и выбрать пункт "Open command window here". Затем нужно достать из закромов длинную-длинную команду с путём к конфиг файлу и остальными параметрами, вставить в консоль и запустить... В общем долго и много телодвижений.
Второй вариант это написать эти все действия в bat файл. Это вариант уже лучше... Стандартное поведение такое: вы запускаете bat файл, он отрабатывает и сразу закрывает себя. Т.е. если нужно прочитать что наш скрипт там наделал или (не дай Бог!) ошибки, окно просто закроется. Что делать?
Довольно часто при запуске в коммандной строке можно увидеть надпить Press Any Key to Continue... Логично делать такую штуку в самом конце, когда нужно просмотреть лог скрипта, чтобы убедиться, что сервер стартанул например и можно работать. Делается это при помощи команды PAUSE. Например:
echo 'Doing some important stuff...'
PAUSE

Другой вариант: у командной строки есть ключ /K. Он позволяет запустить батник, и после этого просто не закрывать окно коммандной строки. Например,
cmd /K test.bat

Для удобства можно сделать ярлык, в котором прописать путь к батнику и /K.
Надеюсь поможет кому-нибудь :)

Tuesday, February 3, 2015

Простая реализация консольного меню на Java

Предисловие

Часто во время разработки нужно сделать консольное меню. Это может быть утилита для пользы проекта, проверка какого-нибудь концепта или свой небольшой проект по ознакомлению с новой технологией. И вот когда я в 10-ый раз начал писать меню, я остановился и задумался: а может просто вынести это всё в библиотеку, да и пусть валяется в локальном репозитории maven'а? Сказано - сделано.

Tuesday, December 30, 2014

Git Aliases

Git умеет делать очень крутую штуку: делать ярлыки для комманд. Например, git status можно сократить до git st.
Парочка комманд, которыми я часто пользуюсь:
Что делает?Как сделать?Пример использования
Пушит изменения в дженкинсgit config --global alias.mp 'push origin HEAD:refs/for/master'git mp
Вывод локальной истории коммитовgit config --global alias.hist 'log --pretty=format:"%ad - %s%d [%an]"--date=short'git hist
git hist --graph (вывод истории с графом)

Сложный Update SQL

Порой нужно обновить данные в одной таблице данными из другой таблицы по какому-то ключу. Для БД SAP HANA можно использовать такой синтаксис
UPDATE table1 t1
SET t1.name=jt.name
FROM table1 t2
JOIN join_table jt on jt.id=t2.id
WHERE t1.id=t2.id;
Для других БД синтаксис похож и его можно посмотреть тут: stackoverflow

Saturday, August 30, 2014

Удаление файла из коммита

Случайно вкомитали файл, которого в коммите быть не должно? Бывает, попробуем убрать ненужный файл.
Для начала удалим наш последний коммит:
git reset --soft HEAD~1
Теперь наш репозиторий находится в состоянии до коммита. Удалим ненужный файл из стейджинга:
git reset HEAD filename
Теперь файл удален из стейджинга и можно спокойно коммитать
Profit!

Wednesday, July 30, 2014

Hello world

Всем привет. Раз уж так много людей начало вести блоги, так может и мне начать? Посмотрим что из этого всего выйдет...