PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON. Alexander Lichter June 27, 2017

Size: px
Start display at page:

Download "PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON. Alexander Lichter June 27, 2017"

Transcription

1 PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON Alexander Lichter June 27, 2017

2 Content of this lesson 1. Recap 2. Composer 3. JSON 4. Collections (next lesson) 1

3 Recap

4 Recap Recap Recap 2

5 Composer

6 Questions about the installation? Do you have questions concerning the installation of Composer? We have time to go through them now! 3

7 Basic usage of composer - Version Alright, we are good to go now! 4

8 Basic usage of composer - Version Alright, we are good to go now! Let s start with an easy command: composer -v 4

9 Basic usage of composer - Version Alright, we are good to go now! Let s start with an easy command: composer -v It should show you the version of your installed composer 4

10 Basic usage of composer - Init Okay. Let s initialize composer for our project. Each project has it s own composer file and it s own dependencies (obviously) 5

11 Basic usage of composer - Init Okay. Let s initialize composer for our project. Each project has it s own composer file and it s own dependencies (obviously) Now go to your project root folder and issue composer init 5

12 Basic usage of composer - Init Okay. Let s initialize composer for our project. Each project has it s own composer file and it s own dependencies (obviously) Now go to your project root folder and issue composer init You now should walk through the init wizard without problems. When it you are asked if you want to add your dependencies interactively, write no. Same goes for the dev-dependencies. Now confirm the generation! 5

13 Basic usage of composer - Lock and JSON file Congratulations! Your composer file is ready to go! You have a composer.json and a composer.lock file in your project root now. While the composer.json is used for the configuration of composer, the composer.lock saves the currently imported dependencies (with the exact versions). 6

14 Basic usage of composer - Lock and JSON file Congratulations! Your composer file is ready to go! You have a composer.json and a composer.lock file in your project root now. While the composer.json is used for the configuration of composer, the composer.lock saves the currently imported dependencies (with the exact versions). But why do we need a lock file? 6

15 Basic usage of composer - Lock and JSON file Congratulations! Your composer file is ready to go! You have a composer.json and a composer.lock file in your project root now. While the composer.json is used for the configuration of composer, the composer.lock saves the currently imported dependencies (with the exact versions). But why do we need a lock file? It s great for deploying on production servers, because you get the exact same dependencies as you have on your testing/local environment. Which means: Your production environment is (almost) equal to your local one. When committing to a VCS 6

16 Basic usage of composer - Lock and JSON file Congratulations! Your composer file is ready to go! You have a composer.json and a composer.lock file in your project root now. While the composer.json is used for the configuration of composer, the composer.lock saves the currently imported dependencies (with the exact versions). But why do we need a lock file? It s great for deploying on production servers, because you get the exact same dependencies as you have on your testing/local environment. Which means: Your production environment is (almost) equal to your local one. When committing to a VCS (Git, or SVN [but better go for git]), commit both files! 6

17 Basic usage of composer - Different dependencies Two slides before, when we initialized our composer setup, I ve mentioned dependencies and dev-dependencies. So we have two different dependency types.. But why? 7

18 Basic usage of composer - Different dependencies Two slides before, when we initialized our composer setup, I ve mentioned dependencies and dev-dependencies. So we have two different dependency types.. But why? Dev-dependencies are only those dependencies we need to develop our application. They shouldn t appear on our production server. Things like: Mockup libaries, Testing systems (PHPUnit), Debug tools, and so on. 7

19 Basic usage of composer - Different dependencies Two slides before, when we initialized our composer setup, I ve mentioned dependencies and dev-dependencies. So we have two different dependency types.. But why? Dev-dependencies are only those dependencies we need to develop our application. They shouldn t appear on our production server. Things like: Mockup libaries, Testing systems (PHPUnit), Debug tools, and so on. 7

20 Basic usage of composer - Require and Install This leads us to the next steps: Setting up dependencies This will work with composer require[-dev] AUTHOR/PACKAGE [version], while require is for normal dependencies and require-dev is for dev-dependencies 8

