PHPUnit and Drupal 8 No Unit Left Behind. Paul Mitchum
|
|
|
- Georgia Caldwell
- 10 years ago
- Views:
Transcription
1 PHPUnit and Drupal 8 No Unit Left Behind Paul Mitchum
2 And You Are? Paul Mitchum Mile23 on Drupal.org From Seattle
3 Please Keep In Mind The ability to give an hour-long presentation is not the same as being an expert.
4 The Structure Of This Talk What's A Unit Test? Use The Tools Who Eats Tests? Writing A Test Patterns For Isolation Questions?...until I run out of time
5 What's A Unit Test? A test of a unit. Duh.
6 $this->asserttrue( SomeClass::thisMethodIsAUnit($data) ); So What's A Unit? A unit is: Function / Method Code path within a method Line of code within a method
7 Why do we need unit tests? Some concrete benefits: 1. They quickly tell us whether the code works. 2. They allow us to analyze the maintainability of our code.
8 Whither SimpleTest SimpleTest has web-based functional tests. These test system interactions rather than methods in code. It's a different testing realm. SimpleTest can stay. :-)
9 Tools How to run PHPUnit tests. How to generate PHPUnit coverage report. How to read the coverage report.
10 How to run PHPUnit (the right way) 1. At the command line cd core/ 3../vendor/bin/phpunit 4. Wait 8 seconds. 5. Know the truth. (demo)
11 How to run PHPUnit inside Drupal 8 (the wrong way) 1. Have XDebug. 2. Enable Testing module. 3. At the Drupal 8 testing page. 4. Find 'PHPUnit' group. 5. Click 'Run tests.'
12 How to run PHPUnit like the testbot (the less wrong way) 1. With a working Drupal installation. 2. Enable the Testing module. 3. At the command line php core/scripts/run-tests.sh PHPunit 5. Wait a while. 6. Know the truth. (demo)
13 The problem of coverage Unicode::convertToUtf8() (demo)
14 How to generate a coverage report Make sure you have XDebug Same as running the test..../vendor/bin/phpunit --coverage-html [path] Will generate static HTML site. (crap-free demo)
15 What About SimpleTest? SimpleTest coverage is not reflected in PHPUnit reports. SimpleTests are functional, so they don t have the same kind of coverage as PHPUnit.
16 The problem of coverage Missing files in Database (demo)
17 Walk Through The Dashboard (demo)
18 CRAP? Yes, C.R.A.P.: Change Risk Anti-Pattern. Measures maintainability of code. *Not* a value judgement. :-) Low number is better. 1 is minimum. 30 is generally considered high.
19 How does CRAP work? Measures cyclomatic complexity of the method. Measures line coverage. Given coverage, importance of complexity is reduced. Basically: High coverage kills CRAP.
20 The Lesson Of CRAP Coverage means not having to worry.
21 The problem of maintainability DisplayPluginBase::buildOptionsForm() (demo)
22 Who Eats Tests? or I wrote a test, what can I do with it? You have some knowledge of the tools, let's put them in context.
23 Continuous Integration A process for testing all changes as they happen. Make a change, quickly find out if it's bad. As automatic as possible. 1. git commit 2. Push to repo 3. CI process triggered 4. Automatically deploy and run all the tests 5. Pass/fail report 6. Know
24 Drupal.org Testbot Process Almost a CI process, but not quite. Still very useful. 1. Submit patch 2. Testbot applies patch 3. Testbot runs tests 4. Testbot shows status 5. Know (once you look at the issue again) Not CI: You have to make the patch (and the interdiff), and it doesn't automatically tell you the results.
25 Test-Along Methodology Obsessively run tests while developing, because you can. Keep a terminal window open. Command-tab to terminal, hit up arrow and return. Know.
26 A Modest Proposal For A Development Process You're a developer. Your assignment: Fix a bug. 1. Generate a coverage report. 2. If coverage is low in your area of concern: 3. Write unit tests for high coverage baseline. 4. Begin fixing bug. 5. Run tests. 6. More bug fixing. 7. Run tests. 8. Etc. PHPUnit/CI enables this process.
27 Essentially: Your test will run every time anyone submits a patch. The test you write will be a metric used to measure the quality of other code. Your code and your test will be eaten by everyone else. Yum.
28 For-Reals PHPUnit Code Stuff
29 PHPUnit Definitions Lots of overlap with SimpleTest Assertion: Testing logic, pass/fail. Test: A method that uses assertions. Test case: A class with test methods. Test suite: Which test cases to run. Config.
30 Drupal 8 PHPUnit Test Case // file: [PSRpath]/FooTest.php // namespace Drupal\Tests\Core\Whatever; namespace Drupal\[module]\Tests; // Drupal\Tests\UnitTestCase extends \PHPUnit_Framework_TestCase use Drupal\Tests\UnitTestCase; class FooTest extends UnitTestCase { // <- test case public function testfoo() { // <- test $this->asserttrue(true); // <- assertion } }
31 How Does PHPUnit Find Tests? 1. Ignore class autoloader. 2. Read config for directories to search. 3. Recursively search through directories. 4. Look for files ending in Test.php 5. includethose files. 6. Check if they're subclasses of \PHPUnit_Framework_TestCase 7. Check those classes have method names starting with test
32 core/ lib/ [PSR Namespace Here] tests/ [PSR Namespace Here] modules/ somemodule/ somemodule.info.yml lib/ tests/ [PSR Namespace...] Drupal/ somemodule/ Tests/ SomeModuleTest.php File System
33 PSR-What? BASICALLY... PHP might need help finding a class. You can use spl_autoload_register()to help it out. Various PSR systems are strategies for finding the file. YEAH, BUT HOW? In Drupal PSR-0, namespace maps to file path. Drupal\Core\Something\Else becomes [root dir]/drupal/core/something/else.php
34 [ isolation ]
35 Isolation Enables us to test only the thing we're trying to test. Decouples the test from other concerns.
36 Types of isolation: System isolation: No database, no server Language isolation: Pick out extensions and libraries Code isolation: Let PHPUnit do the work
37 Patterns for Isolation Data Test Doubles (mock, stub) Dependency Injection Interfaces
38 Pattern: Data Provider A data provider is a method that returns an array of data which PHPUnit then iterates into the test method s parameters. public function providertestsomething() { return array( array( expected, data ), ); } /** * Special annotation: providertestsomething */ public function testsomething($expected, $data) { $something = new Something(); $this->assertequals($expected, $something->testme($data)); }
39 More on Data Providers Once a unit test is written, it becomes: The Test You want its regression value to stay the same. When you change the test, you are now testing something else. Data providers give us a way to change test data without changing test logic. ALWAYS write a data provider, for any data-based test you write. The test method should not depend on specific data.
40 Anti-Pattern: Exceptions Example annotation. /** providertestexception */ public function testexception($boom) { try { $item = new \Some\Class(); $item->baddatamakesmego($boom); } catch (\InvalidArgumentException $e) { $this->asserttrue(true); // PASS return; } catch ($e) { } $this->asserttrue(false); // FAIL }
41 Pattern: Expected Exception Test passes if an exception is thrown. Isolates test from test code. /** \InvalidArgumentException providertestexception */ public function testexception($boom) { $item = new \Some\Class(); $item->baddatamakesmego($boom); }
42 Pattern: Test Double PHPUnit can provide an imposter object which you can program to do stuff. This is a test double. Test doubles perform stubbing or mocking of items needed by the system under test. Isolate behavior of SUT from other implementations.
43 Class_A::wtfMethod(\Interface_B $b); Test Double We want to test this: Let's make a test double: public function testwtfmethod() { // Make a mock object. $mock = $this->getmock( \Interface_b ); // Tell it to handle the given method. $mock->expects($this->any()) ->method( mockedmethod ) ->will($this->returnvalue( iamanexpectedvalue )); // And finally run the test. $this->asserttrue(class_a::wtfmethod($mock)); }
44 Drupal 8 Built-In Test Doubles Drupal\Tests\UnitTestCasehas some test double convenience methods. Give them a look for clues about how to make test doubles. getconfigfactorystub() getconfigstoragestub() getblockmockwithmachinename() getstringtranslationstub()
45 Winding Up: Recap PHPUnit:./vendor/bin/phpunit Coverage Report: --coverage-html [path] CRAP: Reflects maintainability Functional vs. Unit Testing: Systems vs. Code Patterns: Isolation, Data providers, Test Doubles
46 Thank You! Paul Mitchum Mile23 on on Twitter paul-m on GitHub
47 Questions? 1. Good: I know the answer. 2. Excellent: I know the answer and have a slide. 3. Interesting: I have no clue what you are talking about.
jenkins, drupal & testing automating every phing! miggle
jenkins, drupal & testing automating every phing! about me > Drupal dev for 6+ years > PHP dev for 10+ years > Husband > Cyclist > Frustrated rockstar @8ballmedia aims > Encourage best practices > Ensure
Drupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
PHPUnit Manual. Sebastian Bergmann
PHPUnit Manual Sebastian Bergmann PHPUnit Manual Sebastian Bergmann Publication date Edition for PHPUnit 3.5. Updated on 2011-04-05. Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 Sebastian Bergmann
Symfony2 and Drupal. Why to talk about Symfony2 framework?
Symfony2 and Drupal Why to talk about Symfony2 framework? Me and why Symfony2? Timo-Tuomas Tipi / TipiT Koivisto, M.Sc. Drupal experience ~6 months Symfony2 ~40h Coming from the (framework) Java world
DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction
DRUPAL CONTINUOUS INTEGRATION Part I - Introduction Continuous Integration is a software development practice where members of a team integrate work frequently, usually each person integrates at least
Continuous Integration
CODING & DEVELOPMENT BORIS GORDON FEBRUARY 7 2013 Continuous Integration Introduction About me boztek on d.o. (http://drupal.org/user/134410) @boztek [email protected] 2 Introduction About you
Drupal 8. Core and API Changes Shabir Ahmad MS Software Engg. NUST Principal Software Engineser PHP/Drupal [email protected]
Drupal 8 Core and API Changes Shabir Ahmad MS Software Engg. NUST Principal Software Engineser PHP/Drupal [email protected] Agenda What's coming in Drupal 8 for o End users and clients? o Site builders?
Introduction to Git. Markus Kötter [email protected]. Notes. Leinelab Workshop July 28, 2015
Introduction to Git Markus Kötter [email protected] Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.
PHPUnit Manual. Sebastian Bergmann
PHPUnit Manual Sebastian Bergmann PHPUnit Manual Sebastian Bergmann Publication date Edition for PHPUnit 3.4. Updated on 2010-09-19. Copyright 2005, 2006, 2007, 2008, 2009, 2010 Sebastian Bergmann This
Building, testing and deploying mobile apps with Jenkins & friends
Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really
Git - Working with Remote Repositories
Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync
Testing on the Edge Sebastian Bergmann October 28th 2013
Testing on the Edge Sebastian Bergmann October 28th 2013 Sebastian Bergmann» Has instrumentally contributed to transforming PHP into a reliable platform for large-scale, critical projects.» Enterprises
Achieving Continuous Integration with Drupal
23 Au gu Achieving Continuous Integration with Drupal st 20 12 Achieving Continuous Integration with Drupal Drupalcon Munich 2012 Barry Jaspan [email protected] The Evolution of a Drupal Developer
Azure Day Application Development
Azure Day Application Development Randy Pagels Developer Technology Specialist Tim Adams Developer Solutions Specialist Azure App Service.NET, Java, Node.js, PHP, Python Auto patching Auto scale Integration
False Positives & Managing G11n in Sync with Development
Continuous Globalization False Positives & Managing G11n in Sync with Development From Lingoport: Adam Asnes Michael Asnes May 10, 2016 Agenda False positives background Static Analysis vs. Testing Intro
Improving your Drupal Development workflow with Continuous Integration
Improving your Drupal Development workflow with Continuous Integration Peter Drake Sahana Murthy DREAM IT. DRUPAL IT. 1 Meet Us!!!! Peter Drake Cloud Software Engineer @Acquia Drupal Developer & sometimes
SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS
SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS @huibschoots & @mieldonkers INTRODUCTION Huib Schoots Tester @huibschoots Miel Donkers Developer @mieldonkers TYPICAL Experience with Continuous Delivery?
Version Control with Git. Dylan Nugent
Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just
Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY
Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY C ontinuous delivery offers a number of opportunities and for organizations. By automating the software buildtest-deployment
Code Quality on Magento
Code Quality on Magento Motivation General Quality Magento Quality Dr. Nikolai Krambrock Meet Magento Romania, 13.09. code4business Software GmbH Dennewartstr. 25-27 52068 Aachen Germany Person Dr. Nikolai
Everything you ever wanted to know about Drupal 8*
Everything you ever wanted to know about Drupal 8* but were too afraid to ask *conditions apply So you want to start a pony stud small horses, big hearts Drupal 8 - in a nutshell Learn Once - Apply Everywhere*
Testing Rails. by Josh Steiner. thoughtbot
Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................
Installing Booked scheduler on CentOS 6.5
Installing Booked scheduler on CentOS 6.5 This guide will assume that you already have CentOS 6.x installed on your computer, I did a plain vanilla Desktop install into a Virtual Box VM for this test,
Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014
This presentation was originally given at DrupalCamp Scotland, 2014. http://camp.drupalscotland.org/ The University of Edinburgh 1 We are 2 of the developers working on the University s ongoing project
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Jazz Source Control Best Practices
Jazz Source Control Best Practices Shashikant Padur RTC SCM Developer Jazz Source Control Mantra The fine print Fast, easy, and a few concepts to support many flexible workflows Give all users access to
Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation
Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically
Adobe Summit 2015 Lab 718: Managing Mobile Apps: A PhoneGap Enterprise Introduction for Marketers
Adobe Summit 2015 Lab 718: Managing Mobile Apps: A PhoneGap Enterprise Introduction for Marketers 1 INTRODUCTION GOAL OBJECTIVES MODULE 1 AEM & PHONEGAP ENTERPRISE INTRODUCTION LESSON 1- AEM BASICS OVERVIEW
Paul Boisvert. Director Product Management, Magento
Magento 2 Overview Paul Boisvert Director Product Management, Magento Platform Goals Release Approach 2014 2015 2016 2017 2.0 Dev Beta 2.0 Merchant Beta 2.x Ongoing Releases 2.0 Dev RC 2.0 Merchant GA
TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.
TestOps: Continuous Integration when infrastructure is the product Barry Jaspan Senior Architect, Acquia Inc. This talk is about the hard parts. Rainbows and ponies have left the building. Intro to Continuous
Module developer s tutorial
Module developer s tutorial Revision: May 29, 2011 1. Introduction In order to keep future updates and upgrades easy and simple, all changes to e-commerce websites built with LiteCommerce should be made
Introduction to Module Development
Introduction to Module Development Ezra Barnett Gildesgame Growing Venture Solutions @ezrabg on Twitter ezra-g on Drupal.org DrupalCon Chicago 2011 What is a module? Apollo Lunar Service and Excursion
Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester
Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features
Application Management A CFEngine Special Topics Handbook
Application Management A CFEngine Special Topics Handbook CFEngine AS CFEngine is able to install, update and uninstall services and applications across all managed nodes in a platform-independent manner.
How does Drupal 7 Work? Tess Flynn, KDØPQK www.deninet.com
How does Drupal 7 Work? Tess Flynn, KDØPQK www.deninet.com About the Author Bachelor of Computer Science Used Drupal since 4.7 Switched from self-built PHP CMS Current Job: Not in Drupal! But she d like
Web Developer Toolkit for IBM Digital Experience
Web Developer Toolkit for IBM Digital Experience Open source Node.js-based tools for web developers and designers using IBM Digital Experience Tools for working with: Applications: Script Portlets Site
Putting It All Together. Vagrant Drush Version Control
Putting It All Together Vagrant Drush Version Control Vagrant Most Drupal developers now work on OSX. The Vagarant provisioning scripts may not work on Windows without subtle changes. If supplied, read
Entites in Drupal 8. Sascha Grossenbacher Christophe Galli
Entites in Drupal 8 Sascha Grossenbacher Christophe Galli Who are we? Sascha (berdir) Christophe (cgalli) Active core contributor Entity system maintainer Porting and maintaining lots of D8 contrib projects
Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts
Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java Drupaldelphia 2014 By Joe Roberts Agenda What is DrupalGap and PhoneGap? How to setup your Drupal website
Version Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
Windmill. Automated Testing for Web Applications
Windmill Automated Testing for Web Applications Demo! Requirements Quickly build regression tests Easily debug tests Run single test on all target browsers Easily fit in to continuous integration Other
Continuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
DEPLOYING DRUPAL USING CAPISTRANO
DEPLOYING DRUPAL USING CAPISTRANO Jochen Verdeyen @jochenverdeyen SITUATIONS PREREQUISITES SSH Ruby (local) Git (servers) INSTALLATION source 'https://rubygems.org' group :deploy do gem 'capistrano',
StriderCD Book. Release 1.4. Niall O Higgins
StriderCD Book Release 1.4 Niall O Higgins August 22, 2015 Contents 1 Introduction 3 1.1 What Is Strider.............................................. 3 1.2 What Is Continuous Integration.....................................
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS
SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS @pascal_dufour & @hrietman INTRODUCTION Pascal Dufour Agile Tester @Pascal_Dufour Harald Rietman Developer Scrum Master @hrietman TYPICAL Experience with
Git Branching for Continuous Delivery
Git Branching for Continuous Delivery Sarah Goff-Dupont Automation Enthusiast Hello everyone I ll be talking about how teams at Atlassian use Git branches for continuous delivery. My name is Sarah, and
Continuous Integration Optimizing Your Release Management Process
Continuous Integration Optimizing Your Release Management Process Continuous Integration? Why should I care? What s in it for me? Continuous Integration? Why should I care? What s in it for me? The cost
Source Code Review Using Static Analysis Tools
Source Code Review Using Static Analysis Tools July-August 05 Author: Stavros Moiras Supervisor(s): Stefan Lüders Aimilios Tsouvelekakis CERN openlab Summer Student Report 05 Abstract Many teams at CERN,
LEARNING DRUPAL. Instructor : Joshua Owusu-Ansah Company : e4solutions Com. Ltd.
LEARNING DRUPAL Instructor : Joshua Owusu-Ansah Company : e4solutions Com. Ltd. Background The Drupal project was started in 2000 by a student in Belgium named Dries Buytaert. The code was originally designed
Continuous integration with Jenkins CI
Continuous integration with Jenkins CI Vojtěch Juránek JBoss - a division by Red Hat 17. 2. 2012, Developer conference, Brno Vojtěch Juránek (Red Hat) Continuous integration with Jenkins CI 17. 2. 2012,
DevOps. Building a Continuous Delivery Pipeline
DevOps Building a Continuous Delivery Pipeline Who Am I Bobby Warner Founder & President @bobbywarner What is the goal? Infrastructure as Code Write code to describe our infrastructure Never manually execute
How to Install SQL Server 2008
How to Install SQL Server 2008 A Step by Step guide to installing SQL Server 2008 simply and successfully with no prior knowledge Developers and system administrators will find this installation guide
Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE
Source Code Management for Continuous Integration and Deployment Version 1.0 Copyright 2013, 2014 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed,
> Define the different phases of K2 development, including: understand, model, build, maintain and extend
This course concentrates on K2 blackpoint from a SharePoint Site Collection owners perspective, that is, a person who already has a basic understanding of SharePoint concepts and terms before attending
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)
The Journey of Testing with Stubs and Proxies in AWS Lucy Chang [email protected] Abstract Intuit, a leader in small business and accountants software, is a strong AWS(Amazon Web Services) partner
Outlook Today. Microsoft Outlook a different way to look at E-MailE. By Microsoft.com
Outlook Today Microsoft Outlook a different way to look at E-MailE By Microsoft.com What to do, What to do How many times have you received a message from your system administrator telling you that you're
The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC
Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate
Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison
Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin
Facebook Twitter YouTube Google Plus Website Email
PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute
MATLAB & Git Versioning: The Very Basics
1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:
Introduction to Open Atrium s workflow
Okay welcome everybody! Thanks for attending the webinar today, my name is Mike Potter and we're going to be doing a demonstration today of some really exciting new features in open atrium 2 for handling
SRT210 Lab 01 Active Directory
SRT210 Lab 01 Active Directory ACTIVE DIRECTORY Microsoft Active Directory provides the structure to centralize the network management and store information about network resources across the entire domain.
DevShop. Drupal Infrastructure in a Box. Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY
DevShop Drupal Infrastructure in a Box Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY Who? Jon Pugh ThinkDrop Consulting Building the web since 1997. Founded in 2009 in Brooklyn NY. Building web
Software Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
Integrated Error-Detection Techniques: Find More Bugs in Java Applications
Integrated Error-Detection Techniques: Find More Bugs in Java Applications Software verification techniques such as pattern-based static code analysis, runtime error detection, unit testing, and flow analysis
12Planet Chat end-user manual
12Planet Chat end-user manual Document version 1.0 12Planet 12Planet Page 2 / 13 Table of content 1 General... 4 1.1 How does the chat work?... 4 1.2 Browser Requirements... 4 1.3 Proxy / Firewall Info...
What s really under the hood? How I learned to stop worrying and love Magento
What s really under the hood? How I learned to stop worrying and love Magento Who am I? Alan Storm http://alanstorm.com Got involved in The Internet/Web 1995 Work in the Agency/Startup Space 10 years php
A Practical Guide to implementing Agile QA process on Scrum Projects
Agile QA A Practical Guide to implementing Agile QA process on Scrum Projects Syed Rayhan Co-founder, Code71, Inc. Contact: [email protected] Blog: http://blog.syedrayhan.com Company: http://www.code71.com
Drupal and ArcGIS Yes, it can be done. Frank McLean Developer
Drupal and ArcGIS Yes, it can be done Frank McLean Developer Who we are NatureServe is a conservation non-profit Network of member programs Track endangered species and habitats Across North America Environmental
System Management. Leif Nixon. a security perspective 1/37
1/37 System Management a security perspective Leif Nixon 2/37 System updates Should we ever update the system? Some common update strategies: 1. If it works, don t touch it! 2. We pick and choose the most
Testing, Debugging, and Verification
Testing, Debugging, and Verification Testing, Part II Moa Johansson 10 November 2014 TDV: Testing /GU 141110 1 / 42 Admin Make sure you are registered for the course. Otherwise your marks cannot be recorded.
Modern CI/CD and Asset Serving
Modern CI/CD and Asset Serving Mike North 10/20/2015 About.me Job.new = CTO Job.old = UI Architect for Yahoo Ads & Data Organizer, Modern Web UI Ember.js, Ember-cli, Ember-data contributor OSS Enthusiast
Continuous Integration with CruiseControl.Net
Continuous Integration with CruiseControl.Net Part 3 Paul Grenyer CruiseControl.Net One of the first rules of writing is to write about something you know about. With the exception of the user guide for
Automate Your BI Administration to Save Millions with Command Manager and System Manager
Automate Your BI Administration to Save Millions with Command Manager and System Manager Presented by: Dennis Liao Sr. Sales Engineer Date: 27 th January, 2015 Session 2 This Session is Part of MicroStrategy
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make
A (Web) Face for Radio. NPR and Drupal7 David Moore
A (Web) Face for Radio NPR and Drupal7 David Moore Who am I? David Moore Developer at NPR Using Drupal since 4.7 Focus on non-profit + Drupal CrookedNumber on drupal.org, twitter, etc. What is NPR? A non-profit
Continuous Integration and Delivery at NSIDC
National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research
Configuration Management Evolution at CERN. Gavin McCance [email protected] @gmccance
Configuration Management Evolution at CERN Gavin McCance [email protected] @gmccance Agile Infrastructure Why we changed the stack Current status Technology challenges People challenges Community The
Using Dedicated Servers from the game
Quick and short instructions for running and using Project CARS dedicated servers on PC. Last updated 27.2.2015. Using Dedicated Servers from the game Creating multiplayer session hosted on a DS Joining
5 Mistakes to Avoid on Your Drupal Website
5 Mistakes to Avoid on Your Drupal Website Table of Contents Introduction.... 3 Architecture: Content.... 4 Architecture: Display... 5 Architecture: Site or Functionality.... 6 Security.... 8 Performance...
