SlideShare a Scribd company logo
1 of 45
Learning to
be
IDE Free
DAVID WESST
What are we doing?
David Wesst
The Point
The Point
Goals for Today
 Dissect and understand your IDE
 Understand what you "need" and what you "want" as a developer
 Show you some tools you might not have seen
 Create a dialogue about our tools of choice
Cross Platform Presentation
 Java
 Also applies to:
 JavaScript / NodeJS
 ASP.NET
 Many, many, others
The Toolbox
What is in the IDE?
 Source Control
 Code Editor
 Project Template
 Dependency Management
 Compilers
 Test Runner
 Deployment
My Tools
 Java JDK
 Atom
 Maven 3.3.3
 ConEmu+ Cygwin
 Git / CVS
 NodeJS / NPM
 azure-cli
Demo
WELCOME TO THE TERMINAL
Source
Controlling the Source
Git
SVN
Mercurial
TFS
…CVS
Demo
USE THE SOURCE  SHAMELESS STAR WARS PUN
Code
THE POWER OF AN EDITOR
Code Slinging
 VIM, Emacs,
 Atom.io, Visual Studio Code, Notepad++, jEdit
Code Slinging
 What should your editor do for you?
 <audience answers here>
Code Slinging
 What should your editor do for you?
 Syntax Highlighting
 Compiler Errors / Language Linter
 Simplify File Management
 Autocomplete
 Intellisense
 Source Control Management
 Improve Productivity and Understanding!
Demo
PICKING AND UNDERSTANDING AN EDITOR
Test / Build / Run
Project Templates & Dependencies
 Java
 Maven, Gradle
 JavaScript
 NPM (Server) & Bower (Client)
 Express, Ember-Cli, etc…
 .NET
 Nuget, Chocolately
 DNX (.NET eXecution Environment)
Project Templates & Dependencies
 Maven
 Project Templates with archetypes
 Basic Commands (clean install and test)
 Manages Dependencies Consistently(Installs and Downloads across
machines)
 Check notes for POM and command details
Project Templates & Dependencies
 Yeoman
 Generators for any type of project on any platform
 Java (Jhipster)
 .NET (aspnet, aspnetdnx, aspnetdnx2)
 JavaScript (angular-fullstack, express)
 You can even write your own!
Red Light / Green Light (Test)
 Testing Framework + Test Runner
 Java
 JUnit or TestNG + Maven
 JavaScript
 Jasmine / Mocha with Chai / Qunit + NPM
 .NET
 NUnit or MSTest + Test Runner
Red Light / Green Light (Test)
 Testing Framework + Test Runner
 Java
 JUnit or TestNG + Maven
 JavaScript
 Jasmine / Mocha with Chai / Qunit + NPM
 .NET
 NUnit or MSTest + Test Runner
Demo
MAVEN FOR FUN!
Plugins
MAKING DEVELOPMENT EASIER SINCE…FOREVER
Plugins
 “Plugins”
 a.k.a. packages, gems, extensions, etc…
 Executables or shortcuts to tools and/or scripts that make tools quicker
to access and use
 Make up the bulk of the power of an IDE
 Examples
 Eclipse -> Run
 Visual Studio -> F5
Plugins
 “Plugins”
 Tools should be understood and explored prior to use
 Do you know what you’re adding to the project?
 …or
 Are you actually adding anything to the project (unintended or
otherwise)?
Demo
MORE MAVEN-Y GOODNESS
The Point
Quick Recap
 If you can use it from the terminal, you can script it
 Script = Code
 Any Tool should enhance your developer skill, not dull them
 Ask the question:
 Am I adding something to the project (intentionally, or unintentionally)
Quick Recap
 Be comfortable with your terminal
 Source Control is _always_ a terminal solution
 Code Editor is nothing more than a Text Editor
 Templates and Dependencies can be managed with tools
 Which tool does your team use?
 Plugins are powerful
 Just don’t let them dull your skills
Goals for Today
 Dissect and understand your IDE
 Understand what you "need" and what you "want" as a developer
 Show you some tools you might not have seen
 Create a dialogue about our tools of choice
The Point
Call to Action
 Open up your terminal and give it a shot
 Identify what tools you and your team are using
 Can they be used from the command line (I bet they can)
 What does your IDE do for you other than edit code?
 Can you script your common project tasks?
 .sh, .cmd, or otherwise
The Point
 Know what your IDE can do
 Learn the tools themselves, not just how to open the toolbox
 Terminal / Basic Code Editor is a great way to start
 Become a cross-platform developer by applying your development
knowledge across platforms!
Who am I?
 David Wesst
 University of Manitoba, Application Developer
 Slides and Source Available Online

More Related Content

What's hot

The state of testing @ Microsoft
The state of testing @ MicrosoftThe state of testing @ Microsoft
The state of testing @ MicrosoftRobert MacLean
 
Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.Robert MacLean
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web appBarcamp Saigon
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXMark Rackley
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practicesMichal Juhas
 
Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Stephen Hay
 
