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.
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Zendcon 2008 Knight Rider
1. The Knight Rider Methodology
to Software Development
Eli White
http://eliw.com/
2. 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
3. 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
4. Editor
Most important piece of technology!
Good Features:
Code completion & Tool tips
Regular expression search & replace
Context sensitive highlighting
Extensibility
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
5. Editor
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
6. Profiler
Discover where you need to optimize
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
7. Profiler
valgrind / callgrind
xdebug
kcachegrind
APD
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
8. Load Tester
Stress your code
See at what point it breaks
Document benchmarks to test improvement
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
9. Load Tester
http_load
siege
Apache Bench
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
10. Performance Tools
Use technologies that make performance easy
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
11. 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
12. 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
13. Libraries
PHP:
YUI
JS:
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
14. 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
15. Debugger
Zend Studio
APD
WARNING: Maybe not so easy!
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
16. 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
17. Debugger
Web Developer Toolbar
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
18. 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
19. Test Suites
PHPT
Selenium
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
20. 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
21. Multi-Tier Servers
Development
Initial independent work by programmers
Integration
Making sure all previous work plays well together
Testing
Running unit & regression tests
Staging
As true to production as possible for final tests
Production
It's live and hopefully working
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
22. 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
23. Version Control
Just do it!
So many benefits:
Recovering from mistakes
Integrating code from multiple sources
Concurrent work streams
Finding old code
Assigning blame
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
24. Version Control
CVS
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
25. 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
26. 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
27. 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
28. 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
29. GUIs
DB:
Aqua Data Studio
MySQL
Workbench
Version Control:
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
30. Little Things
Don't underestimate the power of:
rsync
grep
find
sed
cut
The Knight Rider Methodology to Software Development
Eli White - ZendCon 08 - 9/16/2008
31. 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
33. 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