<?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>Juravskiy Vitaliy`s blog</title> <atom:link href="http://juravskiy.ru/?feed=rss2" rel="self" type="application/rss+xml" /><link>http://juravskiy.ru</link> <description>Заметки программиста</description> <lastBuildDate>Wed, 09 Jun 2010 04:00:51 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>Заметка о LMS и управлении знаниями в бизнесе</title><link>http://juravskiy.ru/?p=936</link> <comments>http://juravskiy.ru/?p=936#comments</comments> <pubDate>Wed, 09 Jun 2010 04:00:51 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[Информационные технологии]]></category> <category><![CDATA[knowledge managment]]></category> <category><![CDATA[lms]]></category> <category><![CDATA[управление знаниями]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=936</guid> <description><![CDATA[Пишу на данный момент дипломную работу по специальности. Дипломная работа связана с системами проведения занятий, электронного обучения, дистанционного обучения, и подобными системами. Для справки о LMS можно почитать в wiki. В процессе анализа предметной области и поиска аналогов, читал об использовании таких систем в других странах в частности США. У нас такие системы используются на [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="km" border="0" alt="km" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/06/km.jpg" width="100" height="100" /> Пишу на данный момент дипломную работу по специальности. Дипломная работа связана с системами проведения занятий, электронного обучения, дистанционного обучения, и подобными системами. Для справки о LMS можно почитать в <a href="http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC" rel="nofollow" target="_blank">wiki</a>.</p><p align="justify">В процессе анализа предметной области и поиска аналогов, читал об использовании таких систем в других странах в частности США. У нас такие системы используются на базе ВУЗов для организации дистанционного обучения например студентов очной формы обучения. Применение в других же сферах я так и не нашел. Но в США пошли дальше, на базе таких систем организовано обучение и повышение квалификации персонала государственных учреждений, а также коммерческих организаций, управляющие структуры которых, заинтересованы в высокой квалификации специалистов организации, а также общей конкурентоспособности организации.</p><p> <span id="more-936"></span><p align="justify">Тенденции повышения квалификации сотрудников наблюдается и у нас в стране, за частую это происходит в виде кратковременных курсов, конференций, и т.п. мероприятия. Частота проведения повышения квалификации зависит от сферы деятельности к которой он относится. Обычно стремительно развивающиеся направления к которым относится и сфера ИТ, требует более частой поддержки знаний в актуальном состоянии сотрудников. На данный момент ситуация с обучением персонала выглядит разнородно. Многое зависит от руководства компании и от размеров самой компании. В основном идут по пути списания “отработанного материала”, это относится к тем сотрудникам, которые не могут, не желают, или даже не знают о процессе самообучения. Последний раз они что-то изучали - это было в университете в ночь перед экзаменом. Другие компании могут применять разные стратегии на этот счет, например: обучать персонал высшего звена, рабочий же состав за не имением средств оставлять на самотек, зачастую в таких компаниях высокая “текучесть” кадров. Возможны и другие варианты.</p><p align="justify">Вообще на самом деле, у нас в университете был целый курс посвященный управлению знаниями, в котором освещались проблемы не только повышения квалификации сотрудников, но и многие другие аспекты, такие как извлечение знаний, формализация, хранение, обмен, обучение и т.д..</p><p align="justify">Wikipedia простой пример системы хранения знаний – базы знаний, гениальная вещь (для любознательных людей), можно начать читать одно, закончить чтением информации совсем из другой области.</p><p align="justify">Подведем некоторые выводы которые я сделал в результате изученного материала в процессе как выполнения дипломной работы, так и в процессе обучения в ВУЗе. Я считаю, что каждая компания среднего бизнеса, должна иметь в составе своих бизнесс-процессов, процесс отвечающий за управление знаниями.</p><p align="justify">Почему это так важно: представим среднестатистическую компанию, которая выпускает свой продукт в рамках проекта, в составе сотрудников компании, существует группа людей которые сопровождают (разрабатывают)&#160; данный проект. Каждый участник группы владеет определенным набором знаний по той части проекта за которую он ответственный, также есть руководитель группы, допустим он владеет поверхностной (где-то углубленной) информацией о проекте, он не может знать все тонкости и подробности всего, что знают все остальные участники группы (зачастую так бывает). Представим из проекта уходит человек (причины не важны, в жизни разное бывает), то что&#160; он знал по своей части проекта, ни где не формализовано, не документировано, хорошо придет на его место новый сотрудник – хорошо если он разберется со всем, что оставил ему свой предшественник. В любом случае это задержка в продвижении проекта. Если правильно подходить к данной ситуации, то в компании пример которой мы представили, должна использоваться система управления знаниями, в которой бы остались те знания по проекту, которые знает человек ушедший из проекта, а пришедший на его место человек в минимальные сроки бы освоился и приступил бы к исполнению своих обязанностей.</p><p align="justify">Обучение сотрудников, повышение их квалификации за счет компании - это инвестиции в самих себя, решения на основе LMS это не дорогое решение для компаний среднего и крупного звена. Системы управления знаниями с их извлечением, это частичная гарантия того, что ваши инвестиции останутся при вас, когда сотрудник уйдет из компании, а накопленные знания в базе знаний будут составлять интеллектуальный капитал компании.</p><p align="justify">Самый весомый аргумент можно прочитать в той же wiki в статье об <a href="http://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%BD%D0%B0%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8" rel="nofollow" target="_blank">управлении знаниями</a> -</p><blockquote><p align="justify">IT сами по себе не является прибыльными, прибыль формируется через операции со знаниями (данными)</p></blockquote><p align="justify">Преимущества мы перечислили, перейдем к недостаткам: основной недостаток это сложность реализации такого подхода, возможно даже высокая стоимость решения, извлечением знаний должен заниматься человек или группа людей (если извлекать надо много и часто), знания должны быть формализованы – представлен удобным образом в базе знаний, для возможности совершения над ними различных операций по управлению ими. Человек занимающийся, извлечением знаниями должен быть экспертом в данной области – что позволяет говорить о том, что на каждого специалиста должен быть специалист, который будет извлекать из первого знания.&#160; Второй вариант, человек сам из себя будет извлекать знания, и их фиксировать в базе знаний, что является также трудоемким процессом, занимающим много времени.</p><p align="justify">Ну вот как-то так изложил свои мысли по данной теме, обсудим ?!</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=936</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Immutable (Неизменяемый)</title><link>http://juravskiy.ru/?p=814</link> <comments>http://juravskiy.ru/?p=814#comments</comments> <pubDate>Mon, 19 Apr 2010 17:49:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Основные шаблоны (Fundamental)]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[design patterns]]></category> <category><![CDATA[immutable]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=814</guid> <description><![CDATA[Данный шаблон используется другими шаблонами и является основным, потому что он повышает надежность и управляемость кода, за счет наложения запрета на изменение содержимого объекта класса, реализующего данный шаблон. При этом уменьшаются затраты на совместный доступ к объекту, потому как нет необходимости в синхронизации потоков. Данный шаблон используется или может использоваться многими другими шаблонами проектирования, например [...]]]></description> <content:encoded><![CDATA[<p>Данный шаблон используется другими шаблонами и является основным, потому что он повышает надежность и управляемость кода, за счет наложения запрета на изменение содержимого объекта класса, реализующего данный шаблон. При этом уменьшаются затраты на совместный доступ к объекту, потому как нет необходимости в синхронизации потоков. Данный шаблон используется или может использоваться многими другими шаблонами проектирования, например объекты значений (Value objects).</p><p>Реализация шаблона проста, в конструктор передаются значения, которые определяют неизменяемое содержимое класса, а также существует набор get-методов, которые позволяют получить данные значения. Set-методы, предназначенные для изменения данных отсутствуют.</p><p>Пример кода демонстрирующий данный шаблон проектирования:</p><p> <span id="more-814"></span><pre class="brush:java;">public class Position {
    private int x;
    private int y;
    public Position(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() { return x;}

    public int getY() { return y;}

    public Position offset(int xOffset, int yOffset) {
        return new Position(x + xOffset, y + yOffset);
    }

}</pre>]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=814</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Interface and Abstract Class (Интерфейс и абстрактный класс)</title><link>http://juravskiy.ru/?p=813</link> <comments>http://juravskiy.ru/?p=813#comments</comments> <pubDate>Sun, 21 Mar 2010 06:00:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Основные шаблоны (Fundamental)]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[design patterns]]></category> <category><![CDATA[interface and abstract class]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=813</guid> <description><![CDATA[Шаблон делает клиентские классы независимыми от тех классов, которые реализуют поведение (сервис) и при этом позволяет обеспечить согласованное поведение между ними. Мы используем преимущества шаблонов “Interface” и “Abstract superclass” которые включены в рассматриваемый шаблон проектирования. Можно сделать классы которые реализуют некоторый интерфейс, и при этом наследующиеся от абстрактного класса. При использовании данного шаблона проектирования, обычно [...]]]></description> <content:encoded><![CDATA[<p align="justify">Шаблон делает клиентские классы независимыми от тех классов, которые реализуют поведение (сервис) и при этом позволяет обеспечить согласованное поведение между ними. Мы используем преимущества шаблонов “<a href="http://juravskiy.ru/?p=647" target="_blank">Interface</a>” и “<a href="http://juravskiy.ru/?p=677" target="_blank">Abstract superclass</a>” которые включены в рассматриваемый шаблон проектирования. Можно сделать классы которые реализуют некоторый интерфейс, и при этом наследующиеся от абстрактного класса.</p><p style="text-align: center"><a href="http://juravskiy.ru/wp-content/uploads/2010/03/interfaceandabstractclassdesignpattern.jpg" rel="lightbox"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="interface-and-abstract-class-design-pattern" border="0" alt="interface-and-abstract-class-design-pattern" src="http://juravskiy.ru/wp-content/uploads/2010/03/interfaceandabstractclassdesignpattern_thumb.jpg" width="147" height="88" /></a></p><p align="justify">При использовании данного шаблона проектирования, обычно интерфейс является открытым, а абстрактный класс закрытым, и включает в себя общие части реализации классов реализации ConcreteClass1, ConcreteClass2 и т.д.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=813</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Логотипы Google</title><link>http://juravskiy.ru/?p=930</link> <comments>http://juravskiy.ru/?p=930#comments</comments> <pubDate>Wed, 17 Mar 2010 15:11:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[art]]></category> <category><![CDATA[design]]></category> <category><![CDATA[Google]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=930</guid> <description><![CDATA[Ни для кого ни секрет, что у компании Google есть домены во всех национальных доменных зонах, так же ни для кого не секрет, что если сегодня в какой-то стране значимый день в истории, то по адресу google.xx (где xx – национальный домен страны) мы можем увидеть логотип google стилизованный под это событие. Недавно искал официальный [...]]]></description> <content:encoded><![CDATA[<p align="justify">Ни для кого ни секрет, что у компании Google есть домены во всех национальных доменных зонах, так же ни для кого не секрет, что если сегодня в какой-то стране значимый день в истории, то по адресу google.xx (где xx – национальный домен страны) мы можем увидеть логотип google стилизованный под это событие.</p><p style="text-align: center"><a href="http://juravskiy.ru/wp-content/uploads/2010/03/piday10hp1.gif" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="День числа PI" border="0" alt="piday10-hp[1]" src="http://juravskiy.ru/wp-content/uploads/2010/03/piday10hp1_thumb.gif" width="240" height="97" /></a></p><p align="justify">Недавно искал официальный адрес компании, и набрел на <a href="http://www.google.ru/logos/" rel="nofollow" target="_blank">галерею их логотипов Google за все года</a>. Был удивлен, что к олимпиаде в Ванкувере было сделано так много логотипов, для каждого вида спорта, а например в день создания штрих кода, логотип выглядел как штрих код – просто и со вкусом. Возле каждого логотипа в скобках можно увидеть значимость события, т.е. для каких стран оно актуально.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=930</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Abstract supersclass (Абстрактный суперкласс)</title><link>http://juravskiy.ru/?p=677</link> <comments>http://juravskiy.ru/?p=677#comments</comments> <pubDate>Sun, 14 Mar 2010 05:00:24 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Основные шаблоны (Fundamental)]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[abstract superclass]]></category> <category><![CDATA[design patterns]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=677</guid> <description><![CDATA[Обеспечивает согласованное поведение концептуально связанных классов, через общий абстрактный суперкласс. Класс реализующий данный шаблон проектирования является абстрактным суперклассом, в котором инкапсулирована общая логика связанных классов. Связанные классы расширяют абстрактный класс по средством наследования. Методы с общей логикой и одинаковыми сигнатурами для всех связанных классов, помещаются в суперкласс, Методы с одинаковой сигнатурой, но зависящей от конкретной [...]]]></description> <content:encoded><![CDATA[<p align="justify">Обеспечивает согласованное поведение концептуально связанных классов, через общий абстрактный суперкласс.</p><p align="justify">Класс реализующий данный шаблон проектирования является абстрактным суперклассом, в котором инкапсулирована общая логика связанных классов. Связанные классы расширяют абстрактный класс по средством наследования. Методы с общей логикой и одинаковыми сигнатурами для всех связанных классов, помещаются в суперкласс, Методы с одинаковой сигнатурой, но зависящей от конкретной реализации подкласса, выносятся как абстрактные методы в суперкласс.</p><p style="text-align: center"><a href="http://juravskiy.ru/wp-content/uploads/2010/02/abstractsupperclassumldiagramm.jpg.png" rel="lightbox"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="abstract supperclass uml diagramm.jpg" border="0" alt="abstract supperclass uml diagramm.jpg" src="http://juravskiy.ru/wp-content/uploads/2010/02/abstractsupperclassumldiagramm.jpg_thumb.png" width="162" height="117" /></a></p><p align="justify">Данный шаблон проектирования уменьшает количество кода в подклассах, но при этом вносит зависимости между суперклассом и подклассами, при этом вносимые изменения в суперкласс могут внести нежелательные последствия в отдельных подклассах.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=677</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Домашняя локальная сеть. Настройка ASUS WL-520GU</title><link>http://juravskiy.ru/?p=913</link> <comments>http://juravskiy.ru/?p=913#comments</comments> <pubDate>Sun, 07 Mar 2010 16:46:24 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Администрирование]]></category> <category><![CDATA[Новости]]></category> <category><![CDATA[asus]]></category> <category><![CDATA[wi-fi]]></category> <category><![CDATA[маршрутизатор]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=913</guid> <description><![CDATA[На моем нетбуке wi-fi карта, учитывая то, как в Белгороде “стремительно” развивается данная технология в&#160; общественных&#160; местах, можно сказать, что наличие данного устройства в составе нетбука совершенно бесполезно и не так часто используется как хотелось бы, но никто не мешает у себя дома развернуть wi-fi сеть и пользоваться беспроводной технологией из любого уголка квартиры (дома), [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="wi-fi" border="0" alt="wi-fi" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/03/wifi.jpg" width="100" height="100" />На моем нетбуке wi-fi карта, учитывая то, как в Белгороде “стремительно” развивается данная технология в&#160; общественных&#160; местах, можно сказать, что наличие данного устройства в составе нетбука совершенно бесполезно и не так часто используется как хотелось бы, но никто не мешает у себя дома развернуть wi-fi сеть и пользоваться беспроводной технологией из любого уголка квартиры (дома), если канал Интернет позволяет <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> то можно даже Интернет трафик соседям продавать.</p><p align="justify">Приобрел я с месяц назад маршрутизатор ASUS WL-520GU.</p><p> <span id="more-913"></span><p align="justify">Довольно удобное устройство, раньше у меня был свитч и точка доступа как два отдельных устройства, а тут те же функциональные возможности и все в одном устройстве + usb порт под принтер, который работает как сетевой. Маршрутизатор поддерживает VPN, ADSL и др. протоколы, так что он автоматически подключается по VPN к моему провайдеру для доступа в Интернет.</p><p style="text-align: center"><a href="http://juravskiy.ru/wp-content/uploads/2010/03/ASUSWL520GU.jpg" rel="lightbox"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ASUS WL-520GU" border="0" alt="ASUS WL-520GU" src="http://juravskiy.ru/wp-content/uploads/2010/03/ASUSWL520GU_thumb.jpg" width="150" height="131" /></a></p><p align="justify">Сразу скажу настроить ОС Windows 7 для печати на HP LaserJet 1020 не удалось, перепробовал все – прошивки, программы, …. Но читал что через cups в linux все работает без проблем. Маршрутизатор в администраторской панели определяет принтер правильно, а вот соединение на порт 9001 не получается установить.</p><p align="justify">Также опробовал самодельную прошивку, от olega. Парень расширил функциональные возможности устройства, понравилась возможность подключения к usb порту маршрутизатора flash диска или карты, и доступ к нему по сети по протоколу samba или ftp, прям как сетевое хранилище данных получается.</p><p align="justify">В основном я доволен приобретенным устройством, в состав сети входят 1 ПК, подключаемый по витой паре, и 2 устройства по wi-fi, в зависимости от количества гостей, количество беспроводных устройств варьируется, т.к. знакомые теперь часто приходят с ноутбуками <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p align="justify">В планах на лето проверить дальность wi-fi от дома, я думаю это будет где-то радиус до 100 метров от дома – т.е. сидеть на лавочке с нетбуком и щелкать семечки получиться <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p align="justify">Также я думаю такая домашняя сеть будет хорошем решением для загородного дома, что и планирую внедрить у себя.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=913</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Gateway (Шлюз)</title><link>http://juravskiy.ru/?p=650</link> <comments>http://juravskiy.ru/?p=650#comments</comments> <pubDate>Sun, 07 Mar 2010 08:00:03 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Базовые шаблоны (Base)]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[design patterns]]></category> <category><![CDATA[gateway]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=650</guid> <description><![CDATA[Данный шаблон проектирования инкапсулирует в себе бизнес логику доступа к внешней системе, это может быть ресурс, база данных или API сложной библиотеки. Доступ к ресурсу или API происходит через данный шаблон, т.е. он является оберткой, через которую происходит взаимодействие.&#160; С данным шаблоном&#160; проще совершать переходы, например от одной версии ресурса к другой, или с одной [...]]]></description> <content:encoded><![CDATA[<p align="justify">Данный шаблон проектирования инкапсулирует в себе бизнес логику доступа к внешней системе, это может быть ресурс, база данных или API сложной библиотеки.</p><p style="text-align:center;"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/gatewaydesignpattern.jpg" rel="lightbox"><img style="border-right-width: 0px; margin: 0px auto 5px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="gateway design pattern" border="0" alt="gateway design pattern" src="http://juravskiy.ru/wp-content/uploads/2010/01/gatewaydesignpattern_thumb.jpg" width="240" height="122" /></a></p><p align="justify"> Доступ к ресурсу или API происходит через данный шаблон, т.е. он является оберткой, через которую происходит взаимодействие.&#160; С данным шаблоном&#160; проще совершать переходы, например от одной версии ресурса к другой, или с одной реализации API&#160; к другой. Все изменения будут производиться в Шлюзе, и переход затронет малое изменение кода приложения.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=650</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Interface (Интерфейс)</title><link>http://juravskiy.ru/?p=647</link> <comments>http://juravskiy.ru/?p=647#comments</comments> <pubDate>Sun, 28 Feb 2010 05:00:01 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Основные шаблоны (Fundamental)]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[design patterns]]></category> <category><![CDATA[interface]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=647</guid> <description><![CDATA[Классы предоставляют данные и сервисы клиентским классам, и чтобы клиентские классы не зависели от конкретных реализаций, необходимо заменять их другим классом, который бы минимально влиял на клиентский класс – т.е. клиентские классы получают доступ к данным и сервисам через некоторый интерфейс. Реализация шаблона в Java не сложная создаем интерфейс для предоставления сервиса, описываем его методы, [...]]]></description> <content:encoded><![CDATA[<p align="justify">Классы предоставляют данные и сервисы клиентским классам, и чтобы клиентские классы не зависели от конкретных реализаций, необходимо заменять их другим классом, который бы минимально влиял на клиентский класс – т.е. клиентские классы получают доступ к данным и сервисам через некоторый интерфейс.</p><p style="text-align:center;"> <a href="http://juravskiy.ru/wp-content/uploads/2010/01/interfacedesignpatternuml.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px auto 5px; display: block; float: none; border-top: 0px; border-right: 0px" title="interface design pattern uml" border="0" alt="interface design pattern uml" src="http://juravskiy.ru/wp-content/uploads/2010/01/interfacedesignpatternuml_thumb.jpg" width="240" height="98" /></a></p><p align="justify"> Реализация шаблона в Java не сложная создаем интерфейс для предоставления сервиса, описываем его методы, создаем клиентские классы, которые будут использовать предоставляемый сервис, а также создаем реализацию сервиса, или другими словами реализацию интерфейса.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=647</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Delegation (Делегирование)</title><link>http://juravskiy.ru/?p=646</link> <comments>http://juravskiy.ru/?p=646#comments</comments> <pubDate>Sun, 21 Feb 2010 05:00:07 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Основные шаблоны (Fundamental)]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[delegation]]></category> <category><![CDATA[design patterns]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=646</guid> <description><![CDATA[Наследование – это способ расширения класса, за счет наследования от родительского класса. Наследование статично и часто является неудачным решением. Делегирование – более универсальный способ расширения класса, хотя менее удобный, и применяется там, где наследование не решает задачу, например динамическое наследование. Пример множественного наследования. При использовании делегирования, класс не наследует методы класса, а вызывает их. Множественное [...]]]></description> <content:encoded><![CDATA[<p align="justify">Наследование – это способ расширения класса, за счет наследования от родительского класса. Наследование статично и часто является неудачным решением. Делегирование – более универсальный способ расширения класса, хотя менее удобный, и применяется там, где наследование не решает задачу, например динамическое наследование.</p><p align="center"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/delegateclassperson.jpg" rel="lightbox"><img style="border-right-width: 0px; margin: 0px auto 5px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="delegate class person" border="0" alt="delegate class person" src="http://juravskiy.ru/wp-content/uploads/2010/01/delegateclassperson_thumb.jpg" width="138" height="83" /></a>Пример множественного наследования.</p><p align="justify">При использовании делегирования, класс не наследует методы класса, а вызывает их. Множественное наследование, если оно необходимо, также возможно реализовать с помощью делегирования. Например, человек может быть студентом и при этом быть пассажиром транспорта, и быть водителем. Класс Person делегирует ответственность по выполнению роли некоторому классу, который специально предназначен для выполнения данной роли.</p><p align="center"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/delegatedesignpatternuml1.jpg" rel="lightbox"><img style="border-right-width: 0px; margin: 0px auto 5px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="delegate design pattern uml" border="0" alt="delegate design pattern uml" src="http://juravskiy.ru/wp-content/uploads/2010/01/delegatedesignpatternuml_thumb1.jpg" width="304" height="105" /></a> Пример делегирования.</p><p align="justify">В случае делегирования класс имеет набор объектов, исполняющих определенные роли.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=646</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Бесплатный и качественный SVN хостинг</title><link>http://juravskiy.ru/?p=905</link> <comments>http://juravskiy.ru/?p=905#comments</comments> <pubDate>Sat, 20 Feb 2010 16:58:01 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Администрирование]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[free svn]]></category> <category><![CDATA[hosting]]></category> <category><![CDATA[unfuddle]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=905</guid> <description><![CDATA[У меня есть ряд проектов, доступ к которым должен быть из разных мест, например рабочий ПК, домашний ПК, ноутбук. Носить на флеш картах исходные коды, и потом синхронизироваться, не вариант, не удобно и т.п.. Идеальное решение SVN или Git. Рассматривая различные SVN хостинги, я остановился на unfuddle.com как раз для моих нужд прекрасно подходит. Пространство [...]]]></description> <content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="u" border="0" alt="u" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/02/u.jpg" width="100" height="100" /><p align="justify">У меня есть ряд проектов, доступ к которым должен быть из разных мест, например рабочий ПК, домашний ПК, ноутбук. Носить на флеш картах исходные коды, и потом синхронизироваться, не вариант, не удобно и т.п.. Идеальное решение SVN или Git. Рассматривая различные SVN хостинги, я остановился на <a href="http://unfuddle.com" rel="nofollow" target="_blank">unfuddle.com</a> как раз для моих нужд прекрасно подходит. Пространство под файлы 200 Mb, один активный проект, два пользователя. Естественно все приватно и запаролено, и доступно только для меня.</p><p align="justify">Если вам необходима командная разработка на бесплатном хостинге, посоветую <a href="http://xp-dev.com" rel="nofollow" target="_blank">xp-dev.com</a> если проект закрытый, и <a href="http://code.google.com" rel="nofollow" target="_blank">code.google.com</a> если проект open source.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=905</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Первый шаг к работе с Adobe Flash технологией</title><link>http://juravskiy.ru/?p=902</link> <comments>http://juravskiy.ru/?p=902#comments</comments> <pubDate>Sat, 20 Feb 2010 14:00:34 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Flash]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[action script]]></category> <category><![CDATA[adobe flash cs4]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=902</guid> <description><![CDATA[Набор технологий с которыми я работаю не стоит на месте, в силу жизненных обстоятельств хочу разобраться с технологией Flash. Да да это то с помощью чего делаю тяжеловесные рекламные баннеры, и кросс-браузерные проигрыватели видео, игры, и многое другое. Самый главный вопрос который меня беспокоил - какое инструментальное средство используются профессионалами для создания flash приложений? Посетив [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="flash_cs4_48x45" border="0" alt="flash_cs4_48x45" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/02/flash_cs4_48x45.gif" width="48" height="45" /> Набор технологий с которыми я работаю не стоит на месте, в силу жизненных обстоятельств хочу разобраться с технологией Flash. Да да это то с помощью чего делаю тяжеловесные рекламные баннеры, и кросс-браузерные проигрыватели видео, игры, и многое другое.</p><p align="justify">Самый главный вопрос который меня беспокоил - какое инструментальное средство используются профессионалами для создания flash приложений? Посетив ряд сайтов разработчиков, стало более менее ясно, что используют в основном Adobe Flash CS4 Professional, к весне планируется выход CS5 продуктов от компании Adobe, в том числе и Photoshop, который я так думаю тоже используется при создании Flash приложений.</p><p align="justify">Также для профессиональной работы важно знание Action Script, текущая версия 3.0.</p><p align="justify">Нуждаюсь в советах профессионалов.</p><p><strong>А какой инструментарий вы используете для работы с Flash?</strong></p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=902</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Заметка о просмотре видео в HD на youtube</title><link>http://juravskiy.ru/?p=893</link> <comments>http://juravskiy.ru/?p=893#comments</comments> <pubDate>Mon, 15 Feb 2010 13:15:38 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[HD video]]></category> <category><![CDATA[youtube]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=893</guid> <description><![CDATA[Совсем недавно узнал о хитрости, если к ссылке добавить &#38;fmt=18, то видеоплеер будет отображаться на всю ширину страницы в HD формате. Естественно можно нажать кнопку Watch in HD, но если вы “постите” ссылку, то можно добавить данный параметр для удобства просмотра. К примеру: Есть ссылка: http://www.youtube.com/watch?v=aVdO-cx-McA Добавляем &#38;fmt=18 Получается: http://www.youtube.com/watch?v=aVdO-cx-McA&#38;fmt=18 Наслаждаемся HD]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="youtube logo" border="0" alt="youtube logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/02/youtubelogo.jpg" width="100" height="66" /> Совсем недавно узнал о хитрости, если к ссылке добавить &amp;fmt=18, то видеоплеер будет отображаться на всю ширину страницы в HD формате. Естественно можно нажать кнопку Watch in HD, но если вы “постите” ссылку, то можно добавить данный параметр для удобства просмотра.</p><p align="justify">К примеру:</p><ol><li>Есть ссылка: http://www.youtube.com/watch?v=aVdO-cx-McA</li><li>Добавляем &amp;fmt=18</li><li>Получается: http://www.youtube.com/watch?v=aVdO-cx-McA&amp;fmt=18</li><li>Наслаждаемся HD <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></li></ol> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=893</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Шаблоны проектирования приложений</title><link>http://juravskiy.ru/?p=642</link> <comments>http://juravskiy.ru/?p=642#comments</comments> <pubDate>Sat, 13 Feb 2010 08:00:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Новости]]></category> <category><![CDATA[Шаблоны проектирования]]></category> <category><![CDATA[design patterns]]></category> <category><![CDATA[gof]]></category> <category><![CDATA[шаблоны]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=642</guid> <description><![CDATA[На протяжении нескольких месяцев, я планирую заняться тщательным изучением шаблонов проектирования (“паттернов” – patterns). Я собираюсь преследовать цель изучения шаблонов, подкрепленными по возможности UML диаграммами. Примеры для конкретных языков приводить не буду, так как шаблоны применимы для всех объектно-ориентированных языков. Источники которые я буду использовать: официальный сайт Мартина Фаулера (martinfowler.com) трехтомник работ по шаблонам в [...]]]></description> <content:encoded><![CDATA[<p align="justify">На протяжении нескольких месяцев, я планирую заняться тщательным изучением шаблонов проектирования (“паттернов” – patterns). Я собираюсь преследовать цель изучения шаблонов, подкрепленными по возможности UML диаграммами. Примеры для конкретных языков приводить не буду, так как шаблоны применимы для всех объектно-ориентированных языков.</p><p>Источники которые я буду использовать:</p><ul><li>официальный сайт Мартина Фаулера (martinfowler.com)</li><li>трехтомник работ по шаблонам в Java, Марка Гранда (Mark Grand)</li></ul><p align="justify">Также, я думаю главным результатом моего изучения будет – понимание и опыт в применении шаблонов проектирования, благодаря знаниям шаблонов, я смогу решать более эффективно поставленные задачи в повседневной работе, а также более эффективно проектировать создаваемые приложения.</p><p align="justify">В результате изучения материала по шаблонам, я думаю должен получиться русскоязычный online справочник по наиболее распространенным шаблонам проектирования.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=642</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>В адресной строке Firefox поиск от Google</title><link>http://juravskiy.ru/?p=862</link> <comments>http://juravskiy.ru/?p=862#comments</comments> <pubDate>Sun, 07 Feb 2010 10:22:09 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[web search]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=862</guid> <description><![CDATA[Русская версия FF плоха тем, что при установке новой версии, поиск по умолчанию в адресной строке от Yandex. Не для кого не секрет, что Яндекс плохо ищет по англоязычным ресурсам, но речь пойдет не об этом. Приятно когда ты набираешь в строке ввода адреса сайта, поисковую фразу, и открывается Google с найденными результатами . Для [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="firefox logo" border="0" alt="firefox logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/02/firefoxlogo.png" width="100" height="99" /> Русская версия FF плоха тем, что при установке новой версии, поиск по умолчанию в адресной строке от Yandex. Не для кого не секрет, что Яндекс плохо ищет по англоязычным ресурсам, но речь пойдет не об этом.</p><p align="justify">Приятно когда ты набираешь в строке ввода адреса сайта, поисковую фразу, и открывается Google с найденными результатами <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Для настройки Firefox следуем инструкции:</p><p> <span id="more-862"></span><ol><li>Набираем в адресной строке браузера about:config</li><li>Соглашаемся с тем, что будем осторожны.</li><li>В поле Фильтр вводи слово keyword</li><li>Список параметров уменьшится, нас интересует keyword.URL, его мы отредактируем с http://yandex… на следующую строку:<br /><blockquote><p>http://google.com/search?q=</p></blockquote><p> Все готово можно пользоваться, для гарантии можно перезапустить Firefox.</li></ol> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=862</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>Конфигурация PropertyPlaceholder</title><link>http://juravskiy.ru/?p=726</link> <comments>http://juravskiy.ru/?p=726#comments</comments> <pubDate>Thu, 04 Feb 2010 20:34:10 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Spring]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[propertyplaceholder]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=726</guid> <description><![CDATA[Давно не работал со Spring в силу обстоятельств, на днях переводил один из моих старых проектов, на работу совместно со Spring, приложение будет маштабироваться, а Spring framework отлично позволяет это делать. Миграцию старого кода начал с загрузки файлов конфигураций, и создания и управления сессиями к СУБД, о которых я расскажу немного позже. В Java приложениях, [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="spring logo" border="0" alt="spring logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/02/springlogo.png" width="99" height="98" /> Давно не работал со Spring в силу обстоятельств, на днях переводил один из моих старых проектов, на работу совместно со Spring, приложение будет маштабироваться, а Spring framework отлично позволяет это делать. Миграцию старого кода начал с загрузки файлов конфигураций, и создания и управления сессиями к СУБД, о которых я расскажу немного позже. В Java приложениях, использующих Spring framework удобно использовать для загрузки конфигурации программы из файла настроек bean PropertyPlaceholder.</p><p> <span id="more-726"></span><p align="justify">Если местоположение конфигурационного файла однозначно определенно, то можно воспользоваться следующим описанием:</p><pre class="brush:xml">&lt;context:property-placeholder location=&quot;classpath:config.properties&quot;/&gt;</pre><p align="justify">В случае же когда файлов конфигурации несколько, или например файл один, но необходимо указать несколько возможных вариантов путей поиска файла, то можно воспользоваться бином PropertyPlaceholderConfigurer, который позволяет задать множество местоположений поиска, а также дополнительные полезные свойства:</p><pre class="brush:xml">&lt;bean
class=&quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&quot;&gt;
    &lt;property name=&quot;ignoreUnresolvablePlaceholders&quot;
        value=&quot;true&quot;/&gt;
    &lt;property name=&quot;ignoreResourceNotFound&quot;
        value=&quot;true&quot;/&gt;
    &lt;property name=&quot;locations&quot;&gt;
        &lt;list&gt;
            &lt;value&gt;classpath:config.properties&lt;/value&gt;
            &lt;value&gt;/WEB-INF/config.properties&lt;/value&gt;
        &lt;/list&gt;
    &lt;/property&gt;
&lt;/bean&gt;</pre><p align="justify">Properties файлы удобно использовать например для хранения параметров подключения к СУБД, или других аналогичных параметров, а также значения, которые влияют на режим работы программы.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=726</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Простая экспертная система на Java</title><link>http://juravskiy.ru/?p=719</link> <comments>http://juravskiy.ru/?p=719#comments</comments> <pubDate>Tue, 02 Feb 2010 13:06:41 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[экспертная система]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=719</guid> <description><![CDATA[В прошлой моем примере на тему экспертных систем, я рассказывал о созданной “ЭС поиска неисправностей ПК”. ЭС была выполнена с использованиям языка Prolog и C++. В данном примере я расскажу, как этаже ЭС с тем же набором правил в базе знаний, была реализована на языке Java. База знаний представлена рекурсивной структурой данных типа бинарное дерево [...]]]></description> <content:encoded><![CDATA[<p align="justify">В прошлой моем примере на тему экспертных систем, я рассказывал о созданной <a href="http://juravskiy.ru/?p=128" target="_blank">“ЭС поиска неисправностей ПК”</a>. ЭС была выполнена с использованиям языка Prolog и C++. В данном примере я расскажу, как этаже ЭС с тем же набором правил в базе знаний, была реализована на языке Java.</p><p><span id="more-719"></span><p align="justify">База знаний представлена рекурсивной структурой данных типа бинарное дерево (binary tree). Для реализации более сложных правил можно использовать N-арное дерево, в узлах которых не только хранить правила, но и например какие-нибудь коэффициенты, или статистику. Приведу класс BinaryTree:</p><pre class="brush:java">public class BinaryTree {
    private BinaryTree parent;
    private BinaryTree yes;
    private BinaryTree no;
    private String question;
    private String answer;

    private boolean isEnd;

    public BinaryTree(BinaryTree parent) {
        this.parent = parent;
    }

    public BinaryTree setQuestion(String question) {
        this.question = question;
        return this;
    }

    public String getQuestion() {
        return question;
    }

    public BinaryTree getParent() {
        return parent;
    }

    public BinaryTree setAnswer(String answer) {
        this.answer = answer;
        setEnd();
        return this;
    }

    public String getAnswer() {
        return answer;
    }

    public BinaryTree getYes() {
        if (isEnd) return null;
        if (yes == null) {
            yes = new BinaryTree(this);
        }
        return yes;
    }

    public BinaryTree getNo() {
        if (isEnd) return null;
        if (no == null) {
            no = new BinaryTree(this);
        }
        return no;
    }

    public boolean isEnd() {
        return isEnd;
    }

    private void setEnd() {
        this.isEnd = true;
    }

    public void setNo(BinaryTree no) {
        this.no = no;
    }

    public void setYes(BinaryTree yes) {
        this.yes = yes;
    }

}</pre><p align="justify">Ядро экспертной системы, находиться в классе ExpertSysyem, в которой реализована рекурсивная функция обхода бинарного дерева:</p><pre class="brush:java;">public static void start(BinaryTree db)
                    throws IOException {
    if(db.isEnd()) {
        System.out.println(db.getAnswer());
        System.out.println(&quot;Объяснить почему ЭС пришла к такому выводу?&quot;);
        if(readBoolean()) {
            stack.clear();
            why(db);
            for (String el : stack) {
                System.out.println(el);
            }
        }
	return;
    }

    System.out.println(db.getQuestion());
    if(readBoolean()) start(db.getYes());
    else start(db.getNo());
}</pre><p align="justify">Данный метод производит проход в глубину, и идет от корневого узла, до конечного листа. В узлах находатся вопросы, метод выводит вопрос и в зависимости от ответа пользователя производиться переход к следующему узлу, и так происходит до тех пор, пока не дойдет до листа, в котором хранится вывод. Также существует метод why (почему) это обратный рекрсивный метод, который идет от узла или листа, к корню дерева, и выводит на экран то, как ЭС, работала с пользователем. База знаний статическая, времени на реализацию денмаческой БД не было, но при желании вы можете добавить класс отвчеающий за загрузку/выгрузку ЭС, и добавление новых правил и выводов в ее структуру. База зананй представленна следующим образом:</p><pre class="brush:java;">BinaryTree db = new  BinaryTree(null);
db.setQuestion(&quot;Работает ПК?&quot;);
db.getYes().setAnswer(&quot;Вам не нужны услуги экспертной системы&quot;);
db.getNo().setQuestion(&quot;ПК включается?&quot;);
db.getNo().getNo().setQuestion(&quot;Свет есть?&quot;);
db.getNo().getNo().getYes().setAnswer(&quot;Поломался блок питания&quot;);
db.getNo().getNo().getNo().setAnswer(&quot;Включите свет&quot;);
db.getNo().getYes().setQuestion(&quot;Изображение есть на мониторе?&quot;);
db.getNo().getYes().getNo().setQuestion(&quot;Монитор подключен к сети?&quot;);
db.getNo().getYes().getNo().getNo().setAnswer(&quot;Подключите монитор&quot;);
db.getNo().getYes().getNo().getYes()
    .setQuestion(&quot;Индикатор горит на мониторе&quot;);
db.getNo().getYes().getNo().getYes().getNo()
    .setAnswer(&quot;Не работает монитор&quot;);
db.getNo().getYes().getNo().getYes().getYes()
    .setAnswer(&quot;Не работает видеокарта&quot;);
db.getNo().getYes().getYes().setQuestion(&quot;Писк есть?&quot;);
db.getNo().getYes().getYes().getYes()
    .setAnswer(&quot;Используйте руководство по пискам BIOS&quot;);
db.getNo().getYes().getYes().getNo().setQuestion(&quot;Загружаеться ОС?&quot;);
db.getNo().getYes().getYes().getNo().getNo()
    .setQuestion(&quot;Есть сообщения об ошибках?&quot;);
db.getNo().getYes().getYes().getNo().getNo().getYes()
    .setAnswer(&quot;Следуйте сообщениям об ошибках&quot;);
db.getNo().getYes().getYes().getNo().getNo().getNo()
    .setAnswer(&quot;Не знаю&quot;);
db.getNo().getYes().getYes().getNo().getYes()
    .setQuestion(&quot;При входе в ОС есть звук?&quot;);
db.getNo().getYes().getYes().getNo().getYes().getYes()
    .setQuestion(&quot;Система загрузилась без ошибок&quot;);
db.getNo().getYes().getYes().getNo().getYes().getYes().getYes()
    .setAnswer(&quot;Следуйте рекомендациям ОС&quot;);
db.getNo().getYes().getYes().getNo().getYes().getYes().getNo()
    .setAnswer(&quot;Приятной работы&quot;);
db.getNo().getYes().getYes().getNo().getYes().getNo()
    .setQuestion(&quot;У вас есть звуковая карта?&quot;);
db.getNo().getYes().getYes().getNo().getYes().getNo().getYes()
    .setAnswer(&quot;Не работает звуковая карта&quot;);
db.getNo().getYes().getYes().getNo().getYes().getNo()
    .setNo(db.getNo().getYes().getYes().getNo().getYes().getYes());</pre><p align="justify">Прилогаю к примеру исходный код проекта (Eclipse проект), где вы можете рассмотреть все подробней, и собраный jar архив, который можно запустить при наличии jvm.<br /> <a class="downloadlink" href="http://juravskiy.ru/wp-content/plugins/download-monitor/download.php?id=10" title=" downloaded 96 times" >Исходный коды ЭС поиска неисправностей ПК (java) (96)</a><br /> <a class="downloadlink" href="http://juravskiy.ru/wp-content/plugins/download-monitor/download.php?id=11" title=" downloaded 102 times" >Скомпилированный пример ЭС (jar файл) (102)</a></p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=719</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Защита WordPress от trackback спама</title><link>http://juravskiy.ru/?p=718</link> <comments>http://juravskiy.ru/?p=718#comments</comments> <pubDate>Sun, 31 Jan 2010 07:02:47 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[spam]]></category> <category><![CDATA[trackback spam]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=718</guid> <description><![CDATA[Captcha безусловно спасает от спама, и она стоит у меня на форме комментария, которая еще дополнительно скрыта системой комментирования Disqus, кстати всем советую. Появилась где-то 6 месяцев назад новая напасть, спам в обратных ссылках (trackback), который может приходить 2-3 раза в день, как распознать его в сообщении текст из одного слова “Хм…” или “…” и [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="wordpress_logo" border="0" alt="wordpress_logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/wordpress_logo.png" width="100" height="100" /> Captcha безусловно спасает от спама, и она стоит у меня на форме комментария, которая еще дополнительно скрыта системой комментирования Disqus, кстати всем советую.</p><p align="justify">Появилась где-то 6 месяцев назад новая напасть, спам в обратных ссылках (trackback), который может приходить 2-3 раза в день, как распознать его в сообщении текст из одного слова “Хм…” или “…” и ниже куча ссылок, просто тьма.</p><p align="justify">Господа найден способ борьбы с этим видом спама.</p><p> <span id="more-718"></span><p align="justify">На днях решил взяться за это дело, благо нашел на блоге Perlover`а замечательный пост на эту тему <a href="http://blog.perlover.com/2009/11/30/about-trackback-spam/" rel="friend pingback" target="_blank">“О TrackBack спаме”</a>, очень помог его совет с использованием плагина для WordPress <a href="http://wordpress.org/extend/plugins/simple-trackback-validation/" rel="nofollow" target="_blank">Simple Trackback Validation</a> очень помог, теперь сплю спокойно.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=718</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Простой пример программы для AVR</title><link>http://juravskiy.ru/?p=713</link> <comments>http://juravskiy.ru/?p=713#comments</comments> <pubDate>Sun, 31 Jan 2010 07:00:43 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[C,C++]]></category> <category><![CDATA[Микроконтроллеры]]></category> <category><![CDATA[Электроника]]></category> <category><![CDATA[atmega8]]></category> <category><![CDATA[atstk500]]></category> <category><![CDATA[avr]]></category> <category><![CDATA[avrstudio]]></category> <category><![CDATA[winavr]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=713</guid> <description><![CDATA[Постепенно изучаю работы микроконтроллера ATMega 8, а также изучаю примеры для 8 битных AVR микроконтроллеров, теорию подкрепляю практикой. Пока что простые примеры - ввод/вывод, задержки. Публикую простую программу, которую нашел в книге иностранного автора, алгоритм простой, пробежать по все портам вывода и подать логическую единицу, на моем stk 500 получается что-то похожее на гирлянду типа [...]]]></description> <content:encoded><![CDATA[<p align="justify"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/mega8.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="mega8" border="0" alt="mega8" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/mega8_thumb.jpg" width="96" height="96" /></a> Постепенно изучаю работы микроконтроллера ATMega 8, а также изучаю примеры для 8 битных AVR микроконтроллеров, теорию подкрепляю практикой. Пока что простые примеры - ввод/вывод, задержки. Публикую простую программу, которую нашел в книге иностранного автора, алгоритм простой, пробежать по все портам вывода и подать логическую единицу, на моем stk 500 получается что-то похожее на гирлянду типа “бегущий огонь”.</p><p> <span id="more-713"></span><p align="justify"> К портам B подключаем светодиоды, подаем питание на программатор, прошиваем программой</p><pre class="brush:java">#define F_CPU 8000000

