RSDN@Linux 2
От: Mr.Chipset Россия http://merlinko.com
Дата: 13.06.05 21:51
Оценка: +1
Привет всем!
После разговора с Sheridan'ом прояснились некоторые детали по сабжу.
В частности, есть идея разделить RSDN@Linux на две части:
1. Драйвер -- синх+драйвер к БД, скажем в виде демона.
2. Представление -- в данном случае это некий клиент который используеться драйвер для доступа к БД и синхронизации. К примеру это может быть веб-интерфейс на Джаве, десктопная программа просмотра, наподобие Janus'a или вообще плагин к FF
Так что сейчас требуеться лишь начать. Начать предлагаю с рефакторинга сервиса синхронизации Януса на С++ и к-платформенную библиотеку SOAP'a, наподобие gSOAP.
Всё в интересе со стороны C++'ников Linux'оидов.
СУВ.
... << А писал я этот бред на RSDN@Home 1.1.4 beta 7 rev. 447, под звуки Deep Purple — Sail Away>>
"Всё что не убивает нас, делает нас сильнее..."
Re: RSDN@Linux 2
От: Sheridan Россия  
Дата: 14.06.05 04:29
Оценка:
Здравствуйте, Mr.Chipset, Вы писали:

MC>Привет всем!

MC>После разговора с Sheridan'ом прояснились некоторые детали по сабжу.
MC>В частности, есть идея разделить RSDN@Linux на две части:
MC>1. Драйвер -- синх+драйвер к БД, скажем в виде демона.
MC>2. Представление -- в данном случае это некий клиент который используеться драйвер для доступа к БД и синхронизации. К примеру это может быть веб-интерфейс на Джаве, десктопная программа просмотра, наподобие Janus'a или вообще плагин к FF
Клиент не пользует синхронизацию, он может лиш попросить демона засинхронизироватся. Демон же читает /etc/janus.conf и оттуда узнает все что ему надо в том числе и когда и сколько синхронизировать... И решает выполнить ли просьбу клиента сейчас или ненада...

MC>Так что сейчас требуеться лишь начать. Начать предлагаю с рефакторинга сервиса синхронизации Януса на С++ и к-платформенную библиотеку SOAP'a, наподобие gSOAP.

имхо нужно пользовать qt (гуру, разрешат нам ее пользовать кутешники в данном контексте) и попробовать писать кроссплатформенно. Тобиш линуховый демон для винды переделывать в сервис для NT или просто экзешник для 9x... Гуя само собой...
Тоесть изначально хотелось бы почитать про объектную модель, и переписать ее на с++, затем братся собственно за демона (вплотную) и гую (по мере сил). По мере сил это потому что всетаки гуя в этом случае действительно может быть любая, от мода к апачу до standalone exe. Главное продумать как гуя будет с демоном работать.

MC>Всё в интересе со стороны C++'ников Linux'оидов.

MC>СУВ.
Запрос версии RSDN@Home...
[1.1.4][beta 7][472]
Matrix has you...
Re[2]: RSDN@Linux 2
От: Mamut Швеция http://dmitriid.com
Дата: 14.06.05 06:42
Оценка:
MC>>Так что сейчас требуеться лишь начать. Начать предлагаю с рефакторинга сервиса синхронизации Януса на С++ и к-платформенную библиотеку SOAP'a, наподобие gSOAP.
S>имхо нужно пользовать qt (гуру, разрешат нам ее пользовать кутешники в данном контексте) и попробовать писать кроссплатформенно. Тобиш линуховый демон для винды переделывать в сервис для NT или просто экзешник для 9x... Гуя само собой...

Для синхронизации с веб сервисом подойдет gSOAP, я его за вымя не трогал, просто покопался у них на сайте. Например, ихний WSDL compiler великолепно справляется с Янусовским веб-сервисом. И кросс-платформенный тож.

В стандартной поставке Qt нет инструментов для работы с Веб-сервисами, но при наличии gSOAP их и не надо, имхо.

Насчет демонов и сервисов... В Qt Solutions есть решение для создания *никсовских демонов и виндовых сервисов. Единственное но — Solutions — это платная вещь, хоть и можно ее достать бесплатно

Насчет Qt вообще... Можно, теоретически, начинать все это дело писать уже на Qt4, благо и под винду он будет GPL.

S>Тоесть изначально хотелось бы почитать про объектную модель, и переписать ее на с++, затем братся собственно за демона (вплотную) и гую (по мере сил). По мере сил это потому что всетаки гуя в этом случае действительно может быть любая, от мода к апачу до standalone exe. Главное продумать как гуя будет с демоном работать.


