Обожаю трюки и лайфхаки. Каждый раз радуюсь, когда удается упростить очередную рутинную операцию. А так как работаю я, вот уже 8 лет, веб-программистом, то рутинные операции и лайфхаки у меня программерские. Вот этим и хочу с вами поделиться.
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.
Таким образом я ищу файлы в папке по расширению рекурсивно:
файлы с размером выше чем 1 мегабайт:
Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
Сначала новая команда
и вот мы уже можем генерировать собственный файл. И больше никаких pyc файлов!
Пользователям Windows немного сложнее
Если вы не хотите читать раздел из предыдущего трюка про Windows по причинам не связанным с использованием других операционных систем, то для вас у меня есть приятный сюрприз.
Babun — вполне себе приличная реализация эмулятора терминала. Из плюсов: интеграция с oh-my-zsh и пакетный менеджер.
Очень часто пользуюсь данным сервисом. Никак не могу запомнить значения флагов. Сервис может объяснить из чего состоит например вот такая штука:
Чтобы запустить веб-сервер с корнем из текущей папки:
или установить BrowserSync
PHP тоже работает
и Ruby:
и для любителей:
Для правильной работы нужен установленный IIS и путь из корня.
Если этого разнообразия не хватило, то всегда можно найти еще
Эта штука меня много раз выручала. Работает поверх SSH, создает поддомен по которому клиент может увидеть ваше веб-приложение. Работает довольно медленно. Но работает. Это главное. Есть еще нечто похожее, но платное.
Предварительно скачиваем бинарник с официального сайта. Заходим в папку с бинарником. Выполняем.
В ответ сервис пришлет домен, по которому приложение доступно из вне.
В oh-my-zsh есть прекрасный плагин, который позволяет работать с git. Также он создает алиасы для часто используемых команд. Чтобы посмотреть полный список сокращений и их расшифровок можно сделать так.
Это только малая часть того, из того, что реально использую. Если данная тема будет интересна, то я обязательно напишу вторую часть.
ungit — графический интерфейс с git
localtunnel.me — еще одна штука для привязывания внешнего домена через SSH, аналог ngrok
В bash тоже можно использовать синтаксис **, для этого нужно обновить версию Bash до 4.x и включить нужную опцию (shopt -s globstar)
Обновление 1: исправил ошибки, теперь все должно работать нормально
Обновление 2: добавил раздел с хаками пользователя
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.
Использование ** в zsh
Таким образом я ищу файлы в папке по расширению рекурсивно:
ls **/*.json
файлы с размером выше чем 1 мегабайт:
ls -lh **/*(Lm+1)
Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
git rm --cached **/*.pyc
Генерация. gitignore при помощи сервиса gitgnore. io
Сначала новая команда
git config --global alias.ignore '!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi'
и вот мы уже можем генерировать собственный файл. И больше никаких pyc файлов!
git ignore sass,node,python,django
Пользователям Windows немного сложнее
Oh-my-zsh в Windows
Если вы не хотите читать раздел из предыдущего трюка про Windows по причинам не связанным с использованием других операционных систем, то для вас у меня есть приятный сюрприз.
Babun — вполне себе приличная реализация эмулятора терминала. Из плюсов: интеграция с oh-my-zsh и пакетный менеджер.
Разбор bash выражения при помощи сервиса explainshell.com
Очень часто пользуюсь данным сервисом. Никак не могу запомнить значения флагов. Сервис может объяснить из чего состоит например вот такая штука:
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l 2>/dev/null; done
Быстрый запуск веб сервера из консоли
Чтобы запустить веб-сервер с корнем из текущей папки:
python -m SimpleHTTPServer 8000
или установить BrowserSync
npm i -g browser-sync && browser-sync start --server
PHP тоже работает
php -S 127.0.0.1:8000
и Ruby:
ruby -run -e httpd -- -p 5000.
и для любителей:
C:\> "C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000
Для правильной работы нужен установленный IIS и путь из корня.
Если этого разнообразия не хватило, то всегда можно найти еще
Показать клиенту результат своей работы, со своего компьютера при отсутсвии выделенного IP
Эта штука меня много раз выручала. Работает поверх SSH, создает поддомен по которому клиент может увидеть ваше веб-приложение. Работает довольно медленно. Но работает. Это главное. Есть еще нечто похожее, но платное.
Предварительно скачиваем бинарник с официального сайта. Заходим в папку с бинарником. Выполняем.
./ngrok http 3000
В ответ сервис пришлет домен, по которому приложение доступно из вне.
Использование алиасов в командной строке для работы с git.
В oh-my-zsh есть прекрасный плагин, который позволяет работать с git. Также он создает алиасы для часто используемых команд. Чтобы посмотреть полный список сокращений и их расшифровок можно сделать так.
alias | grep git
Это только малая часть того, из того, что реально использую. Если данная тема будет интересна, то я обязательно напишу вторую часть.
Полезности из комментариев
ungit — графический интерфейс с git
localtunnel.me — еще одна штука для привязывания внешнего домена через SSH, аналог ngrok
В bash тоже можно использовать синтаксис **, для этого нужно обновить версию Bash до 4.x и включить нужную опцию (shopt -s globstar)
Обновление 1: исправил ошибки, теперь все должно работать нормально
Обновление 2: добавил раздел с хаками пользователя