Корпоративный блог Центра Высоких Технологий

Андрей Лапин
Андрей Лапин
1 июня 201009:25
Центр Высоких Технологий
Ижевск Россия
10 вещей, которые никогда не преподаются программистам в вузах

1. Мы не правы

Программисты зачастую имеют большое эго. Поэтому часто бывает трудно осознать, что мы не правы в чем-то. Я видел много споров относительно архитектуры проектов, где разработчики расхваливают свои идеи. Но, предположим, что мы все неправы. И отличаемся только в степени своих заблуждений.
Очень важно осознать и принять этот факт только один раз и мы будем открыты, чтобы выслушать других и использовать свои идеи, чтобы создать лучшее решение.
(Дальше)
Андрей Лапин
Андрей Лапин
13 мая 201008:54
Центр Высоких Технологий
Ижевск Россия
Психология программистов
Привожу выдержки из книги "Психбольница в руках пациентов" Алана Купера. Нельзя сказать, что нижеописанные утверждения истинны для всех программистов. Также сложно найти хотя бы одного программиста, удовлетворяющего всем описанным свойствам. Тем не менее считаю, что данный текст заслуживает внимания, чтобы стать чуточку лучше.

Итак, программисты отличаются от обычных людей. Назовем их хомо логикус.

Многие обозреватели компьютерной индустрии приложили усилия, чтобы определить эти отличия. Роберт Кринджели (Robert Cringely) называет программистов «смердящими богами», подразумевая одновременная высокомерное отношение к окружающим и личное отношение к гигиене.

Другой проницательный наблюдатель и талантливый автор – По Бронсон (Ро Bronson). Он обращал свое зоркое око и острый ум к миру высоких технологий. Пародируя Стивена Кови (Steven Covey), он создал список «Семь привычек крутых инженеров». Эти определения невероятно точны, хотя и гиперболичны.
1. Они щедры в своем эгоизме.
2. Слепота улучшает их зрение.
3. Они кусают не только руку кормящего, но еще и собственные руки.
4. Они готовы приложить любые усилия, чтобы сохранить впечатление, будто их не заботит собственный имидж.
5. Они чинят то, что не сломано, до тех пор, пока это не сломается.
6. «Не я дал неверный ответ, а вы задали не тот вопрос».
7. Считают отсутствие критики комплиментом.
(Дальше)
Андрей Лапин
Андрей Лапин
3 марта 201012:10
Центр Высоких Технологий
Ижевск Россия
Бережливое программирование
Перевод статьи: http://www.poppendieck.com/lean.htm, автор: Mary Poppendieck

Где-то в 1980 году, когда NBC писало, "Если японцы могут, почему не можем мы?", я была системным менеджером на фабрике по производству видеокассет и наша команда управленцев задавалась этим вопросом каждый день. Наше соревнование с японцами было по продаже более лучших продуктов по наименее низкой цене, и мы не могли понять как они это делают. Мы знали, что нам нужны значительные изменения или придется закрывать лавку, но мы не знали что менять.

(Дальше)
Андрей Лапин
Андрей Лапин
25 февраля 201011:51
Центр Высоких Технологий
Ижевск Россия
Про интерфейсы и фабрики

Копипаст из блога http://lex-kravetski.livejournal.com

С месяц назад дорогой товарищ [info]dargot в личной беседе посетовал на странные методы объектного программирования, практикуемые некоторыми программистами. Совершенно неясно, — говорил он, — зачем эти люди плодят такое множество интерфейсов, а потом постоянно кастуют их к реализациям и обратно. Неясно, зачем к каждому объекту граждане создают свою собственную фабрику, которая к тому же не является доопределением других, а наоборот каждый раз новая, своя собственная — скопипасченная.