В Qt есть большой плюс — наличие драйверов к базам данным (в четвертой версии будет поддержка SQLite3, например). Думается мне, что если покопаться в исходниках, то можно драйвер к любой базе написать.

А главный минус — то, что виртуальный грид надо будет писать полностью с нуля, на основе QTable или, боже упаси, QGridView

А и еще — надо будет решить, использовать Сцинтиллу или обойтись QTextView с собственными QStyleSheet'ами...


dmitriid.comGitHubLinkedIn
Re[3]: RSDN@Linux 2
От: Sheridan Россия  
Дата: 14.06.05 07:04
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>А главный минус — то, что виртуальный грид надо будет писать полностью с нуля, на основе QTable или, боже упаси, QGridView

Что есть виртгрид? Если это messagetree то оно нам впринципе ненужно. Можно реализовать один из интерфейсов, описаных гдетотут... К томуже это дело интерфейса как все отображать...
Скажем — к демону будет 4 основных запроса относящихся к форуму.
1. Дай список форумов
2. Дай список самых верхних веток форума
3. Дай дерево начиная с такойто ветки
4. Дай тело сообщения
Дело демона дать что просят.
Дело вьювера какнибудь показать.

M>А и еще — надо будет решить, использовать Сцинтиллу или обойтись QTextView с собственными QStyleSheet'ами...

Скорее второе. Цинтила чета мне ненравица... Хотя будем посмотреть.
Запрос версии RSDN@Home...
[1.1.4][beta 7][472]
Matrix has you...
Re[3]: RSDN@Linux 2
От: cencio Украина http://ua-coder.blogspot.com
Дата: 14.06.05 07:22
Оценка: 14 (2)
Здравствуйте, Mamut, Вы писали:

M>Насчет демонов и сервисов... В Qt Solutions есть решение для создания *никсовских демонов и виндовых сервисов. Единственное но — Solutions — это платная вещь, хоть и можно ее достать бесплатно


неужели демон такая сложная штука что для него нужно искать крякнутый "Qt Solutions"

M>Насчет Qt вообще... Можно, теоретически, начинать все это дело писать уже на Qt4, благо и под винду он будет GPL.


C++, Qt, QTable, QTextView..... зачем так сложно? авторы хотят научится всем этим пользоватся или получить работающий оффлайн клиент?(да и энтузиазм может закончиться раньше, ведь юниксоидам этот клиент нужен в основном для чтения флейма и анекдотов) Наваяйте выгребалку даных с вебсервиса на джаве, если нужно — сделайте на с++ демона который будет ее запускать (а можно и по скедулеру это делать ) и синхронизировать базу. ну а гуи клиент может быть уже на чем угодно
Re[4]: RSDN@Linux 2
От: Mamut Швеция http://dmitriid.com
Дата: 14.06.05 09:15
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, Mamut, Вы писали:


M>>А главный минус — то, что виртуальный грид надо будет писать полностью с нуля, на основе QTable или, боже упаси, QGridView

S>Что есть виртгрид?

Вот это
Автор: Mamut
Дата: 27.04.05
, а также обсуждение в Qt Interest. Для Януса вон тоже отдельный грид написан.

S>Если это messagetree то оно нам впринципе ненужно.


Как это не нужен?

S>Можно реализовать один из интерфейсов, описаных гдетотут... К томуже это дело интерфейса как все отображать...

S>Скажем — к демону будет 4 основных запроса относящихся к форуму.
S>1. Дай список форумов
S>2. Дай список самых верхних веток форума
S>3. Дай дерево начиная с такойто ветки
S>4. Дай тело сообщения
S>Дело демона дать что просят.
S>Дело вьювера какнибудь показать.

Вот в том-то и дело — как что показывать Ох, замучаемси

M>>А и еще — надо будет решить, использовать Сцинтиллу или обойтись QTextView с собственными QStyleSheet'ами...

S>Скорее второе. Цинтила чета мне ненравица... Хотя будем посмотреть.


dmitriid.comGitHubLinkedIn
Re[5]: RSDN@Linux 2
От: Sheridan Россия  
Дата: 14.06.05 09:55
Оценка:
Здравствуйте, Mamut, Вы писали:


S>>Если это messagetree то оно нам впринципе ненужно.


M>Как это не нужен?

