<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8666058998503471555</id><updated>2024-09-01T07:28:09.605-07:00</updated><category term="Философия программирования"/><category term="Управление проектами"/><category term="ООП"/><category term="Гради Буч"/><category term="Дейв Томас"/><category term="Энди Хант"/><category term="Бертран Мейер"/><category term="Джоэл Спольски"/><category term="Стив Макконнелл"/><category term="Алан Шаллоуей"/><category term="Джеймс Р. Тротт"/><category term="Тестирование и отладка"/><category term="Том Демарко"/><category term="Шаблоны проектирования"/><category term="SICP"/><category term="Боб Мартин"/><category term="Фредерик Брукс"/><category term="Дж. Ханк Рейнвотер"/><category term="Мартин Фаулер"/><category term="Тим Листер"/><category term="Эдвард Йордон"/><category term="Альберт Эйнштейн"/><category term="Архитектура"/><category term="Брайан Керниган"/><category term="Бьерн Страуструп"/><category term="Джеймс Коплиен"/><category term="Джон Роббинс"/><category term="Дон Бокс"/><category term="Крис Дейт"/><category term="Ли Кэмпбел"/><category term="Опрос"/><category term="Роберт Гласс"/><category term="С++"/><category term="Скотт Мейерс"/><title type='text'>Цитатник</title><subtitle type='html'>Много мыслей, хороших и разных...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default?start-index=26&amp;max-results=25'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>66</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-5086188007668236313</id><published>2013-09-25T12:33:00.003-07:00</published><updated>2013-09-25T12:33:19.123-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SICP"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>О создании сложных систем</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Еще одна цитата из SICP:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Поскольку большие программы вырастают из малых, нам необходимо обзавестись арсеналом программных структур, в правильности которых мы можем быть уверены - их можно назвать идиомами - и научиться объединять их в струкутры большего размера с помощью организационных методов (organizational techniques), ценность которых также доказана.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/5086188007668236313/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/blog-post_5527.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/5086188007668236313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/5086188007668236313'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/blog-post_5527.html' title='О создании сложных систем'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-4824690291624516275</id><published>2013-09-25T12:18:00.001-07:00</published><updated>2013-09-25T12:18:34.624-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SICP"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Программирование и моделирование</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Я тут начал читать замечательную книгу под названием &quot;Структура и интерпретация компьютерных программ&quot;, а по сему я надеюсь на пополнение коллекции цитат из этой книги:) Итак, начнем.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;RU&quot; style=&quot;line-height: 107%;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;Любая
компьютерная программа – это порожденная человеческим разумом модель реального
или воображаемого процесса. Эти процессы, возникающие из нашего опыта и мысли,
многочисленны, сложны в деталях, и мы всегда понимаем их лишь частично. … Хотя
наши программы представляют собой искусно собранные наборы отдельных символов,
мозаики переплетенных функций, они непрерывно развиваются: мы изменяем их по
мере того, как наше восприятие модели приобретает все большую глубину,
расширяется и обобщается, до тех пор, пока модель не достигнет, наконец,
метастабильного состояния в рамках следующей модели, с которой мы продолжим
сражаться дальше.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/4824690291624516275/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/blog-post_25.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/4824690291624516275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/4824690291624516275'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/blog-post_25.html' title='Программирование и моделирование'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-3718007208277896456</id><published>2013-09-08T02:19:00.000-07:00</published><updated>2013-09-08T02:19:05.572-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Стив Макконнелл"/><title type='text'>Что такое разработка ПО? Часть 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
И еще одна мысль от Стива Макконнелла о том, что такое разработка ПО:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&quot;Те, кто считает программирование искусством, указывают на эстетические аспекты разработки ПО и утверждают, что наука не допускает такого воображения и творческой свободы, а те, кто считает программирование наукой, указывают на огромное количество ошибок в программах, утверждая, что столь низкая надежность недопустима, и черт с ней с творческой свободой. Обе эти точки зрения грешат неполнотой и ставят во главу угла неверный тезис. Разработка ПО– это искусство, наука, ремесло, археология, тушение пожаров, социология и еще много других видов деятельности человека, взятые вместе. В некоторых областях это любительство, в других – профессионализм. Это столько же различных вещей одновременно, сколько существует программистов. Но правильно поставленный вопрос состоит не в том, что такое есть разработка ПО на данный момент, а скорее в том, чем должна быть профессиональная разработка ПО. С моей точки зрения, ответ на этот вопрос ясен: профессиональная разработка ПО должна быть инженерией. Такова ли она сегодня? Нет. А должна быть? Несомненно.&quot;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/3718007208277896456/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/2.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3718007208277896456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3718007208277896456'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/2.html' title='Что такое разработка ПО? Часть 2'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-2001282599927115327</id><published>2013-09-08T02:16:00.002-07:00</published><updated>2013-09-08T02:18:01.564-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Стив Макконнелл"/><title type='text'>Что есть разработка ПО</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Читаю книгу Стива Макконнелла &quot;Профессиональная разработка ПО&quot;, вот одна из любопытных цитат:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&quot;Один из моих любимых вопросов во время собеседования с претендетами на должность программиста, следующий: &quot;Как бы вы описали ваш подход к программированию?&quot; ... Мне больше всего нравится такой ответа: &quot;При проектировании ПО я архитектор. Когда я конструирую интерфейс пользователя, я художник. Когда я пишу код я ремесленник. А когда я тестирую программу, я ужасная сволочь.&quot;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/2001282599927115327/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/2001282599927115327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/2001282599927115327'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2013/09/blog-post.html' title='Что есть разработка ПО'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-512591447786177354</id><published>2012-02-11T10:24:00.001-08:00</published><updated>2012-02-11T10:24:06.817-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Бертран Мейер"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><title type='text'>Об иерархиях наследования</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Очередная интересная мысль от Бертрана Мейера, на этот раз касается она проектирования иерархий объектов:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Произвольно или нет, но многие учебные презентации создают впечатление, что структуру наследования следует проектировать от наиболее общего (верхней ее части) к более специфическим частям (листьям). В частности, это происходит потому, что лучший способ &lt;strong&gt;описать&lt;/strong&gt; существующую структуру – это идти от общего к частному, от фигур к замкнутым фигурам, затем к многоугольникам, прямоугольникам, квадратам. Но лучший способ описания структуры вовсе не означает, что он является и лучшим способом ее &lt;strong&gt;создания&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;В идеальном мире, населенном совершенными людьми, мы бы сразу же обнаруживали правильные абстракции, выводили бы из них категории, их подкатегории и так далее. &lt;strong&gt;В реальном мире, однако, мы часто вначале обнаруживаем частный случай и лишь потом открываем общую абстракцию&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;И это, действительно так. В некоторых случаях можно довольно точно нарисовать всю иерархию классов, когда четко известны категории бизнес-области и предпочтительный способ их категоризации в программной модели. Причем второе условие тоже очень важно, поскольку одну и ту же систему можно представить в виде разных иерархий, каждая из которых будет предпочтительнее в том или ином случае.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/512591447786177354/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2012/02/blog-post.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/512591447786177354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/512591447786177354'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2012/02/blog-post.html' title='Об иерархиях наследования'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-6487597133360759008</id><published>2012-01-29T13:18:00.001-08:00</published><updated>2012-01-29T13:18:14.466-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Бертран Мейер"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><title type='text'>Сказка о повторном использовании</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Очередная цитата из книги Бертрана Мейера “Объектно-ориентированное конструирование программных систем”. &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Эта сказка опубликована в разделе “Сказка о поиске классов”, но мое название, мне кажется более уместным (после прочтения будет ясно, почему).&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Жил да был в стране ООП молодой человек, которому страстно хотелось узнать секрет нахождения классов. Он расспрашивал всех местных мастеров, но никто из них не знал этой тайны.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Будучи подвергнутым публичной епитимии Схемом-Блоком - аббатом Священного Порядка Стрелок и Пузырей, - он решил, что тому известна истина и настал конец его поискам. С трудом он отыскал пещеру Схема, вошел в нее и увидел Схема, погруженного в поиски вечного различия между Классами и Объектами. Осознав, что не здесь обретается истина, без единого вопроса он покинул пещеру и отправился в дальнейшие странствия.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Однажды он нечаянно подслушал разговор двух людей, один из которых занимался вталкиванием какого-то груза в тележку, а другой немедленно его выталкивал. Они шептались о неком старце, знающем секрет классов. Молодой человек решил найти этого великого Мастера. Много дорог он прошел, на многие горы он поднимался, многие реки пересекал, пока не нашел убежище Мастера. Поиски продолжались так долго, что он давно уже перестал быть молодым человеком. Но, как всем пилигримам, ему еще предстояло пройти очищение в течение тридцати трех месяцев, прежде чем он был допущен к объекту своих поисков.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Наконец, в один из темных зимних дней, когда снег покрыл все окружающие горные вершины, он вошел в комнату Мастера. С бьющимся сердцем, пересохшим от волнения голосом он задал свой сакраментальный вопрос: &amp;quot;Мастер, как мне найти классы?&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Мудрец склонил свою голову и ответил медленно и спокойно: &amp;quot;Возвращайся назад, откуда пришел. Классы уже найдены&amp;quot;.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Оглушенный, он и не заметил, как слуги Мастера выводили его прочь. &amp;quot;Мастер&amp;quot;, - теперь он почти кричал, - &amp;quot;пожалуйста, еще только один вопрос. Как называется эта история?&amp;quot; Старый Учитель покачал головой: &amp;quot;Разве ты еще не понял? Это сказка о повторном использовании&amp;quot;.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;К сожалению, что бы нам ни говорили адепты объектной ориентации, на сегодняшний день повторное использование в основном ограничено библиотеками, и в меньшей степени повторным использованием бизнес-классов. Конечно же, у ООП масса других полезных свойств, но без должного мастерства использовать повторно части бизнес логики весьма сложно.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Мейер в своей книге повторяет, наверное, десятки раз о том, что в современном мире проектирование должно сводиться не к “выявления” новых абстракций, а к выбору готовых классов, которые можно было бы использовать повторно.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;На данный момент, это все еще является сказкой и я, честно говоря, сомневаюсь, что она когда-либо станет былью.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/6487597133360759008/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_29.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6487597133360759008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6487597133360759008'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_29.html' title='Сказка о повторном использовании'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-8939011040191821977</id><published>2012-01-22T11:55:00.001-08:00</published><updated>2012-01-22T12:18:02.665-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Бертран Мейер"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Как важно быть скромным</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Очередная потрясающая цитата от Бертрана Мейера:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Великого проектировщика отличает не то, что у него мало плохих идей, а его умение отказываться от них, умение подавлять свою гордость и отбирать хорошие идеи независимо от того, сгенерированы они им самим или кем-то другим. Некомпетентность и неопытность являются очевидными препятствиями в борьбе за верное решение. Зазнайство может быть столь же плохим.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;А добавить, толком, и нечего:) Интересно было бы узнать, какое количество проектов было угроблено из-за упрямства менеджера, главного архитектора или ключевого человека со стороны заказчика.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/8939011040191821977/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_6499.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/8939011040191821977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/8939011040191821977'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_6499.html' title='Как важно быть скромным'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-3434387470259260955</id><published>2012-01-22T10:08:00.001-08:00</published><updated>2012-01-22T10:08:12.314-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Бертран Мейер"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>О сопровождении</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Снова добрался до двухкилограммового талмуда Бертрана Мейера &lt;a href=&quot;http://www.ozon.ru/context/detail/id/2336754/&quot;&gt;«Объектно-ориентированное конструирование программных систем»&lt;/a&gt;. В одной из глав об объектной методологии разработки ПО, Мейер пишет:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;i&gt;Опыт играет ключевую роль в построении больших систем, состоящих из тысяч классов и десятков тысяч строк кода, - здесь опыт незаменим.&lt;/i&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;i&gt;Такой опыт должен включать все этапы жизненного цикла ПО: анализ, проектирование, реализацию и, конечно же, сопровождение (&lt;b&gt;заключительный аккорд, который только и показывает, выдержали ли ваши решения, принятые на предыдущих этапах, проверку временем и изменениями&lt;/b&gt;).&lt;/i&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;И хотя здесь речь идет о методологии разработки ПО, эту же идею можно применить и в других контекстах. Так, например, именно поэтому я не слишком доверяю консультантам или архитекторам, которые не занимаются кодированием. В первом случае, консультант, по сути, не несет ответственности за принятые им решения; и дело здесь не только в отсутствии ответственности, но и в том, что у него просто может не быть опыта проверки временем своих собственных решений.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;С архитектурой дела обстоят несколько лучше, поскольку архитектор зачастую остается с командой на протяжении всего жизненного цикла. Но если архитектор не просто тесно сотрудничает с командой, но и пробует решения на своей собственной шкуре, то это, несомненно, будет положительно отражаться на его «архитектурных решениях».&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/3434387470259260955/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_22.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3434387470259260955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3434387470259260955'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_22.html' title='О сопровождении'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-6345713336407252666</id><published>2012-01-17T10:51:00.001-08:00</published><updated>2012-01-17T10:51:26.751-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Об изучении языков программирования</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Очередное интересное высказывание, на этот раз найденное в последней книге Бертрана Мейера &lt;a href=&quot;http://www.ozon.ru/context/detail/id/6304950/&quot;&gt;“Почувствуй класс”&lt;/a&gt;:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Язык, который не влияет на ваш способ мышления, не стоит изучения.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Алан Перлис&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Мысль разумная. Конечно, вокруг языка формируется еще и сообщество с собственной культурой, но я, например, не вижу особого смысла изучать Java для C# программиста или наоборот. Чем сильнее отличается культура, идиомы и паттерны в новом языке программирования, тем, потенциально, больше нового вы для себя узнаете.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/6345713336407252666/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_17.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6345713336407252666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6345713336407252666'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post_17.html' title='Об изучении языков программирования'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-7873956218362553249</id><published>2012-01-16T09:48:00.001-08:00</published><updated>2012-01-16T09:48:36.372-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Архитектура"/><title type='text'>Влияние психологии команды на архитектуру</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Листаю замечательную книгу &lt;a href=&quot;http://www.ozon.ru/context/detail/id/5430638/&quot;&gt;“Идеальная архитектура”&lt;/a&gt;, которая, по-сути, является сборником статей “архитектурной” тематики.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Во второй главе есть такое любопытное примечание:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Здоровые отношения в группе разработки вносят непосредственный вклад в архитектуру системы. Нездоровые отношения и гипертрофированные самомнения порождают нездоровые продукты&lt;/em&gt;.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Конечно же, здоровые отношения не являются достатоными условиями успешности проекта или залогом создания удачной архитектуры; это лишь необходимое условие. &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Только в здоровой атмосфере возможно приняте ошибок, которое практически невозможно при нездоровой атмосфере. А без этого сложно себе представить хорошую архитектуру; ведь ошибки – это лишь вопрос времени, и чем раньше “архитектор” их осознает, тем более качественными будут “управляющие воздействия” по их устранению. Ну а кто же признает свои ошибки при нездоровых отношениях в команде?&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/7873956218362553249/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post.html#comment-form' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7873956218362553249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7873956218362553249'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2012/01/blog-post.html' title='Влияние психологии команды на архитектуру'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-427958675368076780</id><published>2011-09-10T01:43:00.001-07:00</published><updated>2011-09-10T01:43:54.253-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><category scheme="http://www.blogger.com/atom/ns#" term="Шаблоны проектирования"/><title type='text'>Еще раз о повторном использовании</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Сегодня открыл книгу “банды четырех”, чтобы уточнить определение одного из паттернов проектирования и в первой же главе увидел выделенную когда-то цитату:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Поднаторевшие в объектно-ориентированном проектировании разработчики скажут вам, что обеспеччить “правильный”, то есть в достаточной мере гибкий и пригодный для повторного использования дизайн, с первого раза трудно, если вообще возможно. Прежде чем считать цель достигнутой, они обычно пытаются опробовать найденное решение на нескольких задачах, и каждый раз модифицируют его.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Эрик Липперт, один из разработчиков компилятора C# очень часто говорит о проблеме “преждевременного обобщения” (premature generialization), с которой я, например, сталкиваюсь постоянно.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Многие разработчики разрабатывают повторноиспользуемые компоненты (или выделяют их из своего приложения) принимая во внимание лишь один кейс использования. Они пытаются предсказать будущее, рассматривая какие-то гипотетические кейсы использования или делают “задел на будущее”, который никогда не понадобится. В итоге “библиотечный код” получается излишне сложным и совсем не таким “повторноиспользуемым”, как о нем думал его разработчик.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/427958675368076780/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2011/09/blog-post.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/427958675368076780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/427958675368076780'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2011/09/blog-post.html' title='Еще раз о повторном использовании'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-5628710828735777145</id><published>2011-04-27T05:46:00.001-07:00</published><updated>2011-04-27T05:46:52.305-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Боб Мартин"/><title type='text'>О паттернах проектирования</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Сейчас листаю весьма &lt;a href=&quot;http://www.books.ru/shop/books/816634&quot;&gt;интересную книгу&lt;/a&gt; Боба Мартина и наткнулся на следующее высказывание:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;“Паттерны проектирования – чудесная вещь. Они способны помочь в решени многих задач проектирования. Но из того, что они существуют вовсе не следует, что их нужно употреблять к месту и не к месту.”&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;А ведь он чертовски прав; важно не только каким инстрментом мы пользуемся, значительно важнее то, насколько умело и правильно мы это делаем.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/5628710828735777145/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2011/04/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/5628710828735777145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/5628710828735777145'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2011/04/blog-post.html' title='О паттернах проектирования'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-6320784888670444474</id><published>2010-12-05T02:11:00.001-08:00</published><updated>2010-12-09T11:40:07.066-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SICP"/><title type='text'>О программировании</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Первый абзац в предисловии книги SICP (Структура и интерпретация компьютерных программ):&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Программированием занимаются учителя, генералы, диетологи, психологи и родители. Программированию подвергаются армии, ученики и некоторые виды обществ. При решении крупных задач приходится применять последовательно множество программ, бОльшая часть которых возникает прямо в процессе решения. Эти программы узобилуют деталями, относящимися к той конкретной задаче, которую они решают. Если же Вы хотите оценить программирование как интеллектуальную деятельность особого рода, то Вам следует обратиться к программированию компьютеров.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Мне уже нравится эта книга!&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/6320784888670444474/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/12/blog-post.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6320784888670444474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6320784888670444474'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/12/blog-post.html' title='О программировании'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-3330933378285812991</id><published>2010-10-23T12:19:00.001-07:00</published><updated>2010-10-23T12:19:52.746-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Альберт Эйнштейн"/><category scheme="http://www.blogger.com/atom/ns#" term="Брайан Керниган"/><category scheme="http://www.blogger.com/atom/ns#" term="Тестирование и отладка"/><title type='text'>О разработке ПО, отладке и Эйнштейне</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;Брайан Керниган (Brian Kernighan) когда-то выразил такую мысль:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Отладка кода в двое сложнее его написания. Поэтому если вы будете писать код на грани своих возможностей, то, по определению, у вас не хватит ума его отладить.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Читая книгу Энди Ханта “Pragmatic Thinking and Learning” в одном из эпиграфов я встретил знаменитую цитату Эйнштейна:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Мы не можем решить проблему тем же способом мышления, посредством которого она появилась.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;И подумал, что если их совместить, то можно прийти к следующему выводу: можно использовать все свои возможности при написании кода, но при отладке вам придется изменить собственный стиль мышления, в противном случае у вас ничего не выйдет.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&amp;#160;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Оригинальная цитата Брайана Кернигана:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Оригинальная цитата Альберта Эйнштейна:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;We can’t solve problem by using the same kind of thinking we used when we created them.&lt;/em&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/3330933378285812991/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/10/blog-post_23.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3330933378285812991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3330933378285812991'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/10/blog-post_23.html' title='О разработке ПО, отладке и Эйнштейне'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-7835827894435223025</id><published>2010-10-22T11:40:00.001-07:00</published><updated>2010-10-22T11:40:03.872-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ли Кэмпбел"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>О понимании нужного уровня абстракции</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;В одной из своих &lt;a href=&quot;http://leecampbell.blogspot.com/2010/06/rx-part-6-scheduling-and-threading.html&quot;&gt;заметок&lt;/a&gt; о Reactive Extentions Ли Кэмпбел (Lee Campbell) выразил следующую мысль:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;You should always understand at least one layer below what you are coding.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Или в вольном перевод:&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Вы должны понимать как минимум на один уровень абстракции ниже того уровня, на котором вы кодируете.&lt;/em&gt;&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Нужно сказать очень ценное замечание, следование которому поможет вам не только при написании кода, но также при его отладке и сопровождении.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/7835827894435223025/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/10/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7835827894435223025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7835827894435223025'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/10/blog-post.html' title='О понимании нужного уровня абстракции'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-7210677003619732473</id><published>2010-06-11T08:51:00.001-07:00</published><updated>2010-06-12T03:15:10.042-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Многопоточность</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Если кто-то считает, что многопоточность проста и понятна, убедитесь, что этот человек не принимает важных решений в вашем проекте. Если он их все же принимает – вы в беде!”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Брайан Гетц (Brian Goetz) “Thinking in Java”&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/7210677003619732473/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/06/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7210677003619732473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7210677003619732473'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/06/blog-post.html' title='Многопоточность'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-437012229317273977</id><published>2010-05-29T00:24:00.001-07:00</published><updated>2010-05-29T00:26:28.398-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Боб Мартин"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Комментарии</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Ничто не помогает так, как уместный комментарий. Ничто не загромождает модуль так, как бессодержательные и безапелляционные комментарии. Ничто не приносит столько вреда, как старый, утративший актуальность комментарий, распространяющий ложь и дезинформацию.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;“Дядюшка” Боб Мартин. “Чистый код”&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/437012229317273977/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post_29.html#comment-form' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/437012229317273977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/437012229317273977'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post_29.html' title='Комментарии'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-3052913771606518105</id><published>2010-05-13T22:21:00.001-07:00</published><updated>2010-05-13T22:21:18.361-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Боб Мартин"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Профессионализм</title><content type='html'>&lt;p&gt;&lt;em&gt;Профессионализм имеет две составляющие: знания и практический опыт. Вы должны узнать принципы, паттерны, приемы и эвристические правила, известные каждому профессионалу, а также “втереть” полученные знания в свои пальцы, глаза и внутренности усердной работой и практикой.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;“Дядюшка” Боб Мартин. “Чистый Код”.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/3052913771606518105/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post_13.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3052913771606518105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/3052913771606518105'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post_13.html' title='Профессионализм'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-5576543446839714788</id><published>2010-05-12T03:53:00.001-07:00</published><updated>2010-05-12T03:53:55.985-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Гради Буч"/><category scheme="http://www.blogger.com/atom/ns#" term="Управление проектами"/><title type='text'>О взаимозаменяемости разработчиков</title><content type='html'>&lt;p&gt;&lt;em&gt;Разработчики - не взаимозаменяемые части, и успешное создание любой сложной системы требует уникальных и разнообразных навыков всех членов целеустремленного коллектива.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/5576543446839714788/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post_12.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/5576543446839714788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/5576543446839714788'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post_12.html' title='О взаимозаменяемости разработчиков'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-7813199205390034503</id><published>2010-05-04T04:26:00.001-07:00</published><updated>2010-05-04T04:26:49.894-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Бертран Мейер"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Об изменениях в ПО</title><content type='html'>&lt;p&gt;&lt;em&gt;Изменения в ПО неизбежны. Задача в том, чтобы уметь управлять ими&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Бертран Мейер “Объектно-ориентированное конструирование программных систем”.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/7813199205390034503/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7813199205390034503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7813199205390034503'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/05/blog-post.html' title='Об изменениях в ПО'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-7814817441042689612</id><published>2010-04-19T11:28:00.001-07:00</published><updated>2010-04-19T11:28:38.765-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Дж. Ханк Рейнвотер"/><category scheme="http://www.blogger.com/atom/ns#" term="Управление проектами"/><title type='text'>О деньгах</title><content type='html'>&lt;p&gt;&lt;em&gt;Можно поддаться соблазну разбрасываться деньгами, как будто они растут на деревьях, опрометчиво полагая, что оплата повышает производительность. На самом деле здесь стоит хорошенько подумать, ведь сегодняшняя роскошь есть завтрашняя потребность. Деньги, подобно власти, оказывают на человека самое что ни на есть деструктивное влияние.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Дж. Ханк Рейнвотер “Как пасти котов”&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/7814817441042689612/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/blog-post_19.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7814817441042689612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/7814817441042689612'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/blog-post_19.html' title='О деньгах'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-6311826755269136606</id><published>2010-04-12T13:16:00.001-07:00</published><updated>2010-04-12T13:16:52.789-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Гради Буч"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><title type='text'>Анализ задачи</title><content type='html'>&lt;p&gt;&lt;em&gt;Анализ должен объяснить, &lt;strong&gt;что &lt;/strong&gt;делает система, а не то, &lt;strong&gt;как &lt;/strong&gt;она это делает.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/6311826755269136606/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/blog-post_12.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6311826755269136606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6311826755269136606'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/blog-post_12.html' title='Анализ задачи'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-6868015106377153280</id><published>2010-04-12T13:15:00.001-07:00</published><updated>2010-04-12T13:15:00.478-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Гради Буч"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Организация и новые идеи</title><content type='html'>&lt;p&gt;&lt;em&gt;Любая организация, которая сама не генерирует новые идеи, либо уже мертва, либо близка к этому.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/6868015106377153280/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6868015106377153280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/6868015106377153280'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/blog-post.html' title='Организация и новые идеи'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-2511887169523302563</id><published>2010-04-06T03:30:00.001-07:00</published><updated>2010-04-06T03:30:06.930-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Дж. Ханк Рейнвотер"/><category scheme="http://www.blogger.com/atom/ns#" term="Управление проектами"/><title type='text'>Как пасти котов. Часть 1</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCATeiWxZELiZ9hjDx930l8-0BneZWr8Lf9UVlYIr0ygig5s3NPJydV-ZaIijwENI-3bPgRCOsrx45a_fYrV4b8ZpRTV8mTFnB-xhXO2jUVGuXBbyQaRsVVdnXdGuM3Wfr9TOmQNI-MQu5/s1600-h/Image.jpg&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px&quot; title=&quot;Как пасти котов&quot; border=&quot;0&quot; alt=&quot;Как пасти котов&quot; align=&quot;left&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB7QKw2AVKc-vmTAYuuyG9X0BzwmB4OwJtiQx_38nlv2DreHeGvUa-Lk1NYUR-ylxi4Ecpv-DIoDP77BkUWD-tCNHtTjLQLq9ZuYrkUEyvvaqD1-y9NgBuo79e6hIpURNa6kEvWo6HkCFh/?imgmax=800&quot; width=&quot;164&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Сегодня я начну публикацию цитат из книги Дж. Ханк Рейнвотера &lt;a href=&quot;http://www.ozon.ru/context/detail/id/2409500/&quot;&gt;“Как пасти котов. Наставление для программистов, руководящих другими программистами”&lt;/a&gt;. Мое личное отношение к этой книге весьма неоднозначное. С одной стороны, закладок и подчеркиваний (а соответственно и цитат) набралось достаточное количество, но почему-то эта книга меня не зацепила. Вроде бы и написано все верно, и советов правильных много, и по делу все, но, чего-то мне в ней не хватило.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Еще раз повторюсь, что это мое личное мнение, многим другим людям эта книга очень и очень понравилась, поэтому я не исключаю, что дело скорее во мне. В любом случае я признаю, что в этой книге масса интересных моментов и отличных высказываний, ну а общее впечатление о здесь не очень-то и важно.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Личность в сегодняшних условиях - это опыт плюс прочитанная литература.&lt;/em&gt;    &lt;br /&gt;Введение&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Заниматься менеджментом было бы значительно проще, если бы все подчиненные были как две капли воды похожи на своего начальника.     &lt;br /&gt;&lt;/em&gt;Введение&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Чем лучше вы знаете людей, которыми вам предстоит руководить, тем выше шансы на успех.     &lt;br /&gt;&lt;/em&gt;Глава 1. Как привыкнуть к роли руководителя&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Делегирование невозможно без доверия к своим подчиненным. Для того чтобы построить доверительные отношения, требуется некоторое время, но без них деятельность руководителя обречена на провал.&lt;/em&gt;    &lt;br /&gt;Глава 1. Мало быть крутым - смотри в оба!&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Нам нужны программисты, которые не боятся сложностей, но те из них, которые любят усложнять все и вся, представляют серьезную опасность.     &lt;br /&gt;&lt;/em&gt;Глава 1. Какие бывают породы программистов&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Если хотите похвалить человека, сделайте это на виду у всех. Если считаете нужным покритиковать его, не выносите свои оценки на суд публики. Дело не просто в вежливости - эти правила поведения важны в том смысле, что как похвала, так и порицание одного человека на самом деле оказывают грандиозное влияние на всю группу. Поверьте мне, публичное унижение не способствует повышению продуктивности работы группы. Напротив, похвала, высказанная при всех, причем искренне и по заслугам, способна творить чудеса.     &lt;br /&gt;&lt;/em&gt;Глава 1. Слава, почет и деньги&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Не стоит забывать, что любой руководитель должен оценивать свои успехи исключительно по тому, насколько эффективно работают его подчиненные.     &lt;br /&gt;&lt;/em&gt;Глава 1. Слава, почет и деньги&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/2511887169523302563/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/1_06.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/2511887169523302563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/2511887169523302563'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/1_06.html' title='Как пасти котов. Часть 1'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB7QKw2AVKc-vmTAYuuyG9X0BzwmB4OwJtiQx_38nlv2DreHeGvUa-Lk1NYUR-ylxi4Ecpv-DIoDP77BkUWD-tCNHtTjLQLq9ZuYrkUEyvvaqD1-y9NgBuo79e6hIpURNa6kEvWo6HkCFh/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8666058998503471555.post-1149591653116389096</id><published>2010-04-04T08:37:00.001-07:00</published><updated>2010-04-06T03:31:31.687-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Стив Макконнелл"/><category scheme="http://www.blogger.com/atom/ns#" term="Философия программирования"/><title type='text'>Совершенный код. Часть 1</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiwX81TjIJldFpcsTSeHoLKVIufBiqAv9p9BujZg9-Y4r1u1JkVBJdAEDp8taVUsp5Q3tMJ8B_B4wTN-wWYLeWJxdS1g7jULTmLXClTf_Y144aXjke1HgfpivL2YNZkW40D54R93y8HC-y/s1600-h/CodeComplete%5B3%5D.jpg&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px&quot; title=&quot;CodeComplete&quot; border=&quot;0&quot; alt=&quot;CodeComplete&quot; align=&quot;left&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-InANSVvG8XfLOoY53xPw5gvU-vHhu13zD5lO5yH6yy_HSoJgxmvqIcBQ_8knEKTh3X25gHy4aQiKunmnMe4c34qpqVpLYSx3YKCvvfJi2bxhtUL6P91hKm8UIXbJWgc78BDxHNW5d3t-/?imgmax=800&quot; width=&quot;172&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;В компьютерной индустрии существует не такое уж большое количество книг, не нуждающихся в представлении, и книга Стива Макконнелла “Совершенный код” входит в их число. Если в любой поисковой системе ввести название этой книги, то вы получите сотни отзывов и тысячи мнений. Мое мнение будет простым и коротким однозначно “Must have”, ну а приведенные цитаты смогут доказать (или опровергнуть) мое мнение по отношению к этой книге.&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;&lt;em&gt;С концептуальной точки зрения каждая программа уникальна, поэтому трудно или даже невозможно разработать общий набор директив, приводящих к решению во всех случаях. Так что знание общего подхода к проблеме не менее, а то и более ценно, чем знание точных решений конкретных проблем.      &lt;br /&gt;&lt;/em&gt;Глава 2.2 Как использовать метафоры?     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;Не зависимо от экономических подъемов и спадов хороших программистов всегда не хватает, а жизнь слишком коротка, чтобы тратить ее на работу в отсталом учреждении при наличии множества лучших вариантов.      &lt;br /&gt;&lt;/em&gt;Глава 3.1 Причины неполной подготовки     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;Как сказал Дэвид Грайс, подход к программированию не должен определяться используемыми инструментами. В связи с этим он проводит различие между программированием на языке (programming in language) и программирование с использованием языка (programming into language). Разработчики, программирующие &amp;quot;на&amp;quot; языке, ограничивают свое мышление конструкциями, непосредственно поддерживаемым языком. Если предоставляемые языком средства примитивны, мысли программистов будут столь же примитивными.      &lt;br /&gt;Разработчики, программирующие &amp;quot;с использованием&amp;quot; языка, сначала решают, какие мысли они хотят выразить, после чего определяют, как выразить их при помощи конкретного языка.       &lt;br /&gt;&lt;/em&gt;Глава 4.3 Волны развития технологий     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;Хорст Риттел и Мелвин Беббер определили &amp;quot;грязную&amp;quot; проблему как проблему, которую можно ясно определить только путем полного или частичного решения. По сути данный парадокс подразумевает, что проблему нужно &amp;quot;решить&amp;quot; один раз, чтобы получить ее ясное определение, а затем еще раз для создания работоспособного решения.      &lt;br /&gt;&lt;/em&gt;Глава 5.1 Проектирование - &amp;quot;грязная&amp;quot; проблема     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;Дейкстра пишет, что ни один человек не обладает интеллектом, способным вместить все детали современной компьютерной программы, поэтому нам - разработчикам ПО - не следует пытаться охватить всю программу сразу. Вместо этого мы должны попытаться организовать программы так, чтобы можно было безопасно работать с их отдельными фрагментами по очереди. Целью этого является минимизация объема программы, о котором нужно думать в конкретный момент времени. Можете считать это своеобразным умственным жонглированием: чем больше умственных шаров программа заставляет поддерживать в воздухе, тем выше вероятность того, что вы уроните один из них и допустите ошибку при проектировании или кодировании.&lt;/em&gt;     &lt;br /&gt;Глава 5.2 Важность управления сложностью&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ru-quotes.blogspot.com/feeds/1149591653116389096/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/1.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/1149591653116389096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8666058998503471555/posts/default/1149591653116389096'/><link rel='alternate' type='text/html' href='http://ru-quotes.blogspot.com/2010/04/1.html' title='Совершенный код. Часть 1'/><author><name>Sergey Teplyakov</name><uri>http://www.blogger.com/profile/14300835272589262297</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-InANSVvG8XfLOoY53xPw5gvU-vHhu13zD5lO5yH6yy_HSoJgxmvqIcBQ_8knEKTh3X25gHy4aQiKunmnMe4c34qpqVpLYSx3YKCvvfJi2bxhtUL6P91hKm8UIXbJWgc78BDxHNW5d3t-/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry></feed>