Я как только прочитал заголовок вспомнил как работал в одном здании где сидело 2000 человек. А админы, ради оптимизации отключили Spaning Treee. А какой-то умник в одной из комнат для совещаний, воткнул пачкорд из одной розетки в другую. Было довольно велосело наблюдать, как сеть рухнула, а админи бегали по зданию и бились головой ап стенки пытаясь понять причину ))
У каждого решения есть свои плюсы и минусы.
Сфинкс хорошо безусловно, но не позволяет организовать поиск в реальном времени.
Lucene — решает проблему реального времени.
MySql Fulltext search — хорош тем, что не нужно ставить ничего дополнительного.
Это как раз не сложно. Нужно подключить внешний морфологический движок и делать запрос в базу что-то типа — «красный красная красную… конфета конфеты конфету ...» Естественно необходимо правильно выставить весовые коефициенты
hunch работает с теми данными которые у него есть. он не работает с произвольными данными (заказчика). грубо говоря hunch нельзя прикрутить к постам на хабре, потому что он ничего не знает про хабр. а ариадн можно потому что ему все равно с чем работать. были бы данные структурированныи были бы юзеры выражающие свои мнения. так или иначе.
Hunch — два года назад, а last.fm — еще раньше. Но ни те, ни другие не пытаются делать универсальную рекомендательную систему. А парней, которые делают Ariadn я знаю. В свое время они приходили ко мне за советами, и мы очень плотно обсуждали эту тему. И мы выработали действительно уникальный подход, даже с мировой точки зрения.
Кстати, пользуясь случаем хочу попиарить свою новую книгу: os-tango.com/
Там вопросам персонализации контента уделена целая глава.
Зачем писать не инженерную книгу про операционки, если в ней касаться их внутреннего строения, приводить куски кода?
Книжки бывают разные (жидкие, твердые и газзобразные).
А если серьезно, то на мой взгляд технической литературы предостаточно, даже более чем. Не хватает информации именно по архитектуре, никто не пытается рассмотреть архитектуру систем целостно. Все занимаются улучшением своих участков. Книга может быть полезна системных архитекторам, что дать им несколько иной взгляд на предметную область.
То, что вы написали, вполне можно показывать министрам. Авось оценят и выделят финансирование…
Если у вас есть знакомый министр пожалуйста покажите! )))
А здесь это разумно посчитают бредом.
Извиняюсь за резкие слова, но просто уже накипело.
К чему столько сарказма )))
Качем sscli20 (.net shared shource code)
идем в sscli20\pal\unix\
И читаем черным по белому — rotor — это PAL (Platform abstraction layer)
Для совсем недоверчивых идем сюда sscli20\pal\unix\examples\example1.c
IIS ну никак не может быть написано на C# (разве что оболочка конфигурации). Хотя бы потому, что появилось оно еще до C#, а последние его версии используют специальный драйвер ядра
Драйвер используется для оптимизации скорости HTTP стека, а сам IIS (w3wp.exe) висит в UserMode — и написан на .NET.
В новом кстате используется новая интегрированная модель обработки запроса, когда приложение .NET практически срастается с серваком.
По поводу IIS и скорости выполнения, это вы скажите разаботчикам MySpace.
Единая система базовой типизации хороша только для ЯВУ, и то не для всех. К примеру, в питоне конструктор класса называется __init__, а в си он называется согласно имени класса.
Единая система — типизации — это начо молиться нужно! syntax sugar'ы довольно хорошо, транслируются в примитивы низкого уровня.
Я уж промолчу, что существуют такие вполне даже живые и используемые языки, как brainfuck. В нем переменные отсутствуют, классов нет, нет даже умножения. Какие там будут типы?
Где здесь единое адресное пространство и отсутствие прослойки?
Single Address Space — здесь имеется ввиду не единое адресное пространство с хостовой системой. А модель единого адресного пространства самой будущей операционки. То есть механизм защиты колец не будет использоваться. А посему, такую операционку можно просто положить в процесс хостовой операционки, без сложной виртуализации.
А Rotor от Microsoft — это всего лишь реализация .NET.
Rotor — это реализация Win32 API поверх FreeBSD — позволяет запускать виндовые приложение (коим является .NET) на FreeBSD.
А насчет высокой нагрузки… никто ведь не пишет клон Apache на питоне или C#, верно?
Microsoft пишет ))) IIS называется )
Ну и самый большой минус подобной идеи: как стыковать написанные на разных языках куски кода? Для C++ мне надо одни библиотеки, для питона — другие, для перла — третьи. Вызовы функций — отдельный кошмар. Как быть с этим?
Единая система базовой типизации, довольно хорошо решает эти задачи.
Хотелось бы. Но уж никак не ожидал увидеть подающийся под громким названием названием JIT непонятный неоптимизированный код из трех функций
Это не инженерная книга — техники в ней по минимому. Я старался более ориентироваться на общую концепцию.
Почему тогда такое не сделали еще? Или вы думаете, что разница между Windows и Linux так ничтожна? Максимум, что сейчас есть, это что-то наподобие Seamless режима в VirtualBox или наподобие Xen в режиме bare metal. Однако почему-то ни то, ни другое не дает двум настолько разным операционкам работать с одной памятью.
Ну вобощем сделали. Самое показательное решение Parallels Deskop, для мака. В вообще например есть Rotor от самого Microsoft, реализующий функционал ядра виндов на FreeBSD.
Специалисты по информационной безопасности просто рыдают: зачем же тогда выдумывают все эти пароли? Не для того ли, чтобы какая-нибудь левая прога под видом полезной не узнала Один Самый Главный Пароль От Всего Сразу?
Ну вообще сквозную идентификацию не я придумал. Нам этим какраз и бьются Microsoft и Google (Windows Live Id, Password, Google Identity) и иже с ними. А поповду украдут, ну украли у вас например пароль от банка клиента и толку-то, без смс транзакцию не сделать.
Поздравляю! Вы изобрели компиляцию в байткод наподобие Java, Flash, .NET и открыли для себя интерпретируемые языки! И в результате вы получаете программы, которые можно будет использовать для простых приложений… но которые будут уступать нативным приложениям в том случае, если на них будет лежать серьезная нагрузка.
Поздравляю в который раз! Теперь вы изобрели шаблонизаторы. Вы с XSLT знакомы? Только честно.
И что при помощи XSLT можно быстро и кросбраузерно компоненты, встраивать. Странно, что народ так не делает.
Что это за хрень там написана? О_о Как же абстрагирование от ОС и платформы, транзакции памяти, гибкие механизмы компиляции? А если серьезно, что оно делает? Всего-навсего берет 4 килобайта памяти, использует 5 байт под 2 ассемблерные операции, выполняет их… и все. Ваша операционка тоже будет брать память, но забывать освобождать ее?
Вы хотели, увидеть в книге — листинг ядра, полноценной операционки? )))
Поверх любой из операционок (Windows, Linux, Unix, MacOs) по желанию. Single address space все же. Чтобы было удобно, из своей операционки взял и открыл, как виртуалку. Но конечно же и должно быть своё ядро, чтобы можно было запустить без хостовой прослойки.
Про minix — тоже самое что и с Фантом ОС, люди которые её делают слишком инженероно мыслят. Они не занимаются выводом продукта на рынок для людей.
Я читал Таннебаума и не только… По поводу реализуемости. Вы так говорите, как-будто я портал в паралельный мир, предлагаю открыть, при помощи кухонного комбайна. Комунисты, например, при помощи палки и веревки болванки многотонные в космос запускали, которые по звездам ориентировались без микроэлектроники. А вы меня софтом запугиваете. Весь вопрос в масштабе мышлени и емкости сознания, не более того. Технически не так все сложно.
1. Думаю, так же как в Singularity — написав свой драйвер на управляемом языке.
2. MVC — разные вьюхи скорее всего должны быть для разных устройств. Операционка должна определять, какая вьюха должна использоваться под данное конкретное устройства.
3. Операционка — будет предоставлять разный профиль API
4. Операционая должна уметь запускаться поверх Unix, но только в режиме совместимости. Само же ядро должно быть собственное. Нужно взять новейшие разработки, типа Horizon OS.
5. Я лишь выдвинул идею. Я постарался очень аккуратно, собрать исследования и разработки уже сделаные людьми и описать их человеческим языком. Чтобы вывести такой проект в продакшин, нужно довольно много ресурсов — все зависит от них. Найду ресурсы выведу продкут, не найду не будет его вообще. С технической же точки зрения проблемы никакой нет. Хотят тут многие и минсуют жутко и стебутся, что это невозможно, тем не менее еще в 90ых годах люди сделали в этой области столько разработок, что осталось лишь все аккуратно собрать вместе, отладить и вывести в продакшин.
Пользовался я этой штукой. При интеграции нескольких биллинговых, телевезионных и сетевых систем, в большомом азиатском национальном операторе. Населения в этой стране было много, абонентов соотвественно и нагрузки на систему были дикие.
Поначалу все было вроде бы хорошо, собрал себе быстро в конструкторе orchestration и опубликовал, развернул и все ок.
Но как только мы добрались до реальной логики то «баста» — лапки вверх и никуда дальше. Системы были очень разные и отличался не только формат данных вызовов, но и логика, посему пришлось дописывать для BizTalk дополнительные модули, которые свели преимущество системы на нет. Потому код проще писать и разворачивать без BizTalka.
Вообщем штука красивая, но бесполезная.
Пробовали, так же использовать другие ESB — результат тот же.
Ну или хотябы торнадо
Сфинкс хорошо безусловно, но не позволяет организовать поиск в реальном времени.
Lucene — решает проблему реального времени.
MySql Fulltext search — хорош тем, что не нужно ставить ничего дополнительного.
Это я к тому, что эта штука уже реализована и доступна в исходных кода. Нужно только поискать
Сходу не нашел, но если попросите, то сяду и поищу часок другой
и если мне не изменяет память
То где-то была такая штука для raphaelJs animations написанная на томже extJS
Кстати, пользуясь случаем хочу попиарить свою новую книгу: os-tango.com/
Там вопросам персонализации контента уделена целая глава.
Книжки бывают разные (жидкие, твердые и газзобразные).
А если серьезно, то на мой взгляд технической литературы предостаточно, даже более чем. Не хватает информации именно по архитектуре, никто не пытается рассмотреть архитектуру систем целостно. Все занимаются улучшением своих участков. Книга может быть полезна системных архитекторам, что дать им несколько иной взгляд на предметную область.
Если у вас есть знакомый министр пожалуйста покажите! )))
Не извиняйтесь, я привык ))
Качем sscli20 (.net shared shource code)
идем в sscli20\pal\unix\
И читаем черным по белому — rotor — это PAL (Platform abstraction layer)
Для совсем недоверчивых идем сюда sscli20\pal\unix\examples\example1.c
Копилируем под никсами и о чудо — оно работает ))
Ну вообще Microsoft думает иначе! http://www.microsoft.com/whdc/driver/wdf/UMDF.mspx.
Там есть свои ограничения, но тем не менее это дравейра — например можно написать драйвер для шины.
Драйвер используется для оптимизации скорости HTTP стека, а сам IIS (w3wp.exe) висит в UserMode — и написан на .NET.
В новом кстате используется новая интегрированная модель обработки запроса, когда приложение .NET практически срастается с серваком.
По поводу IIS и скорости выполнения, это вы скажите разаботчикам MySpace.
Единая система — типизации — это начо молиться нужно! syntax sugar'ы довольно хорошо, транслируются в примитивы низкого уровня.
Зачем молчать ))) Лучше загляните сюда http://www.soulsphere.org/stuffage/bf.net/
Люди уже решили это проблему.
Технологии ушли далеко вперед, проблемы производительности решаемы.
Managed Memory Manager with Garbage Collector
Single Address Space — здесь имеется ввиду не единое адресное пространство с хостовой системой. А модель единого адресного пространства самой будущей операционки. То есть механизм защиты колец не будет использоваться. А посему, такую операционку можно просто положить в процесс хостовой операционки, без сложной виртуализации.
Rotor — это реализация Win32 API поверх FreeBSD — позволяет запускать виндовые приложение (коим является .NET) на FreeBSD.
Microsoft пишет ))) IIS называется )
Единая система базовой типизации, довольно хорошо решает эти задачи.
Это не инженерная книга — техники в ней по минимому. Я старался более ориентироваться на общую концепцию.
Ну вобощем сделали. Самое показательное решение Parallels Deskop, для мака. В вообще например есть Rotor от самого Microsoft, реализующий функционал ядра виндов на FreeBSD.
Ну вообще сквозную идентификацию не я придумал. Нам этим какраз и бьются Microsoft и Google (Windows Live Id, Password, Google Identity) и иже с ними. А поповду украдут, ну украли у вас например пароль от банка клиента и толку-то, без смс транзакцию не сделать.
не сильно уже уступают
http://www.rsdn.ru/article/devtools/perftest.xml
http://www.rsdn.ru/article/devtools/perftest2.xml
И что при помощи XSLT можно быстро и кросбраузерно компоненты, встраивать. Странно, что народ так не делает.
Вы хотели, увидеть в книге — листинг ядра, полноценной операционки? )))
Про minix — тоже самое что и с Фантом ОС, люди которые её делают слишком инженероно мыслят. Они не занимаются выводом продукта на рынок для людей.
Я читал Таннебаума и не только… По поводу реализуемости. Вы так говорите, как-будто я портал в паралельный мир, предлагаю открыть, при помощи кухонного комбайна. Комунисты, например, при помощи палки и веревки болванки многотонные в космос запускали, которые по звездам ориентировались без микроэлектроники. А вы меня софтом запугиваете. Весь вопрос в масштабе мышлени и емкости сознания, не более того. Технически не так все сложно.
2. MVC — разные вьюхи скорее всего должны быть для разных устройств. Операционка должна определять, какая вьюха должна использоваться под данное конкретное устройства.
3. Операционка — будет предоставлять разный профиль API
4. Операционая должна уметь запускаться поверх Unix, но только в режиме совместимости. Само же ядро должно быть собственное. Нужно взять новейшие разработки, типа Horizon OS.
5. Я лишь выдвинул идею. Я постарался очень аккуратно, собрать исследования и разработки уже сделаные людьми и описать их человеческим языком. Чтобы вывести такой проект в продакшин, нужно довольно много ресурсов — все зависит от них. Найду ресурсы выведу продкут, не найду не будет его вообще. С технической же точки зрения проблемы никакой нет. Хотят тут многие и минсуют жутко и стебутся, что это невозможно, тем не менее еще в 90ых годах люди сделали в этой области столько разработок, что осталось лишь все аккуратно собрать вместе, отладить и вывести в продакшин.
http://ormeter.net/
Поначалу все было вроде бы хорошо, собрал себе быстро в конструкторе orchestration и опубликовал, развернул и все ок.
Но как только мы добрались до реальной логики то «баста» — лапки вверх и никуда дальше. Системы были очень разные и отличался не только формат данных вызовов, но и логика, посему пришлось дописывать для BizTalk дополнительные модули, которые свели преимущество системы на нет. Потому код проще писать и разворачивать без BizTalka.
Вообщем штука красивая, но бесполезная.
Пробовали, так же использовать другие ESB — результат тот же.