Яж говорил:
S>>Можно реализовать один из интерфейсов, описаных гдетотут... К томуже это дело интерфейса как все отображать...
Скажем чтото типа этого: Re[3]: Мысли по поводу дерева
Автор: Зверёк Харьковский
Дата: 27.05.05
Запрос версии RSDN@Home...
[1.1.4][beta 7][472]
Matrix has you...
Re[6]: RSDN@Linux 2
От: Mamut Швеция http://dmitriid.com
Дата: 14.06.05 10:47
Оценка:
S>>>Если это messagetree то оно нам впринципе ненужно.
M>>Как это не нужен?
S>Яж говорил:
S>>>Можно реализовать один из интерфейсов, описаных гдетотут... К томуже это дело интерфейса как все отображать...
S>Скажем чтото типа этого: Re[3]: Мысли по поводу дерева
Автор: Зверёк Харьковский
Дата: 27.05.05


Ну так дык, я ж об том и говорю О том, что это все дело надо будет ручками выкраивать из QTable или QGridView, потому что даже близко подходящих к такому решений нет, а QListView загибается на большом количестве элементов.

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


dmitriid.comGitHubLinkedIn
Re[4]: RSDN@Linux 2
От: Mamut Швеция http://dmitriid.com
Дата: 14.06.05 10:55
Оценка: +1 :))
M>>Насчет демонов и сервисов... В Qt Solutions есть решение для создания *никсовских демонов и виндовых сервисов. Единственное но — Solutions — это платная вещь, хоть и можно ее достать бесплатно

C>неужели демон такая сложная штука что для него нужно искать крякнутый "Qt Solutions"


Шеридан хочет кроссплатформенное решение.

M>>Насчет Qt вообще... Можно, теоретически, начинать все это дело писать уже на Qt4, благо и под винду он будет GPL.


C>C++, Qt, QTable, QTextView..... зачем так сложно? авторы хотят научится всем этим пользоватся или получить работающий оффлайн клиент?(да и энтузиазм может закончиться раньше, ведь юниксоидам этот клиент нужен в основном для чтения флейма и анекдотов) Наваяйте выгребалку даных с вебсервиса на джаве, если нужно — сделайте на с++ демона который будет ее запускать (а можно и по скедулеру это делать ) и синхронизировать базу. ну а гуи клиент может быть уже на чем угодно


