<?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>Dipsa.RU &#187; builder</title>
	<atom:link href="http://dipsa.ru/author/builder/feed/" rel="self" type="application/rss+xml" />
	<link>http://dipsa.ru</link>
	<description>Блог программиста</description>
	<lastBuildDate>Mon, 21 Nov 2011 12:32:37 +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>Демоверсия системы ISys</title>
		<link>http://dipsa.ru/2010/07/16/demo-isys/</link>
		<comments>http://dipsa.ru/2010/07/16/demo-isys/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 06:54:56 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[Интранет системы]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=114</guid>
		<description><![CDATA[Выставлена демонстрационная версия интранет (корпоративной) системы ISys вы можете выйти на неё по ссылке isys.dipsa.ru. Имя входа и пароль на демонстрационную версию: Администратор &#8212; admin / admin Оператор &#8212; operator / operator Пользователь &#8212; user / user ﻿ Бесплатный дистрибутив и краткая документация по установке и настройке системы на странице проекта &#8212; Проект ISys.]]></description>
			<content:encoded><![CDATA[<p>Выставлена демонстрационная версия интранет (корпоративной) системы ISys вы можете выйти на неё по ссылке <a href="http://isys.dipsa.ru" target="_blank">isys.dipsa.ru</a>.</p>
<p style="text-align: center;">Имя входа и пароль на <a href="http://isys.dipsa.ru/" target="_blank">демонстрационную версию</a>:<br />
<strong>Администратор &#8212; admin / admin<br />
Оператор &#8212; operator / operator<br />
Пользователь &#8212; user / user 		﻿</strong></p>
<p>Бесплатный дистрибутив и краткая документация по установке и настройке системы на странице проекта &#8212; <a href="http://dipsa.ru/isys/">Проект ISys</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/07/16/demo-isys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web-камера в C#</title>
		<link>http://dipsa.ru/2010/06/15/webcam_in_csharp/</link>
		<comments>http://dipsa.ru/2010/06/15/webcam_in_csharp/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 13:03:41 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[C# и Net]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=109</guid>
		<description><![CDATA[Заинтересовавшись возможностью подключить web-камеру в свой проект немного погуляв по интернету нашёл сборку для подключения камеры. Пользоваться ей элементарно. Создадим форму с элементом PictureBox (WebFrame), подключаем сборку и пишем: using WebCam_Capture; Код в классе формы: private WebCamCapture webcam; public Form1() { InitializeComponent(); webcam = new WebCamCapture(); webcam.ImageCaptured += new WebCamCapture.WebCamEventHandler(webcam_ImageCaptured); webcam.Start(0); } void webcam_ImageCaptured(object source, [...]]]></description>
			<content:encoded><![CDATA[<p>Заинтересовавшись возможностью подключить web-камеру в свой проект немного погуляв по интернету нашёл <a href="http://sites.google.com/site/webcamlibrarydotnet/wpf-and-csharp-sample-code-and-download" target="_blank">сборку для подключения камеры</a>.</p>
<p>Пользоваться ей элементарно. Создадим форму с элементом PictureBox (WebFrame), подключаем сборку и пишем:</p>
<pre class="brush:csharp">using WebCam_Capture;</pre>
<p>Код в классе формы:</p>
<p><span id="more-109"></span></p>
<pre class="brush:csharp">private WebCamCapture webcam;

public Form1()
{
InitializeComponent();

webcam = new WebCamCapture();
webcam.ImageCaptured += new WebCamCapture.WebCamEventHandler(webcam_ImageCaptured);

webcam.Start(0);
}

void webcam_ImageCaptured(object source, WebcamEventArgs e)
{
Image Frame = e.WebCamImage;
WebFrame.Image = Frame;

/*

//Делает изображение черно-белым

Bitmap Bitmap = new Bitmap(Frame);

int[,] Matrix = new int[320, 240];

for (int y = 0; y &lt; 240; y++)
{
for (int x = 0; x &lt; 320; x++)
{

Matrix[x,y] = (int)((Bitmap.GetPixel(x, y).R + Bitmap.GetPixel(x, y).G + Bitmap.GetPixel(x, y).B) / 3);

Bitmap.SetPixel(x, y, Color.FromArgb(Matrix[x, y], Matrix[x, y], Matrix[x, y]));
}
}

Frame = (Image)Bitmap;

//Второй PictureBox для сравнения
OutFrame.Image = Frame;

*/
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/06/15/webcam_in_csharp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Разработка Интранет системы – Часть 3 (хранение данных)</title>
		<link>http://dipsa.ru/2010/06/11/intranet3/</link>
		<comments>http://dipsa.ru/2010/06/11/intranet3/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 08:28:51 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[Интранет системы]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=99</guid>
		<description><![CDATA[База данных как ни странно была выбрана MySQL, по соображениям её бесплатности, распространению и набору инструментов. Пользователи и группы пользователей суждено было разбить на две таблицы: CREATE TABLE UserList ( Id INT (11) NOT NULL AUTO_INCREMENT, Name VARCHAR (512) DEFAULT NULL COMMENT 'Имя пользователя (описание)', EnterName VARCHAR (30) NOT NULL COMMENT 'Логин', EnterPassword VARCHAR (32) [...]]]></description>
			<content:encoded><![CDATA[<p>База данных как ни странно была выбрана MySQL, по соображениям её бесплатности, распространению и набору инструментов.</p>
<p><span id="more-99"></span>Пользователи и группы пользователей суждено было разбить на две таблицы:</p>
<pre class="brush:sql">CREATE TABLE  UserList
(
Id INT (11) NOT NULL AUTO_INCREMENT,
Name VARCHAR (512) DEFAULT NULL COMMENT 'Имя пользователя (описание)',
EnterName VARCHAR (30) NOT NULL COMMENT 'Логин',
EnterPassword VARCHAR (32) NOT NULL COMMENT 'Пароль',
`Group` INT (11) NOT NULL COMMENT 'Группа пользователя',
AccessLevel INT (11) NOT NULL COMMENT 'Уровень досиупа',
PRIMARY KEY (Id),
INDEX Ou USING BTREE (`Group`)
);

CREATE TABLE UserGroups
(
Id INT (11) NOT NULL AUTO_INCREMENT COMMENT 'Ключ',
FullName VARCHAR (255) DEFAULT NULL COMMENT 'Полное наименование',
SokrName VARCHAR (255) DEFAULT NULL COMMENT 'Сокращённое наименование',
Type ENUM ('editors', 'users') NOT NULL DEFAULT 'users' COMMENT
'Тип пользователей',
DefaultTo ENUM ('yes', 'no') NOT NULL DEFAULT 'yes' COMMENT
'Включение поумолчанию в "кому"',
Sort INT (11) DEFAULT NULL COMMENT 'Столбец сортировки',
PRIMARY KEY (Id)
)</pre>
<p>Самой большой проблемой была возможность сортировки записей в таблице по желанию пользователя. В итоге было добавлено поле Sort</p>
<p>Хранение файлов было организовано по <a href="http://dipsa.ru/2010/06/11/load-and-save-file/">следующему принципу</a></p>
<p>Также сообщения и статистика по сообщениям была организованна в две таблицы, причём таблица статистика включает в себя и ответы на сообщения и добавлены разные состояния статистики (поле Status).</p>
<pre class="brush:sql">CREATE TABLE StatReport
(
Id INT (11) NOT NULL AUTO_INCREMENT,
`DateTime` DATETIME DEFAULT NULL COMMENT 'Время',
Message INT (11) DEFAULT NULL COMMENT 'Ключ сообщения',
User INT (11) DEFAULT NULL COMMENT 'Ключ пользователя',
Status VARCHAR (15) DEFAULT NULL COMMENT
'read - прочитано, report - отвечено, no-report - не принято, access - принято'
,
Node TEXT DEFAULT NULL COMMENT 'Примечание',
File INT (11) DEFAULT NULL COMMENT 'Ключ файла',
PRIMARY KEY (Id)
)</pre>
<p><em>Кстати очень удобно писать комментарии к полям при создании таблиц, облегчает мозг :)</em></p>
<p>Поле Status специально не было сделано как Enum дабы можно было добавлять нестандартные статусы при модернизации системы.</p>
<p>И ещё. В CodeIgniter (на базе которого предполагается писать систему) есть удобная функция хранения данных сессии в БД, это тоже может пригодится в дальнейшем (например для отображения пользователей online), потому таблице для сессии тоже дано было быть.</p>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/06/11/intranet3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Загрузка файлов и их хранение</title>
		<link>http://dipsa.ru/2010/06/11/load-and-save-file/</link>
		<comments>http://dipsa.ru/2010/06/11/load-and-save-file/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 07:53:56 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[Web-разработка]]></category>
		<category><![CDATA[Интранет системы]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=92</guid>
		<description><![CDATA[Поделюсь своим опытом загрузки и хранения файлов в интранет системе. Основные проблема хранения файлов это сохранить о нём данные и имена фалов в кириллице. Для решения этой проблемы необходимо хранить информацию о файле (имя на русском, и mime тип файла и т.п.). Все это лучше организовать с помощью базы данных. Создадим таблицу (MySQL): CREATE TABLE [...]]]></description>
			<content:encoded><![CDATA[<p>Поделюсь своим опытом загрузки и хранения файлов в интранет системе.</p>
<p>Основные проблема хранения файлов это сохранить о нём данные и имена фалов в кириллице. Для решения этой проблемы необходимо хранить информацию о файле (имя на русском, и mime тип файла и т.п.). Все это лучше организовать с помощью базы данных.</p>
<p><span id="more-92"></span>Создадим таблицу (MySQL):</p>
<pre class="brush:sql">CREATE TABLE UploadFiles
(
Id INT (11) NOT NULL AUTO_INCREMENT,
Attached_alias VARCHAR (20) DEFAULT NULL COMMENT 'Прикреплён к чему',
Attached_id INT (11) DEFAULT NULL COMMENT 'Прикремпён к ключу',
Local_name VARCHAR (80) DEFAULT NULL COMMENT 'Имя файла на диске',
Type VARCHAR (50) DEFAULT NULL COMMENT 'mime тип файла при загрузке',
Name VARCHAR (250) DEFAULT NULL COMMENT 'Оригинальное имя',
Ext VARCHAR (20) DEFAULT NULL COMMENT 'Расширение файла',
Size INT (11) DEFAULT NULL COMMENT 'Размер файла в байтах',
PRIMARY KEY (Id)
)</pre>
<p>Поле Attached_alias &#8212; указывает какой модуль загружал файл (например прикреплено к сообщению гостевой или к сообщению форума).</p>
<p>Поле Attached_id &#8212; указывает ID сообщения.</p>
<p>Загрузка файла:</p>
<pre class="brush:php">//Загрузка файлов
foreach($_FILES as $file) {

$insert_file = null;

if ($file['tmp_name'] != '') {

//Преобразуем имя для сохранения
$insert_file['Attached_alias'] = 'mes';
$insert_file['Attached_id'] = $insert['Id'];
$insert_file['Local_name'] = 'mes_'.$insert['Id'].'_'.md5($file['tmp_name'].date('ydmhis')).'.ulf';

move_uploaded_file($file['tmp_name'], UPLOAD_PATH.$insert_file['Local_name']);

$insert_file['Name'] = $file['name'];
$Ext = explode('.', $file['name']);
$insert_file['Ext'] = strtolower($Ext[sizeof($Ext) - 1]);
$insert_file['Type'] = $file['type'];
$insert_file['Size'] = $file['size'];

$this-&gt;db-&gt;insert('UploadFiles', $insert_file);

}

}</pre>
<p>В строке 11 придумываем функцию для хэширования имени файлов используя время, это необходимо для того, чтобы имя файла всегда было уникальным, вероятность того что хэш имени файла с временем загрузки файла совпадёт ничтожно мала.</p>
<p>Имя файла получается похожим на: mes_161_342631bc07c109c538ee48ed4d1a329f.ulf</p>
<p>Это даёт дополнительные преимущества:</p>
<ul>
<li>файл нельзя загрузить напрямую (если требуется авторизация и прочее)</li>
<li> информацию о файле всегда можно получить из БД не теребя файловую систему</li>
<li> можно обрабатывать данные о скачивании файла (например: сколько раз, кто, в какое время).</li>
</ul>
<p>Процедура скачивания файла пользователем (php+CodeIgniter):</p>
<pre class="brush:php">//Обезопашиваем входные данные
$id = (int)$id;
if ($id == 0) show_404();

//Запрос информации о файле
$query = $this-&gt;db-&gt;get_where('UploadFiles', array('Id' =&gt; $id));
if ($query-&gt;num_rows() == 1)
{

$row = $query-&gt;row_array();

$type = $row['Type'];
$file_name = $row['Name'];
$file_path = UPLOAD_PATH.$row['Local_name'];

$file_name = iconv("utf-8", "windows-1251", $file_name);    //Конвертируем кодировку имени файла

//Отправляем пользователю
header('Content-Type: content='.$type);
header('Content-Disposition: attachment; filename="'.$file_name.'"');
readfile($file_path);

} else show_404();</pre>
<p>По моему очень удобно, может кому-то пригодится.</p>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/06/11/load-and-save-file/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Дополнение Dramweaver CS4 для CodeIgniter 1.7</title>
		<link>http://dipsa.ru/2010/03/16/dwforci/</link>
		<comments>http://dipsa.ru/2010/03/16/dwforci/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 06:49:25 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[Web-разработка]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=79</guid>
		<description><![CDATA[Выкладываю своё дополнение (плагин) к Adobe Dreamweaver для помощи в разработке на ClodeIgniter 1.7 Для установки просто скопируйте файлы из архива в папку с установленным Dreamweaver-ом. Кстати по аналогии (файлы формата xml) можете добавлять и собственные функции и описания (файл CodeIgniter.xml) и собственные функциональные кнопки на панели инструментов (папка Objects). Примечание: Вызвать меню вставки можно [...]]]></description>
			<content:encoded><![CDATA[<p>Выкладываю своё дополнение (плагин) к Adobe Dreamweaver для помощи в разработке на ClodeIgniter 1.7</p>
<p><a rel="attachment wp-att-82" href="http://dipsa.ru/2010/03/16/dwforci/screenshotdw/"><img class="aligncenter size-full wp-image-82" title="Скриншот DW с помошником CI" src="http://dipsa.ru/wp-content/uploads/2010/03/screenshotdw.jpg" alt="" width="529" height="392" /></a></p>
<p><a rel="attachment wp-att-85" href="http://dipsa.ru/2010/03/16/dwforci/screenshotdw2/"><img class="aligncenter size-full wp-image-85" title="screenshotdw2" src="http://dipsa.ru/wp-content/uploads/2010/03/screenshotdw2.jpg" alt="" width="579" height="114" /></a></p>
<p>Для установки просто скопируйте файлы из архива в папку с установленным  Dreamweaver-ом. Кстати по аналогии (файлы формата xml) можете добавлять и собственные функции и описания (файл CodeIgniter.xml) и собственные функциональные кнопки на панели инструментов (папка Objects).</p>
<p><em>Примечание: </em>Вызвать меню вставки можно нажав клавиши Ctrl+Space</p>
<p><a href="http://dipsa.ru/files/DW_for_CI.zip">Скачать </a>(22,2Кб)</p>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/03/16/dwforci/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Разработка Интранет системы – Часть 2 (интерфейс и дизайн)</title>
		<link>http://dipsa.ru/2010/03/10/intranet2/</link>
		<comments>http://dipsa.ru/2010/03/10/intranet2/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 09:18:59 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[Интранет системы]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=36</guid>
		<description><![CDATA[Для разработки интерфейса, лучше всего построить диаграмму, что бы было меньше путаницы в голове, да и в дальнейшем это очень удобно. Для составления диаграммы я пользуюсь неплохой, бесплатной программкой XMind, в итоге после кропотливой работы получилась следующая диаграмма: Зелёные блоки &#8212; основные модули системы Коричневые &#8212; основные функции модулей, от них сделал ответвления, которые показывают, [...]]]></description>
			<content:encoded><![CDATA[<p>Для разработки интерфейса, лучше всего построить диаграмму, что бы было меньше путаницы в голове, да и в дальнейшем это очень удобно. Для составления диаграммы я пользуюсь неплохой, бесплатной программкой <a href="http://www.xmind.net/">XMind</a>, в итоге после кропотливой работы получилась следующая диаграмма:<span id="more-36"></span></p>
<p style="text-align: center;"><a rel="attachment wp-att-46" href="http://dipsa.ru/2010/03/10/intranet2/diag/"><img class="aligncenter size-medium wp-image-46" title="Интерфейс и структура системы ISys" src="http://dipsa.ru/wp-content/uploads/2010/03/diag-300x201.gif" alt="" width="300" height="201" /></a></p>
<ul>
<li>Зелёные блоки &#8212; основные модули системы</li>
<li>Коричневые &#8212; основные функции модулей, от них сделал ответвления, которые показывают, как реализуется та или иная функция</li>
<li>Фигурными скобками обозначил &#171;алиасы&#187; (псевдонимы) на латинице, что бы впоследствии можно было называть так различные части программы, непосредственно создавая её.</li>
<li>Розовым помечены неизменные части системы.</li>
</ul>
<p>Сразу все возможности системы реализовывать не буду, потому как это очень трудно и долго, да и в дальнейшем появятся наработки по данной системе, которые ускорят процесс расширения функционала.</p>
<p>Когда со структурой и примерными функциями разобрались необходимо нарисовать дизайн, нарисовать можно в графическом редакторе Adobe Photoshop, благо там предусмотрена масса вещей для этих целей. Вот что получилось:</p>
<p style="text-align: center;"><a rel="attachment wp-att-59" href="http://dipsa.ru/2010/03/10/intranet2/disain/"><img class="size-medium wp-image-59 aligncenter" title="Дизайн системы ISys" src="http://dipsa.ru/wp-content/uploads/2010/03/disain-300x212.gif" alt="" width="300" height="212" /></a></p>
<p>В нём я постарался как можно больше нарисовать мелочей, которые в последствии можно будет использовать как шаблон для оформления различных блоков которые будут добавляться.</p>
<p>В Интранет системах главное не переборщить с красотой и картинками, так как люди сюда, прежде всего придут работать, и красота в ущерб скорости загрузки и скорости работы неприемлема.</p>
<p><a href="http://dipsa.ru/2010/06/11/intranet3/">Продолжение следует</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/03/10/intranet2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Разработка Интранет системы &#8212; Часть 1 (начальное планирование)</title>
		<link>http://dipsa.ru/2010/03/09/intranet1/</link>
		<comments>http://dipsa.ru/2010/03/09/intranet1/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 11:53:39 +0000</pubDate>
		<dc:creator>builder</dc:creator>
				<category><![CDATA[Интранет системы]]></category>

		<guid isPermaLink="false">http://dipsa.ru/?p=26</guid>
		<description><![CDATA[Прежде всего, что же такое Интранет система простыми словами &#8212; это продукт которым пользуются все но внутри организации, т.е. внутренняя система, где происходит общение, обмен данными их обработка и т.д. Перед тем как что-либо создавать необходимо, определиться со следующими вещами: Функциональность - что и как будет выполнять ваша система, её цель, роль в организации и [...]]]></description>
			<content:encoded><![CDATA[<p>Прежде всего, что же такое Интранет система простыми словами &#8212; это продукт которым пользуются все но внутри организации, т.е. внутренняя система, где происходит общение, обмен данными их обработка и т.д.</p>
<p>Перед тем как что-либо создавать необходимо, определиться со следующими вещами:<span id="more-26"></span></p>
<ol>
<li><strong>Функциональность </strong>- что и как будет выполнять ваша система, её цель, роль в организации и т.п.</li>
<li><strong>Интерфейс и дизайн</strong> &#8212; как пользователи будут взаимодействовать с системой, что будут нажимать, как будут пользоваться теми или иными функциями системы.</li>
<li><strong>Обработка данных</strong> &#8212; где данные будут храниться и обрабатываться, какова будет их структура</li>
<li><strong>Программирование </strong>- как вы будете создавать систему, на каком языке, с помощью каких дополнительных инструментов и т.п.</li>
<li><strong>Внедрение </strong>- где она будет размещена, как будет проходить обучение сотрудников и сопутствующие этому вещи.</li>
</ol>
<p>Начнём по порядку. Для начала набросаем карандашом основные функции системы. В данном случае она будет служить для общения и обмена сообщениями между управлением образования (те, кто пишут) и дочерними учреждениями (те, кто читают и отвечают &#8212; школами, детскими садами, различными учреждениями дополнительного образования).</p>
<p>К сообщениям особые требования, нужно отслеживать тех, кто ознакомлен с сообщением, кто ответил на сообщение, в общем, вести статистику по сообщению.</p>
<p>Например: Какой либо сотрудник написал в сообщении о предоставлении отчёта, школы вышли, почитали, он посмотрел, кто прочитал, а кто нет, потом школы ответили на сообщение, прикрепив к нему ответы, сотрудник проверил, правильно ли составлен отчёт, согласился или нет с правильностью, скачал все отчёты, которые ему предоставили.</p>
<p>Так как информация закрыта, то вход в систему должен быть по имени и паролю и конечно с различными привилегиями.</p>
<p>В данной системе предусмотрим три вида пользователей:</p>
<ul>
<li><strong>Пользователь </strong>- тот, кто читает сообщения и отвечает на них.</li>
<li><strong>Редактор </strong>- тот, кто создает отчёты или пишет сообщения.</li>
<li><strong>Администратор </strong>- обладающий привилегиями редактора  и управляющий пользователями</li>
</ul>
<p>Также для удобства предусмотрим создание групп пользователей. Например: Управление образования, Средние школы, Основные школы и т.д.</p>
<p>Добавим полезные функции в систему, которые будут востребованы: Поиск, Календарь, Помощь по использованию системы. Для администратора предусмотрим раздел <em>&#171;администрирование</em>&#171;.</p>
<p>В ходе дальнейшей работы можно корректировать и добавлять функции, потому систему будем делать как можно более гибкую, об этом не надо забывать на протяжении всего проекта.</p>
<p><a href="http://dipsa.ru/2010/03/10/intranet2/">Продолжение следует</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dipsa.ru/2010/03/09/intranet1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

