пятница, 21 декабря 2007 г.

Полезные исходники

Лазя по сети я сегодня набрел случайно на сайт своего знакомого по форуму www.delphimaster.ru - Розыча, т.е. Александра Багеля.

Респект и уважуха. Так держать!

четверг, 20 декабря 2007 г.

Обновления для RAD Studio, Delphi и C++Builder

CodeGear аннонсировал выход обновлений для RAD Studio, Delphi и C++Builder.

В посте Ника Ходжеса от 19 декабря приводятся ссылочки на пофиксенные баги (что-то много их, и ни одного знакомого или моего :) ).

PS Для пользователей Delphi 2007 (не Delphi 2007 Release 2!!!), нужно сначала установить update 3.

Типа шахматы

Проссматривая блог Ника Ходжеса я натолкнулся на новый сайт Delphi programming puzzles and games некоего Jacob Thurman (не знаю его).

Суть проста - каждый понедельник будет выкладываться новая задачка по Delphi, в течении недели ее нужно решить, в пятницу будет официальное решение.

Пока выложена одна задачка от 17 декабрся с.г.: найти причину утечки памяти в вроде бы корректном коде. Я ниииичего не понял :) Т.е. я не решил. Вообще на лажу смахивает. Однако как любитель решать шахматные хадачки в метро (мат в 3 хода и пр.) знаю, что решения бывают даже там, где их вроде не бывает.

Подождем пятницы :)

среда, 5 декабря 2007 г.

Новости CodeGear за декабрь 2007

Новость публикуется по просьбе представительства CodeGear в России.

Кратко

1. Программа "Получи RAD Studio у партнеров CodeGear"
2. InterBase 2007 for Mac OS X
3. Электронный магазин shop.codegear.ru
4. 10 наиболее важных изменений со времен Delphi 7

Подробно

1. Программа "Получи RAD Studio у партнеров CodeGear"
Московское представительство CodeGear Borland объявляет о начале
программы "Получи RAD Studio 2007 у партнеров CodeGear". Программа
предназначена, прежде всего, для пользователей в регионах, где сложно
скачать полный дистрибутив RAD Studio (4.2Гб). В рамках этой программы
Вы можете посетить партнера CodeGear и бесплатно получить у него DVD с
дистрибутивом CodeGear RAD Studio 2007.
Используя ключ, который можно получить на сайте www.codegear.com/downloads/free,
Вы можете попробовать триальную версию RAD Studio 2007, или
преобразовать ее в полную версию с помощью лицензионного ключа. Список
партнеров находится на сайте www.codegear.ru. Список постоянно
дополняется.

2. InterBase 2007 for Mac OS X
Выпущена версия InterBase 2007 для Mac OS X. Теперь компактная
высокопроизводительная база с многоверсионной архитектурой доступна и
для пользователей Mac OS X.
www.codegear.com/products/interbase

3. Электронный магазин shop.codegear.ru
Компания CodeGear при поддержке allsoft.ru открывает электронный
магазин shop.codegear.ru. В магазине представлены как наиболее
популярные версии продуктов, так и хиты прошлых лет, которые
пользуются постоянным спросом.

4. 10 наиболее важных изменений со времен Delphi 7
Павел Гловацки, ведущий евангелист CodeGear в Европе, опубликовал
развернутый список из 10 наиболее важных вещей, которые появились в
Delphi со времен 7 версии: dn.codegear.com/article/37416

суббота, 1 декабря 2007 г.

Купит ли google лет через 20 воздух на Земле?

Вот и я поддался движению давать своим постам яркие заголовки в стиле желтой прессы. Виноват...




Но вот, что я хочу сказать. Я новичок в Интернете. Если быть более точным, то я лет десять пользуюсь инетом, но только сейчас понял, что здесь еще и деньги крутяца, а не только анекдоты, ICQ и голые деффки.
Пользовался я разными бесплатными сервисами типа почты от mail дот ру и джиmail дот ком. На форумы разные ходил. Еще что-то юзал. Ну понятно было мне, что деньги многие сайты делают на рекламе. Меня это не очень заботило, ибо было нереально далеко.

Но тут я наткнулся на корпоративное предложение от гугла: почту для фирмы за 50 баксов в год за ящик. И тут я понял, можно сказать, что переворот в моем сознании произошел, что в сети можно предоставлять услуги доступа к софту! Т.е. гугл начал двигать SaaS (как я сейчас понимаю, он и раньше это делал, только я этого не замечал).