Я согласен с товарищем Дарготом: действительно огромное множество программистов совершенно не в курсе, зачем нужны объектные формы абстракций, поэтому применяют их как попало, руководствуясь где-то подслушанными общими фразами. Вообще, на мой взгляд, проблема в том, что традиционно обучение программированию начинается в лучшем случае с процедурного языка — если не с псевдо-языка, лишённого даже процедур и выливающегося в огромную простыню кода в методе main. В результате такого обучения программисту в последствии приходится буквально переучиваться с одного метода программирования на другой, что зачастую тяжелее даже обучению с нуля. Нет, я настоятельно рекомендую учить сразу объектной парадигме (или, буде оно разовьётся, функциональной). Так, будто без объектов писать и нельзя: первое впечатление ведь — самое сильное. Оно запоминается.

(Дальше)

Андрей Лапин
Андрей Лапин
4 февраля 201014:00
Центр Высоких Технологий
Ижевск Россия
Facebook превратил PHP в C++

Схема работы HipHop for PHP
Схема работы HipHop for PHP

Разработчики Facebook обнародовали проект HipHop for PHP, который превращает код на языке PHP в код на языке C++. Последний компилируется в обычное приложение, которое выполняется гораздо быстрее, чем сценарий на PHP. В развитии проекта могут принять участие все желающие - Facebook раскрыл его исходные коды.

HipHop for PHP помог крупнейшей социальной сети в мире вдвое снизить нагрузку на процессор на ее веб-серверах и ускорить показ 400 миллиардов PHP-страниц в месяц. Тем самым значительно снизились требования к числу серверов, а следовательно, и расходы компании.

Разработка HipHop for PHP заняла два года. В настоящее время проект содержит 300 тысяч строк кода и прошел свыше пяти тысяч тестов. HipHop for PHP работает с некоторыми ограничениями, запрещая некоторые слишком сложные для перевода на C++ или медленные конструкции PHP.

PHP - один из самых популярных языков веб-разработки. В том числе авктивно используется в ЦВТ.

Андрей Лапин
Андрей Лапин
18 декабря 200909:15
Центр Высоких Технологий
Ижевск Россия
Делать просто - это очень сложно

Работа над одним проектом, изначально разработанным в другой организации,
натолкнула меня на мысль написать сей топик.

Советы как избежать проблем при разработке сложного программного обеспечения.
(Дальше)

Андрей Лапин
Андрей Лапин
4 декабря 200909:24
Центр Высоких Технологий
Ижевск Россия
Software as a service (SaaS)

В связи с недавними событиями привожу цитату из википедии про SaaS

Software as a service (SaaS) («Программное обеспечение как услуга»), или Software on Demand (SoD) («Программное обеспечение по требованию») — модель продажи программного обеспечения, при которой поставщик разрабатывает веб-приложение и самостоятельно управляет им, предоставляя заказчикам доступ к программному обеспечению через Интернет. Основное преимущество модели SaaS для потребителя состоит в отсутствии затрат, связанных с установкой, обновлением и поддержкой работоспособности оборудования и программного обеспечения, работающего на нём.

В модели SaaS:

  • Приложение приспособлено для удаленного использования;
  • Одним приложением пользуется несколько клиентов (приложение коммунально);
  • Оплата взымается как ежемесячная абонентская плата или на основе объема транзакций;
  • Поддержка приложения входит в состав оплаты;
  • Модернизация приложения происходит плавно и прозрачно для клиентов.

В рамках модели SaaS заказчики платят не за владение программным обеспечением как таковым, а за его аренду (то есть, его использование через веб-интерфейс). Таким образом, в отличие от классической схемы лицензирования ПО, заказчик несет сравнительно небольшие периодические затраты, и ему не требуется инвестировать существенные средства для приобретения ПО и аппаратной платформы для его развертывания и, затем, обеспечивать работоспособность. Схема периодической оплаты предполагает, что в случае, если необходимость в программном обеспечении временно отсутствует — заказчик может приостановить его использование и заморозить выплаты разработчику.

С точки зрения разработчика проприетарного ПО, модель SaaS позволяет эффективно бороться с нелицензионным использованием программного обеспечения, поскольку само программное обеспечение не попадает к конечным заказчикам. Кроме того, концепция SaaS часто позволяет уменьшить затраты на развёртывание и внедрение систем технической и консультационной поддержки продукта, хотя и не исключает их полностью.

