Мысли вслух…

Development

Хостинг Silverlight приложения на Apache

Пользователь Июл.08.2010. Категория Development, Silverlight

Вчера стало интересно, а как собственно хостить SL (он же Silverlight) на апаче?

Что это дает?

  1. Apache в 99% крутится под *nix  ОС, а *nix хостингов намного больше;
  2. Больше свободы, мы не привязаны на Windows хост;
  3. Интересно было поэксперементировать.  :smile:

Что же мне потребовалось для всего этого? (читать дальше…)

3 комментария : дальше...

Library project file cannot specify ApplicationDefinition element.

Пользователь Фев.20.2010. Категория Development, WPF

Сегодня столкнулся с проблемой.
После переноса класса на основе Window в библиотеку, проект перестал билдиться, сообщая «Library project file cannot specify ApplicationDefinition element.».

Решение проблемы:
Solution Explorer -> свойствах файла -> Build Action изменить на Page.
Пересобрать проект.

4 комментария :, , дальше...

MailRuChekershke

Пользователь Фев.15.2010. Категория Development, WPF

На выходных хотелось чего-нибудь написать, но при этом чтобы мозг особо и не напрягался.

Тут общаясь со slider’ом понял что у парня проблема. Решил помочь, да и на античате давно нет активности.

Собственно написал ему многопоточный чекер почтовых ящиков для сервиса — Mail.ru (валид/невалид).

(читать дальше…)

3 комментария :, , дальше...

Знакомство в WPF

Пользователь Янв.26.2010. Категория Development, WPF

Второй день подряд занимаюсь изучением WPF.

И на 2-й день столкнулся с проблемой. Вчера скачал WPF Toolkit, а сегодня проблемы :sad:

Рисовал форму в Expression Blend 3. Все прекрасно, все  работает, но вот незадача, в Visual Studio 2008 SP1 отказывается открываться.

(читать дальше…)

Оставить комментарий :, , дальше...

NUnit – unit-testing framework

Пользователь Июл.30.2009. Категория Development

Буквально сегодня бороздя просторы интернета в поисках нормальной русскоязычной документации (описания, мануалов) по аттрибутам фраемворка — NUnit, наткнулся на запись в блоге. Автор любезен и позволил скопировать информацию.

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

Ну чтож, пожалуй начнем (ух и намучаюсь же я сейчас с оформлением :blink: )
(читать дальше…)

Оставить комментарий :, дальше...

Определение ТИЦ C#

Пользователь Июн.30.2009. Категория Development

Сегодня на ачате чувак попросил перевести с php на C#

Ниже код на php:


function getCI($url)
{
$url = str_replace("www.", "", $url);
$ci_url = "http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://www.".$url."/";
$ci_data = implode("", file("$ci_url"));
preg_match("/value=\"(.\d*)\"/", $ci_data, $ci);
if ($ci[1] == "")
return 0; // Если не смогли определить ТИЦ...
else
return $ci[1]; // Вот оно счастье...
}

Вот что из этого вышло:
(читать дальше…)

2 комментария : дальше...

BackgroundWorker или чем я сегодня занимался.

Пользователь Май.23.2009. Категория Development, Weekdays

Утро началось для меня часов в 8, когда сестра проснулась и начала собираться на работу.  :wall:

Встал и сразу ощутил боль в шее, больно поворачивать голову вправо. Такс, пора подушку убирать.  :twisted:

Первым делом привел себя в порядок, поел, сел за комп. Включил в аську и увидел что заказчик скинул мне примерный алгоритм того что он хочет увидеть. Посидел, подумал… Я ему уже сделал некую часть, осталось за малым. Но это первый блин и конечно же комом. :bad:

Решил что пора заняться рефакторингом, причем солидным.

Так же взглянул в сторону XAML, по после 20-ти минут, отложил до лучших времен. Не совсем понял как допустим у объекта ListView изменить коллекцию колонок.  :wall:

Начал кординально переписывать проект, и сразу же задумался о потоках, оно в принципе многопоточно, за исключением того что основной поток все равно вешается и это приводит к «эффекту зависшего окна» :sad: .

Начал думать как все обойти, думать долго не пришлось, в принципе знал о классе BackgroundWorker *, но почему-то не использовал его :dont_know: .

Начал все прикручивать, разбирать и т.п. Вобщем за сегодня ~1000 строк кода я налопатил, немного мне это надоело. Пошел смотреть TV, а именно программу «Большая разница». Хм, улыбнуло.

Вобщем что из этого вышло:

У компонента есть обработчик события — DoWork. Имено там пишем код который будет выполняться в отдельном потоке.

Внимание! BackgroundWorker не покрывает проблему обращения к контролам, для этого следует использовать Invoke.

Следующий обработчик который меня заинтересовал, это RunWorkerCompleted. Данное событие не отработает если была вызвана отмена — метод CancelAsync().

Следующее, это конечно же реализация прерывание работы BackgroundWorker’a.

Для этого:

  1. Вызывается метод CancelAsync();
  2. Именно в той длинной операции используется следующий код:
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
return;
}

* доплнительная информация на rsdn

Наверное все…

Месяцев 4-5 назад, я писал класс для парсинга Гугла. Собственно вот он, да, в нем есть что переделывать, а что? Достаточно отписаться и я возможно этим займусь  :wink: , а пока он позволяет следующее:

  • Поддержка WebProxy;
  • Изменение UserAgent’a;
  • Поиск по всем результатам;
  • Отбрасывать ссылки в которых содержится ключевое слово «google»;
  • Устанавливать колличество выводимых результатов;
  • Устанавливать начальную страницу, с которой будет начат парсинг;
  • Используется сервис гугла, генерирующий минимальную по объему страницу;

Пример поиска, парсится 1 страница и первые 100 результатов:

var google = new GoogleParser("C#");
var result = google.GetResult();
var str = "";
foreach (var s in result)
{
str += s;
}
textBox1.Text = str;

Вот так читать все страницы:

var google = new GoogleParser("C#");
var str = "";
while (google.Read())
{
var result = google.GetResult();
foreach (var s in result)
{
str += s;
}
}
textBox1.Text = str;

скачать исходник класса

7 комментариев :, , дальше...

Поиск

Список друзей