<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fxposter&#039;s wave &#187; Django</title>
	<atom:link href="http://blog.fxposter.org/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fxposter.org</link>
	<description>Stories about Ruby, JavaScript, Objective-C and other cool tools</description>
	<lastBuildDate>Sun, 30 Oct 2011 20:00:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Наследование шаблонов в Symfony</title>
		<link>http://blog.fxposter.org/2008/08/26/template-inheritance-in-symfony/</link>
		<comments>http://blog.fxposter.org/2008/08/26/template-inheritance-in-symfony/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 17:54:36 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Работа]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Template Inheritance]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=554</guid>
		<description><![CDATA[Вопрос, так, невзначай. Хотели бы вы аналог получить в Symfony аналог наследования шаблонов из Django? PS. Палюсь&#8230; Ой как палюсь. :)]]></description>
			<content:encoded><![CDATA[<p>Вопрос, так, невзначай. Хотели бы вы аналог получить в Symfony аналог наследования шаблонов из Django?</p>
<p><em><strong>PS</strong>. Палюсь&#8230; Ой как палюсь. :)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/08/26/template-inheritance-in-symfony/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Наследование шаблонов в Smarty</title>
		<link>http://blog.fxposter.org/2008/08/26/template-inheritance-in-smarty/</link>
		<comments>http://blog.fxposter.org/2008/08/26/template-inheritance-in-smarty/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 10:12:48 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[View]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=552</guid>
		<description><![CDATA[На Хабре появилась замечательная статья &#8220;Наследование шаблонов в Smarty&#8220;. Впервые эта штука мне встретилась в Django, теперь вот есть и для Smarty. Посмотрел на систему view в Symfony&#8230; Эх&#8230; Для реализации подобного, навскидку, прийдется довольно сильно переделать внутренности этого фреймворка.]]></description>
			<content:encoded><![CDATA[<p>На Хабре появилась замечательная статья &#8220;<a href="http://habrahabr.ru/blogs/php/37962/">Наследование шаблонов в Smarty</a>&#8220;. Впервые эта штука мне встретилась в Django, теперь вот есть и для Smarty. Посмотрел на систему view в Symfony&#8230; Эх&#8230; Для реализации подобного, навскидку, прийдется довольно сильно переделать внутренности этого фреймворка.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/08/26/template-inheritance-in-smarty/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Symfony: как начать</title>
		<link>http://blog.fxposter.org/2008/02/26/symfony-how-to-begin/</link>
		<comments>http://blog.fxposter.org/2008/02/26/symfony-how-to-begin/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 22:41:03 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Работа]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/02/26/symfony-how-to-begin/</guid>
		<description><![CDATA[Чем больше я работаю над своим первым проектом на работе, тем больше мне хочется в нем поменять и тем больше я жалею о том, что перед началом работы я не прочитал до конца «The Definitive Guide to Symfony» и не изучил плагины для Symfony. Многие из них мне бы помогли намного сократить время разработки и, [...]]]></description>
			<content:encoded><![CDATA[<p>Чем больше я работаю над своим первым проектом на работе, тем больше мне хочется в нем поменять и тем больше я жалею о том, что перед началом работы я не прочитал до конца «<a href="http://www.symfony-project.org/book/1_0/">The Definitive Guide to Symfony</a>» и не изучил <a href="http://trac.symfony-project.com/wiki/SymfonyPlugins">плагины</a> для <a href="http://www.symfony-project.org/">Symfony</a>. Многие из них мне бы помогли намного сократить время разработки и, что самое главное, не думать о том, как красиво реализовать те или иные вещи… И еще одно — если у вас уже есть кусок системы (как это было у меня), который вы собираетесь переписывать с использованием вашего фреймворка (или просто переписывать, потому что код вам не нравиться) — то мой вам совет — <strong>потратьте время на то, чтобы спроектировать этот кусок на план вашей новой системы, не бросайтесь сразу всё переписывать</strong> (каюсь, я поступил именно так), так как после анализа (который, возможно, займет у вас не один день, и даже не одну неделю), возможно, от предыдущей архитектуры системы не останется и следа.</p>
<p><em>Вообще, я люблю проектировать, продумывать, анализировать те или иные решения, которые хочу внедрить в систему (хотя, признаюсь, опыта у меня в этом маловато), но как обьяснить заказчику, что ты провел день в раздумьях… Эх…</em></p>
<p>Ну ладно, это я отвлекся. Сегодня хочется рассказать о том, с чего стоит начать при разработке системы с помощью Symfony и каких правил следует придерживаться.</p>
<p><span id="more-368"></span>Собственно, всё начинается с создания проекта (project) и приложений (applications) в нем. Как это делается — можно почитать в книжке (ссылка приведена выше), а мне бы хотелось остановиться на обьяснении того, что такое проект и принципах выбора приложений в нем — какие им дать имена, как их структурировать и т.д.</p>
<h4>Проект</h4>
<p>Насколько я понял, в общем случае предполагается, что проект у вас будет один на весь сайт, и он будет представлять собой некое хранилище приложений, конфигурационных файлов и моделей, которыми будут пользоваться все приложения этого проекта.</p>
<h4>Приложения</h4>
<p>В отличии от <a href="http://www.djangoproject.com/">Django</a> — здесь приложение не является атомарной единицей системы, которую можно использовать в других проектах… В Symfony они созданы лишь для того, чтобы логически (ну, и физически) разграничить функциональность вашего проекта. И самое главное — приложения имеют место быть только в рамках одного проекта. Т.е. если вы в рамках проекта удалите одно приложение — другие от этого не пострадают, но вот перенести из одного проекта в другой приложение будет очень проблематично, т. к. оно зависит от настроек проекта, от модели проекта и так далее.</p>
<p>Будет нелишним сказать, что официально рекомендовано (читать как «предлагается») в проекте создавать два приложения: frontend и backend (для русскоязычной аудитории термин «админка» в данном случае будет более уместен). Сам могу порекомендовать создавать приложения только для объединения модулей, которые ставят перед собой одну цель. Например, та же админка, пользовательский интерфейс (то есть, например, профиль пользователя, всё, что пользователь может изменять на сайте) и frontend (всё, что доступно всем).</p>
<p><em>Сам я пользуюсь рекомендацией книги и имею два приложения в своем проекте.</em></p>
<p>Плюсы и минусы такого подхода мне рассматривать не хочется. Скажу лишь, что для меня Django’вский подход гораздо более удобен и логичен, и вот эти проекты/приложения для новичка выглядят достаточно сложно и непонятно, в большинстве случаев новички просто слушаются рекомендаций книги, не совсем понимая, что это и зачем это нужно. Я бы на месте разработчиков Symfony подумал бы о пересмотре этого подхода, особенно, если учитывать, что плагины в Symfony — это по сути те же Django apps, но об этом несколько позже.</p>
<h4>Окружения (environments)</h4>
<p>Останавливаться на окружениях особенно не хочется. Это очень удобный, но в то же время очень простой механизм, обеспечивающий возможность заходить в одно и то же приложение с различными серверными настройками. Если сказать проще — представьте себе, что у вас есть приложения и галочка, которая переключает режим его работы в debug-mode и обратно. В debug-mode, например, все события логгируются, все ошибки выводятся на экран и т.д. Если же debug-mode выключен — все логи выключены, и на экране никогда никаких ошибок появляться не будет. Так вот — в Symfony вместо флага debug/<nobr>не-debug</nobr> имеется просто несколько различных окружений, каждое из которых можно настроить ПОЛНОСТЬЮ, т. е. не система решает — что включить, а что выключить, а вы сами. Хочется также отметить, что особо копаться в настройках вам не прийдется — по умолчанию для каждого приложения создается 3 environment’а: production, development, testing (используется исключительно при тестировании).</p>
<p>В общем, тут придраться не к чему — всё, на мой взгляд, просто идеально.</p>
<h4>Модули (modules)</h4>
<p>… содержат в себе контроллер с действиями и представления (т.е. MV из <a href="http://ru.wikipedia.org/wiki/Model-view-controller">MVC</a>), а также конфигурационные файлы и, возможно, библиотеки, нужные только в этом конкретном модуле. Тут всё достаточно просто и понятно.</p>
<p>Модули (как и приложения с проектом) можно создавать автоматически (и помощью командной строки). Кроме создания простого модуля можно создать (опять же — автоматически) <a href="http://en.wikipedia.org/wiki/Create%2C_read%2C_update_and_delete">CRUD</a> (<a href="http://en.wikipedia.org/wiki/Scaffold_%28programming%29">Scaffolding</a>) для одной из таблиц, либо админку (опять же, для одной из таблиц). Админка отличается тем, что никакого кода писать практически не нужно — почти всё в ней (фильтрация, сортировка и т.д.) настраивается с помощью конфигурационного файла, что ОЧЕНЬ удобно (привет джангистам, они поймут). CRUD же очень полезен при начальных стадиях разработки. Пример — добавили вы таблицу пользователей, теперь вам нужно: выводить список пользователей, позволять им редактировать свой профиль и регистрироваться. Вместо того, чтобы всё писать с самого начала — создаем CRUD-модуль для таблицы пользователей, а потом уже можно начинать писать свой код, основываясь на уже сгенерированном. В неявный плюс такого решения можно отнести то, что коды модулей получаются похожими друг на друга и путаницы возникает меньше.</p>
<p>Последнее, на чем хотелось бы остановиться — это…</p>
<h4>Модели (models)</h4>
<p>Все модели хранятся в одном (или нескольких) <a href="http://yaml.org/">YAML</a>-файлах. К написанию моделей привыкаешь за <nobr>3—4</nobr> дня. Из YAML модель с помощью одной комманды преобразуется в автоматически сгенерированные базовые классы <a href="http://ru.wikipedia.org/wiki/ORM">ORM</a> (<a href="http://propel.phpdb.org/trac/">Propel</a> или <a href="http://www.phpdoctrine.org/">Doctrine</a>). Всё быстро, просто и аккуратно.</p>
<p>Пожалуй, это всё, что может понадобиться новичку при изучении Symfony (чтобы она не казалась ему <nobr>какой-то</nobr> сложной и непонятной системой, какой она мне показалась год назад).</p>
<p>А вот теперь перейдем непосредственно к моим рекомендациям. Но перед этим я расскажу вам про…</p>
<h4>Плагины (plugins)</h4>
<p>Плагины — это, по сути, тот код, который может быть использован несколько раз в разных проектах и приложениях. Плагины могут содержать:</p>
<ul>
<li>конфигурационные файлы, в том числе свои модели (!!!)</li>
<li>модули</li>
<li>библиотеки</li>
</ul>
<p>Я могу оказаться не прав, но как мне кажется, плагины — это такие себе мини-проекты, «всё в себе», чем выгодно отличаются от Symfony applications. На мой взгляд, ставку стоило делать в первую очередь на них — убрать приложения, а вместо них поставить плагины и создать некий инструмент, который бы позволил эти плагины связывать между собой.</p>
<h4>Мои рекоммендации</h4>
<ul>
<li>В первую очередь — проектирование. Не скупитесь на этом шаге, анализируйте и уточняйте у заказчика непонятные пункты.</li>
<li>Видя перед собой (да хоть в уме) макет системы — продумайте, на какие части систему можно разбить.</li>
<li>Поищите среди существующих плагинов такие части (<strong>обязательно</strong>). Я в своем проекте использовал следующие плагины:
<ul>
<li><a href="http://trac.symfony-project.com/wiki/sfGuardPlugin">sfGuardPlugin</a> — user management, security и т.д. Плагин - must have.</li>
<li><a href="http://trac.symfony-project.com/wiki/sfDateTimePlugin">sfDateTimePlugin</a> — очень удобная работа с датами и временем</li>
<li><a href="http://trac.symfony-project.com/wiki/sfPropelAlternativeSchemaPlugin">sfPropelAlternativeSchemaPlugin</a> — полезен при работе с плагинами, позволяет менять модели, прописанные в плагинах, не изменяя коды самих плагинов</li>
<li><a href="http://trac.symfony-project.com/wiki/sfPropelApprovableBehaviorPlugin">sfPropelApprovableBehaviorPlugin</a> — мне очень пригодился при «активации пользователей»</li>
<li><a href="http://trac.symfony-project.com/wiki/sfThumbnailPlugin">sfThumbnailPlugin</a> — уменьшение картинок (не смотрите на название — с ресайзом <nobr>3MP-фотографий</nobr> к 800×600 плагин справляется на отлично)</li>
<li><a href="http://trac.symfony-project.com/wiki/sfPropelActAsTaggableBehaviorPlugin">sfPropelActAsTaggableBehaviorPlugin</a> — если вам нужны тэги</li>
<li><a href="http://trac.symfony-project.com/wiki/sfPropelActAsSluggableBehaviorPlugin">sfPropelActAsSluggableBehaviorPlugin</a> — если вам нужны slug’и (а я советую их использовать — очень хорошо сказывается на читаемости url’ов, когда вместо id туда засовывать slug’и)</li>
<li><a href="http://trac.symfony-project.com/wiki/sfPropelActAsRatableBehaviorPlugin">sfPropelActAsRatableBehaviorPlugin</a> — рейтинги, довольно крутые, мне, к сожалению, не подошли…</li>
<li><a href="http://trac.symfony-project.com/wiki/sfPropelActAsCommentableBehaviorPlugin">sfPropelActAsCommentableBehaviorPlugin</a> — всё, что нужно для комментариев</li>
</ul>
</li>
<li>Используйте в работе автоматически генерируемые CRUD-модули и модули для админки</li>
</ul>
<p>Вот, пожалуй, и всё на сегодня. Жду ваших комментариев.</p>
<p>Давно у меня таких больших статей не было…</p>
<p><a href="http://habrahabr.ru/blog/webdev/36551.html">Запостил</a> на Хабрахабр.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/02/26/symfony-how-to-begin/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Книга о Django зарелизилась</title>
		<link>http://blog.fxposter.org/2007/12/18/django-book/</link>
		<comments>http://blog.fxposter.org/2007/12/18/django-book/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 13:36:56 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2007/12/18/django-book/</guid>
		<description><![CDATA[Как-то даже странно говорить такие слова о книге, но тем не менее так и есть. Книгу читать отсюда, а если есть желание потратить немного денег - можно и на Amazon купить. :) Эх&#8230; А я, видимо, до конца семестра почитать ничего нормально не смогу. :(]]></description>
			<content:encoded><![CDATA[<p>Как-то даже странно говорить такие слова о книге, но тем не менее так и есть. Книгу читать <a href="http://djangobook.com/en/1.0/">отсюда</a>, а если есть желание потратить немного денег - можно и на Amazon <a href="http://www.amazon.com/gp/product/1590597257?ie=UTF8&amp;tag=jacobianorg-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597257">купить</a>. :)</p>
<p>Эх&#8230; А я, видимо, до конца семестра почитать ничего нормально не смогу. :(</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2007/12/18/django-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Мысли о Web Programming Languages</title>
		<link>http://blog.fxposter.org/2007/08/28/web-programming-languages/</link>
		<comments>http://blog.fxposter.org/2007/08/28/web-programming-languages/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 23:04:31 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java-EE]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby-On-Rails]]></category>
		<category><![CDATA[Zend-Framework]]></category>
		<category><![CDATA[Zope]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2007/08/28/web-programming-languages/</guid>
		<description><![CDATA[Какие языки сейчас используются в веб-программировании? Навскидку я могу составить такой список: C#, Java EE, Python, Ruby, PHP, Perl. JavaScript брать в расчет не буду - сейчас я хочу поговорить именно о server-side языках. C# - первая версия этого языка появилась в 2000 году, для веба стал использоваться с приходом ASP.NET, который вышел в 2002м [...]]]></description>
			<content:encoded><![CDATA[<p>Какие языки сейчас используются в веб-программировании? Навскидку я могу составить такой список: <a href="http://msdn2.microsoft.com/en-us/vcsharp/aa336809.aspx">C#</a>, <a href="http://java.sun.com/javaee/">Java EE</a>, <a href="http://www.python.org/">Python</a>, <a href="http://www.ruby-lang.org/">Ruby</a>, <a href="http://php.net/">PHP</a>, <a href="http://www.perl.org/">Perl</a>. JavaScript брать в расчет не буду - сейчас я хочу поговорить именно о server-side языках.</p>
<p><strong>C#</strong> - первая версия этого языка появилась в 2000 году, для веба стал использоваться с приходом <a href="http://www.asp.net/">ASP.NET</a>, который вышел в 2002м году.</p>
<p><strong>Java EE</strong> -  первая версия, которая называлась J2EE и имела версию 1.2, вышла в далеком1991м году. Следующая версия 1.3 была выпущена аж через 11 лет. Сейчас новые версии выпускаются гораздо чаще. Используется в основном для разработки веб-сервисов. По крайней мере я не встречал мелкие или небольшие компании, которые писали бы &#8220;просто сайты&#8221; на Java EE.</p>
<p><strong>Python</strong> - на самом деле достаточно древний язык. Первая версия языка была выпущена в 1990м году. Когда его начали достаточно сильно использовать в веб-приложениях сказать трудно. Можно считать, что в интернет он вошел с появлением таких легких и быстрых фреймворков, как <a href="http://www.djangoproject.com/">Django</a>/<a href="http://turbogears.org/">Turbogears</a> и т.д. В таком случае получается что в инете он с 2004-2005-го года. На самом деле все было несколько раньше, но приход в интернет в то время был не совсем очевиден. Фреймворк <a href="http://zope.org/">Zope</a>, который был изначально нацелен на интернет, был выпущен в 1995-1997 годах. Точнее на данный момент сказать не могу. Но еще раз повторюсь - это <strong>не было</strong> массовым явлением.</p>
<p><strong>Ruby</strong> - разработан в 1995м году. В интернете стал использоваться с появлением, ясное дело, <a href="http://www.rubyonrails.org/">Ruby On Rails</a>, который вышел в 2004-м году.</p>
<p><strong>PHP</strong> - эдакий старичок программирования сайтов. Первая версия, которая называлась PHP/FI вышла в 1994м. А тот PHP, который мы знаем появился в 1997м году с выходом PHP3 и именно с этого момента он начал набирать популярность как язык для веб-разработки.</p>
<p><strong>Perl</strong> - вышел в 1987м году, а вот когда появился в вебе - для меня остается тайной. Я этот язык особо никогда не любил и уж тем более никогда не использовал. Пользуются ли им еще в вебе - пользуются, но, как мне кажется, популярность этого языка неуклонно падает.</p>
<p>Теперь, собственно, к чему я вел это все. Выводы по Perl&#8217;у я делать не могу, а вот по всем остальным языкам получается интересная картина. C#/Python/Ruby - заявили массово о себе совсем недавно, причем их массовое распространение связанно с написанными для них фреймворками (ASP.NET/Django и компания/ROR). Java - в вебе используется только Java EE, и, хоть и появилась она давно, сейчас явно не собирается скидывать обороты. PHP - язычок, который пришел в веб сам, для которого до недавнего времени и фреймворков то не было, а те что были - их не использовали.</p>
<p>Я веду к тому, что все современные языки в вебе используют фреймворки, причем используют чуть ли не в обязательном порядке (да, вы можете на руби писать веб приложение, не используя рельсы, но <strong>никто</strong> этого при здравом уме делать не будет). А вот писать приложение на PHP не используя никаких уже созданных компонент - вполне обычное дело. И народ наоборот не хочет использовать фреймворки аргументируя это тем, что они &#8220;слишком сложные&#8221;, &#8220;тормозные&#8221; и т.д.  И очень большая часть сайтов делается потом непонятно как&#8230; посмотришь код - убиться хочется.  такое впечатление, что фраза &#8220;PHP портит нормальных программистов&#8221; - это не бред, а самая настоящая реальность.</p>
<p>В итоге (все ИМХО):</p>
<ol>
<li>смысла использовать PHP, если есть возможность использовать что-то более современное, - <strong>НЕТ</strong></li>
<li>если уж использовать PHP, то с умом - не писать все сначала, а выбрать удобные компоненты для разработки нужного вам веб приложения</li>
</ol>
<p>Из PHP Framework&#8217;ов я бы посоветовал выбрать <a href="http://framework.zend.com/">Zend Framework</a>, как наиболее конфигурируемый и обьектно-ориентированный. Для себя я выбрал именно его. Но в нем есть одно &#8220;но&#8221; - если вы в качестве wrapper&#8217;а для DB собираетесь использовать зендовские классы - вам возможно прийдется сменить хостера, так как нужна будет поддержка PDO/PDO_MySQL/PDO_PgSQL, которая, как мне кажется, не у всех хостеров есть.<br />
<em><strong>PS</strong>. Лично мне сейчас нравится:</em></p>
<ul>
<li><em>для веб-разработки для себя - Python, для заказов - PHP + Zend_Framework </em></li>
<li><em>для desktop-gui-приложений - C#</em></li>
<li><em>для консольных - C++</em></li>
</ul>
<p><em><strong>PPS</strong>. Пару часов назад гуглил украинских хостеров. Завтра буду узнавать - есть ли у них поддержка PHP &gt;= 5.1.3 и PDO_MySQL (требования к Zend Framework&#8217;у). Посмотрим, какие результаты это даст. Кто знает хороших укр. хостеров - отписывайтесь, составлю табличку - кто и что поддерживает.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2007/08/28/web-programming-languages/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>J2EE vs RoR vs Django vs Turbogears vs Zope</title>
		<link>http://blog.fxposter.org/2007/06/20/j2ee-vs-ror-vs-django-vs-turbogears-vs-zope/</link>
		<comments>http://blog.fxposter.org/2007/06/20/j2ee-vs-ror-vs-django-vs-turbogears-vs-zope/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 13:40:51 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby-On-Rails]]></category>
		<category><![CDATA[Turbogears]]></category>
		<category><![CDATA[Zope]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2007/06/20/j2ee-vs-ror-vs-django-vs-turbogears-vs-zope/</guid>
		<description><![CDATA[Смотрим видео (36 минут) PS. xen, за линк огромное спасибо! ]]></description>
			<content:encoded><![CDATA[<p><a href="http://video.google.com/videoplay?docid=6297126166376226181">Смотрим видео</a> (36 минут)</p>
<p><em><strong>PS.</strong> <a href="http://xenru.livejournal.com/">xen</a>, за линк огромное спасибо! </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2007/06/20/j2ee-vs-ror-vs-django-vs-turbogears-vs-zope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: blog.fxposter.org @ 2012-02-05 02:50:48 -->