21 Basic usage of composer - Require and Install This leads us to the next steps: Setting up dependencies This will work with composer require[-dev] AUTHOR/PACKAGE [version], while require is for normal dependencies and require-dev is for dev-dependencies The version constraint is optional. We ll talk about that in a few minutes! If you don t pass anything, the latest version is used. 8

22 Basic usage of composer - Require and Install This leads us to the next steps: Setting up dependencies This will work with composer require[-dev] AUTHOR/PACKAGE [version], while require is for normal dependencies and require-dev is for dev-dependencies The version constraint is optional. We ll talk about that in a few minutes! If you don t pass anything, the latest version is used. If you want to install your dependencies based on your.lock file now (on another PC/Server e.g.), you can use composer install [--no-dev]. Again, no-dev is used for production and will not install dev-dependencies. 8

23 Basic usage of composer - Update dependencies Every now and then you may want to update your dependencies :D (New features, security stuff and so on). This will work with only one command: composer update 9

24 Basic usage of composer - Update dependencies Every now and then you may want to update your dependencies :D (New features, security stuff and so on). This will work with only one command: composer update And that s it! Your.lock file is updated too, so you don t need to worry about that. 9

25 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. 10

26 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description 10

27 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact version number (and Exact only this version) 10

28 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact version number (and Exact only this version) 10

29 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact version number (and Exact only this version) >=1.0 <1.9 A simple version range Range 10

30 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact version number (and Exact only this version) >=1.0 <1.9 A simple version range Range 10

31 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 10

32 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 10

33 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 Wildcard 1.0.* Equal to >=1.0 <1.1 10

34 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 Wildcard 1.0.* Equal to >=1.0 <1.1 10

35 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 Wildcard 1.0.* Equal to >=1.0 <1.1 Tilde Like >=1.2.3 <

36 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 Wildcard 1.0.* Equal to >=1.0 <1.1 Tilde Like >=1.2.3 <

37 Basic usage of composer - Versions The cool thing in composer is: You can setup your version constraint by a huge set of rules. Each developer has his own scheme about how to provide minor/major/patch/hotfix updates, so this won t be a problem for you too if you setup the versions correctly. Type Example Description Exact Exact version number (and only this version) Range >=1.0 <1.9 A simple version range Range (-) The same as >=1.0.0 <2.1 Wildcard 1.0.* Equal to >=1.0 <1.1 Tilde Like >=1.2.3 <1.3.0 Caret ˆ1.2.3 Like >=1.2.3 <2.0.0 (ideal for non-breaking) 10

38 Basic usage of composer - Removing dependencies and global installation Removing dependencies is as easy as adding them: composer remove AUTHOR/PACKAGENAME 11

39 Basic usage of composer - Removing dependencies and global installation Removing dependencies is as easy as adding them: composer remove AUTHOR/PACKAGENAME Sometimes, you may like to add a dependency globally, and therefore for your whole machine. composer global require AUTHOR/PACKAGENAME 11

40 Basic usage of composer - Removing dependencies and global installation Removing dependencies is as easy as adding them: composer remove AUTHOR/PACKAGENAME Sometimes, you may like to add a dependency globally, and therefore for your whole machine. composer global require AUTHOR/PACKAGENAME Be aware that you need to add them to your production machine manually then! 11

41 Basic usage of composer - Where to find package names Sometimes you may have an idea what packages you need for your applications, but you don t know the name(s)... So, what can we do? 12

42 Basic usage of composer - Where to find package names Sometimes you may have an idea what packages you need for your applications, but you don t know the name(s)... So, what can we do? Look up on their git repository 12

43 Basic usage of composer - Where to find package names Sometimes you may have an idea what packages you need for your applications, but you don t know the name(s)... So, what can we do? Look up on their git repository Use composer search NAME 12

44 Basic usage of composer - Where to find package names Sometimes you may have an idea what packages you need for your applications, but you don t know the name(s)... So, what can we do? Look up on their git repository Use composer search NAME Search on 12

45 Basic usage of composer - Autoloading One of the greatest features of composer? It creates an Autoloader for all dependencies! You can require the vendor/autoload.php file and you are good to go! 13

