DevShed: Debugging and Performance
621543
In another part of their series of excerpts from the Zend PHP Certification Guide (from Zend), DevShed has posted this article talking about debugging and performance issues and methods.   Making mistakes is human, and so is fixing them. In your day-to-day programming adventures, it's inevitable to introduce bugs in your PHP code, especially when you're writing very complex applications with tens of thousands of lines of code spread across tens of files.   In this article they look at things like flattening if statements, spplitting single commands across multiple lines, and the difference between =, ==, and ===.
536627
Stefan Reuter has a very quick example of a method for profiling your PHP applications with Xdebug and KCachegrind.   Ever wondered where your PHP applications spend their time? [...] We wanted to gain performance insights of a newly developed application based on Zend Framework to spot areas worth receiving some fine tuning. We did not want to modify the application for that purpose so I had a look at the options available for PHP.   The resulting combination of XDebug and KCachegrind to grab the stats from the application and create great output images/reports to help make locating the problem a snap.
742375
DevShed is moving right along with their series concerning Command objects with this new article showing even more examples of how they're used.   Turning special attention to this second article of the series, I'll develop a few more hands-on examples concerning the pattern in question, thus you can reaffirm the concepts learned in the preceding installment.   They start off by building an array command class to act as a base for the rest of the tutorial. They make two more command classes to point to the commands to be issued (lowercase or reverse a string). Next up is the commanded class to handle the actions themselves. Finally, they plug it all together and show a complete example, including usage.
453770
Continuing with their look at PHP5 and SQLite, DevShed has posted part two of the series - "Using Unbuffered Queries and More with SQLite with PHP 5".   Taking into account the group of characteristics that I mentioned [a few lines above], in this second tutorial of the series, I'll be taking a look at some of them. This will give you a clearer idea of how to use them as part of your existing and -- why not? -- future PHP applications.   They take a look at the hows and whys of working with the unbuffered queries and well as some examples - counting rows and fields in a database table and looking at the use of more "row-processing methods" to get different sorts of data out.
295092
How often have you thrown up your hands in disgust at the poor quality of documentation for an open source project?  Wouldn&#8217;t it be nice if someone put together a documentation coverage tool that worked like test coverage too ls?  Well, you&#8217;re in luck&#8212;dcov is here (at least for Ruby code).
674304
Mike Wallner has thrown together some stats for the latest edition of the pecl/http package to test its response performance.   The results surprised me, because it clearly shows that the performance drop for starting the PHP engine and doing the neccessary negotiation to provide caching is not that bad.   There's a chart of the results as well as a full PDF with all of the stats the graph maps out. He includes the legend to make the graph easier to understand.
283073
New plug-ins enable the IDE to accommodate newly popular dynamic languages.  Features include visual tools, test support and refactoring.
620707
Wine is an Open Source implementation of the Windows API on top of X and Unix. Wine provides both a development toolkit for porting Windows sources to Unix and a program loader, allowing many unmodified Windows binaries to run on x86-based Unixes. This release includes a number of enhancements and bug fixes.    WHAT'S NEW with Wine-20041019: (see ChangeLog for details)         - Beginnings of an architecture for Direct3D 9 support.         - Many debugger regressions fixed.         - Improvements to the IDL compiler and the COM headers.         - New MSCMS dll (color management support).         - Lots of bug fixes.  The latest release can be found here: https://sourceforge.net/project/showfiles.php?group_id=6241
417103
Derick Rethans has posted a new item to his blog about the release of the popular PHP debugging software's latest version XDebug 2.0.1.   This version comes with a few bug fixes but the main thing is greatly improved performance of Xdebug's Code Coverage functionality. To give an idea on what kind of improvement I'm talking, I am including very rough benchmark results.   He describes the benchmarks and gives the results - without code coverage and the pre/post of this new version (2.0.0 versus 2.0.1). The results are very impressive.
319323
Feature Consolidation runs and runs
369995
New .mobi and .jobs, a shift in the ownership of .net
86222
In brief Exploit circulating for unpatched vuln
700140
DrJava is a lightweight programming environment for Java designed to foster test-driven software development. It includes an intelligent program editor, an interactions pane for evaluating program text, a source level debugger, and a unit testing tool.   There appeared to have been a problem with the files that were uploaded for the 20080106-0744 stable version that prevented DrJava from being run when downloaded from some servers.  These problems had been fixed within two days of the release. The version number has not been changed since the files were simply uploaded again.  We apologize for the inconvenience.
437494
Popular posts from PHPDeveloper.org for the past week:PHPClasses.org: A PHP killer feature - Streams abstractionRob Thompson's Blog: Switch vs. IfPHPEverywhere: Octopussy numbers in PHPJob Posting: MODE Visual Seeks PHP Developer (Charlotte, NC)ProDevTips.com: Why PHP as a templating language sucksMatthew Turland's Blog: The Yin and Yang of TypingStubbles Blog: Stubbles 0.5.0 releasedChristopher Jones' Blog: Updated connection pooling in PHP's OCI8 extensionBen Ramsey's Blog: Congrats Costa Rica PHP!Carsten Lucke's Blog: Configuration issues with Xdebug on Debian Etch
736650
Nice blog post via Slava  criticizing the quality of the Java runtime and hotspot compiler:  "The HotSpot source code is a bad joke We wasted an afternoon and had a good laugh on IRC today, looking over parts of the SCSL sources to HotSpot and the sun.* classes. I can't give too much detail or paste code samples because that would violate Sun's ... license, but here are some highlights:"  This is my favorite one:  "A lot of preprocessors are used. This includes a mix of awk, sed, shell scripts, and indeed, Scheme! Yes, the JVM source includes jscheme.jar, used to generate some CORBA classes. Considering that Sun talks about how bad preprocessors are, its hypocritical of them to use preproces ...
568782
DevShed has posted the next-to-last (part four) of their series looking at destructors in PHP5 applications today. This time they focus on passing information back out of the destructors as the script is finishing.   In this fourth article of the series I'm going to teach you how perform this process when working with multiple objects (remember that you already learned how to achieve this using only one class instance).   They start simple, showing how to handle one object to give you a base to work from. They modify this to expand it out and show the management instead of three different user data objects.
318761
DevShed ramps up another new series today with this new article giving developers a look at working with object-oriented programming through the eyes of design patterns. It's another excerpt from the George Schlossnagle book "Advanced PHP Programming".   This chapter provides an overview of the advanced OO features now available in PHP. Some of the examples developed here will be used throughout the rest of this book and will hopefully serve as a demonstration that certain problems really benefit from the OO approach.   The article lays down the foundation for the more complex information to come. It introduces object-oriented programming briefly, and talks about some of the handy features of it - like inheritance, static attributes and methods.