<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:itlame</id>
  <title>IT Lame</title>
  <subtitle>Ни о чем в ИТ</subtitle>
  <author>
    <name>itlame</name>
  </author>
  <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom"/>
  <updated>2007-01-02T21:22:43Z</updated>
  <lj:journal userid="11347506" username="itlame" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://itlame.livejournal.com/data/atom" title="IT Lame"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:25176</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/25176.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=25176"/>
    <title>Запоздалое поздравление с Новым годом</title>
    <published>2007-01-02T21:22:43Z</published>
    <updated>2007-01-02T21:22:43Z</updated>
    <content type="html">Поздравляю всех читателей журнала с Новым Годом! Желаю, чтобы все мечты исполнились, цели были достигнуты, а в жизни наступила полная гармония. Ну и почаще заходите, читайте и пишите комменты. В новом году постараюсь писать побольше и еще интереснее.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:24913</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/24913.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=24913"/>
    <title>Про мозг и программирование</title>
    <published>2006-12-27T12:00:22Z</published>
    <updated>2006-12-27T12:00:22Z</updated>
    <category term="размышления"/>
    <content type="html">Недавно в очередной раз наткнулся на мысль, что человек может держать в своей кратковременной памяти не более 7-8 сущностей. Если больше, то происходит вытеснение малоиспользуемых сущностей или в долговременную память или информация просто забывается. Например, запомнить номер телефона, состоящий из более чем 7-8 цифр уже сложно, если не записать и не придумать какие-то мнемонические правила. Я, конечно, не эксперт по устройству мозга и могу в чем-то ошибаться, но думаю, общую мысль уловить несложно.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Ну а теперь как это относится к ИТ. При разработке программ происходит абсолютно такой же эффект. Человек помнит о 7-8 переменных в текущем контексте исходного кода. Опять же, я здесь не первопроходец, эта информация известна давно. Но только сейчас я связал два факта – особенность кратковременной памяти человека и качество кода программного обеспечения. За собой я давно заметил, что код я разбиваю на достаточно мелкие методы. Обычно, вряд ли больше экрана текста. Причем даже если метод вызывается в коде всего один раз, то все равно зачастую оформлял кусок логики в отдельном методе, только потому, что так удобнее записать весь текст класса/программы. Если посмотреть в целом на методы, то можно заметить, что число переменных и вообще конструкций кода в методах не так велико, что, как правило, повышает общую читаемость кода. Понятно, что подходить к гранулированию кода надо с умом и выдерживать внутреннюю логику системы, а не лепить, как получится. Получается, что такому оформлению кода есть достаточно логичное объяснение, которое учитывает особенности человеческого восприятия.&lt;br /&gt;&lt;br /&gt;К сожалению, почему-то далеко не все разработчики пишут в подобном стиле и очень часто встречаются классы общим объемом несколько тысяч строк без учета комментариев. Тоже самое можно сказать и про методы – бывает, что один метод тянется на несколько экранов, с множеством конструкций, причем большой вложенности. В итоге, когда доматываешь до какой-нибудь логической точки и видишь кучу закрывающихся скобок становится сложно понять, где начинаются соответствующие куски кода. Разобраться в таком коде становится сложно и если его придется поддерживать другому человеку, то это вызовет у него головную боль. Про переменные в таком случае даже не приходится говорить, ибо их просто много.&lt;br /&gt;&lt;br /&gt;Что же в итоге? Оказывается что под хорошую методику написания кода можно подвести вполне научную базу в виде устройства человеческого мозга и памяти. Пишите хороший код.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:24726</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/24726.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=24726"/>
    <title>Задачка</title>
    <published>2006-12-19T21:48:08Z</published>
    <updated>2006-12-19T22:14:45Z</updated>
    <category term="ни о чем"/>
    <content type="html">Ну и в заключение. Продолжите последовательность: 6, 7, 8, 9, 10. Ответы в комменты не постить. А... ну можно и в комменты, куда же тогда еще</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:24572</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/24572.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=24572"/>
    <title>Про качество</title>
    <published>2006-12-19T21:27:33Z</published>
    <updated>2006-12-19T21:39:51Z</updated>
    <category term="размышления"/>
    <content type="html">Работая достаточно давно в ИТ отрасли, накопилось достаточно много опыта в области разработки и использования программного обеспечения.  Должен сказать, что картина складывается удручающая. &lt;br /&gt;&lt;br /&gt;Начнем с лицензий. Все лицензии никогда никому ничего не гарантируют. Производитель ПО не отвечает за возможный ущерб, причиненный его программами в результате их использования. То есть если купленная программа по ошибке записала данные в другой файл и затерла годовой финансовый отчет, то разработчик не несет никакой ответственности. Это как если бы производители автомашин заявили – «катайтесь, но никакой гарантии, что вы доедите до цели, не даем, и даже если у вашей машины отвалится двигатель, мы не в чем не виноваты». То есть складывается абсурдная ситуация, когда покупатель должен пользоваться продуктом на свой страх и риск. Наверное, такого нет ни в одной другой отрасли.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Смежный вопрос с лицензированием это активация программ. Не знаю, кто был пионером в этой области, но тому, кто это придумал надо вбить в голову гвоздь. Два примера. Компьютер не подсоединен к сети и ее никогда не будет по разным причинам. Ставиться программа (честно, не помню какая), которая требует активации. Естественно, ей для этого нужен Интернет. Интернета нет и не предвидеться. Альтернатива – позвонить по toll free номеру в штаты и поиметь беседу с милым сотрудником поддержки. А оно мне надо? Стоимость звонка будет дороже самой программы. В итоге программа была сломана. Другой пример – всем известный словарь Лингво. До сих пор продается с установочной дискетой. Я перестал пользоваться дисководом с тех пор как появилась сеть и устройства записи на диски стали стоить разумных денег. То есть, лет 7-8 назад точно, если не больше. Сейчас же в ноутбуки, да и в настольные компьютеры уже не ставят дисководы. Дискеты же наверное производятся только для таких вот компаний. Но все так плохо. Сейчас Лингво можно зарегистрировать через Интернет. Но естественно, с первого раза он не смог это сделать. Просто вывалился с ошибкой в конце регистрации и так и остался неактивированным. Пришлось руками активировать через сайт. А вот несколько версий назад, поддержки активации через Интернет не было, и на законный вопросе как же активировать без дисковода, поддержка ответила – ломайте.&lt;br /&gt;&lt;br /&gt;Собственно качество. За редким случаем, качество современного ПО оставляет желать лучшего. Конечно, везде есть свои исключения и все не так плохо на первый взгляд. Но если копнуть глубже, то на поверхности покажутся все прелести гонки за новыми версиями и возможностями. Если компания не выпускает с определенной периодичностью нового продукта, то через некоторое время ее место займут другие производители, а она сама растворится в пучине времени. И не важно, какой продукт выпускает компания. Даже если это тривиальный ноутпад, то все равно необходимо выпускать обновления. Гонка за новыми версиями зачастую оборачивается потерей качества, новые версии не исправляют старые ошибки, а добавляют новые. Еще пара примеров. Вышла новая версия ПО. В ней, в том числе, заявлен определенный функционал, который успешно работал в предыдущей версии. Каково же было удивление, когда оказалось, что эта часть не работает и заработала только при очередном обновлении. То есть продукт был выпущен заведомо частично неработающим. Зато поставили галочку, уложились в срок и получили премии. Другой пример, другой продукт, опять же анонсирован определенный функционал, но уже новый. Опять же не работает. После долгих выяснений оказалось, что его просто нет. Но без этой гонки обойтись практически невозможно. Классическая продажа программного обеспечения базируется на продаже лицензий. А если продукт не обновляется, то падение продаж практически гарантировано. &lt;br /&gt;В итоге получается ситуация, когда количество унаследованного кода стремительно увеличивается, а возможностей поддерживать весь этот код не хватает. Зачастую, новый код приделывается сбоку с замечанием, что в новой версии это будет переделано. Но нет ничего более постоянного, чем временное, и через какое-то время система начинает напоминать одну большую заплатку. За примерами далеко ходить не надо, достаточно посмотреть на эволюцию Win32.&lt;br /&gt;&lt;br /&gt;Продолжая тему появления новых версий необходимо отметить следующий факт. Программы эволюционируют от простого к сложному. Почему-то все программные продукты имеют тенденцию увеличиваться в размерах и требовать повышенных системных ресурсов, даже если новых возможностей стало не намного больше. Классический пример это офис от компании Microsoft. На мой взгляд принципильных изменений нет уже лет 10, однако за это время было выпущено немало новых версий. Или другая ситуация – какую роль играет операционная система? Уж точно не захватывать все свободные ресурсы и по крупицам их выделять прикладным программам. Основая задача ОС это обеспечивать бесперебойную работу других программ. Операционная система должна быть вообще незаметна пользователю. А какой раздули шум вокруг Windows. Обычному пользователю все равно за счет чего, например, игровая приставка выполняет свои функции, основное ее назначение это развлекать, а не запускать ОС, хотя она там тоже есть. И уж точно не требовать один гигабайт памяти для работы голой ОС. В итоге каждый новый продукт получается больше, сложнее и требовательнее к ресурсам. И тут так же действует закон 80/20. Например, для выполнения 80% основных задач требуется всего 20% используемых ресурсов, а остальные 80% ресурсов уходят на отрисовку новых красивых меню. Или 80% пользователей хватает 20% предлагаемого функционала. И этот список можно продолжать.&lt;br /&gt;&lt;br /&gt;Следующий пункт это поддержка. Я понимаю, что, учитывая особенности нашего рынка ПО, говорить о поддержке особого смысла нет. Но все же немалое количество ресурсов тратится на поддержку. Честно говоря, практически никогда не обращался в поддержку, а когда все же приходится, то ничего кроме раздражения она не вызывает. Пользоваться поддержкой имеет смысл, когда продукт действительно сложный и самому разобраться сложно. Но в таком случае зачастую бывает, что пользователь знает о продукте больше чем поддержка. Классическое поведение службы поддержки это попросить поставить все обновления, проверить все, что можно на компьютере, попросить перегрузиться и т.п. В результате общение затягивается на недели. За примером далеко ходить не надо. Наткнулся я на хитрую особенность поведения приложения. В принципе жить не мешает, но местами раздражает. Обратился. Все пошло, как и предсказывал. В итоге приблизительно через месяц, мне предложили перегрузить компьютер. Я понимаю, всякое бывает, но это выходит за все рамки приличия. &lt;br /&gt;&lt;br /&gt;Что же в итоге. Складывается ощущение, что ИТ индустрия загоняет сама себя в угол и, причем чем дальше, тем хуже. Компаниями надо показывать рост, поэтому продукты появляются все чаще и их количество только увеличивается, а качество в лучшем случае остается на прежнем уровне. Я не хочу сказать, что все продукты некачественные. Есть очень много действительно хороших разработок, которыми приятно пользоваться, но это меньшинство. А вот качественных скачков так и не наблюдается. Распознавать речь компьютеры так и не научились и тексты все так же приходиться набирать вручную, хотя как-то незабвенный Билл Гейтс обещал это. Как были компьютеры электронными болванами на заре эры электроники, так и остаются ими и по сей день, хотя производительность выросла в огромное число раз. Ощущается как-то застой – вроде бы ресурсы растут, а проку от них практически никакого. И просвета пока не видно. Но, надеюсь, все ж, что количество перейдет в новое качество.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:24102</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/24102.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=24102"/>
    <title>Вспоминая прошлое</title>
    <published>2006-12-18T20:42:29Z</published>
    <updated>2006-12-18T20:42:29Z</updated>
    <category term="иван демидов"/>
    <category term="музобоз"/>
    <category term="юмор"/>
    <content type="html">Вот тут вспомнилось. Много лет назад была передача под названием МузОбоз. Вел её Иван Демидов и рассказывал про музыку и шоу-бизнес. Все было интересно, особенно учитывая времена, когда выходила передача. Обычно он вел передачу сидя на тривиальном стуле, а сзади был какой то фон и каждый раз он был разный и постоянно менялся. Сидя на стуле, он постоянно что-то говорил, причем движение губ абсолютно не совпадало со звуком. А еще он был постоянно в черных очках, что породило множество легенд в свое время. Заканчивал он передачу тем, что бросал перед собой листочки с текстами, которые падали на стену за стулом, и выдавал коронную фразу: «А новостей на сегодня больше нет».</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:23957</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/23957.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=23957"/>
    <title>Про образование.</title>
    <published>2006-12-18T11:28:51Z</published>
    <updated>2006-12-18T11:28:51Z</updated>
    <category term="Образование"/>
    <content type="html">Вчера одна моя знакомая попросила помочь подготовится к экзамену в институте (который я оканчивал). Я спросил, по какой теме экзамен, и был несколько удивлен, когда услышал слово «Java». Еще больше я был удивлен, когда увидел лекции, по которым предстояло готовиться. Вряд ли автор этого курса прочитает этот пост, но я, однако, выражу ему своё уважение. Вот если в наших институтах начинают читать такие курсы, тогда через 2-3 года, возможно, оттуда будут выходить толковые разработчики и не только. Я много раз хотел написать какую-нибудь статейку про беды нашего высшего образования, о том, что курсы оторваны от реальной жизни, что преподаватели и руководство институтов не хочет понять потребности современного бизнеса. Теперь могу точно сказать, что опоздал. Я не хочу говорить, что институты дают плохое образование, всё-таки люди выпускаются и работают. Но те курсы, которые читали конкретно мне, в пору моей учёбы, были очень отсталыми от современных реалий. Хотя и тематика была в целом достаточно актуальной, типа «Методологии разработки ПО» или «Системы управления качеством, ISO 9000», но все они читались людьми, которые не хотели смотреть на то, во что эти вещи эволюционировали с момента подготовки самого курса. А вчера я увидел действительно, относительно, современный и актуальный курс, и очень был рад. &lt;br /&gt;&lt;br /&gt;Как я и писал, прилагаю оглавление лекций, оцените, может быть, кому-то есть, что сказать по этому поводу. &lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;div class="ljcut" text="Оглавление курса лекций..."&gt;&lt;div&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 1. Введение в Объектно-ориентированный анализ, проектирование и программированиe&lt;/div&gt;&lt;div&gt;1.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Список литературы&lt;/div&gt;&lt;div&gt;1.2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение в объектно-ориентированный анализ. Понятие объекта. Отношения между объектами.&lt;/div&gt;&lt;div&gt;1.3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение в UML. Краткая историческая справка. Диаграммы классов, диаграммы последовательностей.&lt;/div&gt;&lt;div&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 2. Основные определения ООП.&lt;/div&gt;&lt;div&gt;2.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Операции.&lt;/div&gt;&lt;div&gt;2.2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Измерение качества абстракции&amp;nbsp;&lt;/div&gt;&lt;div&gt;2.3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Выводы&amp;nbsp;&lt;/div&gt;&lt;div&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 3. Распределённое взаимодействие. Распределённые системы. Распределённые объекты.&lt;/div&gt;&lt;div&gt;3.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Основные определения и положения распределённых систем&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 4&amp;nbsp;&lt;/div&gt;&lt;div&gt;4.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Программное обеспечение промежуточного слоя (middleware)&lt;/div&gt;&lt;div&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 5&amp;nbsp;&lt;/div&gt;&lt;div&gt;5.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Типичные архитектуры распределённых систем&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;Client-Server (2-tier – двухзвенная архитектура)&lt;/div&gt;&lt;div&gt;N-Tier (многозвенная архитектура)&lt;/div&gt;&lt;div&gt;Мобильные агенты (Applets and other mobile code)&lt;/div&gt;&lt;div&gt;P2P (Peer-to-Peer – архитектура типа точка-точка или децентрализованная)&lt;/div&gt;&lt;div&gt;5.2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Контейнеры компонент&lt;/div&gt;&lt;div&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 6&amp;nbsp;&lt;/div&gt;&lt;div&gt;6.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение в Web-приложения и сервлеты&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;6.2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Основные интерфейсы и классы Servlet API26&lt;/div&gt;&lt;div&gt;6.2.1.&amp;nbsp;&amp;nbsp; javax.servlet.http.HttpServlet&lt;/div&gt;&lt;div&gt;6.2.2.&amp;nbsp;&amp;nbsp; javax.servlet.http.HttpServletRequest&lt;/div&gt;&lt;div&gt;6.2.3.&amp;nbsp;&amp;nbsp; javax.servlet.http.HttpServletResponse&amp;nbsp;&lt;/div&gt;&lt;div&gt;6.2.4.&amp;nbsp;&amp;nbsp; javax.servlet.http.HttpSession&amp;nbsp;&lt;/div&gt;&lt;div&gt;6.2.5.&amp;nbsp;&amp;nbsp; javax.servlet.ServletConfig&amp;nbsp;&lt;/div&gt;&lt;div&gt;6.2.6.&amp;nbsp;&amp;nbsp; javax.servlet.ServletContext&lt;/div&gt;&lt;div&gt;6.2.7.&amp;nbsp;&amp;nbsp; javax.servlet.Filter&lt;/div&gt;&lt;div&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 7&amp;nbsp;&lt;/div&gt;&lt;div&gt;7.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Технологии доступа к БД в Java. JDBC API&lt;/div&gt;&lt;div&gt;7.2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Альтернативные технологии доступа к БД в Java&amp;nbsp;&lt;/div&gt;&lt;div&gt;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 8&amp;nbsp;&lt;/div&gt;&lt;div&gt;8.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение в ORM (Object Relationship Mapping)&lt;/div&gt;&lt;div&gt;8.1.1.&amp;nbsp;&amp;nbsp; Гранулярность (granularity)&lt;/div&gt;&lt;div&gt;8.1.2.&amp;nbsp;&amp;nbsp; Подтипы (Subtypes)&lt;/div&gt;&lt;div&gt;8.1.3.&amp;nbsp;&amp;nbsp; Идентификация (Identity)&lt;/div&gt;&lt;div&gt;8.1.4.&amp;nbsp;&amp;nbsp; Навигация по связям&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;8.2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Альтернативные подходы к Persistence&amp;nbsp;&lt;/div&gt;&lt;div&gt;8.2.1.&amp;nbsp;&amp;nbsp; JDBC API&lt;/div&gt;&lt;div&gt;8.2.2.&amp;nbsp;&amp;nbsp; Сериализация объектов&amp;nbsp;&lt;/div&gt;&lt;div&gt;8.2.3.&amp;nbsp;&amp;nbsp; Entity EJB&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;8.2.4.&amp;nbsp;&amp;nbsp; Объектные СУБД&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;9.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 9 Основы ORM на примере Hibernate&amp;nbsp;&lt;/div&gt;&lt;div&gt;9.1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Архитектура Hibernate&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 10. Шаблоны проектирования в ООП&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;10.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение в шаблоны проектирование. Определение шаблона. Основные концепции&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Производящие шаблоны&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;10.2.1. Factory Method&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.2.2. Singleton&lt;/div&gt;&lt;div&gt;10.2.3. Abstract Factory&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.3.&amp;nbsp;&amp;nbsp;&amp;nbsp; Поведенческие шаблоны&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;10.3.1. Iterator&lt;/div&gt;&lt;div&gt;10.3.2. Command&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.3.3. Observer&lt;/div&gt;&lt;div&gt;10.3.4. Template Method&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.3.5. Visitor&lt;/div&gt;&lt;div&gt;10.4.&amp;nbsp;&amp;nbsp;&amp;nbsp; Структурные шаблоны&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;10.4.1. Adapter&lt;/div&gt;&lt;div&gt;10.4.2. Composite&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.4.3. Façade&amp;nbsp;&lt;/div&gt;&lt;div&gt;10.4.4. Decorator&lt;/div&gt;&lt;div&gt;10.4.5. Proxy&amp;nbsp;&lt;/div&gt;&lt;div&gt;11.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 11. Основные концепции проектирования корпоративных приложений&amp;nbsp;&lt;/div&gt;&lt;div&gt;11.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Определение корпоративной системы&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;11.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Типичные нефункциональные требования к корпоративным системам&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;11.2.1. Производительность&amp;nbsp;&lt;/div&gt;&lt;div&gt;11.2.2. Отказоустойчивость&amp;nbsp;&lt;/div&gt;&lt;div&gt;11.2.3. Безопасность (Защищённость)&lt;/div&gt;&lt;div&gt;12.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 12. Основные концепции проектирования корпоративных приложений (продолжение)&lt;/div&gt;&lt;div&gt;12.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Концепция архитектурных слоёв&amp;nbsp;&lt;/div&gt;&lt;div&gt;12.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Физическое размещение слоёв.&lt;/div&gt;&lt;div&gt;13.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Лекция 13. Основные концепции проектирования корпоративных приложений (продолжение)&lt;/div&gt;&lt;div&gt;13.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Сеансы и состояния&amp;nbsp;&lt;br /&gt;13.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Управление параллельными заданиями&amp;nbsp;&lt;/div&gt;&lt;div&gt;14.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Аспектно-Ориентированное Программирование (Aspect Oriented Programming, AOP)&lt;/div&gt;&lt;div&gt;15.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inversion of Control (IoC) / Dependency Injection&amp;nbsp;&lt;/div&gt;&lt;div&gt;16.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Интеграция корпоративных приложений&amp;nbsp;&lt;/div&gt;&lt;div&gt;16.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение&amp;nbsp;&lt;/div&gt;&lt;div&gt;16.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Критерии межсистемной интеграции&amp;nbsp;&lt;/div&gt;&lt;div&gt;17.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Интеграция Корпоративных Приложений (продолжение)&lt;/div&gt;&lt;div&gt;17.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Подходы к межсистемной интеграции&amp;nbsp;&lt;/div&gt;&lt;div&gt;Интеграция путём обмена файлами&amp;nbsp;&lt;/div&gt;&lt;div&gt;Интеграция с помощью разделяемой базы данных&amp;nbsp;&lt;/div&gt;&lt;div&gt;Интеграция с помощью удалённого вызова процедур&amp;nbsp;&lt;/div&gt;&lt;div&gt;Интеграция на основе сообщений (Messaging)&lt;/div&gt;&lt;div&gt;17.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Основные механизмы интеграции сообщениями&amp;nbsp;&lt;/div&gt;&lt;div&gt;18.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Механизмы интеграции сообщениями&amp;nbsp;&lt;/div&gt;&lt;div&gt;18.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Канал (Message Channel)&lt;/div&gt;&lt;div&gt;18.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Сообщение (Message)&lt;/div&gt;&lt;div&gt;18.3.&amp;nbsp;&amp;nbsp;&amp;nbsp; Каналы и Фильтры&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;19.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Механизмы интеграции сообщениями&amp;nbsp;&lt;/div&gt;&lt;div&gt;19.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Маршрутизатор сообщений (Message Router)&lt;/div&gt;&lt;div&gt;19.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Транслятор сообщений (Message Translator)&lt;/div&gt;&lt;div&gt;Уровни преобразования данных&amp;nbsp;&lt;/div&gt;&lt;div&gt;20.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Жизненный цикл проекта по созданию (или интеграции) информационной системы на основании стандарта IEEE 1074&amp;nbsp;&lt;/div&gt;&lt;div&gt;20.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение&amp;nbsp;&lt;/div&gt;&lt;div&gt;21.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение в Rational Unified Process&amp;nbsp;&lt;/div&gt;&lt;div&gt;22.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Экстремальное Программирование (Extreme Programming)&lt;br /&gt;22.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение&amp;nbsp;&lt;/div&gt;&lt;div&gt;22.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Практики XP&amp;nbsp;&lt;/div&gt;&lt;div&gt;Планирование&amp;nbsp;&lt;/div&gt;&lt;div&gt;Дизайн&amp;nbsp;&lt;/div&gt;&lt;div&gt;Кодирование&amp;nbsp;&lt;/div&gt;&lt;div&gt;Тестирование&amp;nbsp;&lt;/div&gt;&lt;div&gt;23.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Конфигурационное управление (Software Configuration Management)&lt;/div&gt;&lt;div&gt;23.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Принципы SCM&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;Понимание сути SCM&lt;/div&gt;&lt;div&gt;Планы и политики SCM&lt;/div&gt;&lt;div&gt;Процессы SCM&lt;/div&gt;&lt;div&gt;Метрические показатели&amp;nbsp;&lt;/div&gt;&lt;div&gt;Инструменты для SCM&lt;/div&gt;&lt;div&gt;Элементы конфигурации SCM&amp;nbsp;&lt;/div&gt;&lt;div&gt;23.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Основные требования для системы SCM&lt;/div&gt;&lt;div&gt;Идентификация&lt;/div&gt;&lt;div&gt;Контроль&lt;/div&gt;&lt;div&gt;Аудит&lt;/div&gt;&lt;div&gt;Учет статуса&lt;/div&gt;&lt;div&gt;23.3.&amp;nbsp;&amp;nbsp;&amp;nbsp; Планирование и организация SCM&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Групповой синдром разработчика&lt;/div&gt;&lt;div&gt;Множественность версий&lt;/div&gt;&lt;div&gt;Семейство программных продуктов&lt;/div&gt;&lt;div&gt;Изменение требований&lt;/div&gt;&lt;div&gt;Изменение графика работ&lt;/div&gt;&lt;div&gt;Изменения ПО&lt;/div&gt;&lt;div&gt;Изменения штата&lt;/div&gt;&lt;div&gt;24.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Service Oriented Architecture. Основные положения. Понятие Сервиса&lt;/div&gt;&lt;div&gt;24.1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Введение&lt;/div&gt;&lt;div&gt;24.2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Классификация сервисов&lt;/div&gt;&lt;div&gt;Basic Services&lt;/div&gt;&lt;div&gt;Intermediary Services (Промежуточные сервисы)&lt;/div&gt;&lt;div&gt;Process-centric Services&lt;/div&gt;&lt;div&gt;Public Enterprise Services&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:23779</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/23779.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=23779"/>
    <title>Про клиентов</title>
    <published>2006-12-12T21:22:26Z</published>
    <updated>2006-12-12T21:22:26Z</updated>
    <category term="размышления"/>
    <content type="html">Клиенты бывают разные. Клиенты бывают хорошие, плохие, занудные и просто бесполезные. С хорошими приятно иметь дело, с плохими обычно все быстро заканчивается. А вот с занудными и бесполезными бывают разные ситуации. Такие клиенты могут эволюционировать в хороших или плохих, иногда остаются такими как есть. Лучше всего, когда клиент сам приходит к тебе и говорит, что ему надо. С такими работать, как правило, одно удовольствие и при выполнении незамысловатых условий клиент становится хорошим. Но таких очень мало. Плохим, клиент может стать разными путями, бывает, что клиент изначально плохой. В этом случае стоит подумать, а ваш ли это клиент вообще. Может быть проще будет не иметь с ним дела.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Интереснее обстоит дело с занудными клиентами. Эти товарищи всегда что-нибудь хотят, но не знают чего. Точнее, хотят они ГВП, но обычно ГВП уже все разобраны и приходится предлагать им то, что есть. В итоге процесс переговоров до старта проекта может затянуться на многие недели и месяцы. Когда все-таки проект начинается, то помощи от занудных клиентов ожидать не стоит. Им вечно, что-нибудь будет не нравиться, они всегда будут хотеть что-нибудь добавить, изменить и вообще увести проект в другую сторону. Они будут назойливый комар в темную ночь. Хорошо если проект действительно необходим бизнесу клиента. Если проект не является первоочередной необходимостью, то занудный клиент имеет все шансы перерасти в бесполезного. Такой клиент не только не будет интересоваться ходом проекта, но и может содействовать его провалу. Наверное все сталкивались с ситуацией, когда по условиям договора клиент обязуется предоставить ресурсы А, Б и В. Причем это могут быть люди, просто дополнительная информация или рабочие системы клиента. В реальности же А уходит в отпуск, про Б никто не знает, а В работает нестабильно и пользоваться ей можно только в 12 часов ночи. Если клиент бесполезный, то заставить его предоставить указанные ресурсы практически невозможно, разве что пригрозить рублем. Но, как правило, это не удается, потому клиент заказывает музыку. И вот приходится людям работать в ситуации когда отклика от заказчика не добиться неделями, ресурсы не предоставляет и вообще наплевательски относится к проекту. Зачастую такое случается в государственных организациях, защищенных всей мощью нашего отечества. В госструктурах проекты затеваются для галочки, для банального распила бюджета, выполненные проекты могут забыться через месяц и начаться новые. Или же проект находится в вялотекущей фазе пилота, когда не определены ни требования, ни сроки. Такой проект может длиться годами, а иногда начальство о нем может и не знать. Что делать в таких ситуациях я не знаю. Лучше всего, конечно, не попадать в такие проекты и к таким заказчикам. Но если уж попали, то будьте готовы ко всему.&lt;br /&gt;&lt;br /&gt;К чему это все? Работайте со своими клиентами, с хорошими клиентами, которые вас понимают и ценят.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:23399</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/23399.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=23399"/>
    <title>GWT с исходными текстами</title>
    <published>2006-12-12T20:34:20Z</published>
    <updated>2006-12-12T20:34:20Z</updated>
    <category term="google"/>
    <category term="ajax"/>
    <category term="open source"/>
    <category term="новости"/>
    <content type="html">Компания Google открывает исходные тексты Google Web Toolkit, средства разработки AJAX приложений на языке Java. Новый релиз 1.3 вышел уже по новой лицензии от Apache. Честно говоря, не знаю подробностей этой лицензии, но вроде она дает возможность «закрывать» исходники в последствии.&lt;br /&gt;Интересное движение, учитывая что на рынке фреймворков и библиотек для создания AJAX приложений пока нет ярко выраженного лидера. Потенциально, им может стать Google. Вопрос, зачем это им надо при их финансовой мощи? Тем не менее приятная новость.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:23007</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/23007.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=23007"/>
    <title>Ну что ж, вот и дождались.</title>
    <published>2006-12-11T15:38:10Z</published>
    <updated>2006-12-11T15:38:10Z</updated>
    <content type="html">Сегодня в Лондоне компания Sun Microsystems объявила о выпуске релиза новой платформы Java Platform Standard Edition (Java SE 6). В пресс-релизе очень много размышляют об объёмах работ и инвестиций, о количестве участников процесса разработки новой революционной платформы, я замечу о нескольких нововведениях, которые, на мой взгляд, носят инновационный характер, но опять же, в рамках Java платформы.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Во-первых, некоторые улучшения связанные с Web Services и Web 2.0 Development.&lt;/li&gt;&lt;li&gt;Во-вторых, поддержка скриптовых (динамических) языков.&lt;/li&gt;&lt;li&gt;И, в-третьих, поддержка Windows Vista. &lt;br /&gt;&lt;br /&gt;Обо всех остальных подробностях можно почитать на сайте производителя, да и по новостям порыться, не вижу смысла сюда перекладывать весь список изменений и улучшений. &lt;br /&gt;&lt;/li&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:22650</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/22650.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=22650"/>
    <title>Продолжение темы</title>
    <published>2006-12-04T20:17:17Z</published>
    <updated>2006-12-04T20:17:17Z</updated>
    <category term="размышления"/>
    <content type="html">О чем же хотел написать. Свалилось тут как-то на днях письмо от одной не-ИТ компании. Тамошние разработчики пытаются сравнивать Terracota в контексте с нашим продуктом. Вопрос, конечно, немного наивен с точки зрения политики, потому как ни один производитель софта не будет говорить ничего плохого о своем софте. Тем более в сравнении с другим. &lt;br /&gt;&lt;br /&gt;Суть в другом. От не-ИТ компаний обычно таких подробностей и желания влезать в глубь софта не ждешь, им, как правило, необходимо чтобы все работало и не важно как. Они и разработку то могут отдать на сторону. А тут возник такой интерес. Про Terracota не слышали и многие-то разработчики. Что уж там говорить про компании, у которых ИТ это не профильный бизнес. Я с этой компанией уже пересекался и должен сказать, что тамошних ИТшников я уважаю, они действительно грамотные и выбирают оптимальные решения. Ну а называть ее я не буду, чтобы не было рекламы.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:22353</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/22353.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=22353"/>
    <title>Про open source</title>
    <published>2006-12-04T19:54:09Z</published>
    <updated>2006-12-04T19:54:09Z</updated>
    <category term="terracota"/>
    <category term="размышления"/>
    <category term="open source"/>
    <content type="html">Наткнулся на новость – Terracota открывает исходные тексты системы Terracota DSO, это система прозрачной кластеризации JVM. То есть, у вас есть объект, классический POJO, а на самом деле он размазан по нескольким JVM и каждая обладает актуальной копией. Если я ничего не напутал.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt; &lt;br /&gt;Решение, в общем-то, интересное. Интересно другое – почему они его открыли. Мне вообще не понятно, чем обуславливаются такие решения в небольших компаниях. Было-было закрытое решение, и вот, давайте-ка откроем. На TSS уже успели написали много буковок, как в новости, так и в комментариях. Но читать, по большому счету спам, в комментариях не хочется. Попробую подумать, что может дать такое решение для компании, причем не только Terracota, а вообще, любой, которая захотела открыть исходные тексты. Компании уровня Sun, IBM, Oracle отпадают, у них слишком узнаваемые продукты и бренд, поэтому их поделки будут смотреть в любом случае. А вот, что это дает небольшим компаниям, это вопрос.&lt;br /&gt;&lt;br /&gt;Наверное, в первую очередь узнаваемость продукта. В частности, та же Terracota собирается работать с проектами Geronimo и Glassfish. Понятно, что использование любого продукта в разработках уровня Geronimo/Glassfish это серьезный бонус. По сути, используется сила брендов Apache и Sun для увеличения узнаваемости. А если продукт действительно хороший и он понравится разработчикам, то это гарантирует продукту успешную жизнь как минимум в технологичных компаниях. В таких компаниях, как правило, делается упор на качество решений, а не на их универсальность. И при принятии решений большую роль играют технические специалисты. Примером такой компании была компанию BEA лет 6-7 назад. Если посмотреть дальше, то теоретически продукт может стать лидером на своем рынке. Но тут возникает другой вопрос.&lt;br /&gt;&lt;br /&gt;А как быть с доходами? Если открыть исходные тексты, то стоимость продукта это стоимость его компиляции. То есть стремится к нулю и зарабатывать на нем становится сложнее. Поэтому в расчет берутся другие схемы. Во-первых, лицензирование. Можно, открыть исходные тексты не для коммерческого использования. В таком случае, это, наверное, не совсем честный open source. В целом, можно играться лицензированием и балансировать на гране – открытый продукт / деньги за использование. Но если очень сильно ограничить использование продукта лицензией, то это может наоборот оттолкнуть разработчиков. Второй вариант заработка это сервис на базе продукта. То есть поддержка, обучение, помощь в использовании, внедрении. Если продукт небольшой и несложный, то тут нет золотого дна. По крайней мере, я его не вижу. В случае с JBoss / Rad Hat масштаб другой и на этом можно действительно делать деньги. Еще вариант – строить коммьюнити, что достаточно перспективно. Но как зарабатывать на коммьюнити это отдельная тема.&lt;br /&gt;&lt;br /&gt;Третий и, наверное, последний пункт это интеллектуальная собственность. Может быть я параноик и не верю в лицензии, потому что вырос в России, но мне кажется, что при желании и некотором финансировании, можно разобрать изделие, изучить как работает и переписать, внеся улучшения. Получится другой продукт, который можно выпускать уже по своей лицензии. Естественно, переработка в таком случае должна быть достаточно глубокой, да и возможна только для небольших разработок. Применить такой подход, например, для ядра Линукс нереально.&lt;br /&gt;&lt;br /&gt;В итоге, узнаваемость продукта / бренда плюс грамотная лицензионная политика перевешивает все минусы. Хотел бы я послушать какого-нибудь апологета по этому вопросу.&lt;br /&gt;&lt;br /&gt;P.S. а написать, как обычно, хотел на другую тему.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:22031</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/22031.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=22031"/>
    <title>Релиз Windows Vista</title>
    <published>2006-12-03T19:39:10Z</published>
    <updated>2006-12-03T19:39:10Z</updated>
    <category term="microsoft"/>
    <category term="новости"/>
    <content type="html">Наверное уже все знают. Официально объявлено о выходе Windows Vista и Office 2007 для корпоративных пользователей. Можно заказывать.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:21806</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/21806.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=21806"/>
    <title>Про консультантов</title>
    <published>2006-11-29T22:55:03Z</published>
    <updated>2006-11-29T22:56:35Z</updated>
    <category term="размышления"/>
    <content type="html">Сидел как-то я на днях у клиента. У клиента начинается новый проект, естественно, интеграционный. В общем, как обычно в начале проекта, обследование, выяснение того, что же все-таки предстоит делать потом. Так как все это было не на пустом месте, то я уже видел предварительный список задач и план проекта. Первое, что меня насторожило в плане, так это задачи вида «анализ структур данных» длительностью в один день. Кроме этого анализа там была еще парочка таких же задач длительностью в пол дня или день. На практике такие задачи за день не решаются. Даже если клиент предоставит все материалы по своей ИТ инфраструктуре и все будет в отличной сохранности, то теоретически провести анализ какого-нибудь справочника за один день. Но потом все равно потратится неделя или месяц на согласование форматов между двумя системами. Я еще ни разу не видел интеграционного проекта, который бы завершился в срок, даже самый пессимистичный. Причем, как правило, бОльшая часть времени уходит именно на анализ и согласование, а не на собственно разработку. Потом еще внедрение всего этого дела чего стоит.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Это было вступление. Хотел-то написать совсем о другом. В итоге, сижу у клиента, разбираюсь в структурах данных, пытаюсь концы с концами свести. Тут мне заносят несколько печатных документов, мол, почитай, может интересно. Причем, сказали, что я «этих документов не видел». Когда я разобрался с изначальными задачами, я заглянул в эти документы. Что же я там увидел. Первый, описывал ИТ структуру организации, довольно крупными мазками с указанием какой софт какие проблемы решает. Все это с большим применением UML. Второй, рассматривал механизм перехода от одной системы к другой, причем суть сводилась к выбору из нескольких вариантов: перейти сразу на новую систему и выкинуть старую, перейти постепенно, заменяя старую систему новой и что-то еще было третье, не помню. Решение, в общем-то, очевидно. Ничего плохого о документах я не могу. В целом они просто очевидны и не содержат ничего секретного. Суть в том, что они были сделаны другой организацией. Т.е. кто-то хорошо заработал на составлении банальных документов для клиента. Просто чуть-чуть заформализовал текущую ситуацию у клиента. &lt;br /&gt;&lt;br /&gt;Вот такая работа у консультантов. Опять же я не хочу говорить ничего плохого о консультантах, они бывают разные. Но писать очевидную макулатуру это дискредитация профессии.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:21726</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/21726.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=21726"/>
    <title>Лаба HP в Питере</title>
    <published>2006-11-29T22:22:45Z</published>
    <updated>2006-11-29T22:23:26Z</updated>
    <category term="research"/>
    <category term="hp"/>
    <category term="новости"/>
    <content type="html">Прочитал на &lt;a href="http://itblogs.ru/blogs/hr/archive/2006/11/29/9849.aspx"&gt;itblogs.ru&lt;/a&gt;. HP открывает лабу в Питере. Если посмотреть на их сайте, то появилась несколько объявлений о найме на работу в лабу. В том числе нанимают директора. Очень хотят видеть Ph.D. у кандитатов. Вот пришла пора HP осваивать Питер. &lt;br /&gt;&lt;br /&gt;Может, пора перебираться в Питер, а дальше в Финляндию? :)</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:21438</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/21438.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=21438"/>
    <title>Борьба с пиратством</title>
    <published>2006-11-29T22:15:37Z</published>
    <updated>2006-11-29T22:16:10Z</updated>
    <category term="пиратство"/>
    <category term="piracy"/>
    <category term="новости"/>
    <content type="html">В рамках переговоров России с США о вступлении нашей страны в ВТО была достигнута интересная договоренность. Россия согласилась с требованиями закрыть сайт allofmp3.com, а так же другие подобные сайты, нарушающие права владельцев записей. И в целом согласились бороться с пиратством, а этот сайт является просто костью в горле у всех звукозаписывающих компаний. Поэтому в первую очередь решили начать с него.&lt;br /&gt;&lt;br /&gt;Тем временем злополучный сайт отрицает все нападки и утверждает, что у него все в порядке с законом, что они выплачивают комиссионные соответствующей организации (Russian Multimedia and Internet Society, не знаю как она переводится на русский язык). Мол, вот с нее и надо все справшивать. История гонений на allofmp3 началась давно, а в последнее время обострилась. Visa и MasterCard перестали принимать платежи с этого сайта. Суд Дании постановил перекрыть доступ к этому сайту, причем должен был это сделать шведский провайдер. Интересно, чем это все кончится, закроют его наконец или сайт все еще переживет?</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:21080</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/21080.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=21080"/>
    <title>Что даст Java новая лицензия?</title>
    <published>2006-11-27T20:02:39Z</published>
    <updated>2006-11-27T20:05:19Z</updated>
    <category term="java"/>
    <category term="размышления"/>
    <category term="open source"/>
    <content type="html">В продолжение темы open source Java. Шуму было много, а вот, что это несет в действительности, мало кто высказывался. Одно из самых первых соображений, которые у меня появилась после прочтения информации об открытии исходных текстов Java, было следующее – а что же это даст в перспективе? И вот, роясь на просторах Интернета, на сайте oreilly я нашел заметку про будущее перспективы. Выводы, в общем-то, очевидные, практически совпадающие с моими. Только умный человек сел и написал это до меня.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;В ближайшей перспективе, то есть до года, это не даст ничего. Хороший пример это Firefox. Компания Netscape открыла тексты своего браузера уже достаточно давно, и прошло несколько лет, прежде чем птица феникс возродилась в образе нового браузера. Честно говоря, не знаю, сколько в Firefox осталось от Netscape, но возрождение оказалось более чем удачным.&lt;br /&gt;&lt;br /&gt;Поэтому интересно посмотреть на далекую перспективу, то есть несколько лет.&lt;br /&gt;Лицензия GPL дает возможность распространять Java вместе с Линукс. В потенциале Java может стать таким же must have пакетом для Линукс, как например gcc. То есть, становиться возможным писать программное обеспечение, не задумываясь, что пользователю придется искать рантайм. Конечно, более-менее серьезные разработки тянут в дистрибутиве свой рантайм, но для небольшим разработок наличие Java будет плюсом.&lt;br /&gt;&lt;br /&gt;Станет проще добавлять новые языки поддерживаемые JVM. Уже сейчас можно говорить от поддержке Groovy и JBuby. А почему бы не добавить тот же C#? Хотя, это не несет серьезной смысловой нагрузки, все дело в волшебных библиотеках. А они то как раз отличаются.&lt;br /&gt;&lt;br /&gt;Возможно появление специализированных реализаций платформы, заточенных на какую-то конкретную область. Например, проект JRockit начинался как hi-end JVM для выполнения серверных приложений. Или экспериментальные версии Java, с поддержкой каких-нибудь экзотических технологий или расширений.&lt;br /&gt;&lt;br /&gt;Если GPL лицензирование действительно даст заметный положительный эффект, то стоит ожидать ответных шагов Microsoft. Тут можно фантазировать, но то, что они будут и будут предельно жесткими можно не сомневаться.&lt;br /&gt;&lt;br /&gt;В заметке есть и другие интересные предположения. Ее можно почитать &lt;a href="http://www.oreillynet.com/onjava/blog/2006/11/open_java_changes_everything.html"&gt;тут&lt;/a&gt;.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:20878</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/20878.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=20878"/>
    <title>Мобильная коммерция</title>
    <published>2006-11-27T17:29:59Z</published>
    <updated>2006-11-27T17:29:59Z</updated>
    <category term="e-commerce"/>
    <category term="билайн"/>
    <category term="новости"/>
    <content type="html">Билайн ввел услугу оплаты связи с кредитной карты, используя для этого только телефон. Для этого карточка регистрируется на номер телефона и потом, используя хитрые сочетания кнопочек, на телефоне можно перевести деньги с карточки на свой счет в Билайне. Как говорят, первых шаг к мобильной коммерции. До этого Билайн ввел возможность переводить деньги с одного счета связи на другой, а теперь дальнейшее развитие. В Японии, по-моему, разнообразные возможности оплаты чего-либо, используя только телефон, ввели достаточно давно. Только вот не помню что именно. Мне в этом процессе нравится следующий факт. Потенциально, становится возможным управление транзакциями своего банковского счета через мобильную связь. Например, покупаешь в Интернет магазине, привозят тебе товар, я его смотрю и перевожу деньги используя телефон. Чем это отличается от использования обычных карт? Тем, что пользователь инициирует транзакцию или же подтверждает (а возможно запрещает) инициированную кем-то другим. Во-первых, это дает большую безопасность, так как пользователь карты всегда видит производимые действия с картой и может их заблокировать. Во вторых, пользователь сам может оплатить, вообще не используя карту. А может быть такое уже есть и я просто об этом не знаю?</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:20496</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/20496.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=20496"/>
    <title>IBM и Cray будут строить суперкомьютеры</title>
    <published>2006-11-22T20:06:16Z</published>
    <updated>2006-11-22T20:06:16Z</updated>
    <category term="sun"/>
    <category term="cray"/>
    <category term="новости"/>
    <category term="ibm"/>
    <content type="html">Компании IBM и Cray выиграли контракт на поставку правительству США нового суперкомпьютера. В тендере еще участвовала компания Sun, но она отпала в последнем раунде. За разработку суперкомпьютера Cray получит $250M, а IBM $244M.&lt;br /&gt;&lt;br /&gt;Во вторник DARPA (кто же их не знает) подписала четырехлетний контракт на создание суперкомпьютера в 100 раз более мощного чем, чем самый мощный на текущий момент. Причем он должен быть легко программируемым и легко управляемым. Самый быстрый компьютер это IBM BlueGene, мощностью 360 терафлоп. Прототипы обещают сделать к 2010 году.&lt;br /&gt;&lt;br /&gt;DARPA заявляет, что цель проекта это создание нового поколения экономически выгодных, высокомощных вычислительных систем, которые могут использоваться в национальной безопасности и в высокотехнологичных отраслях.&lt;br /&gt;&lt;br /&gt;Честно говоря, не думал, что компания Cray еще жива и выигрывает такие контракты.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:20262</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/20262.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=20262"/>
    <title>Опять про Google и немножко о рекламе.</title>
    <published>2006-11-22T16:21:48Z</published>
    <updated>2006-11-22T16:29:18Z</updated>
    <category term="реклама"/>
    <category term="google"/>
    <category term="ведомости"/>
    <category term="yahoo"/>
    <category term="reuters"/>
    <category term="билайн"/>
    <content type="html">&lt;p&gt;Каких то существенных движений нет, но про Google наверное стоит сделать пару заметок.&lt;/p&gt;&lt;p&gt;Сегодня акции Google привысили стоимость 500$ за акцию, выросли на 1.8%. Пожалуй более спекулятивной публичной компании в сфере IT не существует. Почему выросли сложно сказать, возможно это связанно с недавними подвижками поискового гиганта в сторону печатной рекламы, а возможно просто спекулянты активизировались.&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;div class="ljcut" text="Напомню, что недавно Google заявил о выходе на рынок рекламы"&gt;Напомню, что недавно Google заявил о выходе на рынок рекламы в печатных изданиях. Насколько я помню суть, Google выделял себе роль рекламного агента, в каком-то роде. Т.е. Google будет предоставлять механизм размещения рекламы в печатных изданиях и её оплаты на основе своих сервисов. Достаточно очевидно, что такое взаимодействие рекламодателям интереснее, ввиду масштаба который предполагается. В той же новости озвучивалось количество печатных изданий заинтерисовавшихся подобной услугой.&lt;p&gt;И ещё немножко новостей о рекламе в интернете.&lt;/p&gt;&lt;p&gt;Буквально через неделю после Google, об размещения контекстной рекламы в печатных изданиях заговорил Yahoo. Видимо почувствовали, что теряют перспективный рынок.&lt;/p&gt;&lt;p&gt;Сайт Ведомости, первые в рунете (насколько мне известно) предоставили новый вид имиджевой рекламы - "подложка". Суть в размещении рекламы в виде фона страницы, и завязана на свойство браузеров не отображать таблицы до их полной загрузки. А учитывая объёмы данных, и загруженность новостных серверов, загрузка длиться пару секунд даже на скоростных каналах. Таким образом сегодня например, можно 1-2 секунды любоваться логотипом Pilsner Urquell. Подобного эффекта добивались показом огромного флеш-баннера на этапе загрузки страницы, но некоторые его (флеш) отключают, а некоторые бесятся когда им так сильно навязывают чей-нибудь логотип.&lt;/p&gt;&lt;p&gt;Сегодня увидел как на РБК, в табличке с котировками, Билайн пиарится. Неудобно жуть, обычно котировки раскрашиваются в соответствии с изменением, а тут "вклинивается в мозг" графа с датой раскрашенная в чёрно-жёлтые полоски.&lt;/p&gt;&lt;p&gt;Reuters, пожалуй самое авторитетное информационное агенство в мире, на днях купил за 7$ млн. у Austin Ventures долю акций компании Pluck Corp., разработчика проекта BlogBurst. И, судя по всему, начнёт транслировать информацию из дневников через свои информационные каналы. Для меня это было неожиданностью, но если подумать, проект BlogBurst обеспечивает информацией из дневников такие печатные издания как The Washington Post, San Francisco Chronicle, The Guardian, Reuters и т.д. А чем само ИА хуже издаваемой им же газеты? До этого ИА Reuters начало обеспечивать информацией портал Yahoo, на каких условиях незнаю.&lt;/p&gt;&lt;p&gt;Хочется написать про блоги много, но уже итак эту тему мусолят на каждом углу, поэтому не буду.&lt;/p&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:20041</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/20041.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=20041"/>
    <title>Мысли по поводу GPL и прочего.</title>
    <published>2006-11-22T12:34:40Z</published>
    <updated>2006-11-22T14:20:26Z</updated>
    <category term="java"/>
    <category term="gpl"/>
    <content type="html">&lt;p&gt;Недавно писал об открытии исходников Java под лицензией GPL, писал о возмущениях IBM по этому поводу. Я думаю другие вендоры разделяют их настрой и опасения. Теперь у меня сформировалось какое никакое, но своё мнение по этому поводу, которым и хочу поделиться. Возможно получиться сумбурно, но надеюсь мысль будет улавливаться.&lt;/p&gt;&lt;p&gt;Итак, что же такое GPL и с чем его едят. Я думаю рассказывать о самой лицензии и её истории смысла нет, о проектах под ней тоже, я коснусь своих мыслей по поводу проблем.&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;div class="ljcut" text="Основная проблема такого вида лицензии, на мой взгляд..."&gt;Основная проблема такого вида лицензии, на мой взгляд, в невозможности сокрыть модифицированные версии. Разрабатывая на основе открытих проектов под лицензией GPL, любой человек лишается возможности заработать денег прямым и простым способом, а именно продавая своё творение. Пусть ты предлагаешь трижды революционную и инновационную технологию или продукт, ты обязан открыть исходные коды, ежели базируешься на разработках под этим типом лицензий. Именно это, на мой взгляд, в большей степени останавливает развитие такой "замечательно" операционной системы как Linux. Именно эта лицензия не даёт толком заработать денег компании RedHat (о которой я писал ниже).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Если бы не данная специфика лицензии GPL, уже давно появились бы удобоваримые и пользовательско-ориентированные ОС на базе Linux, которые стоили бы дешевле чем Windows и были бы не менее пригодными для использования. Хотя, конечно, энтузиастов, подкармливаемых большыми вендорами всё же хватает итак.&lt;br /&gt;&lt;br /&gt;Вот взять проект Apache Group, у них другая лицензия, их продукты можно модифицировать и скрывать исходники и&amp;nbsp;выпускать под собственными лицензиями, и, на мой взгляд, этот проект движется куда как более активно нежели Linux. И пользы от них больше, если вдуматься то на ниве Java технологий они впереди планеты всей, наверное большая часть популярных ныне технологий, в рамках платформы Java, основана на их разработках. И вендоры их поддерживают более охотно.&lt;br /&gt;&lt;br /&gt;Мне кажется текущая лицензия GPL была изобретена с антиглобалистическими настроениями.&lt;br /&gt;Если Java выйдет под такой лицензией и при этом появится какая-нибудь, более менее конкурентноспособная технология, многие крупные вендоры типа IBM, Oracle, BEA и т.п. начнут пиарить её в ущерб Java. А какой удар будет нанесён по развивающемуся нынче рынку мобильных платформ? Хотя это просто предположения и возможный вариант развития событий. Всё таки на сегодняшний момент слишком много в это вложено, что бы так просто отказываться.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Одним энтузиастам не удастся двигать какую-либо масштабную технологию или продукт. Без поддержки крупных вендоров они будут вне мейнстрима. А учитывая то, что даже самый отъявленный альтруист в душе мечтает стать миллионером, будущее выглядит удручающим.&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:19851</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/19851.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=19851"/>
    <title>Red Hat выходит на Нью-Йоркскую Фондовую Биржу (NYSE)</title>
    <published>2006-11-22T12:13:57Z</published>
    <updated>2006-11-22T13:15:37Z</updated>
    <category term="nyse"/>
    <category term="red hat"/>
    <category term="linux"/>
    <content type="html">Куча всяких новостей, может быть не совсем интересных, но хочется написать о чём то более глобальном, нежели мои мысли. &lt;br /&gt;&lt;br /&gt;Red Hat выходит на Нью-Йоркскую Фондовую Биржу (NYSE), заявляют о прохождении первичной регистрации. Акции начнут котироваться с 12 декабря 2006 года под тикером RTH (Прямо Real Trans Hair).&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Ну что можно сказать по этому поводу, хотелось бы верить, что при&amp;nbsp;правильном сотрудничестве с&amp;nbsp;IBM, Oracle и иже с ними, компании удастся выступить хорошо. До этого акции Red Hat уже выходили в 1999 году&amp;nbsp; на NASDAQ (собственно говоря и по сей день они там до выхода на NYSE), но как-то неубедительно. В 2000 году был стремительный взлёт с отметки 20$ до 150$, а потом такой же стремительный спад, и уже на протяжении последних 5 лет стоимость акции не привышает 30$. На текущий момент вообще 16-17$, и это несмотря на то, что с 1997 года (момент получения начальных инвестиций, а по сути дела рождения компании) и до 1999 компании удалось занять 25% рынка серверных операционных систем. Казалось бы им (акциям) бы только расти и расти, ан нет, слишком перегрета была компания, да и рынок тоже, в итоге рухнул рынок и на фоне его падения акции самой компании нарисовали ещё более крутое пике.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Мне кажется RedHat умеет работать, умеет делать, показать себя, рассказать, привлечь внимание, умеет буквально всё, но не знает как на этом заработать денег. Видимо не совсем пригодная бизнес-модель была выбрана. Хотя Майкрософту они на нервах всё же сыграли.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Вспоминая инцидент с Oracle, о котором я не так давно писал, думаю, что если RedHat не изменит своих подходов к зарабатыванию денег, если не найдёт другую стратегию и т.д, недолго ей куковать на NYSE, вытеснят её Oracle и IBM.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Кстати аналитики связывают выход на NYSE как раз с необходимостью сдержать падение акций компании, связанному с объявлением Oracle о выпуске собственного дистрибутива Linux.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:19647</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/19647.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=19647"/>
    <title>Не свой бизнес</title>
    <published>2006-11-21T19:55:26Z</published>
    <updated>2006-11-21T21:28:25Z</updated>
    <category term="размышления"/>
    <content type="html">В продолжение темы о проектах, разработчиках и менеджерах. Хотел написать чуть-чуть другое, но обстоятельства вынуждают затронуть другую тему.&lt;br /&gt;&lt;br /&gt;Представьте, есть большая богатая организация с распределенной структурой и большим количеством клиентов. Автоматизацией занимается давно, обладает большими ресурсами в центре, и также существуют распределенные системы, часть в центре, часть на периферии. Департамент ИТ большой, ведет много проектов связанных с предоставляемыми продуктами и услугами. Несмотря на что, что сфера деятельности организации никак не связана с ИТ, в департаменте занимаются полноценными разработками достаточно сложных систем. Как ведутся проекты это отдельная интересная тема.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;И вот пришла пора что-то делать с одной из существующих систем, не выдерживает нагрузки. Построена она по классической архитектуре клиент-сервер, логика написана на хранимых процедурах, а клиент соответственно делает обращения к БД и управляет транзакциями. Понятно, что при таком подходе сетевые операции ввода-вывода происходят в рамках транзакций, что отрицательно сказывается на производительности. Возможно, есть еще какие-то косяки, я не вникал. И вот надо перевести систему на новые рельсы и в том числе улучшить производительность. Естественное решение, которое возникло это переделать систему по трехуровневой архитектуре с сервером приложения. Господа из ИТ департамента предлагают же следующее – оставить хранимые процедуры, сделать к ним единственную точку входа. А через эту точку гонять веб-сервисы и, соответственно XML, между клиентом и базой. Причем, какая часть системы будет заниматься разбором и сбором XML сообщений пока неизвестно. Таким образом, сервер приложений будет служить пулом соединений с БД. А предлагают такое решение в организации по незнанию всех возможностей трехуровневой схемы.&lt;br /&gt;&lt;br /&gt;К чему это все, спросите вы? А то, что не стоит заниматься непрофильным бизнесом. Если бы эта организация отдала бы разработку на аутсорсинг тем же системным интеграторам, то качество систем было бы заметно выше. А если уж вляпались в разработку, то повышайте квалификацию людей.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:19343</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/19343.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=19343"/>
    <title>Про разработчиков и менеджеров</title>
    <published>2006-11-19T20:54:12Z</published>
    <updated>2006-12-12T21:27:30Z</updated>
    <category term="размышления"/>
    <content type="html">В связи с предстоящими работами, вопрос о том, как выполняются ИТ проекты, стал более назойливым. Выполнение и управление проектами это два больших связанных вопроса, которые давно меня интересуют. Причем даже не знаю что больше – управление проектами или же само выполнение работ. Возможно, это одно и тоже, просто два разных взгляда на один процесс: управленческий и технический.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Начнем с технического взгляда. Разработчику, как правило, не очень интересен вопрос управления, бюджет, сроки и бизнес заказчика. Его не интересует политика вокруг проекта, она даже вредна для разработчика. Ему интересна сама разработка, решение технических задач, в общем, процесс творения. Разработчику интересно может испробовать новые технологии в проекте, возможно и ущербом для всего проекта. Он может сделать какую-нибудь фичу, которая покажется ему полезной для клиента, даже если и клиент за нее и платил и она для него абсолютно бесполезна. Разработчик как правило стремится к внутренней красоте проекта и может до бесконечности приводить в «порядок» код, просиживая на работе по вечерам. Его может коробить от слов - сроки, бюджет, планирование. Понятно, что это некий собирательный образ и у разных людей процесс разработки может вызывать разные чувства и желания. Хороший разработчик это творческий человек, которому нравится ковыряться в коде, создавать новое и открывать для себя далекие горизонты. С этой точки зрения разработчик похож на скульптора, который берет глину и начинает потихоньку вылепливать из нее свое произведение искусства. Разница лишь в том, что программист работает с чистой абстракцией, ее нельзя потрогать, понюхать. Эту абстракцию можно лишь опосредовано наблюдать на экране монитора.&lt;br /&gt;&lt;br /&gt;А что же управление? Управление проектами это совсем другое, это приземленная деятельность, когда все вокруг вертится вокруг решаемых задач, сроков и бюджета. А как следует из законов Мерфи, точно определить можно только две сущности. Плюс к этому примешивается общение с клиентом, вышестоящим начальством и разработчиками. То есть на одном месте не посидишь и необходимо решать какие-нибудь возникающие вопросы. С этой точки зрения можно сказать, что исполнителя интересует решения задач клиента в поставленные сроки, уложивших в указанный бюджет. И тут совсем нет места творчеству, как оно видится с точки зрения разработчика. Более того, творчество разработчика может вызвать дополнительную головную боль, когда кто-нибудь из команды разработки перед сдачей проекта или перед контрольной точкой что-нибудь изменит в проекте, и сломаются все тесты. Задача менеджера балансировать между жесткостью ограничений и творчеством разработчиков. Если загнать разработку в узкие и формализованные рамки, то, наверное, из этого ничего хорошего не получится. Как кто-то говорил – все сертифицированные процессы гарантируют получение продукта среднего качества за средний бюджет и за средние сроки. Я не утверждаю, что таким образом нельзя делать проектов, просто есть шанс растерять самых талантливых программистов. Как правило, таланты не любят правил и ограничений, им нужна свобода творчества. Если поступить по-другому, и дать свободу команде, то можно получить полную анархию, когда каждый разработчик будет делать что захочет и как захочет. В итоге так же ничего хорошего не получится. И менеджеру остается искать эту золотую середину, которая позволит и выполнить проект и не сделать из разработчиков станков на предприятии. Тут, конечно, необходимо вырабатывать общий консенсус, который будет устраивать обе стороны. Все это немного идеализированный взгляд на процесс.&lt;br /&gt;&lt;br /&gt;В реальности все намного сложнее. Возникает множество вопросов, о которых я попробую порассуждать чуть позднее.&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:18263</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/18263.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=18263"/>
    <title>Релиз IDEA 6.0.2</title>
    <published>2006-11-16T20:23:00Z</published>
    <updated>2006-11-16T20:23:44Z</updated>
    <category term="jetbrains"/>
    <category term="размышления"/>
    <category term="idea"/>
    <category term="Новости"/>
    <content type="html">Собственно, вся новость в заголовке. Выпущен новый релиз IntelliJ IDEA 6.0.2. Как обычно баг-фиксы и минимум изменений в функционале. Однако в RSS заметке о релизе есть пара слов о поддержке GWT в новой версии. Может быть Google заплатил за рекламу своего фреймворка? Надо бы попробовать и новую версию и гуглевский тулкит, а то отстану от жизни.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Честно говоря, я всегда восхищался продуктами JetBrains и они являются примером как надо делать качественный и удобный софт, и в тоже время пример того, как можно организовать успешную компанию в ИТ, которая довольно успешно экспортирует свои продукты и в определенном смысле является законодательницей мод. Так, пожалуй, хватит хороших слов, а то перехвалю. Я, в общем-то, хотел снова вернуться к вопросу, который поднял несколько постов назад. Рынок IDE для Java достаточно узкий и на нем есть другие очень сильные игроки, тот же Eclipse. Поэтому для обеспечения устойчивого положения компании необходимо диверсифицировать деятельность. Кроме IDE для Java, компания начала выпускать ReShaper, плагин для VisualStudio и несколько других продуктов. Был неудачный проект Fabrique, идея то была правильная, но реализация ушла не в ту сторону. Кстати, до сих пор нет подобной разработки. Если бы сделать качественную IDE для разработки server side приложений на основе принятых стандартов, то ей не было бы цены. Да, это достаточно сложно, так как стандарты меняются, меняется мода на разработку, сейчас например в фаворе ajax технологии. Успевать добавлять поддержку в IDE всех новых возможней практически нереально. Поэтому современные IDE обеспечивают базовый функционал, без специальной заточки под определенные проекты. Я, конечно, не маркетолог, но мне кажется, определенные разработки в этой области пользовались бы спросом. Еще сейчас очень актуальны наборы JSF компонент с поддержкой ajax и визуальными редакторами в IDE (а есть ли такой в шестой версии IDEA?), особенно когда Microsoft наращивает свое присутствие на этом рынке. Я опять ушел в сторону. Неужели на продажах одних только лицензий на продукты можно развивать компанию? Я считаю, что тяжело. Все ж по большому счету JetBrains это компания одного продукта (поправьте если не так), а, значит, очень подвержена изменениям на рынке. Поэтому последние несколько лет, я боюсь, как бы их кто не купил или просто не хватит ресурсов на развитие новой версии. Хотя по большому счету не представляю, кому это окажется полезным, у всех уже есть свои разработки. Но купить могут и для других целей. На эту тему можно придумать много всего, не обладая сколь угодно верной информацией, поэтому засим откланиваюсь.&lt;br /&gt;&lt;br /&gt;Ну что скажите?&lt;br /&gt;&lt;br /&gt;P.S. А еще у меня бесплатная версия OmeaReader ;)&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:itlame:18161</id>
    <link rel="alternate" type="text/html" href="http://itlame.livejournal.com/18161.html"/>
    <link rel="self" type="text/xml" href="http://itlame.livejournal.com/data/atom/?itemid=18161"/>
    <title>Висту уже сломали</title>
    <published>2006-11-15T22:52:50Z</published>
    <updated>2006-11-15T22:52:50Z</updated>
    <content type="html">Пока что нет интересных событий, а собраться написать мысли вслух нет времени. Поэтому пока будет небольшая заметка.&lt;br /&gt;&lt;br /&gt;Не успела компания Microsoft толком зарелизить новую версию Windows и Office, как появились пиратские версии. На определенных сайта, да и в пиринговых сетях я думаю тоже уже есть, доступны для скачивания две версии Висты. Первая с ключом для активации операционной системы, а вторая просто с кряком, который позволяет активировать версию. В ответ Microsoft заявляет, что, мол, это не последняя версия, что ключи долго не проработают и будут заблокированы их платформой блокировки программного обеспечения и вообще эта версия обладает ограниченным функционалом. Понятно, что Microsoft может через тот же Windows Update сломать такие инсталляции, но, честно говоря, я не верю, что ситуация изменится к лучшему. Как ломали их софт, так и будут. Особенно у нас.&lt;br /&gt;&lt;br /&gt;Где-то недавно пролистал статью, оценивающую, сколько же в реальности стоит Виста. Насчитали около $245, что довольно много на мой взгляд. Статья была на русском языка, где она была, я не помню, и я теперь мучаюсь вопросом – это наши сколько насчитали или все же статья переведенная. Особенно поразил тот факт, что они готовы платить 10 центов в день, если не ошибаюсь за аэро эффект в Висте. Понимаю, есть люди, которым нравятся все эти шашечки, но я с большой долей вероятности отключу все эти фичи, так как мне нужно ехать, а не смотреть на шашечки. Опять же, почему системные требования все время растут? Причем серьезно, а функционал принципиально не меняется со времен Windows NT. Да, конечно, добавилось много нового функционала, но, простите, полгига памяти для минимальной конфигурации это слишком много. И выход новой ОС подстегнет рынок ПК и комплектующих. Тандем Wintel живет и процветает.&lt;br /&gt;&lt;br /&gt;А вообще, если бы не Билл Гейтс, то мы бы уже ходили по Марсу (с) не помню.</content>
  </entry>
</feed>