Ну вот пока и идет речь об отдельном демоне (кроссплатформенном) и отдельном гуи-клиенте (тоже кроссплатформенном). В общем, опять хочется странного Ну а раз кроссплатформенное, то Qt — это то, что надо, имхо и ишхо (ин шеридан'с хамбл опинион )


dmitriid.comGitHubLinkedIn
Re[2]: RSDN@Linux 2
От: Mr.Chipset Россия http://merlinko.com
Дата: 14.06.05 22:23
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, Mr.Chipset, Вы писали:


MC>>Привет всем!

MC>>После разговора с Sheridan'ом прояснились некоторые детали по сабжу.
MC>>В частности, есть идея разделить RSDN@Linux на две части:
MC>>1. Драйвер -- синх+драйвер к БД, скажем в виде демона.
MC>>2. Представление -- в данном случае это некий клиент который используеться драйвер для доступа к БД и синхронизации. К примеру это может быть веб-интерфейс на Джаве, десктопная программа просмотра, наподобие Janus'a или вообще плагин к FF
S>Клиент не пользует синхронизацию, он может лиш попросить демона засинхронизироватся. Демон же читает /etc/janus.conf и оттуда узнает все что ему надо в том числе и когда и сколько синхронизировать... И решает выполнить ли просьбу клиента сейчас или ненада...

Именно.

MC>>Так что сейчас требуеться лишь начать. Начать предлагаю с рефакторинга сервиса синхронизации Януса на С++ и к-платформенную библиотеку SOAP'a, наподобие gSOAP.

S>имхо нужно пользовать qt (гуру, разрешат нам ее пользовать кутешники в данном контексте) и попробовать писать кроссплатформенно. Тобиш линуховый демон для винды переделывать в сервис для NT или просто экзешник для 9x... Гуя само собой...
Хм. Для демона тащить Qt? :\
S>Тоесть изначально хотелось бы почитать про объектную модель, и переписать ее на с++, затем братся собственно за демона (вплотную) и гую (по мере сил). По мере сил это потому что всетаки гуя в этом случае действительно может быть любая, от мода к апачу до standalone exe. Главное продумать как гуя будет с демоном работать.
Про какую обьектную модель ты говоришь?
MC>>Всё в интересе со стороны C++'ников Linux'оидов.
MC>>СУВ.
"Всё что не убивает нас, делает нас сильнее..."
Re[3]: RSDN@Linux 2
От: Sheridan Россия  
Дата: 15.06.05 03:31
Оценка:
Здравствуйте, Mr.Chipset, Вы писали:

MC>Хм. Для демона тащить Qt? :\

Неее... Для гуя qt. Но я тут подумал... Мож попробовать в качестве гуя нарисовать мод к пхп... 3х зайцев прибить можна — и гуй настраиваемый как хотиш. И нарисовать лехко. И можно один синхродемон на контору пользовать...

MC>Про какую обьектную модель ты говоришь?

Дык как все в янусе то устроено? чтототам objectmodel тратата features тампарам
Запрос версии RSDN@Home...
[1.1.4][beta 7][472]
Matrix has you...
Re[4]: RSDN@Linux 2
От: Mamut Швеция http://dmitriid.com
Дата: 15.06.05 06:34
Оценка: 14 (2)
MC>>Хм. Для демона тащить Qt? :\
S>Неее... Для гуя qt. Но я тут подумал... Мож попробовать в качестве гуя нарисовать мод к пхп... 3х зайцев прибить можна — и гуй настраиваемый как хотиш. И нарисовать лехко. И можно один синхродемон на контору пользовать...

Надо посмотреть в сторону 4-го Qt, который мало того, что, вроде GPL под винду, так и было обещано большее разделение гуи и негуи частей. Благо, под KDE Qt есть сразу.

А насчет демона я думаю со вчерашнего вечера Мое воспаленное воображение нарисовало мне вот такое вот:



Сразу возникают вопросы. Что должны хранить клиенты в локальных базах? Как клиенты будут общаться с демоном? Как минимум, хочется производительность не хуже, чем у Януса (по построению веток, по отображению сообщений). Да еще и кроссплатформенное Ох, Шеридан, оно тебе надо?

В общем, считаю так:

— клиент должен хранить список форумов, на которые он подписан, outgoing сообщения и, наверное, статистику? Типа read-unread? Или только одно из них (остальное — по умолчанию)
— демон должен качать все и отдавать клиенту запрошенные деревья и сообщения.

Остается вопрос о том — как передавать данные клиенту. ХМЛ не предлагать Может, какой-нить EBML?


dmitriid.comGitHubLinkedIn
Re[5]: RSDN@Linux 2
От: HotDog Швейцария www.denebspace.com
Дата: 15.06.05 07:11
Оценка:
M>Сразу возникают вопросы. Что должны хранить клиенты в локальных базах? Как клиенты будут общаться с демоном? Как минимум, хочется производительность не хуже, чем у Януса (по построению веток, по отображению сообщений). Да еще и кроссплатформенное Ох, Шеридан, оно тебе надо?

Эх.. вашу бы энергию да на мирные цели Если на С++ чего нить писать охота, по вон переведите лучче сцайнтиллу на уникодные рельсы.
Re[5]: RSDN@Linux 2
От: Sheridan Россия  
Дата: 15.06.05 07:18
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>Надо посмотреть в сторону 4-го Qt, который мало того, что, вроде GPL под винду, так и было обещано большее разделение гуи и негуи частей. Благо, под KDE Qt есть сразу.

Угу... Эт хорошо...

M>А насчет демона я думаю со вчерашнего вечера Мое воспаленное воображение нарисовало мне вот такое вот:

А что. Вполне нарисовало Просто и понятно.

M>Сразу возникают вопросы. Что должны хранить клиенты в локальных базах?

Какие локальные базы? cfg файлы — больше ненада. Поясню физику.
Клиент хранит в cfg свои настройки (ну типа как янус сейчас).
Самже демон хранит записи пользователей(read / unread, подписано / неподписано). Я пока думаю как, но сайт то хранит записи какие сообщения я читал на сайте... Вроде...
Демон ясное дело еще хранит учетные записи пользователей, работающих с демоном. Ктото отряжается админом демона — он рулит конфигом (или просто сделать /etc/janus.conf хранить там конфиг демона и немучатся). Локальная бд вьювера некатит. Я например хочу web-based вьювер. Какая может быть бд?

M>Как клиенты будут общаться с демоном?

IP:port

M>Как минимум, хочется производительность не хуже, чем у Януса (по построению веток, по отображению сообщений). Да еще и кроссплатформенное Ох, Шеридан, оно тебе надо?

Надо, дядя, надо... Производительность зависит в основном от работы с бд и логики демона. Вьювер можно сделать хоть консольным. Его дело будет попросить демон тото и тото и нарисовать ответ на экране. Грубо говоря.

M>Остается вопрос о том — как передавать данные клиенту. ХМЛ не предлагать Может, какой-нить EBML?

иксмл ёбмл... Неужели все забыли про socketstream? Мусора нет. Парсинг ненужен. Производительность++.
Запрос версии RSDN@Home...
[1.1.4][beta 7][474]
Matrix has you...
Re[6]: RSDN@Linux 2
От: Andre Украина  
Дата: 15.06.05 07:20
Оценка:
HD>Эх.. вашу бы энергию да на мирные цели Если на С++ чего нить писать охота, по вон переведите лучче сцайнтиллу на уникодные рельсы.

Этим вроде Влад занимается. Насколько я понял из его различных сообщений он ее вообще переписал как managed что сразу же подразумевает уникод. Ждем премьеры
... << RSDN@Home 1.1.4 beta 7 rev. 457>>
Я бы изменил мир — но Бог не даёт исходников...
Re[7]: RSDN@Linux 2
От: HotDog Швейцария www.denebspace.com
Дата: 15.06.05 07:27
Оценка:
Здравствуйте, Andre, Вы писали:

A>Этим вроде Влад занимается. Насколько я понял из его различных сообщений он ее вообще переписал как managed что сразу же подразумевает уникод. Ждем премьеры


Ну насколько я понял, то что влад написал (или пишет еще) это что вроде примитивного визивигного html редактора/вьювера. Ну и что то меня сомнения берут, что AWK даст добро на использование его в янусе, по крайней мере в обозримом будущем.
Re[8]: RSDN@Linux 2
От: Andre Украина  
Дата: 15.06.05 07:52
Оценка: +1
HD>Ну насколько я понял, то что влад написал (или пишет еще) это что вроде примитивного визивигного html редактора/вьювера.
Поживем увидим

HD>Ну и что то меня сомнения берут, что AWK даст добро на использование его в янусе, по крайней мере в обозримом будущем.


В качестве толкового редактора почему бы и нет. В текущей сцинтилке багов полно, и зачастую их исправления выливаются в уже ограничения managed кода, как, например, с уникодом.
АВК был против заменить им и вьювер и тут я с ним согласен на 100%.
... << RSDN@Home 1.1.4 beta 7 rev. 457>>
Я бы изменил мир — но Бог не даёт исходников...
Qt 4
От: Sheridan Россия  
Дата: 15.06.05 08:09
Оценка: 28 (2)
Насчет кутэ — вот небольшой обзор 4ки с скриншотами
Запрос версии RSDN@Home...
[1.1.4][beta 7][474]
Matrix has you...
Re[6]: RSDN@Linux 2
От: Mamut Швеция http://dmitriid.com
Дата: 15.06.05 08:19
Оценка:
M>>Сразу возникают вопросы. Что должны хранить клиенты в локальных базах?
S>Какие локальные базы? cfg файлы — больше ненада. Поясню физику.
S>Клиент хранит в cfg свои настройки (ну типа как янус сейчас).
S>Самже демон хранит записи пользователей(read / unread, подписано / неподписано). Я пока думаю как, но сайт то хранит записи какие сообщения я читал на сайте... Вроде...

Не, это браузер запоминает, по каким ссылкам ты щелкнул В "Обсуждении сайта" было когда-то обсуждение о том, что неплхо было бы запоминать движения юзера по сайту, но, по-моему, идея была непринята

S>Демон ясное дело еще хранит учетные записи пользователей, работающих с демоном. Ктото отряжается админом демона — он рулит конфигом (или просто сделать /etc/janus.conf хранить там конфиг демона и немучатся). Локальная бд вьювера некатит. Я например хочу web-based вьювер. Какая может быть бд?


А, верно. Что-то я торможу

M>>Остается вопрос о том — как передавать данные клиенту. ХМЛ не предлагать Может, какой-нить EBML?

S>иксмл ёбмл... Неужели все забыли про socketstream? Мусора нет. Парсинг ненужен. Производительность++.

Ну, этот самый стрим все равно парсить надо Ибо информация из него будет приходить очень разная — от списка деревьев до списка форумов до содержимого самого сообщения. То есть все равно остается вопрос о формате передаваемых данных. Предлагаешь просто сериализовать данные/объекты в поток?


dmitriid.comGitHubLinkedIn
Re: Qt 4
От: Mamut Швеция http://dmitriid.com
Дата: 15.06.05 08:27
Оценка: 12 (1)
S>Насчет кутэ — вот небольшой обзор 4ки с скриншотами

А вот, кстати, и разделение кути на модули


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.