A couple of days ago there was a conference PHPConf 2008, for web developers with a focus on PHP-programmers. To consolidate my impressions I decided to write a post that I personally endured from this conference. I do not pretend to the truth of last resort, so surely other participants were interested in something completely different. Surely someone traveled for the purpose of mainly chatting on the sidelines, someone with the goal of trying Pilsner Urkvel beer. I wrote that I liked / disliked.
So, we start by points to consider all the speeches (maybe I forgot something, but that means I really didn’t like it very much).
The first to speak was Dmitriy Stogov (Zend) and told him what would be new in PHP 5.3 / 6.0. In short:
The main thing - 5.3 will differ from 6.0 only in the absence of Unicode.
One of the most important innovations is namespaces. Introduced quite competent namespace.
Then a garbage collector will appear, which is very useful for long-lived PHP applications.
Of the pleasant things, the short operator?: ($ C = $ a? $ A: $ b; the same as $ c = a?: $ B); ).
It was also possible that someone needed dynamic access to static data, i.e. address statically to the elements of a class with a dynamic name ($ classname :: method (), $ classname :: $ prop).
A very funny thing - phar packages like java jars. True, there are no normal implementations of the packer, but somehow it already works.
The second was Mikhail Krasovsky and talked about data management. He told some common words, in principle, something useful might have gotten on the subcortex, but almost fell asleep.
Then Dmitry Stogov again came out and told about the internal structure of PHP (in C) and how to write libraries for PHP on the same C. Very interesting performance. The main thing that I learned from it is that if a particular function in PHP works slowly, it is quite possible to write its implementation in a faster language.
Ilya Kantor said that there is a ready-made library for storing a sufficiently large amount of data in the browser (like cookies, only more volume). An article on a similar topic was already on the habr (stored in the window.name property), but Ilya suggested another solution - use the recently appeared Browser Persistence (storing data in the DOM), and browsers that do not support this - save data through flash. If it really works everywhere, then you can find a lot of applications. The library is already written and there was a link to download it in the presentation.
Alexey Borzov talked about PostgreSQL. I heard a lot about the PostgreSQL database, but I have never touched it once. After this speech, I still wanted to watch it. Alexey spoke in sufficient detail about the query optimizer in PostgreSQL, as well as possible methods for debugging queries.
Anton Terekhov (RBC) personally had the most interesting performance for me on the first day of PHPconf. He told the story of the life of the project photofile.ru, about how they tried to deal with the growing loads of fast patches, as well as a complete change in architecture. As a web server, it uses a cluster with a proxy on nginx, which distributes the load, but it struck me that on such a heavy project, php is executed not through fast-cgi, but through apache.
Viktor Bolshov told how easy it is to arrange flv-video broadcast on the site. Nothing tricky - just send the position in the REQUEST request where we want to start watching the video and send the flv file from the server starting from this position. And on the client, the video accepts a flash player, the opensource implementation of which was also named at the presentation.
Then a young guy from UMI performed. He told me how good it is to use templates on XSLT. The topic was quite interesting, and the report is very vague, but still useful. After the speech, the most questions were about speed, which is a stumbling block in this technology.
In the last story, a developer from MySQL talked about how to organize a search by geographic coordinates with restrictions on the distance between objects. Nothing tricky - two formulas were derived - one exact (for a circle with the desired radius) and the second rough (for a square with a side in two radii), expressing the distance through geographic coordinates. The main idea that I took note of - if we need to search for something in the database that depends on a very tricky formula - we first need to limit the number of candidates for the sample to some more coarse, but much simpler, formula (so that it uses the index ), and only then apply our exact formula.
The 2nd day was much richer and more interesting. ')
The excellent report was set by the very first report of Marcus Burger, who explained the basics of the PLO, they were obvious, but it became a good practice to listen to lectures on IT topics in English (they gave out receivers for simultaneous translation, but listening to it in real translation seemed silly). Then a more complicated and interesting part began, but in some places I also had an incomprehensible part. He talked about programming patterns, iterators, and more about various other clever things. The main ideas that I brought out of the speech - you need to read about the programming patterns in PHP. And the second: even a PHP programmer can get into Google.
Then came the representatives of Microsoft. The first of them (Alexey Shulenin), with jokes and jokes, convinced me that there was no point in using free SQL Server 2005 (although I tried to do the opposite). And the second (Andrey Beshkov) very interestingly told about the new scripting language - PowerShell. I really liked it - writing scripts for the console has finally become more like programming, and not like something magical like in Bash. The main feature - the language has become object-oriented. That is, even on the standard “ps” query, PowerShell returns a collection of objects. Finally, it will be possible for administrators of Windows servers to adminit servers in the console normally. And if you add the released Windows without a GUI of 100 MB in size, it becomes generally somehow warmer in the soul with respect to Microsoft.
Andrey Nigmatulin spoke very interesting about php-fpm. Patch for PHP, which simplifies its launch through fast-cgi (for example, in nginx). I also learned about it for the first time (I do not do administration at work), but the report is very useful.
Then there were two terrible speeches from MySQL. The first of them was built on reading the list of bugs from MySQL bug reports, the second on answering stupid questions (yes, the habrovans who were asking them somewhere in the next topic would not be offended). The second presentation was really saved by one of the programmers, who was the only one (as it seemed) had interesting information and shared plans for future developments.
The next gig was the discovery of Sphinx technology for me. I have never heard anything about it before, but now I learned not only that it exists, but also how it works in general terms. Sphinx is a database aimed mainly at full-text search and making it much faster than MySQL, for example. Well, the speaker (Andrey Aksyonov, creator of the Sphinx) just annealed.
The final presentation was a review of the XML-based XMLDB database Sedna 3.0. Klimov Eugene spoke very interesting about her, but the organizing idiots stopped him and began delivering crazy prizes for three hours, instead of listening to an interesting story.
Database feature - everything is built on XML, i.e. sharpened by storing tree data. Even if it is embedded in DB2 Xml simply as a data type in a relational database, then there are no tables at all in the understanding of the relational database. In general a very interesting technology.
The second part of the report should have been the consideration of data storage technology in XML, but all the same organizers changed it for drinking beer ..
In general, something like this was. Personally, I liked it, and I learned a lot of new things.
PS: if someone is interested in photos - I can dilute the article with them, a little nafotkal on the iPhone. PPS: cross blog post