Jun 19

Сегодня у нас на повестке дня два линка:

  1. Перевод черновика стандарта C++09 на русский язык. Для тех, кто не в курсе - в C++09 - новый стандарт языка C++, который будет выпущен в 2009-м году (логично, не правда ли :)), стандарт определяет саму структуру языка + его стандартную библиотеку (STL).
  2. Пример использования Zend_Translate под звучным названием “Build Multi-lingual Websites With the Zend Framework”. Я пока что не дочитал, но просмотрел. На первый взгляд - ни о каком “build websites” речи не идет, просто показывается, как юзать Zend_Translate, но может кому-то будет полезно.

PS. Я уже дома. turboNOMAD, давай линк.

written by FX Poster \\ tags: ,

Jun 07

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

Как я раньше писал, по Компьютерным Информационным Технологиям у нас 3 лабораторные работы + экзамен, но те, кто сделал эти 3 работы раньше чем нужно, могут попросить препода дать им 4-ую лабу, сделав которую можно не идти на экзамен. Моя 4-ая лаба - реализация одного из алгоритмов поиска всех вхождений подстроки в строке, а именно - реализация алгоритма Бойера-Мура (Boyer-Moore). В этом алгоритме поиск в лучшем случае (при удачной реализации) выполняется за сублинейное время (т.е., за O(k*n), где k = const, k < 1). Проблема реализации заключалась в том, что:

  • алгоритм нам объясняли с использованием строк с символами [1...n] (т.е. первый символ строки находится на [1]-й позиции), а мне пришлось делать с обычными c’шными строками [0...n-1]; на первый взгляд кажется - ну и в чем тут проблема… проблема в сложности алгоритма… его и просто по книжке нелегко реализовать, а тут еще и добавляются всякие проблемы - там единицу не добавил, там - не отнял и т.д.
  • алгоритм нам объяснили не полностью, а где-то на 2/3… оставшуюся часть пришлось выводить самому… над алгоритмом, который в итоге был реализован функцией в 20 строчек, я сидел часа 4… вроде заработало…
  • ну и все остальное по мелочи :)

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

Файлы: source (string.h + string.cpp).

written by FX Poster \\ tags: , ,

Jun 06

Последняя лабораторная по “Архитектуре ЭВМ” - это был отжиг. Один из преподов (которому мы эту работу должны были сдать) долго болел и на наших занятих был всего пару раз. После того, как он “отболел”, он появился у нас на уроке, начал наезжать, что мы всей группой нифига не сдаем (офигенно просто, особенно если учитывать, что сдавать некому было), пугал тем, что нас расформируют как группу и все мы перейдем под его кураторство (он куратор в параллельной группе).

После наездов препод огласил наконец - что именно он от нас хочет на лабораторной, а именно - низкоуровневого программирования (работа с каким-нибудь устройством), и желательно на ассемблере. Попытки доказать ему, что ни одна современная ОС не даст нам напрямую соединится с устройством, он мне выдал замечательнейшую фразу - “загружайтесь с дискеты под дос и программируйте”. Это была жесть.

Сейчас он немного успокоился и без проблем принимает лабораторные на WinAPI (которого, как мне показалось, он вообще не знает).

Так как выбор был небольшой (особо парится не хотелось) - сделал программу для “работы” с клавиатурой. Смотрите сами. :) В файлах - класс работы с клавиатурой (обертка для некоторых функций из WinAPI), builder’овский проект (мне влом разбираться, что здесь нужно, а что нет - выкладываю весь проект, ну и exe’шник.

Файлы: source (keyboard.h), source (builder project), exe.

PS. Ближе к вечеру сегодня появится еще одна лаба. :) 

written by FX Poster \\ tags: , , ,

Jun 06

После долгого отдыха от универа (как-то странно получилось, я на полтора месяца забил на домашние задания), возвращаюсь к программированию. Последняя лабораторная работа по “Абстрактным Типам Данных” (предмет на самом деле называется не так, но по сути на нем преподают как раз АТД) - класс графа.

