SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
JJ

THE UN-INTEGRATED DEVELOPMENT
ENVIRONMENT
Joel Byler
@joelbyler
January 9, 2014
CodeMash 2.0.1.4
Kalihari Resort
Sandusky, OH

Monday, January 13, 14
WHO AM I?
 





JOEL BYLER

 Aspiring Software Craftsman
 Organizer for Cleveland Ruby

Brigade (aka CleRb)
 Enterprise Java developer
 Actively growing my Ruby and
JavaScript skills

Monday, January 13, 14
WHY DO WE USE AN IDE?
 Syntax Highlighting
 Code Completion
 Refactoring Tools
 Project Navigation
 Debugger

Monday, January 13, 14
ADDITIONAL THINGS AN IDE DOES
 Build on Save
 Run Tests
 Deploy to Server
 Dependency Management

Monday, January 13, 14
THINGS AN IDE SHOULD NOT DO
 Block you from saving
 Make YOU wait!!!
 Interact with social media

5

Monday, January 13, 14
WORKFLOW

Install
dependencies

I want to know when
the tests fail!

Red

Green

Refactor

I also want to know
when the tests pass!

Continuous
integration

Advice here is
always helpful!

6

Monday, January 13, 14
WORKFLOW
Should NOT require a specific IDE
Should not require an IDE at all!
DANGER: what happens when you

depend too much on your IDE?

7

Monday, January 13, 14
DISCLAIMER
During the course of this session we are going to see
a number of tools for various different languages.
I’m not claiming that any of these tools or
techniques are great ideas but these exercises are
intended to give you something to consider the next
time you reach for your IDE and notice how many
things it may be doing for you when you can do
them yourself outside of the IDE.

8

Monday, January 13, 14
EASY TO REMEMBER? 6 “G”S
Growl - notifications
Guard - ruby
Grunt - javascript
Gradle - java
Giles - .net auto tester
Gendarme - .net code analysis

9

Monday, January 13, 14
RUBY
 Dependency Management
 bundler
 Automated Tester
 guard
 Code Analysis
 rubocop

Monday, January 13, 14
BUNDLER=>DEPENDENCY MANAGEMENT
RAKE => TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/BundleInstall.mov

11

Monday, January 13, 14
RUBOCOP=>CODE ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Rubocop.mov

12

Monday, January 13, 14
GUARD=>AUTOMATED TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Guard.mov

13

Monday, January 13, 14
JAVASCRIPT
 Dependency Management
 npm
 Automated Tester
 grunt watch
 Code Analysis
 jshint

Monday, January 13, 14
NPM=>DEPENDENCY MANAGEMENT
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/npm.mov

15

Monday, January 13, 14
GRUNT => TASK RUNNER
JSHINT => CODE QUALITY ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Grunt.mov

16

Monday, January 13, 14
GRUNT WATCH=>AUTOMATED TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/GruntWatch.mov

17

Monday, January 13, 14
JAVA
 Dependency Management
 gradle dependencies { .. }
 Automated Tester
 guard

(gradle is not there yet)
 Code Analysis
 gradle findbugsMain
 Deploy
[bonus]
 gradle jettyRun

Monday, January 13, 14
GRADLE => TASK RUNNER
FINDBUGS => CODE ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Gradle.mov

19

Monday, January 13, 14
GUARD=>AUTOMATED TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/GuardJetty.mov

20

Monday, January 13, 14
C#
 Dependency Management
 Nuget
 Automated Tester
 Giles
 Code Analysis
 Gendarme

Monday, January 13, 14
NUGET=>DEPENDENCY MANAGEMENT
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/nuget.mov

22

Monday, January 13, 14
GILES => AUTOMATED TASK RUNNER
GENDARME => CODE ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/GilesGenarme.mov

23

Monday, January 13, 14
RESOURCES
Demo Source
https://github.com/joelbyler/unintegrated_dev_env
Ruby Rogues - Tool Sharpening
http://rubyrogues.com/129-rr-sharpening-toolswith-ben-orenstein/
Ruby Resources
http://guardgem.org/
http://bundler.io/