#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

int main(void) {
    DDRB = 0xFF;
    while(1) {
        for(int i=1;i&lt;=128;i*=2) {
            PORTB=~i;
            _delay_loop_2(300000);
        }
    }
}</pre><p align="justify">Для работы я использую AVRStudio с установленным плагином WinAVR (AVR GCC), который позволяет писать программы на Си, вместо ассемблера.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=713</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Драйвера функциональных клавиш для Samsung NC10 в Windows 7</title><link>http://juravskiy.ru/?p=699</link> <comments>http://juravskiy.ru/?p=699#comments</comments> <pubDate>Fri, 29 Jan 2010 19:34:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Администрирование]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[netbook]]></category> <category><![CDATA[samsung nc10]]></category> <category><![CDATA[windows]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=699</guid> <description><![CDATA[Приобрел я Samsung NC 10 еще год назад, когда он вышел, он был пионером нетбуков, который держал зарядку 8 часов, что действительно подтверждалось на практике, если понизить яркость экрана до минимума, отключить звук, сетевую карту, Wi-Fi карту, но зато 8 часов это было круто, для того времени, да и сейчас неплохо. Радует то, что спустя [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="samsung" border="0" alt="samsung" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/samsung.jpg" width="87" height="87" /> Приобрел я Samsung NC 10 еще год назад, когда он вышел, он был пионером нетбуков, который держал зарядку 8 часов, что действительно подтверждалось на практике, если понизить яркость экрана до минимума, отключить звук, сетевую карту, Wi-Fi карту, но зато 8 часов это было круто, для того времени, да и сейчас неплохо. Радует то, что спустя год данная серия нетбуков выпускается и уже с комплектацией Wi-Max картами. Вообще хороший, качественный продукт на рынке нетбуков, с оптимальным параметром цена/качество.</p><p> <span id="more-699"></span><p align="justify">Год назад ноутбук поставлялся с лицензионной Windows XP SP3, прошел год Windows 7 вышла в официальный релиз, настало время ее установить на Samsung NC10, что я и сделал на днях. До этого на нем был еще и Ubuntu, на который не было драйверов для управления яркостью монитора, и другими функциональными клавишами.</p><p style="text-align: center"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/samsung_nc10_51.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="samsung_nc10_5" border="0" alt="samsung_nc10_5" src="http://juravskiy.ru/wp-content/uploads/2010/01/samsung_nc10_5_thumb1.jpg" width="113" height="113" /></a></p><p align="justify">Так вот компания Samsung предоставила ПО для nc 10 под операционную систему Windows 7, которое можно скачать на странице <a href="http://www.samsung.com/download/Model_Select.aspx?type=Computer&amp;typecode=11&amp;subtype=Notebook&amp;subtypecode=1102&amp;model=NP-NC10&amp;filetype=SW&amp;language=" rel="nofollow" target="_blank">Samsung`s digital world – Support</a>.</p><p>Для регулировки ярости экрана, и управления функциональными клавишами я установил программу <a href="http://www.samsung.com/FileView.aspx?cttfileid=2477429&amp;type=Computer&amp;typecode=11&amp;subtype=Notebook&amp;subtypecode=1102&amp;model=NP-NC10&amp;filetype=SW&amp;language=" rel="nofollow" target="_blank">NP-NC10 Easy Display Manager (ver.3.0.3.5)</a></p><p>Для работы с батарей питания <a href="http://www.samsung.com/FileView.aspx?cttfileid=2477428&amp;type=Computer&amp;typecode=11&amp;subtype=Notebook&amp;subtypecode=1102&amp;model=NP-NC10&amp;filetype=SW&amp;language=" rel="nofollow" target="_blank">NP-NC10 Easy Battery Manager (ver.4.0.0.2)</a></p><p>Также есть и другое программное обеспечение, но я в его функционале не нуждаюсь.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=699</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Установка Windows 7 с USB flash</title><link>http://juravskiy.ru/?p=681</link> <comments>http://juravskiy.ru/?p=681#comments</comments> <pubDate>Thu, 28 Jan 2010 10:03:27 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Администрирование]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[boot]]></category> <category><![CDATA[diskpart]]></category> <category><![CDATA[usb flash]]></category> <category><![CDATA[windows]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=681</guid> <description><![CDATA[Описанная ранее программа Unetbootin подходит только для nix образов операционных систем (Ubuntu, Fedora и т.д.). В нашем случае мы будем записывать образ операционной системы от microsoft и для этого нам необходимо иметь также установленный Windows. Использовать для подготовки флешки к записи будем утилиту diskpart, которая может осуществлять такие операции с дисками как разбиение диска на [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Windows 7 logo" border="0" alt="Windows 7 logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/Windows7logo.jpg" width="78" height="88" /> Описанная ранее <a href="http://juravskiy.ru/?p=394" target="_blank">программа Unetbootin</a> подходит только для nix образов операционных систем (Ubuntu, Fedora и т.д.). В нашем случае мы будем записывать образ операционной системы от microsoft и для этого нам необходимо иметь также установленный Windows. Использовать для подготовки флешки к записи будем утилиту diskpart, которая может осуществлять такие операции с дисками как разбиение диска на разделы, форматирование, установка активного раздела, и мн. др.</p></p><p> <span id="more-681"></span></p><ol><li>Для начала запустим командную строку Windows сочетание клавиш Windows (клавиша с логотипом окон возле Alt) + R вписываем <em><strong>cmd</strong></em>.</li><li>Открывается консоль вводим <em><strong>diskpart</strong></em></li><li>Вписываем команду<em> <strong>list disk</strong></em>, жмем Enter, в окне отобразиться таблица дисков, подключенных к компьютеру, ищем usb накопитель, я свой определи по размеру (7920 MB), и он был под номером 2.</li><li>Далее набираем команду выбора диска <em><strong>select disk 2</strong></em> (2 - это номер диска моей флешки, вы вписываете свой).</li><li>Очищаем диск, команда <em><strong>clean</strong></em>.</li><li>Делаем диск основным, команда: <em><strong>create partition primary</strong></em>.</li><li>Выбираем первый раздел, командой<strong> <em>select partition 1</em></strong></li><li>Делаем выбранный раздел активным, команда: <em><strong>active</strong></em></li><li>Производим форматирование, обычное команда:<strong> <em>format fs=fat32</em></strong> для быстрого форматирования пишем: <strong><em>format fs=fat32 quick</em> </strong></li><li>&#160; Работа с disckpart заврешена, набираем <em><strong>exit</strong></em> или Ctrl + C.</li></ol><p>Теперь смонтируем образ диска на виртуальный привод, или вставим диск в CD-ROM.</p><p align="justify">Буква CD-ROM F, а буква USB flash G:, скопируем файлы командой <em><strong>xcopy F:*.* /s/e/f G:</strong></em> (буквы F и G заменяете на свои). Начнется процесс копирования файлов с диска на флешку, скорость это процесса зависит от технических характеристик вашей флешки, я копировал где-то 10 минут.</p><p align="justify">Файлы скопированы, теперь необходимо сделать флешку загрузочной, а именно пере затереть ее загрузочный сектор. Делаем следующее:</p><ol><li>Переходим в CD-ROM, команда <em><strong>cd F:</strong></em></li><li>Переходим в каталог boot, команда <em><strong>cd boot</strong></em></li><li>Выполняем команду, <em><strong>bootsect.exe /nt60 G:</strong></em> (G – буква вашей флеш карты)<p>Перезагружаем компьютер.</p></li></ol><p align="justify">В BIOS выставляем в загрузку первой устройство USB, у меня он отображался как Kingston Data Travel 2.0. Выходим из BIOS с сохранением изменений.</p><p>Процесс установки начнется незамедлительно.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=681</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Adobe Reader запоминает прочитанное</title><link>http://juravskiy.ru/?p=664</link> <comments>http://juravskiy.ru/?p=664#comments</comments> <pubDate>Sun, 24 Jan 2010 09:00:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[Полезные советы]]></category> <category><![CDATA[adobe reader]]></category> <category><![CDATA[настройка]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=664</guid> <description><![CDATA[Часто так бывает, что необходимо сохранить то место на котором остановился читать pdf документ, ситуации бывают разные, читал – случайно закрыл, выключение, перезагрузка и т.п.. По умолчанию установленный Reader не предоставляет такой функциональной возможности, у него просто снят checkbox с того пункта, который отвечает за сохранение состояния документов. Удобно, когда ты открываешь pdf документ, а [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="adobe reader logo" border="0" alt="adobe reader logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/adobereaderlogo_thumb.jpg" width="109" height="104" /> Часто так бывает, что необходимо сохранить то место на котором остановился читать pdf документ, ситуации бывают разные, читал – случайно закрыл, выключение, перезагрузка и т.п.. По умолчанию установленный Reader не предоставляет такой функциональной возможности, у него просто снят checkbox с того пункта, который отвечает за сохранение состояния документов.</p><p align="justify">Удобно, когда ты открываешь pdf документ, а он открывается с той страницы, которую ты читал до его закрытия. При этом состояние храниться по всем документам.</p><p> <span id="more-664"></span><p align="justify">Для включения данной функции, для русской версии Adobe Reader 8, 9 перейти в пункт меню “Редактирование” - “Установки…”, и в разделе “Документы” в наборе полей “Открыть окно параметров” отметить пункт “Восстанавливать при открытии документов прежние параметры просмотра”.</p><p style="text-align:center;"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/adobereadercustomization.jpg" rel="lightbox"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="adobe reader customization" border="0" alt="adobe reader customization" src="http://juravskiy.ru/wp-content/uploads/2010/01/adobereadercustomization_thumb.jpg" width="262" height="57" /></a></p><p align="justify">Также советую настроить под себя другие параметры, что положительно скажется на производительности использования данного программного продукта.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=664</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>UML плагин для Eclipse</title><link>http://juravskiy.ru/?p=645</link> <comments>http://juravskiy.ru/?p=645#comments</comments> <pubDate>Sun, 17 Jan 2010 10:00:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Eclipse]]></category> <category><![CDATA[IDEs]]></category> <category><![CDATA[Eclipse plugin]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[uml]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=645</guid> <description><![CDATA[eUML 2 - Удобный плагин, который может кроме построения различных типов UML моделей, строить уже по имеющимся классам модель, и наоборот по построенной модели сгенерировать классы – т.е. уже готовый каркас, а программисту необходимо будет написать реализацию методов, и протестировать все. Для обновления Eclipse 3.5 Galileo используйте update site: http://www.soyatec.com/update/galileo/ Доступна бесплатная версия плагина, для [...]]]></description> <content:encoded><![CDATA[<p align="justify"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/euml2_class_diagram.png" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="euml2 class diagram example" border="0" alt="euml2 class diagram example" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/euml2_class_diagram_thumb.png" width="145" height="109" /></a> eUML 2 - Удобный плагин, который может кроме построения различных типов UML моделей, строить уже по имеющимся классам модель, и наоборот по построенной модели сгенерировать классы – т.е. уже готовый каркас, а программисту необходимо будет написать реализацию методов, и протестировать все.</p><p>Для обновления Eclipse 3.5 Galileo используйте update site:</p><blockquote><p>http://www.soyatec.com/update/galileo/</p></blockquote><p align="justify">Доступна бесплатная версия плагина, для некоммерческого использования, построенные диаграммы, можно включать в проект, и также размещать в системе версий,&#160; например SVN.</p><p>Официальный сайт проекта, доступен по адресу: <a href="http://www.soyatec.com/euml2/" rel="nofollow" target="_blank">http://www.soyatec.com/euml2/</a></p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=645</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Фигурка Журавлик (Prison Break crane)</title><link>http://juravskiy.ru/?p=639</link> <comments>http://juravskiy.ru/?p=639#comments</comments> <pubDate>Tue, 12 Jan 2010 09:00:05 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Оригами]]></category> <category><![CDATA[crane]]></category> <category><![CDATA[origami]]></category> <category><![CDATA[Prison Break]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=639</guid> <description><![CDATA[Для тех кто увлекается оригами, или просто поклонник сериала “Побег”, привожу схему фигуры, которую собирал главный герой телесериала Майкл Скофилд.]]></description> <content:encoded><![CDATA[<p align="justify"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/crane.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="crane" border="0" alt="crane" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/crane_thumb.jpg" width="109" height="85" /></a> Для тех кто увлекается оригами, или просто поклонник сериала “Побег”, привожу схему фигуры, которую собирал главный герой телесериала Майкл Скофилд. <br/><a class="downloadlink" href="http://juravskiy.ru/wp-content/plugins/download-monitor/download.php?id=9" title=" downloaded 1152 times" >Схема сборки журавлика из Prison Break (pdf) (1152)</a></p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=639</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Десятипальцевый метод набора текста</title><link>http://juravskiy.ru/?p=636</link> <comments>http://juravskiy.ru/?p=636#comments</comments> <pubDate>Mon, 11 Jan 2010 09:01:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Полезные советы]]></category> <category><![CDATA[десятипальцевый набор]]></category> <category><![CDATA[набор текста]]></category> <category><![CDATA[слепой набор]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=636</guid> <description><![CDATA[Люди занятые в ИТ сфере регулярно используют клавиатуру для набора текстов, отчеты, код программ, документация, общение, письма, и мн. др.. Сам я освоил данный метод ввода информации, не с первого подхода, возможно в первый раз не было такой сильно мотивации, да и потребности. При наборе текста не все время смотришь в клавиатуру, даже совсем не [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-right-width: 0px; margin: 0px 15px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Десятипальцевый метод набора текста" border="0" alt="Десятипальцевый метод набора текста" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/button.jpg" width="168" height="104" /> Люди занятые в ИТ сфере регулярно используют клавиатуру для набора текстов, отчеты, код программ, документация, общение, письма, и мн. др.. Сам я освоил данный метод ввода информации, не с первого подхода, возможно в первый раз не было такой сильно мотивации, да и потребности. При наборе текста не все время смотришь в клавиатуру, даже совсем не смотришь, глаза можно отвести в сторону, например для кратковременного отдыха, что весьма&#160; полезно, когда сидишь за компьютером долгое время. Меньше бывает таких ситуаций, когда набрал несколько предложений не в той раскладке клавиатуры. Скорость набора увеличивается, как десятипальцевым, так и простым <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> двухпальцевым методом.</p><p> <span id="more-636"></span><p align="justify"></p><p align="justify">После перехода с программы тренажера на набор реальных текстов, были небольшие проблемы с перестроением мышления, из-за чего было много ошибок при наборе. Изучил пока Ru раскладку, на очереди En раскладка.</p><p align="justify">Рекомендую изучить данный метод, так как эффект в производительности будет заметен незамедлительно.</p><p align="justify">Изучение посоветую с программы “СОЛО на клавиатуре”, программа составлена с умом как с точки обучения человека, так и с воздействия на него на психологическом уровне.</p><p align="justify">Также доступна онлайн версия на официальном сайте.</p><p align="justify">Из онлайн тренажеров посоветую бесплатный и без регистрации <a href="http://klava.org/" rel="nofollow" target="_blank">Klava.org</a> использую, когда хочется потренироваться.</p><p align="justify">Также есть другие сервисы для тех, кто уже полноценно освоил набор, и совершенствуется в скоростном и без ошибочном наборе – клавагонки, в режиме онлайн вы можете поучаствовать в заездах с другими участниками в скоростном наборе текста, первый тот, кто быстрее набрал текст заезда.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=636</wfw:commentRss> <slash:comments>21</slash:comments> </item> <item><title>Правильное оформление кода в Java</title><link>http://juravskiy.ru/?p=634</link> <comments>http://juravskiy.ru/?p=634#comments</comments> <pubDate>Sun, 10 Jan 2010 10:00:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Code Conventions for the Java]]></category> <category><![CDATA[оформление кода]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=634</guid> <description><![CDATA[Если в команде разработчиков, все будут придерживаться общепринятых правил – использование шаблонов проектирования, одинаковое оформление кода, то им будет легче взаимодействовать, понимать друг другом написанный код, затраченное время на понимание – “эээ, а что ж тут блин написано?…” будет затрачено гораздо меньше. Есть такой документ Code Conventions for the JavaTM Programming Language (HTML) в котором [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="java-code-conventions-bit" border="0" alt="java-code-conventions-bit" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/javacodeconventionsbit.jpg" width="178" height="87" /> Если в команде разработчиков, все будут придерживаться общепринятых правил – использование шаблонов проектирования, одинаковое оформление кода, то им будет легче взаимодействовать, понимать друг другом написанный код, затраченное время на понимание – “эээ, а что ж тут блин написано?…” будет затрачено гораздо меньше.</p><p align="justify">Есть такой документ <a href="http://java.sun.com/docs/codeconv/CodeConventions.pdf" target="_blank">Code Conventions for the JavaTM Programming Language</a> (<a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html" rel="nofollow" target="_blank">HTML</a>) в котором описано как должен оформляться код. Думаю каждый Java программист должен&#160; знать свод&#160; этих правил. Сам я очень долго привыкал и перестраивался, но за то результатами я доволен.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=634</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Завершение процессов в Windows с использованием taskkill</title><link>http://juravskiy.ru/?p=630</link> <comments>http://juravskiy.ru/?p=630#comments</comments> <pubDate>Sat, 09 Jan 2010 09:00:00 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Администрирование]]></category> <category><![CDATA[cmd]]></category> <category><![CDATA[windows]]></category> <category><![CDATA[перезагрузка процессов]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=630</guid> <description><![CDATA[Для остановки запущенных приложений или процессов в Windows существует специальная утилита taskkill (аналог kill в linux), с ее помощью можно завершать процессы по различным признакам. Данную утилиту обычно применяют в составе системных скриптов, например для перезагрузки приложений, или их останова с учетом специальных условий или системных событий. Вот справка по использованию утилиты, а ниже можно [...]]]></description> <content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="cmd_logo" border="0" alt="cmd_logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/cmd_logo.jpg" width="75" height="75" /> Для остановки запущенных приложений или процессов в Windows существует специальная утилита taskkill (аналог kill в linux), с ее помощью можно завершать процессы по различным признакам.</p><p>Данную утилиту обычно применяют в составе системных скриптов, например для перезагрузки приложений, или их останова с учетом специальных условий или системных событий.</p><p>Вот справка по использованию утилиты, а ниже можно посмотреть примеры использования.</p><p> <span id="more-630"></span><p>&#160;</p><blockquote><p>C:\&gt;taskkill /?</p><p>TASKKILL [/S &lt;система&gt; [/U &lt;пользователь&gt; [/P [&lt;пароль&gt;]]]] <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { [/FI &lt;фильтр&gt;] [/PID &lt;процесс&gt; | /IM &lt;образ&gt;] } [/T] [/F]</p><p>Описание: <br />&#160;&#160;&#160; Завершает процесс по его ID (PID) или имени образа.</p><p>Список параметров: <br />&#160;&#160; /S&#160;&#160; &lt;система&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Подключаемый удаленный компьютер.</p><p>&#160;&#160; /U&#160;&#160; [&lt;домен&gt;\]&lt;пользователь&gt;&#160; Пользовательский контекст, в котором <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; должна выполняться эта команда.</p><p>&#160;&#160; /P&#160;&#160; &lt;пароль&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Пароль для этого пользовательского контекста. <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Запрашивает пароль, если он не задан.</p><p>&#160;&#160;&#160; /FI&#160;&#160;&#160; &lt;фильтр&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Применение фильтра для выбора набора задач. <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Разрешение использовать &quot;*&quot;. Пример, <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; imagename eq acme*</p><p>&#160;&#160;&#160; /PID &lt;процесс&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Идентификатор процесса, который требуется <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; завершить. <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Используйте TaskList, чтобы получить PID.</p><p>&#160;&#160; /IM&#160; &lt;образ&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Имя образа процесса, который требуется <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; завершить. Знак подстановки &quot;*&quot; может быть <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; использован для указания всех заданий или <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; имен образов.</p><p>&#160;&#160;&#160; /T&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Завершение указанного процесса <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; и всех его дочерних процессов.</p><p>&#160;&#160;&#160; /F&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Принудительное завершение процесса.</p><p>&#160;&#160; /?&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Вывод справки по использованию.</p><p>Фильтры: <br />&#160;&#160;&#160; Имя фильтра&#160;&#160; Допустимые операторы&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Допустимые значения <br />&#160;&#160;&#160; -----------&#160;&#160; ---------------&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ------------------------- <br />&#160;&#160;&#160; STATUS&#160;&#160;&#160;&#160;&#160;&#160;&#160; eq, ne&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; RUNNING | <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; NOT RESPONDING | UNKNOWN <br />&#160;&#160;&#160; IMAGENAME&#160;&#160;&#160;&#160; eq, ne&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Имя образа <br />&#160;&#160;&#160; PID&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; eq, ne, gt, lt, ge, le&#160;&#160;&#160; Значение PID <br />&#160;&#160;&#160; SESSION&#160;&#160;&#160;&#160;&#160;&#160; eq, ne, gt, lt, ge, le&#160;&#160;&#160; Номер сессии <br />&#160;&#160;&#160; CPUTIME&#160;&#160;&#160;&#160;&#160;&#160; eq, ne, gt, lt, ge, le&#160;&#160;&#160; Время CPU в формате <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hh:mm:ss. <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hh - часы, <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mm - минуты, ss - секунды <br />&#160;&#160;&#160; MEMUSAGE&#160;&#160;&#160;&#160;&#160; eq, ne, gt, lt, ge, le&#160;&#160;&#160; Использование памяти в КБ <br />&#160;&#160;&#160; USERNAME&#160;&#160;&#160;&#160;&#160; eq, ne&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Имя пользователя в формате <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [&lt;домен&gt;\]&lt;пользователь&gt; <br />&#160;&#160;&#160; MODULES&#160;&#160;&#160;&#160;&#160;&#160; eq, ne&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Имя DLL <br />&#160;&#160;&#160; SERVICES&#160;&#160;&#160;&#160;&#160; eq, ne&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Имя службы <br />&#160;&#160;&#160; WINDOWTITLE&#160;&#160; eq, ne&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Заголовок окна</p><p>&#160;&#160;&#160; Примечание <br />&#160;&#160;&#160; ---- <br />&#160;&#160;&#160; 1) Символ '*' для параметра /IM применим только совместно с фильтрами. <br />&#160;&#160;&#160; 2) Завершение удаленных процессов всегда будет принудительным (/F). <br />&#160;&#160;&#160; 3) Фильтры &quot;WINDOWTITLE&quot; и &quot;STATUS&quot; не принимаются во внимание, когда <br />&#160;&#160;&#160;&#160;&#160;&#160; компьютер является удаленным.</p><p>Примеры: <br />&#160; TASKKILL /IM notepad.exe <br />&#160; TASKKILL /PID 1230 /PID 1241 /PID 1253 /T <br />&#160; TASKKILL /F /IM cmd.exe /T <br />&#160; TASKKILL /F /FI &quot;PID ge 1000&quot; /FI &quot;WINDOWTITLE ne untitle*&quot; <br />&#160; TASKKILL /F /FI &quot;USERNAME eq NT AUTHORITY\SYSTEM&quot; /IM notepad.exe <br />&#160; TASKKILL /S &lt;система&gt; /U &lt;домен&gt;\&lt;пользователь&gt; /FI &quot;USERNAME ne NT*&quot; /IM * <br />&#160; TASKKILL /S &lt;система&gt; /U &lt;пользователь&gt; /P &lt;пароль&gt; /FI &quot;IMAGENAME eq note*&quot;</p></blockquote><p>Данную утилиту я использую для перезагрузки torrent клиента ежечасно (обусловлено особенностями моего провайдера). Скрипт выглядит следующим образом:</p><blockquote><p>taskkill /F /IM uTorrent.exe &amp; sleep 2 &amp; &quot;c:\Program Files\uTorrent\uTorrent.exe&quot; &amp; exit</p></blockquote><p>Для планирования периодичности запуска данного скрипта, я использую “Планировщик заданий Windows”. Модифицировав данный скрипт, можно перезагружать любые приложения.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=630</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Google Сhrome создает отдельный процесс для каждого плагина</title><link>http://juravskiy.ru/?p=627</link> <comments>http://juravskiy.ru/?p=627#comments</comments> <pubDate>Fri, 08 Jan 2010 09:33:04 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[Информационные технологии]]></category> <category><![CDATA[Мнения]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[Google]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=627</guid> <description><![CDATA[Создание отдельного процесса как под в кладку, так и под плагин – хорошее архитектурное решение с точки зрения безопасности всего браузера, и других вкладок. Если случился сбой в работе плагина, или вкладки, то процесс им соответствующий можно смело завершить (что браузер делает автоматически) без нарушения работы остальных вкладок и плагинов. Данная архитектура браузера отличается от [...]]]></description> <content:encoded><![CDATA[<p><a href="http://juravskiy.ru/wp-content/uploads/2010/01/chromebreakpluginprocesses.jpg" rel="lightbox"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="chrome-break-plugin-processes" border="0" alt="chrome-break-plugin-processes" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/chromebreakpluginprocesses_thumb.jpg" width="128" height="121" /></a><p align="justify">Создание отдельного процесса как под в кладку, так и под плагин – хорошее архитектурное решение с точки зрения безопасности всего браузера, и других вкладок. Если случился сбой в работе плагина, или вкладки, то процесс им соответствующий можно смело завершить (что браузер делает автоматически) без нарушения работы остальных вкладок и плагинов. Данная архитектура браузера отличается от работы того же Firefox, для которого существует один процесс, он съедая много памяти при большой продолжительности работы, в конце концов зависает, и пользователю приходиться идти в “Диспетчер задач” и завершать процесс firefox.exe.</p><p align="justify">На скриншоте можно наблюдать эксперимент, как&#160; завершаются процессы соответствующие плагинам в браузере, и как браузер оповещает пользователя о сбое в их работе.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=627</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Расчет даты православной Пасхи</title><link>http://juravskiy.ru/?p=604</link> <comments>http://juravskiy.ru/?p=604#comments</comments> <pubDate>Fri, 08 Jan 2010 08:00:50 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Алгоритмы]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[easter]]></category> <category><![CDATA[Пасха]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=604</guid> <description><![CDATA[Никогда не думал о том, что расчет даты Пасхи такая непростая задача, даже есть математический алгоритм созданный Гаусом, для расчета даты православной Пасхи. Для расчета католической Пасхи алгоритм другой. Расчет даты православной Пасхи online: // // Для православной Пасхи алгоритм следующий: В качестве исходных данных используем единственное значение Year - год от Рождества Христова. Результатом [...]]]></description> <content:encoded><![CDATA[<p><a rel="lightbox" href="http://juravskiy.ru/wp-content/uploads/2010/01/46a74f5733eb3b9c7f37845cc6656e08.jpg"><img style="margin: 0px 10px 0px 0px; display: inline; border: 0px;" title="easter" src="http://juravskiy.ru/wp-content/uploads/2010/01/46a74f5733eb3b9c7f37845cc6656e08_thumb.jpg" border="0" alt="46a74f5733eb3b9c7f37845cc6656e08" width="124" height="91" align="left" /></a> Никогда не думал о том, что расчет даты Пасхи такая непростая задача, даже есть математический алгоритм созданный Гаусом, для расчета даты православной Пасхи.</p><p>Для расчета католической Пасхи алгоритм другой.<br /> <br/><br /> Расчет даты православной Пасхи online:</p><p><code><script type="text/javascript">// 
function mod(x, y) {
  return (x - (Math.floor(x / y) * y));
}
function mt(x) {
  var r;
  if (x == 3) r = " марта";
  else if (x == 4) r = " апреля";
  else r = " мая";
  return r;
}
function gogo() {
var a, b, c, d, e, d1, m1, d2, m2;
y1 = document.easter.year.value;
a = mod(y1, 19);
b = mod(y1, 4);
c = mod(y1, 7);
d = mod((19 * a + 15), 30);
e = mod((2 * b + 4 * c + 6 * d + 6), 7);
if ((d + e) <= 9) {
    d1 = 22 + d + e;
    m1 = 3;
} else {
    d1 = d + e - 9;
    m1 = 4;
}
if (d1 == 26) if (m1 == 4) d1=19;
if (d == 28) if  (e == 6) d1=18;
if (m1 == 3) {
    d2 = d1 - 18;
    m2 = 4;
} else if (d1 <= 17) {     d2 = d1 + 13;     m2 = 4; } else {     d2 = d1 - 18;     m2 = 5; } document.easter.result.value=d2+mt(m2)+ ' н. ст. ('+ d1+mt(m1)+' ст. ст.) '+ y1+' г.'; }
// ]]&gt;</script></code></p><form name="easter"> <input name="year" size="4" /> <input onclick="gogo()" type="button" value="Расчет" /> <input name="result" size="40"/></form><p><code><script type="text/javascript">// 
 document.easter.year.value = new Date().getFullYear();
