Кто хочет записаться в добровольцы?
От: godwizard Россия  
Дата: 09.12.02 13:15
Оценка:
Было предложено открыть параллельный проект создания оффлайнового клиента для чтения форумов RSDN. Проект будет писаться на VC++ 7.0. БД и интернет сервис остаются от первого проекта. Набирается команда...
Кто хочет посостязаться — WELCOME!!!
Best regards
Re: Кто хочет записаться в добровольцы?
От: SuperEm Россия http://www.reddevils.ru
Дата: 09.12.02 13:27
Оценка:
Здравствуйте, godwizard, Вы писали:

G>Было предложено открыть параллельный проект создания оффлайнового клиента для чтения форумов RSDN. Проект будет писаться на VC++ 7.0. БД и интернет сервис остаются от первого проекта. Набирается команда...

G>Кто хочет посостязаться — WELCOME!!!

А смысл?
Зачем делать одну и ту же работу дважды?
... << RSDN@Home 1.0 beta 1 >>
Re[2]: Кто хочет записаться в добровольцы?
От: godwizard Россия  
Дата: 09.12.02 13:38
Оценка:
Здравствуйте, SuperEm, Вы писали:

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


G>>Было предложено открыть параллельный проект создания оффлайнового клиента для чтения форумов RSDN. Проект будет писаться на VC++ 7.0. БД и интернет сервис остаются от первого проекта. Набирается команда...

G>>Кто хочет посостязаться — WELCOME!!!

SE>А смысл?

SE>Зачем делать одну и ту же работу дважды?

В том то и дело, что не одну и туже. Есть мнение, что можно написать маленького, быстрого и не занимающего много памяти клиента. Так же Open API и PlugIns SDK реализовать можно будет проще...
Best regards
Re[3]: Кто хочет записаться в добровольцы?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.12.02 13:42
Оценка:
Здравствуйте, godwizard, Вы писали:

G>В том то и дело, что не одну и туже. Есть мнение, что можно написать маленького, быстрого и не занимающего много памяти клиента.


Получится только сильным урезанием функциональности.

G> Так же Open API и PlugIns SDK реализовать можно будет проще...


Plugins SDK на С++ проще? Ну ты сказал однако. Куда уж проще то? Ну все что можно автоматическое сделал, вобще ни о чем кроме самого плагина у плагинописателей голова болеть не будет.
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[4]: Кто хочет записаться в добровольцы?
От: godwizard Россия  
Дата: 09.12.02 13:52
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


G>>В том то и дело, что не одну и туже. Есть мнение, что можно написать маленького, быстрого и не занимающего много памяти клиента.


AVK>Получится только сильным урезанием функциональности.


Ну не скажи... Если как у вас делать, т.е. на dll, то вся функциональность сохраниться.

G>> Так же Open API и PlugIns SDK реализовать можно будет проще...


AVK>Plugins SDK на С++ проще? Ну ты сказал однако. Куда уж проще то? Ну все что можно автоматическое сделал, вобще ни о чем кроме самого плагина у плагинописателей голова болеть не будет.


ну насчет этого погорячился наверно
Best regards
Re[5]: Кто хочет записаться в добровольцы?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.12.02 19:49
Оценка:
Здравствуйте, godwizard, Вы писали:

G>Ну не скажи...


Скажу.

G>Если как у вас делать, т.е. на dll, то вся функциональность сохраниться.


Какие у нас dll? Нет у нас никакх таких dll, у нас сборки одни.

G>ну насчет этого погорячился наверно


Это точно. вот тебе для примера плагин, который цитаты вставляет. Это он весь целиком, с настройками и прочей чепухой

using System;
using System.Text;
using System.Collections;
using System.ComponentModel;

using RSDN.Janus;
using RSDN.Janus.Plugins;

namespace RSDN.Janus.StdPlugs
{
        /// <summary>
        /// Summary description for CitationPlugin.
        /// </summary>
    //Этот атрибут - все что нужно для того чтобы янус нашел его и загрузил в свои коллекции
        [JanusPlugin("Цитирование", 
                        Description = "Вставляет случайную цитату из набора заданных")]
    //Реализация интерфейса ITaglinePlugin - признак того, что это плагин таглайна
    //Реализация IConfigurablePlugin - признак того что плагин имеет настройки
        public class CitationPlugin : ITaglinePlugin, IConfigurablePlugin
        {
                public CitationPlugin()
                {
                }

                public string TagId
                {
                        get
                        {
                                return "citation";
                        }
                }

                public string GetTagString()
                {
                        if((config.Citations == null) || (config.Citations.Length < 1))
                                return "<no any citation>";
                        Random rnd = new Random();
                        string s;
                        if(config.QueryType == CitationQueryType.Случайно)
                        {
                                int cp = rnd.Next(config.Citations.Length);
                                s = config.Citations[cp];
                        }
                        else
                        {
                                if(config.lastPosition >= config.Citations.Length)
                                        config.lastPosition = 0;
                                s = config.Citations[config.lastPosition];
                        }
                        return s;
                }

                private CitationPluginConfig config = new CitationPluginConfig();
                public object Config
                {
                        get {return config;}
                        set {config = (CitationPluginConfig)value;}
                }
        }

        public enum CitationQueryType
        {
                Случайно,
                Поочереди
        }

    //Произвольный класс с настройками. Все публичные поля и свойства будут сериализованы в файл конфигурации,
    //а при старте автоматически десериализованы
        public class CitationPluginConfig
        {
                [DisplayName("Имя макроса"),
                                Description("Имя макроса, которое нужно указывать в строке таглайна"),
                                Category("Общие")]
                public string TagId
                {
                        get {return "@@citation";}
                }

                [DisplayName("Версия плагина"),
                                Description("Версия плагина"),
                                Category("Общие")]
                public string Version
                {
                        get {return "1.0 alpha 1";}
                }

                private string[] citations;
                [DisplayName("Цитаты"),
                                Description("Список цитат"),
                                Category("Цитаты")]
                public string[] Citations
                {
                        get {return citations;}
                        set {citations = value;}
                }

                public int lastPosition = 0;
                private CitationQueryType queryType;
                [DisplayName("Тип выборки"),
                                Description("Тип выборки цитат"),
                                Category("Цитаты")]
                public CitationQueryType QueryType
                {
                        get {return queryType;}
                        set {queryType = value;}
                }
        }

}
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[3]: Кто хочет записаться в добровольцы?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.12.02 20:34
Оценка:
Здравствуйте, godwizard, Вы писали:

G>Есть мнение, что можно написать маленького, быстрого и не занимающего много памяти клиента.


Ну маленького из этого списка я даже могу понять. Бистрого? Вряд ли удастя что-то ускорить. Тем более что скорости хватает. Основные тормоза на неоптимальности SQL-я. А память... да кого волнуют сегодня пол сотни мегабайт? Они ведь стоят $5!

G>Так же Open API и PlugIns SDK реализовать можно будет проще...


Ну это уже чистый гон. Проще на голых сях ничерта сделать нельзя. У AVK плагины заняли пол дня работы. Даже на КОМ-е будет медленнее.
... << RSDN@Home 1.0 alpha 15 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.