logoЗаметки на клавиатуре


Книжное

Категории Uncategorized, опубликовал evilbot January 30th, 2006

Тут прочитал “Выбраковку” Дивова, книга очень понравилась, хотя как ни странно купил её только после того, как узнал что в ней есть одна фраза. Я знал что у него есть ЖЖ, но не читал, а сегодня глянул в свою ленту, а там прекрасная ссылка, наслаждайтесь:
Answer negative and fuck you.

Юмор

Категории Uncategorized, опубликовал evilbot January 27th, 2006

Люблю хорошие шутки, например такие:

Blog.Worm

via Jamshid

Холода.

Категории Uncategorized, опубликовал evilbot January 25th, 2006

Это Чубайс плохой? Нет, он не плохой, его жизнь заставляет таким быть.

При этом, с 17 января с.г. электростанции Европейской части России работают в условиях ограничения поставок основного топлива – газа, который замещается резервными видами топлива, в основном, мазутом. Дополнительная ежесуточная сработка мазута в целом по Холдингу составляет 55-60 тыс. тонн. В связи с этим, энергокомпании РАО “ЕЭС России” приступили к закупкам мазута для восполнения его запасов. Однако, некоторые поставщики топливо резко повышают отпускные цены на мазут вплоть до 10 тыс. руб. за тонну (при обычной цене 2,5-3 тыс. руб. за тонну), что осложняет процесс восстановления нормативных запасов топлива на электростанциях при фиксированных тарифах на электроэнергию.[>>]

Нет, действительно, я не понимаю эту страну и людей, которые живут в ней и делают Бизнес. Хотя конечно кому война, а кому мать родная, хотя я не замечал большого подьёма цен на аккумуляторы и обогреватели в магазинах, видать понимали что народ просто не купит, а тут так или иначе купят, ну или народу как всегда скажут что Чубайс плохой и т.д. и т.п.

Потоки

Категории Uncategorized, опубликовал evilbot January 24th, 2006

Мда, как ни странно, но я за всё время программирования ни разу не работал с потоками. В теории я знал как с нмими работать, а в жизни не работал ни разу, т.е. все эти Mutex’ы, Семафоры и т.д. были чем-то фантастическим.
В проекте рисования читалки появилась необходимость читать RSS-Потоки и не подвешивать всю программу. Ну раз надо, значит надо, сделаем потоки, благо многопоточность в C# реализована очень хорошо и просто. Для создания нового потока, который вызывает нужную мне функцию пришлось написать совсем немного кода:

fmMain FetchForm = new fmMain();
System.Threading.Thread FetchThread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(FetchForm.ThreadFetchRSS));

А вызов этого потока осуществляется одной функцией:

FetchThread.Start(Fd);

Создать новую форму потребовалось, т.к. функция ThreadFetchRSS не является статической. Будь она static, то для создания потока потребовалась бы всего одна строчка кода.
Но во всём этом оказалась одна "небольшая" проблемка, когда один поток записывает в документ скачанные RSS-Потоки, а другой читает из того же файла уже однажды скачанные потоки, то вылетает Exeption, я же не думал о потокобезопасности, когда писал этот код. А человек, который писал для меня работу с Xml, не думал о том, что я буду работать с многопоточностью.
В итоге для решения этой проблемы есть два варианта решения:

  • Простой: Сделать два XmlDocument’а, один для чтения, который будет храниться в памяти, другой для записи.
  • Сложный: Просто испльзуя встроенные средства языка синхронизировать работу потоков, что конечно заставит переписать часть кода работы с Xml.

В итоге мы скорее всего пойдём сложным путём, но и простой путь тоже будет использован, вот только в совершенно другом месте.

Спам.

Категории Uncategorized, опубликовал evilbot January 19th, 2006

Пришел концептуальный спам, что-то рекламируют, но что видать я должен
найти сам. Видать спам-исследования показали что кто ищет, тот найдёт,
даже то о чём не сказали в спам-рассылке.

Если вы полностью довольны своей жизнью – простите
нас за отнятое
У Вас (на прочтение этих строк) драгоценное время и не читайте дальше!
_____________________________________________________________________

  Если же Вы устали от вечной нищеты и беспросветной
невозможности
осуществить Ваши мечты, то ВОТ Вам шанс ИЗМЕНИТЬ это!!!

  “4х4″ – это попытка реализации в Интернете принципа
наших
мудрых и славных предков: “С миру по нитке – голому рубаха!”

RSS-Читатель

Категории Uncategorized, опубликовал evilbot January 19th, 2006

    После href="http://evilbot.ru/article/110">скачивания и установки
Visual C# на свой компьютер втянулся в программиование и
теперь  сижу, пишу RSS-Читалку. Меня
конечно SharpReader устраивает всем, кроме одного, он не может
синхронизироваться с Wazzup’ом,
а это достаточно большой минус, т.к. я часть фидов читаю дома, часть на
работе через Web-интерфейс.
    Сегодня написал процентов 15 от того,
чего хочу видеть в окончательном виде, у кого есть желание,
тот может попробовать скачать
её
и написать
мне
несколько приятных, ну или неприятных слов.
    Кстати для её запуска нужен .NET
Framework 1.1 или 2.0.

Тостеры от Cisco

Категории Uncategorized, опубликовал evilbot January 17th, 2006

