The blog about containerisation, virtual machines and useful shell snippets and findings

Лайфхаки для веб-разработчика

Обожаю трюки и лайфхаки. Каждый раз радуюсь, когда удается упростить очередную рутинную операцию. А так как работаю я, вот уже 8 лет, веб-программистом, то рутинные операции и лайфхаки у меня программерские. Вот этим и хочу с вами поделиться.
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.

Использование ** в 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: добавил раздел с хаками пользователя