// ]]&gt;</script></code><br /> <span id="more-604"></span><br /> Для православной Пасхи алгоритм следующий:</p><ol><li>В качестве исходных данных используем единственное значение<br /> Year - год от Рождества Христова. Результатом получим число Day и номер месяца Month (целые числа).</li><li>Введем функцию mod(X, Y) - остаток от целочисленного деления X на Y (результат - целое число)</li><li>Рассчитаем вспомогательные значения:<br /> A=mod(Year, 19)<br /> B=mod(Year, 4)<br /> С=mod(Year, 7)<br /> D=mod((19*A+15), 30)<br /> E=mod((2*B+4*C+6*D+6), 7)</li><li>Если (D+E) &lt;= 9<br /> то Month=3 и Day=22+D+E<br /> иначе Month=4 и Day=D+E-9</li><li>Если Month=4 и Day=26<br /> то Day=19</li><li>Если E=6 и Day=28<br /> то Day=18</li><li>Дата Пасхи (по старому стилю): Day, Month, Year</li></ol> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=604</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>О сетевом маркетинге и бизнес сектах</title><link>http://juravskiy.ru/?p=577</link> <comments>http://juravskiy.ru/?p=577#comments</comments> <pubDate>Thu, 07 Jan 2010 08:46:41 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Заметки]]></category> <category><![CDATA[mlm]]></category> <category><![CDATA[бизнес]]></category> <category><![CDATA[сетевой маркетинг]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=577</guid> <description><![CDATA[Я слышал раньше про &#34;бизнес секты&#34;, финансовые пирамиды, про МмМ, и т.п. рода &#34;кидалово&#34;, но некогда не думал, что определение &#34;сетевой маркетинг&#34; тоже относиться к подобному. Расскажу о том, как я познакомился с сетевым маркетингом, а также о выводах, сделанных мною, на основе прочитанного и прослушанного. Совсем недавно искал интересные аудиокниги, и нашел на одном [...]]]></description> <content:encoded><![CDATA[<p align="justify"><a href="http://juravskiy.ru/wp-content/uploads/2010/01/mlm.gif" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="mlm" border="0" alt="mlm" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/mlm_thumb.gif" width="60" height="81" /></a> Я слышал раньше про &quot;бизнес секты&quot;, финансовые пирамиды, про МмМ, и т.п. рода &quot;кидалово&quot;, но некогда не думал, что определение &quot;сетевой маркетинг&quot; тоже относиться к подобному.</p><p align="justify">Расскажу о том, как я познакомился с сетевым маркетингом, а также о выводах, сделанных мною, на основе прочитанного и прослушанного.</p><p> <span id="more-577"></span><p align="justify">Совсем недавно искал интересные аудиокниги, и нашел на одном сайте (он еще подозрительно имел приставку в названии mlm) аудио файл лекции с названием “Секреты миллионеров”. Прослушивая запись, автор давил на психику, о том как жизнь слушателя плоха – маленькая заработная плата, замкнутый круг - “работа – дом – сон – работа ..”. Рассказывал обо всем, и не о чем конкретно, при этом часто упоминал понятие “сетевой маркетинг” – как неиссякаемый источник пассивного дохода. Проанализировав прослушанное, отметил, что автор в нескольких местах противоречил себе, и лукавил. Оставалось непонятным основное – “сетевой маркетинг”, изучив несколько различных точек зрения, объективных и необъективных, понял, что это новая фора массового “кидалова”, основанная на пирамидальной структуре “подчинения” – притока денег, от низа пирамиды к верху.</p><p align="justify">Как распознать “сетевого маркетолога”? Он начинает “впаривать” продукцию, говоря о том, что ты можешь, ее продать своим друзьям или знакомым, разговоры про скидки – пыль в глаза, нейролингвистическое программирование (НЛП), зомбирование вас как новой жертвы. Особенно уязвимы в плане косметики -&#160; домохозяйки, и офисный планктон женского рода.</p><p align="justify">Основной атрибут, без которых не могут существовать такие пирамиды, это те же аудиокниги, видеоролики, и другого рода агитационная информация. А также регулярные встречи и семинары, для поддержки уровня зазомбированности членов сети.</p><p align="justify">Отличие распространяемой продукции, это то, что она не продается в магазинах. А распространяться может все, что угодно, от ушных палочек с магическим действием, омолаживающих кремов, до сковородок, и подобного хлама. При этом цена на продукт уже заранее завышена в 2, в 3, и более раз, так как каждый член “сети”, хочет получить доход от перепродажи по более высокой цене. К продукции должна быть “фишка”, из-за которой ее будут покупать, например чаи и крема для похудения, с моментальным эффектом, или как компания “Amway” делает упор на то, что вся продукция концентрированная (даже зубные щетки), и ее хватит надолго, а эффект будет поразителен.</p><p align="justify">Главное не поддаваться на всякого рода агитацию, и не подпитывать сеть. Сеть нуждается в подпитке новыми членами, если не будет новых присоединений, то сеть в скором времени выйдет из строя.</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=577</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>В каком порядке смотреть эпизоды Звездных войн</title><link>http://juravskiy.ru/?p=594</link> <comments>http://juravskiy.ru/?p=594#comments</comments> <pubDate>Wed, 06 Jan 2010 09:43:39 +0000</pubDate> <dc:creator>Vitaliy Juravskiy</dc:creator> <category><![CDATA[Films]]></category> <category><![CDATA[Заметки]]></category> <category><![CDATA[star wars]]></category><guid isPermaLink="false">http://juravskiy.ru/?p=594</guid> <description><![CDATA[Смотрел давно и не все эпизоды, задался вот таким вопросом, “погуглив” согласился с тем мнением, что смотреть нужно эпизоды согласно их порядка выхода на экран. Если начать смотреть с первого эпизода, человеку не смотревшему ни один из других эпизодов, то ничего не понятно. Эпизоды Звездных войн, выходили в следующем порядке: 4. A New Hope (1977) [...]]]></description> <content:encoded><![CDATA[<p align="justify"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="star wars logo" border="0" alt="star wars logo" align="left" src="http://juravskiy.ru/wp-content/uploads/2010/01/images1.jpg" width="139" height="84" /> Смотрел давно и не все эпизоды, задался вот таким вопросом, “погуглив” <img src='http://juravskiy.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> согласился с тем мнением, что смотреть нужно эпизоды согласно их порядка выхода на экран. Если начать смотреть с первого эпизода, человеку не смотревшему ни один из других эпизодов, то ничего не понятно.</p><p>Эпизоды Звездных войн, выходили в следующем порядке:</p><p>4. A New Hope (1977) - Новая надежда <br />5. The Empire Strikes Back (1980) - Империя наносит ответный удар <br />6. Return of the Jedi (1983) - Возвращение джедая <br />1. The Phantom Menace (1999) - Скрытая угроза <br />2. Attack of the Clones (2002) - Атака клонов <br />3. Revenge of the Sith (2005) - Месть ситхов</p> ]]></content:encoded> <wfw:commentRss>http://juravskiy.ru/?feed=rss2&amp;p=594</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>