SlideShare a Scribd company logo
1 of 33
Download to read offline
H f
Rede: __________
Senha: __________
hosted by supported by
● 19:30 Terminal
● 20:00 Coding
● 20:45 Debugging
● 21:00 Sharing
● 21:30 Happy hour
A
T
● Shell basics (Jônatas)
● Tmux (Weverton)T
T ● What is a
multiplexer?
● First steps
● Plugins via TPM
● Tips and tricks
@wevtimoteo
@jonatasdp
● Readline shortcuts
● Aliases
● Functions
● Special variables !!,!$
B
● (CTRL - a) Begin of line
● (CTRL - e) End of line
● (ESC + b) Backward one word
● (ESC + L) Forward one word
● (CTRL - s) Search
● (CTRL - r) Reverse search
● (CTRL - p) Previous line history
R
● alias vim=nvim
● alias be='bundle exec'
● alias bi='bundle install'
● alias g!="git commit -am"
● alias g+="git add"
● alias g-="git rm"
M
kill $(ps aux | grep 'rails' | awk '{print $2}')
function k9(){
kill $(ps aux | grep $1 | awk '{print $2}')
}
k9 rails
B f
!! -> last line
!$ -> last parameter
$! -> first function argument
$* -> all function arguments
B
vim my/file/with/a/deep/path.rb
git add !$
git commit !$ -m “Add deep path file”
!! -> last line
!$ -> last parameter
B
C
● Vim (Weverton e Lucas)
● Guard (Weverton)
● TDD (Mats)
● Benchmarking (Karla)
C
V ● Vi, Vim or Neovim?
● Vimtutor
● VimL
● Plugins management?
Pathogen, Vundle,
Plugged
● Tips and tricks
G
● What is guard?
● guard/listen gem
● Guardfile DSL
● Tips and tricks
@wevtimoteo
TDD
● What is TDD?
● Why TDD?
● When not to use TDD
● Tips and tricks
@g8M guih /guih
TDD
● What is TDD?
● Why TDD?
● When not to use TDD
● Tips and tricks
@g8M guih /guih
TDD
● What is TDD?
● Why TDD?
● When not to use TDD
● Tips and tricks
@g8M guih /guih
B
● New Relic
● Benchmark (Ruby)
karlamaria@gmail.com
require 'new_relic/agent/method_tracer'
class Transformer
include ::NewRelic::Agent::MethodTracer
…
def select_events
…
end
def process_events
…
end
def update_events
…
end
add_method_tracer :select_events, 'Custom/select_events'
add_method_tracer :process_events, 'Custom/process_events'
add_method_tracer :update_events, 'Custom/update_events'
end
require 'benchmark'
class Updater
...
def update
...
end
...
end
class NewUpdater
def update
...
end
...
end
...
Benchmark.bm do |x|
x.report("New Updater") { NewUpdater.new.load(events);nil }
x.report("Actual Updater") { Updater.new.load(events);nil }
end
$ ruby bench_update_events.rb
user system total real
Actual Updater: 1.533333 0.016667 1.550000 ( 1.503462)
New Updater: 1.050000 0.000000 1.050000 ( 0.735473)
● IRB and Pry (Jônatas)
● Code search (Parazito)
with `ag` and `grep`
● Basic usage
● Search in a specific file
● Search the current directory for
all files
● Recursively search directories
● Insensitive case
● Highlight match with color
● Number of occurrences in a file
● grep and regex
● curl and grep
@parazito
● REPL
● binding.pry
● cd object
● ls
● show-method
● exit-program
P
@jonatasdp
S
● Linters (Jônatas, Rafael)
● Better commit messages (Henrich)
● Gitlab workflow (Brodock )
● Code Review (Jaison)
● Docker (Pery)
S
● What is this?
● Why use?
● Ruby Style Guide
R C
● gem pronto
● Add runners
● Repository integration
● formatters
● Running
P
rafael.besen@geekhunter.com.br
● Setup docker &
docker-compose for
rails
● Using Docker with
Rails
● Tips and tricks
● Useful Aliases
D
@perylemke
github.com/perylemke

More Related Content

Similar to Floripa on Rails - dev workflow

Introduction to Griffon
Introduction to GriffonIntroduction to Griffon
Introduction to GriffonJames Williams
 
Specializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network StackSpecializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network StackKernel TLV
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet systemrkhatibi
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet SystemPuppet
 