Android development war stories
Android development war storiesAndroid development war stories
Android development war storiesLope Emano
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)webdagene
 
Beg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without FlashingBeg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without Flashingspjwebster
 
Javascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishJavascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishHuge
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBenjamin LUPU
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Stephen Hay
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with CypressApplitools
 
Building cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesBuilding cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesKevin DeRudder
 

What's hot (20)

The state of testing @ Microsoft
The state of testing @ MicrosoftThe state of testing @ Microsoft
The state of testing @ Microsoft
 
Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web app
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFX
 
Windows 8
Windows 8Windows 8
Windows 8
 
Mercurial
MercurialMercurial
Mercurial
 
JavaScript Toolkit
JavaScript ToolkitJavaScript Toolkit
JavaScript Toolkit
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practices
 
Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012
 
Android development war stories
Android development war storiesAndroid development war stories
Android development war stories
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)
 
Beg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without FlashingBeg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without Flashing
 
Javascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishJavascript State of the Union 2015 - English
Javascript State of the Union 2015 - English
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKit
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 
Handle the error
Handle the errorHandle the error
Handle the error
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
Building cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesBuilding cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile Services
 

Similar to Learning to be IDE Free (PrDC 2015)

Interactive Development Environments
Interactive Development EnvironmentsInteractive Development Environments
Interactive Development EnvironmentsPhilip Johnson
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers WorkshopAlec Clews
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Mikkel Flindt Heisterberg
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Mikkel Flindt Heisterberg
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Bhavin Javia
 
Class 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipClass 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipallanchao
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software DevelopmentZeeshan MIrza
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
Steps to write Selenium
Steps to write Selenium  Steps to write Selenium
Steps to write Selenium Rohit Thakur
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development EnvironmentsShahar Evron
 
iOS Development at Scale @Chegg
iOS Development at Scale @CheggiOS Development at Scale @Chegg
iOS Development at Scale @CheggGalOrlanczyk
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneursMans Jug
 
Java Consulting tips for Beginners
Java Consulting tips for BeginnersJava Consulting tips for Beginners
Java Consulting tips for BeginnersSathish Chittibabu
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developersDUONG Trong Tan
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldLorna Mitchell
 

Similar to Learning to be IDE Free (PrDC 2015) (20)

Interactive Development Environments
Interactive Development EnvironmentsInteractive Development Environments
Interactive Development Environments
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers Workshop
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 
Class 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipClass 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurship
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Steps to write Selenium
Steps to write Selenium  Steps to write Selenium
Steps to write Selenium
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development Environments
 
iOS Development at Scale @Chegg
iOS Development at Scale @CheggiOS Development at Scale @Chegg
iOS Development at Scale @Chegg
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneurs
 
