Компьютерра - Журнал «Компьютерра» N 33 от 12 сентября 2006 года
ModernLib.Net / Компьютерра Журнал / Журнал «Компьютерра» N 33 от 12 сентября 2006 года - Чтение
(стр. 3)
Ни один из этих «самоубийц» не оставил записки, объясняющей причины содеянного, а по свидетельствам друзей и близких никто из них не проявлял склонности к суициду. Но во всех четырех странах национальные спецслужбы очень тесно сотрудничают с США в противодействии «терроризму и организованной преступности», а каждый из погибших имел обширные сведения о специфике применяемых для этого технологий нелегального перехвата. Понятно, какой напрашивается вывод. Но именно поэтому никто не решается его сделать.
Terralab.ru: Железный поток
Автор: Алексей Калиниченко
Объектив Canon EF 70-200mm f/4L IS USM
• Фокусное расстояние: 70-200 мм • 1 флюоритовый и 2 ультранизкодисперсионных элемента • Вес: 760 г • Длина: 172 мм Этот объектив обещает стать настоящей находкой для неугомонных путешественников. Они наверняка оценят пыле- и влагонепроницаемый корпус, компактность и небольшой вес для «стекла» подобного класса. Впервые производитель использовал в объективе стабилизатор изображения, позволяющий увеличить значение выдержки на четыре ступени без существенного смазывания, что, например, дает возможность снимать длиннофокусным объективом с выдержкой 1/15 там, где обычно приходилось использовать хотя бы 1/125. Во многих случаях можно вообще оставить штатив дома, что заметно облегчит фотокомплект. Кстати, при установке фотоаппарата на штатив, стабилизатор автоматически отключается, чтобы избежать возникновения обратной связи между датчиками движения и мотором стабилизации. Фотографы, снимающие стремительно движущиеся объекты, будут рады новой системе скоростной автофокусировки и режиму съемки с проводкой, при котором отключается корректировка по вертикали, предотвращая сдвиг объекта в кадре. Система фокусировки - ультразвуковая, очень тихая, с возможностью ручной коррекции без переключения в ручной режим; при зуммировании и фокусировке длина объектива не изменяется, передняя линза остается неподвижной, облегчая использование поляризующих светофильтров. Практически круглая выпуклая диафрагма обеспечивает красивый размытый фон. «Элька» - она и есть «элька», единственный ее недостаток - высокая цена, примерно 1430 евро.
RoverShot RS-601
• Разрешение: 6 Мп • Экран: 2” TFT • Макросъемка: от 20 см • Карта памяти: SD/MMC • Габариты: 95,5х52,2х29,7 мм • Вес: 90 г Хороший подарок ребенку. Невысокая цена позволяет не особо жалеть о потраченных средствах, если неугомонное чадо через пару месяцев все-таки разобьет камеру. Впрочем, отсутствие выдвигающегося объектива наверняка положительно скажется на живучести фотоаппарата в детских руках. Такие приятные мелочи, как возможность снимать видео (640х480 со звуком) и макросъемка, расширят поле для творчества. Встроенный МР3-плейер и набор простеньких игр не дадут скучать. А отсутствие оптического зума, оптические искажения и шум матрицы юный фотохудожник вряд ли заметит. Нет, к сожалению, и оптического видоискателя, который очень пригодился бы при фотографировании на солнце.
Logitech Z-10
• Динамики: 7,6 см - низкочастотный, 2,5 см - высокочастотный. • Габариты: 24,6х11,4х11,9 см • Цена: 150 евро Новые колонки Logitech интересны прежде всего непривычной для акустических систем функциональностью. Z-10 не только весьма неплохо проигрывает музыку, но и отображает на собственном дисплее информацию о текущей композиции. Кроме того, на колонках есть больше десятка сенсорных клавиш, которые позволяют управлять воспроизведением музыки без помощи мыши и клавиатуры. Это особенно удобно для человека, до сих пор пользовавшегося лишь обычной бытовой техникой, здесь он будет иметь дело с привычными кнопками навигации. К компьютеру колонки подключаются единственным проводом USB, по которому они и получают аудиосигнал и информацию о треках и передают управляющие команды. Имеется и обычный аналоговый аудиовход - например, для подключения MP3-плейера. Поклонников интернет-радио может заинтересовать возможность быстро переключаться между станциями при помощи четырех горячих кнопок. Производитель обещает прекрасный звук, благодаря использованию высококачественных динамиков и цифрового усилителя с раздельной обработкой высоко- и низкочастотной части сигнала, совсем как у Hi-Fi.
Anti Vibration Bolts
• Длина: 26 мм • Материал: силикон • Цена: 4,9 евро Те, кто стремится снизить шум от своего компьютера до минимума, наверняка сталкивались с вибрацией, порождаемой вентиляторами. Вдобавок она еще и снижает срок службы комплектующих. Специально для такого случая компания Coolink представила дешевое и элегантное решение - антивибрационные болты. Закрепленный на них вентилятор «подрессоривается», и на корпус передается значительно меньше колебаний. Болты окажутся полезными и для закрепления жестких дисков, которым покой еще никогда не вредил.
Процессоры Intel Itanium 2 серии 9000
• Количество ядер: 2 (1) • Частота: 1,4-1,6 ГГц • Объем кэш-памяти L3: 6-24 Мбайт • Частота шины: 533/400 МГц • Цена: от $696 до $3692 Intel выпустила девять давным-давно обещанных двухъядерных процессоров Itanium 2 (ранее известных под кодовым наименованием Montecito), предназначенных для сегмента Hi-End. Флагманская модель семейства Itanium 2 9050 имеет два ядра с поддержкой Hyper-Threading (может одновременно выполнять четыре потока команд ), а размер кэш-памяти третьего уровня составляет внушительные 24 Мбайт. Правда, и цена кусается - $3692. Самый скромный процессор в линейке Itanium 2 9010 обойдется «всего лишь» в $696, но тут нет второго ядра, и кэш третьего уровня - всего 6 Мбайт. Однако доплатив менее ста долларов, можно получить 9015-ю модель, где и ядра два, и кэш вдвое больше, только вот частоты процессора и шины поменьше. Отметим также, что процессоры поддерживают технологию виртуализации VT-i. Смогут ли новые «Итаниумы» получить широкое распространение и успешно конкурировать с процессорами традиционной архитектуры, покажет только время.
Сканеры Canon LiDE 600F, LiDE 70
• Оптическое разрешение: 4800x9600/2400x4800 • Программное разрешение: 25-19200 точек на дюйм • Максимальный формат документа: А4 • Интерфейс: USB 2.0 • Максимальная потребляемая мощность: 3 Вт • Цена: $150/80 Два сканера от Canon интересны не только стильным дизайном, но и продвинутой начинкой. Более дорогой LiDE 600F обладает внушительным оптическим разрешением 4800x9600 точек на дюйм, более скромный LiDE 70 - 2400x4800. Обе модели имеют подставку (у старшей она встроенная) для установки в вертикальном положении и подходят для сканирования толстых оригиналов, благодаря специальной конструкции крышки (вдобавок крышка у 600F откидывается на 180°, что позволяет сканировать оригиналы большого формата). Питание аппараты получают по USB, что упрощает подключение к настольному компьютеру.
SVEN MS-900, MS-905, MS-915 и MS-920
• Выходная мощность (RMS): 10 + 2х8 Вт • Диаметр динамика (сабвуфер): 137 мм • Диаметр динамика (сателлиты): 75 мм • Диапазон частот (сабвуфер): 50-140 Гц • Диапазон частот (сателлиты): 140-20 000 Гц • Габариты (сабвуфер): 21,2х22,1х23,9 см • Габариты (сателлиты): 11,9х15,4х12,2 см • Масса: 6 кг Сразу четыре набора 2.1-акустики пополнили ассортимент продукции компании SVEN. Все они довольно компактны и предназначены главным образом для игр и просмотра кино. На мой взгляд, наиболее интересны 915-я и 920-я модели - несмотря на небольшие размеры в их облике есть что-то серьезное. Они не только очень похожи внешне, но и практически идентичны с технической точки зрения. Сабвуфер с динамиком на лицевой панели и маленькие двухполосные сателлиты не займут много места на столе и впишутся в любой интерьер. 920-я модель выделяется прозрачными пластиковыми накладками над среднечастотными динамиками сателлитов. Как они влияют на звучание, сказать трудно, но смотрятся красиво. Справа приведены характеристики 920-й модели, от них существенно отличается только MS-900 (в худшую сторону).
Видеокарты Gigabyte GV-RX195X512VB-RH GV-RX165P256D-RH
• Видеопроцессор: Radeon X1950 XTX/Radeon X1650 Pro • Объем памяти: 512/256 Мбайт • Ширина шины памяти: 256/128 бит • Тип памяти: GDDR4/GDDR3 Модель 512VB-RH может похвастать высочайшей производительностью: еще бы - на ней стоит новейший видеопроцессор ATI Radeon X1950XTX в связке с высокочастотной памятью GDDR4 (впервые примененной именно на этой карточке). Ее младшая сестра основана на менее продвинутом чипе Radeon X1650 Pro, зато имеет бесшумную систему охлаждения Silent-Pipe II на тепловых трубках. Но главное, что объединяет видеокарты, - это игра Civilization IV, которую производитель поставляет в комплекте. Не думаю, что в России сей факт может сильно повлиять на спрос, а вот за рубежом такая добавка наверняка привлечет внимание геймеров. О цене и частотах, к сожалению, пока ничего не известно.
НАУКА: Даешь живое кино
Автор: Галактион Андреев
Новые революционные методы оптической микроскопии практически одновременно и независимо друг от друга предложили две группы американских ученых. Эти методы так точны, что обещают помочь биологам проследить в живой клетке за взаимодействием и расположением отдельных молекул белка. Концептуально близкие, но сильно отличающиеся в реализации, обе разработки возникли отнюдь не на пустом мете. Им предшествовали титанические усилия многих научных коллективов по снятию проклятия дифракционного предела - ключевого физического ограничения, мешающего разглядеть в микроскоп очень малые объекты.
С дифракционным пределом читатели «КТ» хорошо знакомы. Именно он мешает работать с объектами меньше примерно половины длины волны света или, скажем, электрона (который, как известно, не только частица, но и волна). Этот предел, например, не позволяет как угодно уменьшать размеры транзисторов в чипах, изготавливаемых с помощью традиционной фотолитографии. Хуже того, поскольку чем короче длина волны, тем больше энергия фотона или электрона, дифракционный предел часто не позволяет использовать те или иные методы без риска повредить объект исследования. Особенно это важно при изучении живой природы. Здесь ученым, как правило, приходится ограничиваться оптическим микроскопом [Мало того что электронный микроскоп сожжет живой объект мощным пучком, так он еще и работать способен лишь в вакууме], который не способен «разглядеть» объекты величиной меньше двухсот нанометров. А сегодня характерные размеры интересующих биологов молекул и других внутриклеточных образований на один-два порядка меньше. Как быть? Хотя закон природы нельзя нарушить, иногда его можно обойти. И каких только ухищрений здесь ни придумано. В основе большинства из них лежит идея пометить интересующую нас молекулу или другой биологический объект специальными красителями, которые способны светиться - люминесцировать при возбуждении их, например, лазером. А уже с этими светящимися метками проделывают всевозможные хитроумные манипуляции, чтобы определить их положение в пространстве гораздо точнее, чем позволяет дифракционный предел. Другие методы так называемой микроскопии ближнего поля идейно похожи на туннельный сканирующий микроскоп. В них в качестве зонда используется оптическое волокно, покрытое по краям металлической пленкой. В волокно посылается луч лазера, а сигнал от образца регистрируется либо с помощью обычного микроскопа, либо через это же волокно. Отверстие на конце волокна делают много меньше длины световой волны ["Работает" при этом так называемое ближнее поле], что и обеспечивает локальное сканирование образца. Ясно, однако, что таким грубым зондом можно легко повредить поверхность живого организма, а уж внутрь заглянуть и вовсе проблематично. В арсенале люминесцентной микроскопии есть интересный метод подавления спонтанного испускания STED (STimulated Emission Depletion microscopy). Молекулы красителя сначала возбуждают лазерным пятном минимально возможного размера. А потом на краях этого пятна возбуждение молекул еще и специально тушат, заставляя их испустить фотон с помощью дополнительного импульса лазера кольцевой формы, который настроен на длину волны люминесценции. И лишь после этих двух импульсов регистрируют свечение возбужденных молекул, оставшихся в центре пятна (рис. 1). Таким способом недавно удалось добиться разрешения порядка 70 нм при использовании возбуждающего лазера с длиной волны 490 нм и тушащего - 575 нм. Известны и другие, еще более изощренные методы оптической микроскопии, основанные на нелинейных оптических или других эффектах. Однако каждый из них имеет те или иные ограничения и пока не удовлетворяет биологов. Теоретически с помощью обычной оптики можно определить положение одной молекулы, испускающей фотоны красителя, с точностью до размеров самой молекулы. Нужно только регистрировать ее излучение многократно. Тогда суммарное излучение молекулы будет казаться светящимся кругом диаметром порядка длины волны, центр которого определить уже нетрудно. Но если люминесцирующих молекул много, то излучение от разных молекул перепутывается и мешает установить, какая молекула где находится. И вот теперь мы подходим к ключевой идее новых методов оптической микроскопии. Группа из Гарвардского университета и Медицинского института Говарда Хьюза назвала свою разработку микроскопией стохастической оптической реконструкции (STochastic Optical Reconstruction Microscopy - STORM). А группа из Национального института детского здоровья, Флоридского университета и того же института Хьюза назвала свой вариант микроскопией фотоактивационной локализации (PhotoActivated Localization Microscopy - PALM). Идея этих методов состоит в том, чтобы многократно облучать образец с молекулами красителя столь слабыми импульсами света, чтобы одновременно возбуждались не все, а только часть далеко отстоящих друг от друга молекул красителя, чьи светящиеся круги не перекрываются. Тогда, делая подряд несколько тысяч измерений, можно довольно точно определить, где и какая молекула расположена. Тут, конечно, требуется сложная компьютерная обработка сразу многих изображений, но это уже дело техники. Группе из Гарварда удалось добиться пространственного разрешения около 20 нм, что на порядок меньше дифракционного ограничения. И это далеко не предел. Ученые использовали специальные флюорофоры, чьи молекулы можно быстро переключать между возбужденным и «потушенным» состоянием, облучая их импульсами света с разной длиной волны. Эти переключения значительно ускоряют измерения, поскольку уже не нужно ждать, пока все возбужденные молекулы «потухнут» сами. Ученые присоединили флюорофоры к антителам, которые можно подобрать так, чтобы они, в свою очередь, присоединялись к различным биомолекулам. Для исследования одного образца можно использовать целый набор флюорофоров, работающих на разных длинах волн. Каждый флюорофор будет реагировать на свой лазер и присоединяться к своим молекулам или их определенным участкам. Сложив все эти изображения, можно получить цветное изображение спирали ДНК или белковой нити. Исследование одного образца занимает несколько минут, а в ближайшем будущем авторы метода обещают научиться следить за путешествиями молекул внутри клетки даже в реальном времени. Вторая группа использовала возбуждаемые лазером люминесцирующие белки. Ее метод позволил добиться лучшего пространственного разрешения в пределах 2-25 нм. Однако здесь за одну секунду удается сделать лишь один-два снимка, и для получения полного изображения с высоким разрешением требуется около двенадцати часов. Для демонстрации возможностей своей методики ученые получили изображения определенных белков в лизосомах и митохондриях, а также ряд других интересных фотографий живой клетки. Любопытно, что два основных автора PALM-микроскопии Харальд Хесс (Harald Hess) и Эрик Бетциг (Eric Betzig) построили первый прототип своего нового микроскопа еще в сентябре прошлого года в гостиной Хесса. Будучи в то время без работы, эти известные в своей области ученые сложились по 25 тысяч долларов, стряхнули пыль со старого оборудования, списанного в лаборатории Белла, и создали новый метод. Вскоре они получили финансовую поддержку и достойные должности в институте Хьюза. Разумеется, обе научные группы пока лишь в самом начале пути. Пройдет еще немало времени, прежде чем новые методы станут привычным инструментом биологов. Но эти разработки способны навести долгожданный мост между молекулярной и клеточной биологией, и возможно, что открытия вскоре посыплются как из рога изобилия. Разработчики новейших методик стараются сблизить два полюса биомикроскопии, разделенные по разрешающей способности пропастью шириной более чем в два порядка: оптическую микроскопию, позволяющую исследовать не только мертвые, но и живые клетки, и электронную микроскопию, изучающую клетки заведомо убитые, но зато с завидной точностью. Граница применимости «прижизненной» микроскопии понятна: с длины волны ниже 400 нм начинается губительный для клеток ультрафиолет. Что же до электронной микроскопии, то именно благодаря достигаемому ею разрешению в несколько ангстрем удалось составить подробные карты «внутриклеточного ландшафта» и воочию, без домыслов, увидеть строение клеточного ядра, а также митохондрий, рибосом и других клеточных органелл. Но понятно, что на острие электронного пучка, разогнанного в вакууме полем напряженностью в десятки киловольт, живьем ничего не разглядишь. Электронная микроскопия знает лишь один экзотический пример, когда твердейший хитиновый покров членистоногих сканируют без всякой предварительной подготовки. А так - нежную и трепетную живую ткань приходится фиксировать альдегидами и четырехокисью осмия, обезвоживать, заливать полимеризующимися материалами, пропитывать специальными «электронными» красителями и готовить тончайшие срезы «на просвет». А биология сегодняшнего дня предъявляет все больший спрос на исследование клеток и тканей непосредственно в процессе их жизнедеятельности. Чтобы сохранить «щадящий» характер световой микроскопии и при этом повысить разрешающую способность, исследователи идут на компромисс - скажем, в обмен на вожделенную точность смиряются с необходимостью многократных повторных измерений. Компромисс, однако, всегда штука непростая. Обратим внимание: схема, при которой процесс получения одной-единственной сверхточной картинки растягивается на минуты и даже часы, может безотказно работать только на неподвижном объекте, отдельные части которого не расползутся в разные стороны прямо по ходу «сложносочиненного» замера. Собственно, все сенсационные результаты новейших методик высокого разрешения и были получены на специально фиксированных объектах. Но ведь поставленная сверхзадача - исследование функционирующей клетки со всеми ее внутриклеточными транспортными потоками, сократительными белками и т. п. И мы не можем, подобно пляжному фотографу, скомандовать ей «замрите, снимаю». Судя по оптимистичному тону профессора Сяовэя Чжуана (Xiaowei Zhuang), уверенного в возможности ускорения процедуры STORM-микроскопии вплоть до исследования живых клеток с молекулярным разрешением в реальном масштабе времени, разработчики надеются преодолеть это концептуальное противоречие. Но, может быть, ближе к истине профессор Дженнифер Липпинкотт-Шварц (Jennifer Lippincott-Schwartz), видящая будущее новых методик в их сочетании с электронной микроскопией: «Соотнося результаты PALM-микроскопии с электронномикроскопической картиной, можно понять, как отдельные активные молекулы распределены по тонким субклеточным структурам».
МЫСЛИ: Жизнь технического задания
Автор: Олег Бунин
Этой статьей я не хочу доказать, что написание технического задания - зло и корень всех бед, нет, ни в коем случае. Все и всегда относительно, а в нашем случае - зависит от задачи. Я хочу показать, что классические схемы разработки программного обеспечения работают не всегда, не всегда эффективны, часто приводят к ненужным конфликтам между менеджерами и исполнителями. Особенно это касается разработки веб-приложений. Я расскажу об экстремальном программировании, но не так, как пишут в книжках, а исходя из реалий - из того, что попробовали команды под моим руководством. О тех методиках, которые работают.
Изменчивый мир
Когда я слышу о техническом задании на разработку веб-сайта, я внутренне улыбаюсь - еще один продукт, устаревший уже в момент выхода. Это первая проблема всех технических заданий - предположение, что внешняя среда не меняется. Вторая проблема хорошо известна и отражена в древней мудрости: чтобы задать правильный вопрос, надо знать половину ответа. В ситуации, когда каждый новый сайт вы разрабатываете с использованием только что появившихся технологий (новые модули, новая версия собственного движка, новая версия базы данных), - фактически вы каждый раз многое делаете заново. Это значительно осложняет процесс разработки, потому что вы не знаете, как будете это разрабатывать. Третья проблема классическая - заказчик не всегда точно знает, чего он хочет. И когда подходит срок сдачи проекта, вы слышите, что вот здесь хорошо бы подправить, вот здесь изменить, а вот здесь добавить. Частично эту проблему решает моделирование конечного продукта, но, повторюсь, лишь частично. Выпуск конкурентами нового продукта, появление нового брэнда, новой технологии, нового браузера, изменение предпочтений потребителей - все это требует немедленной реакции, изменяет предметную область, описанную в ТЗ. Заказчик увидел сайт конкурирующей компании и хочет такую же «штуку». При этом вы не знаете заранее, как будете реагировать и сколько времени потребует реализация той или иной вашей реакции. Одним словом - хаос…
Экстремальное программирование
Ниже я опишу простейшие методы, которые позволят компании постепенно уйти от классической каскадной модели цикла разработки программного обеспечения. Каскадную модель вкратце можно описать так: сначала мы просим пользователей или заказчика сформулировать свои требования, затем разрабатываем проект системы, составляем техническое задание. Затем пишем код, тестируем его. Увы… Эта модель не годится для большинства проектов по разработке веб-приложений. Что же делать? Ответ прост: принять окружающую действительность, принять изменчивый мир, принять хаос. Стать гибким и разрабатывать свою стратегию с учетом того, что нас окружает хаос. Это нормально. И убедиться при этом, что уже существуют инструменты, позволяющие успешно действовать в условиях хаоса. Например, инструменты экстремального программирования. Все они создавались исходя из того, что окружающая среда гибко и динамично меняется, и не пытаются зафиксировать ее, а наоборот - приспосабливают производственные процессы под подобную среду.
Итерации
Итак, мы приняли концепцию изменчивого мира. Что это меняет? Сразу становится ясно, что писать подробнейшее техническое задание не имеет смысла - оно стремительно устаревает. Ограничимся описанием функций, причем так, как их видит пользователь системы. Как правило, заказчик достаточно хорошо их представляет. На основе такого описания команде разработчиков, дизайнеров, верстальщиков становятся ясны их ближайшие шаги. Основные архитектурные решения, общие рамки будущего сайта, общее устройство. Но я подчеркиваю - ближайшие шаги. Достаточно одного-двух. Шаги должны быть небольшие (неделя, несколько дней). После каждого шага - пересмотр всех условий, учет всех изменений. В экстремальном программировании такие шаги называют итерациями. Итак, если мы на каком-то этапе работы пошли по неверному пути, мы очень быстро это поймем - одна-две итерации, и ошибка будет исправлена.
Общение с заказчиком
И все же нам нужно чем-то заменить отсутствие формального технического задания, - ведь мы должны сделать то, что требуется заказчику. Выход - тесное общение с представителем заказчика и пользователями на всех этапах работ (не только в точках проверки, не только в начале и конце работ, а в течение всего времени работы над проектом). Постоянное сотрудничество с заказчиком, когда его представители присутствуют на планерках, видят все процессы «изнутри», позволяет не делать лишних предположений и, соответственно, не писать лишнего кода. Те, кто имеет отношение к разработке ПО, хорошо знают, как часто даже на начальном этапе возникают вопросы к заказчику. Если эти вопросы будут немедленно разрешаться, мы получим значительную экономию ресурсов.
Ежедневные релизы
Еще один прием, который позволит частично компенсировать отсутствие подробного технического задания, - частые релизы. Покажите заказчикам вашу работу как можно раньше. Отсюда, кстати, известное выражение «вечная бета» - веб-сайт выкладывается «в бой», программа становится доступной пользователям как можно раньше. И далее проектная команда корректирует процесс разработки (вплоть до концепции самого проекта) «на лету», наблюдая за реакцией пользователей.
Творчество, а не копирование
Подобный подход, движение вперед маленькими шагами требует от исполнителей гораздо более высокой ответственности, нежели простое кодирование. Вам потребуются креативные специалисты, способные самостоятельно находить оптимальные решения. В подобном процессе разработчикам не раз приходится переписывать код, поэтому для облегчения их работы в экстремальном программировании есть несколько практик. Я не буду описывать их подробно, это тема отдельной статьи, но упомяну: • Тестирование до начала разработки. • Парное программирование. • Постоянный рефакторинг. • Простота разработки. • Коллективное владение кодом. • Быстрый выпуск версий. • Постоянная интеграция. • Стандарты кодирования. Тестирование до начала разработки предполагает написание тестов, в том числе приемочных, до того как будет написан сам код. Это дает значительные преимущества, особенно в сложных системах, где изменение одного компонента неизбежно влияет на работу других. В таких случаях приемочные тесты жизненно необходимы. Парное программирование я рекомендую использовать только в случаях, когда вам нужен очень качественный результат. Мой опыт говорит о том, что двое программистов за одним компьютером программируют медленнее, чем двое за двумя, но программный код, который получается в экстремальном варианте, содержит на порядок меньше ошибок. Постоянный рефакторинг заключается в регулярном пересмотре того, что уже написано, уже разработано. И в постоянном его улучшении. Простота разработки - из двух вариантов выбирается более простой и быстро реализуемый. Коллективное владение кодом означает, что все участники проекта свободно читают и знают любой участок программы. Это достигается путем введения стандартов кодирования - некоторых правил написания программного кода, обязательных для всех, что облегчает чтение кода, поскольку он становится однородным в рамках проекта. Постоянная интеграция - мы пробуем запустить вместе даже недописанные и не до конца отработанные компоненты системы, чтобы как можно раньше увидеть разного рода несовместимости и ошибки в проектировании. Для этих же целей служит быстрый выпуск версий - постоянная корректировка процесса разработки с учетом мнений пользователей и заказчика.
Сотрудничество, а не конфликтование
Одно из важных следствий принятия концепции хаотичности окружающего мира - исчезновение конфликтов между менеджерами и исполнителями. Эти, казалось бы, вечные «грабли» хорошо знакомы всем, кто имеет отношение к разработке веб-сайтов. В традиционной (каскадной) модели разработки пик конфликта приходится на самый важный этап - предвыпуск или выпуск проекта. Главная причина - разработчики сделали не совсем то, что хотел менеджер или заказчик. Как вы понимаете, эта проблема исчезает, если мы априори принимаем, что мнение заказчика может измениться, но и мы сможем своевременно на это отреагировать: ведь наши рабочие процессы построены так, что нам не придется переписывать заново половину программного кода, соответственно, изменение задачи не приведет к психологическому «напрягу» разработчиков.
Спиральная модель жизненного цикла разработки ПО
Специалисты по управлению проектами справедливо заметят, что описываемые мною приемы напоминают спиральную модель жизненного цикла разработки программного обеспечения. Почему же эта модель, несмотря на очевидные достоинства (снижение рисков, повышение качества продукта и степени удовлетворенности заказчиков и разработчиков), не используется повсеместно в разработке ПО и веб-приложений? Потому, что это сложно. Потому, что требует большей ответственности от всех участников процесса, большей гибкости, большей сознательности и даже храбрости - в экстремальном программировании это качество в почете.
СОФТЕРРА: Высокохудожественный командный интерпретатор
Автор: Илья Шпаньков
Когда разговор заходит о растровых графических редакторах, абсолютное большинство людей в первую очередь вспоминает Adobe Photoshop. Сторонники свободного софта, конечно, не забудут упомянуть и своего фаворита The Gimp, по умолчанию входящего в большинство GNU/Linux-дистрибутивов. Возможно, кто-то вспомнит Paint.NET или еще какой-нибудь «легкий» редактор «для дома, для семьи». Но сегодня мы поговорим не о них.
Страницы: 1, 2, 3, 4, 5, 6, 7
|
|