И почему гугл стал это делать? Он способен предоставить качественную услугу: как они пишут что-то около 99 с гаком процентов доставки почты. Также они лучше всех гасят спам (сам третий год пользуюсь бесплатным эккаунтом gmail - за последний год ни одной ошибки замечено не было, при количестве писем более 20 в день от разных отправителей). Волнует вопрос утечки информации из почты, которая хостица где-то? Меня это тоже волнует, но мои поиски случаев утечки не дали ничего (буду рад опровержению, ибо подумываю о переводе фирмы на гугловскую почту).

Собсно вот, что я хочу сказать. Есть у меня ощущение, что время массовых приложений на дискетках, сидиромах и дивидюшках уходят послепенно в прошлое. Создай качественную услугу и продавай ее в аренду в сети. Бери за нее меньше, чем за отчеждаемое приложение, и расценивай свою деятельность, как выдачу софта в аренду. И будет тебе счастье.

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


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

Четвертый день коференции Code  

На сайте CodeGear выложены материалы докладов в разбивке по дням конференции. Есть только flash-файлы. Исходников нет, но обычно в презентациях указывается где можно взять исходники.

На третьем и пятом дне (т.е. 28 и 30 ноября) я не был.
Зато был 29 ноября.

С большим удовольствием я послушал оба доклада Джима МакКи (Jim McKeeth): Exceptional Exceptions и Class Helpers: Friend or Foe.

Второй доклад мне лишний раз доказал, что хелперы есть хорошая разминка для ума, не более того. Я пока не решаюсь их широко использовать в работе - плохо документировны и имеют не всегда очевидное поведение (имхо). Для небольших вливаний (добавок) в класс вполне сгодятся. Главное - самому не запуться.
Замечу, что в презентации есть небольшой обзор блогов, которые писали о хелперах. Есть что почитать.

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

program Project1;
{$APPTYPE CONSOLE}
begin
end.


Если требуется наследование от Exception, то нужно подключать SysUtils, а это уже 44032 байта.

program Project1;
{$APPTYPE CONSOLE}
uses
 SysUtils;
begin
end.


Но ведь можно сделать проще - возбуждать не потомков Exception, а потомков TObject:

program Project1;
{$APPTYPE CONSOLE}
type
 TMyException = class
 end;
procedure Test;
begin
 raise TMyException.Create;
end;
begin
 try
  Test;
 except
  on E: TMyException do
   do something
 end;
end.


Такая программа уже весит 19456. Я, конечно, понимаю, что идиотизм экономить 20Кб, но это чем не ответ на вопрос о том, как сделать маленький EXE?

Также в докладе Джима об исключениях меня заинтересовала методика использования функции AcquireExceptionObject для управления временем жизни объекта исключения. К сожалению есть некий баг, относящийся к функции AcquireExceptionObject и парной ей функции ReleaseExceptionObject (если кратко, то в документации все неверно написано). Однако идея выбрасывать в качестве исключений объекты и при этом не давать им уничтожаться имеет право на жизнь.

program Project1;
{$APPTYPE CONSOLE}
type
 TMyException = class
 end;
procedure Test;
begin
 raise TMyException.Create;
end;
var
 C: TMyException = nil;
begin
 try
 Test;
 except
  on E: TMyException do
   C := AcquireExceptionObject;
 end;
 if C <> nil then
 begin
  здесь можно использовать C, но его нужно
  потом явно удалить, т.к. после вызова
  функции AcquireExceptionObject нарушен
  обычный контроль над временем жизни
  исключения.
  C.Free;
 end;
end.


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

raise Button1;

Только нужно быть готовым к тому, что кнопка пропадет с экрана после такого вызова, т.к. будет удалена :)

Также имхо стоит обратить внимание на доклад Fighting Memory Leaks for Dummies, который сделал Francois Gaillard. Доклад про FastMM. В принципе материал схож с тем, который я приводил ранее. По теме сложно что-то сказать нового, т.к. вся документация по FastMM состоит из поисания в *.inc файле, поставляемом с FastMM.

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

Старая новая панель инструментов VS старая панель инструментов.

Источник блог Ника Ходжеса.

Ник сказал, что ему вчера на конференции CodeRage заметили о том, что не хватает старой панели иснтрументов. На что Ник ответил:
1. Новая панель в 723 раза удобней :)
2. Нелюбовь к новой панели является следствием незнания ее возможностей.

Сказал, как отрезал :)

Также он привел ссылочку на ролик, демонстрирующий возможности новой панели.
ИМХО интересно, я, например, что-то новое увидел для себя.