Java Consulting tips for Beginners
Java Consulting tips for BeginnersJava Consulting tips for Beginners
Java Consulting tips for Beginners
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developers
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Learning to be IDE Free (PrDC 2015)

  • 2. What are we doing?
  • 3.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 12. Goals for Today  Dissect and understand your IDE  Understand what you "need" and what you "want" as a developer  Show you some tools you might not have seen  Create a dialogue about our tools of choice
  • 13. Cross Platform Presentation  Java  Also applies to:  JavaScript / NodeJS  ASP.NET  Many, many, others
  • 15. What is in the IDE?  Source Control  Code Editor  Project Template  Dependency Management  Compilers  Test Runner  Deployment
  • 16.
  • 17. My Tools  Java JDK  Atom  Maven 3.3.3  ConEmu+ Cygwin  Git / CVS  NodeJS / NPM  azure-cli
  • 21. Demo USE THE SOURCE  SHAMELESS STAR WARS PUN
  • 22. Code THE POWER OF AN EDITOR
  • 23. Code Slinging  VIM, Emacs,  Atom.io, Visual Studio Code, Notepad++, jEdit
  • 24. Code Slinging  What should your editor do for you?  <audience answers here>
  • 25. Code Slinging  What should your editor do for you?  Syntax Highlighting  Compiler Errors / Language Linter  Simplify File Management  Autocomplete  Intellisense  Source Control Management  Improve Productivity and Understanding!
  • 27. Test / Build / Run
  • 28. Project Templates & Dependencies  Java  Maven, Gradle  JavaScript  NPM (Server) & Bower (Client)  Express, Ember-Cli, etc…  .NET  Nuget, Chocolately  DNX (.NET eXecution Environment)
  • 29. Project Templates & Dependencies  Maven  Project Templates with archetypes  Basic Commands (clean install and test)  Manages Dependencies Consistently(Installs and Downloads across machines)  Check notes for POM and command details
  • 30. Project Templates & Dependencies  Yeoman  Generators for any type of project on any platform  Java (Jhipster)  .NET (aspnet, aspnetdnx, aspnetdnx2)  JavaScript (angular-fullstack, express)  You can even write your own!
  • 31. Red Light / Green Light (Test)  Testing Framework + Test Runner  Java  JUnit or TestNG + Maven  JavaScript  Jasmine / Mocha with Chai / Qunit + NPM  .NET  NUnit or MSTest + Test Runner
  • 32. Red Light / Green Light (Test)  Testing Framework + Test Runner  Java  JUnit or TestNG + Maven  JavaScript  Jasmine / Mocha with Chai / Qunit + NPM  .NET  NUnit or MSTest + Test Runner
  • 35. Plugins  “Plugins”  a.k.a. packages, gems, extensions, etc…  Executables or shortcuts to tools and/or scripts that make tools quicker to access and use  Make up the bulk of the power of an IDE  Examples  Eclipse -> Run  Visual Studio -> F5
  • 36. Plugins  “Plugins”  Tools should be understood and explored prior to use  Do you know what you’re adding to the project?  …or  Are you actually adding anything to the project (unintended or otherwise)?
  • 39. Quick Recap  If you can use it from the terminal, you can script it  Script = Code  Any Tool should enhance your developer skill, not dull them  Ask the question:  Am I adding something to the project (intentionally, or unintentionally)
  • 40. Quick Recap  Be comfortable with your terminal  Source Control is _always_ a terminal solution  Code Editor is nothing more than a Text Editor  Templates and Dependencies can be managed with tools  Which tool does your team use?  Plugins are powerful  Just don’t let them dull your skills
  • 41. Goals for Today  Dissect and understand your IDE  Understand what you "need" and what you "want" as a developer  Show you some tools you might not have seen  Create a dialogue about our tools of choice
  • 43. Call to Action  Open up your terminal and give it a shot  Identify what tools you and your team are using  Can they be used from the command line (I bet they can)  What does your IDE do for you other than edit code?  Can you script your common project tasks?  .sh, .cmd, or otherwise
  • 44. The Point  Know what your IDE can do  Learn the tools themselves, not just how to open the toolbox  Terminal / Basic Code Editor is a great way to start  Become a cross-platform developer by applying your development knowledge across platforms!
  • 45. Who am I?  David Wesst  University of Manitoba, Application Developer  Slides and Source Available Online

Editor's Notes

  1. It's not just knowing which wrench to use, but to know how to use the wrench, and where in the grand scheme you're supposed to use it.
  2. Introduction to Cygwin and ConEmu Basic commands, make up scripts. Scripts are programmable Node & NPM provide extra power that crosses platforms Azure cli Babel All major tools have foundation in the terminal
  3. CVS Init cvsrepo, create sandbox, checkout repo, add and commit file Git - Init repo (local), add a file, create second repo, pull and demonstrate checkout lock, add file and push to new branch, then merge in original
  4. References jEdit - http://www.jedit.org/index.php Vim - http://www.vim.org/download.php Atom - https://atom.io/ VS Code - https://code.visualstudio.com/
  5. References jEdit - http://www.jedit.org/index.php Vim - http://www.vim.org/download.php Atom - https://atom.io/ VS Code - https://code.visualstudio.com/
  6. References Vim - http://www.vim.org/download.php Atom - https://atom.io/ VS Code - https://code.visualstudio.com/
  7. Editing Code with Vim Move to Atom.io / Visual Studio Code for Ease of Use Talk about cross-platform usage and Visual Studio Code Check out plugins for Atom.io
  8. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>prdc</groupId>   <artifactId>dw-javawebapp</artifactId>   <packaging>war</packaging>   <version>1.0-SNAPSHOT</version>   <name>dw-javawebapp Maven Webapp</name>   <url>http://maven.apache.org</url>   <dependencies>     <dependency>       <groupId>junit</groupId>       <artifactId>junit</artifactId>       <version>3.8.1</version>       <scope>test</scope>     </dependency>   </dependencies>   <build>       <finalName>dw-javawebapp</finalName>       <plugins>           <plugin>               <groupId>org.apache.tomcat.maven</groupId>               <artifactId>tomcat7-maven-plugin</artifactId>               <version>2.2</version>           </plugin>       </plugins>   </build> </project>
  9. Reference: http://jhipster.github.io/installation.html
  10. http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html
  11. http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html
  12. mvn archetype:generate -DgroupId=ca.prdc -DartifactId=java-quickstart -DarchetypeArtifactId=maven-archetype-quickstart mvn clean install mvn test java -cp target/java-quickstart-1.0-SNAPSHOT.jar ca.prdc.App Generate an application Clean and Install Run Tests Package and Run
  13. mvn archetype:generate -DgroupId=ca.prdc -DartifactId=java-webapp -DarchetypeArtifactId=maven-archetype-webapp mvn clean install mvn tomcat7:run Generate a Tomcat Application Update the POM to include the Tomcat Runner Clean and run it Deploy to Tomcat instance