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

Алексей Золотых

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

Алексей Золотых

Лайфхаки V2

Алексей Золотых

bash.im/quote/436725

bash.im/quote/436725

  • smack-my-bitch-up.sh
  • kumar-mudak.sh
  • badun.sh
  • coffe-blyat.sh

Выгорание

Диагностика

wakatime.com

Alfred

Alfred

Spotlight

Для Windows есть Wox

www.wox.one

Почему я все еще пользуюсь Alfred?

Когда забыл сигнатуру функции

X in Y learnxinyminutes.com

Как работает foldr в haskell


-- foldl is left-handed, foldr is right-handed
foldr (\x y -> 2*x + y) 4 [1,2,3] -- 16
          
Списки возвращаются
Awesome

awesome + <то, что я изучаю>

Лист листов

awesomelists.top

Найди мне такое же, только бесплатно

alternativeto.net

Проблема под другим углом

80 репо скучнонудной работы
Написать свое решение

Пара дней работы и готово

Unix way

Работа с репозиториями


ls -d */ | parallel 'git -c {} pull'
            


ls -d */ | parallel 'cd {} && npm install'
            


ls -d */ | parallel 'cd {} && pub get'
            

Бампнуть версию пакета в 100 репо...


ls -d */ | parallel 'cd {} && yq w -i pubspec.yaml dev_dependencies.mockito 4.0.0'

Бесценно

GNU Parallel

www.gnu.org/software/parallel/

yq — yaml

github.com/mikefarah/yq

jq — json

stedolan.github.io

— Что мне делать!? Я ничего не понял!

explainshell.com

tldr

tldr.sh/

tldr

npm install -g tldr
Снижаем градус...
А что если встроить IDE в консоль, а не консоль в IDE

Повседневная работа

  • Tab + Zsh + OhMyZsh

Zsh

http://www.zsh.org/

Повседневная работа

  • Tab + Zsh + OhMyZsh
  • Ctrl + R

Повседневная работа

  • Tab + Zsh + OhMyZsh
  • Ctrl + R
  • Ctrl + X, Ctrl + E

Повседневная работа

  • Tab + Zsh + OhMyZsh
  • Ctrl + R
  • Ctrl + X, Ctrl + E
    
      export EDITOR='subl -w'
      export VISUAL='subl -w'
                  
  • Ctrl + L

Любимое

FZF + z

Список рецептов на все случаи жизни

github.com/junegunn/fzf/wiki/examples

Соединяем десктопные приложения
seq 1000 |  parallel 'curl ...'

Git


#~/.gitconfig
[alias]
  ignore = "!gi() { 
    curl -L -s https://www.gitignore.io/api/$@ ;
  }; gi"
          

[mergetool "intellij"]
  cmd = /Applications/WebStorm.app/Contents/MacOS/webstorm merge \
  $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") \
  $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") \
  $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") \
  $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED") \
  && read -n 1 -s
          

[mergetool "vscode"]
  cmd = code --wait $MERGED
          

[merge]
  tool = intellij

          #  Когда есть конфликт
          git mergetool
          

# разрезолвить все  конфликты в подпапках
for d in `ls -d */` ; do (cd "$d" && git mergetool); done
          

Git standup

github.com/kamranahmedse/git-standup

git-standup -d 3
git-standup -d 3 | pbcopy

Docker


version: '3.3'
services:
   db:
     image: mysql:5.7
     ...
     environment: ...
   wordpress:
     ...
     volumes:
       - ./themes:/var/www/html/wp-content/themes
     ... 
volumes:
    db_data:
          

autosave

https://tinyurl.com/q8x7mcj

serveo.net


          ssh -R 80:localhost:3000 serveo.net
          

А что если взять еще шире?

Zapier

Zap

Webhook 2 Slack

Отправляем standup в Slack


            export a=$(sh -c 'cd ~/all2/ && git-standup -d 3');
            http \
              https://hooks.zapier.com/hooks/catch/!!l/!!p/ \
              message=\"$a\"
          

httpie.org

Автоматизаторы процесса

Спасибо!

Алексей Золотых: aazolotyh@gmail.com

zolotyh.github.io/lifehacks/