<?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/"
	>

<channel>
	<title>Flatsoft</title>
	<atom:link href="http://flatsoft.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://flatsoft.com</link>
	<description>Flatsoft</description>
	<pubDate>Tue, 27 Jul 2010 12:42:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to post poker planning results</title>
		<link>http://flatsoft.com/2010/07/27/how-to-post-poker-planning-results/</link>
		<comments>http://flatsoft.com/2010/07/27/how-to-post-poker-planning-results/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 12:40:20 +0000</pubDate>
		<dc:creator>Oleg Kurnosov</dc:creator>
		
		<category><![CDATA[Poker]]></category>

		<category><![CDATA[scrum planning poker]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=487</guid>
		<description><![CDATA[Всем привет,
Давно назревала необходимость записывать результаты тщательной командной работы по итогам planning poker - за какое время делать определенные вещи в проекте: регистрация, авторизация, смена пароля и так далее&#8230;
Предлагается записывать в виде сообщений в блоге такие данные на основе user stories:

title = название стори + средняя оценка поинтах (наших трудочасах)
1-2 человеческих предложений о чем фича
cucumber [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет,</p>
<p>Давно назревала необходимость записывать результаты тщательной командной работы по итогам planning poker - за какое время делать определенные вещи в проекте: регистрация, авторизация, смена пароля и так далее&#8230;</p>
<p>Предлагается записывать в виде сообщений в блоге такие данные на основе user stories:</p>
<ul>
<li>title = название стори + средняя оценка поинтах (наших трудочасах)</li>
<li>1-2 человеческих предложений о чем фича</li>
<li>cucumber feature</li>
<li>при помощи чего реализуется, ссылка на доку, ссылка на пример кода</li>
<li>ссылка на визуальный пример, или изображение</li>
<li>теги к посту приветствуются, также как фото и инфа о том, кто играл в покер :)</li>
</ul>
<p>Важно поддерживать это в актуальном состоянии, обновлять такие нормативы, относительно которых оцениваем и осуществляем <a href="http://en.wikipedia.org/wiki/Planning_poker">planning poker</a> дальше и давать людям знать, что появились новые оценки. Например, через ре-твит :)</p>
<p>Пример поста по результатам покера is coming up soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/07/27/how-to-post-poker-planning-results/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Planning Poker</title>
		<link>http://flatsoft.com/2010/07/27/dobroe-pozhalovat-v-kategoriyu-poker/</link>
		<comments>http://flatsoft.com/2010/07/27/dobroe-pozhalovat-v-kategoriyu-poker/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 12:12:51 +0000</pubDate>
		<dc:creator>Oleg Kurnosov</dc:creator>
		
		<category><![CDATA[Poker]]></category>

		<category><![CDATA[planning poker]]></category>

		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=485</guid>
		<description><![CDATA[Категорию было принято назвать &#8220;Покер&#8221;, чтобы было более понятно по итогам чего принимаются нормативы по тем или иным задачам. То есть принимаются они по итогам техники более точно известной как Planning Poker, применяемой в Scrum.

]]></description>
			<content:encoded><![CDATA[<p>Категорию было принято назвать &#8220;Покер&#8221;, чтобы было более понятно по итогам чего принимаются нормативы по тем или иным задачам. То есть принимаются они по итогам техники более точно известной как <a href="http://en.wikipedia.org/wiki/Planning_poker">Planning Poker</a>, применяемой в <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a>.</p>
<p><img src="http://upload.wikimedia.org/wikipedia/en/e/eb/CrispPlanningPokerDeck.jpg" alt="Scrum Planning Poker Deck" width="506" height="371" /></p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/07/27/dobroe-pozhalovat-v-kategoriyu-poker/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Лето. Жара</title>
		<link>http://flatsoft.com/2010/06/24/leto-zhara/</link>
		<comments>http://flatsoft.com/2010/06/24/leto-zhara/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 13:38:09 +0000</pubDate>
		<dc:creator>Ilya Gorenburg</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[флэтсофт]]></category>

		<category><![CDATA[фотографии]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=481</guid>
		<description><![CDATA[Лето. Жара. Вот уже середина июня. В некоторых комнатах офиса холодно &#8212; работают кондиционеры. Те, кому не хочется мерзнуть &#8212; вылезают на улицу и работают оттуда &#8212; там жарче. Так, например, сегодня работал один из программистов &#8212; Анатолий.
   
На фотках также присутствуют менеджер Мансур и программист Андрей.
]]></description>
			<content:encoded><![CDATA[<p>Лето. Жара. Вот уже середина июня. В некоторых комнатах офиса холодно &#8212; работают кондиционеры. Те, кому не хочется мерзнуть &#8212; вылезают на улицу и работают оттуда &#8212; там жарче. Так, например, сегодня работал один из программистов &#8212; Анатолий.</p>
<p style="text-align: center"><a title="P1070934 by flatsoft, on Flickr" href="http://www.flickr.com/photos/flatsoft/4729709481/"><img src="http://farm2.static.flickr.com/1061/4729709481_66df703874_t.jpg" alt="P1070934" width="100" height="75" /></a> <a title="P1070931 by flatsoft, on Flickr" href="http://www.flickr.com/photos/flatsoft/4729709219/"><img src="http://farm2.static.flickr.com/1122/4729709219_2b655be743_t.jpg" alt="P1070931" width="100" height="75" /></a> <a title="P1070929 by flatsoft, on Flickr" href="http://www.flickr.com/photos/flatsoft/4730353924/"><img src="http://farm2.static.flickr.com/1188/4730353924_18635d98c3_t.jpg" alt="P1070929" width="100" height="75" /></a> <a title="P1070928 by flatsoft, on Flickr" href="http://www.flickr.com/photos/flatsoft/4730353574/"><img src="http://farm2.static.flickr.com/1313/4730353574_928c76d32f_t.jpg" alt="P1070928" width="100" height="75" /></a></p>
<p>На фотках также присутствуют менеджер Мансур и программист Андрей.</p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/06/24/leto-zhara/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scrum как внутренний стандарт</title>
		<link>http://flatsoft.com/2010/06/02/scrum-kak-vnutrenniy-standart/</link>
		<comments>http://flatsoft.com/2010/06/02/scrum-kak-vnutrenniy-standart/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 12:46:24 +0000</pubDate>
		<dc:creator>Tatyana Vyruchaeva</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=478</guid>
		<description><![CDATA[Всех поздравляем с наступившим летом! 
Лето — это не только время для отпусков, дач и пляжей, но и для новых решений, оригинальных проектов и безграничных возможностей!
В нашей компании таким нововведением и интересным поворотным моментом стала новая методология управления проектами Scrum. И с 1 июня, вооружившись различными статьями, видео-презентациями и другой доступной информацией по данной теме, [...]]]></description>
			<content:encoded><![CDATA[<p>Всех поздравляем с наступившим летом! </p>
<p>Лето — это не только время для отпусков, дач и пляжей, но и для новых решений, оригинальных проектов и безграничных возможностей!</p>
<p>В нашей компании таким нововведением и интересным поворотным моментом стала новая методология управления проектами Scrum. И с 1 июня, вооружившись различными статьями, видео-презентациями и другой доступной информацией по данной теме, мы всей компанией погрузились в изучение и применение на практике основных принципов Scrum. Возможно поэтому офис с утра похож на большой муравейник? :)</p>
<p>Что же можно сказать про Scrum?<br />
Это одна из самых популярных методологий гибкой разработки. Одна из причин ее популярности — простота. Но это всего лишь общие фразы, за которыми скрывается целая система, подробнее о которой можно узнать <a href="http://www.citforum.ru/SE/project/scrum/">тут </a>  или <a href="http://ru.wikipedia.org/wiki/Scrum">тут </a> </p>
<p>А мы, на собственном опыте, не исключая ошибок, своими силами стремимся к этим усовершенствованиям и постепенно приводим нашу организацию к стандарту Scrum.</p>
<p>За нами будущее! Всем удачных летних проектов!</p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/06/02/scrum-kak-vnutrenniy-standart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;Надо чаще встречаться!&#8221;</title>
		<link>http://flatsoft.com/2010/05/24/nado-chasche-vstrechatsya/</link>
		<comments>http://flatsoft.com/2010/05/24/nado-chasche-vstrechatsya/#comments</comments>
		<pubDate>Mon, 24 May 2010 16:06:59 +0000</pubDate>
		<dc:creator>Tatyana Vyruchaeva</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=470</guid>
		<description><![CDATA[Так получается, что программисты любой компании, набираясь опыта и начиная работать над собственными проектами, уходят в &#8220;свободное плавание&#8221;, иногда собирают свою команду. Растут, развиваются и уже становятся не только разработчиками, но и руководителями компаний. Каждый специалист сам для себя решает, чем ему интереснее заниматься - программированием или менеджментом. 
В любом случае, мы очень гордимся тем, [...]]]></description>
			<content:encoded><![CDATA[<p>Так получается, что программисты любой компании, набираясь опыта и начиная работать над собственными проектами, уходят в &#8220;свободное плавание&#8221;, иногда собирают свою команду. Растут, развиваются и уже становятся не только разработчиками, но и руководителями компаний. Каждый специалист сам для себя решает, чем ему интереснее заниматься - программированием или менеджментом. </p>
<p>В любом случае, мы очень гордимся тем, что некоторые, уже состоявшиеся, как специалисты в своем деле, бывшие наши сотрудники, начинали работать с нами, учились вместе с нами и привносили оригинальные идеи в различные проекты. Искренне радуемся их успехам!</p>
<p>И тем более здорово, если и в дальнейшем наши, уже бывшие сотрудники, поддерживают с нами контакт, делятся впечатлениями, интересуются нашими делами :)</p>
<p>Все-таки замечательно, когда у людей, работающих в одном направлении, есть возможность с кем-то обсудить, поделиться опытом, спросить совета в сложных вопросах.<br />
Давайте поддерживать связь и устраивать совместные мероприятия! </p>
<p>А мы, так же всегда рады новым веб-программистам, возможно имеющим небольшой опыт, но имеющим большой потенциал и стремящихся к получению новых знаний! Тем более, что сейчас открыты вакансии <a href="http://flatsoft.com/vacancy/#seniordev">Developer </a></p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/05/24/nado-chasche-vstrechatsya/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Недельный обзор Ruby/Rails</title>
		<link>http://flatsoft.com/2010/05/06/nedelnyiy-obzor-rubyrails/</link>
		<comments>http://flatsoft.com/2010/05/06/nedelnyiy-obzor-rubyrails/#comments</comments>
		<pubDate>Thu, 06 May 2010 13:29:06 +0000</pubDate>
		<dc:creator>Timur Vafin</dc:creator>
		
		<category><![CDATA[RubyOnRails]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=455</guid>
		<description><![CDATA[Всем привет,
Напомню у нас есть http://friendfeed.com/flatsoft куда можно засовывать полезные статьи.
Попробую делать обзоры раз в неделю.
Google выпускает тренажер для хакеров Jarlsberg
По полочкам рассказывается о том, какие бывают дырки в приложениях и как их попробовать на тестовом приложении, очень актуально думаю для нас ;) http://jarlsberg.appspot.com/part1
Как при помощи netstat мониторить сервак на предмет количества подключений на различные [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет,</p>
<p>Напомню у нас есть http://friendfeed.com/flatsoft куда можно засовывать полезные статьи.<br />
Попробую делать обзоры раз в неделю.</p>
<p><a href="http://habrahabr.ru/blogs/google/92772/"><strong>Google выпускает тренажер для хакеров Jarlsberg</strong></a><br />
По полочкам рассказывается о том, какие бывают дырки в приложениях и как их попробовать на тестовом приложении, очень актуально думаю для нас ;) http://jarlsberg.appspot.com/part1</p>
<p><a href="http://www.simplehelp.net/2009/01/19/monitor-your-linux-machine-with-netstat/"><strong>Как при помощи netstat мониторить сервак на предмет количества подключений на различные порты</strong></a></p>
<ul>
<li>netstat -lnp - какие процессы какие интерфейсы и порты слушают</li>
<li>netstat -ant - активные соединения в различных состояниях</li>
<li>netstat -ant | grep 80 | wc -l - количество открытых коннектов на 80 порт</li>
</ul>
<p><strong><br />
<a href="http://drnicwilliams.com/2010/04/09/how-to-make-a-good-home-made-open-source/">Сатья-мотиватор, почему клево писать Open source</a></strong></p>
<p><a href="http://asciicasts.com/episodes/209-introducing-devise"><strong>Raiscast: Introducing Devise</strong></a><br />
Новый гем для создания авторизации и аутентификации, <a href="http://github.com/plataformatec/devise">все выглядит руляще </a></p>
<p><a href="http://chneukirchen.github.com/rps/"><strong>Ruby Packaging Standard, 0.5-draft</strong></a><br />
Попытка чувака описать, как правильно делать либы и гемы, в частности как раскладывать файлики по каталогам, Ильдар интересовался</p>
<p><a href="http://robots.thoughtbot.com/post/486653439/hopping-in-the-cloud"><strong>Hopping in the cloud</strong></a><br />
Рульная статья от Роботов как они развивали Hoptoad. В частности я узнал, что Redis рулит и на базе него ребята из github сделали систему для выполнения задач в фоне (URBP) http://github.com/blog/542-introducing-resque</p>
<p><a href="http://asciicasts.com/episodes/205-unobtrusive-javascript"><strong>Unobtrusive JavaScript</strong></a><br />
Статья для тех, кто еще не в курсе, что писать вызовы обработчиков напрямую в теге неруляще, руляще вещать событие.</p>
<p>Спасибо,<br />
Тимур</p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/05/06/nedelnyiy-obzor-rubyrails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ищем системного администратора</title>
		<link>http://flatsoft.com/2010/04/07/ischem-sistemnogo-administratora/</link>
		<comments>http://flatsoft.com/2010/04/07/ischem-sistemnogo-administratora/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 13:48:00 +0000</pubDate>
		<dc:creator>Tatyana Vyruchaeva</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=420</guid>
		<description><![CDATA[У нас в компании открылась вакансия на системного администратора. Рассматриваем кандидатов, ищем опытных и исполнительных. Он должен будет мониторить состояние серверов, поднимать/удалять хосты, смотреть логи, если что-то падает или работает не так, обновлять софт на серверах и прочее.
Требования:
Хорошее знание linux, знание shell (ruby, strace, tcpdump), так же приветствуется умение быстро найти ошибку и пофиксить её, [...]]]></description>
			<content:encoded><![CDATA[<p>У нас в компании открылась вакансия на системного администратора. Рассматриваем кандидатов, ищем опытных и исполнительных. Он должен будет мониторить состояние серверов, поднимать/удалять хосты, смотреть логи, если что-то падает или работает не так, обновлять софт на серверах и прочее.</p>
<p>Требования:<br />
Хорошее знание linux, знание shell (ruby, strace, tcpdump), так же приветствуется умение быстро найти ошибку и пофиксить её, знать как поднять, подтюнить nginx,apache, mysql.</p>
<p>Условия:<br />
Работа в офисе, полный рабочий день с 11.00 до 20.00. Чай/кофе за счет компании. Зарплата 35000 руб., дальнейшее увеличение зарплаты обсуждается индивидуально.</p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/04/07/ischem-sistemnogo-administratora/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Шаманские пляски с M1120</title>
		<link>http://flatsoft.com/2010/03/11/shamanskie-plyaski-s-m1120/</link>
		<comments>http://flatsoft.com/2010/03/11/shamanskie-plyaski-s-m1120/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 16:31:06 +0000</pubDate>
		<dc:creator>Denis Klykvin</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=410</guid>
		<description><![CDATA[Иногда некоторые вещи, которые кажутся простыми, заставляют выбегать курить каждые 5 минут, и рвать остатки волос на голове.
Так произошло и сегодня - принтер HP M1120, подключенный к принт-серверу, моргал кнопочкой &#8220;Ready&#8221;, но упорно не хотел печатать. Ни через тестовую печать принт-сервера, ни через тестовую печать CUPS. Недолго думая, сходил на сайт hp, скачал драйвера под [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда некоторые вещи, которые кажутся простыми, заставляют выбегать курить каждые 5 минут, и рвать остатки волос на голове.</p>
<p>Так произошло и сегодня - принтер HP M1120, подключенный к принт-серверу, моргал кнопочкой &#8220;Ready&#8221;, но упорно не хотел печатать. Ни через тестовую печать принт-сервера, ни через тестовую печать CUPS. Недолго думая, сходил на сайт hp, скачал драйвера под linux, и тут же впал в ступор: в отладочном журнале были ошибки типа &#8220;hpprn.cpp:429: Get 48 bytes error&#8221;, о которых google скромно умалчивал. Конечно, были протестированы и драйвера из пакета с сайта hp, и те, что были в комплекте с cups, и пучок других, которые твёрдо гарантировали что будут работать.</p>
<p>К концу 6 часа я всё таки нашёл решение, которое может кому-то пригодиться:</p>
<p>1. необходимо поставить пакеты foo2zjs , foo2hp и hplip</p>
<p>2. Именно для этого принтера (HP M 1120) подходит pdd файл от HP LaserJet 1022 (если у вас FC или CentOS, то скорее всего он будет лежать в /usr/share/cups/model/HP-LaserJet_1022.ppd.gz )</p>
<p>3. В настройках принтера необходимо указать размер бумаги A4, иначе принтер будет выплёвывать чистые листы.</p>
<p>Profit, что ни говори.</p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/03/11/shamanskie-plyaski-s-m1120/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Фото-отчет из боулинг-клуба</title>
		<link>http://flatsoft.com/2010/03/04/foto-otchet-iz-bouling-kluba/</link>
		<comments>http://flatsoft.com/2010/03/04/foto-otchet-iz-bouling-kluba/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:49:43 +0000</pubDate>
		<dc:creator>Tatyana Vyruchaeva</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=404</guid>
		<description><![CDATA[Одно из последних корпоративных мероприятий в жизни нашей компании — это поход в боулинг, который находится в ТЦ «Тандем». Приурочено данное мероприятие было к 23 февраля.
Прилагаем краткий фото-отчет, в котором хоть и не удалось запечатлеть выбитых страйков и сплитов, зато виден энтузиазм сотрудников — самых активных участников игры! :)
Надеемся, что посещение боулинга станет традиционным для [...]]]></description>
			<content:encoded><![CDATA[<p>Одно из последних корпоративных мероприятий в жизни нашей компании — это поход в боулинг, который находится в ТЦ «Тандем». Приурочено данное мероприятие было к 23 февраля.</p>
<p>Прилагаем краткий фото-отчет, в котором хоть и не удалось запечатлеть выбитых страйков и сплитов, зато виден энтузиазм сотрудников — самых активных участников игры! :)</p>
<p>Надеемся, что посещение боулинга станет традиционным для нашего коллектива и возможно  кто-нибудь из сотрудников станет участвовать в многочисленных турнирах, соревнуясь с опытными боулерами. Удачи!</p>
<div style="margin-bottom: 20px"><a href="http://www.flickr.com/photos/44092210@N06/4405985611/" title="img_2527" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2790/4405985611_6697d5011e_s.jpg" alt="img_2527" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4405985793/" title="img_2528" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2688/4405985793_7d854f78ab_s.jpg" alt="img_2528" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4406752082/" title="img_2531" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2754/4406752082_5502c7fe9e_s.jpg" alt="img_2531" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4405986345/" title="img_2543" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2755/4405986345_b58c6a8b2a_s.jpg" alt="img_2543" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4406752710/" title="img_2544" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2775/4406752710_ef52ecac9f_s.jpg" alt="img_2544" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4406752874/" title="img_2564" class="flickr-image" >
	<img src="http://farm5.static.flickr.com/4030/4406752874_eea25e632e_s.jpg" alt="img_2564" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4405986123/" title="img_2532" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2772/4405986123_1dca357b5e_s.jpg" alt="img_2532" />
</a>
<a href="http://www.flickr.com/photos/44092210@N06/4406753060/" title="img_2568" class="flickr-image" >
	<img src="http://farm3.static.flickr.com/2740/4406753060_46a4c4211e_s.jpg" alt="img_2568" />
</a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/03/04/foto-otchet-iz-bouling-kluba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Заполнение БД тестовыми данными при помощи Populator и Faker</title>
		<link>http://flatsoft.com/2010/02/16/zapolnenie-bd-testovyimi-dannyimi-pri-pomoschi-populator-i-faker/</link>
		<comments>http://flatsoft.com/2010/02/16/zapolnenie-bd-testovyimi-dannyimi-pri-pomoschi-populator-i-faker/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 08:20:28 +0000</pubDate>
		<dc:creator>Andrey Chernih</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[RubyOnRails]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://flatsoft.com/?p=374</guid>
		<description><![CDATA[У нас в компании часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы Populator и Faker.
Предположим, что у нас есть модель User:
email:string
first_name:string
last_name:string
ssn:string
security_question:string
answer:string
phone:string
address:string
city:string
state:string
zip:string
Чтобы сгенерировать для таблицы users 1000 тестовых [...]]]></description>
			<content:encoded><![CDATA[<p>У нас в компании часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы <a href="http://github.com/ryanb/populator">Populator</a> и <a href="http://faker.rubyforge.org/">Faker</a>.</p>
<p>Предположим, что у нас есть модель <strong>User</strong>:</p>
<p><code>email:string<br />
first_name:string<br />
last_name:string<br />
ssn:string<br />
security_question:string<br />
answer:string<br />
phone:string<br />
address:string<br />
city:string<br />
state:string<br />
zip:string</code></p>
<p>Чтобы сгенерировать для таблицы users 1000 тестовых пользователей, будем использовать следующий код:</p>
<p><code>require 'populator'<br />
require 'faker'<br />
# Populate DB with Users<br />
User.populate(1000) do |user|<br />
user.email = Faker::Internet.email<br />
user.first_name = Faker::Name.first_name<br />
user.last_name = Faker::Name.last_name<br />
user.ssn = Faker.numerify("###-##-####")<br />
user.security_question = Populator.words(4..10)<br />
user.answer = Populator.words(1..3)<br />
user.phone = Faker.numerify("#"*10)<br />
user.address = Faker::Address.street_address<br />
user.city = Faker::Address.city<br />
user.state = Faker::Address.us_state_abbr<br />
user.zip = Faker::Address.zip_code<br />
end<br />
</code></p>
<p>Следует отметить, что Populator не наследует ActiveRecord-модель, а работает с БД напрямую с целью повышения производительности. В качестве значения полей можно передавать массивы или рейнджи, Populator автоматически выберет случайное.</p>
<p><code>user.sex = ["male", "female"]<br />
user.age = 20..30<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://flatsoft.com/2010/02/16/zapolnenie-bd-testovyimi-dannyimi-pri-pomoschi-populator-i-faker/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