46 Basic usage of composer - Autoloading One of the greatest features of composer? It creates an Autoloader for all dependencies! You can require the vendor/autoload.php file and you are good to go! (All dependencies are saved in /vendor. You must not need commit this file to your VCS) 13

47 Basic usage of composer - Let s require! Okay! For our next topics we need a library called Collect. It is a split from the Laravel Framework Collection package and will help us to deal with data well. Let s require it for our project! It s called tightenco/collect 14

48 JSON

49 What is JSON JSON stands for JavaScript Object Notation. It s a human-readable data transmission format, that is lightweight and language-independent. Because it is text-only, it is widely used for communicating between browser and server through an API. It can also easily transmit objects, arrays and simple variables. 15

50 What is JSON JSON stands for JavaScript Object Notation. It s a human-readable data transmission format, that is lightweight and language-independent. Because it is text-only, it is widely used for communicating between browser and server through an API. It can also easily transmit objects, arrays and simple variables. 1 //An JSON o b j e c t : 2 { name : Max, age : 2 1, c i t y : San J o s e } ; 15

51 PHP and JSON PHP has built-in methods to en- and decode json: 1 $ o b j e c t = j s o n d e c o d e ( { name : Max, age : 2 1, c i t y : San J o s e } ) ; 2 echo $ o b j e c t >name ; //Max 3 var dump ( $ o b j e c t ) ; 4 5 echo j s o n e n c o d e ( $ o b j e c t ) ; // R e t u r n s s t r i n g from above 6 16

52 DD Before we will go through the next tasks, I suggest you another package called larapack/dd. It comes with a function called dd(), which is a die and dump aka. debug function. It ll make your life easier when working with arrays. 17

53 DD Before we will go through the next tasks, I suggest you another package called larapack/dd. It comes with a function called dd(), which is a die and dump aka. debug function. It ll make your life easier when working with arrays. How to use it: 1 $ o b j e c t = j s o n d e c o d e ( { name : Max, age : 2 1, c i t y : San J o s e } ) ; 2 dd ( $ o b j e c t ) ; 3 17