Monday, January 13, 14

JavaScript Resources
http://gruntjs.com/
https://npmjs.org/
RESOURCES CONTINUED
Java Resources
http://www.gradle.org/
http://findbugs.sourceforge.net
C# and Visual Studio Resources
http://testergiles.herokuapp.com/
http://nuget.codeplex.com/
http://www.mono-project.com/Gendarme

Monday, January 13, 14
THAT’S A WRAP!
Joel Byler
@joelbyler

Monday, January 13, 14
COME FLOAT WITH US!
Located on a 10,000 square foot boat on the
Cleveland waterfront, our team exemplifies
how Agile values & principles are practiced.
Come float, deliver, and learn with us, or
leverage our expertise to help you change
your company culture.

@leandog

leandog.com

GDI

Monday, January 13, 14

Más contenido relacionado

Destacado

Show an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIShow an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIJoel Byler
 
Spring Boot. Boot up your development
Spring Boot. Boot up your developmentSpring Boot. Boot up your development
Spring Boot. Boot up your developmentStrannik_2013
 
Getting ready to java 8
Getting ready to java 8Getting ready to java 8
Getting ready to java 8Strannik_2013
 
Phan tich tinh hinh cung ung du tru su dungvat tu caoxu
Phan tich tinh hinh cung ung du tru su dungvat tu caoxuPhan tich tinh hinh cung ung du tru su dungvat tu caoxu
Phan tich tinh hinh cung ung du tru su dungvat tu caoxuma ga ka lom
 
Phan tich hoat dong kinh doanh xang dau
Phan tich hoat dong kinh doanh xang dauPhan tich hoat dong kinh doanh xang dau
Phan tich hoat dong kinh doanh xang dauma ga ka lom
 
Spring Web flow. A little flow of happiness
Spring Web flow. A little flow of happinessSpring Web flow. A little flow of happiness
Spring Web flow. A little flow of happinessStrannik_2013
 
Top 10 reasons to migrate to Gradle
Top 10 reasons to migrate to GradleTop 10 reasons to migrate to Gradle
Top 10 reasons to migrate to GradleStrannik_2013
 
Spring.Boot up your development
Spring.Boot up your developmentSpring.Boot up your development
Spring.Boot up your developmentStrannik_2013
 
Serialization and performance in Java
Serialization and performance in JavaSerialization and performance in Java
Serialization and performance in JavaStrannik_2013
 
Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.Velocity Partners
 

Destacado (12)

Show an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIShow an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CI
 
Spring Boot. Boot up your development
Spring Boot. Boot up your developmentSpring Boot. Boot up your development
Spring Boot. Boot up your development
 
3d origami 0813
3d origami 08133d origami 0813
3d origami 0813
 
Getting ready to java 8
Getting ready to java 8Getting ready to java 8
Getting ready to java 8
 
Phan tich tinh hinh cung ung du tru su dungvat tu caoxu
Phan tich tinh hinh cung ung du tru su dungvat tu caoxuPhan tich tinh hinh cung ung du tru su dungvat tu caoxu
Phan tich tinh hinh cung ung du tru su dungvat tu caoxu
 
Phan tich hoat dong kinh doanh xang dau
Phan tich hoat dong kinh doanh xang dauPhan tich hoat dong kinh doanh xang dau
Phan tich hoat dong kinh doanh xang dau
 
Spring Web flow. A little flow of happiness
Spring Web flow. A little flow of happinessSpring Web flow. A little flow of happiness
Spring Web flow. A little flow of happiness
 
Top 10 reasons to migrate to Gradle
Top 10 reasons to migrate to GradleTop 10 reasons to migrate to Gradle
Top 10 reasons to migrate to Gradle
 
Spring.Boot up your development
Spring.Boot up your developmentSpring.Boot up your development
Spring.Boot up your development
 
Serialization and performance in Java
Serialization and performance in JavaSerialization and performance in Java
Serialization and performance in Java
 
Darknet
DarknetDarknet
Darknet
 
Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.
 

Último

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Último (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Un-integrated Development Environment