Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Produtividade Ninja: Como ZSH e Fabric Mudaram ...
Search
mateusrevoredo
March 21, 2015
Technology
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Produtividade Ninja: Como ZSH e Fabric Mudaram minha forma de trabalhar
mateusrevoredo
March 21, 2015
More Decks by mateusrevoredo
See All by mateusrevoredo
Bootstrapping web applications without Bootstrap
mateusrevoredo
0
130
Cloud Computing Com Amazon Web Services
mateusrevoredo
1
80
Desenvolvendo Aplicações Metro
mateusrevoredo
2
170
Bugzilla
mateusrevoredo
4
160
ASP.NET MVC Keynote
mateusrevoredo
1
130
Casos de Uso e Cenário
mateusrevoredo
1
110
Other Decks in Technology
See All in Technology
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
11
8.4k
TypeScript入門 2026
recruitengineers
PRO
2
490
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
550
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
230
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
ホームラボ紹介
y_sera15
0
110
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
5
1.4k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
Webアクセシビリティ入門 2026
recruitengineers
PRO
2
450
ラジオの科学
frievea
0
280
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
630
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Faster Mobile Websites
deanohume
310
32k
The SEO identity crisis: Don't let AI make you average
varn
0
530
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
The Language of Interfaces
destraynor
162
27k
The Curse of the Amulet
leimatthew05
2
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Cult of Friendly URLs
andyhume
79
7k
Skip the Path - Find Your Career Trail
mkilby
1
180
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Transcript
Produtividade Ninja: COMO ZSH E FABRIC MUDARAM MINHA FORMA DE
TRABALHAR
E quem é tu que eu nunca vi?
MATEUS REVOREDO * TECNÓLOGO EM ANÁLISE EM DESENVOLVIMENTO DE SISTEMAS
* MESTRANDO EM ENGENHARIA DE SOFTWARE * TRABALHANDO COM TI DESDE OS 13 ANOS * APPLE FANBOY * PROGRAMADOR PHP * CERTIFICADO MICROSOFT
PARA OS STALKERS DE PLANTÃO @mateusrevoredo ▸ github ▸ facebook
▸ linkedin ▸ twitter
E desde quando tu é Pythonista pra falar dessas coisas?
JOGO
GUESS THE BROWSER A FUN GAME FOR ALL THE FAMILY
None
None
None
None
None
None
None
None
None
None
Produtividade Ninja: COMO ZSH E FABRIC MUDARAM MINHA FORMA DE
TRABALHAR
PRIMEIRO DE TUDO: O que é ZSH?
"Zsh is a shell designed for interactive use, although it
is also a powerful scripting language." — http://www.zsh.org/
"Substituto do bash para os fortes !" — Mateus
None
None
INSTALADO POR PADRÃO NO MAC * * JUST TYPE "ZSH"
FACILMENTE INSTALÁVEL NO LINUX
Meu ZSH é muito mais cool do que seu Shell!
POR QUÊ?
Produtividade
AUTOCOMPLETE
None
None
None
None
None
* AUTOCOMPLETE INCRÍVEL * HISTÓRICO COMPARTILHADO * AUTOCORRETOR PARA COMANDOS
CONHECIDOS * CUSTOMIZAÇÃO VIA Plug-ins
VOCÊ DISSE PLUG-INS?
Meus Favoritos
OH MY ZSH
None
.ZSHRC
cd ~/.oh-my-zsh/plugins git clone urldogitsuperdifícildedecorar
ANTIGEN
▸ antigen bundle githubusername / projectname ▸ antigen bundle zsh-users/zsh-syntax-
highlighting ▸ antigen bundle Tarrasch/zsh-mcd
Z
"z is the new j, yo" — https://github.com/rupa/z
None
None
LAST WORKING DIR
None
None
SUDO
None
WTF!
+
None
None
BULLET TRAIN
None
˜/.ZSHRC ˜/.OH-MY-ZSH ˜/.ANTIGEN
˜/.TMUX.CONF ˜/.VIMRC ...
MINHA NOSSA! QUANTOS ARQUIVOS DE CONFIGURAÇÃO!
DOTFILES
DOTBOT [DOT] FILES [BO]O[T]STRAPPER
DOTBOT
YAML - link: ~/.config/terminator: create: true path: config/terminator/ ~/.vim: vim/
~/.vimrc: vimrc ~/.zshrc: force: true path: zshrc
Massa!
Mas o que Python tem a ver com isso tudo?
PRODUTIVIDADE != AGILIDADE
1. TERMINAL SUPERMEGAÁGILELEGAL 2. CUSTOMIZAÇÃO AUTOMÁTICA 3. CONFIGURAÇÃO AUTOMÁTICA
FABRIC
"Fabric é uma biblioteca Python e ferramenta de linha de
comando para simplificar o uso de SSH para administração do sistemas" — http://www.fabfile.org/
FABFILE ESCRITO EM PYTHON !
FABFILE.PY from fabric.api import run def host_type(): run('uname -s')
fab -H localhost,linuxbox host_type [localhost] run: uname -s [localhost] out:
Darwin [linuxbox] run: uname -s [linuxbox] out: Linux
from fabric.operations import local as lrun, run from fabric.contrib.files import
exists from fabric.api import * from fabric.state import env @task def vagrantbox(): env.hosts = ['127.0.0.1:2222'] env.user = 'vagrant' env.password = 'vagrant' @task def install(): execute(install_zsh) execute(install_ohmyzsh) execute(clone_dotfiles_repository) execute(run_dotbot) @task def install_zsh(): sudo('yum -y install zsh') @task def install_ohmyzsh(): run('wget --no-check-certificate http://install.ohmyz.sh -O - | sh') @task def clone_dotfiles_repository(): run('git clone --recursive https://github.com/mateusrevoredo/dotfiles.git ~/.dotfiles') @task def run_dotbot(): with cd('~/.dotfiles'): run('sh install')
fab vagrantbox
WOW
EM RESUMO
PRODUTIVIDADE CONFIGURAÇÃO AUTOMAÇÃO
ZSH DOTBOT FABRIC
?