Grunt Cookbook. Effective Recipes To Master Grunt. Matt Goldspink. This book is for sale at

Size: px
Start display at page:

Download "Grunt Cookbook. Effective Recipes To Master Grunt. Matt Goldspink. This book is for sale at"

Transcription

1

2 Grunt Cookbook Effective Recipes To Master Grunt Matt Goldspink This book is for sale at This version was published on This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do Matt Goldspink

3 Tweet This Book! Please help Matt Goldspink by spreading the word about this book on Twitter! The suggested hashtag for this book is #gruntcookbook. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter:

4 Contents Contact Me 1 Introduction 2 Installing node and grunt CLI 4 Validating your JavaScript for common errors 8 Using Grunt to enforce coding standards 11

5 Contact Me Grunt Cookbook is a work in progress. If you have any feedback about recipe s you d like to see, mistakes, improvements, or if you have any questions then please me at gruntcookbook@gmail.com.

6 Introduction Do you ever find yourself repeating tasks over and over? Do you feel like you re losing time with slow and mundane tasks? Are you skipping some tasks in your dev lifecycle because they re too annoying and get in the way? If you re a frontend developer with these issues then Grunt is going to be right up your street. I wrote this book after using Grunt in a large enterprise and a startup to replace aging and painfully slow Ant based build systems. I loved that all the plugins for JSHint, Compass, concat/minify and more were available straight away. As I started to use it more I realised that there was a lot more power and potential to Grunt than just a build system. I wanted to share my own learnings and insights in the hope that some or all of the recipe s in the book resonate with you and inspire you to automate more of you daily tasks. I d love to hear from you if you ve any questions or feedback then please reach out to me on What is Grunt? Grunt describes itself as The JavaScript Task Runner. It is essentialy a utility to help automate tasks, for example you could automate: Concatenating JavaScript files when the files are saved Running validation and testing across a projects code base Generating documentation Compiling meta-languages (i.e. Coffeescript or SASS) and uploading the output to a remote server In fact if there s a set of common actions you perform in your daily routine, chances are it can be automated with grunt and you could use that time to spend on something of more value. Who is this book for? This book is aimed at new and existing users of Grunt who want a quick reference manual about many common tasks in Grunt, or who want to see what Grunt can do for them and see how Grunt can be used to write tasks beyond the conventional development lifecycle examples. To get the most out of this book you should be familiar with the JavaScript language and have some minimal experience with Node.js and installing Node.js modules using the Node Package Manager npm. Some recipe s are specific to certain frameworks/languages, in those cases it is assumed you have some base knowledge of that particular framework/language.

7 Introduction 3 Sample Projects If you re anything like me, you ll want to see real working examples, demonstrating: The final Gruntfile.js for each recipe Where the source files are on disk for the given configuration Where the output will get written to Any additional files that are sometimes just obvious to developers, but not to beginners All the recipe s in the book were written around these examples to make sure you don t get some half-broken, outdated code. With the examples you ll get to see the recipes in action with the right dependencies at the time of writing. In addition they are all git projects with numbered branches that show the recipe at different stages. This means that you can follow the progress of a recipe as it builds up by checking out the different branches. Where ever you see a command line snippet with Project: git checkout then that is an indicator to change branches. For example in the Running Jasmine Tests recipe you ll see something like this. In the root directory of that sample project just run: Example of git branch change $ git checkout 02 and it will switch you to the branch which holds the code for this stage of the project. The name of the directory of the sample project is listed at the end of each recipe. Getting the sample projects The sample projects are only available if you purchase The Book + Code Samples package.

8 Installing node and grunt CLI Problem As any fine chef knows you gotta have the right tools for the job and our case the tools are Node.js and Grunt CLI. Note that we re not installing Grunt as that is installed on a per project basis, but we re installing the core dependencies that all Grunt based projects will need. Ingredients A terminal, or command prompt, and a web browser. Solution For all OS s you ll need to head over to and choose the appropriate platform Mac From the node.js download page choose the Macintosh Installer. This will download a.pkg file which you can then run. Follow the steps of the installer through to completion. Once the install is completed you ll need to install the Grunt Command Line Interface, or Grunt CLI as it s known. Open up your favourite terminal and first type:

9 Installing node and grunt CLI 5 $ node -v This should print the version of Node.js you installed. If you get an error then something is not right with the install, you should follow up on the Node.JS mailgroup or IRC chat forum for specific help with your error. If all is good then we can continue, to get the Grunt CLI we need to use NPM, the package manager for Node. It s likely you ll want to install the Grunt CLI so it s available for every project and that will likely need you to install as the root user globally, so run: $ sudo npm install -g grunt-cli This will prompt you for your password so the grunt-cli files can be shared between all users and projects on the machine. When it s complete you should be able to run: $ grunt grunt-cli: The grunt command line interface. (v0.1.9) Fatal error: Unable to find local grunt. If you're seeing this message, either a Gruntfile wasn't found or grunt hasn't been installed locally to your project. For more information about installing and configuring grunt, please see the Getting Started guide: Don t worry that it says Fatal error, this occurs because we re not in a project directory which is using grunt, but it s a sign that Grunt CLI and node are working and you re all set to start working with Grunt. Where do I find a terminal on Mac? If you re not familiar with terminals then you may want to read up a little first because grunt requires a little bit of knowledge of some basic terminal commands. To open the Mac terminal, press cmd + space and type terminal and hit enter Windows From the node.js download page choose the Windows Installer. This will download a.msi file which you can then run. Follow the steps of the installer through to completion. Once the install is completed you ll need to install the Grunt Command Line Interface, or Grunt CLI as it s known. Open up a command prompt and type:

10 Installing node and grunt CLI 6 > node -v This should print the version of Node.js you installed. If you get an error then something is not right with the install, you should follow up on the Node.JS mailgroup or IRC chat forum for specific help with your error. If all is good then we can continue, to get the Grunt CLI we need to use NPM, the package manager for Node. It s likely you ll want to install the Grunt CLI so it s available for every project and that will need us to pass in he -g flag, so run: > npm install -g grunt-cli When it s complete you should be able to run: > grunt grunt-cli: The grunt command line interface. (v0.1.9) Fatal error: Unable to find local grunt. If you're seeing this message, either a Gruntfile wasn't found or grunt hasn't been installed locally to your project. For more information about installing and configuring grunt, please see the Getting Started guide: Don t worry that it says Fatal error, this occurs because we re not in a project directory which is using grunt, but it s a sign that Grunt CLI and node are working and you re all set to start working with Grunt. Linux Installing node.js on Linux can be done in various ways depending on your Linux distribution and package manager. In all cases it is best to follow the guidance on this page Installing-Node.js-via-package-manager. Once the install is completed you ll need to install the Grunt Command Line Interface, or Grunt CLI as it s known. Open up a shell and type: > node -v This should print the version of Node.js you installed. If you get an error then something is not right with the install, you should follow up on the Node.JS mailgroup or IRC chat forum for specific help with your error. If all is good then we can continue, to get the Grunt CLI we need to use NPM, the package manager for Node. It s likely you ll want to install the Grunt CLI so it s available for every project and that will likely need you to install as the root user globally, so run:

11 Installing node and grunt CLI 7 $ sudo npm install -g grunt-cli When it s complete you should be able to run: $ grunt grunt-cli: The grunt command line interface. (v0.1.9) Fatal error: Unable to find local grunt. If you're seeing this message, either a Gruntfile wasn't found or grunt hasn't been installed locally to your project. For more information about installing and configuring grunt, please see the Getting Started guide: Don t worry that it says Fatal error, this occurs because we re not in a project directory which is using grunt, but it s a sign that Grunt CLI and node are working and you re all set to start working with Grunt. Post install steps You should also run $ npm uninstall -g grunt This will remove any existing global installs of Grunt. Why uninstall existing versions of grunt? When Grunt was first released it was recommended to be installed as a global, system wide command. However this meant that projects wanting to use different versions of Grunt would not be able to on the same system. In the grunt-cli module was created which would invoke a project local copy of Grunt when the grunt command was run. This means each project can specify the exact version of Grunt it needs and not enforce that version on all other projects on the same machine. See also Node.js Downloads¹ - Node.js Download site Grunt.js - Getting Started² - The official Grunt.js getting started guide ¹ ²

12 Validating your JavaScript for common errors Problem JavaScript has garnered a reputation for being a language where it s easy to lose control and shoot yourself in the foot (sometimes only when in IE). As a part of the build it is a good idea to perform some static analysis to look for common coding errors that trip people up, e.g. trailing commas which break in IE, missing braces which could cause unexpected flow issues, missing variable declarations which could lead to clobbering globals. Ingredients Command Line: $ npm install grunt-contrib-jshint --save-dev In your Gruntfile.js Gruntfile.js 3 grunt.loadnpmtasks("grunt-contrib-jshint"); Solution JSHint is a static analysis tool that will parse your code and look for common errors based on a set of a rules, which you can turn on and off as you see fit. Gruntfile.js 3 grunt.initconfig({ 4 jshint: { 5 all: ["Gruntfile.js", "src/**/*.js", "tests/**/*.js"] 6 } 7 }); The above will run JSHint over the Gruntfile.js and all JavaScript files in our src and tests directories and validate them using JSHint s default settings.

13 Validating your JavaScript for common errors 9 Project: git checkout 01 $ grunt jshint Running "jshint:all" (jshint) task >> 8 files lint free. Done, without errors. If you want to customise the rules you can set an options object Gruntfile.js 3 grunt.initconfig({ 4 jshint: { 5 options: { 6 curly: true, 7 eqeqeq: true, 8 eqnull: true, 9 browser: true, 10 globals: { 11 jquery: true 12 } 13 }, 14 all: ["Gruntfile.js", "src/**/*.js", "tests/**/*.js"] 15 } 16 }); Assuming your code has some errors you would typically see some output like: Project: git checkout 02 $ grunt jshint Running "jshint:all" (jshint) task Linting src/js/app.js...error [L18:C43] W033: Missing semicolon. var todo = new Todo('todos-vanillajs') Warning: Task "jshint:all" failed. Use --force to continue. If you were to fix up the missing semicolon and re-run grunt you d see

