Zendcon 2008 Knight Rider

  • View
    1.712

  • Download
    1

  • Category

    Business

Preview:

DESCRIPTION

As all children of the 80's know, Knight Rider was a story about an otherwise 'normal' law enforcement officer who through the use of Technology (KITT) become an unstoppable machine. In this talk find out how programmers should be using technology/tools to make themselves better and more productive.

Citation preview

The Knight Rider Methodology to Software Development

Eli Whitehttp://eliw.com/

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Knight Coder

“A shadowy flight into the dangerous world of a man who uses tools & technologies to make

better coders.”

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Guidelines for this talk

These are suggestions

I won't mention all options

Use what makes YOU better ... experiment

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Editor

Most important piece of technology!

Good Features:Code completion & Tool tips

Regular expression search & replaceContext sensitive highlighting

Extensibility

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Editor

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Profiler

Discover where you need to optimize

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Profiler

valgrind / callgrind

kcachegrind

xdebug

APD

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Load Tester

Stress your codeSee at what point it breaks

Document benchmarks to test improvement

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Load Tester

http_load

siege

Apache Bench

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Performance Tools

Use technologies that make performance easy

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Performance Tools

APC – Instant Performance & Caching

Memcached – Distributed Caching

Gearman – Parallel & Batch Processing

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Libraries

Don't reinvent the wheel!

Use other coders' time as your own

Know when to walk away though

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Libraries

PHP:

JS:YUI

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Debugger

Code is never perfect the first time

Use technology to help you find the problems

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Debugger

APD

Zend Studio

WARNING: Maybe not so easy!

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Debugger

Don't Forget:

echo '<pre>'; var_dump($var); echo '</pre>';

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Debugger

Web Developer Toolbar

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Test Suites

Tests are great

Tests keep your code running

Make writing tests easy for yourself

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Test Suites

PHPT

Selenium

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Multi-Tier Servers

Have multiple servers with different purposes

Control the flow of development & testing

Not always separate machines

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Multi-Tier Servers

DevelopmentInitial independent work by programmers

IntegrationMaking sure all previous work plays well together

TestingRunning unit & regression tests

StagingAs true to production as possible for final tests

ProductionIt's live and hopefully working

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

PHP Error Reporting

E_ALL & E_STRICT

It is your friend. 'Nuff said.

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Version Control

Just do it!

So many benefits:Recovering from mistakes

Integrating code from multiple sourcesConcurrent work streams

Finding old codeAssigning blame

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Version Control

CVS

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Lint

Automatically find broken or suspicious code

Hook into version control for total protection

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Lint

php -l Language syntax only

PHPLint Strict, Simple code required, Type validation

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

CodeSniffer

Coding standards are important for teams > 1

CodeSniffer will ensure compliance

Hook into version control

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

GUIs

Yes I said GUIs

Use them to make complicated tasks easy

DB maintenance, Version Control, etc

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

GUIs

DB:

Version Control:

Aqua Data Studio

MySQL Workbench

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Little Things

Don't underestimate the power of:

rsyncgrepfindsedcut

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Hardware

Hardware is your friend

Much cheaper than people

Make sure you acquire anything that will help

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Hardware

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Social Networking

Make contacts

You are at the best place for that right now

Stay in touch

The Knight Rider Methodology to Software Development Eli White - ZendCon 08 - 9/16/2008

Social Networking

Any Questions?

For this presentation & more:

http://eliw.com/