Slide 1

Slide 1 text

ENTWICKLER SHORTCUTS CONSOLE TRICKS

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

... wie war es nochmal?

Slide 4

Slide 4 text

VERLAUF

Slide 5

Slide 5 text

FUZZY FINDER https://github.com/junegunn/fzf

Slide 6

Slide 6 text

HISTORY hist (history) hist --all (-a) hist -T (--tail) 20 hist -G (--grep) (REGEX) hist -r (--replay) 14..16 hist -n (--no-numbers) # "hh", "hist -a -T30" # "hn", "hist -a -T30 -n" # "hg", "hist -a -G" # "hr", "hist -a -r" # CTRL + R

Slide 7

Slide 7 text

COPY/PASTE

Slide 8

Slide 8 text

VERKLEINERUNG DER SCHRIFTGRÖSSE

Slide 9

Slide 9 text

PBCOPY / PBPASTE foo = '123' `echo #{foo} | pbcopy` `echo #{ISO3166::Country.all} | pbcopy` # fails IO.popen('pbcopy', 'w') { |f| f << ISO3166::Country.all } bar = `pbpaste`

Slide 10

Slide 10 text

PRY-CLIPBOARD # gem 'pry-clipboard' Clipboard.copy Array.methods foo = Clipboard.paste # "cc", "copy-history -T -2 -l" # input und output

Slide 11

Slide 11 text

sublime copy-clip

Slide 12

Slide 12 text

OUTPUT

Slide 13

Slide 13 text

DARSTELLUNGSMÖGLICHKEITEN puts #foo.to_s p #foo.inspect pp # pretty print j/jj # pretty json

Slide 14

Slide 14 text

TABELLARISCHE DATEN

Slide 15

Slide 15 text

INSPEKTOREN list-inspectors change-inspector # default, simple, clipped # custom: awesome, hirb, special_cases

Slide 16

Slide 16 text

INSPEKTOREN - SONDERFÄLLE Pry::Inspector::MAP['default_with_special_cases'] = { description: 'provides extra info for some models', value: proc do |output, value, _pry_| case value when User puts "\e[34m #{ value.role } #{ value.email } \e[0m\n -------- \n" end Pry::DEFAULT_PRINT.call(output, value, _pry_) end }

Slide 17

Slide 17 text

PROMPT

Slide 18

Slide 18 text

PROMPTS list-prompts change-prompt # simple, nav, none # custom: rails_app, memory

Slide 19

Slide 19 text

UMGEBUNG PROMPT

Slide 20

Slide 20 text

ARBEITSSPEICHER PROMPT

Slide 21

Slide 21 text

FARBEN

Slide 22

Slide 22 text

FARBCODES http://stackoverflow.com/questions/1489183/colorized-ruby-output

Slide 23

Slide 23 text

WARNUNGEN be rails c The meta-request gem can cause a SystemStackError: stack level too deep when saving a shop record. See https://github.com/rgeo/activerecord-postgis-adapter/issues/81 Loading development environment (Rails 4.2.6)

Slide 24

Slide 24 text

EMOJI!

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

DEBUGGING

Slide 28

Slide 28 text

ERKUNDEN show-source ls cd find-method Foo._tab_autovervollstaendigung edit -p Foo # $EDITOR

Slide 29

Slide 29 text

DOCS / MODELLE # gem 'pry-doc' ? Array#reduce (alias show-doc) show-middleware show-model show-models show-routes

Slide 30

Slide 30 text

binding.pry whereami caller # gem 'pry-byebug' # break, step, next, finish, continue # backtrace, up, down, frame

Slide 31

Slide 31 text

BETTER ERRORS

Slide 32

Slide 32 text

WARTEN

Slide 33

Slide 33 text

BENACHRICHTIGUNGEN NACH LANGEN PROZESSEN # gem 'terminal-notifier' def ping_when_finished(&block) block.call if block_given? `say fertig` `terminal-notifier -message "finished" -sound default -timeout 5` end

Slide 34

Slide 34 text

TQDM https://github.com/powerpak/tqdm-ruby

Slide 35

Slide 35 text

KONFIGURATION

Slide 36

Slide 36 text

.PRYRC isolieren eingebautes Cheatsheet

Slide 37

Slide 37 text

ABKÜRZUNGEN

Slide 38

Slide 38 text

FIND MY DEV module FindMyDev def fer self.find_by(first_name: "Fernando", last_name: "Sainz") end def important_client # .... end end User.extend(FindMyDev) if Rails.env.development?

Slide 39

Slide 39 text

FIND MY DEV User.fer City.bonn Company.haribo # ...

Slide 40

Slide 40 text

DEV TOOLS LEISTE

Slide 41

Slide 41 text

DEV TOOLS LEISTE Routes Emails Sidekiq Styles Sprachenschalter Impersonieren / Role Switch Zeitreisen

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

1 CLICK SETUP

Slide 44

Slide 44 text

DANKE! Fernando Sainz fsainz.com