Devel::hdb debugger talk
Devel::hdb debugger talkDevel::hdb debugger talk
Devel::hdb debugger talkabrummett
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a gitBerny Cantos
 
Introduction of unit test on android kernel
Introduction of unit test on android kernelIntroduction of unit test on android kernel
Introduction of unit test on android kernelJohnson Chou
 
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON
 
Robust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time ChecksRobust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time ChecksStoyan Nikolov
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tipsViller Hsiao
 
Create your own PHP extension, step by step - phpDay 2012 Verona
Create your own PHP extension, step by step - phpDay 2012 VeronaCreate your own PHP extension, step by step - phpDay 2012 Verona
Create your own PHP extension, step by step - phpDay 2012 VeronaPatrick Allaert
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideBKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideLinaro
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰KAI CHU CHUNG
 
Debugging Applications with GNU Debugger
Debugging Applications with GNU DebuggerDebugging Applications with GNU Debugger
Debugging Applications with GNU DebuggerPriyank Kapadia
 
Troubleshooting .net core on linux
Troubleshooting .net core on linuxTroubleshooting .net core on linux
Troubleshooting .net core on linuxPavel Klimiankou
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
Performance Profiling Tools & Tricks
Performance Profiling Tools & TricksPerformance Profiling Tools & Tricks
Performance Profiling Tools & TricksAll Things Open
 

Similar to Floripa on Rails - dev workflow (20)

Introduction to Griffon
Introduction to GriffonIntroduction to Griffon
Introduction to Griffon
 
Specializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network StackSpecializing the Data Path - Hooking into the Linux Network Stack
Specializing the Data Path - Hooking into the Linux Network Stack
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet system
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet System
 
Devel::hdb debugger talk
Devel::hdb debugger talkDevel::hdb debugger talk
Devel::hdb debugger talk
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a git
 
Introduction of unit test on android kernel
Introduction of unit test on android kernelIntroduction of unit test on android kernel
Introduction of unit test on android kernel
 
SECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практикеSECON'2017, Цаль-Цалко Иван, Go на практике
SECON'2017, Цаль-Цалко Иван, Go на практике
 
Robust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time ChecksRobust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time Checks
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
 
Auto Tuning
Auto TuningAuto Tuning
Auto Tuning
 
Kick my mouse away
Kick my mouse awayKick my mouse away
Kick my mouse away
 
Create your own PHP extension, step by step - phpDay 2012 Verona
Create your own PHP extension, step by step - phpDay 2012 VeronaCreate your own PHP extension, step by step - phpDay 2012 Verona
Create your own PHP extension, step by step - phpDay 2012 Verona
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideBKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
 
Debugging Applications with GNU Debugger
Debugging Applications with GNU DebuggerDebugging Applications with GNU Debugger
Debugging Applications with GNU Debugger
 
Troubleshooting .net core on linux
Troubleshooting .net core on linuxTroubleshooting .net core on linux
Troubleshooting .net core on linux
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
Performance Profiling Tools & Tricks
Performance Profiling Tools & TricksPerformance Profiling Tools & Tricks
Performance Profiling Tools & Tricks
 
Go_ Get iT! .pdf
Go_ Get iT! .pdfGo_ Get iT! .pdf
Go_ Get iT! .pdf
 

More from Jônatas Paganini

Extracting a Rails Engine to a separated application
Extracting a Rails Engine to a separated applicationExtracting a Rails Engine to a separated application
Extracting a Rails Engine to a separated applicationJônatas Paganini
 
Onboarding developers on a ful remote environment
Onboarding developers on a ful remote environmentOnboarding developers on a ful remote environment
Onboarding developers on a ful remote environmentJônatas Paganini
 
TDC Floripa 2018 Dev Tests - weak specs
TDC Floripa 2018 Dev Tests - weak specsTDC Floripa 2018 Dev Tests - weak specs
TDC Floripa 2018 Dev Tests - weak specsJônatas Paganini
 
Ensinando e aprendendo com desafios
Ensinando e aprendendo com desafiosEnsinando e aprendendo com desafios
Ensinando e aprendendo com desafiosJônatas Paganini
 
Go Lang migrating billions of documents
Go Lang  migrating billions of documentsGo Lang  migrating billions of documents
Go Lang migrating billions of documentsJônatas Paganini
 
Otimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testesOtimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testesJônatas Paganini
 
XP - eXtreme Programming - 2010
XP - eXtreme Programming - 2010XP - eXtreme Programming - 2010
XP - eXtreme Programming - 2010Jônatas Paganini
 
Apresentação sobre Rails - 2010
Apresentação sobre Rails - 2010Apresentação sobre Rails - 2010
Apresentação sobre Rails - 2010Jônatas Paganini
 
Otimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testesOtimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testesJônatas Paganini
 
4 ferramentas para acompanhar seu app em produção pelo slack
4 ferramentas para acompanhar seu app em produção pelo slack4 ferramentas para acompanhar seu app em produção pelo slack
4 ferramentas para acompanhar seu app em produção pelo slackJônatas Paganini
 
Quando descobri que era programador
Quando descobri que era programadorQuando descobri que era programador
Quando descobri que era programadorJônatas Paganini
 
ø Downtime migrations - Ruby Conf 2015
ø Downtime migrations  - Ruby Conf 2015ø Downtime migrations  - Ruby Conf 2015
ø Downtime migrations - Ruby Conf 2015Jônatas Paganini
 
Tdc cloud computing - RDStation experiences
Tdc cloud computing - RDStation experiencesTdc cloud computing - RDStation experiences
Tdc cloud computing - RDStation experiencesJônatas Paganini
 
Dicas para uma boa impressão 3D
Dicas para uma boa impressão 3DDicas para uma boa impressão 3D
Dicas para uma boa impressão 3DJônatas Paganini
 

More from Jônatas Paganini (19)

Extracting a Rails Engine to a separated application
Extracting a Rails Engine to a separated applicationExtracting a Rails Engine to a separated application
Extracting a Rails Engine to a separated application
 
Onboarding developers on a ful remote environment
Onboarding developers on a ful remote environmentOnboarding developers on a ful remote environment
Onboarding developers on a ful remote environment
 
TDC Floripa 2018 Dev Tests - weak specs
TDC Floripa 2018 Dev Tests - weak specsTDC Floripa 2018 Dev Tests - weak specs
TDC Floripa 2018 Dev Tests - weak specs
 
Ensinando e aprendendo com desafios
Ensinando e aprendendo com desafiosEnsinando e aprendendo com desafios
Ensinando e aprendendo com desafios
 
Go Lang migrating billions of documents
Go Lang  migrating billions of documentsGo Lang  migrating billions of documents
Go Lang migrating billions of documents
 
Otimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testesOtimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testes
 
XP - eXtreme Programming - 2010
XP - eXtreme Programming - 2010XP - eXtreme Programming - 2010
XP - eXtreme Programming - 2010
 
Apresentação sobre Rails - 2010
Apresentação sobre Rails - 2010Apresentação sobre Rails - 2010
Apresentação sobre Rails - 2010
 
Tech for non techs
Tech for non techsTech for non techs
Tech for non techs
 
Otimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testesOtimizando tempo de build: performance da suíte de testes
Otimizando tempo de build: performance da suíte de testes
 
4 ferramentas para acompanhar seu app em produção pelo slack
4 ferramentas para acompanhar seu app em produção pelo slack4 ferramentas para acompanhar seu app em produção pelo slack
4 ferramentas para acompanhar seu app em produção pelo slack
 
Concurrency in Ruby
Concurrency in RubyConcurrency in Ruby
Concurrency in Ruby
 
Quando descobri que era programador
Quando descobri que era programadorQuando descobri que era programador
Quando descobri que era programador
 
Life hacks for productivity
Life hacks for productivityLife hacks for productivity
Life hacks for productivity
 
ø Downtime migrations - Ruby Conf 2015
ø Downtime migrations  - Ruby Conf 2015ø Downtime migrations  - Ruby Conf 2015
ø Downtime migrations - Ruby Conf 2015
 
Tdc cloud computing - RDStation experiences
Tdc cloud computing - RDStation experiencesTdc cloud computing - RDStation experiences
Tdc cloud computing - RDStation experiences
 
Life hacks for productivity
Life hacks for productivityLife hacks for productivity
Life hacks for productivity
 
Dicas para uma boa impressão 3D
Dicas para uma boa impressão 3DDicas para uma boa impressão 3D
Dicas para uma boa impressão 3D
 