Описание и вся документация по графу - в исходниках. Если нужно - могу выложить HTML’ные странички, сгенерированные cpp-doc’ом, хотя вы и сами можете сделать их. ;)

Так как это лаба модульная (к ней нужно делать отчет и прочее) - пришлось соорудить на скорую руку простенький GUI (делал в Borland C++ Builder), показывающий некоторые возможности графа. Его исходники я не выкладываю, они вряд ли будут кому-то интересны.

Файлы: source, gui (exe).

written by FX Poster \\ tags: , ,

May 30

Такс… Много чего обещал. Буду исправлятся.

Планы на эту и следующую неделю таковы:

  1. CSS, если найду дизайнера
  2. C++
    1. Класс графа (если честно, сделанный так сяк, сил уже нет моих лабы делать)
    2. Класс-обертка для работы клавиатурой
    3. Поиск подстроки в строке за сублинейное время - поглядим, как получится

Отложенные:

  1. PHP
    1. Zend Framework ModelDb-класс, боюсь просто не осилю продолжение
    2. Краткий обзор CodeIgniter, тоже будет, но не в ближайшие 2 недели

Пока что все. Что будет дальше - как жизнь покажет.

written by FX Poster \\ tags: , , , ,

Apr 13

Еще две лабораторные работы: бинарное дерево поиска и хеш таблица (хеш-таблица еще не документирована).

Исходники и примеры работы с классами - далее по тексту.

Continue reading »

written by FX Poster \\ tags: , , ,

Mar 02

На сайте Microsoft появилась (а может и была, я не знаю) довольно интересная страничка. Рассказывается о разработке программ для винды и для веба с помощью технологий, предоставляемых самой MS, а именно ASP.NET для веба и VB, C# для винды. Сражу предупреждаю - там почти все предлагается в виде дидеороликов видеороликов, так что перед этим запаситесь приличным количеством траффика. :) Я сам еще не смотрел (а может и не буду), но пробежался. Вердикт - зайти стоит. В особенности программистам :)

written by FX Poster \\ tags: , , ,

Feb 21

Посетила меня такая мысля - раз уж мне нужен RSS Reader, то почему не сделать его самому. Сначала идея была заброшена в самую жопу дальнюю извилину моего мозга, но потом сформировался неплохой план: есть у нас предмет один, “учебная практика” называется, нам по нему задали сделать 1 задание на пол семестра, задание выбираешь сам (цитата препода: “Далайте то, что бы вы могли показать будущим заказчикам”). Но препод вынуждает хочет, чтобы мы писали игру, причем сетевую. Игру я писать не хочу (не мое это :( ), а вот поуговаривать препода разрешить мне написать RSS ридер, ИМХО, неплохая идея. Сегодня будут ленты у него - попробую договориться.

Помощь приветствуется, т.к. хочется все-таки сделать качественный продукт. Если кто шарит C++ - пишите сюда, или сразу мне в аську. Знание каких-нибудь кросс-платформенных GUI (типа Qt) приветствуется!

PS. Проектировщик нужен обязательно, т.к. я думаю, что не справлюсь с этим (все же проектирование у меня хромает).

written by FX Poster \\ tags: , , ,

Feb 17

Уже очень давно читал статью о сабже. Сейчас вот вспомнил наконец-то - статейка на википедии.

PS. Может это мне кажется, но по статье C# рвет Java по черному…

written by FX Poster \\ tags: , ,

Feb 16

Есть простенькая програмка из двух файлов. В одном инклудится iostream, в другом string. VS2005 в итоге выдает exe’шник размером 61 кб. GCC из MinGW мне на стандартных настройках выдала полумегабайтный файл. После некоторых изменений в компилирующем батнике размер уменьшился до 280 кб. Вопрос - а почему ТАК МНОГО?

Кто-то может что-то посоветовать?

c++.exe -c main.cpp tree.h -O3
c++.exe -o main.exe main.o -s

Вот сам батник…

Добавление:

VS2005 в режиме Release вообще собрала exe’шник с размером 10 кб.

written by FX Poster \\ tags: , , ,