Страницы

пятница, 24 июля 2009 г.

Обобщенное программирование(generics) в Delphi 2009 для Win32. Часть 4. Создание обобщенной записи.

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



Словарь терминов
  • generics - дженерики, генерики, параметризованные классы, шаблоны, обобщения;
  • Типы данных: string – строка, record – запись;
  • implicit conversion - неявное приведение (типа);

IV. Создание обобщённой записи

Давайте изучим кое-что ещё и попробуем разработать простенькую, но полезную запись TNullable<T>. Идея состоит в том, чтобы создать запись, которая сможет иметь значения типа T, либо nil. Вы наверное уже задумывались о необходимости такого типа, например для представления значений Null из баз данных.

среда, 22 июля 2009 г.

Часть 3. Generics в Delphi 2009 для Win32. Создание обобщённого класса.

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


Словарь терминов
  • generics - дженерики, генерики, параметризованные классы, шаблоны, обобщения;
  • generic class – обобщённый класс;
  • generic parameter – обобщённый параметр;
  • сast – приведение типа;
  • anonymous routines - анонимные методы;
  • routine references - процедурные ссылки;
  • ordinal type – порядковый тип (данных);
  • interface type – интерфейсный тип (данных);
  • class type – классовый тип;
  • comparer – компаратор;
  • unit – модуль, юнит;
  • Типы данных: string – строка, record – запись;
  • Callback – обратный вызов, но я оставил его непереведённым;
  • pre-order walk – префиксный обход (дерева);
  • instanciate – создание экземпляра объекта;

III. Создание обобщённого класса

Теперь, когда мы знаем, как использовать обобщённые классы, пришло время рассмотреть их внутреннее устройство.
Мы разработаем класс TTreeNode<T>, который станет обобщённой реализацией дерева. На этот раз, это будет не просто обучение. Мы создадим реальный класс, который Вы сможете использовать в своих реальных проектах.

четверг, 16 июля 2009 г.

Итоги за последние месяцы работы

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

Всякое
  • Перевёл второй большой проект с BDE на FibPlus(подробнее - ниже).
  • Программировал в XML. Собрал Windows Installer инсталляции для 6 основных наших продуктов.
  • Уговорил нашего админа поставить сервер для виртуализации Citrix XenServer. Повезло, что у нас в то время чистый серверок завалялся. Очень удобно оказалось при тестировании инсталляций под ограниченным в правах пользователем. Наделал чистых машин и отправил тестировщикам. Намного удобнее чем на своей машине запускать виртуалку.
  • Начал изучать изучать сервера непрерывной инеграции: TeamCity и немного Hudson. Очень хочется настроить отдельную машину для автоматической сборки билдов с последующей созданием инсталлятора. Ещё бы юнит-тесты начать писать.
  • Обживал Redmine (подробнее - ниже).
Перевод программ с Bde на FibPlus

вторник, 14 июля 2009 г.

2. Обобщённое программирование(generics) в Delphi 2009 для Win32. Часть 2. Использование.

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



Словарь терминов

  • generics - дженерики, генерики, параметризованные классы, шаблоны, обобщения. Мне кажется, что наиболее подходящим для перевода словом будет “обобщения”, но в народе их чаще называют: дженерики;
  • generic class – обобщённый класс;
  • сast – приведение типа;
  • anonymous routines - анонимные методы;
  • routine references - процедурные ссылки;
  • ordinal type – порядковый тип (данных);
  • interface type – интерфейсный тип (данных);
  • comparer – компаратор

II. Повседневное использование на примере TList<T>

Парадоксально, но мы начнем с примера повседневного использования обобщённых классов (более корректно говорить: обобщённый шаблон класса), вместо дизайна такого типа. Есть несколько веских причин для этого.

воскресенье, 12 июля 2009 г.

Давайте знакомиться? :) Несколько вопросов читателям.

2007-05-08 Just ask

Image by Squonk11 via Flickr

Я хочу составить примерное представление о читателях этого блога. Пожалуйста, потратьте пару минут, чтобы кратко рассказать о себе и ответить на следующие вопросы. (достаточно и кратких ответов: да/нет. Хотя, конечно, интереснее читать развёрнутые=) ). Заранее спасибо.

  1. Как давно Вы занимаетесь программированием вообще?
  2. Как давно Вы занимаетесь программированием на Delphi?
  3. Приносит ли программирование вам какой-нибудь доход?
  4. Доводилось ли Вам участвовать в командной разработке на Delphi?
  5. Если не секрет, то сколько человек было в команде?
  6. Если не секрет, каким образом разделялись обязанности?
  7. Занимаетесь ли вы проектированием?
  8. Сколько примерно времени в процентах вы тратите на проектирование? (например, 100% – время выполнения проекта (или задания), из них 10% на проектирование, 90% написание кода.)
  9. Оцениваете ли Вы время выполнения задания перед началом работы?
  10. Как часто Вы укладываетесь в установленный срок?
  11. Отслеживаете ли Вы время работы над заданием?

p.s. мои ответы в комментариях.

суббота, 11 июля 2009 г.

Обобщённое программирование(generics) в Delphi 2009 для Win32. Часть 1. Введение.

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


Примечания к “переводу”
Словарь терминов
I. Введение
I-A. Предпосылки
I-B. Что такое дженерики?


Примечания к “переводу”

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

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

Другая часть работы вызвавшая у меня трудности – это адекватный перевод терминов. Буду признателен за замечания и уточнения.

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

среда, 8 июля 2009 г.

-

Погиб Виталий Невзоров(Vit).
Создатель самой большой подборки статей по Delphi - Drkb.
Вечная память.
=(

суббота, 4 июля 2009 г.

(TDelphi.blogspot.com).Resume =)

Итак, закончился университетный сезон. Май и июнь были очень напряжёнными месяцами. Отдохнуть и отоспаться удалось только в в последнюю неделю июня. Сессия закончилась, все экзамены сданы. Урра! =) Осталось только защитить бакалаврскую зимой.

Как только закончилась запарка с сессией, я с головой окунулся в работу, чтобы разгрести накопившийся за время сессии завал. Завал связан с созданием MSI инсталляции в Wix-е. Я планировал выполнить это задание за неделю. На деле оказалось, что всё не так просто, и выполнение задания заняло пять недель. Во время тестирования работы программ в условиях ограниченных прав, активизировалось несколько багов, которые пришлось исправлять.

Теперь у меня появилось время довести до ума и выложить обновление для Lazy Delphi Builder.

Планы на ближайшее будущее
  • Отчётный пост о том, чему научился за этот семестр в университете,
  • Заметки о том, что сделал на работе за этот период.
  • Заметку о тайм-менеджменте.
  • Подборку ссылок на ресурсы по Wix-у.
  • Обещанный перевод статьи по дженерикам в Delphi.
Идеи для чуть более отдалённого будущего
  • Перевести свою баку(тема: поддержка типов данных Oracle в Delphi различными компонентами) на русский язык.
  • Написать подборку советов по переходу с BDE на FibPlus
  • Перевести хорошие материалы по Wix-у на русский язык

Расскажите, что Вам кажется более интересным из предложенного? И предложите своё. =)