54 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( 18

55 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! 18

56 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! Now, iterate over each element and print out the title! 18

57 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! Now, iterate over each element and print out the title! And finally, reduce your title output to those tracks that have a track number starting with

58 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( 19

59 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! 19

60 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! Now, iterate over each element and print out the title! 19

61 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! Now, iterate over each element and print out the title! BONUS: Create a array that only contains the titles before! 19

62 Tasks!!!111eleven I ve set up a little JSON file called tracks.json, that can be found on code/tracks.json It contains tracks that were downloaded by users of CloudCatcher ( Your first task is to decode the JSON file, without downloading it locally, and printing out the object! Now, iterate over each element and print out the title! BONUS: Create a array that only contains the titles before! And finally, reduce your title output to those tracks that have a track number starting with

63 Collections (next lesson)

64

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick Composer and Drupal CIDUG Meeting December 13, 2018 John Rearick * Similar to other dependency managers such as: yum, apt, brew, macports, npm, pip, etc. * Helps manage dependency hell. * Lots of dependencies

More information

Composer Best Practices Nils Private Packagist

Composer Best Practices Nils Private Packagist Composer Best Practices 2018 Private Packagist https://packagist.com 2018? Delete your lock files 2018? Delete your lock files Composer Ecosystem Reality Update 2018 Best Practices? Deployment Improving

More information

Composer for Absolute Beginners. Alison Jo McCauley Drupal Developer, Cornell University

Composer for Absolute Beginners. Alison Jo McCauley Drupal Developer, Cornell University & l a up Dr Composer for Absolute Beginners Alison Jo McCauley Drupal Developer, Cornell University What is Composer? Composer is a (command-line) tool for dependency management in PHP. With composer,

More information

Build & Launch Tools (BLT) Automating best practices for enterprise sites

Build & Launch Tools (BLT) Automating best practices for enterprise sites Build & Launch Tools (BLT) Automating best practices for enterprise sites Who are you? Matthew Grasmick @grasmash on Drupal.org, twitter, etc. Acquia Professional Services, 4yrs Drupalist, 9yrs Maintainer

More information

Getting Started With NodeJS Feature Flags

Getting Started With NodeJS Feature Flags Guide Getting Started With NodeJS Feature Flags INTRO We ve all done it at some point: thrown a conditional around a piece of code to enable or disable it. When it comes to feature flags, this is about

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

Managed Make Project File Error Code Composer

Managed Make Project File Error Code Composer Managed Make Project File Error Code Composer Also, I checked to make sure that in Project Properties, the TivaWare installation Using the imported project simply called 'Project', I managed to get the

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

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013 Setting Up Your ios Development Environment For Mac OS X (Mountain Lion) v1.0 By GoNorthWest 5 February 2013 Setting up the Apple ios development environment, which consists of Xcode and the ios SDK (Software

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

Subversion was not there a minute ago. Then I went through a couple of menus and eventually it showed up. Why is it there sometimes and sometimes not?

Subversion was not there a minute ago. Then I went through a couple of menus and eventually it showed up. Why is it there sometimes and sometimes not? Subversion was not there a minute ago. Then I went through a couple of menus and eventually it showed up. Why is it there sometimes and sometimes not? Trying to commit a first file. There is nothing on

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

OrbBasic Lesson 1 Goto and Variables: Student Guide

OrbBasic Lesson 1 Goto and Variables: Student Guide OrbBasic Lesson 1 Goto and Variables: Student Guide Sphero MacroLab is a really cool app to give the Sphero commands, but it s limited in what it can do. You give it a list of commands and it starts at

More information

Pragmatic Guide to Git

Pragmatic Guide to Git Extracted from: Pragmatic Guide to Git This PDF file contains pages extracted from Pragmatic Guide to Git, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy,

More information

OrbBasic 1: Student Guide

OrbBasic 1: Student Guide OrbBasic 1: Student Guide Sphero MacroLab is a really cool app to give the Sphero commands, but it s limited in what it can do. You give it a list of commands and it starts at the top and goes to the bottom,

More information

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

Servers & Developers. Julian Nadeau Production Engineer

Servers & Developers. Julian Nadeau Production Engineer Servers & Developers Julian Nadeau Production Engineer Provisioning & Orchestration of Servers Setting a server up Packer - one server at a time Chef - all servers at once Containerization What are Containers?

More information

Drupal & Composer Matthew Grasmick & Jeff Geerling

Drupal & Composer Matthew Grasmick & Jeff Geerling Drupal & Composer Matthew Grasmick & Jeff Geerling Speakers Matthew Grasmick @grasmash Jeff Geerling @geerlingguy Acquian BLT maintainer 10+ years of Drupal Acquian Drupal VM maintainer Agenda Composer

More information

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Evaluation Guide for ASP.NET Web CMS and Experience Platforms Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:

More information

Installing PHP on Windows 10 Bash and Starting a Local Server

Installing PHP on Windows 10 Bash and Starting a Local Server Installing PHP on Windows 10 Bash and Starting a Local Server Bash on Ubuntu/Windows is a way to use a command line to run all kinds of programs (including git!). But we ll want a Bash terminal to run

More information

Git, the magical version control

Git, the magical version control Git, the magical version control Git is an open-source version control system (meaning, it s free!) that allows developers to track changes made on their code files throughout the lifetime of a project.

More information

COMPOSER IN DRUPAL WORLD

COMPOSER IN DRUPAL WORLD #drupaldevdays / Composer in Drupal World / @derhasi COMPOSER IN DRUPAL WORLD Johannes Haseitl - @derhasi ME Johannes Haseitl @derhasi everywhere Maintainer of Master, Search API Override,... CEO of undpaul

More information

Web Server Setup Guide

Web Server Setup Guide SelfTaughtCoders.com Web Server Setup Guide How to set up your own computer for web development. Setting Up Your Computer for Web Development Our web server software As we discussed, our web app is comprised

More information

Operations Orchestration 10.x Flow Authoring (OO220)

Operations Orchestration 10.x Flow Authoring (OO220) Operations Orchestration 10.x Flow Authoring (OO220) Education Services course product number H4S75S Course length 4 days Delivery mode Instructor Led Training (ILT) virtual Instructor Led Training (ILT)

More information

A Plumber s Guide to Git Alex

A Plumber s Guide to Git Alex A Plumber s Guide to Git Alex Chan @alexwlchan Image: Model of the Optimus water closet. Science Museum, Wellcome Images. #1 The Git object database 1. Create a new folder, and initialise Git. 2. Look

More information

Getting started with Python

Getting started with Python Getting started with Python (i.e. installing and testing it) 2018 From original slides by Tony Cahill What is Python? Python is a free computer language that was created in 1991 It has many add-ons (called

More information

Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter

Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter Intro 2 Disclaimer 2 Important Caveats for Twitter Automation 2 Enter Azuqua 3 Getting Ready 3 Setup and Test your Connection! 4

More information

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

Introduction of Laravel and creating a customized framework out of its packages

Introduction of Laravel and creating a customized framework out of its packages Introduction of Laravel and creating a customized framework out of its packages s.farshad.k@gmail.co m Presents By : Sayed-Farshad Kazemi For : Software Free Day Fall 2016 @farshadfeli x @s.farshad.k @farshad92

More information

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading Full Stack Web Development Intensive, Fall 2017 There are two main objectives to this course. The first is learning how to build websites / web applications and the assets that compose them. The second

More information

Bldr.io Documentation

Bldr.io Documentation Bldr.io Documentation Release 0.0.2 Aaron Scherer February 10, 2017 Contents 1 Content 5 1.1 Installation................................................ 5 1.2 Usage...................................................

More information

2 Initialize a git repository on your machine, add a README file, commit and push

2 Initialize a git repository on your machine, add a README file, commit and push BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal

More information

Using SourceTree on the Development Server

Using SourceTree on the Development Server Using SourceTree on the Development Server This content has been modified to exclude client information. Such omissions include the client name and details of the client s infrastructure, such as domain

More information

nacelle Documentation

nacelle Documentation nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

How to set up SQL Source Control The short guide for evaluators

How to set up SQL Source Control The short guide for evaluators GUIDE How to set up SQL Source Control The short guide for evaluators 1 Contents Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first

More information

F17 Modern Version Control with Git. Aaron Perley https://www.andrew.cmu.edu/course/98-174/

F17 Modern Version Control with Git. Aaron Perley https://www.andrew.cmu.edu/course/98-174/ 98-174 F17 Modern Version Control with Git Aaron Perley (aperley@andrew.cmu.edu) https://www.andrew.cmu.edu/course/98-174/ Why should you take this course? Version control software is an essential part

More information

CRMUG MS CRM Solution Packager Københavns Kommune

CRMUG MS CRM Solution Packager Københavns Kommune CRMUG MS CRM Solution Packager 2016-02-08 @ Københavns Kommune Agenda Matching of expectations Short introduction: Speaker and Delegate A/S (CRM) MS CRM Solution Packager What is it, why use it and mostly

More information

Unifer Documentation. Release V1.0. Matthew S

Unifer Documentation. Release V1.0. Matthew S Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................

More information

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; Why should I use a VCS? Repositories Types of repositories: Private - only you and the

More information

Intro to Github. Jessica Young

Intro to Github. Jessica Young Intro to Github Jessica Young jyoung22@nd.edu GitHub Basics 1. Installing GitHub and Git 2. Connecting Git and GitHub 3. Why use Git? Installing GitHub If you haven t already, create an account on GitHub

More information

Navigator Documentation

Navigator Documentation Navigator Documentation Release 1.0.0 Simon Holywell February 18, 2016 Contents 1 Installation 3 1.1 Packagist with Composer........................................ 3 1.2 git Clone or Zip Package.........................................

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

Akana API Platform: Upgrade Guide

Akana API Platform: Upgrade Guide Akana API Platform: Upgrade Guide Version 8.0 to 8.2 Akana API Platform Upgrade Guide Version 8.0 to 8.2 November, 2016 (update v2) Copyright Copyright 2016 Akana, Inc. All rights reserved. Trademarks

More information

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

(try adding using css to add some space between the bottom of the art div and the reset button, this can be done using Margins)

(try adding using css to add some space between the bottom of the art div and the reset button, this can be done using Margins) Pixel Art Editor Extra Challenges 1. Adding a Reset button Add a reset button to your HTML, below the #art div. Pixels go here reset The result should look something

More information

Documentation for Flash Project

Documentation for Flash Project Documentation for Flash Project JOU 4341 and MMC 4946 / Fall 2005 You will build at least six Flash pages, or screens, to create an online story with photos, text and audio. The story will have a cover

More information

Liquibase Version Control For Your Schema. Nathan Voxland April 3,

Liquibase Version Control For Your Schema. Nathan Voxland April 3, Liquibase Version Control For Your Schema Nathan Voxland April 3, 2014 nathan@liquibase.org @nvoxland Agenda 2 Why Liquibase Standard Usage Tips and Tricks Q&A Why Liquibase? 3 You would never develop

More information

Setting up GitHub Version Control with Qt Creator*

Setting up GitHub Version Control with Qt Creator* Setting up GitHub Version Control with Qt Creator* *This tutorial is assuming you already have an account on GitHub. If you don t, go to www.github.com and set up an account using your buckeyemail account.

More information

Installing VS Code. Instructions for the Window OS.

Installing VS Code. Instructions for the Window OS. Installing VS Code Instructions for the Window OS. VS Code is a free text editor created by Microsoft. It is a lightweight version of their commercial product, Visual Studio. It runs on Microsoft Windows,

More information

AN INTRODUCTION TO PERFORMANCE TESTING USING JMETER

AN INTRODUCTION TO PERFORMANCE TESTING USING JMETER AN INTRODUCTION TO PERFORMANCE TESTING USING JMETER D eveloping online applications? Worried about performance? You should consider adding JMeter to your testing toolbox. In this tutorial, we re going

More information

Teachers Manual for Creating a Website with WordPress

Teachers Manual for Creating a Website with WordPress Teachers Manual for Creating a Website with WordPress ISBN 978 90 5905 422 6 2 1. Introduction This course manual assumes a lesson structure consisting of nine points. These points have been divided into

More information

supernova Documentation

supernova Documentation supernova Documentation Release trunk Major Hayden June 21, 2015 Contents 1 Documentation 3 1.1 Rackspace Quick Start.......................................... 3 1.2 Installing supernova...........................................

More information

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

More information

Netalyzr Updates. Christian Kreibich (ICSI), Nicholas Weaver (ICSI), and Vern Paxson (ICSI & UC Berkeley) Netalyzr Updates

Netalyzr Updates. Christian Kreibich (ICSI), Nicholas Weaver (ICSI), and Vern Paxson (ICSI & UC Berkeley) Netalyzr Updates Christian Kreibich (ICSI), Nicholas Weaver (ICSI), and Vern Paxson (ICSI & UC Berkeley) 1 Acknowledgements and Important Disclaimers This work sponsored by the National Science Foundation With additional

More information

S18 Modern Version Control with Git

S18 Modern Version Control with Git 98-174 S18 Modern Version Control with Git Aaron Perley (aperley@andrew.cmu.edu) Ilan Biala (ibiala@andrew.cmu.edu) https://www.andrew.cmu.edu/course/98-174/ Why should you take this course? Version control

More information

Create-A-Page Design Documentation

Create-A-Page Design Documentation Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship

More information

Website Design and Development CSCI 311

Website Design and Development CSCI 311 Website Design and Development CSCI 311 Learning Objectives Understand good practices in designing and developing web sites Learn some of the challenges web design Activity In pairs: describe how you d

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

Steps to enable Push notification for your app:

Steps to enable Push notification for your app: User Guide Steps to enable Push notification for your app: Push notification allows an app to notify you of new messages or events without the need to actually open the application, similar to how a text

More information

Blast Search Lucene Search Module for Magento 2

Blast Search Lucene Search Module for Magento 2 Blast Search Lucene Search Module for Magento 2 Requirements : Magento 2.0.x or 2.1.x, pcre and pcntl php modules enabled Version 1.1.3 for Magento 2 1 Installation...3 1.1 Manual Install... 3 1.2 Composer

More information

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG) SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2

More information

Using Devices with Microsoft HealthVault

Using Devices with Microsoft HealthVault Using Devices with Microsoft HealthVault A Microsoft HealthVault Step-by-Step Guide This guide will help you get started using Microsoft HealthVault Connection Center to send information from your health

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

TOP DEVELOPERS MINDSET. All About the 5 Things You Don t Know.

TOP DEVELOPERS MINDSET. All About the 5 Things You Don t Know. MINDSET TOP DEVELOPERS All About the 5 Things You Don t Know 1 INTRODUCTION Coding and programming are becoming more and more popular as technology advances and computer-based devices become more widespread.

More information

Magister 6 API Documentation

Magister 6 API Documentation Magister 6 API Documentation Release 2.0 magister-api November 15, 2017 Contents 1 User Guide 3 1.1 Installation................................................ 3 1.1.1 Server Requirements......................................

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

Signing For Development/Debug

Signing For Development/Debug Signing Android Apps v1.0 By GoNorthWest 15 December 2011 If you are creating an Android application, Google requires that those applications are signed with a certificate. This signing process is significantly

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

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

Background. Let s see what we prescribed.

Background. Let s see what we prescribed. Background Patient B s custom application had slowed down as their data grew. They d tried several different relief efforts over time, but performance issues kept popping up especially deadlocks. They

More information

Php4u Payment Restrictions Module for Magento 2

Php4u Payment Restrictions Module for Magento 2 Php4u Payment Restrictions Module for Magento 2 Requirements : Magento 2.0.x or 2.1.x Version 1.0.0 for Magento 2 1 Installation...3 1.1 Manual Install... 3 1.2 Composer install...4 2. Configuration...5

More information

Full Stack Web Developer Nanodegree Syllabus

Full Stack Web Developer Nanodegree Syllabus Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,

More information

INTRODUCTION. 2

INTRODUCTION. 2 1 INTRODUCTION Being fluent in a programming language can guarantee you a hefty salary and a great job position. Out of the thousands of programming languages that are currently out there, Python has shown

More information

Having Fun with Social Coding. Sean Handley. February 25, 2010

Having Fun with Social Coding. Sean Handley. February 25, 2010 Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing

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

contain a geometry package, and so on). All Java classes should belong to a package, and you specify that package by typing:

contain a geometry package, and so on). All Java classes should belong to a package, and you specify that package by typing: Introduction to Java Welcome to the second CS15 lab! By now we've gone over objects, modeling, properties, attributes, and how to put all of these things together into Java classes. It's perfectly okay

More information

Real-time Data Engineering in the Cloud Exercise Guide

Real-time Data Engineering in the Cloud Exercise Guide Real-time Data Engineering in the Cloud Exercise Guide Jesse Anderson 2017 SMOKING HAND LLC ALL RIGHTS RESERVED Version 1.12.a9779239 1 Contents 1 Lab Notes 3 2 Kafka HelloWorld 6 3 Streaming ETL 8 4 Advanced

More information

Lesson 13 Transcript: User-Defined Functions

Lesson 13 Transcript: User-Defined Functions Lesson 13 Transcript: User-Defined Functions Slide 1: Cover Welcome to Lesson 13 of DB2 ON CAMPUS LECTURE SERIES. Today, we are going to talk about User-defined Functions. My name is Raul Chong, and I'm

More information

Behat BDD, FUNCTIONAL TESTS & SELENIUM (IN DRUPAL!)

Behat BDD, FUNCTIONAL TESTS & SELENIUM (IN DRUPAL!) Behat BDD, FUNCTIONAL TESTS & SELENIUM (IN DRUPAL!) s Hallo! > Lead of the Symfony documentation team > KnpLabs US - Symfony consulting, training & kumbaya > Writer for KnpUniversity.com: PHP & Symfony

More information

Background. $VENDOR wasn t sure either, but they were pretty sure it wasn t their code.

Background. $VENDOR wasn t sure either, but they were pretty sure it wasn t their code. Background Patient A got in touch because they were having performance pain with $VENDOR s applications. Patient A wasn t sure if the problem was hardware, their configuration, or something in $VENDOR

More information

Masternode Guide Version 1.0.4

Masternode Guide Version 1.0.4 Thunderstake Coin Version 1.0.4 Thunderstake Team 1 P age Welcome to the Thunderstake The information contained in this guide will help you to set up your very own TSC masternode. If you feel like you

More information

CICD pipeline for your extensions with Visual Studio Team Services

CICD pipeline for your extensions with Visual Studio Team Services 2017-10-11 8:11:00 AM - v2 rev2 CICD pipeline for your extensions with Visual Studio Team Services AUTHORS REVIEWERS TESTERS Willy Schaub Dave McKinstry, David Sanchez Aguilar, Derek Keeler, Hosam Kamel,

More information

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis and CSE 390a OUTLINE Introductions Code Reasoning Version control IDEs

More information

Git! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter!

Git! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter! Git! Fundamentals IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter! IT Communications 1 What is Version Control? Version Control System (VCS)!

More information

About CVS. 1 Version Control - what is it? why is it useful?

About CVS. 1 Version Control - what is it? why is it useful? About CVS CVS stands for Concurrent Version Control. It s free, open-source software used by multiple developers to share code, keep track of changes, and keep different versions of a project. it can be

More information

Version Control Systems (VCS)

Version Control Systems (VCS) Version Control Systems (VCS) Xianyi Zeng xzeng@utep.edu Department of Mathematical Sciences The University of Texas at El Paso. September 13, 2016. Version Control Systems Let s get the textbook! Online

More information

MySQL. The Right Database for GIS Sometimes

MySQL. The Right Database for GIS Sometimes MySQL The Right Database for GIS Sometimes Who am I? Web/GIS Software Engineer with Cimbura.com BS in IT, MGIS Michael Moore I like making and using tools (digital or physical) GIS Web Services I m most

More information

These are notes for the third lecture; if statements and loops.

These are notes for the third lecture; if statements and loops. These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern

More information

Enums. In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed.

Enums. In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed. Enums Introduction In this article from my free Java 8 course, I will talk about the enum. Enums are constant values that can never be changed. The Final Tag To display why this is useful, I m going to

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

Turbo boost your digital app test automation with Jenkins

Turbo boost your digital app test automation with Jenkins Turbo boost your digital app test automation with Jenkins Step-by-Step Tutorial May, 2018 Speakers Sheli Ashkenazi Sr. Product Manager Experitest Jonathan Aharon Sr. Sales Engineer Experitest 2 01 The

More information

How to Install and Setup VoIPOffice Communicator for Mac

How to Install and Setup VoIPOffice Communicator for Mac Page 1 of 10 How to Install and Setup VoIPOffice Communicator for Mac (Software Release 3.8.10) This guide will show you how to install and setup VoIPOffice Communicator for Mac. Click the button below

More information

Beginners guide to at #phpworld

Beginners guide to at #phpworld Beginners guide to deployments at #phpworld Let s talk deployment Your deploys should be as boring, straightforward, and stress-free as possible. - Zach Holman (https://zachholman.com/posts/deploying-software)

More information

Lesson 7: Recipe Display Application Setup Workspace

Lesson 7: Recipe Display Application Setup Workspace Lesson 7: Recipe Display Application Setup Workspace Setup Workspace - 5 STEPS Step #1: Setup a new workspace in Cloud9 Step #2: Copy the files & folder to the local repository (Cloud9) Step #3: Create

More information

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

More information

Magister 6 API Documentation

Magister 6 API Documentation Magister 6 API Documentation Release 2.0 magister-api September 22, 2018 Contents 1 User Guide 3 1.1 Installation................................................ 3 1.1.1 Server Requirements......................................

More information

Software Engineering

Software Engineering Software Engineering CSC 331/631 - Spring 2018 Version Control with Git Paul Pauca March 27 SE Theory: Version Control Systems Link to video lectures (Soft Dev Proc part 1 of 3) Watch these short videos

More information