Подскажите, что писать? (Нет темы для практики в Qt/C++)
Модератор: Модераторы разделов
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Подскажите, что писать?
В принципе желание учится есть огромное и возможность тоже. Единственное чего не хватает по настоящему интересной и достаточно сложной задачи на которой можно не только получить опыт в использовании библиотеки, но и чтобы было не стыдно её кому-то показать. Что можете подсказать?
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
un-defined
- Сообщения: 145
- ОС: Kubuntu, Gentoo
Re: Подскажите, что писать?
kafik-fafik писал(а): ↑18.01.2008 22:00В принципе желание учится есть огромное и возможность тоже. Единственное чего не хватает по настоящему интересной и достаточно сложной задачи на которой можно не только получить опыт в использовании библиотеки, но и чтобы было не стыдно её кому-то показать. Что можете подсказать?
Ну две идеально сложные и спорные задачи сходу могу придумать - на многих форумах регулярно вокруг них битвы.
Это асечный клиент и двухпанельный оконный менеджер. Соответственно в идеале - клоны широко известных продуктов из стана поклонников нескажукакой операционной системы.
Как Вам задачка?
Don`t try - just do or do not ©Master Joda
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
-
Skala
- Сообщения: 241
- ОС: Gentoo
Re: Подскажите, что писать?
Напишите небольшую утилиту "для себя" - скажем, подумайте, чего Вам недостает в linux, какой-нибудь удобной "фичи" и попробуйте ее написать.
Спасибо за внимание.
-
mbI4uHKa
- Сообщения: 210
Re: Подскажите, что писать?
un-defined +1
сделай из sim/gaim/licq/ и т.д.
icq клиент максимально похожий на qip.
сделай из sim/gaim/licq/ и т.д.
icq клиент максимально похожий на qip.
-
Liksys
- Сообщения: 2910
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Re: Подскажите, что писать?
Не хватает разве что FineReader и среды разработки быстрой и кроссплатформенной. Первый вариант - не подходит. а вторая - слишком большая по масштабам. Или я ошибаюсь?
un-defined писал(а): ↑18.01.2008 22:50kafik-fafik писал(а): ↑18.01.2008 22:00В принципе желание учится есть огромное и возможность тоже. Единственное чего не хватает по настоящему интересной и достаточно сложной задачи на которой можно не только получить опыт в использовании библиотеки, но и чтобы было не стыдно её кому-то показать. Что можете подсказать?
Ну две идеально сложные и спорные задачи сходу могу придумать - на многих форумах регулярно вокруг них битвы.
Это асечный клиент и двухпанельный оконный менеджер. Соответственно в идеале - клоны широко известных продуктов из стана поклонников нескажукакой операционной системы.
Как Вам задачка?
Первое - смысла нет всё равно то что получится будет хуже чем существующие. ведь над pidgin работает не один человек к примеру и то не могут нормально всё сделать.
Второе - не совсем дошло что подразумевается под двухпанельным оконным менеджером?
Один человек? Ведь даже перечисленные тобой клиенты делают не один и не пятеро даже.
Для курсовика не пойдёт. Там одно и тоже действие - открыть файл распарсить, записать что-то куда то и закрыть.
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
MadDog
- Бывший модератор
- Сообщения: 2298
- Статус: Добрый банщик
Re: Подскажите, что писать?
Я ещё добавлю - просмотр писем на сервере как в TheBat!un-defined писал(а): ↑18.01.2008 22:50Ну две идеально сложные и спорные задачи сходу могу придумать - на многих форумах регулярно вокруг них битвы.
Это асечный клиент и двухпанельный оконный менеджер.
-
un-defined
- Сообщения: 145
- ОС: Kubuntu, Gentoo
Re: Подскажите, что писать?
kafik-fafik писал(а): ↑18.01.2008 23:45Первое - смысла нет всё равно то что получится будет хуже чем существующие. ведь над pidgin работает не один человек к примеру и то не могут нормально всё сделать.
А не надо делать хуже. Надо лучше. К примеру -зачем люди написали sim, если есть pidgin (ну или в обратном порядке, смотря кто из них раньше появился)? Зачем люди что-то пишут - уже ведь все давно написано?
kafik-fafik писал(а): ↑18.01.2008 23:45Второе - не совсем дошло что подразумевается под двухпанельным оконным менеджером?
Total Commander например
Don`t try - just do or do not ©Master Joda
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Re: Подскажите, что писать?
un-defined писал(а): ↑19.01.2008 00:48kafik-fafik писал(а): ↑18.01.2008 23:45Второе - не совсем дошло что подразумевается под двухпанельным оконным менеджером?
Total Commander например
Дак разве он оконный? Это же файловый менеджер... Скучно будет если честно
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
akdengi
- Сообщения: 4244
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Подскажите, что писать?
Горячо поддерживаю !MadDog писал(а): ↑19.01.2008 00:14Я ещё добавлю - просмотр писем на сервере как в TheBat!un-defined писал(а): ↑18.01.2008 22:50Ну две идеально сложные и спорные задачи сходу могу придумать - на многих форумах регулярно вокруг них битвы.
Это асечный клиент и двухпанельный оконный менеджер.
Если будет таковой хотя бы в виде плагина для ThunderBird-а, то многие тысячи настоящих живых пользователей будут Вам крайне признательны.
Востребованность сей вещицы очень велика.
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Re: Подскажите, что писать?
А что под этим подразумевается вообще? Бата нет, как и ПК с виндой, так что сам посмотреть не могу, суть в чём?
Спасибо, интересные темы
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Подскажите, что писать?
Я так понимаю, что Вам просто совершенно неинтересно и не нужно ?kafik-fafik писал(а): ↑19.01.2008 19:41
А что под этим подразумевается вообще? Бата нет, как и ПК с виндой, так что сам посмотреть не могу, суть в чём?
Или просто откровенно лень ?
Элементарный поиск в гугле даёт массу полезной информации:
Существуют ли почтовые клиенты с Диспетчером писем?
http://www.ritlabs.com/ru/products/thebat/features.php
http://forum.mozilla-russia.org/viewtopic.php?id=15293
http://support.tulatelecom.ru/mail/bat/index.html (последний скриншот)
http://home.eltel.net/help/thebat (в середине страницы)
-
Assuri
- Сообщения: 678
- Статус: #include <brain.h>
- ОС: Fedora 12
Re: Подскажите, что писать?
Никогда не питали интерес к написанию драйверов?
P.S. моя мечта
P.S. моя мечта
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Re: Подскажите, что писать?
Goodvin писал(а): ↑19.01.2008 20:24Элементарный поиск в гугле даёт массу полезной информации:
Существуют ли почтовые клиенты с Диспетчером писем?
http://www.ritlabs.com/ru/products/thebat/features.php
http://forum.mozilla-russia.org/viewtopic.php?id=15293
http://support.tulatelecom.ru/mail/bat/index.html (последний скриншот)
http://home.eltel.net/help/thebat (в середине страницы)
А чем собственно не устраивает Google Toolbar с GMail кнопкой? там тоже выводится список всех сообщений. Или нужно именно "удалять не читая"?
Нет ;) Всегда было интереснее - как из массива пикселей создают такие разнообразные кртинки и интерфесы которые ещё и реагируют на ваши действия. ;)
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Подскажите, что писать?
о! рекрут! 
Если через пару месяцев не определитесь (примерно к тому времени я надеюсь определиться что и как можно делать "распределенно") - милости прошу к себе - драйвера для промышленных принтеров этикеток и чеков. Фактически это даже не драйвера а подсистема печати на промышленных принтерах этикеток.
____________
А в текущих задачах - практически "учебных" (да и не совсем "только QT4" и не только для linux, но то что мне будет нужно и что мне может помочь) :
"Пример создания кроссплатформенной библиотеки c использованием QT4 и примеры использования такой библиотеки с другими средами разработки". Разбивается на 3 задачи :
1) Создать проект-шаблон внешней библиотеки c QT4.2 (linux/win) , скомпилить её для linux и win.
2) Создать проект на QT4 (linux) который загрузит данную библиотеку и выполнит демо-функции библиотеки из п.1.
3) Cоздать аналогичный проект с Delphi6 (win) (загрузить библиотеку и выполнить демо-функции библиотеки из п.1.)
Все проекты на QT - без ide - все только руками.
по пункту 1 : Пусть данная библиотека будет писать строчки в файл - (логи так будем вести например). Библиотека должна экспортировать 3 функции - "вызвать меню настройки", "записать строчку в файл", вернуть "последнюю принятую строчку в файл".
Меню настройки будет предлагать выбрать путь и имя файла в который будем писать строчки текста.
по пункту 3 :Очень интересует пункт 3
"Подводные камни" - выдача данных должна производиться не в классах QT а базовыми си-шными типами (т.е. QString на выходе "не прокатывает". Максимум - char[] ).
Далее - надо понять как их принимать на стороне Delphi.
Вот такой-вот компот. Все это будет использовано как пример для "обёртывания" функционала в отдельную библиотечку которая потом будет "подтягиваться" "куда надо" - в моем случае первая задача - подключить все это добро во внешнюю компоненту 1С. ( я в примерах внешних компонент 1C разобрался только в случае с Delphi
да и проще они (примеры Delphi) для понимания (имхо)... но это уже другая песня.)
Если сделаете в течении недели-другой-третьей - мой вам респект за исходники
и "строчка в авторах".
Есил я раньше успею - ну... там как получится... По крайней мере создадите хороший учебный пример и сами разберетесь.
Если через пару месяцев не определитесь (примерно к тому времени я надеюсь определиться что и как можно делать "распределенно") - милости прошу к себе - драйвера для промышленных принтеров этикеток и чеков. Фактически это даже не драйвера а подсистема печати на промышленных принтерах этикеток.
____________
А в текущих задачах - практически "учебных" (да и не совсем "только QT4" и не только для linux, но то что мне будет нужно и что мне может помочь) :
"Пример создания кроссплатформенной библиотеки c использованием QT4 и примеры использования такой библиотеки с другими средами разработки". Разбивается на 3 задачи :
1) Создать проект-шаблон внешней библиотеки c QT4.2 (linux/win) , скомпилить её для linux и win.
2) Создать проект на QT4 (linux) который загрузит данную библиотеку и выполнит демо-функции библиотеки из п.1.
3) Cоздать аналогичный проект с Delphi6 (win) (загрузить библиотеку и выполнить демо-функции библиотеки из п.1.)
Все проекты на QT - без ide - все только руками.
по пункту 1 : Пусть данная библиотека будет писать строчки в файл - (логи так будем вести например). Библиотека должна экспортировать 3 функции - "вызвать меню настройки", "записать строчку в файл", вернуть "последнюю принятую строчку в файл".
Меню настройки будет предлагать выбрать путь и имя файла в который будем писать строчки текста.
по пункту 3 :Очень интересует пункт 3
"Подводные камни" - выдача данных должна производиться не в классах QT а базовыми си-шными типами (т.е. QString на выходе "не прокатывает". Максимум - char[] ).
Далее - надо понять как их принимать на стороне Delphi.
Вот такой-вот компот. Все это будет использовано как пример для "обёртывания" функционала в отдельную библиотечку которая потом будет "подтягиваться" "куда надо" - в моем случае первая задача - подключить все это добро во внешнюю компоненту 1С. ( я в примерах внешних компонент 1C разобрался только в случае с Delphi
Если сделаете в течении недели-другой-третьей - мой вам респект за исходники
Есил я раньше успею - ну... там как получится... По крайней мере создадите хороший учебный пример и сами разберетесь.
-
un-defined
- Сообщения: 145
- ОС: Kubuntu, Gentoo
Re: Подскажите, что писать?
Да, это я русскоязычные термины путаю
Don`t try - just do or do not ©Master Joda
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Re: Подскажите, что писать?
Denjs писал(а): ↑20.01.2008 00:18о! рекрут!
Если через пару месяцев не определитесь (примерно к тому времени я надеюсь определиться что и как можно делать "распределенно") - милости прошу к себе - драйвера для промышленных принтеров этикеток и чеков. Фактически это даже не драйвера а подсистема печати на промышленных принтерах этикеток.
...
Если сделаете в течении недели-другой-третьей - мой вам респект за исходникии "строчка в авторах".
Есил я раньше успею - ну... там как получится... По крайней мере создадите хороший учебный пример и сами разберетесь.
По первому предложению спасибо, но я не особо понимаю, как это можно будет тестировать? Сначала получается нужно писать эмулятор таких принтеров?
Насчёт второго, если правильно понимаю, нужно около 100 строчек создающих меню с двумя пунктами запихать в библиотеку и потом подключать эту сначала к экспериментальной Qt программе, а затем к программе на Delphi6 так? Если да, то мне осталось лишь научится собственно подключать библиотеки, что не проблема наверное
Добавим в список
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Подскажите, что писать?
тестировать работу с принтерами - только на железе конечно)))kafik-fafik писал(а): ↑20.01.2008 01:46По первому предложению спасибо, но я не особо понимаю, как это можно будет тестировать? Сначала получается нужно писать эмулятор таких принтеров?
пока ничего тестировать (в смысле "с принтерами") не надо. У меня самого если и будет принтер - то "на следующей или за ней" неделе )
а для отладки работы всей остальной системы - будет создан виртуальный принтер (отрисовка в картинку) интерфейс которого не будет отличаться от модуля работы с реальным принтером.(и который помимо всего прочего будет играть роль эталонного примера результата печати)
Там будет что отлаживать помимо работы с железом - (если все будет хорошо - и сервер-модуль и модуль-сетевой-печати(по факту - тоже "виртуальный принтер"), сбор данных о состоянии узлов и администрирования и настройки, расширение языка описания задания и др.)
Насчёт второго, если правильно понимаю, нужно около 100 строчек создающих меню с двумя пунктами запихать в библиотеку и потом подключать эту сначала к экспериментальной Qt программе, а затем к программе на Delphi6 так? Если да, то мне осталось лишь научится собственно подключать библиотеки, что не проблема наверное
Добавим в список
Ну... с какой-то стороны вы правы...
Меня в принципе больше интересует именно пример интеграции созданной в QT библиотеки с Delphi.
По минимуму - там задачу действительно можно сократить до 100 строчек кода и упростить первоначальную задачу - при получении строчки просто изменить надпись на "лейбеле". и 3 функции "показать лейбл", "высветить строку", "убрать лейбл".
Думаю это для "недельной задачи" проще.
________________
В общем случае, в учебных целях я бы рекомендовал изначальную задачу про "библиотечку логирования" начать решать "долгим путем" . Как минимум потому что вы "хотите изучить QT".
Она конечно не сильно нужна будет... по крайней мере сразу... наверное... но вы освоитесь с QT - и потом уже будете хорошо решать "боевые задачи".
Кстати - если будет отдельный класс (не библиотека - а класс) ведения логов - и его будет удобно использовать - я его с удовольствием включу в проект - тем более - если он будет работать с механизмом сигналов и слотов. Просто в рамках учебной задачи я предлагаю "обернуть" его в библиотеку.
Начнем с "архитектуры" - я бы использовал отделение интерфейса от функционала - для начала - создал функциональный класс - от QObject.
А для различных методов "функционального" класса - уже писать функции-обертки - экспортируемые функции библиотеки. (да и стиль программирования - "правильный" - см ниже)
Кроме того, на самом деле, было-бы разумно (имхо) повесить на данные функции-обертки задачи преобразования простых-сишных типов данных к QT-шным (что бы в классе который вы создаёте не было чехарды - тут у нас "QTString" а тут "char[]" - это помимо прозрачности кода класса, повысит удобство повторного использования данного функционального класса в последствии - а иначе зачем он нужен - "ООП" - для такой задачи?)
Кстати - при преобразовании QString к char[] не забудьте решить "проблемы" c кодировками. (в QString - же UTF да? а на выходе например я хочу видеть однобайтовый CP1251. иначе как прикажите работать с этим на стороне Паскаля? или приведите работающий пример с UTF... (это предпочтительней) )
Для задачи с кодировками там вроде тоже что-то должно быть из QT-шных классов...
Файловый ввод-вывод, кстати, как минимум в учебных целях - делать через QIODevice (кажется оно так называется...)) - например для того что бы потом не сильно напрягаться и дописать туда другие функции приема данных из других источников.
И только после того, как вы решите хотя-бы часть функциональных проблем, - затем уже только создавать различные "виджеты и менюшки" подключенные к слотам и сигналам функционального класса (именно для того что бы "пользовать" механизм сигналов и слотов, функциоанльный класс и стоит наследовать от QObject). )
Причем созданием "виджетов и менюшек" должен бы заниматься этот самый функциональный класс по вызову нужной функции.(по вызову "вызвать меню настройки")
Про менюшки добавлю: в целях учебной задачи - интересно было бы видеть ещё на менюшке в реальном времени окошко со строками приходящими на обработку (да и вообще это хороший стиль - писать "что-тут-у-нас-ваще-происходит" и показывать статус в каком-нибудь окошечке) - т.е. у функционального класса должны быть сигналы типа LogMessage() залинкованные на слоты класса-виджета или текстового поля ввода ).
а в main() вообще будет едва-ли не удинственная строчка - создать функциональный класс.
В ходе решения - вы научитесь работать с сигналами и слотами, научитесь работать с различными визуальными и не визуальными классами QT (и создавать не визуальные классы от QObject - что кстати не везде освещается т.к. наверное считается что QT - "только для менюшек") и сделаете все в относительно хорошем ООП-стиле (имхо).
Вот примерно так я вижу структуру правильного решения учебной задачи по напписанию "библиотечки ведения логов" на QT4.
____________
кстати с Delphi тоже не все ясно... как минимум у меня есть некоторые сомнения касающиеся того как будут передаваемые данные отображаться в паскале и наоборот.
-
kafik-fafik
- Сообщения: 8
- ОС: Debian 4.0 GNU/Linux
Re: Подскажите, что писать?
Denjs писал(а): ↑20.01.2008 02:28...
В ходе решения - вы научитесь работать с сигналами и слотами, научитесь работать с различными визуальными и не визуальными классами QT (и создавать не визуальные классы от QObject - что кстати не везде освещается т.к. наверное считается что QT - "только для менюшек") и сделаете все в относительно хорошем ООП-стиле (имхо).
Вот примерно так я вижу структуру правильного решения учебной задачи по напписанию "библиотечки ведения логов" на QT4.
[color]
____________
кстати с Delphi тоже не все ясно... как минимум у меня есть некоторые сомнения касающиеся того как будут передаваемые данные отображаться в паскале и наоборот.
Всё понятно. Кстати работать со слотами, а также с визуальными и не визуальными компонентами я уже умею. так что мой уровень будет всё-таки чуть повыше чем вы считаете, единственное - правильно оборачивать что-то в класс пока я не смогу наверное. С завтрашнего дня пожалуй и начну, надеюсь смогу это закончить
Хорошая собака с дискетой лучше плохого человека...
LJ
LJ
-
Djam
- Сообщения: 533
- ОС: Mandriva 2009.0
Re: Подскажите, что писать?
Могу как вариант предложить написание криптопровайдеров с поддержкой ГОСТ для линукс. Сейчас их нет, а то что есть не поддерживает стандарт ГОСТ 2001 широкоиспользуемый на территории России. И признан как стандарт шифрования для госорганов России.
Mandriva 2009 Spring Free, kernel-2.6.29.6-2, wine@etersoft 1.0.10 Network, 1C all, ASUS P5PE-VM i865G, 1024 Mb, iPentium 3.06 GHz(s775)
истина где-то рядом, но мы ни как не встретимся
истина где-то рядом, но мы ни как не встретимся
-
akdengi
- Сообщения: 4244
Re: Подскажите, что писать?
Есть идейка - дурацкая, но не совсем: Качаем файлы и сваливаем все на рабочий стол. Прожка (как раз для тех, у кого Кеды) висит себе тихонечко и при появлении файликов, отвечающих требованиям, рассортировывает их по нужным папкам - музыка, видео, рисунки (можно в папки по датам или еще как нибудь). Такое есть в Маке - очень удобно. Как развитие - рисунки например (или фото) привязываем к галереям (типа digikam), музыку сортируем по тегам, пакеты в отдельную папку и т.д. Простор для творчества большой
Меня тут снова нет :P
-
Liksys
- Сообщения: 2910
Re: Подскажите, что писать?
akdengi, закопирайтил и ушел писать 
-
akdengi
- Сообщения: 4244
-
Atragor
- Сообщения: 681
- Статус: ...
Re: Подскажите, что писать?
akdengi писал(а): ↑20.01.2008 23:39Есть идейка - дурацкая, но не совсем: Качаем файлы и сваливаем все на рабочий стол. Прожка (как раз для тех, у кого Кеды) висит себе тихонечко и при появлении файликов, отвечающих требованиям, рассортировывает их по нужным папкам - музыка, видео, рисунки (можно в папки по датам или еще как нибудь). Такое есть в Маке - очень удобно. Как развитие - рисунки например (или фото) привязываем к галереям (типа digikam), музыку сортируем по тегам, пакеты в отдельную папку и т.д. Простор для творчества большой
Я об автоматическом раскидывании файлов по папкам мечтаю с тех пор, как покинул DownloadMaster.
ЗЫ Секунд двадцать думал, при чем тут "Make", пока не понял, что имеется в виду Макось.
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
-
akdengi
- Сообщения: 4244
Re: Подскажите, что писать?
ЗЫ Секунд двадцать думал, при чем тут "Make", пока не понял, что имеется в виду Макось.
Гы. Перечитал свой пост - надо завязывать с простмотром роликов "Мак и PC"
P.S. Просто идея хорошая...
Меня тут снова нет :P