среда, 28 ноября 2007 г.

Существуют ли конструкторы копирования???

конструкторы копирования... конструкторы копирования... конструкторы копирования... конструкторы копирования... конструкторы копирования... после того, как я повторил это слово 5 раз, каждый раз слыша в ответ "Что-то я не пойму о чем Вы...", сомнения начали одолевать и меня. Действительно, о чем это я??? Может чего напутал?

Только что проводил собеседования у человека, который позиционирует себя (фраза "позиционирует себя" почему то всегда меня коробит) как С++ Синьер Девелопер. Попросил нарисовать конструктор копирования и оператор присваивания для простого класса... В итоге он нарисовал только оператор присваивания, а на счет КК сказал, что такого не существует и в помине, всегда используется оператор копирования, мало того, такой код просто не правильный:

Когда он не поверил мне про КК в векторах... я начал сомневаться сам, разве может человек с 8-ми летним С++ным опытом не слышать о них... Блин, я даж после собеседования написал класс с конструктором копирования :) Все таки КК существуют :))

Read More...

понедельник, 19 ноября 2007 г.

Team Meeting #5

18 ноября в Сумах прошел очередной (#5) семинар разработчиков Team Meeting.

Первый доклад был посвящен системы мониторинга Cacti. Докладчик, Андрей Бородийчук (Dre), поделился опытом применения данной системы и рассказал, какие возможности предоставляет Cacti для системных администраторов.

Второй доклад был незапланированным. Артём Волк (ArtVolk) в перерыве рассказал о создании wap-сайтов. Слушатели услышали, что такое wap 1.3 и wap 2, в чем разница между ними, какие преимущества и недостатки, как отлаживать созданные сайты и какие особенности украинских мобильных операторов.

Самая интересная часть семинара - диалог при помощи Skype с Александром Соловьем - украинским разработчиком, живущим в США. Он немного рассказал, чем вообще там занимается, а потом большую часть времени отвечал на вопросы. Александр работает в компании, которая разрабатывает высоконагруженные масштабируемые веб-системы. Вот наиболее интересные для меня моменты этого диалога, касаемые его работы:

  • упор делается не на технологии, а на опыт и квалификацию программистов; PostreSql и perl используются только из тех соображений, что был опыт работы с ними;
  • чем проще код, тем надежнее работает;
  • нет тестировщиков, юнит тестов и регрессионных тестов, но есть code review;
  • аутсорсинг и работа из дому не есть гуд;
  • политика компании не предумматривает работу в компании программистов из Индии :)
  • и еще много интересного...

Read More...

пятница, 16 ноября 2007 г.

Книга по DSL от Мартина Фаулера

Martin Fowler пишет книгу по Domain Specific Languages. Вчера он решил, что накопилось уже достаточно материала, что бы предоставить некоторый отчет о написанном.

Read More...

четверг, 15 ноября 2007 г.

Что за зверь такой RadRails?

Решил посмотреть посмотреть всякие Ruby IDE. Для начала захотелось попробовать RadRails, которую так не любят в народе (нелюбят например здесь Ходячий труп и признаки смертельной болезни).

Уже удалось создать простой проект и даже запустился сходу - уже хорошо. Документации что-то маловато, а вот кнопок и всяких окошек, на первый взгляд, туева куча. Будем копать дальше :)

Read More...

четверг, 8 ноября 2007 г.

Опыты со SWIG'ом: std::string и Ruby

Решил попробовать изменить пример из предыдущего поста: вместо double использовать std::string. swig предоставляет кучу уже готовых typemaps, в том числе для stl. Теперь файл type.i получился таким:

Пересобрал экстеншн и запустил такой тест:

И... при загрузке расширения вылезла ошибка: LoadError: /usr/lib/ruby/site_ruby/1.8/i586-linux/test.so: undefined symbol: _ZNSs4_Rep20_S_empty_rep_storageE — /usr/lib/ruby/site_ruby/1.8/i586-linux/test.so.

Оказалось, что вся проблема в Makefile: по умолчанию компилятор указывается gcc. Что бы исправить это, добавил в скрипт, генерящий Makefile, одну строчку:

Теперь std::string успешно конвертится в ruby-строки и наобород.

Read More...

Архив статей по COM

Случайно наткнулся на Архив статей "Что такое технология COM". Чем примечателен этот архив - все статьи написанны "человеческим языком" и в одном духе, разбиты на группы в порядке от простого к сложному. Отдельные статьи посвящены таким тема как память, взаимодействие процессов и т.д. Вообщем в отличие от классических трудов по COM'у, таких как "Сущность технологии СОМ. Дональд Бокс." и "Основы COM. Дейл Роджерсон." (можно посмотреть здесь), вызывает больше энтузиазма не останавливаться после первой главы.

Read More...