<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>CppCMS Blog :: FastCGI</title>
	<link>http://art-blog.no-ip.info/cppcms/blog</link>
	<description>A blog on CppCMS - C++ Web Development Framework</description>
	<atom:link 
		href="http://art-blog.no-ip.info/cppcms/blog/rss" 
		rel="self" type="application/rss+xml" />
	
		
		<item>
			<title>What's Next?</title>
			<link>http://art-blog.no-ip.info/cppcms/blog/post/44</link>
			<guid>http://art-blog.no-ip.info/cppcms/blog/post/44</guid>
			<description>
			&lt;div style=&quot;direction:ltr&quot;&gt;
			&lt;p&gt;The road map of the project includes two important milestones:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CppCMS core components refactoring including following:

&lt;ul&gt;
&lt;li&gt; Removal of dependency on CgiCC &amp;ndash; today there is about 5% of CgiCC library
 is used, many features are not supported by it or are not supported well.
 For example: file upload handling in CgiCC is very primitive, limited
 and error prone, support of cookies buggy and so on.&lt;/li&gt;
&lt;li&gt;Using of Boost.Asio as internal event handler, because:

&lt;ol&gt;
&lt;li&gt;It provides transparent synchronous and asynchronous event handling
allowing future implementation of server push technologies.&lt;/li&gt;
&lt;li&gt;It provides efficient timer based event handling.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt; Removal dependency of libfcgi and writing Boost.Asio friendly
 implementation of FastCGI/SCGI connectors. Implementation of HTTP
 connectors as well.&lt;/li&gt;
&lt;li&gt; Support of plug-in applications in CppCMS framework.&lt;/li&gt;
&lt;li&gt; Improving compilation speed by representing more &lt;code&gt;pimpl&lt;/code&gt; idioms and
 removal of unnecessary classes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Better support of i18n and and l10n:

&lt;ul&gt;
&lt;li&gt; Transparent support of &lt;code&gt;std::wstring&lt;/code&gt; with forms including automatic
 encoding testing and conversion.&lt;/li&gt;
&lt;li&gt; Support of &lt;code&gt;std::locale&lt;/code&gt; for localization for outputs like numbers,
 dates, monetary, translation and so on.&lt;/li&gt;
&lt;li&gt; Optional support of ICU and icu::UnicodeString and icu::Locale that
 would add unsupported features by &lt;code&gt;std::locale&lt;/code&gt; and allow replacement
 &lt;code&gt;std::locale&lt;/code&gt; features with more correct implementations provided
 by ICU.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;These changes will significantly break API backward compatibility, but it would
be possible to adopt the code almost &quot;mechanically&quot; to the new API.&lt;/p&gt;

			&lt;p&gt;
			&lt;a href="/cppcms/blog/post/44"&gt;more...&lt;/a&gt;
			&lt;/p&gt;
			&lt;/div&gt;
			</description>
		</item>
		
		<item>
			<title>API Changes and mod-prefork</title>
			<link>http://art-blog.no-ip.info/cppcms/blog/post/24</link>
			<guid>http://art-blog.no-ip.info/cppcms/blog/post/24</guid>
			<description>
			&lt;div style=&quot;direction:ltr&quot;&gt;
			&lt;p&gt;There have been lot of work in recent weeks in order to make deep internal changes in the framework. Now they include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Transparent support of 3 web server APIs: fastcgi, cgi and scgi.&lt;/li&gt;
&lt;li&gt;Support of new mod prefork that allows safer management of worker processes.&lt;/li&gt;
&lt;li&gt;Implementation of a cache that is shared between forked processes.&lt;/li&gt;
&lt;/ol&gt;


			&lt;p&gt;
			&lt;a href="/cppcms/blog/post/24"&gt;more...&lt;/a&gt;
			&lt;/p&gt;
			&lt;/div&gt;
			</description>
		</item>
		
		<item>
			<title>Components of CppCMS</title>
			<link>http://art-blog.no-ip.info/cppcms/blog/post/3</link>
			<guid>http://art-blog.no-ip.info/cppcms/blog/post/3</guid>
			<description>
			&lt;div style=&quot;direction:ltr&quot;&gt;
			&lt;p&gt;There are several important components that CppCMS implements:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FastCGI Application Framework&lt;/li&gt;
&lt;li&gt;Easy Berkeley DB &amp;ndash; Simple API to BDB&lt;/li&gt;
&lt;li&gt;Templates System&lt;/li&gt;
&lt;li&gt;Text Tools &amp;ndash; text to html conversion tools&lt;/li&gt;
&lt;li&gt;Nice URLs support&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;I'll describe there all these in details there&lt;/p&gt;

			&lt;p&gt;
			&lt;a href="/cppcms/blog/post/3"&gt;more...&lt;/a&gt;
			&lt;/p&gt;
			&lt;/div&gt;
			</description>
		</item>
		
		<item>
			<title>Benchmarks, First Results</title>
			<link>http://art-blog.no-ip.info/cppcms/blog/post/4</link>
			<guid>http://art-blog.no-ip.info/cppcms/blog/post/4</guid>
			<description>
			&lt;div style=&quot;direction:ltr&quot;&gt;
			&lt;p&gt;&lt;em&gt;Updated 28/12/07, 17:00&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;In order to show that all the time I had spend on this system wasn&amp;rsquo;t wasted I had run a simple benchmark tests on following setup:&lt;/p&gt;

&lt;h4&gt; Server &lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Hardware: AMD Athlon XP 3000+ 64 bit, 1GB RAM.&lt;/li&gt;
&lt;li&gt;OS: Debian Etch 64 bit.&lt;/li&gt;
&lt;li&gt;Web server: Lighttpd 1.4.13&lt;/li&gt;
&lt;li&gt;CMS: This blog software, configured with 5 working threads.&lt;/li&gt;
&lt;li&gt;Data base of 85MB: 5,000 articles with 10 comments to each one.&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt; Network devices&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;100Mbit network cards&lt;/li&gt;
&lt;li&gt;Edimax $75 home router&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt; Client&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Hardware: Dell Latitude C400, PIII 750MHz, 256MB RAM&lt;/li&gt;
&lt;li&gt;OS: Debian Etch 32 bit&lt;/li&gt;
&lt;/ul&gt;


			&lt;p&gt;
			&lt;a href="/cppcms/blog/post/4"&gt;more...&lt;/a&gt;
			&lt;/p&gt;
			&lt;/div&gt;
			</description>
		</item>
		
		<item>
			<title>The Goals</title>
			<link>http://art-blog.no-ip.info/cppcms/blog/post/2</link>
			<guid>http://art-blog.no-ip.info/cppcms/blog/post/2</guid>
			<description>
			&lt;div style=&quot;direction:ltr&quot;&gt;
			&lt;p&gt;When I started working on this project, many were (and still are) extremely skeptical about its future. Many questions were asked, like: &quot;Are you masochist? Who you think will ever use it? The hardware is cheap, we do not need such things!&quot; etc.&lt;/p&gt;

&lt;p&gt;In this post I'll explain my point of view and I'll show why &quot;C++ Web Development Framework&quot; is more then just &quot;yet another crazy idea of another geek&quot;&lt;/p&gt;

			&lt;p&gt;
			&lt;a href="/cppcms/blog/post/2"&gt;more...&lt;/a&gt;
			&lt;/p&gt;
			&lt;/div&gt;
			</description>
		</item>
		
	
</channel>
</rss>