14 Validating your JavaScript for common errors 10 Project: git checkout 03 $ grunt Running "jshint:all" (jshint) task >> 2 files lint free. Done, without errors. Great! Our code is looking good. See Also Sample project - validating_your_javascript_for_common_errors JSHint options³ - A detailed list of all JSHint options that can be configured ³

15 Using Grunt to enforce coding standards Problem On a shared code base with many developers it s easy for people to bring their own personal preferences for tabs/spaces, comma first, single/double quotes, etc. Having a coding standard for these can help bring consistency and comprehension to a project. Ingredients Command Line: $ npm install grunt-contrib-jshint --save-dev In your Gruntfile.js Gruntfile.js 3 grunt.loadnpmtasks("grunt-contrib-jshint"); Solution Aside from validating the code from errors, JSHint can also be used to check for and enforce stylistic issues. Let s say we have a code standard with the following rules: Always uses double quotes for Strings Always use 4 spaces for indentation No comma first syntax Variable names should be in camel case Braces must be used for all blocks All constructors must start with a Capital letter and be camel case Our maximum line length is 120 There should be a maximum of 2 parameters per function We could configure this like so:

16 Using Grunt to enforce coding standards 12 Gruntfile.js 3 grunt.initconfig({ 4 jshint: { 5 options: { 6 quotmark: "double", 7 indent: 4, 8 laxcomma: false, 9 camelcase: true, 10 curly: true, 11 newcap: true, 12 maxlen: 120, 13 maxparams: 3 14 }, 15 all: ["Gruntfile.js", "src/**/*.js", "tests/**/*.js"] 16 } 17 }); This will still run the validations from our previous recipe, but it will now also look for parts of the code which break these rules and fail the build. There are more options available and of course you can tweak them to meet your own coding standards. Let s see this in action on a sample project. Let s assume we have an invalid app.js file which looks like: src/js/app.js 1 /*global app */ 2 (function () { 3 'use strict'; 4 5 /** 6 * Sets up a brand new Todo list. 7 * 8 {string} name The name of your new to do list. 9 */ 10 function Todo(name) { 11 this.storage = new app.store(name); 12 this.model = new app.model(this.storage); 13 this.template = new app.template(); 14 this.view = new app.view(this.template); 15 this.controller = new app.controller(this.model, this.view); 16 } Running our grunt file with the JSHint config results in the following output:

17 Using Grunt to enforce coding standards 13 Project: git checkout 01 $ grunt jshint Running "jshint:all" (jshint) task Linting src/js/app.js...error [L3:C17] W108: Strings must use doublequote. 'use strict'; [L11:C7] W015: Expected 'this' to have an indentation at 9 instead at 7. this.storage = new app.store(name); [L12:C7] W015: Expected 'this' to have an indentation at 9 instead at 7. this.model = new app.model(this.storage); Warning: Task "jshint:all" failed. Use --force to continue. Aborted due to warnings. Here we can see it s found 3 issues: 1. We have a String which is using single quotes instead of double 2. We have 2 errors related to incorrect indentation Perfect! If you re in a team I d recommend getting this task running in a continuous integration environment so that as all developers check in their changes these checks don t get skipped and that everyone is alerted when problems are discovered. See Also Sample project - checking_your_developers_keep_your_code_format_standards JSHint options⁴ - A detailed list of all JSHint options that can be configured Maintainable Javascript by Nicholas Zakas⁵ - I highly recommend reading Nicholas s book to get some solid guidelines on setting up coding standards for JavaScript ⁴ ⁵

JavaScript on the Command Line & PRATIK PATEL CTO TripLingo Labs

JavaScript on the Command Line & PRATIK PATEL CTO TripLingo Labs JavaScript on the Command Line & Server @prpatel TripLingo Labs PRATIK@mypatelspace.com Topics Modern JavaScript Why? Ecosystem Node Grunt Yesterday s JavaScript Today s JavaScript is cool What s changed?

More information

Git Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at

Git Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at Git Workbook Self-Study Guide to Git Lorna Mitchell This book is for sale at http://leanpub.com/gitworkbook This version was published on 2018-01-15 This is a Leanpub book. Leanpub empowers authors and

More information

npm install [<name> [<name>...]] [--save --save-dev --save-optional]

npm install [<name> [<name>...]] [--save --save-dev --save-optional] Node Package Manager by Jesse Warden http://www.jessewarden.com v1 npm ls Everything you have installed in the current directory. npm search [search terms] Search the registry for packages matching the

More information

Automate with Grunt. Extracted from: The Build Tool for JavaScript. The Pragmatic Bookshelf

Automate with Grunt. Extracted from: The Build Tool for JavaScript. The Pragmatic Bookshelf Extracted from: Automate with Grunt The Build Tool for JavaScript This PDF file contains pages extracted from Automate with Grunt, published by the Pragmatic Bookshelf. For more information or to purchase

More information

DrupalCon Barcelona Preston So September 22, 2015

DrupalCon Barcelona Preston So September 22, 2015 DrupalCon Barcelona 2015 Preston So September 22, 2015 Preston So (@prestonso) has designed websites since 2001 and built them in Drupal since 2007. He is Development Manager of Acquia Labs at Acquia and

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

Programming for Kids

Programming for Kids Programming for Kids Peter Armstrong This book is for sale at http://leanpub.com/programmingforkids This version was published on 2016-05-08 This is a Leanpub book. Leanpub empowers authors and publishers

More information

Tools. SWE 432, Fall Design and Implementation of Software for the Web

Tools. SWE 432, Fall Design and Implementation of Software for the Web Tools SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Before we can really make anything, there s a bunch of technical stuff to get out of the way Tools make our lives so much

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

Learn Gulp. Jonathan Birkholz. This book is for sale at This version was published on

Learn Gulp. Jonathan Birkholz. This book is for sale at   This version was published on Learn Gulp Jonathan Birkholz This book is for sale at http://leanpub.com/learngulp This version was published on 2015-09-02 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean

More information

Functional Reactive Programming on ios

Functional Reactive Programming on ios Functional Reactive Programming on ios Functional reactive programming introduction using ReactiveCocoa Ash Furrow This book is for sale at http://leanpub.com/iosfrp This version was published on 2016-05-28

More information

Your First Meteor Application

Your First Meteor Application Your First Meteor Application A Complete Beginner s Guide to Meteor.js David Turnbull This book is for sale at http://leanpub.com/meteortutorial This version was published on 2015-06-09 This is a Leanpub

More information

MOdern Java(Script) Server Stack

MOdern Java(Script) Server Stack MOdern Java(Script) Server Stack Pratik Patel Pratik Patel CTO Triplingo JAVA CHAMPION PRESIDENT ATLANTA JUG POLYGLOT apple mac vintage 5" screen TURTLE MY FIRST PROGRAM TURING MY FIRST REAL PROGRAM JAVASCRIPT

More information

Building Secure PHP Apps

Building Secure PHP Apps Building Secure PHP Apps is your PHP app truly secure? Let s make sure you get home on time and sleep well at night. Ben Edmunds This book is for sale at http://leanpub.com/buildingsecurephpapps This version

More information

AngularJS Cookbook. 70 Recipes for AngularJS 1.2. Sascha Brink. This book is for sale at

AngularJS Cookbook. 70 Recipes for AngularJS 1.2. Sascha Brink. This book is for sale at AngularJS Cookbook 70 Recipes for AngularJS 1.2 Sascha Brink This book is for sale at http://leanpub.com/angularjs-cookbook This version was published on 2014-03-12 This is a Leanpub book. Leanpub empowers

More information

ORB Education Quality Teaching Resources

ORB Education Quality Teaching Resources JavaScript is one of the programming languages that make things happen in a web page. It is a fantastic way for students to get to grips with some of the basics of programming, whilst opening the door

More information

Text Input and Conditionals

Text Input and Conditionals Text Input and Conditionals Text Input Many programs allow the user to enter information, like a username and password. Python makes taking input from the user seamless with a single line of code: input()

More information

CSE 11 Style Guidelines

CSE 11 Style Guidelines CSE 11 Style Guidelines These style guidelines are based off of Google s Java Style Guide and Oracle s Javadoc Guide. Overview: Your style will be graded on the following items: File Headers Class Headers

More information

XML and API Documentation

XML and API Documentation ATLauncher XML and API Documentation Version 1.0.22 Last Updated: 18/10/2013 Table of Contents XML Introduction... 2 Basic Layout... 3 ... 4 ... 5 ... 7 ... 8 Mod Types...

More information

The Laravel Survival Guide

The Laravel Survival Guide The Laravel Survival Guide Tony Lea This book is for sale at http://leanpub.com/laravelsurvivalguide This version was published on 2016-09-12 This is a Leanpub book. Leanpub empowers authors and publishers

More information

Functional Programming in Ruby

Functional Programming in Ruby Functional Programming in Ruby Coding with Style koen handekyn This book is for sale at http://leanpub.com/functionalprogramminginruby This version was published on 2014-04-17 This is a Leanpub book. Leanpub

More information

Docker for Sysadmins: Linux Windows VMware

Docker for Sysadmins: Linux Windows VMware Docker for Sysadmins: Linux Windows VMware Getting started with Docker from the perspective of sysadmins and VM admins Nigel Poulton This book is for sale at http://leanpub.com/dockerforsysadmins This

More information

Introduction to Using NPM scripts as a Build Tool. 1. 1

Introduction to Using NPM scripts as a Build Tool. 1. 1 Introduction to Using NPM scripts as a Build Tool. @kjy2143 / SK planet 1. 1 1. 2 1. 3 1. 4 Front End Developer in Past 2. 1 2. 2 Front End Developer in 2016 3. 1 3. 2 2016/2017 MUST-KNOW WEB DEVELOPMENT

More information

MEAP Edition Manning Early Access Program Get Programming with Java Version 1

MEAP Edition Manning Early Access Program Get Programming with Java Version 1 MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,

More information

6.170 Laboratory in Software Engineering Java Style Guide. Overview. Descriptive names. Consistent indentation and spacing. Page 1 of 5.

6.170 Laboratory in Software Engineering Java Style Guide. Overview. Descriptive names. Consistent indentation and spacing. Page 1 of 5. Page 1 of 5 6.170 Laboratory in Software Engineering Java Style Guide Contents: Overview Descriptive names Consistent indentation and spacing Informative comments Commenting code TODO comments 6.170 Javadocs

More information

Chapter 1 - Development Setup of Angular

Chapter 1 - Development Setup of Angular Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular

More information

CLIENT ONBOARDING PLAN & SCRIPT

CLIENT ONBOARDING PLAN & SCRIPT CLIENT ONBOARDING PLAN & SCRIPT FIRST STEPS Receive Order form from Sales Representative. This may come in the form of a BPQ from client Ensure the client has an account in Reputation Management and in

More information

CLIENT ONBOARDING PLAN & SCRIPT

CLIENT ONBOARDING PLAN & SCRIPT CLIENT ONBOARDING PLAN & SCRIPT FIRST STEPS Receive Order form from Sales Representative. This may come in the form of a BPQ from client Ensure the client has an account in Reputation Management and in

More information

WHAT'S NEW WITH SALESFORCE FOR OUTLOOK

WHAT'S NEW WITH SALESFORCE FOR OUTLOOK WHAT'S NEW WITH SALESFORCE FOR OUTLOOK Salesforce for Outlook v2.9.3 Salesforce for Outlook v2.9.3 includes improvements to the sync process for recurring events and to the installer. Sync Installer When

More information

The goal of this book is to teach you how to use Adobe Integrated

The goal of this book is to teach you how to use Adobe Integrated Clearing the AIR The goal of this book is to teach you how to use Adobe Integrated Runtime (AIR) to create desktop applications. You can use JavaScript or ActionScript to develop AIR applications, and

More information

11 Coding Standards CERTIFICATION OBJECTIVES. Use Sun Java Coding Standards

11 Coding Standards CERTIFICATION OBJECTIVES. Use Sun Java Coding Standards 11 Coding Standards CERTIFICATION OBJECTIVES Use Sun Java Coding Standards 2 Chapter 11: Coding Standards CERTIFICATION OBJECTIVE Use Sun Java Coding Standards Spacing Standards The Developer exam is challenging.

More information

Docker for Developers

Docker for Developers Docker for Developers Chris Tankersley This book is for sale at http://leanpub.com/dockerfordevs This version was published on 2017-08-07 This is a Leanpub book. Leanpub empowers authors and publishers

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

3 Ways to Take Your Website Management from Chaotic to Calm WHITEPAPER

3 Ways to Take Your Website Management from Chaotic to Calm WHITEPAPER 3 Media Web 3 Ways to Take Your Website Management from Chaotic to Calm WHITEPAPER WHITEPAPER 3 Ways to Take Your Website Management from Chaotic to Calm Voila! You launched your new website. You ve tested

More information

Introduction to Programming Style

Introduction to Programming Style Introduction to Programming Style Thaddeus Aid The IT Learning Programme The University of Oxford, UK 30 July, 2013 Abstract Programming style is the part of the program that the human reads and the compiler

More information

Top 10 WordPress Plugins.

Top 10 WordPress Plugins. Top 10 WordPress Plugins Thank you for downloading this ebook. I wrote this guide to help others learn which plugins are the best to install to use with WordPress. This ebook is a guide, and the purpose

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

Drupal Command Line Instructions Windows 7 List All Files >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 List All Files >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 List All Files The command line patch utility can run on Windows natively with GnuWin32 or select all text and copy it to clipboard (Ctrl+ C), Menu _ project

More information

Learn Linux in a Month of Lunches by Steven Ovadia

Learn Linux in a Month of Lunches by Steven Ovadia Learn Linux in a Month of Lunches by Steven Ovadia Sample Chapter 17 Copyright 2017 Manning Publications brief contents PART 1 GETTING LINUX UP AND RUNNING... 1 1 Before you begin 3 2 Getting to know Linux

More information

Without further ado, let s go over and have a look at what I ve come up with.

Without further ado, let s go over and have a look at what I ve come up with. JIRA Integration Transcript VLL Hi, my name is Jonathan Wilson and I m the service management practitioner with NHS Digital based in the United Kingdom. NHS Digital is the provider of services to the National

More information

Github/Git Primer. Tyler Hague

Github/Git Primer. Tyler Hague Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with

More information

My Favorite bash Tips and Tricks

My Favorite bash Tips and Tricks 1 of 6 6/18/2006 7:44 PM My Favorite bash Tips and Tricks Prentice Bisbal Abstract Save a lot of typing with these handy bash features you won't find in an old-fashioned UNIX shell. bash, or the Bourne

More information

How to approach a computational problem

How to approach a computational problem How to approach a computational problem A lot of people find computer programming difficult, especially when they first get started with it. Sometimes the problems are problems specifically related to

More information

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0 VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 L J Howell UX Software 2009 Ver. 1.0 TABLE OF CONTENTS INTRODUCTION...ii What is this book about?... iii How to use this book... iii

More information

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals

More information

Omni-Channel for Administrators

Omni-Channel for Administrators Omni-Channel for Administrators Salesforce, Summer 18 @salesforcedocs Last updated: August 16, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of

More information

Learn Ruby On Rails For Web Development Learn Rails The Fast And Easy Way

Learn Ruby On Rails For Web Development Learn Rails The Fast And Easy Way Learn Ruby On Rails For Web Development Learn Rails The Fast And Easy Way Learn Ruby on Rails by following along and building a Pinterest Clone website. Rails book Learn Ruby On Rails For Web Development

More information

RouteOp. Step 1: Make sure requirements are met.

RouteOp. Step 1: Make sure requirements are met. RouteOp If you are just getting started please note that the features are not enabled until your first call. You will receive a welcome email to get the ball rolling and will be hearing from your implementation

More information

A Step by Step Guide to Postcard Marketing Success

A Step by Step Guide to Postcard Marketing Success A Step by Step Guide to Postcard Marketing Success Table of Contents Why VerticalResponse?...3 Why Postcards?...4 So why use postcards in this modern era?...4 Quickstart Guide...6 Step 1: Setup Your Account...8

More information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

Talend Data Preparation Free Desktop. Getting Started Guide V2.1

Talend Data Preparation Free Desktop. Getting Started Guide V2.1 Talend Data Free Desktop Getting Guide V2.1 1 Talend Data Training Getting Guide To navigate to a specific location within this guide, click one of the boxes below. Overview of Data Access Data And Getting

More information

Improving the Magento 2 Developer Experience

Improving the Magento 2 Developer Experience Improving the Magento 2 Developer Experience Alan Kent Magento Chief Architect Consistent Magento 2 Feedback I have been working on some larger Magento 2.1 EE solutions for a few months now and I really

More information

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material. Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA2442 Introduction to JavaScript Objectives This intensive training course

More information

Error The Process Exit Code Was 128. The Step

Error The Process Exit Code Was 128. The Step Error The Process Exit Code Was 128. The Step Failed ERROR: Fetcher failure: Fetch command failed with exit code 128, output: to be the culprit meta-clanton_v0.7.5 depends on this during bitbake process.

More information

Pragmatic Guide to Sass 3

Pragmatic Guide to Sass 3 Extracted from: Pragmatic Guide to Sass 3 Tame the Modern Style Sheet This PDF file contains pages extracted from Pragmatic Guide to Sass 3, published by the Pragmatic Bookshelf. For more information or

More information

The Visual Studio 2015 Checklist

The Visual Studio 2015 Checklist The Visual Studio 2015 Checklist ANTI-INFLAMMATORY 5 ways to take the pain out of coding Do you want to? 1 Slash the amount of boilerplate code you have to write? 2 Test faster? Hi Developers, My name

More information

Using GitHub to Share with SparkFun a

Using GitHub to Share with SparkFun a Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: http://sfe.io/t52 Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing

More information

One Page Checkout module for Prestashop TM

One Page Checkout module for Prestashop TM Installation and Setup guide One Page Checkout module for Prestashop TM 1.5-1.6 December 02, 2015 Overview This guide describes basic installation and setup instructions for One page checkout (OPC) module

More information

@EvanMHerman Introduction to Workflow Automation

@EvanMHerman Introduction to Workflow Automation Introduction to Workflow Automation WordCamp Baltimore - October 14th, 2017 1 Evan Herman Software Engineer at GoDaddy WordPress Core Contributor Plugin Developer Goal The main goal of this talk is to

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

4Sight for Mac User Guide. Version 2.4

4Sight for Mac User Guide. Version 2.4 4Sight for Mac User Guide Version 2.4 Contents Welcome to 4Sight for Mac Desktop Client... 3 How to Install 4Sight... 3 Where is it?... 4 The Dock menu... 4 The menu bar... 4 Phone window... 5 Preview

More information

APPM 2460 Matlab Basics

APPM 2460 Matlab Basics APPM 2460 Matlab Basics 1 Introduction In this lab we ll get acquainted with the basics of Matlab. This will be review if you ve done any sort of programming before; the goal here is to get everyone on

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

Teach Yourself Enterprise Architect in Ten Days

Teach Yourself Enterprise Architect in Ten Days Teach Yourself Enterprise Architect in Ten Days An Introduction to the Famous and Affordable Modelling Tool Enterprise Architect Peter Doomen This book is for sale at http://leanpub.com/ea-in-10-days This

More information

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments Goals for this lecture Lecture 4 Getting Started with ITK! Methods in Medical Image Analysis - Spring 2018 16-725 (CMU RI) : BioE 2630 (Pitt) Dr. John Galeotti Compile, compile, compile Learn how to use

More information

Sonatype CLM - Release Notes. Sonatype CLM - Release Notes

Sonatype CLM - Release Notes. Sonatype CLM - Release Notes Sonatype CLM - Release Notes i Sonatype CLM - Release Notes Sonatype CLM - Release Notes ii Contents 1 Introduction 1 2 Upgrade instructions 2 3 Sonatype CLM for Bamboo 3 4 Sonatype CLM 1.13 4 5 Sonatype

More information

Looking to get your Start Button Back? Try Classic Shell. It very easy to use and free.

Looking to get your Start Button Back? Try Classic Shell. It very easy to use and free. Looking to get your Start Button Back? Try Classic Shell. It very easy to use and free. Press the Windows key to enter the tiled Start screen. (or bring up your start menu if you ve installed classic shell)

More information

ORACLE APPLICATION EXPRESS 5.1 BASICS & BEYOND: A PRACTICAL GUIDE TO RAPIDLY DEVELOP DATA-CENTRIC WEB APPLICATIONS ACCESSIBLE FROM DESKTOP,

ORACLE APPLICATION EXPRESS 5.1 BASICS & BEYOND: A PRACTICAL GUIDE TO RAPIDLY DEVELOP DATA-CENTRIC WEB APPLICATIONS ACCESSIBLE FROM DESKTOP, Read Online and Download Ebook ORACLE APPLICATION EXPRESS 5.1 BASICS & BEYOND: A PRACTICAL GUIDE TO RAPIDLY DEVELOP DATA-CENTRIC WEB APPLICATIONS ACCESSIBLE FROM DESKTOP, DOWNLOAD EBOOK : ORACLE APPLICATION

More information

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1 COMP 210: Object-Oriented Programming Lecture Notes 1 Java Program Structure and Eclipse Robert Utterback In these notes we talk about the basic structure of Java-based OOP programs and how to setup and

More information

Kollaborate Server. Installation Guide

Kollaborate Server. Installation Guide 1 Kollaborate Server Installation Guide Kollaborate Server is a local implementation of the Kollaborate cloud workflow system that allows you to run the service in-house on your own server and storage.

More information

Chromebooks boot in seconds, and resume instantly. When you turn on a Chromebook and sign in, you can get online fast.

Chromebooks boot in seconds, and resume instantly. When you turn on a Chromebook and sign in, you can get online fast. chromebook meet chromebook What is a chromebook? Chromebooks are... A new type of computer that is fast, simple and secure. Built for the web best of Google and access to thousands of online web apps.

More information

Compilation and Execution Simplifying Fractions. Loops If Statements. Variables Operations Using Functions Errors

Compilation and Execution Simplifying Fractions. Loops If Statements. Variables Operations Using Functions Errors First Program Compilation and Execution Simplifying Fractions Loops If Statements Variables Operations Using Functions Errors C++ programs consist of a series of instructions written in using the C++ syntax

More information

JavaScript Basics. The Big Picture

JavaScript Basics. The Big Picture JavaScript Basics At this point, you should have reached a certain comfort level with typing and running JavaScript code assuming, of course, that someone has already written it for you This handout aims

More information

My MacBook (Yosemite Edition) Ebooks Free

My MacBook (Yosemite Edition) Ebooks Free My MacBook (Yosemite Edition) Ebooks Free Covers MacBook, MacBook Pro, and MacBook Air Step-by-step instructions with callouts to MacBook photos that show you exactly what to do. Help when you run into

More information

JAMF Nation Roadshow. Sachin Parmar End User Toolset Manager

JAMF Nation Roadshow. Sachin Parmar End User Toolset Manager JAMF Nation Roadshow Sachin Parmar End User Toolset Manager About Just Eat Our vision Creating the world s greatest food community 3 About Me About Me Sachin Parmar 7+ years professionally in the Technology

More information

Reasons to NOT Use . for Urgent Messages. Steuart Snooks. CEO Solutions For Success

Reasons to NOT Use  . for Urgent Messages. Steuart Snooks. CEO Solutions For Success by 0413 830 772 steuart@solutions4success.com.au Steuart Snooks CEO Solutions For Success @2 E-mail should never be urgent... really! Do you often feel you have to check e-mail on an almost constant basis,

More information

The Little Mongo DB Schema Design Book

The Little Mongo DB Schema Design Book The Little Mongo DB Schema Design Book Christian Kvalheim This book is for sale at http://leanpub.com/mongodbschemadesign This version was published on 2015-10-09 ISBN 978-1-943846-77-1 This is a Leanpub

More information

Chapter 2 Basic Elements of C++

Chapter 2 Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 2-1 Chapter 2 Basic Elements of C++ At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion

More information

OCR Interfaces for Visually Impaired

OCR Interfaces for Visually Impaired OCR Interfaces for Visually Impaired TOPIC ASSIGNMENT 2 Author: Sachin FERNANDES Graduate 8 Undergraduate Team 2 TOPIC PROPOSAL Instructor: Dr. Robert PASTEL March 4, 2016 LIST OF FIGURES LIST OF FIGURES

More information

IDWedgeKB Serial Port and NodeJS

IDWedgeKB Serial Port and NodeJS IDWedgeKB Serial Port and NodeJS The IDWedgeKB is a barcode scanner that reads and parses the information encoded on the 2D barcode found on U.S. Drivers Licenses. IDWedgeKB has two modes of operation;

More information

Semester 2, 2018: Lab 1

Semester 2, 2018: Lab 1 Semester 2, 2018: Lab 1 S2 2018 Lab 1 This lab has two parts. Part A is intended to help you familiarise yourself with the computing environment found on the CSIT lab computers which you will be using

More information

Getting Started Reliance Communications, Inc.

Getting Started Reliance Communications, Inc. Getting Started Reliance Communications, Inc. 603 Mission Street Santa Cruz, CA 95060 888-527-5225 www.schoolmessenger.com Contents Before you Begin... 3 Bookmark Your Login Page... 3 Setting your Password...

More information

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners Getting Started Excerpted from Hello World! Computer Programming for Kids and Other Beginners EARLY ACCESS EDITION Warren D. Sande and Carter Sande MEAP Release: May 2008 Softbound print: November 2008

More information

Salesforce DX Setup Guide

Salesforce DX Setup Guide Salesforce DX Setup Guide Version 44.0, Winter 19 @salesforcedocs Last updated: September 6, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com,

More information

4. Java Project Design, Input Methods

4. Java Project Design, Input Methods 4-1 4. Java Project Design, Input Methods Review and Preview You should now be fairly comfortable with creating, compiling and running simple Java projects. In this class, we continue learning new Java

More information

This assignment requires that you complete the following tasks (in no particular order).

This assignment requires that you complete the following tasks (in no particular order). Construction Objectives The objectives of this assignment are: (1) Implement your FCS design with high-quality code and thorough unit tests (2) Gain experience doing a task breakdown (3) Gain experience

More information

WebStorm, intelligent IDE for JavaScript development

WebStorm, intelligent IDE for JavaScript development , intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product

More information

Systems Programming Advanced Software Development

Systems Programming Advanced Software Development Systems Programming Advanced Software Development School of Information and Communication Technology Griffith University Semester 1, 2012 Outline 1 Administrative Matters Course Organisation Questions?

More information

EssEntial indesign skills Brought to you By InDesign

EssEntial indesign skills Brought to you By InDesign 10 EssEntial indesign skills Brought to you By InDesignSkills 10 Essential InDesign Skills by InDesignSkills www.indesignskills.com Copyright 2014 Illustration: Henry Rivers Contents In this ebook you

More information

How To Build A Free Website

How To Build A Free Website How To Build A Free Website Without knowing programming or anything else (WordPress) Omid Hosseini August 2016 003 Copyright notice 1 Copyright notice Omid Hosseini asserts his moral right as the author

More information

step is to see how C++ implements type polymorphism, and this Exploration starts you on that journey.

step is to see how C++ implements type polymorphism, and this Exploration starts you on that journey. EXPLORATION 36 Virtual Functions Deriving classes is fun, but there s not a lot you can do with them at least, not yet. The next step is to see how C++ implements type polymorphism, and this Exploration

More information

Chapter 2. Editing And Compiling

Chapter 2. Editing And Compiling Chapter 2. Editing And Compiling Now that the main concepts of programming have been explained, it's time to actually do some programming. In order for you to "edit" and "compile" a program, you'll need

More information

Xchange for Samsung MAC User Guide. Version 2.4

Xchange for Samsung MAC User Guide. Version 2.4 Xchange for Samsung MAC User Guide Version 2.4 Contents Welcome to Xchange for Samsung Mac Desktop Client... 32 How to Install Xchange... 3 Where is it?... 43 The Dock menu... 4 The menu bar... 4 Preview

More information

Perl Basics. Structure, Style, and Documentation

Perl Basics. Structure, Style, and Documentation Perl Basics Structure, Style, and Documentation Copyright 2006 2009 Stewart Weiss Easy to read programs Your job as a programmer is to create programs that are: easy to read easy to understand, easy to

More information

Recipes. Marketing For Bloggers. List Building, Traffic, Money & More. A Free Guide by The Social Ms Page! 1 of! 24

Recipes.  Marketing For Bloggers. List Building, Traffic, Money & More. A Free Guide by The Social Ms Page! 1 of! 24 16 Recipes Email Marketing For Bloggers List Building, Traffic, Money & More A Free Guide by The Social Ms Page 1 of 24 Brought to you by: Jonathan Gebauer, Susanna Gebauer INTRODUCTION Email Marketing

More information

Getting Started Guide

Getting Started Guide Getting Started Guide for education accounts Setup Manual Edition 7 Last updated: September 15th, 2016 Note: Click on File and select Make a copy to save this to your Google Drive, or select Print, to

More information

This tutorial has been prepared for beginners to help them understand the basic functionalities of Gulp.

This tutorial has been prepared for beginners to help them understand the basic functionalities of Gulp. About the Tutorial Gulp is a task runner that uses Node.js as a platform. It purely uses the JavaScript code and helps to run front-end tasks and large-scale web applications. Gulp builds system automated

More information

Dynamism and Detection

Dynamism and Detection 1 Dynamism and Detection c h a p t e r ch01 Page 1 Wednesday, June 23, 1999 2:52 PM IN THIS CHAPTER Project I: Generating Platform-Specific Content Project II: Printing Copyright Information and Last-Modified

More information

Learn SQL by Calculating Customer Lifetime Value

Learn SQL by Calculating Customer Lifetime Value Learn SQL Learn SQL by Calculating Customer Lifetime Value Setup, Counting and Filtering 1 Learn SQL CONTENTS Getting Started Scenario Setup Sorting with ORDER BY FilteringwithWHERE FilteringandSorting

More information

Resident Portal User Guide

Resident Portal User Guide Resident Portal User Guide Last Updated September 21, 2017 Table of Contents Introduction Logging In 3 Navigating the Portal 4 Events Registering Events 5 Canceling Events 5 Interactive Events Calendar

More information