Ведущий
мировой производитель оборудования для построения компьютерных сетей
компания Cisco Systems намеревается выйти на рынок потребительской
техники. Как сообщает в понедельник агентство Reuters, Cisco планирует
производить телефоны, радиотехнику, домашние кинотеатры и другие
подобные товары.

Вот так компании выходят на новые рынки. Такими темпами мы скоро будем жить в мире где тостеры подключены к интернету и выдают результаты поиска в Google или Yahoo. Хотя конечно вариант с микроволновкой, которая найдёт в интернете рецепт приготовления имеено того блюда, которое я хочу в данный момент меня вполне устраивает. Вот только как быть с безопастностью? У Cisco иногда такие проколы бывают, что диву диваешься. А микроволновка может быть страшным оружием…

Learning English

Категории Uncategorized, опубликовал evilbot January 14th, 2006

Тут в процессе изучения этого самого, Английского, языка подсел на просмотр “Дилберта”, смотрю его покак по два раза: Первый раз с русскими субтитрами, второй раз без них. Пока конечно самое начало обучения, но что-то получается понимать и без субтитров.
В итоге получается, на работе слушаю подкасты, а дома смотрю мультики и кино на языке оригинала. Глядишь, скоро начну англичан понимать.

Родители C#

Категории Uncategorized, опубликовал evilbot January 12th, 2006

    Когда в недрах Microsoft разрабатывали
язык C#, то там думали о программистах на C/C++ и стрались сделать
новый язык максимально приближенным к C++, а не к Java. В конце концов
у них получилось это сделать не только на уровне синтаксиса, но и на
уровне исполнения.
    Возьмём одну из программ, которую
предлагают
на собеседовании в Google, на C++ она выглядит так:

#include <iostream>
using namespace std;

class A
{
public:
    A()
    {
       
PrintStuff();
    }

    virtual void PrintStuff()
    {
       
cout<<“A!!!”<<endl;
    }
};

class B : public A
{
public:
    B()
    {
       
PrintStuff();
    }

    virtual void PrintStuff()
    {
       
cout<<“B!!!”<<endl;
    }

};

 int main(int argc, char* argv[])
{
    B b;
    return 0;
}

На C# она выглядет немного иначе, а именно так:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleTest
{
    class Program
    {
        static
void Main(string[] args)
        {
       
    B bb = new B();
        }
    }
    class A
    {
        public A()
        {
       
    PrintStuff();
        }
        public
virtual void PrintStuff()
        {
       
    Console.WriteLine(“A!!!”);
        }
    }
    class B : A
    {
        public B()
        {
       
    PrintStuff();
        }
        public
virtual void PrintStuff()
        {
       
    Console.WriteLine(“B!!!”);
        }
    };
}

Ну а на Java эта же программы выглядит так:

public class programm
{
    public static void main(String[] argv)
    {
        B b = new
B();
    }
}

class A
{
    A()
    {
       
printStuff();
    }

    public void printStuff()
    {
       
System.out.println(“A!!!”);
    }
}

class B extends A
{
    B()
    {
       
printStuff();
    }

    public void printStuff()
    {
       
System.out.println(“B!!!”);
    }

Ну а в результате выполнения первых двух программ мы получаем такой
вывод на экран:

A!!!
B!!!

Ну а в результате выполнения третьей программы мы получаем такой
вывод на экран:

B!!!
B!!!

В принципе выше написаный текст не имеет очень большого смысла, просто
он показывает что хоть C# и считается языком, выросшим из Java на самом
деле таковым не является. На самом деле C# – это дольно успешная
попытка избавиться от проблем C++ и одновременно не лишиться его
достоинств.

XML в C#

Категории Uncategorized, опубликовал evilbot January 12th, 2006

Когда-то я узнал что я языке C# есть регулярные выражения, тогда у меня впервые появилось желание изучить его. Потом я узнал что там есть встроенные функции работы с XML, после этого мне стало совсем радостно. И вот наконец скачав и поставив себе C# я начал его осваивать.
В принципе работу с готовым XML я освоил в первый день, а вот создание собственного XML осваивал дольше из-за некоторых особенностей реализации. Особенно долго я не мог понять почему новые XML элементы может создавать только XmlDocument, а отдельно создать нельзя. Ну спишем это на некие особенности библиотеки, кстати если кто знает причину почему так сделано, расскажите мне, а то я видать плохо искал. Но на самом деле с XML мне очень нравится работать, например такой код:

XmlDocument doc = new XmlDocument();
XmlNode NNode = doc.CreateElement("FeedList");
doc.AppendChild(NNode);
foreach (TreeNode Nd in Tree.Nodes[0].Nodes)
{
XmlNode Node = doc.CreateElement("Feed");
Node.Attributes.Append(doc.CreateAttribute("Name"));
Node.Attributes[0].Value = Nd.Text;
doc.DocumentElement.AppendChild(Node);
}
doc.Save("Feeds.xml");

Создаёт вполне валидный XML-файл.

Что мне очень нравится, парсить такие файлы тоже очень просто, что мне нравиться еще больше. В общем примерно такая-вот красота получается если правильно использовать возможности языка. Хотя стоит учесть, что я пока сильно много возможногстей не использовал. У меня еще впереди много сюрпризов, надеюсь хороших.

Следующая страница »