Андрей Лапин
Андрей Лапин
30 ноября 200910:34
Центр Высоких Технологий
Ижевск Россия
Agile разработка

На недавней конференции udmsite.ru часто упоминалось, что заказчик должен быть равноправным участником проекта.

Данное правило перекликается с методологией Agile разработки программного обеспечения. Знаменитые ученые и практики Computer Science разработали манифест agile-разработки. Думаю этот манифест будет интересен читателям блога. Далее текст манифеста

В процессе работы мы пришли к тому, что для нас важнее:

    * Люди и их взаимодействие, чем процессы и средства
    * Работающее ПО, чем исчерпывающая документация
    * Сотрудничество с заказчиком, чем обсуждение условий контракта
    * Реагирование на изменения, чем следование плану 

Принципы, лежащие в основе манифеста Agile

Мы придерживаемся следующих принципов:

Наивысшим приоритетом для нас является
удовлетворенность заказчика ранними и
периодическими поставками ценного для заказчика ПО.

Приветствуйте изменения требований даже на поздних этапах
разработки. Agile-процессы готовы к таким изменениям
ради достижения заказчиком конкурентного преимущества.

Выполняйте частые поставки работающего ПО. При этом
продолжительность каждой итерации должна быть от пары недель
до пары месяцев, предпочтение отдается коротким интервалам.

Потенциальные пользователи системы, являющиеся специалистами
в предметной области, и разработчики должны работать вместе
каждый день на протяжении всего проекта.

Привлекайте для работы над проектом мотивированных людей.
Создайте для них все условия, окажите поддержку во всем,
что необходимо, и доверьтесь им - они выполнят работу.

Самый действенный и эффективный способ обмена информацией
как внутри команды разработчиков, так и разработчиков
с внешним миром - непосредственное общение.

Работающее ПО - главный индикатор продвижения проекта.

Agile-процессы придерживаются равномерного темпа
разработки. Работа спонсоров, разработчиков и
пользователей должна все время идти в постоянном темпе.

Постоянное стремление к техническому совершенству
и хороший дизайн системы повышают agility.

Важна простота - искусство увеличения
объема работ, которых удалось избежать.

Самые лучшие архитектуры, требования и дизайны
систем создаются самоорганизующимися командами.

Периодически команда размышляет о том, как достичь
большей эффективности, после чего корректирует свой
подход к разработке ПО.

источник

Андрей Лапин
Андрей Лапин
17 ноября 200916:24
Центр Высоких Технологий
Ижевск Россия
Что нового в MS Office 2010

Здесь отобраны наиболее интересные с точки зрения автора нововведения. Более подробную информацию можно найти в интернете.

Общие нововведения

  • Одновременное редактирование документов
  • Использование приложений в смартфонах
  • Созданы облегченные версии Word, Excel, Power Point, One Note, доступные из браузеров IE, Mozilla, Safari.
  • Расширены возможности редактированию картинок, встраиваемых в документ
  • Расширены возможности создания теней, окантовок для текста
Microsoft Word 2010
  • Можно посмотреть информацию о человеке, который редактирует открытый вами документ, индикация присутствия человека.
Microsoft Excel 2010
  • В ячейку теперь можно встраивать график и как обычную формулу график можно размножать на другие ячейки. Это позволяет не лепить все линии на одну диаграмму.
  • Добавлен аддон Project Gemini, который позволяет эффективно манипулировать сотнями миллионов записей.
Microsoft Power Point 2010
  • Вставка видеороликов и различные манипуляции над ними: поворот, 3D-деформация, настройка рамок.
  • Конвертация презентации в видеоролик
Microsoft Outlook 2010
  • Режим диалога - можно видеть всю предыдущую переписку с человеком.
  • Можно создавать многошаговые сценарии, которые потом можно выполнять одним кликом.
  • Многопользовательский доступ к календарю
  • Новые функции сортировки и улучшенный поиск
  • Общение с помощью интернет-пейджера, голосового или видео-звонка
  • Новая функция MailTips предупреждающая о времени рассылки писем по списку адресов.

Подписка

Последние комментарии