ø Downtime migrations
ø Downtime migrationsø Downtime migrations
ø Downtime migrations
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Floripa on Rails - dev workflow

  • 1. H f Rede: __________ Senha: __________ hosted by supported by
  • 2. ● 19:30 Terminal ● 20:00 Coding ● 20:45 Debugging ● 21:00 Sharing ● 21:30 Happy hour A
  • 3. T
  • 4. ● Shell basics (Jônatas) ● Tmux (Weverton)T
  • 5. T ● What is a multiplexer? ● First steps ● Plugins via TPM ● Tips and tricks @wevtimoteo
  • 6. @jonatasdp ● Readline shortcuts ● Aliases ● Functions ● Special variables !!,!$ B
  • 7. ● (CTRL - a) Begin of line ● (CTRL - e) End of line ● (ESC + b) Backward one word ● (ESC + L) Forward one word ● (CTRL - s) Search ● (CTRL - r) Reverse search ● (CTRL - p) Previous line history R
  • 8.
  • 9. ● alias vim=nvim ● alias be='bundle exec' ● alias bi='bundle install' ● alias g!="git commit -am" ● alias g+="git add" ● alias g-="git rm" M
  • 10. kill $(ps aux | grep 'rails' | awk '{print $2}') function k9(){ kill $(ps aux | grep $1 | awk '{print $2}') } k9 rails B f
  • 11. !! -> last line !$ -> last parameter $! -> first function argument $* -> all function arguments B
  • 12. vim my/file/with/a/deep/path.rb git add !$ git commit !$ -m “Add deep path file” !! -> last line !$ -> last parameter B
  • 13. C
  • 14. ● Vim (Weverton e Lucas) ● Guard (Weverton) ● TDD (Mats) ● Benchmarking (Karla) C
  • 15. V ● Vi, Vim or Neovim? ● Vimtutor ● VimL ● Plugins management? Pathogen, Vundle, Plugged ● Tips and tricks
  • 16. G ● What is guard? ● guard/listen gem ● Guardfile DSL ● Tips and tricks @wevtimoteo
  • 17. TDD ● What is TDD? ● Why TDD? ● When not to use TDD ● Tips and tricks @g8M guih /guih
  • 18.
  • 19. TDD ● What is TDD? ● Why TDD? ● When not to use TDD ● Tips and tricks @g8M guih /guih
  • 20.
  • 21. TDD ● What is TDD? ● Why TDD? ● When not to use TDD ● Tips and tricks @g8M guih /guih
  • 22. B ● New Relic ● Benchmark (Ruby) karlamaria@gmail.com
  • 23. require 'new_relic/agent/method_tracer' class Transformer include ::NewRelic::Agent::MethodTracer … def select_events … end def process_events … end def update_events … end add_method_tracer :select_events, 'Custom/select_events' add_method_tracer :process_events, 'Custom/process_events' add_method_tracer :update_events, 'Custom/update_events' end
  • 24. require 'benchmark' class Updater ... def update ... end ... end class NewUpdater def update ... end ... end ... Benchmark.bm do |x| x.report("New Updater") { NewUpdater.new.load(events);nil } x.report("Actual Updater") { Updater.new.load(events);nil } end
  • 25. $ ruby bench_update_events.rb user system total real Actual Updater: 1.533333 0.016667 1.550000 ( 1.503462) New Updater: 1.050000 0.000000 1.050000 ( 0.735473)
  • 26. ● IRB and Pry (Jônatas) ● Code search (Parazito)
  • 27. with `ag` and `grep` ● Basic usage ● Search in a specific file ● Search the current directory for all files ● Recursively search directories ● Insensitive case ● Highlight match with color ● Number of occurrences in a file ● grep and regex ● curl and grep @parazito
  • 28. ● REPL ● binding.pry ● cd object ● ls ● show-method ● exit-program P @jonatasdp
  • 29. S
  • 30. ● Linters (Jônatas, Rafael) ● Better commit messages (Henrich) ● Gitlab workflow (Brodock ) ● Code Review (Jaison) ● Docker (Pery) S
  • 31. ● What is this? ● Why use? ● Ruby Style Guide R C
  • 32. ● gem pronto ● Add runners ● Repository integration ● formatters ● Running P rafael.besen@geekhunter.com.br
  • 33. ● Setup docker & docker-compose for rails ● Using Docker with Rails ● Tips and tricks ● Useful Aliases D @perylemke github.com/perylemke