Заставить работать машину клиента!
(Эта тема расположена в архиве и закрыта для обсуждения.)

Версия для печати

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Программирование (http://forum.ixbt.com/?id=26)
URL: http://forum.ixbt.com/topic.cgi?id=26:39751


Vladimir Rybinkin, 08.07.2009 15:41
Прошу прощения за название темы - плохо представляю, как ее назвать. Суть: хочется обсудить некоторые нюансы идеологии программирования софта для работы на компьютере клиента (именно идеологии, а не собственно программирования, с самым общим кодом принципиальных моментов). Крайне желательно без "наворотов" типа ActiveX или там DHTML, т.е. примерно с возможностями JS образца IE3). Основная задача - разгрузить серверное ПО (все, что можно делать на клиенте, нужно делать на клиенте). Иными словами, что в принципе можно выжать из JS.

Я очень мало (и давно) программировал для броузера, но некоторые наработки остались. Общие впечатления от тех времен: большинство возможностей JS на фиг не нужны, но именно они почему-то чаще всего встречаются на веб-страницах . Мой (затравочный, субъективный) перечень абсолютно необходимых: charAt, document(close/write), eval, indexOf, length, new(Array/Object), parent, substring. Кажись, все. Ах, да - onLoad. Кроме того, для полноценного программирования обязательно наличие фреймов.

Примерный перечень задач (тестовые):
- перепись кадра из себя и из дочернего кадра (сына, внука).
- установка (удаление, переименование) объектов и их полей.
- создание поля со ССЫЛКОЙ на другой объект (а не КОПИЕЙ самого объекта).
- итерационный обмен с сервером(ами) из разных фреймов, обмен данными между ними.
- диалоговая настройка параметров страницы (количество и расположение фреймов, палитра).
- вывод "вражьей" (запрошенной из Инета) страницы в своем формате. Собссно, нужен доступ к тексту страницы (фрейма) как к строке (загоняем в невидимый фрейм, парсим, и выводим "как надо").
- установка (удаление, переименование) обработчиков событий клавы и мыши.
- генерация событий (нажатие клавиш на клавиатуре или мыши, перемещение мыши) вместо юзера.
- модификация защищенных от записи полей объектов.

Вот что навскидку получилось. Что упустил, что лишнего нагородил, где наврал?

1. arsa, 08.07.2009 16:48
Vladimir Rybinkin
хм... ну с IE3 вы загнули. зачем изобратать колесо?
Если вам нужно нормально писать на клиенте в javascript, то используйте библиотеки. То, что вы написали это действительно уровень примерно 1999-го года.

И вообще, в принципе не очень понятно что вы написали (что значит "перепись кадра" например). Поставьте нормально задачу.

В общем есть два уровня библиотек:
jQuery (и подобные) - обычные операции с элементами страницы, а так же с сетью
ExtJS, jQuery UI (и подобные) - для визуальных элементов

2. Vladimir Rybinkin, 09.07.2009 10:42
arsa
цитата:
зачем изобратать колесо?
Чтобы не плодить лишние сущности.
цитата:
используйте библиотеки
С удовольствием. Какие библиотеки реализуют указанное?
цитата:
То, что вы написали это действительно уровень примерно 1999-го года.
Ха-ха-ха! Тем более.
цитата:
в принципе не очень понятно что вы написали (что значит "перепись кадра" например).
Ну, здрассьте! Так что ж Вы про библиотеки? Переписать - значит изменить текст. Скажем, выдать в иной палитре, с иными расположением фреймов.

Так как получить доступ к тексту страницы, как к строке?

3. arsa, 09.07.2009 16:15
ох... так это вы так frame перевели понятно теперь.
в принципе всё делается через DOM, через document.getElementById , да и в общем остальные вещи что вы написали тоже.
честно говоря я и сам не думал что через jQuery будет сильно проще, но однако сильно упрощает.

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

4. Skip, 09.07.2009 18:15
цитата:
Vladimir Rybinkin:
1. Крайне желательно без "наворотов" типа ActiveX или там DHTML, т.е. примерно с возможностями JS образца IE3).
2. Основная задача - разгрузить серверное ПО (все, что можно делать на клиенте, нужно делать на клиенте). Иными словами, что в принципе можно выжать из JS.
Я бы сказал, что требования несовместимы. JS образца IE3 не умеет практически ничего. И уж точно ничего из того, что Вам нужно.

Вы вообще себе, похоже, слабо представляете принципы работы клиент-серверных приложений. Если хотите разгрузить сервер - клиент должен быть толстым. А для этого ограничиваться JS более чем десятилетней давности - абсурд. Тут надо писать полноценное приложение. Если хотите клиента в браузере - очень советую проникнуться мыслью, что сервер в этом случае разгрузить не удастся.

Когда определитесь, чего хотите - выбирайте архитектуру и будем обсуждать.

5. arsa, 09.07.2009 19:04
Вполне реально написать толстого клиента на JS, сам этим занимаюсь (например на ExtJS).
Даже можно хранение данных привинтить через Gears/AIR/HTML5 - некоторые демки ExtJS являются законченными приложениями вообще без общения с интернет.

Другой вопрос зачем это делать в браузере. На данный момент это создаёт множество проблем, так как всё таки средства разработки нормальных приложений намного более гибкие - в них можно сделать всё что угодно, и есть большой выбор языков, сред и специалистов. Написание сложных больших проектов на javascript на данный момент усложнено.

Но всё таки есть класс приложений которые должны быть в "облаке" - я считаю что это практически все приложения, работа которых сводится к вводу данных в формах. Основная мотивация - приложение будет в основном работать через интернет (простота доставки, обновления), и хочется кросс-платформенности. см. google, SaaS и.т.п.

6. Vladimir Rybinkin, 30.07.2009 09:45
Еще раз по теме (после вынужденного перерыва):

По содержанию предыдущих ответов я пришел к выводу, что меня просто не поняли. Совсем не поняли. Тема мне представляется важной, так что попробуем еще раз.

1. По поводу "использования библиотек". Согласен, при условии, что для интерпретатора (то бишь JS) библиотеки и есть ТЕКСТЫ функций. Ничто другое меня не интересует, меня интересует ИДЕОЛОГИЯ программирования на JS, т.е. не продукт, а инструмент для его получения. Максимально использующий все возможности языка.

2. IE3 взят сознательно, поскольку это более ранние, более простые, более отлаженные, и даже более важные (по крайней мере, на момент разработки языка) возможности. Именно эти возможности я и хочу в первую очередь "выпотрошить". Использовать же то, что появилось после примерно 1999-го года, по-моему, нужно лишь в случае невозможности простого решения, реализуемого для IE3. Тем более, что фразы типа JS образца IE3 не умеет практически ничего без смеха читать нельзя. Равно как и про абсурдность использования "неполноценного" ПО более чем десятилетней(!) давности. Извините, господа, но для меня подобные фразы свидетельствуют лишь о квалификации автора. И не стоит меня уверять, что с "примерно 1999-го" по примерно 2009 в программировании произошла революция - произошла скорее ДЕГРАДАЦИЯ!.

3. О фреймах: я допускаю, что "фреймы в современных браузерах не нужны", но на слово никому не верю. Если действительно "их спокойно заменяют div-ы", то мне нужно знать, ПОЧЕМУ ИМЕННО фреймы хуже. "Динамическое их наполнение" или "умение загружать страницы" не предлагать - фреймы, по моим данным, тоже прекрасно все это умеют. Кроме того, в моем понимании, фрейм - это:
3.1. HTML-код, интерпретируемый броузером для выдачи юзеру.
и/или
3.2. набор функций JS для каких-либо действий на клиенте.
и/или
3.3. набор данных, над которыми эти действия выполняются.
и/или
3.4. место для хранения HTML-кода, функций и данных (важнейшая вещь!).
и/или
3.5. автономно работающий ПРОЦЕСС в рамках единой задачи (окно броузера).

Поэтому мне совершенно непонятно:
- чем может кого-то не устраивать такая прелесть?
- что здесь может быть сложного?
- чем это вообще можно заменить (что могут предложить неведомые мне div-ы)?
- и, если даже и можно - НА ХРЕНА?!

4. Про серверное ПО, тонкого и толстого клиента. Клиент не просто тонкий, а тончайший - голый броузер. Но должен при необходимости "косить под толстого", подгружая (прозрачно для пользователя) нужные методы, классы, структуры. Серверное ПО разгружается автоматически, поскольку ему не нужно выполнять любые задачи, которые могут быть сделаны на клиенте. Скажем, заниматься оформлением страницы (а это иногда намного больше половины кода). Или фрагментировать выдачу, возложив на клиента итерационные запросы (например, при работе с СУБД). Иными словами, возможность динамически подгружать необходимый инструментарий (и удалять ненужное) снимает проблему "толщины клиента" напрочь. Возражения?

5. JS есть интерпретатор. Более того, у него даже int/float, по слухам, отсутствуют (руки бы оторвал). Т.е. имеем всего-то тип данных STRING, да две группы: ARRAY и OBJECT. Любой метод - тот же STRING. В головном (FRAMESET) кадре храним классы и методы - доступны из любого верхнего. Остальные - перезаписываемые при необходимости (даже если он один) - могут модифицировать базовый инструментарий, при желании иметь свой. Т.е. итерационный обмен с сервером, смена палитры, и прочая Query/UI получаются чуть ли не автоматически. Во всяком случае, ПРОСТО. Ну и на закуску программирование в объектах и событиях под рукой (при наличии совсем малого числа базовых функций, вряд ли более 20). Где я неправ?

Теперь даю мои взгляды на идеологию программирования на JS, параллельно приводя в порядок старые эксперименты и проверяя концепции. Типа, поток сознания. Надеюсь, это позволит лучше понять, что я хочу от этой ветки.

Мне уже говорили (даже здесь), что JS/IE3 устарелый, беспомощный инструмент. Не могу согласиться, по одной простой причине: там имеется eval, т.е. аналог указателя, со всеми вытекающими. Это же инструмент ЧУДОВИЩНОЙ силы! Если бы не было eval - согласен, язык и был бы как раз тем самым дерьмом, как меня здесь уверяют. Да и я бы не дергался. Но eval-то есть...

Ой, мамочки! Завалялся тут у меня набор примеров, как надо писать на JS - старенький, от 2003 года. "The best software you can imagine", так сказать. Чего-то там прыгает, тикает, в Инет лезет, броузер детектирует... Решил я глянуть, как они eval используют. И просто со стула рухнул: на 37 файлов учебных примеров eval не используется НИ РАЗУ!!! Охренеть!

Господа! Если и вы ТАКОЙ технологией программирования на JS пользуетесь, то я теперь понимаю, ПОЧЕМУ вы мне ТАК отвечали. Но это же детский сад - прости, Господи! Ау, господа - скажите, что это не так, что вы eval активно используете. Ведь в противном случае мы вообще на разных языках говорим... Тады - ой. Тады "дайте мне eval, и я переверну Землю".

Планируемая технология: берем головной кадр (index.htm), ставим туда FRAMESET (на один фрейм). Там по onLoad вешаем функцию инициализации, которая создает на родителе (в том самом index.htm, который и нужен-то исключительно для хранения) базовый набор методов, и переписывает фрейм (сама себя, она больше не нужна) на любой другой (рабочий). Или тоже на FRAMESET, если рабочих кадров больше одного. В любом рабочем кадре повесим на какое-нить событие (тот же onLoad) функцию, которая ИСПОЛЬЗУЕТ этот самый набор. Проверяем - все данные, все методы живы и здоровы. Ура! Теперь из любого кадра можно пополнять, удалять, модифицировать этот набор, т.е. мы автоматически имеем хоть толстого клиента, хоть тощего, динамически худеющего или толстеющего, как нам заблагорассудится. Вешаем нужное количество фреймов (в т.ч. невидимых), раздаем им задания, и наслаждаемся жизнью. Обмен данными - тривиален, мультизадачность - реализуема, настройку всяких там палитр юзеру и отдадим - нехай ковыряется. Что остается? Программирование в объектах и событиях. В объектах у меня уже все работало именно так, как я и хотел бы в идеале (привираю, естественно), в событиях - пока хреновенько. Господа, ну это же сказка! Поработаем малек?

Ах ты сволочь, ах ты падла-то вонючая! "Не могу выполнить программу из освобожденного сценария". Переменную могешь, а функцию нет?! Переменную, стало быть ты присваиваешь, а вместо тела функции указатель на нее втихаря лепишь. Тело функции тебе в переменной интерпретировать влом, тебе файл обязательно подавай. И какая, в зопу, разница?! На один кусок ОЗУ мы указатель могем поставить, а на другой нет? Вот паскуда, все настроение испортила!

Ах, ну да - тебе ж нужно обеспечить возможность использования встроенных функций по указателю, а это куда важнее. Так, остынем, подумаем. Очевидно, что я был неправ - существующая технология неизмеримо лучше. Итак, судя по всему, переменные "на морде" все-таки хранятся, хоть она и FRAMESET. Стало быть, тексты функций можно залепить именно туда. Упс! А вот этого как раз делать и нельзя - теряется динамика "толщины клиента". Иными словами, фрейм с инструментарием перезаписывать нельзя, и не перезаписывать тоже нельзя. Хоть заводи еще один промежуточный FRAMESET для хранения уже текстов функций (динамического набора и ре-инициализации опирающихся на них методов). М-д-а-а. Грустно. Впрочем, почему бы и нет - ведь это всего лишь неудобства, но не функциональные ограничения.

Ладно, допустим - базовых функций кот наплакал (их и храним на морде), а основные методы будут сосредоточены на технологии программирования в объектах - так, собссно, и планировалось. Далее: переменные, представляющие собой тело функции, тоже ведь заводить не запрещается. И, если мы динамически сгенерим страничку, запишем туда содержимое этих переменных, то эта гнида обязана (надеюсь!) посчитать их за настоящие функции. Таким образом, какая-никакая динамика даже по набору функций все же возможна, хоть это и левой ногой правое ухо. Детям, к тому же, помимо собственных текстов, доступны и родительские.

Продолжение следует...

7. lvqcl, 30.07.2009 14:14
По-моему, эта тема уже для палаты № 26. Хочу комментов dozen'а.

8. Vladimir Rybinkin, 30.07.2009 15:34
lvqcl
Конечно, конечно . Впрочем, комментарии я как раз с удовольствием бы послушал. Даже от "dozen'a".

Продолжаю "поток сознания":

Черт, еще одна неприятность - кажись, удаление объекта по указателю не работает. По технологии "левой ноги", стало быть, нужно сгенерить дочерний фрейм с приказом удалить объект, а затем убить и сам фрейм? Весело...

Та-а-ак! А куда же повесить инициализацию на морде, чтобы она сработала до FRAMESET? Инициализацию запустить можно, наскоко я прнимаю, только из BODY, а FRAMESET еще в хидере. Таким образом, ребенок может запуститься раньше, чем завершится инициализация. И помешать этому лично я не вижу никакой возможности. Да, начинаю понимать, ПОЧЕМУ фреймы могут не нравиться - лезут поперед батьки в пекло. И как же мы раньше это обходили? Ах, да - у нас толщина клиента не менялась... Что же делать? Ага! А если флаг поставить?

Вот зараза! Флаг ставится, флаг виден, без FRAMESET по окончании инициализации снимается, а вот вместе... видимо, фрейм перехватывает управление, и не дает завершить инициализацию. Господа, а что там вместо onLoad можно предложить? Что-то я слыхивал про передачу фокуса... Ах, нет - все еще хуже: сам факт наличия FRAMESET в хидере уже есть основание "положить" на BODY. Оригинально!

Еще раз формулируем задачу: нужен один "вечно живущий" фрейм (я уж буду пока использовать этот термин), предназначенный исключительно для хранения инструментария (методы, классы, тексты основного набора функций). Над ним (вынужденно, поскольку тело функции внутри переменной непригодно для ее вызова) - второй (уже перезаписываемый) фрейм для хранения тел функций переменного состава (толщина клиента). И уже над ними - рабочие фреймы, состав которых определяется конкретной задачей. Вопрос: как это реализовать? Ах, да - до "появления на свет" второго фрейма, первый должен завершить инициализацию.

Пока суть да дело, попробуем сосредоточить тела функций на морде, а инициализацию провести из ребенка. Ух ты! Неужто работает? Ребята, а ведь это, кажись, альтернатива! И после перезаписи "толщины клиента" ре-инициализацию тоже можно выполнять из ребенка... В обчем, тьфу-тьфу.

Теперь попробуем скроить что-нить читабельное из броузера. Что нам нужно? Пока что заведем три основных объекта: c(CLASSES), d(DATA) и m(METHODS). Извиняюсь за мало прорубаемую нотацию - вся эта кухня у меня предназначена для генератора, а там все подробно излагается. Для броузера же нотация вполне съедобна - ничуть не хуже, чем любая другая (разве что компактнее).

Для затравки - перечень раннего "барахла" (просьба уточнять, дополнять, модифицировать).
Методы:
- анти-eval
- закрытие окна (Close/Delete)
- открытие окна (Create/Open)
- передача фокуса
- перечень методов/свойств объекта
- получение индекса объекта в массиве
- получение значения поля/удаление поля
- прорисовка (конструктор) объекта/класса
- прорисовка окна/фрейма, перемещение окна
- создание класса/объекта по существующему классу
Классы: button, checkbox, form, frame, hidden, image, link, option, password, radio, select, table, text, textarea, textbutton
Теги: BODY, CSS, END, HEAD, HTML, MAIN, META, SCRIPT, TITLE

Что нам нужно из методов-функций? Начальный "джентльменский набор": eval, document.close/write, new Array/Object, indexOf, substring. Плюс парсер для работы в объектах. Из данных - разделитель параметров строки объектов. Из классов... Вау! Пока ваще ничего - эта хреновина уже рисует страницы.

Короче говоря, в первом приближении старые наработки восстановлены. Раньше вся эта кухня меняла набор фреймов и палитру, как перчатки, делала итерационные запросы в зависимости от текущих данных и т.д. Теперь аккуратненько все проверим, расставив данные по нужным файлам, и займемся, наконец, классами и методами на объектах. Второй фрейм пока не нужен - затирается. Что-то мне подсказывает, что он вообще не понадобится: объем базовых функций ничтожен (на данный момент - стыдно сказать - 478 байт), и я не вижу решительно никаких поводов для его сколько-нибудь серьезного увеличения.

Продолжение следует...

Добавление от 31.07.2009 09:23:

Ну что молчим? Как там с "изобретением колеса", "номерами палат", "дохлыми" возможностями JS/IE3, "излишне усложненными структурами", "уровенем примерно 1999-го года", "слабыми представлениями принципов работы клиент-серверных приложений", толстыми и тонкими клиентами, "полноценными приложениями", супер-пупер-библиотеками? Что ж вы, черти, приуныли?

Продолжаю "поток сознания":

Так. Программирование в объектах худо-бедно работает. Возможна и рекурсия, т.е. технология стека очередей. Реализована также двухпоточная технология (сопрограммы). Теоретически можно сделать и многопоточную, но я пока не вижу этому применения. Что у нас новенького появилось? Всего-то две функции (общим весом в 157 байт): инициализация группы полей, да выполнение двух потоков (шаблон и данные). Инициализация, кстати, идет уже и через строку методов. Ах, да - завел еще один глобальный объект b(BODY) для хранения указателей на текущие объекты (т.е. для повышения универсальности кода).

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

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

Конструктор окна - это в первом приближении: HEAD (TITLE, META, STYLE, SCRIPT) + BODY. Пущай будут пока атрибутами, как и сам конструктор или палитра. Впрочем, нет: палитра - вполне себе класс.

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

Класс "палитра":
- имя класса
- конструктор класса (видимо, только у класса - у объектов не нужен)
- цвет фона (в терминах HTML - BGCOLOR)
- цвет обычного текста (TEXT)
- цвет выделенного текста (LINK)
- цвет особо выделенного текста (ALINK)
- цвет "заблокированного" текста (VLINK)
Видимо, в BODY нужно держать ссылку на текущую палитру (в DATA - на палитру по умолчанию). Коструктор будет выглядеть примерно так (шаблон для сопрограммы):
var I='Qw"#"Q';
Иначе говоря, предназначен пока для выдачи по document.write, обрамляет цвет кавычками, и пришпиливает впереди знак '#'( - разделитель параметров,  - код перехода к сопрограмме).

Создание класса (забавно, но имена атрибутов в классе вроде как и не нужны):
var I=`ic,"p",m.o()ic.p,"c",'Qw"#"Q'`;

Ну вот и приплыли: обратный апостроф на кавычку не тянет . Впрочем, не поможет - еще и разделитель параметров, код передачи сопрограмме... Значит, делать будем в два приема. Примерно так:
var J='Qw"#"Q';
var I='ic,"p",m.o()ic.p,"c",J';
Это - работает.

Итак, класс (в первом приближении) заведен. Теперь инициализация объекта палитры. Ух ты! Даже не ожидал. Переменной pal в коде нет (заводится динамически, в строке методов), но... взгляните на код:

код:

alert(pal);
m._(I);
alert(pal.b);

Первый alert генерит ошибку, и прекращает выполнение программы - дескать, "не определен объект pal". Если же его убрать - второй прекрасно работает, т.е. видит не только саму переменную, но и ее поля "внутре" (в данном случае выдает цвет фона). Отлично!

Хм. А на хрена нам вообще этот объект? Пущай все палитры в классе и сидят как массив. Не, это уж совсем неприлично. Да и неудобно с индексами. Положим-ка мы их в DATA, а то там окромя разделителей ни хрена нет. Штучки три - с белым, черным и синим фоном. И в BODY по умолчанию - с белым.

Упс! Парсер написан неправильно. Точнее, рекурсивный вызов работает, сопрограммы без рекурсии - тоже, а вот вместе... Ладно, не горит. Опосля как-нить, устал я что-то.

Продолжение следует...

9. Vladimir Rybinkin, 03.08.2009 11:11
Так я что-то не понял: здесь вообще живые люди есть? Программисты, в смысле? Или только эти... распальцованные? Способные лишь на советы типа "использовать библиотеки" - потрясающая мудрость! Али тема неинтересна? Смешно - это и есть тема всей конфы. Ладно, подождем еще малек - вдруг чудо...

Продолжаю "поток сознания":

Нет, так дело не пойдет - неудобства с вызовом будут только нарастать. Нужно разобраться с парсером и сопрограммами раз и навсегда. А, понятно - я же использую программный стек, а каждая из сопрограмм должна работать на своем собственном. Значицца, две функции требуют серьезной переделки... Ух, и неохота! Да и жалко однопоточный парсер, честно говоря. Программный стек, опять же, "на самообслуживании"...

От программного стека, разумеется, придется отказаться - безнадежно, это мы уже проходили. А вот парсер, кажись, можно сохранить. Только ему вместо "сопрограммного" перехода нужно научиться управлять стеками. Блин, что ни делаешь - все равно пулемет получается, то бишь SINT. Значит, нам нужно: рекурсия внутри одного потока (call/return), переключение управления между потоками (сопрограммы) - при этом первый поток всегда управление (шаблон), второй - данные, требующиеся этому шаблону. Заодно неплохо бы сделать "двупоточную рекурсию" - второй поток становится первым, а вторым ему подсовываются его "персональные" данные - тогда виртуальное число потоков может быть любым (при двух стеках). Ну что же, попробуем...

Вначале промоделируем мысленно управление потоками (чтобы потом не было мучительно больно). Итак, генерация страницы. Первый поток - шаблон, второй - данные (для простоты - из двух частей, скажем, содержимое тега TITLE, а затем - BODY). Все оформление страницы, допустим, лежит на шаблоне. Тот начинает:
<HTML><HEAD... Нет, HEAD пущай будет самостоятельной строкой методов (в терминологии SINT - очередь). Тогда - ныряем в стек очередей первого потока.
<HEAD><TITLE... ныряем еще раз.
<TITLE> а теперь прыгаем на второй поток:
TEST и снова на первый
</TITLE> - данные закончились, "выныриваем".
<META...<STYLE...</STYLE><SCRIPT...src=" Ага! Нужны данные из потока, но НЕ ТЕ. Стало быть, SCRIPT - это тоже отдельная очередь. И не просто очередь, а очередь со своими собственными данными. Значит, ныряем в оба стека: сначала переустанавливаем стек данных (второго потока), затем по обычной технологии ныряем в первый стек.
PUSH (строка с именем(ами) включаемых файлов)
<SCRIPT language="JavaScript" src=" - прыг!
test.js - скок!
" type="text/JavaScript">
POP - восстанавливаем стек данных
</SCRIPT> - вынырнули
</HEAD> - еще раз вынырнули
<BODY BGCOLOR=... стоять! Выдача палитры должна быть еще хитрее. Ныряем:
PUSH (очередь метода выдачи палитры)
BGCOLOR="

А теперь смертельный номер: метод выдачи цвета - это шаблон (т.е. ПЕРВЫЙ поток), но лежит он в данных (во ВТОРОМ потоке). Значит...

Надо же! Ничего "смертельного" чтой-то не просматривается - обычная рекурсия.
w"BGCOLOR="_c.p.cw" TEXT="_c.p.cw" VLINK=... - шаблон
wb.p.bwb.p.twb.p.v... - данные. Неужто так просто?!

Да уж, "просто"! Ручками написать такое - 5 секунд, а я уже второй день маюсь. Да и "смертельный номер" наверняка в будущем понадобится. Что же в награду? А в награду - возможность выдачи страниц каждому юзеру в "его собственной" палитре. Не так уж и мало! Не говоря уже про "бесплатное приложение" в виде базовых функций и методов инициализации. Если, конечно, все это вообще работает. Попробуем запрограммировать... goto убрали, козлы!

А ну, господа, поделитесь, как там "с использованием библиотек" полагается менять палитру на странице? Вот смеху будет, если хваленые библиотеки даже этого не умеют. А ведь не умеют - зуб даю! Впрочем, я пока что тоже не умею.

Продолжение следует...

10. Sioln, 03.08.2009 11:36
Vladimir Rybinkin
Извините, Владимир, но я почитал-почитал... и ничего не понял.. Вы чего хотите то?
В одном предложении, пожалуйста.

11. Vladimir Rybinkin, 03.08.2009 15:58
О! Провокация на ответ удалась.

Sioln
В одном предложении... А разве это будет легче понять? Пожалуйста: хочу инструментарий на JS/IE3, позволяющий с максимальными удобствами реализовывать все, что нужно конечному пользователю (в идеале - пользователю СУБД). Ну и первый тест подоспел - можно посмотреть...

Продолжаю "поток сознания":

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

Во дела! Никак не думал, что так легко пойдет. Шарахнул контекстной заменой, и всего-то пара ошибок по невнимательности. Так защищаться можно!

Так, понятно - не хвались, едучи на рать... Чо-то я ваще ни хрена не понимаю: если я завожу элемент массива с индексом, равным его длине, то длина, как и положено увеличивается на 1. А если я этот элемент УДАЛЯЮ, то длина НЕ МЕНЯЕТСЯ! При этом элемент становится undefined, а следующему за ним хоть бы хны! Оба-на! А если внаглую length--, то все путем?! Я хренею, дорогая редакция! Ну... допустим - бум надеяться, что это хозяйство работает ПРАВИЛЬНО. Хотя дырявые массивы смотрятся несколько странно.

А вот за goto я не только руки, но и ноги бы повыдергивал. Пижоны! Из-за этого (и невозможности удаления объектов по указателю) приходится код дублировать. Ладно, особого сопровождения не предвидится - потерпим. А куда ж ты на фиг денешься!

Еще раз формулируем технологию. Вначале - инициализация "морды". Минимально необходимая - функцией по onLoad, затем - строкой методов. Функция на текущий момент - это (260 байт все удовольствие):

var r="parent.";function _(){var x,y,z="bcdm";for(x=0;x<z.length;x++)
{y=z.charAt(x);eval(r+y+"=new Object");eval(y+"="+r+y);}m.e=eval;
z="afios_";for(x=0;x<z.length;x++){y=z.charAt(x);m.e("m."+y+"="+r+y);}
b.s=m.a();b.s[0]=m.a();b.i=0;d.D="";b.s[0[0]]=I;m._();}

Лана, дам уж комментарии от генератора, а то и свихнуться недолго.
код:

var r="parent."; // строка имени ссылки на головной кадр
function _() // начальная инициализация данных
{ // (после выполнения перезаписывает свой кадр)
var x,y,z="bcdm"; // массив символов имен объектов
for(x=0;x<z.length;x++) // цикл создания глобальных объектов
{ // в головном кадре
y=z.charAt(x); // текущий символ (имя объекта)
eval(r+y+"=new Object"); // создаем объект
eval(y+"="+r+y); // вроде как указатель на объект
} // конец цикла создания объектов
m.e=eval; // вычисление адреса объекта по строке
z="afios_"; // инициализация основного набора методов
for(x=0;x<z.length;x++) // по текстам из головного кадра
{ // коды функций и имен методов совпадают!
y=z.charAt(x); // односимвольное имя метода
m.e("m."+y+"="+r+y); // заводим метод как ссылку на тело функции
} // конец цикла инициализации методов
b.s=m.a(); // массив стеков (планируется только два)
b.s[0]=m.a(); // стек шаблонов (массив строк)
b.i=0; // индекс текущего стека
d.D=""; // разделитель параметров строки объектов
b.s[0[0]]=I; // загружаем стек шаблонов
m._(); // продолжение инициализации - парсером
} // _()

Таким образом, все глобальные объекты заведены, все тексты (неизменяемых) функций морды переведены в методы. Теперь инициализация в парсере: создаем стек данных, код перехода на сопрограмму (коды разделителей на всякий случай хранятся как данные - вдруг динамическая замена потребуется). Затем инициализация необходимых встроенных функций (типа alert или document.write). Затем наполнение объектов CLASSES и DATA, установка текущих параметров на BODY, и... все - перерисовка на рабочий кадр. Приступим.

Стек данных завели... встроенные методы тоже... палитру (класс) с конструктором... шаблоны страницы, HEAD и TITLE... указатели на них из BODY... двухпоточный запуск... псевдо-рекурсия... переход на сопрограмму... псевдо-return... Работает!

Честно говоря, думал, что быстрее получится. Старею. Но и отладчик "классный" - то "работает" (точнее, ни фига не делает, но и не ругается - типа, "выполнено"), то прикалывается (неопределенная ошибка), то лепит горбатого ("ожидается наличие объекта" - не там, и не по делу - "универсальная" диагностика на целый спектр различных ошибок). Впрочем, это все мелочи, главное - имеем (принципиально) любую динамику по данным и переменную толщину клиента. Ах, да - если существует второй фрейм... доступ к данным через лишний parent... работает! А запись в родителя (то бишь удаление второго фрейма из третьего)... аналогично переопределяем document.write/close... работает! На этот раз обе проверки прошли с первого тыка. Не зря возился!

Уф! Готов первый тест для броузера. Кому интересно - в аттаче. Еще бы теперь научиться выполнять document.open/read, и тогда нам сам черт не брат! Так хто там бочку катил на JS/IE3?!

Продолжение следует...

К сообщению приложены файлы: 1.rar, 2Кb

12. Sioln, 03.08.2009 16:09
Vladimir Rybinkin
хочу инструментарий на JS/IE3, позволяющий с максимальными удобствами реализовывать все, что нужно конечному пользователю (в идеале - пользователю СУБД).
Эм... т.е. проверку прав тоже на клиенте делать будем?
Или Вам не инструментарий, а GUI надо?

Добавление от 03.08.2009 16:16:

Перечитываю и ещё больше не понимаю.. Вам IDE на JS хочется?

Добавление от 03.08.2009 16:17:

Запустил ваш "тест"

код:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.21022; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 4.0.20506; .NET CLR 3.0.30729)
Timestamp: Mon, 3 Aug 2009 12:16:56 UTC


Message: Permission denied
Line: 1
Char: 416
Code: 0
URI: file:///C:/Users/Sioln/Desktop/New%20Folder/b.j


13. Vladimir Rybinkin, 04.08.2009 10:03
Sioln
цитата:
Эм... т.е. проверку прав тоже на клиенте делать будем?
Почему на клиенте? Какие вообще проблемы с проверкой прав?
цитата:
Или Вам не инструментарий, а GUI надо?
Инструментарий. В том числе для GUI.
цитата:
Вам IDE на JS хочется?
А что такое IDE?
цитата:
Запустил ваш "тест"
Из архива, что ли? У меня прекрасно запускается... Или у MSIE 8.0 (у меня 5 или 6 - не помню) какие-то навороты? Или NT 6.0 (98) чего-то надо? Или настройки чего-то не позволяют? Там же (в тесте) НУ НИЧЕГО нет!

Продолжаю "поток сознания":

Что-то все-таки не то. Даже сформулировать не могу. Периодически происходит нечто странное: выскакивают ошибки типа "неопределенная ошибка" (детектировать, стало быть, можно, а понять, чего именно поймал - ну никак низзя!) или "неожиданный вызов функции" (раз двадцать вызывалась без проблем, а потом бац - и глаза на лоб). При этом дальнейшая работа то абсолютно правильная, как будто никакой ошибки и не было, то аварийная остановка. Такое ощущение, что всякие генерируемые теги script начинают жить своей жизнью (интерпретироваться раньше времени). Впрочем, не уверен. Но раздражает. Текстов-то с гулькин нос, интерпретируй не хочу - чего выеживаться?

Что же нам делать с document.read? Не видать чтой-то такого сервиса. А чего у него вообще есть? Вот зараза, не показывает! А window? Этот - пожалуйста, со всей душой. Так...

Ух ты! clipboardData="[object]" это что за зверюга такая? dropEffect... effectAllowed... Ни хрена не понял!

document="[object]" - Ну?! А этот "object" покажешь? Ах ты гнида! А почему?! А, ну конечно - "неопределенная ошибка" - куды уж тебе разобраться...

Чо только не придумают! onbeforeprint, onbeforeunload...

Вау! window.body - пустота, а на window.document.body... Ой, скоко ж тут дерьма-то всякого понавалено... canHaveChildren... и как они сами-то в таком кошмаре разбираются? Ага! innerHTML, innerText - это уже интересно... Но не совсем то... nodeName="BODY" - О! Верно! Теплее, теплее... outerHTML, parentElement, parentNode, readyState="complete" - одуреть! Так, стоп! А почему ошибки на этот раз нет?! Ага, зараза! От нас не скроешься!

О, Господи! Очередная порция, так сказать, параметров. Длиной в километр. activeElement, applets, childNodes, documentElement, protocol, scripts, security... Господа, тону! Кто здесь плавал - помогите! Теперь я понимаю броузер - где ж тут определиться с ошибкой - сам черт ногу сломит!

Тем не менее, доступ к телу (BODY) в виде HTML и в виде текста получен - ура! Теперь бы еще к HEAD. Ну, к TITLE - понятно...

Впрочем, чего я страдаю? С HEAD как-нить на досуге разберемся. А все остальное принципиально имеется - все, что и хотелось: переписывать кадр умеем, с полями объектов проблем особых нет, ссылки худо-бедно эмулирем, обмен данными между фреймами моделировали, доступ к телу "вражьей" страницы обозначился... С событиями еще не работали, но особо пока и не требуется. Теперь остается техника - как именно лучше всего реализовать текущие требования. Ау, господа - навалимся гурьбой?

Для полного счастья нужно: обсудить и отладить структуру паспортов для выдачи таблиц, списков и разных прочих промптов, методы обмена данными (в т.ч. с Инетом), оформления страниц, разных полезных вкусностей. В этих моих "учебных" примерах приводится какая-то абсолютная хрень - прыгает чего-то, мельтешит... А какой внешний (оформительский) инструментарий НА САМОМ ДЕЛЕ нужен? Идеальный, для ПОЛНОГО счастья, поскольку принципиальных ограничений по возможностям лично я УЖЕ не вижу (кто знает - вэлкам, тоже важно). Так какая для этого нужна БИБЛИОТЕКА?

Поток сознания закончился. Теперь - техника.

Во-первых, а не зря ли я программный стек отменил? Вызов-то удобнее. Да и какое дело прикладнику до стеков (тем более, до стеков очередей)? В SINT у меня сделано хитрее... Ладно, попробуем:

Имеем: системный объект (с паспортом), стеки очередей и парсер, по ним ползающий. Из прикладного уровня не вызываемый (не в смысле недоступный, а по соглашению). Вызывается же он из прикладного парсера, либо из двухпоточной зарядки, либо из строки методов. Тогда стартовая инициализация должна выглядеть примерно так:

Во-первых, морда. Предположим, что на сайте допускается сразу два типа обслуживания: с постоянной (скажем, index.htm) и переменной (index.html) толщиной клиента. Оба входа предназначены исключительно для хранения глобальных объектов, методов и текстов глобальных функций. Во втором случае предполагается промежуточный дочерний фрейм для хранения текстов функций переменного состава. Сын же index.htm (или внук index.html) - это уже головной рабочий кадр. Если и он фреймообразующий, рабочими становятся уже внуки (правнуки). Дальше в "генеалогию" лезть как будто незачем.

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

Рабочий кадр любого уровня иерархии получает доступ к данным и методам через единственное определение r="parent.[parent.][parent.]..."; В остальном тексты кадров разных уровней неотличимы (если, конечно, выполняют ту же работу). Обмен данными между фреймами либо непосредственно по имени, либо через кого-то из родителей (уж морда-то всякому родитель).

Перечень основных функций (аттач, файл a.j) неизменен, приложение к морде. Это по определению наиболее важные (оптимизированные, отлаженные) функции, посему просьба критиковать и состав, и содержимое.

Начальная загрузка (файл a.h -> b.j): создание объектов и методов (той самой пресловутой "библиотеки"), загрузка начального рабочего кадра (то бишь "настоящего" index.htm, предназначенного для посетителя сайта), и обеспечение доступа к этой библиотеке создателю странички (прикладнику). Никакого контроля за деятельностью прикладника не проводим (не транслятор, чай), считаем, что он и сам соображать должен (тем более, что "прикладник" - это я и есть ). Инструментарий должен обеспечивать максимально комфортную реализацию всего того, что взбредет в голову прикладнику и, если тот позволит - конечному пользователю. Господа прикладники, изложите, плиз, что же вашей душе угодно? Каких возможностей не хватает при разработке? При сопровождении? Чего не хватает юзеру? Чем его можно заинтересовать, чтобы он, придя на ваш сайт, отправился дальше именно в ваших "доспехах"? Или даже собирал бы себе клиента с "разных" сайтов. Во игрушка-то, а? Кстати, разобрался с "неожиданным вызовом" - переопределяю m.e=eval; - неожиданности заканчиваются. . Остальным встроенным функциям (типа alert) - по барабану. Ну и гадюшник!

Для затравки: я тут грозился arsa сотворить клиента для google (сервис для уточнения запросов). Попробуем, что ли?

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

Продолжение следует...

К сообщению приложены файлы: 1.rar, 2Кb

14. Sioln, 04.08.2009 11:16
Vladimir Rybinkin
Из архива, что ли?
Нет, распаковал.


У меня прекрасно запускается...
Могу только поздравить

15. Vladimir Rybinkin, 05.08.2009 09:49
Sioln
цитата:
Нет, распаковал.
Странно...
цитата:
Могу только поздравить
Не, это я Вам могу посочувствовать. Судя по диагностике, там проблемы с загрузкой b.j. А он грузится ПОСЛЕ a.j. А технология загрузки того и другого отличается лишь одной буквой. Той самой - a или b. Так что обнаглела Ваша софтина вконец. Токо на помойке ей и место.

all
Похоже, последний тест: все прекрасно работает, и мне уже просто лень что-то вылизывать (скажем, по нормальному надо бы данные на морду отправлять в динамике и т.п.). Так что слеплено несколько топорно, но все-таки: целый сайт в одном флаконе (он же страница - см. аттач), общим весом в... ща... 620 виртуальных страниц. Ха! И сайт-то не маленький! И не хило перевязанный. Так хто там забижал JS?! А ну-кось, где там "библиотекари"? Смогете сварганить подобное, и не уползти при этом на пару порядков по объему? Вот вам и разгрузка сервера: выдай такую "страничку" юзеру - и он целый день больше не будет тебя беспокоить. Если, конечно, инфа его интересует - цены там на билеты, расписание поездов, отелей, путеводитель по товарам, по лекарствам и болезням... Фильтры еще можно приделать (прям ща и попробую). А если еще сервис дать, чтобы можно было собственную базу собирать...

Кстати, технология работы называется "ни шагу назад", поскольку эта придурь (которая броузер) умудряется каким-то образом вести "историю" посещенных страниц ( ). Я просто балдею - сам же, дубина, интерпретируешь! Не видишь, что ли, что страница ТА ЖЕ САМАЯ?! Ну и лепит то, что по дурости своей считает "предыдущей страницей" (точнее, страницАМИ)... Все, естественно, перестает работать.

Некоторые пояснения: буквально любое слово текста (кроме разве что заголовков) есть ссылка. К сожалению, показать, что это именно ссылка я пока не умею: если поставить HREF, ручки шаловливые броузера немедленно куда-то лезут ("невозможно отобразить страницу"). Хотелось бы выделять эти ссылки цветом (всегда) и подчеркиванием (при наведении мыши).

Далее. Специально обозвал кнопку "Home" как "Ремонт" (то бишь перезагрузка index.htm вместе со всем инструментарием) - своего рода защита от "интеллекта" этого козла. Ну и игрушку с палитрой повесил - для симметрии. А между ними - навигация (над ними, ясный пень, алфавитная). Навигация такая: название типа ресурса есть ссылка на все ресурсы данного типа (имеющиеся на странице, разумеется - той, которая "сайт"). Чекбокс же есть фильтр для показа ресурсов этого типа на текущей странице (это уже на любой виртуальной, до отмены фильтра). В общем, понажимайте - думаю, там все прозрачно. А потом скажите, "чего в этом супе не хватает" (чего еще может понадобиться самому привередливому юзеру).

Кстати, а что это я фигней занимаюсь? Второй фреймообразующий кадр нужно сделать ОБЯЗАТЕЛЬНЫМ (как и первый). Тогда третий кадр всегда рабочий, при желании их может быть скоко угодно (в т.ч. невидимых), а второй кадр "по совместительству" может хранить переменную толщину клиента. Четвертый уровень - для временных кадров (для экзотики). Стройненькая такая система получается...

Ну что, займемся делом? ИДЕАЛЬНЫМИ классами? Которые не просто строки, а структуры, с пользовательскими атрибутами, с методами, сами методы... Навскидку - желательно бы иметь постоянно висящее меню (возможно, выпадающее), и отдельный фрейм "Настройка" (возможно, временный). Сервис "Игрушка" - диалоговая модификация данных и их структуры (переделка полученных с сервера(ов) страниц, сборка собственной БД, сохранение и восстановление у себя (типа config). Чо бы еще придумать? Присоединяйтесь, господа бароны, присоединяйтесь!

Ах, да - забыл сам тест прилепить.

К сообщению приложены файлы: 1.rar, 7Кb

16. Vladimir Rybinkin, 06.08.2009 11:42
Ну что, снова все замолчали?

Насчет последнего теста я, конечно, погорячился. Надо бы еще БД попробовать. Не ту кастрированную и однородную, как в предыдущем тесте, а... Во! Возьмем-ка мы "Борей", он же "Northwind", он же учебная БД для MS Access - там наверняка пользовательские классы понадобятся. Оригинал валялся где-то на microsoft.com (думаю, и сейчас валяется). Предварительно отрежем неанглоязычные ресурсы, шоб глаза не мозолили (в смысле, использующие не латинские символы). Да подрихтуем малек схему БД, а то совсем уж позорище. Учителя, блин! .

Да... В этом дерьме тоже повозиться придется... Да выдачу обдумать. Но меня просто убивает мертвая тишина в ветке. Неужели программистов вообще не осталось? Чем вы ваще занимаетесь в этой конфе? Так... Судя по заголовкам - ничем . Ау, модераторы! Вы бы хоть звание экспертов отменили, что ли. А то мне, постороннему человеку, бывает просто стыдно читать бредни под этим статусом. А вам?

17. Sioln, 06.08.2009 12:55
Vladimir Rybinkin
Тебя уволили чтоли?

18. Биомеханик, 06.08.2009 13:11
Vladimir Rybinkin, тебе поговорить не с кем что ли?!

19. Vladimir Rybinkin, 08.08.2009 12:05
Sioln
цитата:
Тебя уволили чтоли?
Нет.

Биомеханик
цитата:
тебе поговорить не с кем что ли?!
Вот именно - не с кем. Тема, на мой взгляд, исключительно важная. Уровень же участников ветки - нулевой (мой - тоже). Неужели профессионалы никогда не занимались клиентской частью?

20. Vladimir Rybinkin, 10.08.2009 09:32
Да ужжж... Тишина даже и не удивляет. Мож, пользователи какие забегают сюда?

Разобрался я с "Northwind". Отрезал неанглоязычные ресурсы, изменил схему БД. Пользовательские классы (старые, с модифицированной структурой - убрал всякую муть типа Discontinued, кое-что вынес в отдельные классы): Categories, Customers, Employees, Order Details, Orders, Products, Shippers, Suppliers. Пользовательские классы (новые): Address, Company, Person, при этом Address развернул в дерево (City, Country). Кое-какие поля (должность, скидка, ...) сделал перечисляемыми - для разнообразия. Редактирование пока не планирую, да и вряд ли вообще притронусь - техническая реализация элементарна, а вопросы удобства в работе и организации контроля по определению лежат на юзере - пущай у него голова и болит. Так что считаем, что базу редактирует некий абстрактный "персонал", а посетителям сайта предлагается уже готовая жвачка.

А, черт! "Персонал" недосмотрел - еще подрезать можно... англоязычные товары неанглоязычных производителей - на фиг... их потребителям, соответственно, облом... из заказов тоже вышвыриваем... "опустевшие" и "чужеземные" заказы туда же... перевозить их не нужно... сопровождать тоже... заказчиков, оставшихся вообще без товара... Блин, надеюсь, они не очень "интернационализмом" увлеклись - что-то в базе все же останется? Не, малек осталось - где-то около трети - отлично! На всякие глупости, типа одинаковый номер телефона у разных компаний ( ) обращать внимания не будем.

Теперь - как хранить все это барахло на странице? Вообще говоря, глаза разбегаются: можно как "отношения" (опять же - массивы строк или массивы объектов), можно с атрибутами в качестве имен полей или значениями аналогичных полей класса, можно... А что проще? Думаю, так: единый массив строк на все про все, пользовательские атрибуты в классах, имя класса в элементе, интерпретация данных элемента (поля значений, ссылки) - "классовыми" методами, доступ к элементу - по индексу. Ну, можно еще "реляционный", по ключу (если индекса под рукой не окажется). Что еще? Внешний вид (виртуальной) страницы определяется классом текущего элемента - либо "персональная" на элемент, либо на всю группу класса. Хотя... это все проблемы шаблона. Ну и время от времени надо бы заставить ее чего-нить посчитать. Приступим...

Так. Шаблончиков у нас будет... чтой-то до хрена... Ладно, пущай - и мне надо малек руку набить на JS, и вас, обормотов, поучить, как надо программы писать. Перечисляемые типы надо бы снабдить фильтрами (по типу Excel). И при генерации страницы посчитать какую-нить статистику, типа суммарных объемов поставок - пущай клиент вкалывает! Как и записано в названии ветки.

Посмотрим, что можно выжать из этого дела.

Классы:

Persons
FirstName, LastName, Title, косвенно - Company и ее вид (Customer, Supplier). Скучновато... Используем для фона - более обширная информация о компании, и только.

Employees
Тот же Person, но более развернутый - Address, HomePhone, BirthDate и прочая хрень. Ах, нет - они связаны с заказами, и между собой какая-то система подчинения. Ok, заслуживает персональной странички.

Products
QuantityPerUnit, UnitPrice... Ага! Это уже интересно - движение товаров и денег (подробности в Order Details). Аналогично - Categories: тот же Products, но более общий. И то, и другое заслуживает персональной странички.

Addresses
Тоже просто дополнительная информация о компании или человеке. Однако City и Country, бесспорно, претендуют на персональную страницу.

Companies
Три вида: Customers, Suppliers и Shippers. Надо же - не пересекаются: одни только производят, другие только потребляют - примитив! Зато можно в качестве обобщенных компаний использовать City и Country - эти наверняка пересекаются. Заслуживают "кармана" (для денег), и... объемная страничка получается на каждого: товары, поставщики, потребители, заказы...

Orders (Order_Details)
О! Тут еще движение товаров и денег ВО ВРЕМЕНИ! Даже самому интересно стало, что получится - не как программисту, а как пользователю. И чего у нас творится с датами? О, Господи! BirthDate=8.12.1998, HireDate=1.5.1992 - что бы сие значило? Ладно, хрен с ними... Ого! Почти 500 уникальных - есть, где развернуться. 24 месяца трех разных лет, обычно полсотни событий в каждом (от 7 до 131). Здесь совершенно потрясающую игрушку можно сделать. Графики изменения содержимого карманов во времени рисовать - это, конечно, слишком, но...

А это что еще за бред?! UnitPrice в Order Details в точности повторяет его же в Products. Ну и на хрена он такой хороший там нужен? Поганой метлой!

Так, а скоко у нас всего ресурсов? 1705, из них на страничку претендуют... всего-то 246! Или 714, если заказам подарить по страничке (не фиг баловать, хотя реализовать и просто, и дешево в смысле объема). Кстати, а объем? До 64К малек не дотягивает. Правда, он еще подрастет где-то на треть. Но все равно - страничка по нынешним меркам легкая. Но по моим наполеоновским планам должна драть Access по функциональности, как кота. Посмотрим...

Теперь - как все это хозяйство должно жить во времени. Производители товары производят, покупатели потребляют, перевозчики перевозят, деньги движутся в обратную сторону. Каждая компания (а также город и страна) имеет собственный "карман", в котором изначально 0 (американских) рублей. При каждом событии (ShippedDate) заказчик платит производителю, скажем, Product * Quantity * (100% - Discount) * UnitPrice, а перевозчику... понятия не имею... пущай будет Freight. При этом за дострочную поставку (ShippedDate < RequiredDate), допустим, даем премию в 5%, а за каждый день просрочки - штраф 0.5%. Города и страны суммируют доходы и расходы своих предприятий. Таким образом, от события к событию карманы участников как-то изменяются - это динамика во времени. Меняется, кстати, и количество связей между поставщиками и потребителями, объем товарооборота между компаниями, странами, городами. Что еще? Популярность товаров и категорий товаров по объему товарооборота... И посмотреть все это можно для любого предприятия, города страны, товара или категории за любой период времени - это просто фильтр. Впрочем, чего гадать? Хрен ли думать - трясти надо!

Уже вполне можно подвести некоторые итоги. Итак, возможности JS в плане написания клиентской части ОГРОМНЫЕ! Я ожидал гораздо худшего. И не используются они, судя по всему, вообще никем, и никогда - вот уж этого тем более не ожидал. Так что, как говорил Аркадий Райкин, гляжу я на вас и думаю: ну и дураки же вы все!

21. dozen, 11.08.2009 18:15
Sioln
Вы чего хотите то?

Обычная для него публичная мастурбация. Он получает удовлетворение от процесса, а не от результата.

Тему надо в 26-ю конфу, там энтузиасты всё в подробностях дяде Вове объяснят. Начнут, пожалуй, с CSS.


Ему, наверное, кто-то подарил подшивку журнала Хакер за 2003-й год (покупать свежий ему не по карману) , откуда он узнал про JavaScript. До AJAX он еще не дочитал, это в декабрьском номере, а он пока на февральском.

P.S. "Палитры" он меняет, я щас штанишки описаю! Поллитр поменяно, однако, явно немало...

22. Vladimir Rybinkin, 12.08.2009 09:39
dozen
А, черт! А я как раз пригласил в "Крошке"... Впрочем, а не зря ли? По делу "энтузиасту" явно сказать нечего?

All
Финиширую с базой: еще малек подрезалась, да оптимизировались индексы. Кроме того, решил все-таки пожалеть клиента: дать элементам необходимые ссылки окружения (чтобы не искал тупо, как в прошлом тесте). Получается такая структура:

Морда (Northwind). Дети - группы (массивы) объектов одного класса: Cities, Companies, Countries, Customers, Employees, Orders, Persons, Products, Shippers, Suppliers. Каждая группа - виртуальная страница с собственным форматом выдачи. Не уникальным - скажем, Customers или Suppliers принадлежат классу Company и, разумеется, имеют его формат. Некоторые классы (например, Addresses, Order Details) вообще не имеют собственных страниц - ни персональных, ни групповых. Класс Persons (а в первоначальном замысле и Orders) имеют лишь групповую странцу, остальные - оба вида. Классы имеют (как правило) два формата выдачи: краткий (для форматирования объекта на "чужих" страницах) и развернутый (на своей "персональной"). Объектам класса Order разрешил все-таки иметь персональную страницу. Как же все-таки эту скотину заставить использовать HREF только для STYLES?

Классы - от простого к сложному (впрочем, особо простых что-то не просматривается ):

Persons
Только группа, персональных страниц не имеет. Заголовок (Persons) - ссылка на морду. Одна таблица детей формата: LastName, FirstName, Title, Company (CompanyName, ссылка, для Employees - морда).

Orders
Группа объектов с персональными страницами. Заголовок (Orders) - ссылка на морду. Одна таблица детей формата: OrderID (ссылка), Customer (CompanyName, ссылка, фильтр), Employee (FirstName+LastName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся).

Order
Персональная страница объекта класса Order. Заголовок (OrderID) - ссылка на группу Orders. Выводимые данные: Customer (CompanyName, ссылка), Employee (FirstName+LastName, ссылка), Shipper (CompanyName, ссылка), OrderDate, RequiredDate, ShippedDate, Freight. Имена атрибутов - ссылки на групповые страницы (если они существуют). Одна таблица детей формата: Product, (ProductName, ссылка), Category (CategoryName, ссылка), UnitPrice, Quantity, Discount, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum (включая Freight с премией или штрафом, как было указано выше по ветке).

Employees
Группа объектов с персональными страницами. Заголовок (Employees) - ссылка на морду. Одна таблица детей формата: Name (TitleOfCourtesy+FirstName+LastName, ссылка), Title, HomePhone.

Employee
Персональная страница объекта класса Employee. Заголовок (TitleOfCourtesy+FirstName+LastName) - ссылка на группу Employees. Выводимые данные: Title, Address, HomePhone, BirthDate, HireDate, Chief (TitleOfCourtesy+FirstName+LastName, ссылка), Notes. Одна таблица детей. Формат таблицы - как для Orders (без столбца Employee).

Products
Группа объектов с персональными страницами. Заголовок (Products) - ссылка на группу Categories (не на морду!). Одна таблица детей формата: Product (ProductName, ссылка), Category (CategoryName, ссылка, фильтр).

Categories
Группа объектов с персональными страницами. Заголовок (Categories) - ссылка на морду. Одна таблица детей формата: Category (CategoryName, ссылка).

Companies
Группа объектов с персональными страницами. Заголовок (Companies) - ссылка на морду. Одна таблица детей формата: Company (CompanyName, ссылка), City (CityName, ссылка, фильтр), Country (CountryName, ссылка, фильтр).

Cities
Группа объектов с персональными страницами. Заголовок (Cities) - ссылка на морду. Одна таблица детей формата: City (CityName, ссылка), Country (CountryName, ссылка, фильтр).

Countries
Группа объектов с персональными страницами. Заголовок (Countries) - ссылка на морду. Одна таблица детей формата: Country (CountryName, ссылка).

Персональные страницы Product, Category, Company, City, Country - там совсем сложно получается. Как-нить на свежую голову.

Тема перенесена 12.08.2009 10:49 moderator-Bio из форума "Программы: Интернет"

24. Джамаль, 12.08.2009 11:07
Кто здесь?

25. dozen, 12.08.2009 17:02
Не для ВР, а для общего образования любопытных, расскажу немного о GWT (Google Web Toolkit).

Эта библиотека необычна тем, что включает в себя компилятор байт-кода JVM в Javascript. Буквально. То есть код страницы пишется на Java -- есть кучка классов, описывающих Layouts и элементы ввода. Затем получившийся Java-code пропускается через GWT-compiler, и тот создает идентичный Javascript-code.

Что интересно, если не нужны вызовы к серверу (AJAX), то получившийся набор HTML/JS можно деплоить на любой голый web server (т.е. без жабы), и код будет работать. Если нужны, то жаба тоже не обязательно -- достаточно любого тула (например, PHP), способного ответить на JSON.

Есть всякие удобства, типа AJAX-методов и интернационализации.

Куча народа создает свои компоненты к GWT. Я лично использовал чудные сторонние компоненты построения графиков.

Разумеется, есть и ограничения. Не все методы всех жабо-классов поддерживаются, ведь GWT по сути предоставляет JS-версии методов Java (только использованные методы добавляются в конечную "сборку").

Примеры в работе можно посмотреть здесь (http://code.google.com/webtoolkit/examples/) .

Я, вообще, не UI-guy. Но с помощью GWT добавил к моим приложениям морды за пару дней.

26. arsa, 12.08.2009 17:10
кстати есть Ext GWT - вообще супер библиотека

27. dozen, 12.08.2009 17:14
arsa
Ext GWT - вообще супер библиотека

но стоит денег (http://extjs.com/store/gxt/)

однако, ВР, несомненно, стоит ознакомиться (http://extjs.com/products/gxt/) . дабы обрести (недостижимый) идеал.

28. arsa, 12.08.2009 18:03
dozen
да, если не хочется ввязываться в GPL, то стоит денег.
раньше был ещё LGPL (в версии 2 самого ext), но к сожалению он немного не подходит под реалии веба.

в результате (если всё делать абсолютно честно) реально не получится разработать прототип на GPL версии, показать начальству, а уже потом купить коммерческую версию.

29. Hedin, 12.08.2009 18:06
dozen
но стоит денег

gwt-ext выглядит вроде не хуже, и под LGPL.

Начальство впечатлилось, теперь вот придётся прототип приложения переводить с JSF/RichFaces/SWF на GWT/GWT-Ext.
Благо не так много наваять успели.

У GWT есть одна существенная особенность - это уже полноценный клиент с RPC получается, в отличии от простого Web-приложения. А трёхзвенку таки сложнее программировать чем двухзвенку...

30. arsa, 12.08.2009 18:38
Hedin
да, конечно сложнее. но есть несколько упрощающих решений, от asp.net ajax (в смысле классов оборачивающих ajax веб сервисы, уверен что для java тоже есть что то похожее), до Ext.Direct http://extjs.com/products/extjs/direct.php

но конечно контракт (веб сервис) всё равно приходится описывать - в базу грязными руками никто не пустит

31. Hedin, 12.08.2009 19:22
arsa
до Ext.Direct

Да сам обмен - это ерунда, я уже gwt-rpc exporter под spring на сервере прикрутил. В двузвенке всё-таки удобно пользоваться долгоживущими сессиями JPA/Hibernate. А в 3-хзвенке: сессия на запрос, заморочки с DTO и т.д. и т.п...

Я на прошлой работе хлебнул 3-хзвенки полной ложкой, так было хорошо о ней на время забыть, теперь вот опять вспоминать придётся...

32. arsa, 12.08.2009 19:44
Hedin
я делал реально хорошо работающий ext->asp.net ajax wrapper->asp.net web service-> OR/M -> sql
OR/M можно менять, хоть hibernate хоть что. но в общем конечно акцент в работе с обьектами был на клиенте - на сервере (если нужно) только проверка доступа пользователя к изменениям некоторых полей обьекта (что конечно тоже геморой, но без этого никуда).

в частности OR/M который я использовал имел фичу генерации asp.net веб сервисов использующих классы сделанные тем же OR/M-ом - это сильно упрощало расширение системы, то есть буквально создавая новую таблицу в базе я получал новый JS класс на клиенте (по выше описанной цепочке).

собственно я довольно много времени провёл подбирая такую цепочку в которой у меня получится RAD решение (за исключением самого UI - тут к сожалению для JS мало чего хорошего пока есть, хотя под Ext есть визуальный разработчик форм уже)

33. Konstantin Mironovich, 12.08.2009 22:48
100пудов автор ИДЕОЛОГИЧЕСКИ замышляет что-то типа AJAX.
правильные идеи витают в воздухе и приходят не в одну голову.. рано или поздно..

Добавление от 12.08.2009 22:52:

помогу-ка автору припасть к идеологическим истокам (http://www.adaptivepath.com/ideas/essays/archives/000385.php)

34. Hedin, 12.08.2009 23:42
Konstantin Mironovich
100пудов автор ИДЕОЛОГИЧЕСКИ замышляет что-то типа AJAX.

Есть такой вариант, "AJAX для бедных" (на базе iframe (http://ajaxpatterns.org/IFrame_Call) ), наверное что-то типа этого.

рано или поздно..

Ну как-то уж совсем поздновато получается.

35. dozen, 13.08.2009 07:47
Hedin
это уже полноценный клиент с RPC получается, в отличии от простого Web-приложения. А трёхзвенку таки сложнее программировать чем двухзвенку...

Мне это больше нравится. Вместо кучи мусора в JSP и сервлетах, где перепутан UI, бизнес-логика и доступ к базе, разделение образуется само собой -- под client.* -- UI, под server.* -- RPC-сервлеты, под business.* -- логика.... короче, есть в этом определенный цинус.

В двузвенке всё-таки удобно пользоваться долгоживущими сессиями JPA/Hibernate. А в 3-хзвенке: сессия на запрос, заморочки с DTO и т.д. и т.п...

Не понял? А кто мешает использовать "долгоживущую сессию" под RPC? Куку-то все равно браузер передает, так что HTTP-session поддерживается. Или я чего-то не понял в трудностях?

Правда, я лично "долгоживущие" не использую. Во избежание перерасхода ресурсов и для актуальности кэша.

Konstantin Mironovich
рано или поздно..



Hedin

Ну как-то уж совсем поздновато получается.

Да ладно, у него темп жизни такой. С timezone offset в 5 лет. Пора привыкнуть.

36. Hedin, 13.08.2009 09:32
dozen
А кто мешает использовать "долгоживущую сессию" под RPC?

Мешает само наличие RPC, в частности использование DTO. С ними уже как-то пофиг время жизни сессии. А если без DTO (с detached объектами), то всё равно радости немного, да и на клиенте их не очень хорошо использовать.

Главная беда - это строительство полноценного CRUD для сложносвязанных объектов. Длинные сессии интересны не сами по себе, а простотой программирования редактирования объектов в несколько шагов/экранов. Я не говорю, что это в 3-хзвенке невозможно, но жизнь RPC таки отравляет.

37. Vladimir Rybinkin, 13.08.2009 11:03
О, Господи! Ну, ладно - разговор, вижу, идет - почитаем на досуге. Последние наработки:

Product
Персональная страница объекта класса Product. Заголовок (ProductName) - ссылка на группу Products. Выводимые данные: Category (CategoryName, ссылка), QuantityPerUnit, UnitPrice. 3 таблицы детей.
Формат 1-й таблицы: Supplier (CompanyName/CityName/CountryName, ссылка).
Формат 2-й таблицы: Customer (CompanyName/CityName/CountryName, ссылка).
Формат 3-й таблицы: OrderID (ссылка), Customer (CompanyName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся), Quantity, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum.

Category
Персональная страница объекта класса Category. Заголовок (CategoryName) - ссылка на группу Categories. Выводимые данные: Description. 3 таблицы детей.
Формат 1-й таблицы: Product (ProductName, ссылка, фильтр), Supplier (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 2-й таблицы: Product (ProductName, ссылка, фильтр), Customer (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 3-й таблицы: OrderID (ссылка), Product (ProductName, ссылка, фильтр), Customer (CompanyName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся), Quantity, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum.

Company
Персональная страница объекта класса Company. Заголовок (CompanyName) - ссылка на группу Companyies. Выводимые данные: Address (City, Country - ссылки), Phone, Fax, ContactName (FirstName+LastName, ссылка). 3 таблицы детей.
Формат 1-й таблицы: Product (ProductName, ссылка, фильтр), Supplier (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 2-й таблицы: Product (ProductName, ссылка, фильтр), Customer (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 3-й таблицы: OrderID (ссылка), Product (ProductName, ссылка, фильтр), Customer (CompanyName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся), Quantity, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum.

City, Country - по формату Company, но окружение из своего "круга".

Так, хватит "теории" - надо же посмотреть, что получится - наверняка многое поменяется. Ах, да - линки... Ну уж это я описывать не буду, скажу только, что число ребер (в графовом представлении) уже не минимально необходимое (как в прошлом тесте), а может быть избыточным (для скорости доступа). Виртуальные ребра (через промежуточные узлы) с той же целью могут заменяться реальными. Короче, собираем БД уже для представления на странице.

Не, чо-то страшновато... Соберем лучше в минимальной конфигурации, а потом добавим по мере необходимости. Собрал, имеем: классов - 21, узлов - 1644, ребер - 4834, байт - 59510. Теперь перенесем все это дело на страницу... Так, в чем дело?! Ну и чем тебе эти 4 сотрудника не нравятся? А, вона что - у них кавычки внутре... ну, это мы враз... так, сожрала. Теперь начнем потихоньку открывать выдачу (и инициализировать классы). Начиная с морды. О, я как раз на границе 64К. Надеюсь, неприятностей по этому поводу не будет? Кстати, заведем-ка мы юзеровские классы отдельным объектом.

Так, до уровня предыдущего теста мы почти догнали (морду рисует) - перекур!

Добавление от 13.08.2009 15:24:

Всем спасибо, но... разговор-то идет, но, по-моему, не туда. Да и не очень похоже, что идет - и здесь замолчали...

dozen
Хотел было уж врезать... ну да ладно.

цитата:
То есть код страницы пишется на Java -- есть кучка классов, описывающих Layouts и элементы ввода. Затем получившийся Java-code пропускается через GWT-compiler, и тот создает идентичный Javascript-code.
То есть код страницы пишется на C (точнее, на SINT) -- там есть все, что душе угодно (мало будет - добавим). Затем получившийся exe-файл (в статике - генератор страниц, в динамике... ну, скажем, СУБД) создает необходимый Javascript-code (кому он нужен, голый-то?), вместе с необходимыми ДАННЫМИ (для генератора - из шаблонов, для СУБД - из БД. Ну и на кой хрен нужен этот кастрированный сервис GWT?

Чем хороши "AJAX-методы" - я не знаю, "интернационализация" - смешно и говорить, компоненты построения графиков - это да, это интересно. Кто строит-то - сам клиент али сервер?

arsa
цитата:
кстати есть Ext GWT - вообще супер библиотека
Ну дык... Я уже просил - слабо сделать на ней сервис для корректировки запросов к Google? Или хотя бы мой третий тест (зуб даю, минимум на порядок код вырастет, если вообще работать будет ).
цитата:
в базу грязными руками никто не пустит
Ну дык... В моем случае, по крайней мере, делай, что хошь
цитата:
это сильно упрощало расширение системы, то есть буквально создавая новую таблицу в базе я получал новый JS класс на клиенте
Какое дело КЛИЕНТУ до таблицы в БАЗЕ?! Тем более, что в моих базах, например, ваще никаких таблиц нет. Реляция есть идеологический тупик, для сложных задач не годится. А уж класс на клиенте получить...
цитата:
тут к сожалению для JS мало чего хорошего пока есть
Вот именно! Зато у самого JS много чего хорошего есть. Точнее, немного - только eval - но это не так уж и мало.

Konstantin Mironovich
цитата:
100пудов автор ИДЕОЛОГИЧЕСКИ замышляет что-то типа AJAX.
Вот уж понятия не имею. Если AJAX и в самом деле "правильная идея" - то возможно...
цитата:
помогу-ка автору припасть к идеологическим истокам
А, черт! А я в TXT качнул. Но все равно - спасибо.

Hedin
цитата:
А трёхзвенку таки сложнее программировать чем двухзвенку...
Разве? И чего там насчет RPC? Переменная толщина клиента (в терминологии этой ветки) и есть RPC. Даже лучше: P (которая R) вначале транспортируется на клиента, и затем уж она - C, C, C, C, C, C, C, ... В чем проблемы-то?
цитата:
В двузвенке всё-таки удобно пользоваться долгоживущими сессиями JPA/Hibernate. А в 3-хзвенке: сессия на запрос, заморочки с DTO и т.д. и т.п...
Ах, вона чего... Ну, дык... В моем варианте держи "сессию" хоть сутками. И безо всяких "заморочек" - получил выборку из БД "на руки", и редактируй до посинения. Затем все "оптом" - на сервер. Поди плохо?
цитата:
Есть такой вариант, "AJAX для бедных" (на базе iframe), наверное что-то типа этого.
Лана, и это качнем. Хотя... честно говоря, не вижу смысла - у меня полное ощущение, что я УЖЕ умею все, что душе угодно, а вот вы, господа, судя по постингам, как раз имеете какие-то ПРОБЛЕМЫ. Ну и?

dozen
цитата:
Куку-то все равно браузер передает, так что HTTP-session поддерживается. Или я чего-то не понял в трудностях?
Я - тоже. На хрена HTTP-session поддерживать - не понимаю. Мой подход на это дело пилюет с высокой колокольни.
цитата:
Да ладно, у него темп жизни такой.
М-д-а-а. Ну, извини - напросился все-таки...

Достопочтимый сэр! Ведь мы с тобой не первый год знакомы. Ведь у меня уж тыщу лет насчет твоей квалификации никаких загадок не осталось. И ты это ПРЕКРАСНО знаешь - одной только "малой модели" мне за глаза хватило, чтобы вынести вердикт. А это было еще при царе Горохе. С тех пор диагноз только подтверждался. Ну перед кем ты здесь подпрыгиваешь? Перед публикой? Перед теми, кто в этой ветке на тебя молился (вот приедет dozen - dozen нас рассудит)? Защитная реакция дилетанта, который косит под эксперта? Но это же глупо, мил человек! Ну сам сообрази - приходит сюда чел, который тебя вообще не знает, и читает... ну, скажем, твой первый пост в этой ветке. И какое мнение у него про тебя может сложиться? Ну, кроме: Идиот! Вот и я не знаю...

Вот скажи мне, дураку - зачем ты терминами разными бросаешься (что здесь, что в "крошке")? Чтобы продемонстрировать, что ты знаешь, как они пишутся? Или что ты ветку не удосужился прочесть? Или ты полагаешь, что здесь народ собирается глупее тебя? Трудно поверить: скажем, насчет "палитр" я несколько раз все объяснял открытым текстом. Ладно, специально для тебя - повторю, разжую, и в рот положу: палитра есть наиболее простой и наглядный способ ОТЛАДКИ ИНСТРУМЕНТАРИЯ. Сразу видно, работает ли, и так ли, как хотелось. Отлаживал же я управление стеками, динамический вызов методов, перезапись кадров, шаблоны и прочую хрень. Доступно? Я, в принципе, понимаю - тебе это сложно, тебе нужно увидеть знакомое слово, и бежать "штанишки описывать". Но ведь это же только ТВОИ проблемы, дорогой!

И стиль твой для незнакомых... Можно подумать, что ты очень озлоблен на меня за что-то, что мы с тобой враги кровные... Дыши глубже - я к тебе давно уже хорошо отношусь. И, кстати, про "результаты" - ну не позорься, а? Я много раз выкладывал и тексты, и экзешники, а в этой ветке все даже и в одном флаконе. И в трех экземплярах. И четвертый готовится. И процесс создания описан - я все это писал и описывал одновременно - прямо в процессе жизни ветки. Ну какого еще рожна тебе нужно, чтобы понял, о чем речь?! Ведь даже броузер все прекрасно понимает. По крайней мере, мой - простенький, без наворотов. Ты же, со всеми твоими "CSS, AJAX и подшивками журнала Хакер" никакого "результата" дать не способен. Я давно это знаю. Ты - тоже. Хочешь, чтобы и другие узнали?

38. dozen, 13.08.2009 17:56
Vladimir Rybinkin
Ну и на кой хрен нужен этот кастрированный сервис GWT?

Твоя вечная проблема, дядвов, в том, что ты априори считаешь всех остальных тупицами, а их работу -- глупостью, недостойной изучения. В результате ты постоянно изобретаешь велосипед, но кривой и примитивный, потому что по всем тем граблям тебе приходится бегать заново -- и одному.

Посему твои потуги и вызывают саркастическую усмешку.

P.S. Про палитру уржался еще больше! Какой матёрый петросянище!

39. lvqcl, 13.08.2009 21:30
Vladimir Rybinkin
Перед теми, кто в этой ветке на тебя молился (вот приедет dozen - dozen нас рассудит)?
Это Вы про меня? ( Заставить работать машину клиента!, #7 (http://forum.ixbt.com/topic.cgi?id=26:39751:7#7) ) Боюсь, Вы не совсем правильно меня поняли. Я просто хотел moar lulz.

dozen
Твоя вечная проблема, дядвов,
Думаю, что для его экологической ниши (whatever it is) это не проблема, а просто... особенность.

40. dozen, 14.08.2009 07:45
lvqcl
Думаю, что для его экологической ниши (whatever it is) это не проблема, а просто... особенность.

Даже экологическая ниша "собиратель огрызков на помойке" требует уважения к чужому опыту -- иначе не отсеять заведомо вредные огрызки.

А ВР -- это просто ходячий синдром Not Invented Here. Как он существует в мире, где надо кушать испеченный другими хлеб, пить надоенное другими молоко, жить в построенных другими домах, и ездить в собранных другими машинами -- я не представляю. У него же должны постоянно чесаться руки испечь хлеб самому (изготовить плуг, вспахать, посеять, всборонить, поливать, пожать, отмолотить, перемолоть, испечь), надоить (начиная с зачатия будущей бурёнки -- всё сам, всё сам!), построить дом (надеюсь, живет один и в 3-х радиусах падения его дома от прочих построек), собрать копейку из самостоятельно нарезанных гаек и болтов... его знаменитую 386-у он тоже, наверное, сам собрал, аккуратно впаивая самолично вырезанные на глаз из цельного куска кремния микросхемы.

Да он Демиург! Теперь вот AJAX созидает... так что на наших глазах, можно сказать, рождается параллельная вселенная. Втыкайте!

41. Vladimir Rybinkin, 14.08.2009 10:14
dozen
Ну... я ничего другого и не ожидал. Врать не надо. Впрочем... я все сказал уже.

lvqcl
цитата:
Боюсь, Вы не совсем правильно меня поняли
Не бойтесь - правильно. С Вами мы ведь тоже не первый раз видимся?

По ранее даденнім ссылкам:

Hedin
Ну и чо там "для бедных", кроме трогательной "Goal Story"? visibility : hidden? Или "We're using the frame as a data repository" - я об том и талдычу. Да еще "but as an experimental demo shows... On the server, we're..." О! extractIFrameBody($("iFrame")).innerHTML - это я для ВРАЖЬИХ страниц планировал использовать. А они, значицца, для собственных?! Another approach ... calls a function defined in the parent - слава те! Unfortunately, this approach creates substantial coupling between the server and browser. ( ) That's possible because all behaviour was encapsulated in the onload() function. Не, даже лень читать - это явно не "для бедных", а "для глупых". Полный бред! Ух ты! Google Maps, perhaps the most famous Ajax application. Ясненько... у топку.

Konstantin Mironovich
Посмотрим все же на "идеологические истоки". Хотя рекламу им дали в прошлом источнике...

A New Approach - прям так сразу? Я что-то не понял, народ здесь тоже хочет сказать, что старый "Approach" никуда не годится?

Now look at Google Maps - да что они, помешались все на этих мапах?! Гуглю не хило бы вначале свой ПОИСКОВЫЙ сервис по-нормальному сделать...

with no waiting for pages to reload - Упс! Это ВОТ ЭТО ВОТ они рекламируют?! Неужто и в самом деле профессионалы клиентом не занимались?! Я-то, грешным делом, думал, что это "ясно даже и ежу", а это, оказывается, "new approach to web applications"... Asynchronous JavaScript + XML, стало быть, - и будет табе щастье... Однако!

Ajax isn't a technology. It's really several technologies - вах-вах-вах!

Figure 1: ну да, именно про это я и говорю. Это я Ajax изобрел, что ли?! Сверхновый подход?! Ой, уписаюсь!

Секундочку! А какого хрена processing только... А чем, собссно, Ajax engine занимается?! А, понял: это я БУДУЩИЙ Ajax изобрел - не доперли исчо товарисчи и processing ему впендюрить...

Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine - written in JavaScript and usually tucked away in a hidden frame. Ну, блин, ну один в один! Токо у меня наглости не хватило обозвать это "engine", и уж тем более "really several technologies". И в качестве "hidden frame" у меня используется сам frameset - чего еще надо? Да, кстати - ихто там в начале ветки вякал, что "фреймы в современных браузерах не нужны"?!

Не, я просто отказываюсь понимать! Еще где-то в 2002 (или даже раньше) мои орелики, Антон и даже Олег, для системы документооборота (и не только) занимались ровно тем же самым, чем и пресловутый AJAX - асинхронным обменом (и не только). И вы мне хотите вдолбить, что все остальное человечество до сих пор освоило лишь половину этой технологии?! Побойтесь Бога, господа! Konstantin Mironovich, откройте уж ДО КОНЦА глаза, а то у меня просто крыша едет. И при этом какой-то там dozen еще смеет меня учить?! Да я ради такой хрени и ветку бы не завел - у меня задачи посерьезнее.

Every user action that normally would generate an HTTP request... Во-во! Задолбали ручонки шаловливые броузера! Чуть расслабишься - реквестится, скотина!

takes the form of a JavaScript call to the Ajax engine instead - именно так.

Ajax is an important development for Web applications - ну хто бы мог подумать!

and its importance is only going to grow - охренеть!

following Google's lead ( )

we've received an enormous amount of correspondence from readers with questions about Ajax - я и обращался к простым юзерам - хоть те-то должны понимать проблему!

Ajax isn't something you can download - и это, блин, не ежу понятно, оказывается...

Детский сад! Детский сад!! И эти придурки даже еще и не знают толком, что делать с этим "complex JavaScript code on the client" (!!!) Because this is a relatively new approach, our understanding... ( )

Ну Мироныч, ну удружил! У меня до сих пор челюсть на место не встала... Хотел было заняться тестом, но где уж там - вырубил ты меня напрочь. 100пудов - браво! Токо повторяю: ради одного сраного AJAX я бы и ветку не завел. Тема ветки (в новой терминологии ) - как раз евойный processing.

Не, попробую все-таки хоть идеологию теста набросать - сложновато там что-то получается. Это вам не AJAX несчастный, господа!

Итак, имеем: данные - полученная от БД выборка, она же субграф (связей между элементами - до мамы), она же локальная БД (юзеру - не отличить, за энто дело отвечает APS - Ajax Processing Software ). Элементы - разнородные. В графовой терминологии - узлы (возможно, сложные - т.е. структуры), в реляционной - кортежи (или поля, или отношения, или столбцы - какой элемент). Ребра (точнее, дуги) лежат прямо в элементе (сложные ребра пока не трогаем). Доступ к элементам - по ЛОКАЛЬНЫМ идентификаторам. В принципе, должны бы храниться и глобальные (идентификаторы самой БД), но редактировать я пока что (в этом тесте) не хочу - так что не нужны. Связи между элементами, ессно, тоже локальные.

Хранение элементов на странице - в одной куче (массиве строк), тогда ID элемента есть просто индекс в этом массиве. Классы... ну ладно, для простоты - в ДРУГОМ массиве (метаданных). Там - описание элементов класса: имена атрибутов, типы данных (число, строка, ссылка), возможно - методы... "и все, что понадобится впредь".

Имя класса (то есть опять же индекс в массиве метаданных) - в самом элементе (чтобы понять, что за зверюга). Допускаются множественные значения атрибутов (субполя - с 1НФ пущай негры работают), а также служебные (внеклассовые) поля - например, LINKS (если лень распихивать ссылки по атрибутам).

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

Ну вот так где-то приблизительно. Остальное бум смотреть "по месту". Тем более, соображать что-то после нокаутирующего удара от AJAX...

P.S.
ivanhoe
(если он меня слышит - стыдно стало гадить в ту ветку)
цитата:
Посмотрите в исходный текст своей ветки.
Я и говорю: JS вообще никто толком не использует.
цитата:
eval уже много лет не является приличной конструкцией.
А позволительно ли будет узнать - почему?
цитата:
Причин его не использовать может быть масса:
Если не считать таинственного "и пр.", все претензии к JS, но не к eval. Что же касается экзотического "и такое бывает" (ИМХО, бред), то и здесь лично я не вижу никаких "очевидных причин".
цитата:
Очевидно в пользу Haskell
Кому?
цитата:
в котором eval использовать не принято
Я же русским языком сказал: А если в том, в чью пользу, не использовать то, что ТАМ принято?
цитата:
Это все относится к типизации и это только майнстрим.
Упс! К типизации?! Полиморфизм?! А как насчет type var образца JS? Во типизация-то, во полиморфизм! Мож, вначале договоримся о терминах? К тому же, Вы описали какие-то неустаканившиеся телодвижения, "непонятно зачем, неизвестно на кой", да еще в майнстрим! Не кажется ли Вам, что говорить о типизации... по крайней мере, несколько преждевременно?
цитата:
Объясните мне что такое классы типов на примере JavaScript.
Я уж когда-то бодался... Наскоко я помню, в Вашем же присутствии. И с большим удовольствием врезал: "Не фиг мне говорить, что я не знаю... вы их не знаете сами". Так что вначале объясните мне, плиз, что есть "классы", что есть "типы", что есть "классы типов" безотносительно к JavaScript. А уж затем... Кстати, повторяю вопрос: Какие проблемы-то?

42. Chippy2003, 14.08.2009 10:30
Vladimir Rybinkin
В моем варианте держи "сессию" хоть сутками. И безо всяких "заморочек" - получил выборку из БД "на руки", и редактируй до посинения. Затем все "оптом" - на сервер. Поди плохо?
гениально
но сервер принимающий опт ведь уже готов и успешно протестирован на сотне concurrent клиентов, правда же ?

43. evilbloodydemon, 14.08.2009 10:59
Vladimir Rybinkin

а можно про вашу концепцию прорыва в будущее почитать, скажем, в десяти словах, а не в десяти томах?

44. dozen, 14.08.2009 17:14
Vladimir Rybinkin
В графовой терминологии - узлы

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

Гуглю не хило бы вначале свой ПОИСКОВЫЙ сервис по-нормальному сделать...

... сказал ВР, у которого каталогизатор ставил (и до сих пор ставит) вместе "катер" и "Екатеринбург" -- да-да, он же сделан по-нормальному, через SUBSTRING.

45. Konstantin Mironovich, 14.08.2009 21:59
Vladimir Rybinkin
ради одного сраного AJAX я бы и ветку не завел.

не помогло..


автор, как всегда, извернулся, "уточнив проблематику".
fuzzy logic в действии..

46. dozen, 15.08.2009 01:05
Vladimir Rybinkin
К сообщению приложены файлы: 1.rar

Решил один раз увидеть, чтобы уши вконец не завяли. Не работает. Почему? А ругается на то, что eval() неправильно зовешь:


Error: function eval must be called directly, and not by way of a function of another name
Source File: file:///C:/TEMP/VR-JS/b.j
Line: 1

Firefox 3.5.2

Ах, да! Для тебя же не новость, что сейчас следует поддерживать как минимум IE, Firefox, Opera, Safari и Chrome? И что между ними есть определенные различия? И что библиотеки, подобные GWT или ExtJS браузер детектят и прикладывают воркэранды, чтобы они вели себя более-менее одинаково?

47. Chippy2003, 15.08.2009 01:46
Hedin
gwt-ext выглядит вроде не хуже, и под LGPL.
Там засада. GWT-Ext это всего-лишь wrapper над обычным Ext JS, а последний Ext JS под LGPL - 2.02

В общем с Ext мутно, ничего лучше вроде как нет, при этом это лучшее - весьма знатный глюкодром, ну и авторы жадные, как дети .

48. ivanhoe, 15.08.2009 02:47

Надо сказать, темы (и сообщения) Владимира здорово оживляют данную конференцию. :)


Vladimir Rybinkin

цитата:
А позволительно ли будет узнать - почему?
Потому что уже много лет существует, например, метапрограммирование. Собственно, eval это тоже в некоем роде метапрограммирование, в предельно грубом из всех возможных видов. Соответственно, требующее очень большой аккуратности при использовании, сравнимом с аккуратностью с работой с указателями. Как и указатели, eval не дает никаких преимуществ по сравнению с более прогрессивными конструкциями, но требует, повторюсь, нечеловеческой аккуратности, которой не обладает никто и код получается плохой, ненадежный, дырявый, ... неприличный в общем.

цитата:
Если не считать таинственного "и пр.", все претензии к JS, но не к eval. Что же касается экзотического "и такое бывает" (ИМХО, бред), то и здесь лично я не вижу никаких "очевидных причин".
Думаю что server-side javascript явление не такое уж и экзотическое (т.к. входит в значительную часть серверов приложений для Java) и апологеты Java (например, dozen) могут привести массу примеров где оно используется. "Очевидная причина" такая: если дать пользователю возможность исполнять собственный код на сервере, то он сможет сделать с этим сервером все что угодно и это плохо по определению, т.к. могут найтись (и находятся) злоумышленники, которые, например, взломают сервер и будут рассылать через него спам.

цитата:
Кому?
Думаю любому, кто хотя бы видел примеры интерпретаторов и на том и на другом. По компактности кода haskell проигрывает разве что какому-нибудь K (http://en.wikipedia.org/wiki/K_(programming_language)) или иному потомку APL (при этом код на APL-подобных языках совершенно нечитаемый, в отличии от).

цитата:

Я же русским языком сказал: А если в том, в чью пользу, не использовать то, что ТАМ принято?
А ТАМ ничего не принято, кто как хочет, тот так и пишет. Из более-менее стандартного есть штук пять генераторов парсеров и примерно столько же комбинаторных библиотек. Если писать вообще полностью свое собственное, то вполне функциональная библиотека комбинаторов для парсинга на Haskell пишется за полчаса и занимает 15-20 не слишком длинных строчек. Могу свою показать, писал много лет назад в учебных целях.

цитата:

Упс! К типизации?! Полиморфизм?! А как насчет type var образца JS? Во типизация-то, во полиморфизм! Мож, вначале договоримся о терминах?
Владимир, Вы, однако, проспали и все уже обо всем договорились. Во-первых в JS типизация динамическая, причем образца 70-х готов 20-го века. Если учить ребенка современным веяниям в динамической типизации, то его надо учить perl и Moose. Во-вторых основное развитие по части типизации сейчас происходит в типизации статической, когда максимум возможного контроля делается в период компиляции, а не во время исполнения, как в динамических языках. И учить этим вещам на примере динамических языков можно только одним способом: реализовать на JavaScript статически типизированный язык и уже на примере этого языка показывать что такое типизация, настоящая и развивающаяся. Остается вопрос: не слишком ли это будет сложно и зачем тогда вообще нужен JavaScript?

цитата:
К тому же, Вы описали какие-то неустаканившиеся телодвижения, "непонятно зачем, неизвестно на кой", да еще в майнстрим!
Кроме концептов (которые, кстати, очень похожи на классы типов из Haskell) все упомянутое в моем постинге уже устаканилось.

цитата:
Кстати, повторяю вопрос: Какие проблемы-то?
Ну как-то странно вот так ставить такой вопрос не имея представления о предмете.

Ссылки для вхождения "в тему":
* классы типов и ad-hoc (параметрический) полиморфизм http://en.wikipedia.org/wiki/Type_class
* полиморфизм вообще http://en.wikipedia.org/wiki/Polymorphism_(computer_science)
* типизация http://en.wikipedia.org/wiki/Static_typing

P.S. Неужели Вы теперь используете СУБД?!?

P.P.S. Не советую экспериментировать с гуглом. У меня один коллега (большой фанат гугла) доэскпериментировался, гугл напрочь забанил его домашний IP.

49. dozen, 15.08.2009 05:50
ivanhoe
Думаю что server-side javascript явление не такое уж и экзотическое

Вполне не экзотическое. Когда народ пишет софт, который деплоится у разных заказчиков, и код надо кастомизировать под каждого (включая и поведение, а не только вид) -- вот тогда динамические языки и прикручивают. Но Javascript не особо популярен, IMHO, больше всякие Groovy.

Хотя где-то видел систему, где кусочки кода могли исполняться как на клиенте (браузер), так и на сервере -- по настройкам. Кусочки были, разумеется, написаны на JS по такому случаю.

Добавление от 15.08.2009 05:52:

ivanhoe
Неужели Вы теперь используете СУБД?!?

Точный вопрос -- ".... RDBMS?". Его сетевые монстрики -- тоже СУБД ведь.... а куда он денется? Когда уже бесплатные базы типа Postgres достигли уровня качества и производительности, которые раньше были доступны только на большом железе -- кому надо нафиг мучаться с сетевой моделью?

Добавление от 15.08.2009 05:55:

Chippy2003
ну и авторы жадные, как дети

Ну что значит -- жадные? у них, наверное, семьи и дети есть. Не хочешь платить -- девелопь то же самое сам. Думай, что получится дороже...

50. ivanhoe, 15.08.2009 07:57
dozen

цитата:
Его сетевые монстрики -- тоже СУБД ведь...
Скорее просто БД (без СУ), т.к. СУ подразумевает все-таки некую отчуждаемость от конкретно-написанной БД.

цитата:
Когда уже бесплатные базы типа Postgres достигли уровня качества и производительности, которые раньше были доступны только на большом железе -- кому надо нафиг мучаться с сетевой моделью?
Ну где-то (говорят) в параллельной вселенной живет компания IBM и ее Кастомеры. В этой вселенной есть Майнфреймы, Сетевые DBMS и Программисты, пишущие миллиарднострочные Проекты на самом Серьезном Языке Программирования (COBOL). Там же существует много других технологий инопланетного разума, недоступных пониманию нормального человека (SNA-сети, терминалы 3270 и пр.)

Но Владимир конкретно упомянул MS Access и базу данных "Борей". Прям ностальгия накатила, я ведь "Бореем" тоже вдохновлялся N лет назад и даже использовал в MS Access качестве фронтенда к PostgreSQL/*nix.

P.S. А вообще с нереляционками активно мучаются сильнораспределенные товарищи (google, facebook и пр.), см. например, http://blog.oskarsson.nu/2009/06/nosql-debrief.html Правда (т.к. не силен в теории нереляционок) не знаю как называются ихние модели, ассоциативные м.б?

51. arsa, 15.08.2009 17:47
ivanhoe
eventual consistency

52. Chippy2003, 15.08.2009 20:43
dozen
Не хочешь платить -- девелопь то же самое сам.
Откуда уверенность, что если заплатить - не будешь девелопить тоже самое ?
Ext не относится к числу библиотек, которые взял и они заработали как есть. Рано или поздно большинство их классов так или иначе обрастают наследниками/хаками. И тут уж вопрос что лучше, основываться на стабильной LGPL 2.0.2 или на нестабильной Commercial 3.x которая ничего особо нового и не принесла.

ЗЫ: как дети, этот попытка запрета использовать 2.0.2 по причине появления классной новой и GPL/комерческой 2.1 или 2.2.
Представь, что springsource сейчас объявит: так ребятки, Spring 3.0 стоит теперь 10К$ per CPU, а 2.x мы вообще удаляем с сайта и его нельзя использовать, так как теперь есть супер-пупер 3.х

53. ivanhoe, 15.08.2009 22:51
arsa

Я имею в виду модель данных, а не модель целостности. Не уверен, впрочем, что у нее вообще есть какое-то название.

54. arsa, 16.08.2009 02:21
ivanhoe
ну понятно что почти все они хранят просто key-value, кстати недавно читал что реализовали postgres поверх hardoop (гибриз точнее)
http://dbmsmusings.blogspot.com/2009/07/announcing-r…oopdb-longer.html

55. dozen, 16.08.2009 08:38
ivanhoe
Правда (т.к. не силен в теории нереляционок) не знаю как называются ихние модели, ассоциативные м.б?

Хрен знает, только для типового энтерпрайза они не подойдут IMHO. Они хороши, когда связанные данные легко можно сфедерировать (слово кривое) вместе. Сложные аггрегатные репорты по этим их бигтэйблам как гнать -- я не знаю (то есть в теории конечно map reduce ихний помочь должен, но теория с практикой обычно расходится). С другой стороны... данные аккаунта какого-нибудь в банке хранить вместе на одном хосте -- и доступ быстрый будет... аггрегаты все равно вычислять геморно, зато горизонтально масштабируется -- ну чистый гугль! Но кто ж тогда проценты от продажи тяжелого железа получаться будет, да откаты с них, а?

Chippy2003
Откуда уверенность, что если заплатить - не будешь девелопить тоже самое ?

Нет уверенности -- не плати. Делай своё. В жадности-то зачем обвинять? А то пользоваться хочу, а платить -- "оне жадные!". Кто тут жадничает еще, а?

Ext не относится к числу библиотек, которые взял и они заработали как есть. Рано или поздно большинство их классов так или иначе обрастают наследниками/хаками.

Так происходит с любой (ЛЮБОЙ) широкоиспользуемой либой. Ожидать обратного -- несколько простовато, не?

Представь, что springsource сейчас объявит: так ребятки, Spring 3.0 стоит теперь 10К$ per CPU, а 2.x мы вообще удаляем с сайта и его нельзя использовать, так как теперь есть супер-пупер 3.х

Я всё жду, когда до них допрет, что так и надо сделать. Про "нельзя использовать" -- это ты загнул, лицензия обратной силы не имеет, но вот "убрать с сайта" -- имеют полное право, ибо САЙТ ИХ. Жадные? Обзаведись мортгажем с variable rate, потом суди.

Вообще вся их бизнес-модель -- на данный момент глупость. Продажа поддержки -- это продажа себя по часам, а часов в сутках ограниченное число. Итого их бизнес имеет естественные ограничения на рост. Выпуск коммерческих лицензий типа Enterprise позволил бы масштабировать бизнес кратно ("они спят, бизнес идет"). Они начинают туда двигаться, отсюда и появление всяких tc Server да dm Server, но (IMHO) это несколько не то (к тому же они их бесплатно раздают). Это (особохитрожопые сервера) ниша JBoss, и если вдруг SpringSource нароет что-то полезное в этих tc/dm, то оно появится в следующем JBoss как пить дать. Им (SpringSource) нужно именно лицензировать Spring. Включив в Enterprise версию определенные важные фичи, которых не будет в Community version. Тулсы продавать как Spring Workshop за $1000 за место.

Или парни так и должны пожизненно на телефонах сидеть, консультировать тупых кодеров, и на конференциях выступать? Незавидная доля для тех, кто считай в одиночку поднял алтернативную к JavaEE модель (и во многом повлиял на изменения в ней).

56. Vladimir Rybinkin, 17.08.2009 09:37
О, активность, вроде, есть. Я, правда, догадываюсь, О ЧЕМ она... Только один хрен - ни отвечать, ни даже читать сил нет. Даю последний "отчет о проделанной работе". Тяжеловат получился для одного поста, но что же делать - знать, работал много! Начат в пятницу хто ж начинает-то в пятницу!, закончен - вчера.

Так, отдышались, отсмеялись - "за работу, товарищи"!

Самые простой тип данных у нас - одно информационное поле, вообще без исходящих дуг (на них - ссылаются). Это: должности, скидки и... как-то по-дурацки они там называются... короче - обращение (Dr, Mr, Mrs, Ms). Класса им, стало быть, не положено (класс по умолчанию - DEFAULT). К этому же классу можно было бы отнести и однопольные элементы с обезличенными ссылками, но таких у нас в базе и нет - "групповуха" (Cities, Companies, ...) имеет персональные страницы. Значит, этим элементам положен личный шаблон, а объединяются они в класс SIMPLE, который все, кроме шаблона наследует от DEFAULT.

Далее: все остальные классы представляют структуры из информационных и ссылочных полей. Стало быть, в классе описываются они... да точно так же! Имя класса (или NULL), имя шаблона (или NULL - признак наличия персональной страницы у объектов класса), обезличенные ссылки на родителей (или NULL), на детей (или NULL), и для каждого поля: имя атрибута (или NULL), тип данных (точнее, тег: ссылка, фильтр, число, строка или NULL - голая строка по умолчанию)... Усе! Не так уж и сложно, оказывается. Таким образом, получается вообще универсальная структура для всех элементов - крррысота! А, сорри - методы ж еще... Ладно, доберемся - посмотрим, что с ними делать...

Шаблончики, стало быть, есть отдельная группа метаданных, на которую имеется (если она вообще имеется) ссылка из класса или даже из самого объекта. Нормально. Генерацию морды, конечно, придется переписать, но это быстро.

Так, с групповухой разобрались: пока два класса и 9 шаблонов, но это на всякий случай - думаю, шаблонов будет заметно меньше. Теперь перепишем генерацию страницы. Обработку ошибок делать не будем - мы же супер-пупер-программисты! Или как там dozen говорит?

Так, а чего это я дурью маюсь? Классы же у нас вполне себе объекты, и инициализировать их можно сразу по onLoad... Ха! Так ведь и элементы тоже "вполне себе объекты"! Стало быть, транспортируемые данные должны передаваться в подлежащий "расстрелу" кадр инициализации... прилепим пока к b.j - лень думать. Впрочем, чего уж там - ясный пень, отдельный поток данных... Говорил же раньше, что по нормальному надо данные на морду отправлять в динамике. Интересно, а крыша у JS от такой наглости не слетит? Парочка массивов разнородных объектов - это тебе не хухры-мухры! Впрочем... почему разнородных? Пущай на данном этапе однородными побудут. Да уж, четвертый тест СЕРЬЕЗНО от третьего отличается...

Оказалось, что двухпоточная технология часто неудобна: не в смысле двух потоков, а в том, что оба они одинаковые (очереди методов). Удобнее же иногда поток данных иметь чисто пассивным, без методов. И вызов локальных функций отсутствует (в смысле, из очереди). Но это как-нить на досуге - не весь же SINT сразу сюда совать...

Как же задолбал он своей тупой "универсальной" диагностикой Предполагается наличие объекта, строка 1, знак 1! Отладчик, панимашь! Уже все заглушил... Ах, вот оно что! Ох уж это Шарик! Помощничек...

Надо же! А вот инициализация на удивление легко прошла, с первого тыка - ни фига не видать исходных массивов. А вот массивы объектов появились, и в них... все путем! Интересно, эти друзья хотя бы инициализирующий софт затирают? Или так и висит? Вряд ли - наверняка бы похвастались. А может, его у них вообще нет? Не исключено... А, ну да - откуда ж ему взяться? У них же дыра в идеологии: они ж свою engine динамически ни пополнять, ни модифицировать даже и не планируют - что закачали, то и жуй. О пользователе хоть бы подумали - это ж ЕГО игрушка ("ручная" настройка текущего состава этого самого engine - это же кайф!). Если кто помнит, я ваще с разных сайтов предлагал его компоновать, а здесь даже ни звука. Эх, бедолаги! Видать, денег там платят много - вот и ломанулась всякая шушера. Впрочем, у меня сильные подозрения, что это все писали вообще не программисты, а манагеры (что, в общем-то, разумно).

Ну, что же - теперь "отложенная" процедура генерации страниц... работает, сучара! Правда, пока по "универсальному шаблону", но у меня и база пока лишь из групповухи состоит. Пополним... Токо вот по-прежнему ссылку от обычного текста не отличить. Эй, dozen, колись - чего ты там насчет CSS пальцы-то гнул? А я пока хоть "FONT COLOR=" под ссылкой заставлю писать...

Хм... Так просто не пополнишь - шутки кончились. Слишком уж все повязано. Следующий шаг, стало быть, вся база, все классы, все шаблоны + управление генерацией именно нужным шаблоном. И все это должно быть реализовано одновременно, поскольку одно без другого будет разве что глючить... Перекур, что ли? Не, уж очень лихо все идет - бросать жалко - просто законсервируем версию. Нет, все-таки перекур - тут ТАКОЕ начинается! Токо на свежую голову. Старость - не радость...

А мож, все-таки попробовать проинициализировать массивы РАЗНОРОДНЫХ объектов? Это все же попроще с программерской точки зрения (на первый взгляд). А с идеологической это выглядит так (в реляционной терминологии): объект - это кортеж, но из некоторых полей "растут" массивы (поле-столбец). Иногда и из тех элементов тоже чего-то выглядывает ("елочка" такая), но это экзотика. Вот, скажем, Company:
1-е поле - имя (ID) класса (Company)
2-е поле - ID родителя (Companies)
3-е поле - дети. Бр-р-р-р! Пущай-ка их пока не будет - я и сам еще не знаю, что там за детишки такие. В любом случае - массив ID (пусть и нулевой длины).
4-е поле - информационные полЯ - вот он, массивчик (или вложенный кортежик - кому как удобнее).
4.1 - Address - ссылка на объект класса Address.
4.2 - ContactName - ссылка на объект класса Person.
4.3 - CompanyName - строка: "Around the Horn".
4.4 - Phone - строка: "(171) 555-7788".
4.5 - Fax - строка: "(171) 555-6750".
Имена атрибутов, разумеется, лежат в аналогичном массиве в классе Company - это я для наглядности смешал все в кучу. Информационые поля тоже могут быть массивами (скажем, несколько телефонов). Вот такая вот "жуть". Ажно страшно программировать . Это, конечно, не SINT, и даже не Синдбад, но...

Я был тогда куда моложе,
И лучше, кажется, я был,
И я умел писать. И что же?
Все это я почти забыл.

Охренеть! Работает!!! Да почти сразу (выход из бесконечного цикла забыл поставить, и еще пару чего-то похожего - считай, с первого тыка)! Ну, робяты... даже теперь не ожидал от eval такой невероятной мощи... Смотрите сами - вот, например, оператор присвоения:
код:

m.e('u.d[i].'+z.charAt(j)+'['+k+']=m.s(x,0,y++);');

Поясняю (m.e - разумеется, eval): i-му элементу (динамически создаваемому в цикле по i) массива данных d(DATA), который (массив d) есть поле глобального (т.е. расположенного на морде, т.е. в index.htm) объекта u(USER_DATA), который (i-й элемент массива d объекта u) и сам объект, у которого в цикле по j создается j-е поле с односимвольным именем, которое в настоящий момент принимает значение либо s(SON_LINKS), либо b(BODY_FIELDS), которое (j-е поле i-го элемента массива d объекта u) и само массив, в котором вот прям ща, в этом операторе, создается k-й элемент, в который помещается строка данных, которая есть вырезка из оставшейся необработанной части строки i-го элемента данных исходного массива строк (x), полученных в кадр инициализации из БД, длиной y символов. Уф! Понятно? Как там у классиков? Вот два петуха, которые будят того пастуха, который... который построил Джек.

А это вывод: строка таблицы из одного элемента (заглушка), генерируемая в цикле по детям при генерации страницы объекта u.n - это евойный ID - поле n(currentNode) объекта u(USER_DATA).
код:

m.w('<TR><TD><A onClick = "_('+u.d[u.n].s[i]+');">' + u.d[u.d[u.n].s[i]].b[0] + '</A></TD></TR>');

Поясняю (m.w - разумеется, document.write, пробелы, разумеется, не нужны - добавил, чтобы не испортить ЭТУ страницу): i-й элемент массива детей s(SON_LINKS) у u.n-го элемента ("хозяина" страницы) массива данных d(DATA) объекта u(USER_DATA) имеет право на персональную страницу (генерится ссылка на функцию генерации страницы _(), где параметром выступает ID этого элемента. А выводимым значением (по чему кликать) выводится нулевое (заглушка, сил не хватило - надо, ессно, брать из шаблона) поле массива b(BODY_FIELDS) у объекта-ребенка (того самого, чей ID параметром передается) в том же массиве d объекта u.

Ну теперь уж точно перекур! Так хто там бочку катил на eval?! Кому там что-то "очевидно в пользу Haskell"?! Я поначалу подумал - пижонство (типа goto - много раз видел: программист-то от горшка два вершка, но увидит goto, и нос воротит), но теперь я иначе думаю. Не пижонство это, а идиотизм. Решение, получаемое с помощью eval (которая, как известно, "уже много лет не является приличной конструкцией" ) настолько простое, настолько красивое и элегантное, что... в любом Haskell, в любых других языках - и прошлых, и будущих - ТАКИЕ возможности можно лишь ПОВТОРИТЬ, но никак не РАСШИРИТЬ! Так-то, Ваня.

Продолжим...

Вначале подшлифуем инициализацию. Она зависит от формата исходных данных, который зависит... сервер тоже надо пожалеть... впрочем, его главная проблема - преобразование внутренних ID базы в локальные ID страницы, а от этого никуда не уйти. К тому же, мы неплохо умеем это делать. Так что жалеть особо нечего, все внимание удобству инициализации на клиенте. А это в первую очередь - универсальность формата для разнородных данных. Что означает... Хм, ничего особо не означает: первым элементом обязательно идет ID класса, и дальнейшим алгоритмом (в т.ч. и инициализации) управляет именно он. Так что и универсальность формата почти не имеет значения. Что же, посмотрим еще раз, чо у нас творится в БД...

Наличие шаблона в данных. Вообще говоря, экзотика - только чтобы лишних классов не плодить для групповухи. Ладно, заведем соответствующий битик в классе, и тогда шаблон (при установленном бите) всегда пойдет вторым параметром. В инициализированных же объектах на странице он должен попадать в поле с фиксированным именем - скажем, t(Template).

Теперь - поля. Это, стало быть, типы данных. Их... всего-то два: строка и ссылка. Насчет фильтра я, конечно, погорячился - какое до этого дело элементу? Ну и признак: единичный элемент или массив. Никаких многомерных массивов, методов, уровней. Господи, как же все упрощается по сравнению с Синдбадом! Тогда "экспортный" формат есть массив строк, упорядоченный по их "будущим" локальным ID, а в строках в общем случае 2 типа разделителей (полей и субполей). Последовательность полей имеет некоторое значение (для повышения универсальности кода на клиенте). Скажем, "девочки - направо" (ссылки), а самые важные данные - налево (чем важнее - тем левее). Но это проблемы уже серверных шаблонов - вне темы, неинтересно.

Далее: отцы и дети. Вообще говоря, задача не из простых, ибо иерархий в общем случае может быть несколько (по разным измерениям). Не будем повторять ошибок раннего Синдбада - пусть будут обычными информационными полями (включены в общую кучу). Тогда это всего лишь частный случай (лишние 1-2 поля в элементе), и обрабатывается по общему алгоритму. Шаблон под это дело не подходит - слишком уж специальные метаданные. Нет, на фиг - уберем-ка шаблон в класс - чо нам, классов жалко, что ли? Тогда структура элемента упрощается до безобразия: класс + информационные поля (возможно, с субполями).

Или совсем уж обнаглеть? Никаких объектов, вся база - трехмерный массив (кортеж, поле, субполе), а нулевым элементом кортежа - ID класса. Данные только в субполях (код даже проще получается), адресация к любому субполю тривиальна. Как и к полю, кортежу, и даже всей базе (которых на странице теоретически может быть несколько штук одновременно, но это явная экзотика). В отличие от всяких там многомерных кубов размеры массивов переменные, так что места особо занимать не должны... работает! Ну, проще уж просто некуда. Смотрим выдачу...

Ой, какой кошмар! Ну, правильно - поля класса не соответствуют полям объекта, а про шаблоны я вообще забыл... Да, на некоторое время придется забыть про желание посмотреть на результат. Впрочем, не так уж и плохо: компании всех видов и города выводятся почти правильно, и даже свои персональные странички пытаются генерить (вообще без шаблонов). Верной дорогой идете, товарищи!

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

Ага, и потребность уже налицо: узлам групповухи детей не хватает. А детям родителей? Ну, а как же - детям плохо ведь без родителей... Получите! Ну и хватит, пожалуй, на первый раз: дети уже расплодились всех мастей и размеров, а инициализация - универсальная. Посмотрим на нее повнимательнее - дело явно к финишу. Теперь она уж совсем простая стала - даже классы не нужны: вначале всегда ID класса, затем - поля до упора (не кортеж, чай - массив!), субполя - аналогично разворачиваем в массив 2-го уровня. Более сложных конструкций нет, и в этом тесте уж точно не будет. Ха! Даже eval не понадобился - зря выпендривался. Впрочем, не зря - не всегда же так просто будет. Да и здесь пригодится - инициализацию классов и объектов объединить...

Я просто дурею от возможностей. А eval прям полюбил всей душой. А через нее - и весь JS (поначалу морщился - ни указателей, ни goto - противно)! А теперя... как вам нравится такая конструкция?
код:

for(i=1;i<m.e(z.charAt(y)+'.length');i++)

Где y определяет имя инициализируемой базы данных (т.е. можно инициализировать сразу несколько баз данных и/или метаданных в одном цикле). ФАНТАСТИЧЕСКАЯ мощь! Даже C так не умеет (по-моему). Гляньте, шнурки, которые охаивали здесь JS вообще, и JS/IE3 в частности.


О! Дождался - расплакался мой комп: "сценарий замедляет работу компьютера". Что-то он вообще утух, не выдав и тысячи кортежей. Правда, я его на страницу заставил вывести весь протокол инициализации, а это... Пхи! Всего-то 9000 строк! И в чем дело?! Чего, не отформатировать никак?! Ладно, вырубим - умаялся, сердешный! Ах, это я "утух" - даванул на "прервать сценарий". Нормально работает. И чего скулил?

Разберемся-ка до конца и с классами. Во-первых, они описывают структуру элементов, во вторых - имена атрибутов для выдачи юзеру, для организации поиска и прочей дребедени. В-третьих, они ссылаются на шаблоны выдачи, которые уже выделены в отдельную группу метаданных, что пока еще спорно. В-четвертых, они пока что не содержат, но могут содержать методы - как системные (типа контроля целостности данных), так и юзеровские. Что-то меня опять в Синдбада понесло - какие, в задницу, системные - на клиенте-то, да еще в тесте! Таким образом, функциональная нагрузка элементов класса различна, и частенько пересекается... По-видимому, нужно все-таки воспользоваться упрощенной технологией Синдбада: классы (методы, шаблоны, структуры, атрибуты, ...) суть элементы единой базы метаданных, и перевязаны между собой нужным образом. Класс же есть обычный узел этой базы (точка входа в метаданные для объектов этого класса). Следовательно, структура хранения... см. выше для данных - ничем не отличается (как и инициализация). Так и было задумано.

Теперь - какое-то подобие языка описания. Нам нужно: уметь ссылаться на кортеж, поле и субполе, на данные и метаданные, прямо, косвенно (по содержимому какого-нить параметра), и по траектории (цепочка косвенных адресаций). При этом связываться с ветвлениями, циклами, скобками и т.д. ну очень не хочется - по крайней мере, в этом тесте. Ой, мама! Так ведь если использовать разделители субполей (а что же еще?), цепочка при инициализации автоматически развернется в массив (как и косвенная адресация), и реальные данные всегда лежат в конце этого массива (для прямой адресации - в нулевом элементе). И ваще по барабану, ссылочное это поле или нет (в крайнем, случае, броузер ругнется). Что-то не верится - какая-то заоблачная универсальность... Обязательно во что-нить вляпаемся: этого не может быть потому, что не может быть никогда. А ну-ка, попробуем... во, для детей группы "города" страну вторым столбцом и прилепим.

Во зараза! Забыл, что шаблоны начинают работать сразу для всех классов... но это же для нас, моряков, пыль... радиоактивная, блин... Итак, функция получения краткой информации о ресурсе (если надо - со ссылкой) - это инструмент, между прочим!(с) Куды ее - в строку, али сразу в поток? Сразу, конечно, пока по морде не получим... Полная инфа - подождет... Нет, стоп! А как ее вообще сделать - функцией или очередью? Ладно, пока - функцией... Передается ей... Антон с Олегом в свое время порезвились - там какие-то совершенно жуткие возможности для выдачи, включая обращение к серверу с запросом на выполнение каких-то расчетов, плюс почти непрорубаемый нынче синтаксис. А, ладно - передаем ей пока что просто ID элемента - и пусть выкручивается, как знает... И ведь как выкручивается, гнида!

Ффффуууу, заработало! Рубикон пройден - по опыту знаю. Теперь информационная насыщенность страниц всех видов будет стремительно нарастать - токо успевай подсовывать классы, шаблоны, ссылки... Надо бы учет посещенных страниц наладить (для VLINK), историю посещений завести, поскольку этот идиот броузер... dozen, не ты писал? Только, боюсь, нагородил я чего-нить в этой адресации. Нужно большой перекур сделать, денька на три минимум - надоел мне и JS, и даже eval. И ваще устал.

Ну чо, комментарии будут? Или опять воды в рот наберете? Не молчите только - мне ОЧЕНЬ нужна обратная связь (хотя бы на уровне пользователей). Хоть глупости, но говорите - тема же НЕ МОЖЕТ не быть интересной! Ладно, хрен с ними, с "программистами" (которые сами ничего не умеют, кроме как надувать щеки - их "ответы" я и заранее знаю, они никогда не меняются), но хоть пользователи Интернет здесь имеются? В качестве провокации на ответы: Быть глупым или невежественным - это абсолютно нормально, господа. Вот трусом быть - это и в самом деле позорно.

57. Hedin, 17.08.2009 10:06
Vladimir Rybinkin
Ну чо, комментарии будут?

А какой смысл разговаривать с радиоприёмником?
Всё равно ведь - один хрен - ни отвечать, ни даже читать сил нет

58. dima.yegorov, 17.08.2009 10:15
Похоже на программирование ради программирования...

В Firefox 3.5 наблюдаю только надпись Loading...

В Internet Explorer 8 (XP) наблюдаю сначала предупреждение системы безопасности. Если согласиться запустить вашу поделку, наблюдаю "<script language=" и всё. Да-да - именно текстом угу.

P.S. Это Вам на уровне пользователя обратная связь. В программировании конкретно на JS я не особо силён.

59. Chippy2003, 17.08.2009 10:25
dozen
Про "нельзя использовать" -- это ты загнул, лицензия обратной силы не имеет
Именно обратная сила, и я тут не при чем.
К сожалению, логов удаленных и правленных постов Джека (автор Ext JS) у меня, конечно, нет, но лулзы были знатные

Тут в кратце, но увы чрезмерно политкорректно, без ярких цитат Джека http://www.jroller.com/sjivan/entry/my_response_to_jack_slocum

http://www.gwtsite.com/ext-gwt-gwt-ext-what-now/ здесь же показательная ссылка на ответ Джека
Им (SpringSource) нужно именно лицензировать Spring. Включив в Enterprise версию определенные важные фичи, которых не будет в Community version.
Это абсолютно нормальная схема. Схема Ext - так юзеров набрали, теперь либо пусть платят, а кто не платит идет лесом, с LGPL правда вышел облом.

60. SERGEY_BIG, 17.08.2009 10:54
Читаю я эту тему и "... таблицы и картинки пропускаю, а в пролетарскую суть вникаю..."
Конечно, разгрузка сервера БД - дело благородное, только вот то, от чего пытается разгрузить его топик-стартер, серверу - как слону дробина. Ему, бедному, нужно ведь индексацией заниматься, транзакциями там, репликацией, обработкой запросов, штатным обслуживанием данных, причём всё это одновременно и для многих пользователей.
От этого, конечно, чтение панегириков конструкции eval (ИМО, вреднейшая конструкция) не становится менее занимательным

61. moderator-Kid, 17.08.2009 15:29
[Модератор внимательно приглядывается к данной теме и надеется на вежливое и разумное поведение участников. Иначе - ой.]

62. arsa, 17.08.2009 18:30
Chippy2003
я думаю всё логично и я лично не против такой лицензии. LGPL не может нормально существовать в вебе, imho. по этой же причине был придуман AGPL.
единственное что меня смущало это реакция авторов addon-ов, но вроде они тоже успокоились

63. dozen, 17.08.2009 18:59
Chippy2003
но лулзы были знатные

Wow! Каким-то образом этот знатный скриптосрач прошел мимо меня совершенно незамеченным! Теперь понял твоё отношение, и даже его разделяю

Добавление от 17.08.2009 19:04:

arsa
я думаю всё логично

Не, не логично. Если я строю своё приложение на базе ExtJS, и расчитываю на многолетние апдейты в рамках LGPL (то есть без необходимости раскрывать свой код), то внезапная смена лицензии (которой НЕ БЫЛО в roadmap) -- это знатный удар по яйцам. Не зря там кто-то высказался -- "they fu***d us and our users".

Для меня, как коммерческого разработчика, ExtJS умер. Я не смогу советовать его заказчику, зная о возможности таких подъ%бок.

Добавление от 17.08.2009 19:09:

moderator-Kid
надеется на вежливое и разумное поведение участников. Иначе - ой.

Да ВР всё равно все игнорируют. Кто ж будет простыни читать? У нас тут сопутствующие темы пошли...

64. Chippy2003, 17.08.2009 19:57
arsa
LGPL не может нормально существовать в вебе
GPL тоже.

единственное что меня смущало это реакция авторов addon-ов, но вроде они тоже успокоились
а какие теперь могут быть аддоны ?

допустим кто-то написал компоненту под Ext, и пытается ее распространить под GPL
кому ?
Обладатели GPL версии Ext вряд ли массово существуют в природе, так как разработчики ext требуют открытия серверного(!) кода под GPL.
Обладатели же коммерческой версии Ext не смогут использовать эту компоненту, так как она под GPL.

Ext теперь вещь в себе

65. ivanhoe, 17.08.2009 20:26
Vladimir Rybinkin

Владимир, я рад что Вы открыли для себя конструкцию eval, но для приведенных примеров достаточно по-моему обычных ассоциативных массивов, которые бывают даже в C. Eval, кстати, в C/C++ тоже бывает, называется, CINT (http://en.wikipedia.org/wiki/CINT) (почти СИНТ)

цитата:
пользователи Интернет здесь имеются?

Ну пользователю надо уже что-то законченное и работающее. Тесты 1-3 по-моему, ни у кого их присутствующих не заработали.

dozen

цитата:
Хрен знает, только для типового энтерпрайза они не подойдут IMHO.
Вопрос даже не в том, подойдет или не подойдет, а в том насколько это, так сказать, технико-экономически обосновано. На мой взгляд, если хватает большого железа и Оракла (а для энтерпрайза и даже для carrier-grade их хватает в 99.99% случаев), то надо использовать большое железо и Оракл, будет лучше (и дешевле) и разрабатывать и эксплуатировать.

На реляционках кстати сильнораспределенные решения тоже строят, у skype например какой-то нехилый (несколько тысяч бекендов) кластер из постресов.

цитата:
Кто ж будет простыни читать? У нас тут сопутствующие темы пошли...
Я читал, прям-таки с упоением. Всегда считал программирование web-морд скучнейшим занятием, а тут столько эмоций, экспрессии... :>

66. arsa, 17.08.2009 20:42
Chippy2003
гм. странный аргумент насчёт серверного кода. и да, конечно, определённый серверный код нужно открывать по причине GPL. в своё время я довольно много об этом читал, и в общем то да, это проблема. но проблема только в том случае если вы генерируете динамический javascript код (который потом использует extjs) на сервере. это весьма узкая ниша, которую конечно занимают все GWT и всякие WYSIWYG решения, но честно говоря большинства людей которые просто делают на ExtJS сайт это не касается - они могут спокойно GPL-ить свой javascript (и держать его отдельно), а серверную часть оставить закрытой.
http://extjs.com/forum/showthread.php?p=156236#post156236

кстати аддоны вполне нормально пережили переход, даже Livegrid за который я так волновался. они спокойно перешли на ту же dual модель.

dozen
да, конечно доверие подорвано. вопрос что дальше, есть ли альтернатива. вот например bittorrent, точно так же человек лично за свои деньги писал чуть ли не два года его, и теперь хочет что то получить за это. (и кстати используется похожий аргумент - многие adware просто переделывали oss клиенты, как некоторые компании брали extjs и перепродавали)

67. Chippy2003, 17.08.2009 21:04
arsa
прямо по ссылке: Suppose you have an index.php that includes Ext JS. According to the FSF, in that case index.php would be also under GPL since it is using ext. Since it must be GPL, it's source must be distributed. Since it is GPL, the "viral" effect of GPL is now in effect and any thing that uses index.php (if anything) on the serverside would also fall under the GPL.

Возьмем строгую server-side MVC.
index.jsp includes ext js, она заражена, на нее в свою очередь завязаны view resolvers, они теперь тоже заражены, resolverы выводят на конфигурацию всего web-app... gg

68. arsa, 17.08.2009 21:42
Chippy2003
я же говорю - js отдельно, я думаю это можно технически реализовать (выделив страницу-загрузчик ext в отдельную страницу или вообще проект - дабы не "заражаться"). к примеру, собственно то приложение которое я писал год назад и из-за которого я знаком с Ext - там вообще не было никакого общения с сервером кроме заргузки javascript и потом json.

понимаю что это совсем другая модель разработки (может быть не приятная и не удобная - более похожа на client/server). но мне кажется что намного сложнее уговорить себя выпустить весь свой javascript под GPL, особенно в случае когда в общем то никакой привязки к серверу кроме (обычно достаточно статичного по структуре) json не остаётся. об этом надо думать, а не о технических аспектах "заражения" GPL.

Лично на меня всё это производит впечатление хорошее, и не позволяет вендорам закрыть всякую возможность модификации кода, для чего собственно GPL и существует (в том числе). Максимум что они могут сделать это усложнить/запатентовать свой json протокол, я думаю к этому всё и прийдёт (см. ActiveSync). С другой стороны RMS как всегда против

69. Chippy2003, 17.08.2009 23:11
arsa
я же говорю - js отдельно, я думаю это можно технически реализовать
А, так да, согласен. Хотя тоже подрезает сферы использования до фактически "ext application".
Максимум что они могут сделать это усложнить/запатентовать свой json протокол
уже
не помню, кто именно, формы или гриды, не понимают маппинг вложенных объектов,
код:

{id:32, name:"Red Square", city:{id:123, name:"Moscow"}}

зато понимают в извращенном виде:
код:

{id:32, name:"Red Square", "city.id":123, "city.name":"Moscow"}

уговорить javовский gson выдать по хорошему такой ужас не получилось, пришлось "изнасиловать" через reflection.

Правда, подозреваю, что этот формат читается абсолютно случайно, а не так задумывалось.

Добавление от 17.08.2009 23:28:

arsa
как некоторые компании брали extjs и перепродавали
В это бы я поверил, если бы было как у mysql. Грубо - на хостинге используйте, распространять с дистрибутивом - ни ни.
У java тоже какая-то хитрая лицензия, которая с одной стороны блюдет интересы sun, но позволяет пользоваться свободно разработчикам (не вникал).

Тут же прямое ополчение на 99% своих пользователей, залинковали ext-all.js на своей страничке => GPL или кошелек.

Если я сейчас попробую обосновать покупку ext лицензий - 90%, что получу ответ: мы, это, шантажистам не платим

70. dozen, 18.08.2009 07:46
ivanhoe

Я читал, прям-таки с упоением. Всегда считал программирование web-морд скучнейшим занятием, а тут столько эмоций, экспрессии... :>

У меня ребенок, когда смотрит какие-нибудь старые фильмы (которые я смотрел раз 50 уже, конечно) тоже очень экспрессивно делится своими наблюдениями и догадками. Забавно наблюдать ход мысли и сравнивать в голове с "как на самом деле". Вот такое у меня чувство и при чтении опусов ВР. Молод он душою, молод... ну, или наоборот, в маразм впадает.

71. Vladimir Rybinkin, 18.08.2009 10:22
Беглый просмотр показывает... Ладно, посмотрим подробнее. Сейчас - ответы на посты до моего вчерашнего.

Chippy2003
цитата:
но сервер принимающий опт ведь уже готов и успешно протестирован на сотне concurrent клиентов, правда же ?
Естественно! Чем, собссно, опт от розницы отличается?

evilbloodydemon
цитата:
а можно про вашу концепцию прорыва в будущее почитать, скажем, в десяти словах, а не в десяти томах?
А ветку почитать слабо? Я формулировал с использованием РАЗНОГО количества слов - на любой вкус: Konstantin Mironovich, например, аж в ДВУХ словах: Ajax Processing. Ох, простите - я на ник поначалу внимания не обратил. Чего изволите?

Konstantin Mironovich
цитата:
не помогло..
Еще как помогло! Спасибо!
цитата:
автор, как всегда, извернулся, "уточнив проблематику".
Я раз объяснил - не поняли, два объяснил - не поняли, три объяснил - как я надеялся, уже в привычной публике терминологии. Опять непонятно?! Ну, это уже переходит всякие границы... Я не изворачиваюсь "как всегда"... - "проблематика" не изменилась ни на миллиметр - я просто слова подоходчивее ищу, чтобы и собеседники это поняли. И даже не теряю надежду, что найду-таки.

dozen
цитата:
реляция не справится (зато JS -- конечно!)
А мозги включать не пробовал? JS - это КЛИЕНТСКОЕ ПО, и ему до задач, с которыми "реляция не справится", глубоко...
цитата:
я самый крутой, я начальник цеха...
О-хо-хо... Чего ж тебя так корежит-то? Или мучает, что я программист, а ты всего лишь эксперт? Ладно, объясняю подробнее (специально для экспертов ): весь AJAX, с потрохами, есть всего лишь технологический прием, чтобы заняться ДЕЛОМ - AJAX processing (а не фигней с "мапами" - для авторов "engine" это когда-либо должно дойти - в крайнем случае, юзеры подскажут). Для меня же все это, вместе взятое (весь клиент) есть всего лишь технологический прием, чтобы заняться НАСТОЯЩИМ ДЕЛОМ (Синдбадом - НОРМАЛЬНОЙ СУБД, а не этим реляционным убожеством, все заполонившем, и ни хрена не умеющим). А сам Синдбад есть всего лишь повод, чтобы заняться СОВСЕМ УЖ НАСТОЯЩИМ ДЕЛОМ (SINT, на котором все и написано, ибо вещи там РЕАЛЬНО сложные). Судя по тому, как местная публика относится к указателям - далеко за границами вашего понимания. Я лично до настоящего времени клиентом практически не занимался (не царское это дело ). Я гвоздики выковывал, которыми блоху подковали - там уж никакой мелкоскоп не поможет.
цитата:
... сказал ВР, у которого каталогизатор ставил (и до сих пор ставит) вместе "катер" и "Екатеринбург"
Умница! Надо же, какой давний пример помнишь - видать, эффектный был. Насчет SUBSTRING ты, конечно, ляпнул не подумавши, но в остальном ты прав на 100%. Именно так: компьютер не имеет ни малейшего понятия (и не должен, кстати), какая моча ударила в голову юзера. Мож, он именно и хочет узнать слова, в которых встречается "катер". Скажу больше: как раз этот софт и показал в дорожке рубрикации на РОМИП... 2004, что ли... самый лучший результат (правда, лишь по точности). Или бушь говорить, что там всякая шваль собиралась (вроде Ильи Сегаловича)? Там, кстати, я еще один пример одновременно приводил - про Сан-Франциско и Францию. Но, по-видимому, нечеткое сравнение строк для тебя пока трудновато, и второй пример ты не запомнил.
цитата:
А ругается на то, что eval() неправильно зовешь
Что, Билл решил крылышки пообрубать, инструментарий подрезать, чтобы только евойным дерьмом пользовались? Ну нельзя же быть НАСТОЛЬКО жадным! Отчего же неправильно? С какого хрена function eval must be called непременно directly?!
цитата:
Для тебя же не новость, что сейчас следует поддерживать как минимум IE, Firefox, Opera, Safari и Chrome?
Новость! Я стараюсь пользоваться МИНИМАЛЬНО возможным набором средств JS. И что, все равно для каждого из них персональный JS-код требуется? А для каждой версии не просят еще? Программеры, блин! Броузер-то детектить не проблема. Но просто СТЫДНО! Да и вообще - читал бы ты уж лучше свою "подшивку журнала Хакер", что ли - все равно пользы с тебя в этой ветке, как с козла молока. Не, я не гоню - боже упаси - с тобой забавнее. Но... неловко иногда за тебя бывает - ты же явно ИСКРЕННЕ считаешь, что я не знаю, как нужно "правильно" eval вызывать. Кстати, огромная просьба: замени контекстной заменой в том примере, который тебе понравился, "m.e" на "eval". Ежу понятно, что тем более работать не будет, но мне жутко интересно, какими словами он НА ЭТОТ РАЗ будет ругаться. Уважь, а?

Chippy2003
цитата:
при этом это лучшее - весьма знатный глюкодром, ну и авторы жадные, как дети
Умница! Золотые слова!

ivanhoe
цитата:
Надо сказать, темы (и сообщения) Владимира здорово оживляют данную конференцию.
Государь, здесь собрались одни куры. Как же я могу снести яйцо, если я среди них единственный петух? (c)Бирбал.
цитата:
Потому что уже много лет существует, например, метапрограммирование.
Отмазка! Чем не устраивает eval? Конкретно, и не прячась за умные слова (тем более - за ссылки). Это трусость, мой дорогой!
цитата:
Соответственно, требующее очень большой аккуратности при использовании
Естественно! Любой мощный инструмент требует аккуратности - это же ОРУЖИЕ!
цитата:
сравнимом с аккуратностью с работой с указателями
Умница! Я когда-то глянул на JS - а там указателей и нет. Я сразу плюнул - "дерьмо, без вариантов". Потом присмотрелся - ба, eval! Ну я же все уже описывал...
цитата:
Как и указатели, eval не дает никаких преимуществ по сравнению с более прогрессивными конструкциями
Опять бум C vs C++? Повторюсь: указатель на структуру покрывает все "классовые" потуги Страуструпа (а также все иные "более прогрессивные конструкции"), как бык овцу. Точка.
цитата:
но требует, повторюсь, нечеловеческой аккуратности, которой не обладает никто
Опять же, лучше ndemia не скажешь: визуальное программирование (а я добавлял - и объектное) создает у чайника иллюзию, что он тоже программист. Чего там может быть "нечеловеческого"?! Указатель - та же переменная, НУ НИЧЕМ не отличается. Или работа с переменными тоже требует "нечеловеческой аккуратности"? Аккуратность, между прочим, в программировании показана даже самым последним прикладникам.
цитата:
и код получается плохой, ненадежный, дырявый, ... неприличный в общем.
См. выше. И вообще, если программист по доброй воле(!) отказывается от использования указателей, тем более, из-за сложности (!!!), дальше его можно просто не слушать. Это - чайник по определению, и чем бы он "в новых, комфортных условиях" ни занимался, этим занятиям есть единственное определение: онанизм. Вариант - выполнение простеньких задач в качестве подмастерья.
цитата:
Думаю что server-side javascript явление не такое уж и экзотическое (т.к. входит в значительную часть серверов приложений для Java) и апологеты Java (например, dozen) могут привести массу примеров где оно используется.
Ну... допустим. Я и на сервере буду использовать лишь то, что есть везде и всегда, и отлажено тыщу лет. Таковым я считал и JS, но у dozen, например, даже с динамическим вызовом eval, оказывается, проблемы. Причем - безнадежные: эта возможность была, но ее специально нашли, и вырезали на фиг - во позорище-то! Как же далеко шагнула техника...
цитата:
"Очевидная причина" такая: если дать пользователю возможность исполнять собственный код на сервере...
Ну дык не давайте - eval-то здесь при чем?! Все математика - одно большое решето, но версия про злобных хакеров... Скажите, Вас самого развели, как лоха, или Вы лишь со мной хотите эту операцию проделать?
цитата:
Думаю любому, кто хотя бы видел примеры интерпретаторов...
Ну, а Вы, лично Вы, к "любым" относитесь? Тогда почитайте мой ПРЕДЫДУЩИЙ пост.
цитата:
По компактности кода haskell...
Ok, я примеры на JS выложил в трех экземплярах. "Компактный" аналог на haskell - в студию! Вот, скажем, для 3-го теста. Там у меня... 619 виртуальных страниц. Компактность... 19223/619=31.054927 байт на страницу (не считая фильтров - иначе наверняка меньше байта на страницу получится). При этом самая большая из виртуальных... Если "сохранить как веб-страницу" - 364 байта. Если сохранить ее HTML-текст - 28093 байта - больше, чем все исходники, вместе взятые. Работать, естественно, не будет, но... прилагаю в аттач - мож, ХОТЬ ЭТО способно отобразиться в современных броузерах? Ну и поменьше страничку - для общего развития - чтобы представление было, что там вообще происходит. Ну как - слабо, нет?
цитата:
при этом код на APL-подобных языках совершенно нечитаемый, в отличии от...
...JS - там же C-синтаксис.
цитата:
А ТАМ ничего не принято, кто как хочет, тот так и пишет.
Лучшую анитирекламу придумать невозможно!
цитата:
Могу свою показать, писал много лет назад в учебных целях.
Не, лучше реализуйте хотя бы один из моих тестов. В учебных целях.
цитата:
Владимир, Вы, однако, проспали и все уже обо всем договорились
Ха-ха-ха! Про объекты мне точно такими же словами говорили. Вы не оттуда фразу списали, случайно? А копнул чуть - как заспорили! Уже не со мной - друг с другом!
цитата:
Во-первых в JS типизация динамическая, причем образца 70-х готов 20-го века.
Вот и хорошо. Тогда водились еще программисты, которые не шарахались от указателей, как черт от ладана...
цитата:
Если учить ребенка современным веяниям...
Ну хоть детей-то пожалейте - свои, небось? Впрочем, я очень прошу проявить милосердие даже в том случае, если это дети Вашего злейшего врага.
цитата:
Во-вторых основное развитие по части типизации сейчас происходит в типизации статической, когда максимум возможного контроля делается в период компиляции, а не во время исполнения, как в динамических языках.
Это просто чудо! Это, стало быть, развитие по спирали? Теперь это называется "новое веяние", не правда ли? А что будете делать, если на этапе компиляции ПРИНЦИПИАЛЬНО НЕВОЗМОЖНО знать что-либо о типах, о количестве параметров, о вызываемых функциях? Уж скоко раз я об этом вопрошал в разных ветках? Но современным программистам нужно непременно в статику лезть - "развиваться"... Давайте, давайте, ребятки - без развития оно плохо - оно, говорят, застой.
цитата:
И учить этим вещам на примере динамических языков можно только одним способом:
У кого-то из нас, извините, уже крыша поехала. Напомню: JS - это ИНТЕРПРЕТАТОР. Какой, в задницу, "период компиляции"?! Пардон, а сами-то Вы знаете, "что такое типизация, настоящая и развивающаяся"? Или "зачем вообще нужен JavaScript"?
цитата:
Кроме концептов (которые, кстати, очень похожи на классы типов из Haskell) все упомянутое в моем постинге уже устаканилось.
См выше про объекты. И, кстати, что же все-таки за зверь "классы типов"?
цитата:
Ну как-то странно вот так ставить такой вопрос не имея представления о предмете.
Ничуть! Именно не имея представления вопросы и ставятся. Более того, у меня очень сильные подозрения, что и Вы сами этого представления не имеете (в противном случае дешевле просто ответить).
цитата:
Ссылки для вхождения "в тему":
Это чтобы узнать "какие проблемы"?! Нет, спасибо - кушайте сами.
цитата:
Неужели Вы теперь используете СУБД?!?
Ни хрена не понял. Где? Почему "теперь"? На хрена?
цитата:
Не советую экспериментировать с гуглом.
А каким образом он может вообще узнать о моих экспериментах? Я, кстати, уже экспериментировал. И даже публиковал результаты экспериментов. И ничего...

dozen
цитата:
Точный вопрос -- ".... RDBMS?".
Умница! Отвечаю: ЭТО - не использовал, не использую, и использовать не собираюсь.
цитата:
Его сетевые монстрики
Почему "монстрики"?! Уж по компактности-то Синдбад дерет кого угодно на порядок.
цитата:
тоже СУБД ведь
К сожалению, нет. Силенок маловато.
цитата:
кому надо нафиг мучаться с сетевой моделью?
Тому, кто понимает, что мучения-то как раз с реляционной. Судя по публикациям последних лет - довольно многие.

ivanhoe
цитата:
Скорее просто БД (без СУ)
Угу. А вот "СУ" как раз абсолютно плевать на "конкретно-написанную БД".
цитата:
В этой вселенной есть Майнфреймы, Сетевые DBMS...
Нет, это обычное заблуждение: отождествлять "сетевую модель" с "сетевой моделью CODASYL". Еще худшее заблуждение (и куда более распространенное - о CODASYL вообще мало кто слышал) отождествлять DBMS и RDBMS.
цитата:
Прям ностальгия накатила, я ведь "Бореем" тоже вдохновлялся
А на что? Меня как раз вдохновила потрясающая уродливость схемы, дикая избыточность, куча ошибок (в т.ч. благодаря этой избыточности), практически нулевые функциональные возможности... А Вас?

dozen
цитата:
Так происходит с любой (ЛЮБОЙ) широкоиспользуемой либой. Ожидать обратного -- несколько простовато, не?
В смысле, либа сразу такая классная, что незачем ей ничем "обрастать"? Кому это нужно? Нужно: наставить возможно больше дыр, и впаривать доверчивым дуракам версий по 20 этой самой либы. Так что... либо либа, либо не либа (с)Юра Шпеер. А бабки...

К сообщению приложены файлы: 1.rar, 5Кb

72. zzf, 18.08.2009 14:04
Vladimir Rybinkin
К сообщению приложены файлы: 1.rar

Что нам должна была продеМОНСТРировать сия поделка? Изменение состояний контролов не производит никаких видимых эффектов. Или это пример того, как не надо?

73. rGlory, 18.08.2009 19:21
Vladimir Rybinkin
цитата:
Для меня же все это, вместе взятое (весь клиент) есть всего лишь технологический прием, чтобы заняться НАСТОЯЩИМ ДЕЛОМ (Синдбадом - НОРМАЛЬНОЙ СУБД, а не этим реляционным убожеством, все заполонившем, и ни хрена не умеющим). А сам Синдбад есть всего лишь повод, чтобы заняться СОВСЕМ УЖ НАСТОЯЩИМ ДЕЛОМ (SINT, на котором все и написано, ибо вещи там РЕАЛЬНО сложные)
Я знал, я знал...
zzf
цитата:
Что нам должна была продеМОНСТРировать сия поделка?
Не обращайте внимания, это фирменный стиль ВР - повыкладывать невнятные примеры, почмокать над ними "тут уже почти круто все работает, осталось только допилить чутка", а чуть позже на это ссылаться как "помните, как я вам всем там нос утер своим супер примером, который работал просто на ура".
Наслаждайтесь процессом

74. dozen, 18.08.2009 20:25
Vladimir Rybinkin:

Я не изворачиваюсь "как всегда"...

Именно изворачиваешься, и именно как всегда. Твои темы шаблоном генерить можно.

А мозги включать не пробовал? JS - это КЛИЕНТСКОЕ ПО, и ему до задач, с которыми "реляция не справится", глубоко...

Ты же Борей на JS реализуешь, не я. Про сервер-сайд ты пока не заикался (впрочем, с ним у тебя традиционно проблемы -- сколько лет в твою гостевую безвозбранно постили спамеры, пока ты не нашел радикальное решение -- HTTP 404 (http://www.2bit.ru/cgi-bin/gbb.cgi) ? Программаст, блин, статфильтр настроить не может...)

Для меня же все это, вместе взятое (весь клиент) есть всего лишь технологический прием, чтобы заняться НАСТОЯЩИМ ДЕЛОМ

Настоящее дело -- это то, за что сегодня или в перспективе платят настоящие деньги. Тебе не платят ничего. Первый шаг к преодолению профессиональных проблем -- признать, что они есть. Тебе следует сказать себе "всё, что я делаю -- никому не нужно; я бездарно потерял годы жизни на бесполезные трепыхания; я признаю, что я не великий, а всего лишь выдающийся (С) ... "

(Синдбадом - НОРМАЛЬНОЙ СУБД, а не этим реляционным убожеством, все заполонившем, и ни хрена не умеющим).

1. Синдбада никто не видел
2. Синдбад ничего не умеет
3. Синдбад никому не нужен

Dixi.

А сам Синдбад есть всего лишь повод, чтобы заняться СОВСЕМ УЖ НАСТОЯЩИМ ДЕЛОМ (SINT

СИНТ -- убогое непортируемое ...
СИНТ нечитаем
СИНТ никому не нужен

ибо вещи там РЕАЛЬНО сложные

Да-да, такие сложные, что почти догнал 10% от TurboVision.

Я гвоздики выковывал, которыми блоху подковали - там уж никакой мелкоскоп не поможет.

Походу, выходил повсеместно железнодорожный пучинный костыль. Оружие массового поражения блох!

Мож, он именно и хочет узнать слова, в которых встречается "катер"

Да-да! Я ищу "катер", чтобы найти Екатеринбург! Это, что-ли, и есть твое "настоящее дело"? Придется огорчить -- за такой поиск денег не заплатят (и не заплатили, собственно -- поржали на конференции, да и забыли). А гугль со своим поиском миллиардики делает. Но у него не настоящее дело, конечно, так, детсткие игрушки и карманные деньжата. Это у ВР -- настоящее, и бабло в размере 15 рублей в бумажный стаканчик.

Что, Билл решил крылышки пообрубать, инструментарий подрезать, чтобы только евойным дерьмом пользовались?

Это, вообще-то, Firefox был. Знаешь такой?

И что, все равно для каждого из них персональный JS-код требуется? А для каждой версии не просят еще?

(До него начинает доходить, вау!)

Броузер-то детектить не проблема. Но просто СТЫДНО!

Действительно, стыдно выкладывать свои поделки, когда они ни у кого не работают.

ты же явно ИСКРЕННЕ считаешь, что я не знаю, как нужно "правильно" eval вызывать

О, что ты! Ни в коем разе! Я считаю, что ты практически ничего не знаешь!

Кстати, огромная просьба: замени контекстной заменой в том примере, который тебе понравился, "m.e" на "eval". Ежу понятно, что тем более работать не будет, но мне жутко интересно, какими словами он НА ЭТОТ РАЗ будет ругаться. Уважь, а?

Кстати, огромная просьба -- стащи себе сам Firefox, и тестируй свою поделку и на нём тоже. И на Opera. И на Safari. На Chrome можешь пока забить, в качестве подарка от меня

Чем не устраивает eval?

XSS, например.

Напомню: JS - это ИНТЕРПРЕТАТОР. Какой, в задницу, "период компиляции"?!

Что, интернет (http://ajaxian.com/archives/javascript-jit-the-dream-gets-closer-in-firefox) за неуплату отключали?

А каким образом он может вообще узнать о моих экспериментах?

Расслабься, ты ему нафиг не сдался. Единственное что, твой каталогизатор у них в комнате смеха висит, вместо кривого зеркала.

Почему "монстрики"?! Уж по компактности-то Синдбад дерет кого угодно на порядок.

Монстрик -- он маленький, но уроооооодливый!

Так что... либо либа, либо не либа (с)Юра Шпеер.

Бедный Йорик... в смысле, Юрик. Наверное, икается каждый раз, когда ВР его в свою защиту притаскивает. (Напомню, что именно имя Шпеера стоит в титрах шахматной программы, которую ВР выдает за свою).

75. lvqcl, 18.08.2009 21:25
dozen
Кстати, огромная просьба -- стащи себе сам Firefox, и тестируй свою поделку и на нём тоже. И на Opera. И на Safari. На Chrome можешь пока забить, в качестве подарка от меня

(задумчиво) А под Win98 они работают? А то у ВР, кажется, именно она.

76. dozen, 18.08.2009 21:54
lvqcl
А под Win98 они работают? А то у ВР, кажется, именно она

А почему пользователей должны волновать проблемы Мастера Недоделкина?

77. ivanhoe, 18.08.2009 22:54
Vladimir Rybinkin

цитата:
Отмазка! Чем не устраивает eval? Конкретно, и не прячась за умные слова (тем более - за ссылки). Это трусость, мой дорогой!
eval не устраивает тем что сложнее, неудобнее и небезопаснее в использовании.

цитата:

Опять бум C vs C++? Повторюсь: указатель на структуру покрывает все "классовые" потуги Страуструпа (а также все иные "более прогрессивные конструкции"), как бык овцу. Точка.
Ну это Ваше личное мнение, с которым согласны не все. А чтобы подводить "точку" одним своим высказыванием, надо быть каким-то вселенским авторитетом. В программировании таких авторитетов нет, точнее есть, но в каждом течении они свои. :)

цитата:

НУ НИЧЕМ не отличается.
Указатель отличается от переменной тем что может указывать в никуда или куда совсем не надо указывать, следовательно, за значениями указателя надо тщательно следить. У переменных этого недостатка нет. Однако есть другой - надо следить за значениями, что они присваиваются какие надо, где надо и когда надо. Поэтому я предпочитаю работать с константами. :)

цитата:
Или работа с переменными тоже требует "нечеловеческой аккуратности"? Аккуратность, между прочим, в программировании показана даже самым последним прикладникам.
Но употреблять ее можно по-разному. Одни употребляют на задачу, другие - еще и на борьбу с указателями. Соответственно, первые, при прочих равных, уделяют задаче больше времени и результат, при прочих равных, получается лучше.

цитата:

См. выше. И вообще, если программист по доброй воле(!) отказывается от использования указателей, тем более, из-за сложности (!!!), дальше его можно просто не слушать. Это - чайник по определению, и чем бы он "в новых, комфортных условиях" ни занимался, этим занятиям есть единственное определение: онанизм. Вариант - выполнение простеньких задач в качестве подмастерья.
А мне казалось наоборот, выполнение сложных и интересных задач в качестве техлида. :)

цитата:
Ну дык не давайте - eval-то здесь при чем?! Все математика - одно большое решето, но версия про злобных хакеров... Скажите, Вас самого развели, как лоха, или Вы лишь со мной хотите эту операцию проделать?
Хакеры и спамеры это, так сказать, "объективная реальность, данная мне в ощущениях". Напомню, речь шла про калькулятор написанный mike_teplitsky. Я указал на его недостаток, что из него нельзя сделать серверное приложение по причине использования eval, т.к. кто угодно сможет выполнить на сервере что угодно.

цитата:
Ok, я примеры на JS выложил в трех экземплярах. "Компактный" аналог на haskell - в студию! Вот, скажем, для 3-го теста.
Пожалуйста:
код:

-- именно так у меня выглядит третий тест. Никаких страниц, ни реальных, ни виртуальных там не видно
main = putStrLn $ "<html><body>Loading...</body></html>


цитата:
Не, лучше реализуйте хотя бы один из моих тестов. В учебных целях.
Хоть что-то осмысленное показывает только четвертый тест (из последнего сообщения) и поэтому только он представляет интерес. Бегло посмотрев, обнаружил, что JavaScript используется для упаковки HTML. Не очень понял в чем смысл этих тестов. Варианты пришли в голову следующие:
1) минимизировать передаваемые пользователю HTML файлы
2) минимизировать размер генератора HTML
Какую из этих задач надо решить или какую-то еще?

цитата:
Это просто чудо! Это, стало быть, развитие по спирали?
Вы мои ссылки не прочитали, но убеждение уже имеете, как это прекрасно. :)

цитата:
Теперь это называется "новое веяние", не правда ли? А что будете делать, если на этапе компиляции ПРИНЦИПИАЛЬНО НЕВОЗМОЖНО знать что-либо о типах, о количестве параметров, о вызываемых функциях?
Так не бывает. :)

цитата:
У кого-то из нас, извините, уже крыша поехала. Напомню: JS - это ИНТЕРПРЕТАТОР. Какой, в задницу, "период компиляции"?! Пардон, а сами-то Вы знаете, "что такое типизация, настоящая и развивающаяся"? Или "зачем вообще нужен JavaScript"?
Напомню ход обсуждения. Я сообщил, что сейчас одним из самых интересных в программировании является типизация и все что с ней связано. Поскольку типизация сейчас развивается в основном статическая, поэтому я порекомендовал изучать языки со статической типизацией, а не JS. И, конечно же, я в курсе и что такое типизация и пр. А также в курсе, что разница между интерпретаторами и компиляторами в настоящий момент весьма условная. До недавнего времени, например, отличие между интерпретатором и компилятором заключалось в том, что компилятор компилирует в машинный код, а интерпретатор - в байт-код виртуальной машины-интерпретатора. Однако сейчас появились и JIT, генерирующие из байткода код близкий к нативному и языки Perl, Python и пр. компилируют в машинный код посредством LLVM.

цитата:

И, кстати, что же все-таки за зверь "классы типов"?
Класс типов - это по простому "тип типов". Например, в Haskell есть стандартные классы: Ord (типы, для которых определены операции больше-меньше-равно), Num (типы, для которых опредены операции сложения-вычитания-умножения) и пр. Например, тип String является экземпляром класса Ord, но не является экземпляром класса Num. А вот тип Complex (комплексные числа), наоборот, является экземпляром класса Num, а классу Ord не принадлежит. Вокруг классов типов есть много всего интересного, они в частности используются при выводе типов, позволяют писать обобщенный и вместе с тем безопасный код, но изложить это в двух словах я не в силах, почитайте, plz, хотя бы википедию.

цитата:

А каким образом он может вообще узнать о моих экспериментах? Я, кстати, уже экспериментировал. И даже публиковал результаты экспериментов. И ничего...
Узнать может разными способами. Самый простой - если превышен некий порог кол-ва запросов в еденицу времени. Видимо от Вас запросов было немного.

цитата:
А на что? Меня как раз вдохновила потрясающая уродливость схемы, дикая избыточность, куча ошибок (в т.ч. благодаря этой избыточности), практически нулевые функциональные возможности... А Вас?
Меня исключительно как пример использования MS Access, подробностей не помню (дело было более десяти лет назад). Поставленная задача (формирование отчетов на основании данных из БД и их печать на принтере) была решена успешно, на чем мой опыт работы с MS Access и закончился.

78. dozen, 19.08.2009 00:21
ivanhoe
Видимо от Вас запросов было немного.

Последний в стране модем на 2400, однако...

Добавление от 19.08.2009 00:41:

zzf
Что нам должна была продеМОНСТРировать сия поделка?

Он туда собственно JS-файл i.j забыл(?) положить. Ну, нам не впервой сталкиваться с подобной рассеяностью Мастера. Вечно какие-то мелочи мешают предоставить работающее решение...

79. zzf, 19.08.2009 02:46
dozen
Он туда собственно JS-файл i.j забыл(?) положить.

Да копировал я его. Из предыдущих поделок. Не помогат. Так хотел посмотреть как цвет фона меняется. Это же прорыв! Скачок во времени. Гугл со своей перерисовкой маршрута на лету на мохнатой карте дорог Европы во время перетаскивания конечного пункта мышкой — просто смех по сравнению с.

80. ivanhoe, 19.08.2009 02:53
Vladimir Rybinkin

Кстати, да (к предыдущему постингу). Не очень понятно, почему бы Вам не выкладывать свои тесты сразу на Web, у Вас же есть свой сайт? И никакие файлы никуда не пропадут.

81. dozen, 19.08.2009 05:26
ivanhoe
Не очень понятно, почему бы Вам не выкладывать свои тесты сразу на Web, у Вас же есть свой сайт?

Дык тогда не получиться сослаться, что "забыл файлик положить, а сейчас уже весь код изменил, да и некогда мне, некогда"

Добавление от 19.08.2009 05:48:

ivanhoe
Бегло посмотрев, обнаружил, что JavaScript используется для упаковки HTML.

Кстати, ВР не обращал внимания на то, как выглядит вот эта самая страница (форум) в голом HTML, и для чего там используется JS? Может, какие подозрения зародятся...

82. Vladimir Rybinkin, 19.08.2009 10:03
Хм. Думал, сейчас-то отвечу сразу, а здеся... Впрочем, это радует...


Hedin
цитата:
А какой смысл разговаривать с радиоприёмником?
Вы, простите, о ком? Это, батенька, МНЕ не отвечают (в частности, лично Вы - на мой вопрос насчет RPC). Но если у меня даже и нет сил, не стоит делать далеко идущих выводов. Отдохну - отвечу. Ищите другие отмазки.

dima.yegorov
цитата:
Похоже на программирование ради программирования...
Возможно - не знаю, что это такое.
цитата:
В Firefox 3.5 наблюдаю только надпись Loading...
Это уже немало! Кто там у меня плакался... ага, Sioln - у того были проблемы еще с загрузкой b.j, а эта фраза идет уже ПОСЛЕ того. По крайней мере, у меня в текстах. Но ведь не может быть, чтобы так уж прям молча? Ведь должен же еще и диагностику какую-никакую сказать? А, пардон - не заметил "на уровне пользователя обратная связь". Спасибо огромное. Там где-то (у меня - внизу, типа в статусной строке) появляется такой противный желтенький значочек "Ошибка на странице". Если по нему кликнуть - должон бы и еще чего порассказать...
цитата:
В Internet Explorer 8 (XP) наблюдаю сначала предупреждение системы безопасности.
О! Это интересно - чем же этот друг озаботился? Как перед Богом: ни один из трех тестов, никуда не лезет, ничего не не делает, кроме как перезаписывает сам себя (document.write). Чего это он так обо... испужался-то? Ну, не веришь - так ведь даже тексты у тебя, ведь ты же САМ их интерпретируешь! Страшно - так почитай предварительно, убедись - чего сразу в панику ударяться, чего перекладывать ответственность на юзера? Можно подумать, он больше тебя знает...

Я понимаю еще на заре программированя (для меня это были "монстры" типа БЭСМ-6 или ЕС-1020, "небольшие" компьютеры вроде СМ, и понемногу появлялись первые ПК - ДВК, ХТ и советская пародия на них "Искра" со своей "Альфа-ДОС" - до сих пор в дрожь бросает). Это я еще могу понять: математика толком не отлажена, железо и при безошибочной работе на ладан дышит, а уж если что случится... Чих влево - BIOS накрылся, чих вправо - микросхему спалил (мы с Юрой знали, например, как программно головку дисковода отломать к чертовой матери). Но и программисты росли здоровыми, крепкими, зубастыми. А сейчас... опасность вроде еще меньше, но программистов перепеленали так, что они ни ручкой, ни ножкой дрыгнуть не могут, и кормят с ложечки: Наш мальчик умный, наш мальчик ловкий, наш мальчик все умеет... А ну их, указатели - нехорошие они, противные, они хотят, чтобы наш мальчик нечеловеческие усилия прикладывал... Не будет этого - кыш от нашего мальчика! У нас здесь хорошие конструкции есть, прогрессивные... Агу!

Ну и закономерный результат: не только сами программисты, но даже их софт стал беспомощным и трусливым до неприличия.

SERGEY_BIG
цитата:
Конечно, разгрузка сервера БД - дело благородное, только вот то, от чего пытается разгрузить его топик-стартер, серверу - как слону дробина.
Да неужто?! Ну что же, постараюсь помочь "вникнуть в пролетарскую суть"... Итак:
1. Объем передаваемых страниц при такой технологии, очевидно, уменьшается в разы. Облегчение, нет?
2. Пользователь, получая "на руки" уже не страницу, а целый виртуальный сайт, будет ковыряться в нем тоже в разы дольше и, соответственно, беспокоить сервер куда реже. Облегчение, нет?
3. Посылать ему при дальнейших запросах можно уже лишь недостающую информацию, а комбинировать страницы из нового и старого будет уже сам клиент. Облегчение, нет?
4. Немалую часть запросов юзера тоже можно выполнить на клиенте, по имеющимуся ТАМ данным. По моим оценкам, таких "внутренних" запросов должно быть не менее половины. Облегчение, нет?
5. "Одновременности" не бывает, это только видимость. Есть такое понятие "квантование".
6. До "многих пользователей" еще дожить нужно. А если это радостное событие все же случиться - можно воспользоваться хотя бы технологией того же Google: натравить на них здорове-е-е-енный кластер со сворой ощерившихся компов.
7. "Внутренние" проблемы сервера клиентов не волнуют по определению - пущай занимается на здоровье, чем ему там нужно. Это не есть тема ветки. Хотя индексацией заниматься лично я своему серверу не позволю - этой глупостью пущай чужие серверы занимаются.
цитата:
От этого, конечно, чтение панегириков конструкции eval (ИМО, вреднейшая конструкция) не становится менее занимательным
Я рад, что Вам это занимательно. И по поводу "вреднейшей конструкции" согласен. В самом деле: использовать мощный, гибкий, компактный, эффективный код, да еще безо всяких библиотек?! Да разве ж такое возможно?

ivanhoe
цитата:
Владимир, я рад что Вы открыли для себя конструкцию eval, но для приведенных примеров достаточно по-моему обычных ассоциативных массивов, которые бывают даже в C.
Это песня! Во-первых, какое кому дело до того, что "бывает даже в C", даже если там и "бывает" что-то очень хорошее, нужное, важное? Во-вторых, что это за зверь такой "обычные ассоциативные массивы", и чем они "обычнее" eval? И каким боком Вы их собираетесь прилепить "для приведенных примеров" (особенно для первых двух)? В-третьих ЗАЧЕМ?! Вы упростите код, уменьшите объем, увеличите функциональность, еще что-то?
цитата:
Eval, кстати, в C/C++ тоже бывает, называется, CINT (почти СИНТ)
Серьезно?! А на хрена она там-то нужна - там же, вроде, и "нормальные" указатели имеются? Господи, НЕУЖТО ОТМЕНИЛИ???!!!
цитата:
Ну пользователю надо уже что-то законченное и работающее.
Вот именно такое я и посылал.
цитата:
Тесты 1-3 по-моему, ни у кого их присутствующих не заработали.
И У ВАС?! Откуда же тогда откровения про то, что для них "достаточно"?
цитата:
Я читал, прям-таки с упоением. Всегда считал программирование web-морд скучнейшим занятием, а тут столько эмоций, экспрессии...
Да?! ЭТО Вы считаете "программированием web-морд"? Ну... в принципе, Вы правы, хотя я бы так назвать не решился. И что, Вы умудряетесь скучать при программировании морды, которая FRAMESET?! Или Вы знаете кого-то другого, кто при этом "скучает"? Или Вы вообще никого и ничего не знаете, а просто так "считаете"? Последний случай неинтересен, а об остальном нижайше прошу возможно более развернутых подробностей.

Chippy2003
цитата:
не помню, кто именно, формы или гриды, не понимают маппинг вложенных объектов
Ну какие еще нужны доказательства? Из-за подобной смехотворной осечки приходится кого-то "безуспешно уговаривать", кого-то "насиловать"... Вот, например, у меня в 3-м тесте (фрагмент):

"Монтевидео125 3 551","Москва125 3 467","Мраморное525 7 54 223 502",

И никого не уговаривал, никого не насиловал, сам придумал, сам реализовал, временные затраты - смехотворные. Погано? Да, погано (хотя этому тесту лучше и не нужно). Для четвертого не годится (пухнет софт, растут тормоза), хотя и ему я уже туеву хучу различных способов организации данных протестировал за какие-то несколько дней - и попробовал бы он у меня хоть один "не понять"! Тем более, что сам я при этом как раз ни хрена и не понимаю. Пример: один из элементов входного (расстрельного) массива БД (после инициализации вообще уже ничего понять невозможно):
"1265187 Suffolk Ln.83720",
Вот что это? Ну, ясный пень, адрес с индексом, но чей? В какой стране, в каком городе, какой компании, и компании ли вообще - мож, "человечий"? А прога (КЛИЕНТ!) прекрасно знает: компания, из тех, которые Customers, в каком-то задрипанном Штатовском городишке (я, по крайней мере, про такой не слыхал). При этом массив третьего теста рабочий (используется в том же виде, в котором получен), а массив четвертого каждый новый инициализатор имел, как хотел - всеми способами. Но "понимание" от этого только увеличивалось. А Вы маетесь с каким-то несчастным city.name:Moscow... Тихий ужас!
цитата:
Если я сейчас попробую обосновать покупку ext лицензий - 90%, что получу ответ: мы, это, шантажистам не платим
Платите! Только шантажисты те похитрее, а вы замечаете лишь сверхнаглых, и при этом еще свертупых. Вона, dozen (а может, даже и всех вас, здесь присутствующих - кто знает?) ограбили средь бела дня (обрезали возможность динамического вызова eval), а он даже после явной диагностики не врубился. Так что будет платить за эту возможность, когда понадобится. Как миленький!

dozen
цитата:
Молод он душою, молод... ну, или наоборот, в маразм впадает.
Эка тебя штормит! Ладно, порезвись - что тебе еще здесь делать?

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

Во-первых, с "универсальностью" я явно перестарался, там чуть ли не все массивы "лишние" - чего мучить клиента зазря? Поэкспериментировали - и хватит. Один массив бесспорен - "кортежи", остальные - пусть у класса голова болит. Впрочем, нет: второй тоже очевиден - поля. Третьи же (субполя) - по типу поля в классе. Чо там Ваня-то гутарил про "классы типов"?

Во-вторых, наследование. Я не уверен, что его нужно здесь вообще давать. А раз не уверен, так и не будем, пока не припрет. Но команды какие-то ввести надо, на всякий пожарный. Хотя бы call.

Обязательная вещь - описание структуры. Вообще-то, оно может содержать вложенные описания, но в этом тесте таковых не имеется. Точнее, имеется (по структуре), но это типичное наследование, и мне просто лень этим заниматься. Так что выкинем-ка мы снова шаблоны из классов - гибкости в данном случае не прибавится, а софт усложнять незачем. Наличие ссылки из класса на шаблон страницы, как я уже говорил, есть разрешение элементу этого класса иметь персональную страницу. Тип поля (строка/ссылка, атомарный элемент/массив, имя атрибута) - видимо, такими "триадами", и сделаем. Ну и ссылка на шаблон для выдачи элемента на чужих страницах (то бишь, по умолчанию - если той странице лень использовать собственный). Это: массив выдаваемых полей, в порядке выдачи, и... чо-то перемудрили, кажется, Антон с Олегом - оставим-ка в шаблоне только способ доступа к полю: ID поля в узле, либо маршрут к нему (для полей, расположенных в других узлах). А уж разделители между ними (пробел, запятая или там столбец - TD) - это уж как-нить шаблон страницы должон...

[робко] Мож, все-таки прокомментируете?

83. SERGEY_BIG, 19.08.2009 10:56
Vladimir Rybinkin
Что ж не прокомментировать
1. Объем передаваемых страниц при такой технологии, очевидно, уменьшается в разы. Облегчение, нет?
Это уже "украдено до нас" и вполне нормально себе существует. Мало того, сам язык JS был создан именно для этой цели. Однако во всём нужно знать меру. Создание "суперклиента" приведёт к увеличению трафика за счёт кода самого клиента и передачи избыточных данных, они не три копейки весит.
2. Пользователь, получая "на руки" уже не страницу, а целый виртуальный сайт, будет ковыряться в нем тоже в разы дольше и, соответственно, беспокоить сервер куда реже. Облегчение, нет?
См. выше.
3. Посылать ему при дальнейших запросах можно уже лишь недостающую информацию, а комбинировать страницы из нового и старого будет уже сам клиент. Облегчение, нет?
Как проверить, что имеющиеся на клиенте данные не потеряли своей актуальности? Или будет, как на "Титанике", где радист беспокоился об обеде, когда корабль шёл ко дну? Или же речь идёт, по своей сути, о работе с библиотекой? Про Амазонку, что ли читать?
4. Немалую часть запросов юзера тоже можно выполнить на клиенте, по имеющимуся ТАМ данным. По моим оценкам, таких "внутренних" запросов должно быть не менее половины. Облегчение, нет?
Cм. выше.
5. "Одновременности" не бывает, это только видимость. Есть такое понятие "квантование".
Про квантование лучше говорить не будем, изучал в своё время на профессиональном уровне. Замечу только, что серьёзное серверное ПО должно обеспечить функциональность работы. Что такое приоритет и очереди задач, время ожидания и т.п. известно?
6. До "многих пользователей" еще дожить нужно. А если это радостное событие все же случиться - можно воспользоваться хотя бы технологией того же Google: натравить на них здорове-е-е-енный кластер со сворой ощерившихся компов.
Без комментариев. Если идёт речь о поддержке библиотеки (а судя по всему, только такой вариант хоть как то проходит), она по определению многопользовательская.
7. "Внутренние" проблемы сервера клиентов не волнуют по определению - пущай занимается на здоровье, чем ему там нужно. Это не есть тема ветки. Хотя индексацией заниматься лично я своему серверу не позволю - этой глупостью пущай чужие серверы занимаются.
См. выше. Статические хранилища неконфиденциальных (раз они по чужим серверам валяются) данных никому не интересны. Большие деньги, лавры и почёт достаются за обработку динамических данных в режиме реального времени.

P.S. На сём дискуссию со своей стороны закрываю

84. Chippy2003, 19.08.2009 10:57
Vladimir Rybinkin
Мож, все-таки прокомментируете?
No

85. zzf, 19.08.2009 11:45
Vladimir Rybinkin
цитата:

ivanhoe
цитата:
Ну пользователю надо уже что-то законченное и работающее.
Вот именно такое я и посылал.
Ложь.

Добавление от 19.08.2009 12:11:

Vladimir Rybinkin
... Один массив бесспорен - "кортежи", остальные - пусть у класса голова болит.
... Но команды какие-то ввести надо, на всякий пожарный. Хотя бы call.
... Обязательная вещь - описание структуры.
... Так что выкинем-ка мы снова шаблоны из классов - гибкости в данном случае не прибавится, а софт усложнять незачем.
... чо-то перемудрили, кажется, Антон с Олегом - оставим-ка в шаблоне только способ доступа к полю

К чему эта словесная мастурбация с игрой терминами и затуманиванием, господин хороший. Осмелюсь процитировать из стартового поста:

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

86. Vladimir Rybinkin, 19.08.2009 15:45

zzf
цитата:
Что нам должна была продеМОНСТРировать сия поделка? Изменение состояний контролов не производит никаких видимых эффектов. Или это пример того, как не надо?
Нет, я же предупреждал, что это НЕ работает. Но хоть "контролы" увидели, наконец! Не совсем еще опустились современные броузеры...

rGlory
цитата:
Я знал, я знал...
Я тоже - почти никто иной даже и не упоминал про SINT.

dozen
цитата:
Именно изворачиваешься, и именно как всегда. Твои темы шаблоном генерить можно.
Дык уперед! Посещаемость твово сайта на порядок сразу вырастет.
цитата:
Ты же Борей на JS реализуешь, не я.
Боже ты мой! Еще раз: А мозги включать не пробовал? Я даю на клиента ВЫБОРКУ из БД. В ней - ДАННЫЕ из Борея. Борей же (в худшем случае) - НА СЕРВЕРЕ. Но я его еще и подправил малек, чтобы у юзера совсем глаза на лоб не повылазили. Синдбадом поправил, не JS.
цитата:
Про сервер-сайд ты пока не заикался
А ты... так, понятно. Ну хоть НАЗВАНИЕ ветки-то прочел?
цитата:
сколько лет в твою гостевую безвозбранно постили спамеры
А я никогда и не писал гостевую, я ее с какого-то Питерского сайта поставил. Антон, правда, позже написал свою, но ему тоже глубоко по барабану все эти спамеры, хакеры. Он - Программист, и на тех, кому ручонки почесать нечем, всегда плевал с высокой колокольни.
цитата:
Настоящее дело -- это то, за что сегодня или в перспективе платят настоящие деньги.
Дурак ты - прости, Господи! Только на деньги и смотришь. Вспомни хотя бы Кавендиша - у него этих самых денег куры не клевали. Но он все-таки занимался ДЕЛОМ. С твоей точки зрения, "бездарно потерял годы жизни на бесполезные трепыхания".
цитата:
1. Синдбада никто не видел
2. Синдбад ничего не умеет
3. Синдбад никому не нужен
Первая строчка - ошибка из-за отсутствия информации. Две другие - ошибки в логике. Ну... дальше не буду комментировать - ты и сам все знаешь.
цитата:
Это, вообще-то, Firefox был. Знаешь такой?
Не-а. А теперь - и знать не хочу.
цитата:
До него начинает доходить, вау!
Что именно? Безумная жадность никчемных девелоперов?
цитата:
Кстати, огромная просьба -- стащи себе сам Firefox, и тестируй свою поделку и на нём тоже.
Ясненько, не уважил... Ну и ладно, не очень-то и хотелось.
цитата:
XSS, например.
Чего "XSS", чего "например"?
цитата:
Что, интернет за неуплату отключали?
Что, ты мне рекомендуешь прочесть этот талмуд, ибо там сказано, что JS есть компилятор? Не поверю, и даже читать не буду. По крайней мере, пока ты САМ это не начнешь утверждать.
цитата:
Расслабься, ты ему нафиг не сдался.
А это ты Ване скажи - он что-то беспокоится...
цитата:
Бедный Йорик... в смысле, Юрик.
Юрик - это Программист. И не просто Программист, а СУПЕР-Программист. Кстати, помнишь - я рассказывал, как опрашивал программистов насчет малой модели? Так вот, вторым опрошенным был именно он. А по поводу "защиты"... ты просто не понял. Он это говорил очень давно, и совсем по другому поводу: в чешской (кажется) хоккейной сборной были два игрока: Либа и Нелиба. Он этот факт и прокомментировал.
цитата:
Напомню, что именно имя Шпеера стоит в титрах шахматной программы, которую ВР выдает за свою
О! Раньше на Миража набрасывались. Это что же, признание того факта, что он все-таки хорошая программа? И не надо врать - и я, и Юра считаем программу НАШЕЙ. Там "в титрах" и мое имя просматривается, кстати. Так что она и МОЯ тоже.

ivanhoe
цитата:
eval не устраивает тем что сложнее, неудобнее и небезопаснее в использовании.
Ну я же привел пример. И даже утверждал, что проще и элегантнее сделать ВООБЩЕ НЕВОЗМОЖНО! И что, мне этот лепет нужно воспринимать как возражение?
цитата:
Ну это Ваше личное мнение, с которым согласны не все.
Из нынешних?! Да ваще никто! Никто ж и не знает, что это такое. Хотя даже в ассемблере есть: mov ax,[bx+si].
цитата:
А чтобы подводить "точку" одним своим высказыванием, надо быть каким-то вселенским авторитетом.
С какой радости? Я просто НЕ ХОЧУ обсуждать этот вопрос, тем более - в этой ветке. Точка.
цитата:
Указатель отличается от переменной тем что может указывать в никуда или куда совсем не надо указывать, следовательно, за значениями указателя надо тщательно следить.
Господи, Ваня! Ну нельзя же так, ну нельзя! Переменная - тот же указатель (на участок ОЗУ). Разве что компилятор о ней малек побольше знает, и может нерадивого программера за руку схватить. Да и то лишь в самых примитивных случаях (в сложных он скорее под ногами путаться будет). Да и в примитивных...

for (i = 0; j < 10; i++)

Проще ведь некуда, не правда ли? Хорошо, если j не описана, а если она тоже используется? Получаем случайный цикл, от нуля до бесконечности, да еще, возможно, нестабильно работающий. На ровном месте. И никакой компилятор не поможет. И не дай Бог, вздумает помогать.
цитата:
Поэтому я предпочитаю работать с константами.
Умница! Так и я обожаю константы, и у меня в SINT константы всех мастей и размеров, с условной трансляцией, с использованием самих же констант для определения других...
код:

enum mainconst // определение базовых констант
{ // используемых в любой программе
...
// Определение кодов ошибок
...
// Определение кодов кодов клавиатуры
...
// Мнемоника индексов аргументов командной строки
...
// Кодировка битов байта тега объекта
...
// Кодировка команд обработчика стека очередей методов
...
// Кодировка команд прикладного уровня
...
SIZEFB = 1024 * 4, // размер файлового буфера (рекомендуется 4К)
...
c_TYPEFSTR = HI_ADDR | HO_DEVICE | D_SCREEN | HF_ADDR,
...
SIZEI16S // размер I16 в стеке в байтах
#if OSWIN // для ОС Windows
= 4, // даже для I16 в стек прячется 4 байта
#else // OSWIN
= 2, // DOS - как и положено, 2 байта
#endif // OSWIN
...
STACKMETHODSIZE = 64, // размер стека очередей методов
...

Но противопоставлять-то одно другому зачем?!
цитата:
Но употреблять ее можно по-разному. Одни употребляют на задачу, другие - еще и на борьбу с указателями.
Золотые слова! Я бы так здорово не сформулировал. Лично я предпочитаю "употреблять" только на задачу, то есть именно я и есть "из первых". А вот те, кто с указателями борется... см. где-то выше по ветке.
цитата:
А мне казалось наоборот
Обман зрения, дорогой!
цитата:
Напомню, речь шла про калькулятор
А, понял - извиняюсь.
цитата:
именно так у меня выглядит третий тест
Ага, все-таки и у Вас ни фига не видать! Ну, а как он ДОЛЖЕН работать, как он РАБОТАЕТ у меня под 98 с IE 5.00?
цитата:
Хоть что-то осмысленное показывает только четвертый тест
ЧЕГО?! Я ж его еще не постил. Ах, ЭТО? Не, это не четвертый, это пара сохраненных виртуальных страниц ТРЕТЬЕГО (через view as HTML). Они НЕ РАБОТАЮТ, они приведены лишь для того, чтобы публика смогла хоть что-то увидеть. И НЕ ДОЛЖНЫ работать, ибо они есть виртуальные, сгенеренные прямо на клиенте страницы. А все данные лежат НА МОРДЕ (которая index.htm, которая FRAMESET). Их туда забросил инициализирующий фрейм a.h, который тыщу лет как умер (на евойном месте они-то и генерятся).
цитата:
Бегло посмотрев, обнаружил, что JavaScript используется для упаковки HTML.
Упс! Вроде, сам писал, но об этом даже не догадывался...
цитата:
Не очень понял в чем смысл этих тестов
Естественно! Вы ж ни одного и не видели.
цитата:
Вы мои ссылки не прочитали, но убеждение уже имеете
Дык.. слова-то Ваши я все же прочел...
цитата:
Так не бывает.
Ха-ха-ха! Я уж не говорю про монитор SINT, но даже в ЗДЕШНИХ моих тестах есть функция __() - единственная двухсимвольная - из уважения, поскольку тоже какой-никакой монитор.
цитата:
Напомню ход обсуждения.
Ага, спасибо. Попозже я и сам въехал.
цитата:
А также в курсе, что разница между интерпретаторами и компиляторами в настоящий момент весьма условная.
Серьезно?! Наконец-то! Надеюсь, движение идет не только в сторону компилятора? Что-то не похоже по Вашему постингу...
цитата:
Класс типов - это по простому "тип типов".
Здорово! Хоть на стенку вешай. Да я, впрочем, догадываюсь - давно уже ругаются всякими "надклассами", "суперклассами". Каша в голове - не понимают, что данные - это и есть метаданные (и наоборот), что класс - это и есть объект, и т.д. В Синдбаде сейчас штук пять уровней всяких там классов, и полностью открытая система - хоть сотню уровней лепи.
цитата:
Например, в Haskell...
... тоже придут к пониманию, что в сложных случаях никаких Ord, Num и прочих названий не хватит. Не, в вики не полезу - на мой взгляд, мое представление обо всем этом вполне терпимое.
цитата:
Видимо от Вас запросов было немного.
Ну я же нормальный экспериментатор. Мне нужно было лишь качество запроса, а не их количество. Когда-то давно - я был сисадмином у Инет-провайдера - я запустил прогу для проверки существования ресурсов моей базы ресурсов (тыщ 200 их у меня было). Так позвонил мне верхний провайдер, и говорит: у тебя кто-то что-то непотребное вытворяет - у нас DNS с ума сходит. Да это мы тут... плюшками балуемся...
цитата:
Меня исключительно как пример использования MS Access
Ну, это скушно. Откуда ж этому Access знать, что "Alfreds Futterkiste" и "Alfred's Futterkiste" - это одна и та же компания, что компания, перевозившая несколько лет грузы другой, имеет с ней общий телефон (хоть бы налоговую предупредил ), что парочка компаний ваще неизвестно чем занимаются - ни потребляют, ни производят, ни перевозят, что...

dozen
цитата:
Он туда собственно JS-файл i.j забыл(?) положить.
Не знаю, о чем Вы, сэр, но i.j лежит во всех трех тестах. А, понял!

zzf
цитата:
Так хотел посмотреть как цвет фона меняется.
О-хо-хо... И этот знакомое слово увидел... Там тесты СОВСЕМ не об этом. Ну, если уж так уж прям уж интересно...
код:

var a=new Array("d.p.w","d.p.b","d.p.l");
function P(s){m.e=eval;b.p=m.e(a[s-1]);m._(d.g);}

Вызов из select, надеюсь, не нужно приводить? Кстати, вариант - глаз что-то резануло:
код:

var a="wbl";
function P(s){m.e=eval;b.p=m.e('d.p.'+a.charAt(s-1));m._(d.g);}

Проверить, что ли... ежу понятно, что работает. Ладно уж... а, там еще мнемоника чуть другая... но все равно - работает. Как часы.

ivanhoe
цитата:
Не очень понятно, почему бы Вам не выкладывать свои тесты сразу на Web, у Вас же есть свой сайт? И никакие файлы никуда не пропадут.
1. А на кой? Это же тест.
2. А толку? Броузеру dozen все равно не поможет.
3. Нигде ничего не пропало.

dozen
цитата:
Кстати, ВР не обращал внимания на то, как выглядит вот эта самая страница (форум) в голом HTML, и для чего там используется JS? Может, какие подозрения зародятся...
Не-а, не обращал. Зачем мне какие-то подозрения?

SERGEY_BIG
цитата:
Что ж не прокомментировать
Вот спасибо. Ну и я того... єтого...
1. Укарадено так украдено - какая разница? А насчет "обїема суперклиента"... взгляните на обїем тестов. Там действительно "не три копейки", там и на полушку не наберется.
3. Ха-ха-ха! А как проверить, что токо что полученніе (вот прям ща) с сервера данніе "не потеряли своей актуальности"?
5. Ну дік... если "изучали на профессиональном уровне" - что ж глупости-то говорить? "Что такое приоритет и очереди задач, время ожидания и т.п." - известно. Известно также, что клиенту на все єто начхать (и правильно).
6. Какая "поддержка библиотеки", о чем Ві?! Блин, комп какой-то с ивритом попался...
7. Ежу понятно, что "Статические хранилища данных никому не интересны". Єто же не повод заниматься онанизмом (индексацией)?
цитата:
На сём дискуссию со своей стороны закрываю
Ох, сомневаюсь!

zzf
цитата:
Ложь.
Ну Вам-то откуда знать?! У Вас же ничего не работает. Или полагаете, что я єти виртуальніе страниці ручками писал?
цитата:
К чему эта словесная мастурбация...
Похоже, єто НЕ ВАША ветка, родной. Это и есть "некоторые нюансы идеологии программирования софта для работы на компьютере клиента (именно идеологии, а не собственно программирования, с самым общим кодом принципиальных моментов)" .

87. Chippy2003, 19.08.2009 16:06
var a="wbl";
function P(s){m.e=eval;b.p=m.e('d.p.'+a.charAt(s-1));m._(d.g);}

единственное что не ясно: на фига это творение было пропускать через обфускатор...

88. Tasman, 19.08.2009 16:14
Vladimir Rybinkin
В целом тема (перетаскивание функциональности на клиента) интересная и в последнее время стала модной (сейчас браузеростроители любят меряться у кого быстре JS).

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

Ещё просматривая приводинмые в ветке примеры из вашего JS, у меня возник вопрос - это какой-то кодогенератор? Код явно сильно подогнан под текущие данные, но вы же не расчитываете на то, что такой код будут писать руками с нуля для каждой новой задачи (а что еще хуже при малейшем изменении существующей). Другими словами говорите ли вообще о каком-то возможном фреймворке или о том как переписав всё руками под конкретную задачу получить некий идеальный результат? Возможность последнего не вызывает сомнений, но на практике это неприменимо из-за высокой цены поддержки и сопровождения этого кода.

89. evilbloodydemon, 19.08.2009 16:26
Tasman
говорите ли вообще о каком-то возможном фреймворке

SINT.js, ага

90. SERGEY_BIG, 19.08.2009 17:07
Chippy2003
Это - в перлы, однозначно!

91. dozen, 19.08.2009 17:31
Vladimir Rybinkin
А я никогда и не писал гостевую, я ее с какого-то Питерского сайта поставил

А-а-а, так ты просто script-kiddie?

Антон, правда, позже написал свою, но ему тоже глубоко по барабану все эти спамеры, хакеры. Он - Программист, и на тех, кому ручонки почесать нечем, всегда плевал с высокой колокольни.

Фэнтази-вселенная ВР: выдумываются всё новые персонажи с новыми, чудесными способностями. Ждем драконов (которые тоже были у ВР в подчинении и Программисты с большой буквы).

92. ErmIg, 19.08.2009 18:30
Vladimir Rybinkin
Вспомни хотя бы Кавендиша - у него этих самых денег куры не клевали. Но он все-таки занимался ДЕЛОМ.
Кавендиш практически не публиковал своих открытий - потому его выдающиеся изыскания во многом оказались бесполезными. Они интересны только с исторической точки зрения.

93. dozen, 19.08.2009 18:47
ErmIg
Кавендиш практически не публиковал своих открытий

Да и хрен по нём. У него бабла изначально было на любые дела и делишки. ВР скромностью не обижен, с кем себя сравнивает...

94. ivanhoe, 19.08.2009 19:56
Vladimir Rybinkin

цитата:

Это песня! Во-первых, какое кому дело до того, что "бывает даже в C", даже если там и "бывает" что-то очень хорошее, нужное, важное? Во-вторых, что это за зверь такой "обычные ассоциативные массивы", и чем они "обычнее" eval? И каким боком Вы их собираетесь прилепить "для приведенных примеров" (особенно для первых двух)?
Ассоциативные массивы: http://en.wikipedia.org/wiki/Associative_array

Как использовать вместо eval - правильно выбрать структуры данных и менять не код, а только данные.

цитата:

В-третьих ЗАЧЕМ?! Вы упростите код, уменьшите объем, увеличите функциональность, еще что-то?
Упрощу код, сделаю его более надежным. Краткость сама по себе никому не нужна, самые короткие программы, как правило, плохо читаются, модифицируются и дольше пишутся. Вот, например из личной практики:
удаление слова из текста, #9 (http://forum.ixbt.com/topic.cgi?id=26:37845:9#9) Вариант 2' короче, но плохо читается и писал я его дольше.

цитата:

Eval, кстати, в C/C++ тоже бывает, называется, CINT (почти СИНТ)
Серьезно?! А на хрена она там-то нужна - там же, вроде, и "нормальные" указатели имеются? Господи, НЕУЖТО ОТМЕНИЛИ???!!!
Указатели, конечно же, не отметили. А CINT разрабатывался для двух целей:
1) как скриптовый язык некоего церновского проекта. выбор в качестве языка именно C (а не, например, lua или tcl) был как раз обусловлен возможностью миграции кода из интерпретируемого в компилируемый (у них проект счетный и скороть критична)
2) быстрая разработка и отладка C'шного кода. eval бывает полезен для отладки

цитата:

Тесты 1-3 по-моему, ни у кого их присутствующих не заработали.
И У ВАС?! Откуда же тогда откровения про то, что для них "достаточно"?
Да, и у меня, а что так удивляет. У меня, как обычно, наименее традиционные ОС :) На работе - FreeBSD/x86, личный нотебук - Linux/x64

цитата:

Да?! ЭТО Вы считаете "программированием web-морд"? Ну... в принципе, Вы правы, хотя я бы так назвать не решился. И что, Вы умудряетесь скучать при программировании морды, которая FRAMESET?!
Я web-морды пишу крайне редко, в последнее время исключительно тестовые. Фреймов я в них не использую и JS крайне редко. И, таки да, деятельность это довольно рутинная. Поэтому, чтобы не сильно скучать, пробую разные средства разработки. Последние три писал на: 1) Java (Servlets/JSP) 2) Python/Django 3) Perl/Catalyst. Собирался при случае попробовать Ruby-on-Rails, но, прочитав dozen, решил что попробую-таки GWT :)

цитата:

Или Вы знаете кого-то другого, кто при этом "скучает"? Или Вы вообще никого и ничего не знаете, а просто так "считаете"? Последний случай неинтересен, а об остальном нижайше прошу возможно более развернутых подробностей.
Я скучаю, поэтому занимаюсь, в основном, системно-сетевыми вещами, а интерфейс с пользователями делают web-разработчики. И у них там как-то поскучнее обстановка на мой взгляд.

цитата:

Ну я же привел пример. И даже утверждал, что проще и элегантнее сделать ВООБЩЕ НЕВОЗМОЖНО! И что, мне этот лепет нужно воспринимать как возражение?
Проще и элегантнее сделано, например, на этом форуме, см. исходники любой страницы, например, этой.

цитата:

Господи, Ваня! Ну нельзя же так, ну нельзя! Переменная - тот же указатель (на участок ОЗУ). Разве что компилятор о ней малек побольше знает, и может нерадивого программера за руку схватить. Да и то лишь в самых примитивных случаях (в сложных он скорее под ногами путаться будет). Да и в примитивных...
Переменная это не указатель и измененяя переменную i в большинстве случаев можно быть уверенным, что переменная j при этом не изменится (измениться она может в случае когда эти переменные глобальные, а программа использует паралеллизм). Что же касается реализации переменных, то совсем не обязательно они будут находиться в ОЗУ, т.к.
1) все компиляторы давным-давно умеют использовать для временных переменных регистры
2) все компиляторы (современные, а не Borland С версии 3.1) используют оптимизации удаления лишних переменных, т.е. довольно часты случаи когда в тексте программы переменная будет, а в исполняемом коде ее не будет

цитата:
Ага, все-таки и у Вас ни фига не видать! Ну, а как он ДОЛЖЕН работать, как он РАБОТАЕТ у меня под 98 с IE 5.00?
А у меня под FreeBSD (x86) с Firefox 3.0.x он не работает. Кстати тестирование Web'а это довольно трудоемкий ароцесс. У нас в отделе тестирования видел девочку, у которой на компьютере запущено девять разных браузеров и она последовательно пробует страницы под всеми ими.

цитата:
Серьезно?! Наконец-то! Надеюсь, движение идет не только в сторону компилятора? Что-то не похоже по Вашему постингу...
Движение идет в том направлении, что понятия "интерпретатор" и "компилятор" сейчас уже практически бессмысленны, особенно применительно к языкам. Одна и та же программа на C (или на JavaScript) может выполняться и в интерпретаторе (на этапе отладки) и в виде скомпилированного кода (в production deployment - не знаю как это по-русски).

цитата:
тоже придут к пониманию, что в сложных случаях никаких Ord, Num и прочих названий не хватит.
Надо SPJ об этом сообщить, вдруг он не знает. :) Но, подозреваю, что справится, так как есть пространства имен.

цитата:

Ну, это скушно. Откуда ж этому Access знать, что "Alfreds Futterkiste" и "Alfred's Futterkiste" - это одна и та же компания, что компания, перевозившая несколько лет грузы другой, имеет с ней общий телефон (хоть бы налоговую предупредил ), что парочка компаний ваще неизвестно чем занимаются - ни потребляют, ни производят, ни перевозят, что...
Об этом должен знать программист, а не Access. Нормализацию названий можно делать довольно по-разному и встречается она довольно нечасто, в основном, в задачах data mining и поиска (для которых MS Access не применяется). Встраивать все возможные виды нормализации в универсальную БД:
1) невозможно
2) ненужно, т.к. нарушает принцип "separation of concerns"
Но, также, MS Access никак не препятствует делать нормализацию хоть чего угодно, и даже (субъективно) на реляционках это делать удобнее, если требования позволяют.

95. Chippy2003, 20.08.2009 00:58
ivanhoe
У нас в отделе тестирования видел девочку, у которой на компьютере запущено девять разных браузеров и она последовательно пробует страницы под всеми ими.
Когда случайно наткнулся на http://www.lunascape.tv, был уверен, что там будет режим с одной адресной строкой и ie/gecko/webkit тремя столбцами одновременно. Но увы... Видимо таких девочек разработчики броузеров люто ненавидят

96. zzf, 20.08.2009 01:46
Vladimir Rybinkin
цитата:
Но хоть "контролы" увидели, наконец! Не совсем еще опустились современные броузеры...
Конечно, не совсем. Открыть файл с шумом и показать контролы — это уже что-то.

цитата:
И НЕ ДОЛЖНЫ работать, ибо они есть виртуальные, сгенеренные прямо на клиенте страницы.
То есть, ты нафигачил такой скрипт, который генерирует у клиента то, что НЕ ДОЛЖНО РАБОТАТЬ? Это как раз то, что надо. Это прорыв, чесслово.

цитата:
Там тесты СОВСЕМ не об этом.
Так о чём там тесты? Внятного ответа пока не было.

цитата:
Проверить, что ли... ежу понятно, что работает.
Ёж оказался немного туповат. По прежнему не работает.

цитата:
Ну Вам-то откуда знать?! У Вас же ничего не работает.
Как мило. Ну как же? Если поделие, выдающее на экран "Loading..." сопровождается высказыванием "я посылал работающее решение", то такое высказывание ничем, кроме ЛЖИ назвать нельзя. Не думаю, что "тест" был о том, чтобы вывести одно слово. Строго говоря, я даже и не "Loading..." вижу, а содержимое файла a.h, который это пытается вывести.

Добавление от 20.08.2009 01:52:

Господа знатоки, какой сакральный смысл в последовательности

код:
m.e=eval;b.p=m.e('d.p.'+a.charAt(s-1));

?

Разве
код:
b.p=eval('d.p.'+a.charAt(s-1));

не делает того же самого?

97. dozen, 20.08.2009 07:28
zzf
не делает того же самого?

Формальный ответ на этот вопрос -- "нет; в первом коде в объекте m появляется ссылка на eval".

Неформальный ответ на "накой хрен вводить alias?" -- если у него там eval через слово, то экономится некоторое количество байт. Правда, непонятно тогда, почему charAt не за-alias'ен... или как раз потому, что про метаклассы не знает?

Добавление от 20.08.2009 07:31:

То есть, ты нафигачил такой скрипт, который генерирует у клиента то, что НЕ ДОЛЖНО РАБОТАТЬ? ... Это прорыв, чесслово.

Ну, это еще по божески. Я ожидал увидеть (анимированные) скриншоты окна браузера, как у ВР принято.

98. ivanhoe, 20.08.2009 08:10
dozen

цитата:
Неформальный ответ на "накой хрен вводить alias?" -- если у него там eval через слово, то экономится некоторое количество байт.
Тогда уж логичнее было бы:
код:

var e = eval

Единственное осмысленное объяснение это то что объект m выполняет (или планирует выполнять) еще и некие действия, а объект m хранит необходимое им состояние. Метауровень типа :>

99. dozen, 20.08.2009 08:18
ivanhoe
Тогда уж логичнее было бы

Ну, логика разная бывает. Я считаю имя "e" -- нелогичным, потому что потом нечитабельно. Но у ВР особенная логика, как известно.

100. Vladimir Rybinkin, 20.08.2009 09:43
Ладно, отвечать пока не будем - не то настроение (слишком добрый). Даю последний отчет:

Начнем, пожалуй - с утречка оно сподручнее...

О! Как я и ожидал - скорость резко возросла: классы завели мгновенно. Интересно, скоко там ошибок?

Шаблоны доступа... глаза разбегаются... похоже, нужно давать траекторию по умолчанию - пущай сама рекурсивно в шаблонах вложенных классов ковыряется... Одуреть! Для Employees шаблон проще, чем для Persons. Так, завели... Надо же! Даже старая инициализация без ошибок сожрала! Ну ничего, это ненадолго - ща мы ей покажем, где раки зимуют!

Инициализатор объектов уже под управлением классов... Хм, а стоит ли вообще раскрывать шаблоны? А, пущай - вроде, чуть проще... Я просто балдю! Чо ни творишь - а ошибок все нет и нет. Этого ж быть не могет, он же тупее меня - я ж сапиенс, черт побери! И как он в этом кошмаре разбирается? Да и разбирается ли? Ладно, потерпим до выдачи...

Не, ну ее на фиг! Рановато начал, перекур маловат - не вынесла душа поэта. Шаблоны страниц видятся, как в тумане. Да и с инициализацией, небось, напортачил - как же без этого? Но ведь генерит чего-то, падла!

Запостить, что ли? Или рано еще? А какая, собссно, разница? Эти друзья один хрен ни черта не увидят... Господа! Ведь ваши компы ВНАГЛУЮ ОТКАЗЫВАЮТСЯ РАБОТАТЬ! И вы это ТЕРПИТЕ!!! Мало того - и меня хотите склонить к тому же. Как же - разбежался! Чтобы какой-нить сраный эксплорер и мне условия смел ставить?! Железяка х... фигова! Ладно, запостим - авось у кого-то завалялась старенькая математика, которая еще в состоянии что-то делать. А, впрочем, хренушки - пусть вначале хотя бы первые три теста увидят.

Чо это со мной сегодня творится? Ни хрена толком не сделал, а настроение... ну как у идиота! На классику потянуло:

Ко мне пришел водопроводчик
И отопление врубил
Я ненавижу его очень
За то, что взял с меня рубиль.

Собирайся, молодец!
Поведем тебя мы к шаху
На расправу во дворец.
Ну-ка, помолись Аллаху,
Чистую надень рубаху,
Через час тебе...

А, понял: это спина (спинной мозг) почувствовала безумную силищу клиентской математики. Потенциальную еще, конечно, но... Усех замочим, господа (и даже не в сортире) - правильно?

Добавление от 20.08.2009 09:57:

Не, все же чуть отвечу...

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

Да, это... ну, можно назвать "кодогенератор". Код и должен быть "сильно подогнан под текущие данные" - это ж клиент! Никакой код "писать руками с нуля" не требуется - объем базовых функций НИЧТОЖЕН! Руками писать.. да что я, негр? Цена, на мой взгляд, просто ничтожна - за время жизни этой ветке я один написал и системные вещи, и прикладные - куда уж проще?

ErmIg
Господи, да КАКАЯ РАЗНИЦА?!

dozen
Ни с кем я себя не сравниваю. Кавендиш - ВЕЛИКИЙ человек. А я всего лишь очень хороший алгоритмист.

ivanhoe
Извините, но для ответа на Ваш постинг я действительно сегодня слишком добрый. В любом случае, спасибо за ответ.

Ну и прочие... живите пока...

101. ivanhoe, 20.08.2009 10:20
Vladimir Rybinkin

цитата:
Извините, но для ответа на Ваш постинг я действительно сегодня слишком добрый. В любом случае, спасибо за ответ.

Да отвечайте, чего уж себя сдерживать. Переживали и не такое.

102. ErmIg, 20.08.2009 10:20
Vladimir Rybinkin
Господи, да КАКАЯ РАЗНИЦА?!
Разница в том, что Кавендиш не публиковал свои великие открытия, а Рыбинкин свои "великие открытия" публикует...

103. zzf, 20.08.2009 13:17
Vladimir Rybinkin
цитата:
О! Как я и ожидал - скорость резко возросла
Скорость, пардон, чего? Вывода "Loading..."?

цитата:
похоже, нужно давать траекторию по умолчанию
Словоблудие.

цитата:
Одуреть! Для Employees шаблон проще, чем для Persons.
Насколько я помню, там были города и озёра. Какие ещё Employees и Persons?

цитата:
Инициализатор объектов уже под управлением классов.
Словесная мастурбация.

цитата:
Но ведь генерит чего-то, падла!
"Что-то", ага. То, что НЕ ДОЛЖНО РАБОТАТЬ?

цитата:
Ладно, запостим - авось у кого-то завалялась старенькая математика, которая еще в состоянии что-то делать. А, впрочем, хренушки - пусть вначале хотя бы первые три теста увидят.
С чего бы это первые три "теста" заработают вдруг? Ты полагаешь, что Майкрософт, Опера и Мозилла уже выпустили патчи, которые заставляют работать твои недоподелки?

цитата:
Усех замочим, господа (и даже не в сортире) - правильно?
Ага, себя уже замочил,. Я бы сказал обмочил. Ни концепции, ни работающих примеров, ни описаний предполагаемых результатов тестов. Пообсохнуть бы тебе сначала, великий ты наш концептуал...

Добавление от 20.08.2009 13:29:

dozen
Неформальный ответ на "накой хрен вводить alias?" -- если у него там eval через слово, то экономится некоторое количество байт.

ivanhoe
Единственное осмысленное объяснение это то что объект m выполняет (или планирует выполнять) еще и некие действия

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

104. Chippy2003, 20.08.2009 13:30
zzf
Насколько я помню, там были города и озёра. Какие ещё Employees и Persons?
Города нанимают озера для поставки воды, что тут может быть непонятного

105. dozen, 20.08.2009 16:12
Vladimir Rybinkin
А я всего лишь очень хороший алгоритмист.

Да-да, ну просто очень хороший. Помницца, Кнута ниacилил.

Добавление от 20.08.2009 17:32:

Кстати, All, давайте обсудим проблему SEO для Rich Apps. Если на клиента грузится только скелет, а весь контент подгружается JS, то такую страницу отдавать поисковым роботам -- бесполезно (=вредно). С другой стороны, иметь два способа генерации страниц -- один для браузера, другой для ботов -- накладно.

Я пробовал искать решение для GWT. Набросал custom tags, которые в JSP вставляют JSON-объекты. Потом враппер над GWT RPC проверяет -- есть ли данный объект в странице (через Native JS function), если есть -- берет оттуда, если нет -- зовёт RPC. Немного громоздко, но прозрачно для остального GWT-кода. Но у меня еще не было шанса проверить, как гугль отнесется к такому контенту. Судя по forum.ixbt.com, данные в JS-вызовах вполне себе индексируются гугльботом.

У кого какие идеи?

106. ivanhoe, 20.08.2009 18:30
dozen

цитата:

Кстати, All, давайте обсудим проблему [censored] для Rich Apps.
Папрашу не выражаться :)

цитата:
Но у меня еще не было шанса проверить, как гугль отнесется к такому контенту.
Если специально с гуглом не договоришься, будет относиться как к мусору.

цитата:
Судя по forum.ixbt.com, данные в JS-вызовах вполне себе индексируются гугльботом.
Ну вообще-то можно заметить что гугл и другие заходят зарегестрированным гуглботом, а не гостем. А все потому, что зарегестрированный пользователь может поставить себе в настройках отдачу чистого HTML без всякого JS и я имею сильные основания предполагать, что у упомянутых ботов эта настройка включена. :>

цитата:
У кого какие идеи?
С краулингом JS и прочих видов активного контента довольно много проблем.
1) сейчас все поисковики общего назначения используют модель обхода по ссылкам. В rich app довольно сложно понять что такое ссылка, задача в общем случае алгоритмически неразрешима
2) помимо ссылок rich app имеют состояние, с которым
a) краулеры работать не умеют
b) которое может полностью задавать содержание страницы и быть очень большого размера. Представь себе этот форум сделанный как экстремальное rich app - одна страница со сплошным аяксом, у пользователя в зависимости от состояния то один форум то другой то настройки то результаты поиска. Страница, повторюсь, одна, состояние десять мегабайт. Как на это ссылаться?
3) разбор активного контента это очень ресурсоемкая задача, из личного, так сказать, опыта, даже если в случае частном его можно разобрать.

107. Dilon, 20.08.2009 18:44
ivanhoe
цитата:
цитата:Судя по forum.ixbt.com, данные в JS-вызовах вполне себе индексируются гугльботом.

Ну вообще-то можно заметить что гугл и другие заходят зарегестрированным гуглботом, а не гостем. А все потому, что зарегестрированный пользователь может поставить себе в настройках отдачу чистого HTML без всякого JS и я имею сильные основания предполагать, что у упомянутых ботов эта настройка включена. :>
Я вообще не разбираюсь в SEO, хотел бы уточнить в каком смысле зарегистрированным? Особые настройки в robots или ...?

108. dozen, 20.08.2009 18:47
ivanhoe

Если специально с гуглом не договоришься, будет относиться как к мусору

Откуда такие сведения?


Ну вообще-то можно заметить что гугл и другие заходят зарегестрированным гуглботом, а не гостем. А все потому, что зарегестрированный пользователь может поставить себе в настройках отдачу чистого HTML без всякого JS и я имею сильные основания предполагать, что у упомянутых ботов эта настройка включена. :>


Э.... не очень понял про настройки. Гугльбот просто вытаскивает HTML, а внешние JS -- не тащит. В результате, где посетитель видит кучу (динамически загруженного) контента, гугльбот видит


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>MyTitle</title>
<script type="text/javascript" language="javascript" src="com.mypackage.MyModule.nocache.js"></script>
</head>

<body>
<div id='for.gwt'></div>
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
</body>
</html>

У меня (в пилотном проекте) подход такой:


<body>
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
<div id='for.gwt' style='width:100%'></div>

<t:userinfo/>
...

Вот этот тэг userinfo -- он генерит такой вот кусочек в странице:


<div style='display:none' id='userinfo.id'>12345</div>
<div style='display:none' id='userinfo.fullname'>John Doe</div>
...

и потом, в элементе LazyHTML:

код:

private void installHtml(String id) { // id = userinfo.fullname
Element el = DOM.getElementById(id);
if( el != null ) {
String html = el.getInnerHTML();
realSetHTML(html);
} else {
RPC.getDIV(onHTMLListener,id);
}
}


То есть нашли элемент в странице -- используем, не нашли -- зовем RPC. Требует назначения глобальных ID каждому элементу данных.

В результате Google как бы видит данные... но с другой стороны, у них display:none, что, как я слышал, гуглем не одобряется. Можно выставить им класс (CSS гугльбот, вроде, не подгружает). А можно сделать как тут (на форуме):


<script ...>
add_div('userinfo.id','12345');
add_div('userinfo.fullname','John Doe');
...

Тут гуглю уже будет неизвестно, что add_div() создает невидимый div.

Я лично планирую несколько упростить систему, а именно вместо коллекции DIV иметь один JS вида


<script ...>
var userinfo = { id:12345, fullname:"John Doe", ... };
</script>


b) которое может полностью задавать содержание страницы и быть очень большого размера. Представь себе этот форум сделанный как экстремальное rich app - одна страница со сплошным аяксом, у пользователя в зависимости от состояния то один форум то другой то настройки то результаты поиска. Страница, повторюсь, одна, состояние десять мегабайт. Как на это ссылаться?


Ну, это экстрим, такое делать не надо. Надо по странице на функциональность (то есть для форума -- страница на тему), и уже внутри неё вести JS-активность. Что, собственно, на forum.ixbt.com и сделано.

109. arsa, 20.08.2009 18:50
dozen
как раз сейчас этим занимаюсь. в общем со стороны google нет решения, и не предвидится, что вполне логично.
вот когда они у себя сделают достаточно много API что бы им можно было данные свои передавать (а не наоборот - как сейчас), тогда конечно это дело поднимется сильно.
например, у них есть http://www.google.com/local/add/ - пока что в зачаточном состоянии, а мне сильно надо. или google base + product search (бывший froogle), тоже очень ограниченный и не позволяет мне сделать локальный поиск по продуктам.
в общем для google индексация web 2.0 это гиблое дело, поэтому они так поддерживают всякие microformats и прочие протоколы обмена данными.

для себя я сделал следующее - все важные варианты отработки моей основной страницы так же представлены статичным html.
то есть, например, у меня есть поиск по производителям и моделям - я его вывел гуглу (через urlrewrite / ihttpmodule), и он с радостью полез ботом всё это дело индексировать.
сейчас закупил базу CBSA, и буду показывать ещё и по метро-районам отдельные страницы.
в идеале я собираюсь сделать статичную страницу по каждой комбинации данных что у меня есть


далее технически. конечно, человек заходящий на страницу получает тоже статику, я не хочу никого обманывать и перенаправлять на ajax версию автоматом (это не поощряется гуглом, хотя как они это найдут не понятно). зато у меня есть кнопка "buy now" которая уже в свою очередь перенаправляет на ajax страницу, причём с критериями:
http://site/script#criteria=blah
параметры после # можно довольно просто считать при загрузке страницы и показать что надо (gmail например это делает успешно)

110. ivanhoe, 20.08.2009 18:56
dozen

цитата:
Откуда такие сведения?
Общеизвестный, особенно в поисковых кругах, факт. Можешь проверить :)

dozen, Dilon

Объясняю про forum.ixbt.com. Залогиньтесь и зайдите в настройки своего профиля http://forum.ixbt.com/misc.cgi?id=setup. Там есть пункты:
1) Разрешить создание страниц списка тем с помощью Java Script
2) Разрешить создание страниц тем с помощью Java Script

Поставьте их в "Нет", как у меня. Посмотрите в исходники страниц после изменения, вместо JS будет HTML. Именно так и обрабатывают forum.ixbt.com и гугл и яндекс и рамблер и все другие поисковики, логинятся ботом (у которого вышеупомянутые настройки выставлены в "Нет"), краулят и индексируют чистый HTML.

111. dozen, 20.08.2009 19:14
arsa
в идеале я собираюсь сделать статичную страницу по каждой комбинации данных что у меня есть

Понимаю, это решение, конечно, но это именно дубликация усилий. Вот я и чешу репу, как можно этого избежать.

параметры после # можно довольно просто считать при загрузке страницы и показать что надо

В GWT есть встренный листенер, который этот параметр немедленно выдаёт очень удобно.

ivanhoe

Общеизвестный, особенно в поисковых кругах, факт. Можешь проверить

Допуская, что это так, всё-таки хочу увидеть ссылку. Ибо Google уже даже Flash-мувики индексирует. Чего бы это он так JS-константы дискриминировал?

А, вот:
http://www.google.com/support/customsearch/bin/answe…&answer=72366

Хмм... похоже, моя идея с <DIV> более SEO-friendly, чем с JSON... хоть и более verbose. Правда, есть еще решение: "Provide the textual contents of JavaScript in a noscript tag". То есть можно положить JSON в <script> и тут же тот же контект как plain text в <noscript>.

Именно так и обрабатывают forum.ixbt.com и гугл и яндекс и рамблер и все другие поисковики, логинятся ботом (у которого вышеупомянутые настройки выставлены в "Нет"), краулят и индексируют чистый HTML.

Иными словами, никакого логина у них нет, просто у fixbt по умолчанию для неизвестных юзеров страница отдается без JS? Щас проверю wget'ом... хмм... 503 Service Temporarely Unavailable... ok, IE без логина... выдал JS. Гугль бот никуда не логинится. Другое дело, что по имени user agent можно выдать плоский HTML...

112. ivanhoe, 20.08.2009 19:24
dozen

цитата:
Ибо Google уже даже Flash-мувики индексирует.
Flash-мовики индексирует не общий поиск, а специальный - по флеш-мувикам, заточенный под флешмувики специально. И он не индексирует, например, флеш-игрушки или флеш-демки - для них надо специальный поиск писать :>

цитата:
Другое дело, что по имени user agent можно выдать плоский HTML...
Да, по имени юзерагента похоже все и происходит. А в принципе я все-таки прав. :>

113. dozen, 20.08.2009 19:27
Вот тут чувак summarize Google policies: http://itezer.com/blog/ajax/6-Get-Google-and-AJAX-to-Play-Nice.html

Мне, если не отказываться от GWT, то нужно класть в <noscript> тот же контент, что в <script>. Походу, это универсальное правило.

114. ivanhoe, 20.08.2009 19:28
P.S. Кстати это имеет прямое отношение к теме Владимира.

Vladimir Rybinkin, как мы тут мимоходом выяснили, ваши генеренные страницы не будут индексироваться поисковиками, используйте чистый HTML и всем будет проще и вам и гуглу и клиентам! (и читателям этого форума)

115. lvqcl, 20.08.2009 19:28
dozen
Гугль бот никуда не логинится.

Зайди на http://forum.ixbt.com/ и увидишь:

За последние 5 минут конференцию посетило: 1726 (203 участников, 26 скрытых, 1497 гостей)
...
а также поисковые роботы: Googlebot, StackRambler, Yandex, msnbot

116. ivanhoe, 20.08.2009 19:32
lvqcl

Таки это фиктивные пользователи, которыми считаются клиенты, пришедшие с соответствующей записью в UserAgent

117. dozen, 20.08.2009 19:32
ivanhoe
А в принципе я все-таки прав. :>

Так вот, практика выдачи гугльботу не того же контента, что юзеру называется клоакинг, и является основанием попасть в black list. Другое дело, что этот лист, вроде, не автоматический, а human-managed. Как гугль может отдетектить cloaking? Да просто -- зайдя с другим user agent с IP не в домене google.*.

118. Dilon, 20.08.2009 19:32
lvqcl
Откуда у поисковых ботов логин на forum.ixbt.com? Бота по Agent можно опознать.

119. dozen, 20.08.2009 19:34
ivanhoe
Flash-мовики индексирует не общий поиск, а специальный - по флеш-мувикам, заточенный под флешмувики специально.

Я к тому, что "специальный поиск" может искать и по JS (http://www.seomoz.org/ugc/new-reality-google-follows-links-in-javascript-4930) .


"One of the main issues with Ajax sites is that while Googlebot is great at following and understanding the structure of HTML links, it can have a difficult time finding its way around sites which use JavaScript for navigation. While we are working to better understand JavaScript, your best bet for creating a site that's crawlable by Google and other search engines is to provide HTML links to your content."

...

"Googlebot does not execute some types of JavaScript."


Иными словами, Гугль исполняет JS -- точнее, пока часть его, где он (Гугль) видит генерацию URL.

120. lvqcl, 20.08.2009 19:44
ivanhoe
Таки это фиктивные пользователи, которыми считаются клиенты, пришедшие с соответствующей записью в UserAgent

Тогда можно зайти (хотя бы телнетом) на ixbt и представиться Гуглем. После чего будет ясно, есть cloaking или нет.


Vladimir Rybinkin
Господа! Ведь ваши компы ВНАГЛУЮ ОТКАЗЫВАЮТСЯ РАБОТАТЬ! И вы это ТЕРПИТЕ!!! Мало того - и меня хотите склонить к тому же. Как же - разбежался! Чтобы какой-нить сраный эксплорер и мне условия смел ставить?! Железяка х... фигова!

Vladimir Rybinkin героически бьёт морду светофору и переходит улицу на красный свет.

121. dozen, 20.08.2009 19:54
lvqcl
Vladimir Rybinkin героически бьёт морду светофору и переходит улицу на красный свет

Эпос...

Тогда можно зайти (хотя бы телнетом) на ixbt и представиться Гуглем. После чего будет ясно, есть cloaking или нет.

Щас wget попрощу представиться...


wget --user-agent=Googlebot/2.1 http://forum.ixbt.com/topic.cgi?id=26:39751-8
Получаем чистый HTML c JS только для actions:


<table border=0 cellpadding=3 cellspacing=1 width=95%><tr><td class=t1 valign=top width=18%>
<a class=l href="javascript:p1('Dilon')"><b>Dilon</b></a><br><span class=s>unregistered</span></td>
<td class=t1 width=82%><table width=100% border=0 cellspacing=0 cellpadding=0 style="TABLE-LAYOUT: fixed">
<tr><td class=date1> <a name="107"></a><a class=date4 href=#107>написано</a> 20.08.2009
<span class=date2>18:44</span></td><td class=small2 align=right>
<a class=small2 href=/post.cgi?id=edit:26:39751:107>Правка</a> •
<a class=small2 href=/post.cgi?id=post:26:39751:107>Ответить</a> •
<a href=/post.cgi?id=report:26:39751:107 class=small2 target=_blank>Известить модератора</a> •
<a class=small2 href=/post.cgi?id=ip:26:39751:107>IP</a></td></tr><tr>
<td colspan=2 class=n style="text-align: justify" onmousedown="selected_name=escape('Dilon')">
<hr size=1 color=#999999><b>ivanhoe</b><br><blockquote class=n2><span class=s>цитата:
</span><hr> цитата:Судя по forum.ixbt.com, данные в JS-вызовах вполне себе индексируются гугльботом.
<br><br>Ну вообще-то можно заметить что гугл и другие заходят зарегестрированным гуглботом, а не гостем.
А все потому, что зарегестрированный пользователь может поставить себе в настройках отдачу чистого HTML без
всякого JS и я имею сильные основания предполагать, что у упомянутых ботов эта настройка включена. :&gt;
<hr></blockquote>Я вообще не разбираюсь в SEO, хотел бы уточнить в каком смысле зарегистрированным?
Особые настройки в robots или ...?<p></td></tr></table></td></tr></table>

122. ivanhoe, 20.08.2009 20:59
dozen

Прочитал статью. Автор - явно не search guy. А я - да. :) И у него идея фикс с интерпретацией жабоскрипта, под которую он пытается подогнать все свои наблюдения. Выскажу свои соображения:
1) заставить поисковик понимать JS в некоем минимальном объеме конечно же можно. Особенно зная потроха своего JS-тулкита. Однако это не общее решение (оно невозможно алгоритмически) и пока оно не работает массово в большом поиске. Ни в одном большом поиске, не только гугловом.
2) объяснить как попала ссылка в гугловые индексы можно тысячей разных способов. Например, что парсер линков не особо смотрит JS там или нет и просто вытаскивает все теги "<a href>" безотносительно тому где они находится. Остальные 999 способов перечислять не буду (ибо лень) останется упражнением для читателя.
3) единственный способ честного разбора JS - это прикинуться на мгновение браузером и полностью исполнить код в виртуальной машине (хотя и этот способ не универсален). Я так делал (в своем поисковике), надо было разобрать махонькое поле, которое как раз генерилось махоньким JS-кодом. Запуск этого махонького кода в SpiderMonkey увеличил время индексации в двести (200) раз, для большого поиска такая цифра - смерть (а может быть и не 200, а 10^100 - как нефига делать)

цитата:
Получаем чистый HTML c JS только для actions:
Что и требовалось доказать.


123. rGlory, 20.08.2009 21:05
lvqcl
цитата:
Vladimir Rybinkin
Господа! Ведь ваши компы ВНАГЛУЮ ОТКАЗЫВАЮТСЯ РАБОТАТЬ! И вы это ТЕРПИТЕ!!! Мало того - и меня хотите склонить к тому же. Как же - разбежался! Чтобы какой-нить сраный эксплорер и мне условия смел ставить?! Железяка х... фигова!
Vladimir Rybinkin героически бьёт морду светофору и переходит улицу на красный свет.
Ну Владимир нам как бы намекает, что все мы должны немедленно даунгрейдить свои ОС до win98, иначе столь нужные нам страницы с его сайта у нас не будут показываться.
Ну что тут скажешь? Руки выворачивает изверг, пользуется тем, что без его контента большинство из нас не проживет сколько нибудь длительный промежуток времени. Вот они какие - монополисты

124. ivanhoe, 20.08.2009 21:29
rGlory

И поиском индексироваться не будет. :weep: Ибо (даже если поисковики будут сильно развиваться в сторону понимания активного контента) что код Владимира и человек то не всякий разберет, не то что тупой робот.

125. dozen, 20.08.2009 22:06
ivanhoe

И у него идея фикс с интерпретацией жабоскрипта

А как насчет слов от самого гугля, что "мы работаем над этим" и "гугльбот понимает некоторые конструкции JS"?

126. ivanhoe, 20.08.2009 22:13
dozen

Между "пониманием некоторых конструкций" (например, какой-нибудь метаинформации из GWT-тулкита) и пониманием полным лежит бесконечность. Например, еще товарищ Тьюринг показал алгоритмическую неразрешимость проблемы остановки. А это очень простая и далеко не единственная проблема. Надо, кстати, подкинуть ее Владимиру, вдруг разрешит :>

127. rGlory, 20.08.2009 22:15
ivanhoe
цитата:
И поиском индексироваться не будет.
Ну придется поисковикам напрячься, если они хотят клиентуру сохранить. Посадят толпу кумаров в крайнем случае, с win98 наперевес, которые будут вручную по линкам ходить и информацию с браузера копипейстить. А куда им деваться?

Про ту девочку с кучей разных браузеров - это ведь путь для не уважающих себя компаний, которые ведут себя как тряпки, и простилаются под любого клиента. Владимир - не такой. Поставит он в требованиях к клиенту win98, браузер ie 3.0 и никакая гайка. Либо будь добр соотвествуй, либо не видать тебе всех (а их трудно перечислить) прелестей Синбада и уж тем более СИНТа.
Вообще СИНТ в вебмордой - это очень сильно. Вот только представил себе, как задача коммивояжера решается в браузере, на стороне клиента, и по спине мурашки. Если бы у меня были акции MS и Гугля, я бы уже побежал их сливать, пока можно. Скоро за них не будут давать ломанного гроша!

128. Dilon, 20.08.2009 22:18
ivanhoe
Кстати, насчет девочки, Selenium разве не является ее заменителем?

129. dozen, 20.08.2009 22:19
ivanhoe

Между "пониманием некоторых конструкций" (например, какой-нибудь метаинформации из GWT-тулкита) и пониманием полным лежит бесконечность.

Так я полную-то и не требую. Мне всего лишь интересно -- индексирует ли гугль строковые константы в JS (JSON) коде, наподобие того, что мы имеем в forum.ixbt.com.

Это-то вообще не rocket science, более того -- чтобы гугль не индексировал, надо наоборот, специально запретить их индексирование ботом, потому что константы эти уже в HTML, как голый текст.

Добавление от 20.08.2009 22:22:

Dilon
насчет девочки, Selenium разве не является ее заменителем

Во-первых, есть случаи, когда девочку заменить трудно. И в личном плане, и для коллектива.
Во-вторых, тесты в Selenium кто писать будет, мальчик?
В-третьих, оно же только Firefox.... а нуно все основные.
В-четвертых, даже для автоматических тестов надо бы человеческий глаз. А то оно может результат правильный дает, но в процессе дергается как старая плёнка. Тест такое пропустит, а девочка заметит.

130. rGlory, 20.08.2009 22:23
ivanhoe
цитата:
Надо, кстати, подкинуть ее Владимиру, вдруг разрешит :>
Классная идея. Предлагаю скинуться и поставить на кон. Владимир, беретесь? Если да, открываем новую тему и погнали.

132. Dilon, 20.08.2009 22:25
dozen
цитата:
В-третьих, оно же только Firefox.... а нуно все основные.
у нас на фронтэнде вроде и сафари, не знаю точно. Для других браузеров разве нет тулкитов подобных?

133. ivanhoe, 20.08.2009 22:34
Dilon

Насколько я понял, нет, не является ибо это скорее функциональное тестирование. А девочка проверяет правильность верстки (в т.ч. JS), что она не поехала (при очередном усовершенствовании) ни в одном из браузеров и видна в них одинаково корректно и как задумано. Правильность верстки (на данном этапе развития науки и техники) может проверить только человек собственными глазами и никак не автомат.

dozen

цитата:
Мне всего лишь интересно -- индексирует ли гугль строковые константы в JS (JSON) коде, наподобие того, что мы имеем в forum.ixbt.com.
Так мы вроде выснили что на forum.ixbt.com гугл индексирует HTML, а не JS, ибо по заголовку юзерагента Google/x.y этому агенту и отдается HTML. А индексировать константы можно, не вопрос. Только вот никто не гарантирует что там что-то осмысленное - а вдруг СИНТ какой притаился? :spy: В качестве некоего приближения можно индексировать например константы некоей (достаточно большой) длины если в них содержится что-то похожее на HTML. Да, в такой постановке не вопрос. Но как-то нет уверенности, что это положительно скажется на качестве поиска. На мой взгляд, сейчас вообще стоит проблема большого поиска как осмысленного явления. Потому что Интернет ЗАСРАЛИ всякие идиоты, спамеры (в частности, SEO) и пр. К гуглу у меня претензия не к тому что он ищет мало, а что он ищет слишком много и очень часто выдает кучу SEO-говна, в котором приходится искать жемчужину. И это у них такая политика. :( Впрочем, как мне сообщили Знающие Люди, я не вписываюсь в поведенческие модели поиска гугла, а у большинства все хорошо. :>

134. zzf, 20.08.2009 22:38
rGlory
dozen

Господа, тут вроде как об JScript тема. Если вам симбады с пнп-вояжорами действительно так интересны, то открывайте соответствующую ветку, а то ВР, чего доброго, решит здесь эти темы развить.

135. dozen, 20.08.2009 22:45
ivanhoe
Так мы вроде выснили что на forum.ixbt.com гугл индексирует HTML, а не JS, ибо по заголовку юзерагента Google/x.y этому агенту и отдается HTML.

Мы выяснили, что так делает конкретно forum.ixbt.com. И этому есть основание -- до недавнего времени гугль утверждал, что JS он игнорирует напрочь.

В то же время, отдавать юзеру и боту разные страницы -- это cloaking, и игра с огнём.

Вот и интересно -- как изменились бы результаты, если бы forum.ixbt.com отдавал боту ту же страницу, что и юзеру (то есть с сообщениями как параметрами JS).

А индексировать константы можно, не вопрос. Только вот никто не гарантирует что там что-то осмысленное

Предполагается, что любой текст на странице несет некоторую информацию о ней. Если в <script> только b.p = m.e(), то игнорируем. А если show_header('Boats and Canoe') -- то есть некая инфа.

zzf
а то ВР, чего доброго, решит здесь эти темы развить

Да, блин, нестратегично вышло... пойду потру кой-чего....

136. ivanhoe, 20.08.2009 22:56
dozen

цитата:
В то же время, отдавать юзеру и боту разные страницы -- это cloaking, и игра с огнём.
Я так не считаю. Пример: Гугл-карты. Зайди на них с большого компа и с мобильного телефона и почуйствуй разницу (там кстати даже функционал разный - с телефона оно умеет показывать текущее местонахождение). На мой взгляд cloaking надо понимать как выдачу разного по смыслу контента в зависимости от. Выдачу же разных видов реализации одного и того же можно вполне объяснить заботой о клиенте - чаще всего это ей и является - чтобы поддержать маломощный/устаревший/глючный браузер и т.д. и т.п.

цитата:

А если show_header('Boats and Canoe') -- то есть некая инфа.
Это вполне возможен copy-n-paste из другого проекта, отладочная инфа и мн. др. В результате будет шуметь.

цитата:
Да, блин, нестратегично вышло... пойду потру кой-чего....
Не надо!

zzf

А мне темы Владимира этим и нравятся, разнообразием. И пиво с бабами можно обсудить и программирование и сетевые СУБД! И насладиться эйфорией автора от знакомства с конструкцией eval! А был бы один скучный JavaScript - век бы сюда не зашел!

137. rGlory, 20.08.2009 23:25
zzf
цитата:
Господа, тут вроде как об JScript тема. Если вам симбады с пнп-вояжорами действительно так интересны, то открывайте соответствующую ветку, а то ВР, чего доброго, решит здесь эти темы развить.
Это Вы так думаете, что об JScript, а на самом деле эту тему Владимир открыл, чтобы мягко и ненавязчиво в очередной раз показать крутость синбада и синта. Спросите меня, откуда я это знаю...

138. zzf, 20.08.2009 23:26
ivanhoe
Например, еще товарищ Тьюринг показал алгоритмическую неразрешимость проблемы остановки. А это очень простая и далеко не единственная проблема.

Есть ещё более простая в формулировке, но трудноразрешимая задача (NP-полная): Определить, можно ли разбить данное конечное множество натуральных чисел на два равных по сумме подмножества.

139. rGlory, 20.08.2009 23:30
ivanhoe
цитата:
А мне темы Владимира этим и нравятся, разнообразием.
+1. Я бы уточнил, в темах Владимира можно почерпнуть весьма интересную информацию (и не только о синбаде и синте), у него есть одно несомненное достоинство, он умеет/может раскрутить насчет высказаться знающих людей по разным вопросам. При этом качество информации от самого Владимира оставляет желать, но что тут поделаешь, за все приходится платить

140. ivanhoe, 21.08.2009 00:08
zzf

NP-полные задачи это уже пройденый этап (см. темы про задачи коммивояжера, сжатие последовательности и пр.) Надо сразу переходить к настоящему - задачам неразрешимым, чего на месте то топтаться.

141. rGlory, 21.08.2009 00:18
ivanhoe
цитата:
Надо сразу переходить к настоящему - задачам неразрешимым, чего на месте то топтаться.
an+bn=cn
Только, боюсь, я знаю, как ее решит Владимир
Ответ: он ее решит точно, а не как те "дураки" в целых числах

142. dozen, 21.08.2009 04:12
ivanhoe
На мой взгляд cloaking надо понимать как выдачу разного по смыслу контента в зависимости от.

Разумеется. Но если Google не сканирует JS, то для него две страницы forum.ixbt.com выглядят разными по контенту -- одна содержит только рекламу, вторая -- контент. Человек, зайдя проверить сигнал -- поймет, конечно.

Это вполне возможен copy-n-paste из другого проекта, отладочная инфа и мн. др. В результате будет шуметь.

Ну так это проблема автора сайта. У него SEO будет плохая.

143. Vladimir Rybinkin, 21.08.2009 08:47
У меня тут "технологический перерыв" намечается на несколько дней - не только от теста, но и, возможно, от вас. Вы уж не разбегайтесь, плиз - постараюсь заглядывать. Впрочем, опасаться пока явно не приходится...

Tasman
цитата:
сейчас браузеростроители любят меряться у кого быстре JS
Померились бы лучше, у кого функциональнее. Совсем уж позорище!
цитата:
Другими словами говорите ли вообще о каком-то возможном фреймворке
Я не знаю, как ЭТО обозвать. Самое лучшее определение (на мой взгляд) я уже приводил: APS (Ajax Processing Software).

ivanhoe
цитата:
Ассоциативные массивы:
ГОСПОДИ, НУ НА ХРЕНА МНЕ ЭТО НАДО-ТО?! Большое спасибо за ссылку, обязательно прочту.
цитата:
Как использовать вместо eval - правильно выбрать структуры данных и менять не код, а только данные.
А я что делаю? Ровно то же самое. И eval мне при этом, мягко говоря, не мешает.
цитата:
Упрощу код, сделаю его более надежным.
Дык... ждем-с! Что касается "краткости"... ЭТО будет читать БРОУЗЕР, и только он. Для генератора SINT все эти функции JS (или там Perl) всего лишь объекты класса "одноязычная строка". Там хоть по странице текста на оператор давай, чтобы "читалось". А этому... хоть каждому клиенту новые имена функций и переменных выдывай. Изврат, конечно, но можно ведь! И без особых проблем. Насчет скорости написания и модификации... скажу только, что проще "строк" я в этом плане ничего не знаю. И не верю, что кто-либо знает.
цитата:
А CINT разрабатывался для двух целей:
Понятно. Ну... флаг им в руки.
цитата:
Да, и у меня, а что так удивляет.
Как это "что"?! Не зная ничего о тестах, давать рекомендации, что для них "достаточно ассоциативных массивов"... несколько странно выглядит - не находите? Ах - кажется, дошло: это Вы не тесты, а лишь те огрызки текста, которые я приводил, считаете "примерами"?
цитата:
Фреймов я в них не использую и JS крайне редко.
Ну дык... что ж Вы могете знать тогда о "скуке"? ТА "деятельность" - да, довольно рутинная - кто же спорит?
цитата:
Я скучаю, поэтому занимаюсь, в основном, системно-сетевыми вещами, а интерфейс с пользователями делают web-разработчики.
Во-во, и я так думал. А теперь иначе думаю - пижонство это. Я системщик, я крутой, а эти пущай интерфейсом занимаются... Во-первых, вломить надо хорошенько всей этой шобле - распустились совсем без присмотра "старших товарищей". Во-вторых, это, оказывается, еще и интересно до жути. Так же, как и в "системно-сетевых вещах". Ну... почти так же. В-третьих, для Вас лично это вообще святая обязанность. Ноблес... как его там... оближ. Внебрачному сыну отца Билла Гейтса...
цитата:
Проще и элегантнее сделано, например, на этом форуме
ЧТО ИМЕННО?! Инициализация массива разнородных объектов?! Или вообще хоть что-то из этого самого "APS"?
цитата:
измененяя переменную i в большинстве случаев можно быть уверенным, что переменная j при этом не изменится...
Дык... у Вас же явно нулевая практика работы с указателями. Уж поверьте моему ОГРОМНОМУ опыту (мне, к тому же, несколько раз доводилось наблюдать процесс, как молодежь в них врубается - не определение ихнее "штудирует", а именно начинает ЧУВСТВОВАТЬ, что это такое) - максимум через неделю скажете то же самое и об указателях. Это как... укрощение велосипеда, например: разбитые носы, содранные коленки... а уже через два дня разве скажет кто, что велосипед "опасен"? Токо вот не будет этой недели...
цитата:
Что же касается реализации переменных, то совсем не обязательно они будут находиться в ОЗУ
Естественно! И что? Я ж приводил код в "константах":

c_TYPEFSTR = HI_ADDR | HO_DEVICE | D_SCREEN | HF_ADDR

Поясняю мнемонику: H - Handle, IO - понятно, F - управляющая строка форматного преобразования, D - DEVICE (который SCREEN). По сути, printf (ну, возможностей чуть побольше типа 0 - объект - например, мультиязычная строка и т.п.).

А если, скажем, c_WRITEARRAYTOSTREAM = HI_ADDR | HO_NONE - ну и куды это пишется? А хрен его знает! Мож, в тот же SCREEN. Может, и в файл - чо там за текущий дескриптор?

А если c_HCOPY = HI_HANDLE | HO_HANDLE | HF_HANDLE - тогда как? Мож, это тоже printf? Вполне возможно. А может, чтение из файла? Не исключено. А может, это протокол мышиных движений (как их там - микки, что ли?) по RS-232 куда-то перегоняется? Мож, и так (если моча программеру в голову стукнула ). А форматное преобразование есть? А вот это еще бабушка надвое сказала. А если и есть - где оно? Может, во внешнем файле, управляющем процессом (template), или там в БД где-нить сидит...

Я думаю, пояснять не требуется, что все эти (и довольно много других, за 20 - точно) видов копирования проходят через одного исполнителя, что ему на вход подается разное и количество, и тип параметров. Ну, давайте, поработайте за "современный компилятор". Валяйте, контролируйте что хотите в момент компиляции - не тупее же Вы его! . А ведь это только copy - и только как она "выглядит". А параметры где (это, пожалуй, еще более интересный вопрос)? В стеке? Или в стеке, но аккумуляторов? Или в стеке, но далеко наверху, в виде локальных переменных? Или где-то в теле программы? Или еще где? Хотел я монитор привести в пример, но и сам не решился.

И про регистры лучше молчите - больная тема когда-то была. Знаю я прекрасно, что они там "давным-давно умеют" - умели бы лучше enum без глюков создавать - ndemia, помнится, даже не поверил поначалу.
цитата:
все компиляторы (современные, а не Borland С версии 3.1) используют оптимизации удаления лишних переменных
Именно так! И не только "современные". Оптимизацию от MSVC5/6 я видел, и не раз - за такое нужно просто яйца отрывать! Я когда-то описывал именно такой случай, когда "в тексте программы переменная была, а в исполняемом коде ее не было". Тупая скотина! Нет мозгов - так хоть не лезь своими грязными лапами в код программиста!
цитата:
Движение идет в том направлении, что понятия "интерпретатор" и "компилятор" сейчас уже практически бессмысленны, особенно применительно к языкам.
Ну, это, мягко говоря, спорный вопрос.
цитата:
Одна и та же программа на C (или на JavaScript) может выполняться и в интерпретаторе (на этапе отладки) и в виде скомпилированного кода
Ах, вот Вы о чем... Нет, это все ерунда - я не об этом. Здесь компилятор выступает в роли верификатора кода (ну и конечного "ускорителя"), а интерпретатор - тоже в роли верификатора кода, но "человечьего". Финал же один - скомпилированная программа. А вот если исполняемая программа "размазана" - скажем, между СУБД, методами, в ней хранимыми и... да хватит! При этом методы представляют собой... пускай лишь только тексты функций (пусть даже на одном языке), которые пишет чел, и "скомпилированные" (с точки зрения человека), но интерпретируемые (с точки зрения СУБД, т.е оптимизированные для выполнения - наиболее удобного восприятия уже не человеком, а компьютером) модули. Весь этот "конгломерат" дышит (модули переходят из одного состояния в другое), вызывает друг из друга (слоев интерпретации, "полукомпиляции" и полной компиляции) разные методы и данные. Таким образом, интерпретация есть ВСЕГДА (ее принципиально невозможно избежать), так что язык должен быть "комплексным", охватывающим все слои сразу. Я про такой вот подход...
цитата:
Надо SPJ об этом сообщить, вдруг он не знает. Но, подозреваю, что справится, так как есть пространства имен.
Сообщать бессмысленно: пока сами не допрут - не поверят. "Пространства имен" не помогут - хотя бы потому, что у чела башка не резиновая - выяснит пару раз, кто там "является экземпляром класса X, но не является экземпляром класса Y" - и в дурдом.
цитата:
Об этом должен знать программист, а не Access.
Как же! Какое вообще его собачье дело до ПОЛЬЗОВАТЕЛЬСКИХ ДАННЫХ?! "Нормализацию названий" делать вообще не нужно (да и действительно невозможно)... Ладно, не будем заводиться - не та ветка. Скажу только, что реляционка... Скажу только, что я ЛИЧНО видел десятки и сотни ТЫСЯЧ ошибок на одну РБД.

zzf
цитата:
То есть, ты нафигачил такой скрипт, который генерирует у клиента то, что НЕ ДОЛЖНО РАБОТАТЬ?
Ну если СВОИХ моз... Спокойно, Ипполит, спокойно... Читайте внимательно: там ВСЕ написано - что, как и почему.
цитата:
Так о чём там тесты? Внятного ответа пока не было.
"Внятность" - это понятие исключительно приемника - здесь я бессилен. Ответ же - был, и не раз.
цитата:
Ёж оказался немного туповат. По прежнему не работает.
"Ёж" ОТКАЗЫВАЕТСЯ работать, он наглый тунеядец. Впрочем, МОЙ-ТО как раз трудолюбивый работник.
цитата:
Если поделие, выдающее на экран "Loading..." сопровождается высказыванием "я посылал работающее решение", то такое высказывание ничем, кроме ЛЖИ назвать нельзя.
А если все же ГОЛОВОЙ подумать? Мож, другие какие версии появятся?
цитата:
Разве код

b.p=eval('d.p.'+a.charAt(s-1));

не делает того же самого?
Делает. И даже код

b.p=m.e('d.p.'+a.charAt(s-1));m.e=eval;

ТОЖЕ делает. А теперь - внимание, вопрос: лишь один из четырех показанных вариантов реализации данной функции НЕпригоден для использования. Угадайте с трех раз - какой именно. Если угадаете - второй вопрос, повышенной сложности (если не на сообразительность, то хотя бы на внимание): А почему, собссно?

dozen
цитата:
Формальный ответ на этот вопрос -- "нет; в первом коде в объекте m появляется ссылка на eval".
Все хуже: у него "припадки" начинаются - я же писал. Я чуть со смеху не помер: m.e - работает, а "настоящий" eval - нет. Причем, насколько я понял, нестабильно: работает, работает... и вдруг - сюрпрайз: "Неожиданный вызов функции". От одной только подобной диагностики кондратий хватит. А мож, и стабильно - мож это при вызове из строки методов - не помню. Да и не очень интересно - m.e меня вполне устраивает.

ivanhoe
цитата:
Тогда уж логичнее было бы:
Как же! Я ж все писал, и уж скоко раз, и даже код начальной инициализации откомментированный приводил... Доколе?! m - объект методов НА МОРДЕ, а не какой-то местный "var e". Там и eval, и new, и substring, и find, и прочая мутотень. И монитор - вторая приличная функция после eval - сам писал, гарантирую. А кроме m на морде еще объекты b, c, d, e и u имеются. В частности, u - это тот самый Борей (в 4-м тесте). С потрохами, в виде трехмерного "деревца" из нескольких сотен (мож, даже и не сотен) массивов. Да и не только он... Именно потому и не могут работать приведенные мною виртуальные страницы, что все методы, все данные уже там, на FRAMEST.
цитата:
Единственное осмысленное объяснение...
Ну, хотя бы так.

dozen
цитата:
Ну, логика разная бывает. Я считаю имя "e" -- нелогичным, потому что потом нечитабельно. Но у ВР особенная логика, как известно.
У "ВР" - генератор. А для броузера - сойдет: не менее "читабельно", чем любое другое. Вот интересно: сколько раз нужно повторить, чтобы перестать, наконец, об этом говорить? В смысле, конечное число раз или нет?

144. dozen, 21.08.2009 09:24
Vladimir Rybinkin

Весь этот "конгломерат" дышит (модули переходят из одного состояния в другое), вызывает друг из друга (слоев интерпретации, "полукомпиляции" и полной компиляции) разные методы и данные

Вы помните ли то, что видели мы летом?
Мой ангел, помните ли вы
Ту лошадь дохлую под ярким белым светом,
Среди рыжеющей травы?

Полуистлевшая, она, раскинув ноги,
Подобно девке площадной,
Бесстыдно, брюхом вверх лежала у дороги,
Зловонный выделяя гной.

И солнце эту гниль палило с небосвода,
Чтобы останки сжечь дотла,
Чтоб слитое в одном великая Природа
Разъединенным приняла.

На пиршество спеша,
Жужащей тучей мухи
Над мерзкой грудою вились.

А черви ползали
и копошились в брюхе
Как черная живая слизь.

Все это двигалось,
Вздыхало и вздымалось,
Как будто вновь оживлено.
... (С)

All

Извините. Ассоциация.

145. ivanhoe, 21.08.2009 18:53
dozen
цитата:

Ну так это проблема автора сайта. У него SEO будет плохая.
У владельца сайта как раз проблем нет - у него будет больше посещений и трафика. Проблемы будут у пользователей, что у них в выдаче увелится количество мусора с 90% до 99% (условно говоря).

Vladimir Rybinkin

цитата:

Во-во, и я так думал. А теперь иначе думаю - пижонство это. Я системщик, я крутой, а эти пущай интерфейсом занимаются... Во-первых, вломить надо хорошенько всей этой шобле - распустились совсем без присмотра "старших товарищей". Во-вторых, это, оказывается, еще и интересно до жути.
Не так. Я системщик и разбираюсь в системном. А эта "шобла" разбирается в том что такое юзабилити, как спроектировать сайт, организовать его структуру, навигацию, умеет делать верстку чтобы JavaScript и CSS работали везде (а не только на Internet Explorer 3.0) и многое другое, чего я делать на таком же профессиональном уровне не умею. Это называется разделение труда.

цитата:
ЧТО ИМЕННО?! Инициализация массива разнородных объектов?! Или вообще хоть что-то из этого самого "APS"?
Генерация HTML посредством JavaScript на мой взгляд сделана лучше на этом форуме, т.к код:
- лучше структурирован
- более понятен
- работает и на моем броузере тоже (в отличии от Вашего)

цитата:

Дык... у Вас же явно нулевая практика работы с указателями.
Гм. Ну вообще-то ненулевая. Даже на этом форуме я писал код с указателями.

цитата:

Уж поверьте моему ОГРОМНОМУ опыту
Не поверю. Потому что и свой и чужой опыт тоже имеется.

цитата:

Естественно! И что? Я ж приводил код в "константах":
Ну я предпочитаю более как-то абстрактно думать. Насколько я понял, Вы говорите о некоем "копировании", когда на входе имеем источник, данные из источника обрабатываются и передаются в другой поток-приемник. При этом потоками (как входными так и выходными) могут быть:
- файлы
- консоль
- последовательные порты RS/232
- многое другое
Поэтому для разных комбинаций применяется двадцать различных видов копирования. Не берусь утверждать точно, но обычно подобное является примером неправильного проектирования. И в любом случае это уже идет решение, а не постановка задачи.

цитата:

И про регистры лучше молчите - больная тема когда-то была. Знаю я прекрасно, что они там "давным-давно умеют" - умели бы лучше enum без глюков создавать - ndemia, помнится, даже не поверил поначалу.
И какие глюки с enum у современных компиляторов?

цитата:

Именно так! И не только "современные". Оптимизацию от MSVC5/6 я видел, и не раз - за такое нужно просто яйца отрывать! Я когда-то описывал именно такой случай, когда "в тексте программы переменная была, а в исполняемом коде ее не было". Тупая скотина! Нет мозгов - так хоть не лезь своими грязными лапами в код программиста!
Почему-то эта функциональность никому не мешает и только Вам мешает. "Весь мир идет не в ногу и только один Владимир Рыбинкин в ногу" - так что-ли? MSVC5/6 к современным компиляторам, кстати говоря, не относятся.

цитата:

Ах, вот Вы о чем... Нет, это все ерунда - я не об этом. Здесь компилятор выступает в роли верификатора кода (ну и конечного "ускорителя"), а интерпретатор - тоже в роли верификатора кода, но "человечьего". А вот если исполняемая программа "размазана" - скажем, между СУБД, методами, в ней хранимыми и... да хватит! При этом методы представляют собой... пускай лишь только тексты функций (пусть даже на одном языке), которые пишет чел, и "скомпилированные" (с точки зрения человека), но интерпретируемые (с точки зрения СУБД, т.е оптимизированные для выполнения - наиболее удобного восприятия уже не человеком, а компьютером) модули. Весь этот "конгломерат" дышит (модули переходят из одного состояния в другое), вызывает друг из друга (слоев интерпретации, "полукомпиляции" и полной компиляции) разные методы и данные. Таким образом, интерпретация есть ВСЕГДА (ее принципиально невозможно избежать), так что язык должен быть "комплексным", охватывающим все слои сразу. Я про такой вот подход...
Не очень понял что Вы хотите сказать и как это опровергает тезис о стирании различия между интерпретаторами и компиляторами. Предыдущее мое предложение было примером, опровергающим тезис, что одни языки можно отнести к интерпретируемым, а другие к компилируемым. Нельзя. А если Вы имеете в виду что существуют гибридные подходы между интерпретаторами и компиляторами, где все "живет, дышит" и переходит из интерпретируемого кода в компилируемый, так я с этим и не спорю, т.к. примеры перед глазами в виде JVM и .NET. Но думать о происходящем в недрах JVM и .NET на мой взгляд непродуктивно и совершенно бесполезно, есть же семантика, которая гораздо проще, вот о ней и надо думать.

цитата:

Дык... ждем-с!
Я уже приводил код генератора для третьей задачи:
код:

main = putStrLn $ "<html><body>Loading...</body></html>"

В десятки раз короче, а генерит то же самое.

Если постановка задачи какая-то другая, то эту задачу надо сначала сформулировать. Для начала в крайне общем виде, например, так: "сделать редактор базы данных Борей через Web-интерфейс".

код:

Насчет скорости написания и модификации... скажу только, что проще "строк" я в этом плане ничего не знаю. И не верю, что кто-либо знает.

Ну Вы формируете страницу уже полтора месяца и результата законченного пока нет. По-моему это очень долго, даже на этапе изучения HTML/JS. А ведь общественность еще не ознакомилась с серверным кодом, на его разработку сколько времени ушло?

146. dozen, 22.08.2009 00:20
ivanhoe
У владельца сайта как раз проблем нет - у него будет больше посещений и трафика.

Нецеловой трафик (который не конвертируется в sale) -- он только вред приносит. Хорошо еще, если прямо с поиска кликают, а если с AdWords?

147. arsa, 22.08.2009 02:28
dozen
по adwords есть специалисты, мы например не сами придумываем ключевые слова для оного.
но должен заметить что у нас с organic трафика конверсия намного больше чем с рекламного (хотя конечно пока данных маловато для честного анализа)

148. ivanhoe, 22.08.2009 02:37
dozen

цитата:
Нецеловой трафик (который не конвертируется в sale) -- он только вред приносит.
С чего это вдруг? У меня как-то совсем противоположная информация, из первых так сказать рук. С нецелевым трафиков возможно только два варианта:
- он пофигу
- он приносит пользу
Вреда уж точно что никакого. :>

цитата:
Хорошо еще, если прямо с поиска кликают, а если с AdWords?
Мы вроде про поиск, а не про AdWords, при чем тут оно? Или ты решил рассмотреть вообще нецелевой трафик, Тому кому он приносит вред, в AdWords не регистрируются. :>

149. dozen, 22.08.2009 03:23
ivanhoe

С чего это вдруг? У меня как-то совсем противоположная информация, из первых так сказать рук. С нецелевым трафиков возможно только два варианта:
- он пофигу
- он приносит пользу
Вреда уж точно что никакого. :>

Мы вроде про поиск, а не про AdWords, при чем тут оно? Или ты решил рассмотреть вообще нецелевой трафик, Тому кому он приносит вред, в AdWords не регистрируются. :>


Пользу он не приносит по определению -- иначе он бы конвертировался в продажи, то есть был бы targeted.

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

Из каких-таких первых рук у тебя инфа? Что эти первые руки продают/публикуют, что им все равно на бесполезный трафик? Как они его используют?

Добавление от 22.08.2009 03:28:

arsa
но должен заметить что у нас с organic трафика конверсия намного больше чем с рекламного (хотя конечно пока данных маловато для честного анализа)

Ну так и молодцы. Получаете целевой трафик, не платя за него. А уменьшите релевантность -- и в поиске по вашим словам опуститесь на второе (третье, ...) место. Подниметесь в "не ваших". В результате целевого трафика станет меньше, нецелевого -- больше, конверсия упадет. Вам, понятно, это не надо. Следовательно, не допускать мусора на своих страницах -- в ваших интересах, а не только Гугля. Что и требовалось доказать.

Добавление от 22.08.2009 03:35:

dozen
Тому кому он приносит вред, в AdWords не регистрируются. :>

Вот это вообще не понял. Он приносит вред всем, даже владельцам parked domains c AdSense. Если человек пришел по запросу "loan", а на parked domain AdSense на "viagra", то пустая потеря ресурсов.

150. ivanhoe, 22.08.2009 04:16
dozen

цитата:
Пользу он не приносит по определению
Где можно ознакомиться с определением?

цитата:
-- иначе он бы конвертировался в продажи, то есть был бы targeted.
А он и конвертируется. Например, если сайтовладелец зарабатывает на показах банеров (а это не единственная схема), он получает деньги за клик со своего сайта. Чем больше трафика, тем больше кликают по баннерам, просто статистически. А баннеров интересных им покажут, не сомневайся. :>

цитата:

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

цитата:
затратами на собственно трафик (если вышли за пределы плана)...
У вас в Канаде дорогой трафик? В РФ его цена близка к нулю.

цитата:
Из каких-таких первых рук у тебя инфа? Что эти первые руки продают/публикуют, что им все равно на бесполезный трафик? Как они его используют?
От тех, кто зарабатывает деньги на создании и поддержке популярных интернет-ресурсов. Фамилий и мест работы называть не буду, извини. :> Как используют - см. пример выше.

цитата:
Вот это вообще не понял.
Вот есть у меня сайт, http://uzhe.nichego.net Сколько я потеряю на AdWords (а вдруг уже теряю? :-O) и каким образом если вдруг кто-то случайно ко мне зайдет. В AdWords я не зарегистрирован.

цитата:
Он приносит вред всем, даже владельцам parked domains c AdSense. Если человек пришел по запросу "loan", а на parked domain AdSense на "viagra"
Получит деньги за клик со своего сайта, где тут вред? Или ты думаешь что весь интернет загадили всякими дорвеями, поисковым спамом и пр. сплошные альтруисты, которые этим ради "любви к искусству" занимаются, неся убытки и тратя все последнюю копейку?

цитата:
то пустая потеря ресурсов.
Чьих ресурсов?

151. dozen, 22.08.2009 05:03
ivanhoe

цитата:
Где можно ознакомиться с определением?
Наверху. "Трафик, который не конвертируется в sale ну никак = нецелевой".

цитата:

А он и конвертируется. Например, если сайтовладелец зарабатывает на показах банеров (а это не единственная схема), он получает деньги за клик со своего сайта.
Я более серьезных людей в голове держал, тех, что продает что-то. Сценарий потерь от плохого SEO я описал уже выше, но повторю:

Предположим, что сайт продает ёжиков.
Предположим, что у него идеальный SEO, так что он в 1-й строчке по каждому запросу, относящемуся к ёжикам.
Теперь авторы сайта, по твоему совету добавили в него какое-то количество мусора.
SEO, очевидно, стало неидеальным.
В результате сайт потерял первую строчку по некоторым запросам.
Вместо 100% потенциальных покупателей ёжиков они получают 95% ёжиков и 5% морских свинок.
Их конверсия упала соответственно. Как и доходы.
Никакими баннерами это компенсировать нельзя, потому что потеряли 5% ценного трафика (скажем, по $20 за конверсию), а получили 5% дерьмового трафика (центы за клик на баннер в лучшем случае).

Где я неправ?

Приемы же работы тех, кто содержит парковочные домены -- я не знаю. Но думаю, что никому не поможет ухудшение собственной позиции в результатах поиска, даже им.

цитата:
Чем больше трафика, тем больше кликают по баннерам, просто статистически.
А почему ты думаешь, что добавив в страницу мусора, трафика получишь больше?

цитата:
От тех, кто зарабатывает деньги на создании и поддержке популярных интернет-ресурсов. Фамилий и мест работы называть не буду, извини.
Ну, а я приведу мои источники -- я долго отслеживаю упорную борьбу за улучшение SEO нескольких небольших продавцов софта. Один (http://www.kalzumeus.com/start-here-if-youre-new/) , практически на моих глазах, вырос с нуля до тысяч (http://www.bingocardcreator.com/stats/sales-by-month) месячного дохода. Добился он этого -- повышением релевантности, а не наоборот.

цитата:
Сколько я потеряю на AdWords (а вдруг уже теряю? :-O) и каким образом если вдруг кто-то случайно ко мне зайдет. В AdWords я не зарегистрирован.
Твой сайт -- некоммерческий, и к нему это всё неприменимо.

152. arsa, 22.08.2009 05:34
dozen
Следовательно, не допускать мусора на своих страницах -- в ваших интересах, а не только Гугля.
вот это ключевой момент. напихать на страницу всего чего угодно не сложно. но, это не поднимет гугл рейтинг ни разу. единственное, что я вывел из разговоров с моими SEO подрядчиками, так это то, что на странице нужно иметь только реальный контент, нужный. и в мета тагах, тоже не все подряд а очень ограниченный контент. уж как они там анализируют гугл каждый день я не знаю, но исходная точка такая - гугл оптимизирует свой поиск что бы найти именно то, что нужно ищущему. бороться с этим - что об стенку горох... проще все делать честно.

153. ivanhoe, 22.08.2009 06:28
dozen

цитата:
Наверху. "Трафик, который не конвертируется в sale ну никак = нецелевой".
Однако в этом определении никак не сказано, что нецелевой трафик вреден. Я вообще первый раз сталкиваюсь с такой точкой зрения. Из моего круга абсолютно любой скажет, что "больше трафика - больше денег". И из общих соображений понятно:
1) часть нецелевого трафика конвертируется в целевой, особенно при больших объемах
2) кем бы ты ни был, лишний трафик это лишняя реклама себя любимого, которая не вредит никому

цитата:
Я более серьезных людей в голове держал, тех, что продает что-то.
Гм. У совсем серьезных людей поддержка сайта занимает нано- или пико- часть бюджета и заниматься глупостями вроде SEO-оптимизации нет нужды, само в самый верх вылезет. :> Пример см. ниже

цитата:
Теперь авторы сайта, по твоему совету добавили в него какое-то количество мусора.
Вообще-то это твой совет - индексировать мусор в виде javascript. :> Я как раз против.

Поскипал. Поинт понятен. Ты считаешь, что если мусор "морские свинки" добавляется, то автоматически снижается релевантность по запросу "ежики". Это не так, релевантность не такая простая штука и не ограничена константой для всего содержания сайта. :>

цитата:

Вместо 100% потенциальных покупателей ёжиков они получают 95% ёжиков и 5% морских свинок.
Гм. Ну то что доля кликов с "ежиков" упадет - это очевидно. Но упадет ли релевантность по "ежикам" и общее количество целевого трафика? Неочевидно. Думаю, сценарий будет скорее другой - 100% потенциальных покупателей ежиков будут приходить как и раньше. К ним добавится 5% покупателей покупателей морских свинок. Из них 5% подумают, а что, может ежика лучше взять, тоже ведь хороший зверь, какой красивый и колючий! И возьмут пожалуй. Результат: в принципе пофиг, но стало чуток лучше. :>

А вообще конечно все не совсем так. На самом деле, у гугла еще большую роль играет не лексический вес (вычисляющийся из содержания страницы), а кликабельность и ссылочный вес (а всего при рассчете релевантности учитывается более сотни параметров). Вот тебе пример: http://www.google.com/search?q=%D1%82%D1%80%D0%B0%D0…D0%BA%D0%BE%D0%BC ("транстелеком", если браузер не скушает ссылку), на первом месте стоит страница, в которой слова "транстелеком" вообще нет :) Но самая релевантная, правда. :)

цитата:
Добился он этого -- повышением релевантности, а не наоборот.
Возможно, но сводить релевантность (особенно гугловую) к лексическому весу никак нельзя. Мои источники получают несколько больше даже в день. Впрочем, поскольку я их не разглашаю, имеешь полное право не верить. :>

цитата:
А почему ты думаешь, что добавив в страницу мусора, трафика получишь больше?
Меньше не получу, а больше - как повезет. Хотя, конечно, смотря какого мусора и сколько, можно замусорить до такой степени что лексический вес нормального текста упадет до нуля. Я такой клинический случай, конечно, не рассматриваю.

Добавление от 22.08.2009 06:40:

arsa

цитата:
уж как они там анализируют гугл каждый день я не знаю, но исходная точка такая - гугл оптимизирует свой поиск что бы найти именно то, что нужно ищущему.
У гугла есть она единственная уникальная черта и уникальное же преимущество по сравнению со всеми прочими поисковиками и контентами - самая большая юзер-база. И они, к их чести, этим успешно пользуются, в частности фидбеком от пользователей - human computations. На популярных запросах это работает хорошо, на непопулярных - не всегда. Например, по запросу "шандор каллош дискография" выдается полное [censored]. Видимо потому, что творчеством этого замечательного композитора интересуется 2-3 человека в мире включая меня. :(

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

154. Vladimir Rybinkin, 22.08.2009 09:58
Печальной будет эта песня... Редко бывает, чтобы высокая активность меня огорчала... Отвечал по ходу, но, поскольку много "мелкой" болтовни, сгруппировал ответы по авторам (сохранив "хронологию" для каждого). Так что отвечаю "по алфавиту" .

arsa
цитата:
в общем со стороны google нет решения, и не предвидится, что вполне логично.
АБСОЛЮТНО логично!
цитата:
тогда конечно это дело поднимется сильно.
А это - наоборот.

dozen
цитата:
У кого какие идеи?
У меня. Ветку заведи. Я понимаю: в твою не пойдет никто, но надо ж хоть какое-то подобие приличий изображать...
цитата:
Понимаю, это решение, конечно, но это именно дубликация усилий.
Детский сад! Не "репу" надо чесать, дорогой.
цитата:
Правда, есть еще решение: "Provide the textual contents of JavaScript in a noscript tag".
Хотя бы так... Аж справку уровня экспертов завели...

ErmIg
цитата:
Разница в том, что Кавендиш не публиковал свои великие открытия, а Рыбинкин свои "великие открытия" публикует...
Серьезно?! Сэр что-то читал о моих "великих открытиях"?! Или "великое открытие" в том, что я рассказал вам, олухам, что вас всех ограбили? Ободрали, как липку? Да для меня самого это "великое открытие"!

ivanhoe
цитата:
Да отвечайте, чего уж себя сдерживать. Переживали и не такое.
Дык я потому и ответ притормозил. А то подумают еще, что кто другой под моим ником влез...
цитата:
как мы тут мимоходом выяснили, ваши генеренные страницы не будут индексироваться поисковиками
Спасибо, дорогой! Это, надо думать, иллюстрация способностей местной публики? Но тогда вопрос на засыпку: страница генерится на клиенте. Повторяю: НЕ на сервере, а на КЛИЕНТЕ. Чо, поисковики рази уже и там свирепствуют?
цитата:
используйте чистый HTML и...
...получИте объем для 3-го теста мегов в ...дцать, не говоря уже о 4-м. Очень правильное решение. Применял уже (Гугля тогда ваще еще не было): AltaVista, AOL, и какой-то японец (из замеченных) месяца три паслись у меня на сервере. А там у меня было тыщ 30 страниц (чистого HTML ), и обновлялись они чуть не каждый день. А все страницы были подписанные. Набираешь, помнится, где-нить в AOL "Владимир Рыбинкин", и получаешь тыщи полторы страниц, все на мой сайт, и все уже недели две как мертвые - красота! Потом эти придурки опомнились, и... зафильтровали, небось. Так что... "читателям этого форума" - да, будет проще: 99.9% ваще же ни слова не понимают - даже в какую сторону щеки надувать. Клиенты (если им траффик по барабану, и канал толстый) просто ниче не заметят. А вот у Гугля могут быть проблемы...
цитата:
Однако это не общее решение
Мало того - ИДИОТСКОЕ решение.
цитата:
единственный способ честного разбора JS - это прикинуться на мгновение браузером
Это шедевр! Единственный(!) способ честного(!) разбора - это прикинуться(!!!)... Спасибо за доставленное удовольствие!
цитата:
код Владимира и человек то не всякий разберет, не то что тупой робот.
Какой там код! Мой "робот", кстати - ниче, понимает - даже скулить что-то перестал. Я вообще затрудняюсь назвать хоть одну концепцию, которую, наконец, поняли. Хотя я здесь и так, и эдак, и польку-бабочку...
цитата:
Надо, кстати, подкинуть ее Владимиру, вдруг разрешит
Нет уж, спасибо! Во-первых, "товарища Тьюринга" я уважаю (хотя тест у него - идиотский). Во-вторых, даже если предположить, что я ее вдруг разрешу, меня просто в дрожь бросает мысль о том, что это придется вдалбливать таким вот... которые даже в простейших рассуждениях про несчастного клиента НУ ХОТЬ ЧТО-НИБУДЬ понять не способны. Б-р-р-р-р!
цитата:
Только вот никто не гарантирует что там что-то осмысленное - а вдруг СИНТ какой притаился?
Не боись! Кому тут выкладывать, если даже про клиента прорубить не могут? Да чего там - AJAX поганый скоко лет уж мурыжат - никак не допереть, чо натворили! Какой, в задницу, SINT?! Чтобы он стал "осмысленным", скоко еще уровней "осмысления" предварительно нужно пройтить...

У меня, правда, в SINT тоже 4 уровня. Так сказать, "отличающихся различными требованиями к квалификации программиста". Как я когда-то по дурости писал:

Объекты ядра рассчитаны на программиста высокой квалификации ("защита от дурака" отсутствует), и неправильное использование инструментария ядра...

Инструментальный уровень: объекты общего назначения, предназначенные для использования квалифицированными программистами...

Прикладной уровень: объекты, функционально эквивалентные объектам инструментального уровня, но защищенные от возможности их неквалифицированного использования...

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

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

И т.д., и т.п. Вы уж простите меня, пердуна старого - я ж это писал, рассчитывая на программистов еще прошлого века (куда там - ТЫСЯЧЕЛЕТИЯ!) - откуда ж мне знать было, как оно все обернется? Нешто я Нострадамус? Я, бестолковый, думал: все будет развиваться потихоньку, в том же направлении. А тут ТАКАЯ КРУТИЗНА! Да еще как полезла изо всех щелей, как поперла с дикой скоростью! Рази революцию в программировании предугадаешь?..
цитата:
И это у них такая политика.
Именно, дорогой, именно!
цитата:
Я так не считаю.
IMHO, как и никто из нормальных людей.
цитата:
чтобы поддержать маломощный/устаревший/глючный браузер и т.д.
Гхм!
цитата:
А был бы один скучный JavaScript - век бы сюда не зашел!
А он-то как раз оказался вовсе не скучный. А вот ветка, прям на глазах...
цитата:
см. темы про задачи коммивояжера, сжатие последовательности
О! Сжатие ж еще! Валялось где-то - замочить, что ли? Я ж ее все-таки подрезал чуток, токо в размер разархиватора не влез... Впрочем - зачем? Надо ж вам хоть какой повод оставить (тем более, что сам quest уже сказал, что массив сжимаем).
цитата:
Надо сразу переходить к настоящему - задачам неразрешимым
Похоже, я уже и перешел. Добиться, чтобы народ хоть что-то понял про программирование клиента - вполне себе неразрешимая задача. Звезда в шоке! (с)Зверев, что ли...

lvqcl
цитата:
Vladimir Rybinkin героически бьёт морду светофору и переходит улицу на красный свет.
1. До меня никто из вас ваще не подозревал, что там когда-то горел зеленый.

2. У меня совсем другая ассоциация: сидит толпа наркоманов, и покорно глотает все, что им впаривают наркобароны. И кайф уж не тот, и ломки все чаще, но это уже зомби - на разговоры типа "Не платите вы этой мрази ни гроша" или "Не покупайтесь вы на халяву - это ж вас на иглу сажают!" реагируют агрессивно и одинаково - видать, наркобароны даже тексты речей им написали. dozen, например, может теперь какие угодно песни петь, скажем, сколь шикарные у него библиотеки - да про что угодно! ДОКАЗАНО: броузер евойный не в состоянии даже eval динамически вызвать - способен лишь материться по этому поводу. Все: это - труп! А сам dozen не то, что не программист - даже и не пользователь, раз такое уе..ще использует. Приговор окончательный, обжалованию не подлежит.

rGlory
цитата:
Ну Владимир нам как бы намекает, что все мы должны немедленно даунгрейдить свои ОС до win98, иначе столь нужные нам страницы с его сайта у нас не будут показываться.
Не, я как бы намекаю, что если уж даже моя дохленькая ОС + столь же дохленький броузер УМЕЮТ это делать, то уж ваш хваленый софт ТЕМ БОЛЕЕ все это умеет! И массу чего другого, чего моему даже в кошмарном сне не приснится. А уж про совместимость снизу просто и заикаться стыдно. Ведь правильно? Ведь верно?
цитата:
Вот только представил себе, как задача коммивояжера решается в браузере, на стороне клиента, и по спине мурашки.
Неучи неизлечимы! Вроде, заткнулись после выявления ПОЛНОГО идиотизма их ранних поучений. Но проходит время, и... Работает у меня комми, работает - успокойтесь. Прям ща и работает. Это - НЕЧТО!!! Как раз подгадал: считает tsp_all - вся TSPLIB, вся VLSI, все National TSPs и сам World TSP в придачу (по-моему, еще около десятка малоизвестных задач) - 4391541 узел altogether. Вот он, во всей красе - в аттаче. Тон задает, естественно, TSPLIB: свыше 80% тура приходится на usa13509 и три файла серии pla, и у меня сильное подозрение, что и за 90% перевалит. Всякая там VLSI, World TSP и прочая дребедень болтаются где-то в левом нижнем углу - даже не видать. Ах, да - кто-то там чего-то вякал про анимацию... Пожалуйста: еще текущее состояние World TSP - на плоскости (кто не знает - обычно он решается на шаре, и я даже читал недавно, что есть надежда его решить - лет через 30 - если техника и дальше будет развиваться с той же скоростью). В очереди также мои r2345678, r3456789, r12345678, r23456789 и r123456789. Струячит себе потихоньку, каши не просит... Рядом - параллельно - броузер очередной тест отображает, и уже без припадков, без скулежа (раньше были - пятый все же IE, не третий ). А от ваших броузеров, которые от одной только попытки eval вызвать срочно начинают штаны сушить... Конечно, не только мурашки побегут - восхищаюсь вашим мужеством, господа! Интересно, а хоть один из экспертов на этом форуме способен на что-нить, кроме ВОТ ЭТОГО? Ах, да - Мироныч же, кажись, эксперт. Начинающий, видать...
цитата:
Владимир, беретесь?
См. мой ответ автору.
цитата:
Спросите меня, откуда я это знаю...
Не стОит. Как я Вас когда-то назвал... не помню уже. Но Вы - НАВЕРНЯКА помните. IMHO, основная причина.
цитата:
он умеет/может раскрутить насчет высказаться знающих людей по разным вопросам.
ДА???!!! Где, когда - ссылку мне, ссылку скорее!
цитата:
Только, боюсь, я знаю, как ее решит Владимир
Не бойтесь, сэр - он и сам уже не помнит - в школе еще решал. Да и... маловато места, чтобы его привести. Финистом, что ли, еще подразнить? Впрочем, на фиг! И так распоясались уже до предела - того и гляди, ветку закроют.

zzf
Уважаемый "Member"! Ваш уровень мне давно ясен до мельчайших подробностей. Обращайтесь к другим - мож, кому-то еще и полезно будет узнать.
цитата:
А то я уже начал было переживать, что ВР ушёл вперед меня в познаниях JScript.
Успокойтесь, родной! ВАШ уровень можно разве что повторить (и то лишь избранным, конечно - не мне, убогому). Превзойти же - не дано никому.
цитата:
на самделе я его вообще не знаю
Вашу скромность - тоже.
цитата:
Господа, тут вроде как об JScript тема. Если вам симбады с пнп-вояжорами действительно так интересны, то открывайте соответствующую ветку, а то ВР, чего доброго, решит здесь эти темы развить.
Вот уж откуда не ожидал поддержки... Спасибо, милый!
цитата:
Есть ещё более простая в формулировке, но трудноразрешимая...
Господи! Неужто и это NP? Видимо, и там революция...

К сообщению приложены файлы: 1.rar, 32Кb

155. ivanhoe, 22.08.2009 12:19
Vladimir Rybinkin

цитата:
Спасибо, дорогой! Это, надо думать, иллюстрация способностей местной публики? Но тогда вопрос на засыпку: страница генерится на клиенте. Повторяю: НЕ на сервере, а на КЛИЕНТЕ. Чо, поисковики рази уже и там свирепствуют?
Они не свирепствуют. Поисковик он в данном случае и есть клиент клиент. Но клиент, ограниченный многими факторами, в частности, временем, выделенным на обработку отдельно взятой страницы. Генерировать все Ваши тридцать тысяч виртуальных страниц он не будет (даже до первой не дойдет), и дело не в свирепости, а в присущих ему by design ограничениях.

цитата:

...получИте объем для 3-го теста мегов в ...дцать, не говоря уже о 4-м. Очень правильное решение.
Да, правильное. Места для документов у Гугла завались.

цитата:
Нет уж, спасибо! Во-первых, "товарища Тьюринга" я уважаю (хотя тест у него - идиотский). Во-вторых, даже если предположить, что я ее вдруг разрешу,
Кстати шансы есть. Доказательство Тьюринга строится на ограничениях его, Тьюринговской, теории алгоритмов, т.е. конечности самой программы и пр. Вам, как алгоритмисту, надо всего-навсего придумать свою теорию алгоритмов, более мощную чем Тьюринговская, чтобы работать сразу с бесконечностью, тогда там сразу все и разрешится. Пока такую не придумал никто.

цитата:
И т.д., и т.п. Вы уж простите меня, пердуна старого - я ж это писал, рассчитывая на программистов еще прошлого века (куда там - ТЫСЯЧЕЛЕТИЯ!) - откуда ж мне знать было, как оно все обернется? Нешто я Нострадамус? Я, бестолковый, думал: все будет развиваться потихоньку, в том же направлении.
Зато каждый программист 21-го века знает что такое "денотационная семантика", например, и умеет ее читать. Надо перестроиться и идти в ногу со временем. :>

цитата:
Не, я как бы намекаю, что если уж даже моя дохленькая ОС + столь же дохленький броузер УМЕЮТ это делать, то уж ваш хваленый софт ТЕМ БОЛЕЕ все это умеет!
Как говорил товарищ Сталин, "других браузеров у меня нет". И, в общем-то, кроме ваших тестов все остальное, что я пробовал, он показывает.

156. zzf, 22.08.2009 12:39
Vladimir Rybinkin
Не, я как бы намекаю, что если уж даже моя дохленькая ОС + столь же дохленький броузер УМЕЮТ это делать, то уж ваш хваленый софт ТЕМ БОЛЕЕ все это умеет! И массу чего другого, чего моему даже в кошмарном сне не приснится. А уж про совместимость снизу просто и заикаться стыдно. Ведь правильно? Ведь верно?

Неверно! Если твой IE3 может выполнять кривенький нестандартный javascript, то это не значит, что браузеры более поздних версий или других производителей, придерживающиеся стандартов более строго, должны делать то же самое.
Кстати, что у тебя? Win 95? Это же как надо себя не уважать!

Добавление от 22.08.2009 14:18:

Vladimir Rybinkin

цитата:
Я не знаю, как ЭТО обозвать. Самое лучшее определение (на мой взгляд) я уже приводил: APS (Ajax Processing Software).
AGS? (Ajax Generating Script)

цитата:
Именно так! И не только "современные". Оптимизацию от MSVC5/6 я видел, и не раз - за такое нужно просто яйца отрывать! Я когда-то описывал именно такой случай, когда "в тексте программы переменная была, а в исполняемом коде ее не было". Тупая скотина! Нет мозгов - так хоть не лезь своими грязными лапами в код программиста!

Ты после генерации ассемблерного кода начинаешь активно править его руками? А если нет, то какая тебе разница, что выкинет компилятор, если код делает то, что ты описал?

цитата:
Ответ же - был, и не раз.
Это чтоли?
цитата:
хочу инструментарий на JS/IE3, позволяющий с максимальными удобствами реализовывать все, что нужно конечному пользователю (в идеале - пользователю СУБД). Ну и первый тест подоспел - можно посмотреть...
Ну если это тест инструментария, то судя по отсутствующей доке он не проходит ещё до запуска чего бы там ни было.

цитата:
Ну если СВОИХ моз... Спокойно, Ипполит, спокойно... Читайте внимательно: там ВСЕ написано - что, как и почему.
Ну зачем же так унижаться и переходить на личности? Что я должен читать и что там написано? То, что "не работает"? Ну так я то же самое и говорю. Есть какая-то недоподелка, которая генерирует нечто. В этом нечто есть пара чекбоксов, как бы с намёком на то, что при игре с ними список там чего-то слева должен вроде бы как изменяться. Ещё есть выпадающий список с выбором цвета — тоже с намёком. Тут вариантов два: либо эти свистоперделки нужны для красоты (типа узоры), либо оно не работает. А если не работает конечный код, который уже видит пользователь и который генерируется твоими "тестами", то твои эти генераторы полное... как бы это корректно сказать, но не выругаться... ну ты понял.

цитата:
А если все же ГОЛОВОЙ подумать? Мож, другие какие версии появятся?
Мне становится страшно за тебя. Ты умеешь думать не только головой? А! Ну теперь понятно, почему ни один "тест" не заработал.
Я на всякий случай подумал ещё раз, но твой ответ не разубедил меня в том, что сказанная тобой фраза "я посылал работающее решение" является ЛОЖЬЮ.

цитата:
Все хуже: у него "припадки" начинаются - я же писал. Я чуть со смеху не помер: m.e - работает, а "настоящий" eval - нет. Причем, насколько я понял, нестабильно: работает, работает... и вдруг - сюрпрайз: "Неожиданный вызов функции".
Ага, "неожиданный вызов". Но только не eval, а того, что ты ему подсовываешь в качестве аргумента. Ну ты понял.

Кстати, а что там насчёт Employees и Persons? Ответа не видать. Или он опять "выше"? Уж очень интересно как Employees поможет Ajax'у.

цитата:
Или "великое открытие" в том, что я рассказал вам, олухам, что вас всех ограбили? Ободрали, как липку?
Сердечный, ты о чём? О том, что тебя могут ограбить на 500 баксов, дав взамен нормальное железо, на которое ты сможешь поставить современную ОС и современную среду разработки? Уж да, открыл глаза. Лучше Win95 и Turbo C 2.0. Пиши ещё. Давно так не смеялся.

Да, кстати: Скупой платит дважды, тупой платит трижды, лох платит постоянно. Кстати, платить можно не только деньгами, но и временем разработки и выполнения "тестов". Ну ты понял.

цитата:
Но тогда вопрос на засыпку: страница генерится на клиенте. Повторяю: НЕ на сервере, а на КЛИЕНТЕ.
Ты генерирующие скрипты будешь через e-mail рассылать?

цитата:
Набираешь, помнится, где-нить в AOL "Владимир Рыбинкин", и получаешь тыщи полторы страниц, все на мой сайт, и все уже недели две как мертвые - красота!
А я, помнится, на куликовском поле в одних трусах против армады танков... Давай лучше без описаний снов.

цитата:
Я вообще затрудняюсь назвать хоть одну концепцию, которую, наконец, поняли. Хотя я здесь и так, и эдак, и польку-бабочку...
Польки и бабочки были — не спорю — а вот определений и чётких описаний — ни одного.

цитата:
ДА???!!! Где, когда - ссылку мне, ссылку скорее!
Какую тебе ссылку?!! Было выше много раз — раскрой глаза, чудик!

цитата:
Вот уж откуда не ожидал поддержки... Спасибо, милый!
Да для хороших людей я последюю тельняшку отдам! Всегда пожалуйста, сынок.

цитата:
Господи! Неужто и это NP?
Ага NP. А какая простая формулировка! Доказываешь полиномность алгоритма для её решения — автомачически доказываешь его полиномность для всех NP. Алгоритмист ты наш нодоалгоритмизированный. Но если, то не в этой ветке, Ок? Впрочем, куда тебе? Зубки сломаешь. Эт тебе не вояжер, в котором ты только одной неверной формулировкой уже тонны пыли напускаешь.

157. dozen, 22.08.2009 17:26
ivanhoe
абсолютно любой скажет, что "больше трафика - больше денег"

Больше трафика в абсолютных цифрах -- конечно, лучше. Но начали-то мы с того, что добавив мусор в script (по-моему мнению) ухудшит релевантность, то есть УМЕНЬШИТ трафик.

Но упадет ли релевантность по "ежикам" и общее количество целевого трафика? Неочевидно. Думаю, сценарий будет скорее другой - 100% потенциальных покупателей ежиков будут приходить как и раньше.

Давай доведем до предела -- будем добавлять всё больше и больше мусора, пока мусора не станет в 100 раз больше контента. Очевидно, в какой-то момент гугль скажет "WTF?" и релевантность таки упадет. Вопрос только в соотношении объема мусора и контента, когда это произойдет. Точных сведений нет. Безопаснее, IMHO (исходя из "желания" гугля доставлять релевантные результаты) предполагать, что это начнет происходить сразу.

Вообще-то это твой совет - индексировать мусор в виде javascript. :> Я как раз против.

Мой совет -- не держать мусора. Нигде. В том числе -- в JS.


"транстелеком", если браузер не скушает ссылку), на первом месте стоит страница, в которой слова "транстелеком" вообще нет
у меня вся первая страница содержит транстелеком или "транс телеком".
шандор каллош дискография
выдал кучу ссылок на этого калоша и игру на лютне. ты точно гуглем пользуешься?


И гугл тоже обманывается.

Ну, а кто спорит? Мы-то обсуждаем с позиций разработки честных веб-приложений, а не doorways и прочего г?

Добавление от 22.08.2009 17:45:

Vladimir Rybinkin

Вот ты накатал сообщение на страницу, и ни одной практической мысли, только сопли пузырями.

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

158. sip, 23.08.2009 04:27
Раз уж речь пошла о расчётах на клиенте, то и я слегка поучаствую Есть какие-либо общепринятые правила насчёт объёма кэшируемых на клиенте данных и сложности вычислений ? Если на клиенте большой кэш, то встаёт вопрос его поддержания в актуальном состоянии, особенно учитывая конкурентную активность пользователей. Расчёты на клиенте - это ещё заковыристей. Например, по сложному сценарию(правилам) считаем цены на различные сущности. Для расчёта нужно доставить на клиента большой объём дополнительных данных, плюс сам расчёт не тривиален. Если клиент запущен на убогом компе, то считать он будет очень долго. Не будет ли разумнее всё считать на сервере, а на клиенте только визуализировать конечный результат ?

159. zzf, 23.08.2009 15:00
sip
Не будет ли разумнее всё считать на сервере, а на клиенте только визуализировать конечный результат ?

Именно так и будет разумнее. Именно так и делает google. Живой пример тут (http://maps.google.com/maps?f=d&hl=ru&geocode=&saddr=berlin&daddr=paris) . Хватаем за середину маршрута мышкой и тянем. Гугл считает новый маршрут прям на лету, а клиент только отрисовывает меняющийся результат.

160. sip, 23.08.2009 15:36
zzf
Ну тут вообще-то не всё так очевидно. С google всё понятно, у них серверная мощность громадная. А вот работа с базой данных в конкретно взятой фирме с распределённой инфраструктурой - по идее "жирные" клиенты могут сильно разгрузить требования к серверам. Или это тупиковый путь и проще наращивать серверную мощность ?

161. ivanhoe, 23.08.2009 16:19
dozen

цитата:
Давай доведем до предела -- будем добавлять всё больше и больше мусора, пока мусора не станет в 100 раз больше контента. Очевидно, в какой-то момент гугль скажет "WTF?" и релевантность таки упадет. Вопрос только в соотношении объема мусора и контента, когда это произойдет. Точных сведений нет. Безопаснее, IMHO (исходя из "желания" гугля доставлять релевантные результаты) предполагать, что это начнет происходить сразу.
Зависимость лексического веса от количества мусора будет скорее логарифмическая, а не линейная или еще какая скачкообразная. Но опять таки, ты сводишь релевантность к лексическому весу. Иногда у страницы действительно бывает только он. Но далеко не всегда это так, посмотри пример с транстелекомом внимательнее (на что обращать внимание - см. ниже).

Кстати, к firefox есть плагин, который умеет показывать в цифирках какие-то из гугловых весов для результатов поиска. Если интересно, могу найти ссылку.

цитата:
у меня вся первая страница содержит транстелеком или "транс телеком".
У меня первой ссылкой в поисковой выдаче стоит "http://www.transtk.ru". У тебя по-другому? Кликни на нее, посмотри в исходник. Увидишь что слова "транстелеком" в исходнике нет. Лексический вес в любом поисковике у этой ссылки нулевой (для запроса "транстелеком"), но она тем не менее, самая первая. Пример приведен к тому что лексический вес это не единственный (и не всегда главный) параметр в формуле релевантности.

цитата:
выдал кучу ссылок на этого калоша и игру на лютне. ты точно гуглем пользуешься?
Точно. Меня совершенно не интересует что мне выдал гугл (хотя "шандор каллош" в тексте встречается, да).

162. jooher, 23.08.2009 18:56
ivanhoe
Лексический вес в любом поисковике у этой ссылки нулевой (для запроса "транстелеком"), но она тем не менее, самая первая. Пример приведен к тому что лексический вес это не единственный (и не всегда главный) параметр в формуле релевантности.

Ну гугл то как раз на том вроде и выехал, что считает релевантность не столько по содержимому документа, сколько по кличеству ссылок на него с других страниц по теме.

Добавление от 23.08.2009 19:20:

извиняюсь если что то дублирую, предыдущие 11 страниц н......л, понял тока что автор жжот. Кстати можно какиенибудь ссылочки о чем речь вообще?

163. arsa, 23.08.2009 20:35
jooher
цитата:
сколько по кличеству ссылок на него с других страниц по теме
это их классический запатентованый алгоритм 1999-го года, основан на системе ссылок в научных публикациях (там то же самое).
с тех пор они добавили ещё сотню алгоритмов, каждый из которых имеет свой (секретный) вес.
я щас скажу каромолу, но вот например человек пытается каталогизировать их (это как гадание почти... ничего не известно, сплошные догадки)
http://www.vaughns-1-pagers.com/internet/google-ranking-factors.htm
а вот последнее интервью с гуру поиска
http://www.webmonkey.com/blog/Let_Google_s_Matt_Cutts_Up_Your_SEO_Mojo

ivanhoe
цитата:
плагин, который умеет показывать в цифирках какие-то из гугловых весов для результатов поиска
сам гугл мало о чем колется. к сожалению. вот например такой плагин можно использовать
http://www.seoquake.com/
но там кроме pagerank, страниц на сайте и входящих ссылок ничего нет. зато работает еще и с другими поисковиками, и умеет на других страницах показывать вес ссылок (не только на гугле)

164. ivanhoe, 23.08.2009 21:20
jooher

цитата:

Ну гугл то как раз на том вроде и выехал, что считает релевантность не столько по содержимому документа, сколько по кличеству ссылок на него с других страниц по теме.
Спасибо за информацию, но я как бы не совершенно не удивлен результатом. :> Также я в курсе, что ссылочный вес давным-давно уже считается не просто как количество ссылок с других страниц, т.к. все поисковики борятся по мере сил с накруткой этого веса. Простые способы накрутки ссылочного веса (сгенерировать 10^N сайтов со ссылками на ресурс) уже давно не работают.

цитата:

извиняюсь если что то дублирую, предыдущие 11 страниц н......л, понял тока что автор жжот. Кстати можно какиенибудь ссылочки о чем речь вообще?
Прочитай все темы Владимира от начала до конца. :>

165. jooher, 23.08.2009 21:26

dozen
Очевидно, в какой-то момент гугль скажет "WTF?" и релевантность таки упадет.

Недавно столкнулся с удивительной ситуацией. Клиент (заказчик всмысле) не взирая на предупреждения умных людей навалил в сайт кучу откровенного раскрутошного палева типа списков самых популярных слов. Причем не просто список слов, а список слов, повторенный много раз (Ctrl+V) практически без изменений. То есть со стороны робота не требовалось глубоких знаний русского языка, чтобы эту затею выкупить. Что и было совершенно предсказуемо сделано Яндексом. А вот Гугл, к моему удивлению, не выкупил, и сайт спокойно висел в первых строчках. Но, надо признать, в остальном контент проиндексировал хорошо.

но все оффтопик вроде как. а что таки было тут интересного по сабжу? Кроме открытия автором функции eval() Резюмировать кто-нибудь сможет? Читать 11 страниц гонева сил нет, а тема интересная...

166. arsa, 23.08.2009 22:31
jooher
да мы тут как бы не это уже обсуждаем из интересного было обсуждение extjs, gpl, индексации. ну это примерно на 1-3 страницу, остальное поток сознания thread starter-а, и ответы на него.

167. Vladimir Rybinkin, 24.08.2009 10:27

ivanhoe
цитата:
А эта "шобла" разбирается в том что такое юзабилити...
Вот и я так думал - точь в точь! Ни хрена она ни в чем не разбирается.
цитата:
Генерация HTML посредством JavaScript на мой взгляд сделана лучше на этом форуме, т.к код:
- лучше структурирован
- более понятен
- работает и на моем броузере тоже (в отличии от Вашего)
Серьезно?! А ну-ка, посмотрим... Но вначале - в глаз: нельзя же так раскрываться!

Видимо, на впечатлительные души читателей изложение аргументов в виде списка должно поизводить впечатление стройности, продуманности, многочисленности или хотя бы их наличия. Хорошо, ударим по Вашему ненумерованному нашим нумерованным:

1. На мой взгляд, нельзя применять ОТНОСИТЕЛЬНЫЕ операции сравнения чего-либо (лучше-хуже, более-менее) при АБСОЛЮТНОЙ невозможности нанести на шкалу значение хотя бы одной из сравниваемых величин. Допускаю, что Вы неплохо разобрались в коде страниц форума, но уровень понимания моего кода по-прежнему абсолютен.

2. Вы физически не можете знать структуру моего кода (по крайней мере, без прокрутки алгоритма), поскольку она формируется динамически, в процессе инициализации. Но я Вам помогу - вот, навскидку - ажно многоуровневый список возражений получится:
- системные функции ядра (отправляются на морду сразу при загрузке - a.j)
- системные методы, или очереди, или псевдо-функции на данных, или... (отправляются на морду при инициализации, могут динамически обновляться)
- специализированные функции (лежат в переменных на морде после инициализации, при генерации страницы выплевываются в тело). Переменная толщина клиента (могут обновляться, ессно). В приведенных тестах еще не использовалась.
- локальные функции страницы (i.j)
- эту повесть про структуру можно дальше продолжать, но похожее от Вас бы мне хотелось увидать

3. Я уж тыщу раз говорил: этот код предназначен ДЛЯ БРО-У-ЗЕ-РА!, и Вам совершенно необязательно его понимать. Поймите хотя бы идеологию, черт побери!

4. Даже гениальному педагогу могут попадаться совершенно деревянные ученики, и любой его "код" у них работать не будет. Это я не о своем коде, естественно, а о ваших броузерах.

5. После того, как dozen "прокололся", и привел диагностику, я ЗНАЮ причину, по которой ваши броузеры не могут справиться с моим кодом. Никакой иной причины ни один из вас назвать не в состоянии. Тем более, что У МЕНЯ все прекрасно работает. Можете проверить - поройтесь на свалках, поищите старенький комп - он вам покажет, как НУЖНО работать вашему дерь... ой... замечательному современному софту.

Теперь - попробую Вам все-таки поверить. Где-то у меня завалялись сохраненные не как TXT странички... Ага! Ну, возьмем махонькую, на 29647 байт. Полезной информации в ней... ну никак не больше 10094 (это все равно "брутто", но надоело чистить). Бум считать - третья часть. И Вы хотите сказать, что все это дерьмо типа
код:
<table border=0 width=95% cellpadding=3 cellspacing=1><tr><td class=t2 width=18% valign=top><a class=l href="javascript:paste...

он "по каналам связи" не передает, а "на минЕ" генерит? Чо-то не похоже, а ковыряться в этом "лучше структурированном и более понятном" ну НИ МАЛЕЙШЕГО желания. Так что.. позвольте Вам НЕ поверить. Впрочем, рад буду ошибиться. Как посмотреть на то, что мне с сервера поступает "на входе"?
цитата:
Гм. Ну вообще-то ненулевая. Даже на этом форуме я писал код с указателями.
Значит, Вы очень удачно маскируетесь.
цитата:
Не поверю. Потому что и свой и чужой опыт тоже имеется.
Дык... я потому и говорю, что он НУЛЕВОЙ. Если опыт есть - что ж Вы так их боитесь-то? Нечеловеческих усилий, в смысле? Или это просто страшилки на публику? Так хоть предупредили бы - я ж тупой, я ж сразу в драку. Но мне такое поведение ТЕМ БОЛЕЕ не нравится. Так что внесу-ка я ясность в этот вопрос...

Господа! Вас НАГЛО ОБМАНЫВАЮТ! Работа с указателями НИЧУТЬ не сложнее, чем с обычными переменными - это вас просто пугают, как пугали в детстве разными Чудами-Юдами и Бабами-Ягами. Встречали когда-нить такое понятие "Key-Value"? Так вот: это ТО ЖЕ САМОЕ! Указатель - это обычная переменная, в которой лежит адрес другой обычной переменной (которая тоже может быть указателем). Вот и все! На первый взгляд (новичку) может показаться, что работа с указателем в два раза сложнее - ведь следить нужно и за тем, и за этим - т.е. указатель - это как бы две переменные в одной. Но попробуйте сказать - да, да, тому, кто вас пугает - что работа с двумя переменными вдвое сложнее, чем с одной, и посмотрите на его реакцию. Не бойтесь указателей, господа - это ваши друзья! При некотором навыке (а он приобретается за считанные дни) вы их просто перестанете отличать от других переменных - многократно проверено. А через месяц-другой вы их так полюбите, что и слышать не захотите ни о какой "альтернативе". Вот примеры некоторых операторов (довольно мощных, кстати) с использованием указателей (последний - на функцию):
код:

if (CompareSymbols (*((UI8MD)AStr + uj), *((UI8MD)AS + uj), IGNORECASE))

Addr = *(DMD)(_MultiLangStrings[SINT.Lang] + ((LR - o_MultiLangString - 1) * sizeof (TDP)));

(TDP)SINT.AMQ = (*SINT.AMSQ).iStack * sizeof (TEQS) + (*SINT.AMSQ).AStack;

(*SINT.AMQ).Addr = (*SINT.AMQ).Addr + __GetStackSizeFStr ((*SINT.AFIO).AF);

*(UI32MD)(TDP)&SINT.ACC = (*(UI32MF)_FT[(UI16)___].Addr) ();

Скобок, кстати, тоже не бойтесь - это тоже друзья! Не боялись же вы их (надеюсь!) в школьных задачках? Помните, у Выгодского: записать наибольшее число тремя цифрами и знаками действий? Вот он как раз скобочки недолюбливал, и потому сам привел неправильное решение: 9^9^9. Потом пояснял: это 9^(9^9). А любил бы скобочки - понял бы, что решение - вообще бесконечность: (...(9!^((9!^9!)!)!)...)!

К сожалению, указатели оказались "изгоями" даже для разработчиков компиляторов. Если, например, я поставлю в предпоследнем операторе += мой компилятор перестает его понимать. А казалось бы - обычная конструкция языка... Свободу попугаям! (с)
цитата:
Ну я предпочитаю более как-то абстрактно думать.
Вы... эта... народ-то лучше не пугайте. А то сразу пойдут разговоры о сферических конях в вакууме.
цитата:
Насколько я понял, Вы говорите о некоем "копировании", когда на входе имеем источник, данные из источника обрабатываются и передаются в другой поток-приемник.
Ну, мой милый - Вы меня просто убили наповал. А что, бывает какое-то иное копирование? Без источника и приемника? Без обработки - да, бывает, но я ж об этом тоже писал... Ладно - проехали.
цитата:
При этом потоками (как входными так и выходными) могут быть...
Совершенно верно: "многое другое". И функции копирования до этого НУ НИКАКОГО дела нет.
цитата:
Не берусь утверждать точно, но обычно подобное является примером неправильного проектирования.
Я Вас внимательно слушаю: а ПРАВИЛЬНОЕ - это как? printf, sprintf, fprintf, vsprintf... хто там еще... movmem, memmov, read, write, _read, _write - так, что ли?
цитата:
И в любом случае это уже идет решение, а не постановка задачи.
Разве?! А мне казалось - именно постановка задачи (исполнителю). Или, точнее, только ЧАСТЬ этой "постановки". Или... как Вы там - "предпочитаете более как-то абстрактно думать"? Ну, попробуем...

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

Тип устройства источника и приемника копируемых данных принципиально может задаваться двумя способами: дескриптором (handle) устройства или адресом ОЗУ компьютера (возможно, разумеется, обращение к ОЗУ и через дескриптор для объектов класса "блок ОЗУ").
...

Потянет?
цитата:
И какие глюки с enum у современных компиляторов?
Да я почем знаю, чо там у "современных"? У VC6 (ndemia подтвердил, что и у BC5) - были. Лень искать - мы с ним об этом лет эдак... давно, в общем, разговаривали.
цитата:
Почему-то эта функциональность никому не мешает и только Вам мешает.
Почему "только мне"?! Всем, кто занимается боль-мень серьезными вещами. На этот пример я всю лабораторию водил, как в цирк - забавно было наблюдать, как происходит переход от "состояния покоя" к "состоянию вытаращенных глаз" (показываешь код, прямо на глазах транслируешь, запускаешь, с растерянным видом просишь совета), а затем к хохоту и подколкам (показываешь, чо эта сволочь натранслировала).
цитата:
MSVC5/6 к современным компиляторам, кстати говоря, не относятся.
Я, вроде, в том ключе и говорил...
цитата:
Не очень понял что Вы хотите сказать...
Приятно слышать. Не то, что "не поняли", естественно - просто устал от постов тех, кто якобы "понял".
цитата:
и как это опровергает тезис о стирании различия между интерпретаторами и компиляторами.
А кто его здесь опровергал?! Наскоко я помню, я вообще сказал: "Наконец-то!"
цитата:
Предыдущее мое предложение было примером, опровергающим тезис, что одни языки можно отнести к интерпретируемым, а другие к компилируемым.
А мое - опровергающее Ваше опровергающее.
цитата:
А если Вы имеете в виду что существуют гибридные подходы между интерпретаторами и компиляторами, где все "живет, дышит" и переходит из интерпретируемого кода в компилируемый, так я с этим и не спорю
Но я-то - спорю!
цитата:
т.к. примеры перед глазами в виде JVM и .NET.
Про NET ничего не скажу - показали как-то, меня всего передернуло, и больше я о нем ничего не знаю. Про JVM для меня авторитетом был когда-то "существовавший" здесь Maxim Kizub, и до сих пор Вы рядом с ним не стоите (уж не взыщите). Тем более, что он как раз "думал о происходящем в недрах", что на Ваш взгляд "непродуктивно и совершенно бесполезно".
цитата:
Я уже приводил код генератора для третьей задачи:
Ха-ха-ха! Нет, он генерит отнюдь не "то же самое", а лишь то, что думает о ней Ваш крутейший броузер. А я просил написать то, что выводит МОЙ, "маломощный/устаревший/глючный". А это... число сочетаний "контролов"... ага - 1024, базовых страниц - 619, итого 1024 * 619 = 633856 виртуальных страниц. Парочку из них я уже приводил, но это же капля в море! Вот как выглядит первая из приведенных страниц, если ей "позволено" генерить лишь заливы и озера (a.htm), вот вторая - если "отрезать" этой Амазонке ее притоки (b), вот Средиземное море в двух вариантах (c и d), вот Южный океан (e), вот Африка с "харакири" для ее стран - вот что такое третий тест! ВОТ ТАКОЙ генератор я просил нарисовать, чтобы и остальной народ, наконец, увидел что-нибудь (да и Вы сами).
цитата:
Если постановка задачи какая-то другая, то эту задачу надо сначала сформулировать.
РРРРААААУУУ!!!! Да я минимум ТРИЖДЫ ее здесь уже формулировал! И именно "для начала в крайне общем виде". Какой, в задницу, Борей? На каждую сраную БД свою математику делать? Новую ветку заводить? И это пример того, как надо "В КРАЙНЕ ОБЩЕМ ВИДЕ"?! Ну, Ваня...
цитата:
Ну Вы формируете страницу уже полтора месяца и результата законченного пока нет. По-моему это очень долго, даже на этапе изучения HTML/JS.
Неужто? А то, что НИКТО из присутствующих за те же полтора месяца так и не понял, что я вовсе не "страницу формирую" - это как, не очень долго, нет? А то, что AJAX, по слухам, уже 6 лет не может сделать и половины того, что сделано здесь за полтора месяца - это нормально? Они ведь даже еще не въехали, ЗАЧЕМ это нужно - лишь чувствуют мощь (каким местом - непонятно, но и неважно - чувствуют правильно). Молодцы, хоть честно признаются - даже не ожидал.
цитата:
А ведь общественность еще не ознакомилась с серверным кодом, на его разработку сколько времени ушло?
Тьфу, зараза! Чай прихлебывал - аж подавился. "Серверный код", конечно, еще не Синдбад - это только шаблоны, им управляющие, но... не поплохеет "общественности", случайно? Уж больно хлипкая она какая-то на вид. Я и сам-то боюсь к ним прикасаться, пока не узнаю толком, что нужно клиенту на вход подавать. А если все это одновременно делается... был такой прецедент, по нему я и работаю сейчас. Ну, хорошо: если Вы считаете, что Вы ВПОЛНЕ здоровы (точнее, если Вы ПОКА здоровы ) - смотрите аттач. Настоятельно рекомендую предварительно прочесть ReadMe.txt - токо что составил - какая-никакая подготовка. А мож, лучше не надо, а? Я вот ща сунулся, напоролся на "значение параметра ERES=" - и бегом обратно. По дороге, правда, вспомнил, что это все-таки EditRESult.
цитата:
Вреда уж точно что никакого.
Грамотно!

dozen
цитата:
Пользу он не приносит по определению -- иначе он бы конвертировался в продажи
Дубина ты стоеросовая! Вот представь на минутку: сделал ты свою супер-пупер... чем ты там занимаешься - ясно, что "настоящим делом, за что сегодня или в перспективе платят настоящие деньги". "Конвертировал в продажи" все, что можно и нельзя, стоит к тебе километровая очередь со скомканными доллариями в потных кулаках. Свалилась на тебя эта самая "польза". Весом, скажем, в миллиард (или 5, 10, скоко там - один хрен, ты и десяти миллионов никогда не удержишь). Ну и дальше-то что, человек, ДАЛЬШЕ-ТО ЧТО?! Жизнь прожита, заняться больше нечем? Или еще каким делом займешься - мало тебе будет "настоящих денег"? Все, дорогой - с такой философией ты уже ТРУП! Самое ужасное в любой мечте - это то, что рано или поздно она исполняется. Жалкий ты какой-то...
цитата:
затратами времени на анализ этого трафика (только для того, чтобы его данные выбросить)
Господи! Ну даже если ты и настолько жадный - зачем же выбрасывать? Это ж информация для срочного принятия мер! Бегом к мусоропроводу!
цитата:
затратами на собственно трафик (если вышли за пределы плана)
Потряс! И экономия буквально на всем... Ну и дела у вас в конторе творятся...
цитата:
Следовательно, не допускать мусора на своих страницах -- в ваших интересах, а не только Гугля. Что и требовалось доказать.
А я вот (и ТОЧНО знаю, что и многие другие товарищи это мнение разделяют) считаю, что мусор не только не "вреден", но и НЕОБХОДИМ! Что "идеальная SEO" (знать бы еще, что это такое) как раз неидеальная. И наоборот. Как тебе мыслишка? Сам придумал! Не сам, конечно - вру я - не то в том предложении, не то в этом.
цитата:
Где я неправ?
Спросил бы лучше, где ты ПРАВ!

ivanhoe
цитата:
Где можно ознакомиться с определением?
цитата:
Это копейки, а не затраты.
Ни то, ни другое. Это - философия. Плюшкин, Гобсек, ...
цитата:
У вас в Канаде дорогой трафик?
Ах, да - это мне даже в голову не пришло. Браво!

arsa
цитата:
гугл оптимизирует свой поиск что бы найти именно то, что нужно ищущему.
Серьезно?! Забота о ближнем, стало быть? Тем более, что "ищущий" в 99% случаев и сам не знает, чего ему нужно (дабы избежать всплеска эмоций: инфа из приватного разговора не то с Сегаловичем, не то с Масловым). Чо-то у нас по этому поводу лежало... Как ща помню: Philip попал в запрос, а Morris - "рылом не вышел"... Эх, черт - грохнул я наши "эксперименты". А зря - ведь дня два по полу валялись от хохота. Ладно, дам кое-что из оставшихся ошметков. Хотите - сами поиграйте в "угадайку", хотите - скормите Гуглю. Не хотите - не надо.

ballet dance beginning professional instruction modern creative academy

space astronomy universe earth solar system planets exploration

greek mythology myths heroes ancient temple goddesses creatures

health fashion advice women beauty message fitness write

nutrition recipes healthy explains quizzes fruit foods eating pyramid health citrus types puzzles fruits vitamins virtual

drugs effects alcohol abuse national friend substances signs quizzes problem legal getting explains advice

smoking tobacco smokers smoke health familydoctor cigarette newhome cigarettes market cancer advertising camel brand younger brands

ivanhoe
цитата:
Я вообще первый раз сталкиваюсь с такой точкой зрения.
Приветствую, "коллега"! Когда мы еще сайтами занимались, я так наоборот заказчикам мозги пудрил: "Да не жалейте вы сил на побочные страницы! Пусть клиент просто погуляет по сайту - посмотрит, как вы эти товары производите, что с ними разные потребители делают, инструкции по применению всякие, какие у вас проблемы, как вы их решаете, как вы на пикник ездили - это же фон! Вы же ЖИВЫМИ будете выглядеть!"
цитата:
У совсем серьезных людей поддержка сайта занимает нано- или пико- часть бюджета
Это - РАСХОДНАЯ часть. Если же взглянуть на ОБЕ - станет ясно: пико-нано-микро-милли-пофиг.
цитата:
Это не так, релевантность не такая простая штука...
Бесполезно, Ваня!
цитата:
Я такой клинический случай, конечно, не рассматриваю.
Еще лет тридцать назад читал какую-то статейку насчет "полезного мусора". Точно уже не помню, но рекомендуется не то 5%, не то 10%.
цитата:
У гугла есть она единственная уникальная черта...
Нет. Он буквально ворвался в поиск, буквально РАЗДАВИЛ тогдашнюю (не нынешнюю!) AltaVista.
цитата:
И гугл тоже обманывается.
Как не фиг делать!

Поиздеваться, что ли над "Associative array" - обещал, вроде? Не, не обещал, но один хрен голова тяжелая - только на развлекуху...

Не, какая-то скучища и бредятина... other primitive types, or even(!) objects... telephone book as an example of an associative array ( )... hash table... self-balancing binary search tree... red-black tree... Skip lists... though relatively new and not as widely used(!)... B-trees... simple database... cryptographic(!) hash function... A simple but generally inefficient ( )... radix trees, Judy arrays, sparse arrays, routing tables - слова-то какие знают!.. Multimap - Вау! "hash_multimap" container... multi-dimensional associative arrays...

Не, не могу больше! Мож, в русской версии повеселее?

Та же хрень: Ассоциативный массив (словарь, хэш-таблица) - дальше можно не читать.

Предполагается, что ассоциативный массив не может хранить две пары с одинаковыми ключами - опять можно не читать.

Ключом в данном случае является совокупность ФИО + адрес, а значением - номер телефона. Ага! А как быть с "ассоциацией", если я помню только имя, город и что телефон оканчивается на "57-13"?

EACH - "пробежаться" по всем хранимым парам ( )... Для ускорения операции поиска можно... Но это увеличит время... Наиболее популярны реализации, основанные на различных деревьях поиска...

Ну ПОЛНЫЙ бред! И полная каша - такое впечатление, что навалили всякого дерьма в кучу, палкой перемешали...

Отдохнул, называется... Развлекся... Пойду-ка лучше водочки приму.

К сообщению приложены файлы: 1.rar, 9Кb, 2.rar, 5Кb

168. moderator-Kid, 24.08.2009 13:31
Vladimir Rybinkin
Я искренне наслаждаюсь, читая Ваши сообщеня и порожденные ими отклики. Однако будьте добры, держитесь в рамках.

169. jooher, 24.08.2009 16:02
Vladimir Rybinkin
Свободу попугаям! (с)

Да уж куда свободней. 12-я страница

Добавление от 24.08.2009 16:13:

Vladimir Rybinkin
ВОТ ТАКОЙ генератор я просил нарисовать, чтобы и остальной народ, наконец, увидел что-нибудь (да и Вы сами)

Я сейчас наверно глупость скажу. Но мало ли.
Можно поросить Вас таки в одном архиве выложить все файлы требуемые для того, чтобы что-то работало? В самой свежей Вашей версии. Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях. У меня есть некоторый опыт по этой теме. Это не подъ..ка, мне правда интересно.

Добавление от 24.08.2009 16:16:

Vladimir Rybinkin
Когда мы еще сайтами занимались, я так наоборот заказчикам мозги пудрил

в первое както не верится, второе было бы похоже на правду, если бы не первое

170. SERGEY_BIG, 24.08.2009 17:23
jooher
Готовое пока рано. Ещё, по всей видимости, не решена актуальная задача поиска и сортировки (http://www.2bit.ru/sortir.htm)

171. loyolla, 24.08.2009 18:04

Ну и дальше-то что, человек, ДАЛЬШЕ-ТО ЧТО?! Жизнь прожита, заняться больше нечем? Или еще каким делом займешься - мало тебе будет "настоящих денег"? Все, дорогой - с такой философией ты уже ТРУП! Самое ужасное в любой мечте - это то, что рано или поздно она исполняется. Жалкий ты какой-то...

Буквально вчера разговаривала с мальчиком. Мальчик лет 5-6 (если не все 10) ковырялся для собственного удовольствия с статистическим анализом и нейронными сетями в приложении к банковским/биржевым делам. И неожиданно в прошлом году все свои наработки очень выгодно продал. Очень сильно выгодно. Дом upstate New York, дом в горах в Филадельфии и все такое. Не работает больше. Типа на пенсию ушел Вот и говорит : "Знаешь, абсолютно нечего делать. И абсолютно ничего не надо делать. Безумно скучно. И мне это так нравится, что я даже встаю на 2 часа раньше..."

172. jooher, 24.08.2009 18:29
SERGEY_BIG
Готовое пока рано

ну htmlы то он какие то выкладывает. вручную штоли их рисует?

типа: ваши ФФ отстой, да и мой ИЕ3 тоже оказывается отстой. я свой скрипт сам лучше выполню, вообще без всякого железа

Добавление от 24.08.2009 18:35:

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

173. Chippy2003, 24.08.2009 18:47
loyolla
Ну вот, теперь VR забросит новую веху вебклиентостроения и набросится строгать форексного бота, который оплатит пенсию своему Папе Карло

174. Gipnoss, 24.08.2009 19:41
Chippy2003
VR забросит новую веху вебклиентостроения и набросится строгать форексного бота
Уже было...4 раза (http://forum.ixbt.com/?id=26&forumpage_days=10&name=forex&author=Vladimir%20Rybinkin)

175. dozen, 24.08.2009 20:51
loyolla

Мальчик лет 5-6 (если не все 10) ковырялся для собственного удовольствия с статистическим анализом и нейронными сетями

Я прочитал как "мальчик лет пяти-шести ковырялся для собственного удовольствия со статистическим анализом...". Был приступ комплекса неполноценности.

Добавление от 24.08.2009 20:56:


Vladimir Rybinkin
Свалилась на тебя эта самая "польза". Весом, скажем, в миллиард (или 5, 10, скоко там - один хрен, ты и десяти миллионов никогда не удержишь). Ну и дальше-то что, человек, ДАЛЬШЕ-ТО ЧТО?!

Некоторые живут, чтобы работать. А некоторые работают, чтобы жить. Я стараюсь -- второе. Работа необходима. Если она доставляет удовольствие -- еще лучше. Но она -- не самоцель в жизни.

176. rGlory, 24.08.2009 21:45
dozen
цитата:
Я прочитал как "мальчик лет пяти-шести ковырялся для собственного удовольствия со статистическим анализом...". Был приступ комплекса неполноценности.
+1

Добавление от 24.08.2009 21:57:

Vladimir Rybinkin

цитата:
(*SINT.AMQ).Addr = (*SINT.AMQ).Addr + __GetStackSizeFStr ((*SINT.AFIO).AF);
Обана, а чего это оператор -> не используется? Предан анафеме? Не кошерный? Или ВР об нем не догадывается?

177. Gipnoss, 24.08.2009 22:43
dozen
Я прочитал как "мальчик лет пяти-шести ковырялся для собственного удовольствия со статистическим анализом...". Был приступ комплекса неполноценности.
+1

178. loyolla, 24.08.2009 23:03
rGlory
Обана, а чего это оператор -> не используется
перегружен?

179. zzf, 24.08.2009 23:08
dozen
Я прочитал как "мальчик лет пяти-шести ковырялся для собственного удовольствия со статистическим анализом...".
+1

Был приступ комплекса неполноценности.
У меня обошлось без приступа.

rGlory
Обана, а чего это оператор -> не используется? Предан анафеме? Не кошерный? Или ВР об нем не догадывается?
Так же, как и не догадывается о существовании оператора +=
"Хорошие алгоритмисты" в отличии от "шоблы" мыслят более высокими категориями.

180. ivanhoe, 24.08.2009 23:12
Vladimir Rybinkin

цитата:

2. Вы физически не можете знать структуру моего кода (по крайней мере, без прокрутки алгоритма), поскольку она формируется динамически, в процессе инициализации. Но я Вам помогу - вот, навскидку - ажно многоуровневый список возражений получится:
Владимир, а зачем, если не секрет, все эти навороты? Вот большинство сайтописателей прекрасно обходится без ядра и системных функций (часто даже и без JS) и их страницы у всех показываются и индексируются поиском. Какая стоит цель, чтобы сделать сайт удобный и доступный для всех или, наоборот, удивить своей крутизной все браузеры и поисковые системы в мире, а потом восклицать типа "вот Гугл, не могут допетрить как мой сайт индексировать, ну что за идиоты! Мой робот индексирует все триста миллионов виртуальных страниц, а эти даже до первой не добрались!" И т.д.

цитата:

3. Я уж тыщу раз говорил: этот код предназначен ДЛЯ БРО-У-ЗЕ-РА!, и Вам совершенно необязательно его понимать. Поймите хотя бы идеологию, черт побери!
Если код пишется человеком (а не представляет собой выхлоп какого-то автогенератора), то он по определению пишется для человека, в частности чтения его человеком.

цитата:

5. После того, как dozen "прокололся", и привел диагностику, я ЗНАЮ причину, по которой ваши броузеры не могут справиться с моим кодом. Никакой иной причины ни один из вас назвать не в состоянии. Тем более, что У МЕНЯ все прекрасно работает. Можете проверить - поройтесь на свалках, поищите старенький комп - он вам покажет, как НУЖНО работать вашему дерь... ой... замечательному современному софту.
Дело в том, что худо-бедно у меня показываются все страницы, кроме Вашей. Это конечно для меня большая потеря, но рыскать по помойкам ради этой единственной страницы я не буду.

цитата:
И Вы хотите сказать, что все это дерьмо типа он "по каналам связи" не передает, а "на минЕ" генерит?
Это "дерьмо" он передает по каналам связи. Однако, является ли самоцелью экономия утилизации каналов связи? Уж с чем-чем, а с пропускной способностью сейчас проблем нет никаких. В большом телекоме (в котором я проработал много лет) проблема как раз обратная - магистральные каналы загружены едва ли процентов на 10 и есть возможность их расширить на два-три порядка.

цитата:
Впрочем, рад буду ошибиться. Как посмотреть на то, что мне с сервера поступает "на входе"?
Посмотреть что поступает на входе можно при помощи программы WireShark, http://www.wireshark.org/

цитата:
Дык... я потому и говорю, что он НУЛЕВОЙ. Если опыт есть - что ж Вы так их боитесь-то?
Я их несколько не боюсь, просто без указателей мне лично программируется быстрее и эффективнее. С указателями я тоже писать могу.

цитата:

код:
 
*(UI32MD)(TDP)&SINT.ACC = (*(UI32MF)_FT[(UI16)___].Addr) ();
...


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

цитата:

Я Вас внимательно слушаю: а ПРАВИЛЬНОЕ - это как? printf, sprintf, fprintf, vsprintf... хто там еще... movmem, memmov, read, write, _read, _write - так, что ли?
Правильное проектирование это когда программа расширяема. В вашем копировании самое интересное это обработка. Допустим, у Вас в эту функцию копирования встроено n обработчиков и она успешно выполняет свою задачу. В какой-то момент вам понадобилось добавить еще пару обработчиков - для потоковой архивации-разархивации (ну, например, при помощи алгоритма bzip2). Для этого вам понадобится править код вашей мегафункции копирования. Более правильный подход такой (на примере Haskell):
код:

В Haskell строка представляет собой бесконечный поток неизменямых символов. Копирование этого потока представляет собой тождественную функцию.

> copy_id :: String -> String
> copy_id str = str

Допустим, нам надо обрабатывать этот поток построчно. Имеем функцию обработки строки:

> process_line :: String -> String
> process_line str = -- что-то там такое хитрое делает

"Копирование" (не нравится мне это слово, но чтобы сохранить Вашу терминологию) с обработкой

> copy_with_line_processing :: String -> String
> copy_with_line_processing = unlines . map process_line . lines

Здесь имеем "конвейер из трех" компонент:
1) сначала lines разбивает поток символов на строки
2) map process_line построчно обрабатывает полученный поток строк
3) unlines склеивает полученные строки в одну строку

Теперь предположим, что входной поток заархивирован архиватором gzip. Делаем так:

> unzip_and_copy_with_line_processing :: String -> String
> unzip_and_copy_with_line_processing = unlines . map process_line . lines . ungzip

И так далее.

Вот как-то так. Короче говоря, при правильном проектировании дается возможность разбить алгоритм копирования на несвязанные блоки и дать возможность их комбинировать.

цитата:

Предыдущее мое предложение было примером, опровергающим тезис, что одни языки можно отнести к интерпретируемым, а другие к компилируемым.
А мое - опровергающее Ваше опровергающее.
Ну как-то слабоаргументированно. Если вы считаете, что к интерпретируемым относятся динамически типизированные языки то для них тоже уже давно есть методики эффективной компиляции, например у scheme компиляторы весьма эффективные и делают не какой-то полукомпилированный-полуинтерпретируемый код, а код нормальный и полноценный.

цитата:

Про JVM для меня авторитетом был когда-то "существовавший" здесь Maxim Kizub, и до сих пор Вы рядом с ним не стоите (уж не взыщите). Тем более, что он как раз "думал о происходящем в недрах", что на Ваш взгляд "непродуктивно и совершенно бесполезно".
Кизуб это, конечно, голова, только вот он думает о происходящем в недрах как разработчик JVM, им это положено по долгу службы. Нормальным людям об этом думать глубоко противопоказано. :>

цитата:
Нет. Он буквально ворвался в поиск, буквально РАЗДАВИЛ тогдашнюю (не нынешнюю!) AltaVista.
Можно подумать сложно было раздавить. Ей же DEC владел. DEC общеизвестна как компания с гениальными инженерами и идиотами менеджерами, которые умудрились просрать все полимерысамые блестящие инженерные наработки (самые быстрые процессоры в мире, кластерные технологии и многое другое).

dozen

цитата:
Некоторые живут, чтобы работать. А некоторые работают, чтобы жить. Я стараюсь -- второе. Работа необходима. Если она доставляет удовольствие -- еще лучше. Но она -- не самоцель в жизни.
У меня вот к работе отношение такое: работа нужна чтобы отдыхать от семейной жизни. Соответственно, семейная жизнь нужна чтобы отдыхать от работы. Таким образом, моя жизнь практически полностью состоит из разнообразного отдыха. :>

181. Dilon, 24.08.2009 23:19
loyolla
Это С.
dozen
цитата:
Я прочитал как "мальчик лет пяти-шести ковырялся для собственного удовольствия со статистическим анализом...".
+1

182. rGlory, 24.08.2009 23:54
zzf
цитата:
Так же, как и не догадывается о существовании оператора +=
"Хорошие алгоритмисты" в отличии от "шоблы" мыслят более высокими категориями.
Да кстати, пропустил.
Вообще интересно, сколько одна строчка кода может сказать о программисте. В данном случае по ней можно сказать, что писал питекантроп, привыкший игнорировать любой опыт, кроме своего, любимого.

183. Chippy2003, 25.08.2009 00:27
Gipnoss
Уже было... 4 раза
как я мог это пропустить

184. ivanhoe, 25.08.2009 00:35
rGlory

цитата:
Вообще интересно, сколько одна строчка кода может сказать о программисте. В данном случае по ней можно сказать, что писал питекантроп, привыкший игнорировать любой опыт, кроме своего, любимого.
Ну что так сразу, "питекантропом" то обзываться. :> На самом деле код Владимира очень сильно похож на то как раньше писали для бортовых ЭВМ (сам этих времен не застал, рассказывали старшие товарищи, которые программировали до сих пор ездящие танки, летающие самолеты и пр.) Другое дело, что времена поменялись и эти самые старшие товарищи перестроились под новые задачи и средства разработки, когда нужно чтобы программа была переносима-масштабируема-расширяема и пр., а не возможность ее засунуть в ЭВМ "Урал-4" с 1 килобайтом ОЗУ на ферритовых сердечниках. :>

185. SERGEY_BIG, 25.08.2009 01:00
loyolla
И неожиданно в прошлом году все свои наработки очень выгодно продал. Очень сильно выгодно
Вот она, первопричина кризиса )))

186. rGlory, 25.08.2009 01:02
ivanhoe
цитата:
Ну что так сразу, "питекантропом" то обзываться.
Я же любя...
А вообще одно из первых правил, которые даются начинающему программисту С/С++:
- используйте идентификаторы в верхнем регистре только для макросов препроцессора
- не начинайте имен функций с подчеркивания

Я, конечно, понимаю, что ВР никакие правила не писаны, а если писаны то не читаны и так далее. Но назвать этот стиль, да еще и с игнорированием операторов -> += кроме как "питекантропским" язык не поворачивается. Ну еще можно назвать "синтокантропским", а ВР соотвественно последний представитель вида синтокантроп. И вообще его нужно занести в красную книгу и охранять, а мы тут нападаем на него. Беречь его нужно, господа и товарищи, не ценим мы того, что имеем

187. arsa, 25.08.2009 02:00
SERGEY_BIG
цитата:
Вот она, первопричина кризиса
кстати в этом есть доля правды. большинство биржевых аналитиков последнее время использовали одну и ту же модель. но модель то не предполагала что так будет, она на хаос рассчитана не помню где прочитал, и что за модель.

188. ivanhoe, 25.08.2009 02:14
arsa

Модель Ли, по-русски можно почитать здесь: http://bobtenelli.livejournal.com/126476.html

189. femidav, 25.08.2009 02:53
dozen
Я прочитал как "мальчик лет пяти-шести ковырялся для собственного удовольствия со статистическим анализом...". Был приступ комплекса неполноценности.
+1 Пришлось перечитать пару раз

190. zzf, 25.08.2009 02:55
rGlory
И вообще его нужно занести в красную книгу и охранять

Ага, чтобы не забывали как НЕ НАДО.

191. arsa, 25.08.2009 03:03
ivanhoe
о, свежачок. да, очень понятно написано (точнее переведено)

192. rGlory, 25.08.2009 03:33
ivanhoe
цитата:
Модель Ли, по-русски можно почитать здесь
Имхо слишком поверхностно и помпезно. Похоже на стандартную страшилку желтой прессы. Мне на этот счет статья о том, что за всеми пузырями стоял голдман сакс понравилась гораздо больше. Прочитать можно здесь (http://zerohedge.blogspot.com/2009/06/goldman-sachs-engineering-every-major.html) , к сожалению, только на английском.

193. femidav, 25.08.2009 04:07
Кстати, может кто-нибудь объяснить, есть ли обществу какая-либо польза от всех этих вторичных финансовых продуктов? А то у меня складывается впечатление, что вред один...

194. zzf, 25.08.2009 04:11
femidav

Ты когда свои бабосы куда-нибудь вкладываешь, то сильно думаешь о пользе обществу?

195. dozen, 25.08.2009 07:33
rGlory
а ВР соотвественно последний представитель вида синтокантроп

То есть, ВР -- и не homo sapience вовсе, а просто люди, обезьяны и ВР имели общего предка?


Мне на этот счет статья о том, что за всеми пузырями стоял голдман сакс понравилась гораздо больше

Статья... мне попалась на глаза книга с подзаголовком "как жадность и (что-то) уолстрита погубили tribe мечтателей(!) из J.P.Morgan". Мечтатели, блин! Строители коммунизма, блин -- счастье всем, даром, и пусть последний ниггер не уйдет обиженным!

А, вот: Fool's Gold: How the Bold Dream of a Small Tribe at J.P. Morgan Was Corrupted by Wall Street Greed and Unleashed a Catastrophe (http://www.amazon.com/Fools-Gold-Corrupted-Unleashed-Catastrophe/dp/141659857X/ref=sr_1_1?ie=UTF8&s=books&qid=1251170805&sr=8-1)

femidav
Кстати, может кто-нибудь объяснить, есть ли обществу какая-либо польза от всех этих вторичных финансовых продуктов?

Есть, конечно. Есть же польза от масла? А оно -- дериватив молока. Но не заменитель. Применение разное. А они (банкиры), пользуясь дерегулированием, раунд за раундом добавляли в масло Г, но продолжали продавать его как "сливочное масло". Теперь никто не знает, у кого в холодильнике масло, а у кого -- полная морозилка Г.

196. Vladimir Rybinkin, 25.08.2009 09:34
Беглый просмотр показывает, что наруду прибавляется. Интересно, прибавилось ли чего-нить, кроме этого?

ivanhoe
цитата:
Поисковик он в данном случае и есть клиент.
Простите, Вы вообще слушаете, что Вам говорят? Мне абсолютно все равно, кто там поисковик, и чем он там "ограничен". Но ведь никаких моих "тридцати тысяч виртуальных страниц" на сервере нет. Понимаете - .NET.!!! И одной нет - они все НА КЛИ-ЕН-ТЕ генерятся! И командует этой генерацией ТОЖЕ сам клиент - сервер и знать ничего не знает: Данные я тебе дал? Дал. Математику дал? Дал. Пшел вон отсюда! Я русским языком спрашивал: что, поисковики теперь по КЛИЕНТСКИМ компам шарят (Y/N)?!
цитата:
Да, правильное. Места для документов у Гугла завались.
И что, если "места завались", его непременно нужно всяким дерьмом загадить? А экология как же?
цитата:
Кстати шансы есть.
Вдолбить?! НИ МАЛЕЙШИХ!
цитата:
Зато каждый программист 21-го века знает что такое "денотационная семантика", например, и умеет ее читать.
А, ну это канешна... Про указатели ни сном, ни духом - им таперича "денотационную семантику" подавай... Там же легче косить под профессионала - вызубрил десятка два умных слов - и ты уже король. Только вот еще Гераклит сказал: "Если дурака учить - он не станет умным, просто он будет больше знать". Так что спасибо - пущай молодые "идут в ногу со временем": им, как известно, "везде у нас дорога". А меня - увольте.
цитата:
Как говорил товарищ Сталин, "других браузеров у меня нет".
Дык и не нужно! Разве одного мало? Ведь если уж даже мой дохленький (он, представьте, тоже у меня один-одинешенек) код в состоянии разобрать, то уж Вашему-то это ваще как два пальца - пральна?
цитата:
И, в общем-то, кроме ваших тестов все остальное, что я пробовал, он показывает.
Естественно! Ведь не то что динамического - СТАТИЧЕСКОГО eval днем с огнем не сыщешь!

zzf
Ух ты, какой длинный пост... Как же удачно я врезал! Ладно, продолжим чуток - вдруг поможет?

1. Месье утверждает, что разработчики IE3 (на самом деле IE5) плевать хотели на стандарты (Y/N)?

2. А сам-то месье знает, что там за "стандарты"? Какие-нибудь "радиусы кривизны", которые определяют, дозволено ли броузеру данный скрипт выполнять, или его нужно обязательно обматерить, или скинуть ответственность за запуск на юзера (Y/N)?

3. Месье невнимателен: информация уже приводилась.

4. Нет, не "Ajax Generating Script", а именно "Ajax Processing Software".

5. Нет, я не только не "начинаю активно править его руками", но и генерю крайне редко. На остальное я уже отвечал - месье вновь невнимателен.

6. Да, и это в том числе.

7. Нет, я вовсе не "переходил на личности" - я хотел высказать правило для любого человека Вашего уровня на языке, понятном этому уровню. Но это не одобряется Правилами. Лично Вы мне безразличны, и вправе делать все, что Вам заблагорассудится.

8. Ваши домыслы насчет "вариантов" мне также неинтересны - я уже не раз рассказывал, что это, и для чего - месье опять невнимателен.

9. Я умею думать чем угодно - для Вас, месье, хватит любого места. В частности - спиной. Слышали историю про Менделеева - что ему таблица во сне приснилась? Со мной подобное происходило десятки раз.

10. Мне абсолютно до лампочки, убедил ли я Вас в чем-то, разубедил ли...

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

12. Я полагаю, что знать "что там насчёт Employees и Persons" Вам лично еще рановато. И мне даже не интересно, прав ли я в этом предположении.

13. Мне также совершенно безразлично, смеетесь ли Вы, плачете ли...

14. Я все давно понял, и даже Вам об этом сообщал - месье нев... см. выше.

15. Нет, "генерирующие скрипты через e-mail рассылать" вовсе не нужно - месье... см. выше.

16. Вы также вправе считать "снами", "определениями", "чёткими описаниями" и т.д. все, что Вам угодно.

17. Даже если ссылки действительно "были выше много раз" - смиренно прошу повторить, указав специально для меня: "Вот она"!

18. Еще раз спасибо, папаша.

19. И список решенных/нерешенных задач типа TSPLIB, небось, имеется?

20. Я рад, что Вы усвоили, что если "Доказываешь полиномность алгоритма для её решения - автомачически доказываешь его полиномность для всех NP". Но, может быть, не стоит орать об этом на весь Инет? Как Вы полагаете?

21. А что, "вояжер" разве уже не NP? Или для месье его сложность смехотворно мала по сравнению с ЭТОЙ задачей?

P.S. Учитывая присущую месье невнимательность, осмелюсь заметить, что некоторые пункты содержат вопросы к месье. Соблаговолит ли месье ответить хотя бы на часть из них? Или Вы мадам? В таком случае, приношу искренние извинения. Надеюсь все же, что недюжинный ум ме... ма... сможет уловить смысл сказанного даже в столь искаженной формулировке.

dozen
цитата:
Точных сведений нет.
Зато приближенных навалом. Появились еще до твоего рождения.
цитата:
Вот ты накатал сообщение на страницу, и ни одной практической мысли, только сопли пузырями.
Да кто бы сомневался? Я тыщу лет знаю, что тебе и сотня страниц не поможет. Да и в этой ветке уже не раз говорил.
цитата:
Поэтому тебя лично имеет смысл только игнорировать
Дык ИГНОРИРУЙ, лапочка! А "проблемы обсуждать" вали В СВОЮ ветку. А то, глядишь, и я ненароком встряну в обсуждение...

sip
Коротко:
1. Никаких "общепринятых правил" не существует.
2. "Поддержание в актуальном состоянии" - проблемы клиента: пущай хоть на F5 надавит. Серверу-то какое дело - мож, он спать пошел?
3. Не нужно делать фетиш ни из клиента, ни из сервера: где удобнее - там и считаем.
4. Покупать клиенту "современный" комп вместо "убогого" также не следует.
5. Нет, это не "тупиковый путь" - просто клиент поменьше будет "сачковать" - в чем же тупик? Сервер лишь спасибо скажет - ему, как правило, и без клиента есть, чем заняться.

P.S.
zzf
Простите великодушно, но я настолько был ошарашен красотой неизвестной мне NP-задачи, что рискнул-таки взглянуть на нее. Склепал быстренько на базе "комми" программку, взял тестовое "множество" на 1000 узлов. Глянул на него - и ужаснулся: да разве ж по моим мозгам такое чудовище? Разрезал его пополам, потом еще пополам, еще... Хотел и 125 элементов порезать, но стыдно стало - остановился. Образовалось у меня, таким образом, 15 тестовых задач. Запускаю (зажмурившись) самую маленькую, и... как заорет на меня программа!

Ты чо, чувак, офонарел?! Ну подумай своей дурной башкой - там же сумма НЕЧЕТНАЯ - не видишь, что ли?! И ты решил, что я считать тебе эту хрень буду?! Щаз! Ищи другую дуру!

Я, конечно, в диком расстройстве - 8 тестовых задач из 15 как корова языком слизнула. Да и программа послала - обидно. К тому же - заслуженно: вдвойне обидно. Но делать нечего: запускаю оставшееся, и...

Да что же ты, козел старый, издеваться надо мной вздумал?! Ты чо, не видишь - я КРУТАЯ, мне NP подавай! А ты чо подсунул?! На все про все 0 целых хрен десятых секунды, да еще на твоем гребаном доисторическом процессоре! Не успеешь даже толком на все элементы посмотреть! А НУ ГОНИ НАСТОЯЩИЕ ЗАДАЧИ!!!

Я перепужался до смерти - любушка, голубушка, потерпи чуток - ща я в Инет сбегаю, там специалисты, они там тебе таких задач надают - только держись!

Стыдно, конечно, но что делать - уже алгоритм первичного разбрасывания по кучам все и решил. И алгоритм-то позорный: буквально первое, что в голову пришло, как только задачу увидал - еще там, выше по ветке, где я изумлялся. Вываливаешь всю эту кучу на одну чашку весов, затем кидаешь по очереди самый тяжелый "камень" на другую, пока не перевесит - и начинаешь "вышибать" оттуда камни (начиная с самого легкого) камнями с другой чашки (начиная с самого тяжелого). А то и вышибать не приходится - "разновесы" перебросились - и стрелка весов стоит, как вкопанная. Так что... не могу я найти тестов для моей ненаглядной - не получается, хоть ты тресни! И вот я здесь - с протянутой рукой... В смысле, ихде там мой миллион?

197. штышпре, 25.08.2009 13:17
ivanhoe
У меня вот к работе отношение такое: работа нужна чтобы отдыхать от семейной жизни.
Соответственно, семейная жизнь нужна чтобы отдыхать от работы. Таким образом, моя жизнь практически
полностью состоит из разнообразного отдыха. :>

Воистину, ты познал Дао.


... кстати, в таком разрезе становится лучше понятен секрет успеха тем ВР. :]

198. jooher, 25.08.2009 14:34

штышпре
становится лучше понятен секрет успеха тем ВР

я тут прошелся по темам ВР. схема всегда одна: на столе стоит радиоприемник передающий полное собрание сочинений Е.Петросяна, вокруг него сидят несколько взрослых людей, которые с умным видом учат радиоприемник разумному, доброму, вечному. При этом конечно происходит общение между самими обсуждающими, на редкость доброжелательное такое, бесконфликтное, ненапряжное. Только вот обращения к радиоприемнику на "ты" или на "Вы" как-то странно смотрятся.
Вообще наверно темы ВР надо автоматом при создании в флейм перемещать.

199. sip, 25.08.2009 14:40
Vladimir Rybinkin

2. "Поддержание в актуальном состоянии" - проблемы клиента: пущай хоть на F5 надавит.
Такой подход с F5 неплох для случая, когда данные клиенты только читают.
Если они их конкурентно модифицируют, то ситуация иная. Послали на K1(клиент#1) пакет посчитать, пока он пилил, данные на которых этот пакет базировался уже изменены другим клиентом. Теперь неактуальные данные на K1 это уже проблема сервера, принять назад результаты расчёта он уже не может. А теперь представь, что на клиенте не просто тупой расчёт, а ещё и пользователь на 50 вопросов ответил, а его радостно сервер посылает


3. Не нужно делать фетиш ни из клиента, ни из сервера: где удобнее - там и считаем.
Это плохой ответ. Удобнее вообще-то там, где быстрее будет получен конечный результат.
А это динамическая вещь, зависит от текущей загрузки сервера, толщины канала, вычислительной мощности клиента.
Плюс ещё и дизайн приложения будет сложней, так как нужно закладывать возможность считать одни и те же вещи как на сервере, так и на клиенте.


5. Нет, это не "тупиковый путь" - просто клиент поменьше будет "сачковать" - в чем же тупик?
Я не вижу простого пути, как создать динамически масштабируемое приложение. Т.е. есть свободные ресурсы на сервере, считаем на нём, нет - считаем на клиенте. А если серверная и клиентская части вообще на разных языках/платформах реализованы ? Явно проще тупо нарастить серверную часть и вообще на клиенте ничего не считать, а только визуализировать результат. Хотя вообще-то это и был мой вопрос, может есть красивый способ делить стадии расчётов между сервером и клиентом.

200. штышпре, 25.08.2009 15:12
jooher
Ну, петросян-не петросян, по мне так более встречу рационального с иррациональным напоминает. Как тут уже отмечали, у Владимира есть свойство пренебрежительно относиться к чужому опыту, и это вполне понятно, т.к. по восприятию и, соответственно, собственной аргументации он тщательно дополняет множество мыслящих рационально людей до полного, оставаясь для недоумевающего большинства иррационален и непознаваем. Доказать ему что-либо нельзя, увы, он не в этом мире. Так что эти разборки в духе "--У южной стены! --Кто? --Тахойцы! --Где? --У южной стены! --Кто? ..." могут продолжаться бесконечно, правда с различным набором и детализацией муссируемых вопросов. Нет, если ВР не читать, и фильтровать ругань, вполне годные темы получаются.

А во флейме это не покатит, контингент не тот.

201. ivanhoe, 25.08.2009 15:31
Vladimir Rybinkin

цитата:

Простите, Вы вообще слушаете, что Вам говорят? Мне абсолютно все равно, кто там поисковик, и чем он там "ограничен". Но ведь никаких моих "тридцати тысяч виртуальных страниц" на сервере нет. Понимаете - .NET.!!! И одной нет - они все НА КЛИ-ЕН-ТЕ генерятся! И командует этой генерацией ТОЖЕ сам клиент - сервер и знать ничего не знает: Данные я тебе дал? Дал. Математику дал? Дал. Пшел вон отсюда! Я русским языком спрашивал: что, поисковики теперь по КЛИЕНТСКИМ компам шарят (Y/N)?!
Я очень внимательно читаю что мне пишут. Напоминаю, что речь шла о том, будут ли поисковики индексировать ваши тысячи и миллионы виртуальных страниц. Именнно потому что они генерятся на клиенте, а возможности любого поисковика как клиента крайне ограничены, он, поисковик, не будет их индексировать, т.е. проще, говоря, поисковые системы искать в ваших виртуальных страницах не будут.

цитата:
И что, если "места завались", его непременно нужно всяким дерьмом загадить? А экология как же?
Ну это уж Вам решать, хозяин, как говорится, барин. Если содержание представляет собой дерьмо и нет никакого желания, чтобы его индексировал гугл, то можно это содержание отдавать в виде нагромождения JS и виртуальных страниц. Если содержание дерьмом не является, но, напротив, содержит полезную информацию, то поисковикам надо отдавать его в виде обычного HTML.
цитата:

Естественно! Ведь не то что динамического - СТАТИЧЕСКОГО eval днем с огнем не сыщешь!
В упоминаемом dozen GWT eval используется. И, как это ни странно, но gwt (включая всякие там ext-gwt) мой браузер как раз кушает.

202. dinozaur, 25.08.2009 16:21
Vladimir Rybinkin
цитата:
1. На мой взгляд, нельзя применять ОТНОСИТЕЛЬНЫЕ операции сравнения чего-либо (лучше-хуже, более-менее) при АБСОЛЮТНОЙ невозможности нанести на шкалу значение хотя бы одной из сравниваемых величин.
За такие безответственные высказывания надо вешать на ближайшем суку.
И чтобы аудитория не пребывала во тьме - ключевые слова для поиска: "децибел", "непер".

203. dozen, 25.08.2009 16:27
sip
Такой подход с F5 неплох для случая, когда данные клиенты только читают.

Ты эта... делай скидку на то, что ВР о подобных проблемах впервые слышит (но уже полез консультировать).

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

Ну, есть еще copy-on-write, где, начав с разделяемых данных, каждая модификация создает версию данных для данного юзера. В частности, такая система использовалась в одной из систем которую я делал, для личных настроек. Они грузились с общей таблицы как defaults, но если юзер что-то менял, то создавалась приватная запись.

Я не вижу простого пути, как создать динамически масштабируемое приложение. Т.е. есть свободные ресурсы на сервере, считаем на нём, нет - считаем на клиенте.

Я лично не знаю никого, кто так делает. Слишком много геморроя. Цена разработки (и тестирования с поддержкой) такого приложения будет, наверное, в разы больше, чем (дешевое нынче) горизонтальное масштабирование. Для которого, кстати, уже давно наработаны и методы, и тулы.

204. jooher, 25.08.2009 16:30

штышпре
Как тут уже отмечали, у Владимира есть свойство пренебрежительно относиться к чужому опыту

Удивляет как раз не Владимир - у него-то позиция четкая и последовательная. Удивляет наивная настойчивость людей, пытающихся что-то ему объяснить. Ведь совершенно очевидно, что никакие цитирования, никакие объяснения и никакие вопросы в данном случае не работают. Потоки сознания ВР самоценны и объективны, их можно использовать как фон, можно как-то их комментировать, но пытаться с ними спорить - это все равно что ругаться с радиоприемником или с каким-нибудь спамогенератором.

205. dozen, 25.08.2009 16:36
jooher
Удивляет наивная настойчивость людей, пытающихся что-то ему объяснить.

Ему лично уже ничего не объясняют, даже если это выглядит так. Просто его ... мгм... спорные утверждения должны быть опровергнуты хотя бы ради молодых, читающего ветку. Да и ресурс forum.ixbt.com превратился бы в рассадник мифов о программировании, если фантазии ВР оставлять без ответа.

206. ivanhoe, 25.08.2009 17:05
dozen, jooher

Справедливости ради, убедить Владимира все-таки можно. По крайней мере пару случаев припомнить могу :>. А мне как раз семейные обстоятельста позволяют невозбранно почесать языком, т.к. семейство находится далеко и на море. Еще неделю осталось такого счастья.

P.S. Сегодня кстати наткнулся на забавный проект http://yquem.inria.fr/pipermail/jocaml-list/2009-July/000115.html на OCaml, как раз на тему распределенных вычислений на клиенте.

207. jooher, 25.08.2009 17:52
ivanhoe
У меня к Вам персональная просьба. Вы один из избранных, чьи посты ВР читает и даже что-то отвечает. Не могли бы Вы попросить его выложить одним архивом весь его проект в том виде как он работает у него на ИЕ3 ?
Я хотел бы попробовать привести его к современным условиям и посмотреть что же там собсно происходит.
Вдруг за психической неадекватностью кроется сумасшедший гений вселенского масштаба? Мало ли.

208. dozen, 25.08.2009 18:39
jooher
Не могли бы Вы попросить его выложить одним архивом весь его проект в том виде как он работает у него на ИЕ3 ?

Во всех предыдущих ветках подобные попытки с презрением отвергались Мастером.

209. ivanhoe, 25.08.2009 20:34
jooher

Спасибо, конечно, за оказанное высокое доверие, но роль посредника не для меня.

210. sip, 26.08.2009 01:19
ivanhoe

Сегодня кстати наткнулся на забавный проект
Google Native Client меня очень порадовал, отличная и очевидная идея, надеюсь они действительно смогут сделать это безопасным

211. ivanhoe, 26.08.2009 02:35
sip
цитата:
Google Native Client меня очень порадовал, отличная и очевидная идея, надеюсь они действительно смогут сделать это безопасным
Безопасным сделать можно - с точностью до дыр в процессорах. Но выбор сендбоксинга x86 меня как-то удивил, странноватый такой велосипед... в эпоху JAVA/.NET/ActionScript/etc. Это, конечно, большое достоинство - заставить пользователей альтернативных архитектур почуйствовать себя недочеловеками, но достоинство, по-моему, единственное. Правда там еще можно будет запустить СИНТ, с всеми его меню и палитрами!

212. zzf, 26.08.2009 03:41
Vladimir Rybinkin:

цитата:
Месье утверждает, что разработчики IE3 (на самом деле IE5) плевать хотели на стандарты (Y/N)?
Нет, такого я не утверждал. И даже наоборот — я думаю они очень сильно старались. Но, видимо, всё равно "не шмагли". Про ACID слышал? Вот запусти у себя на своём пятом ИЕ хотя бы ACID2 и полюбуйся на кашу. Повторяю специально для тебя, дружок: Если твой древний IE может выполнять кривенький нестандартный javascript, то это не значит, что браузеры более поздних версий или других производителей, придерживающиеся стандартов более строго, должны делать то же самое. Так что, правь свои недоподелки. От производителей браузеров помощи не дождёмся.

цитата:
А сам-то месье знает, что там за "стандарты"?
Чего-то слышал. В отличии от одного крупного алгоритмиста.

цитата:
Нет, я не только не "начинаю активно править его руками", но и генерю крайне редко.
Ну а если нет, то к чему был следующий пустозвон:
цитата:
Оптимизацию от MSVC5/6 я видел, и не раз - за такое нужно просто яйца отрывать! Я когда-то описывал именно такой случай, когда "в тексте программы переменная была, а в исполняемом коде ее не было". Тупая скотина! Нет мозгов - так хоть не лезь своими грязными лапами в код программиста!

цитата:
Да, и это в том числе.
Как мило ты сливаешь, дружок. Отвечаешь, а вопрос не цитируешь. Ну я напомню:

цитата:
хочу инструментарий на JS/IE3, позволяющий с максимальными удобствами реализовывать все, что нужно конечному пользователю (в идеале - пользователю СУБД). Ну и первый тест подоспел - можно посмотреть...
Если то был ответ на вопрос "Так о чём там тесты?", то тесты с треском ПРОВАЛЕНЫ ещё до запуска, т.к. к инструментарию как бы положена документация (её нет). Также, отсутствуют примеры использования. Вернее, "пример" есть, а инструментарий отсутствует. То есть инструментарий — javascript. А! Так вот кто его придумал!

цитата:
я хотел высказать правило для любого человека Вашего уровня на языке, понятном этому уровню
Ну, знаешь ли! Такого себе не позволял даже Менделеев во сне!

цитата:
Ваши домыслы насчет "вариантов" мне также неинтересны - я уже не раз рассказывал, что это, и для чего
Опять ЛОЖЬ. Для чего чекбоксы и выпадающие списки в сгенерированных руками страницами ты не рассказывал.

цитата:
Слышали историю про Менделеева - что ему таблица во сне приснилась? Со мной подобное происходило десятки раз.
Ну тут ты тоже лоханулся. Менделееву эти таблицы приснились первому. Так что, ты снова в жо эээ... пардон, в хвосте.

цитата:
Мне абсолютно до лампочки, убедил ли я Вас в чем-то, разубедил ли...
Стало быть, аргументы против высказывания о том, что сказанная тобой фраза "я посылал работающее решение" является ЛОЖЬЮ закончились?
То есть, она (фраза), таки, является ЛОЖЬЮ?

цитата:
В качестве аргумента я ему "подсовываю" встроенные функции JS. Список я приводил
Приводил, аха: eval(y+"="+r+y) Только в качесте аргумента тут не "встроенные функции JS", а твои недоподелки. И кто знает, что там такое "r"? Потому eval и "валится". Ха-ха!

цитата:
Я полагаю, что знать "что там насчёт Employees и Persons" Вам лично еще рановато.
Дружок, ты опять подслил. А всё-таки, зачем Ajax'у Employees и Persons? Просто пословоблудил, признайся?

цитата:
Нет, "генерирующие скрипты через e-mail рассылать" вовсе не нужно
Как же они попадут к клиенту, чиорт побьери! Не через сервер и не е-мэйлом... Сдаюсь! Какой правильный ответ?
А! Я понял! Ты их руками прямо у клиента типать будешь? А чё, тоже вариант!

цитата:
Даже если ссылки действительно "были выше много раз" - смиренно прошу повторить, указав специально для меня: "Вот она"!
Баш на баш!

цитата:
Я рад, что Вы усвоили, что если "Доказываешь полиномность алгоритма для её решения - автомачически доказываешь его полиномность для всех NP". Но, может быть, не стоит орать об этом на весь Инет? Как Вы полагаете?
Дык я про это же! Собственно, поэтому и не пойму, зачем ты об этом орёшь на весь инет.

213. femidav, 26.08.2009 04:58
zzf
Так что, правь свои недоподелки
Править не надо, надо взять jQuery и не тратить время на ерунду. Хотя для ВР такой подход конечно абсурден...

214. sip, 26.08.2009 05:07
ivanhoe

Это, конечно, большое достоинство - заставить пользователей альтернативных архитектур почуйствовать себя недочеловеками, но достоинство, по-моему, единственное.
Не совсем. Во первых, они говорят о поддержке x86 и ARM. Во вторых, доступны SSEx и OpenGL. В третьих, не исключена поддержка LLVM. И если действительно что-то на клиенте активно "считать", то это очень даже вариант, хотя конечно и не замена для Java, Silverlight, ... А свобода выбора - это всегда очень хорошо Если у тебя миллионы строк качественного кода на C/C++ врядли ты кинешься его переписывать на Java, да и разговоры про одинаковую скорость managed и unmanaged кода - это только разговоры.

215. dozen, 26.08.2009 05:10
ivanhoe
Но выбор сендбоксинга x86 меня как-то удивил, странноватый такой велосипед...

Дык это (более) портабельный ActiveX. И делается с той же целью. И, надеюсь, судьба его будет примерно такой же -- маргинальное использование.

Добавление от 26.08.2009 05:17:

sip
Если у тебя миллионы строк качественного кода на C/C++ врядли ты кинешься его переписывать на Java, да и разговоры про одинаковую скорость managed и unmanaged кода - это только разговоры.

Осталось придумать ситуацию, в которой миллионы строк оптимизированного кода заливаются на клиентскую машину как веб-страница.

Напомню, ActiveX в основном использовался как способ быстро и не особо напрягаясь превратить нативный код в web-application. От всяких TestDirector AKA Quality Centre меня до сих пор мутит (и его инсталляция до сих пор, кстати, ломает FireFox). Спасибо, я лучше SilverLight загружу или там JavaFX какую...

P.S. У меня лично браузеры работают на железе трех архитектур. Ожидать, что какие-то Сандживы из Бангалора сумеют написать нативный "сайт", работающий на всех трех -- я не могу. Более того, я не уверен и за одну. И разрешу у себя исполнять этого гуглонативного клиента только за большие деньги. И под VirtualBox.

216. sip, 26.08.2009 05:54
dozen

Осталось придумать ситуацию, в которой миллионы строк оптимизированного кода заливаются на клиентскую машину как веб-страница.

Ну и в чём проблема ? Они же не текстом заливаются Например декодер видео потока, архивация, криптография, rule engine какая-нибудь, 3d engine. И будет клиент загружен по самое не хочу. Не нужно свой негативный опыт с ActiveX возводить в абсолют. Никто ведь не говорит о сайте на нативном x86. Если у тебя на сервере unmanaged код появляется возможность запустить его на клиенте без особого напряга, другой вопрос, что сейчас так не принято.

217. dozen, 26.08.2009 06:26
sip
Ну и в чём проблема ? Они же не текстом заливаются Например декодер видео потока, архивация, криптография, rule engine какая-нибудь, 3d engine. И будет клиент загружен по самое не хочу.

Проблема, разумеется, не в объеме, а в том, зачем, собственно делать приложение, требующее предельной оптимизации, веб-приложением?

Видео-поток? Рожать целую архитектуру дыр ради того, с чем прекрасно справляются плагины для браузера? Зачем? (Кстати, в маки стали ставить железячные декодеры H.264. Давно напрашивалось. Софт не нужен.)

Архивация? Как веб-приложение? Ну, допустим. Узкое место архиватора -- I/O, а не процессор.

Криптография? Чего именно криптуем? 100К потоков видео со спутниковых видеотелефонов? На машине каждого пользователя гугля?

Rule-engine? Вопрос тот же, что и к криптографии.

3D? Оно грузит видеокарту, а не CPU.

Не нужно свой негативный опыт с ActiveX возводить в абсолют.

Мой? Оно, какбэ, универсально признано опасной технологией. В частности потому, что простого способа создать sandbox, как планирует гугль, нет. Это ван не SecurityManager в Java Applet -- выйдет какая-нибудь модификация от китайцев Индел Кора Дуба по доллару за коробку, навыпускают с нею дешевых нетбуков, а потом всех сразу отымеют -- потому что у них там какая-то инструкция имела интересный side-effect, через который и пролезли.

Правильный путь -- это развитие JIT и исполнение в реальном sandbox. Но у гугля нет на это задела, а 20% времени и спермотоксикоза куда-то девать надо, вот и рожают уродцев. Как там, кстати, Google Wave уже перестали будущим коммуникаций обзывать?

218. arsa, 26.08.2009 06:45
dozen
по моему wave протокол очень даже ничего, наконец реальная замена smtp (плюс сворачивание IM и email в один протокол - по моему тоже хорошо).
только боюсь все таки может у них не получиться сделать его популярным. тогда будем продолжать бороться со спамом...

ну конечно насчет 20% времени правда, но по этому там важное значение придают анализу использования и прикрывают дохлые продукты своевременно. 20% решает с одной строны проблему скуки, с другой дает какие то уникальные разработки. в MS например другая стратегия по этому поводу - там такие вещи делают в ms research, в основном.

219. sip, 26.08.2009 07:19
dozen
Ты десктопным софтом вообще не пользуешься? Или у тебя весь десктопный софт managed? Просто появится возможность делать более мощные web приложения, не будет деления на web и desktop. А нативный x86 нужен как временная(а может и не совсем временная ) подпорка для тех же Silverlight апплетов. Netbook на ARM'e представить можешь? Как думаешь, скорость Mono на такой архитектуре будет сопоставима с оптимизированным C++ бинарным кодом?

Rule-engine? Вопрос тот же, что и к криптографии.
3D? Оно грузит видеокарту, а не CPU.

Ты когда-нибудь видел толстого клиента к корпоративной базе данных? Если видел, то к чему эти вопросы зачем то да это нужно на клиенте И потом 3d таки неслабо грузит CPU.

220. moderator-Kid, 26.08.2009 08:06
zzf
Вы, эта,... не реагируйте с таким пылом пожалуйста. ВР ведь только того и надо. Не нужно этого. Берите пример с ivanhoe.

221. arsa, 26.08.2009 08:12
sip
скорость Mono на такой архитектуре
ну например скорость python на N800 (который как раз ARM) вполне ничего. многие программы на нем и написаны.

вопрос тормозов на самом деле действительно в библиотеках графики (2D и 3D) - и это дело в вебе постоянно пытаются решить, начиная с java апплетов, activex и J++ с его WFC, и кончая нынешней итерацией flash/silverlight/dhtml. соглашусь с dozen, что любые lock-in пускай остаются нишевыми (хотя конечно с silverlight/moonlight неплохо получается, в отличие от единственной нормальной реализации flash-а), а mainstream должен использовать стандарты и поддерживать разные его реализации.

конечно нужно разделять типы приложений, например вполне было бы не плохо портировать Пикасу на этот Google Native Client - по моему идеально подошло бы. С другой строны, 99.9% бизнес приложений вполне обойдутся dhtml (это уже мой собственный опыт)

222. dozen, 26.08.2009 08:17
sip
Просто появится возможность делать более мощные web приложения, не будет деления на web и desktop.

Ответь на вопрос -- зачем нужны "более мощные веб-приложения"? Я бы еще понял, если бы минусов не было, а так -- дыра во весь комп, да еще и не портируемая. И потом, у нас уже есть ActiveX, зачем нам еще одно такое же г?

А нативный x86 нужен как временная(а может и не совсем временная ) подпорка для тех же Silverlight апплетов.

Так он уже и так есть. В виде плагина. Чем плохо?

Как думаешь, скорость Mono на такой архитектуре будет сопоставима с оптимизированным C++ бинарным кодом?

Думаю, да, а что? В смысле, кто ж на нетбуке числодробилки гонять будет? А офисные прилады -- от плюсовых не отличить по скорости. По памяти -- отличить, но память дешевая.

Ты когда-нибудь видел толстого клиента к корпоративной базе данных? Если видел, то к чему эти вопросы зачем то да это нужно на клиенте

Хакал буквально сегодня. Зачем нужен нативный код там -- не понимаю ни разу. Оно 90% времени ждет ответов от разных систем.

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

223. sip, 26.08.2009 08:25
arsa


С другой строны, 99.9% бизнес приложений вполне обойдутся dhtml (это уже мой собственный опыт)
Меня всегда удивляют утверждения с 99.9%, но не забывай - это твой персональный опыт. Если ты делаешь такие утверждения, неплохо бы сразу огласить вкратце свой послужной список, а то иначе звучит как "а вы поезжайте в Киев и спросите, кем был Паниковский до революции". Такое впечатление, что мы живём в идеальном мире и проблемы legacy кода не существует вовсе.

Добавление от 26.08.2009 08:57:

dozen


Ответь на вопрос -- зачем нужны "более мощные веб-приложения"?
Я же сказал, сотрётся разница между web и desktop. Ты же сам пишешь
Основное преимущество веб-приложений -- автоматическое обновление, то есть снижение стоимости поддержки
Плюс не нужно мудохаться с каждой конкретно взятой рабочей станцией. А то Citrix сервер умирает от нагрузки, а 30 радостных 2-х и более гигагерцевых клиентских компа с него только экраны показывают.

И потом, у нас уже есть ActiveX, зачем нам еще одно такое же г?
Не надо уподобляться отдельным личностям в этой ветке, ты не знаешь г... это или нет. Спроси google зачем они это затеяли, и наверное про недостатки ActiveX они в курсе, как думаешь? Насчёт дырявого и не настоящего sandbox'a - ты VMWare видел?


Так он уже и так есть. В виде плагина. Чем плохо?
Пример кода не хочешь привести, чтобы было понятно о чём ты говоришь.


Хакал буквально сегодня. Зачем нужен нативный код там -- не понимаю ни разу. Оно 90% времени ждет ответов от разных систем.
Клёвый тебе софт достался У меня 90% не ждёт и к моему глубокому сожалению - он в основном unmanaged. Мне как, всё срочно бросить и переписать работающую систему с нуля А пользу от native client я вижу, мне это позволит съэкономить на развертывании системы и поддержке клиентских мест.

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

224. Vladimir Rybinkin, 26.08.2009 09:01

jooher
цитата:
Можно поросить Вас таки в одном архиве выложить все файлы требуемые для того, чтобы что-то работало?
Все, что я выкладывал - это и есть "то самое". И в одном архиве. И самые свежие версии. Больше я к ним не возвращался - незачем.
цитата:
Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях.
В чем проблемы-то? Весь код там и лежит.

SERGEY_BIG
"Актуальная задача поиска и сортировки" решена, и я прям в той ветке говорил, что решение меня ПОЛНОСТЬЮ устраивает. Месье тоже невнимателен. Впрочем... поройтесь, ребятки, поройтесь. Даже если и ничего не откопаете - все равно не повредит.

loyolla
цитата:
Не работает больше.
Ну и дурак! Впрочем, не всем же быть Кавендишами. Если он СОВСЕМ молодой - это печально. Сейчас-то ему еще ПРОСТО ЖИТЬ интересно, но если лет за пять не одумается - к тридцатнику повесится. Я не Нострадамус (или я уже говорил?), но здесь ошибиться сложно. Вон - Кен Томпсон - наскоко я знаю, тоже чуть не студентом себе зарплату на всю жизнь заработал. И... продолжал работать, как лошадь. Результат (через довольно много лет) мне довелось видеть - ПОТРЯСАЮЩИЙ... самец! Даже молодые бабы, глядя на него, явно в оргазм впадали. Джины потертые, рубаха навыпуск, бородища, взгляд... Вот он, счастливый человек! А этот мальчик (кстати, показателен сам термин!), подозреваю, вызывает скорее материнские слезы. Бабы, конечно, дуры, но чутье у них ФАНТАСТИЧЕСКОЕ!

jooher
цитата:
я почемуто сомневаюсь, что он знает как выцепить хтмл маркап из генеренной скриптом странички.
Умница! Понятия не имею! Не знаю даже, что это такое и, главное, за каким хреном это нужно.

dozen
цитата:
Некоторые живут, чтобы работать. А некоторые работают, чтобы жить. Я стараюсь -- второе. Работа необходима. Если она доставляет удовольствие -- еще лучше. Но она -- не самоцель в жизни.
И слова-то правильные гутаришь - правда? И даже не представляешь, какая это ЧУШЬ СВИНЯЧЬЯ! Но я просто не знаю, как тебе это можно объяснить (да и не верю, что вообще можно). Вот ща я поеду к родителям на дачу из земли чего-то выковыривать - я это дело с детства ненавижу! А для них - наоборот: это и есть отдых. А глядя на них...

rGlory
цитата:
Обана, а чего это оператор -> не используется?
А на кой, простите? На кой плодить новые сущности? Он прекрасно функционировал за тыщу лет до своего появления на свет. Синтаксис удобнее? Кому как. Большинству ваще по барабану.

ivanhoe
цитата:
Владимир, а зачем, если не секрет, все эти навороты?
Где Вы умудрились увидеть навороты?! Ни библиотек нет, ни даже 90% конструкций самого JS - ни хрена!
цитата:
Вот большинство сайтописателей...
...рисуют и поддерживают свои несчастные пару-тройку десятков-сотен-тысяч страниц - и только. У меня же - СУБД. Если я пожелаю, чтобы меня кто-то там индексировал - ЛЮБУЮ часть ее узлов могу выложить в статику - тыщу лет как проверено и отлажено. А не пожелаю - пущай попробуют саму БД "индексировать".
цитата:
Какая стоит цель...
... мне уже осточертело повторять.
цитата:
Если код пишется человеком (а не представляет собой выхлоп какого-то автогенератора), то он по определению пишется для человека, в частности чтения его человеком.
Умница! А если код пишется генератором, то не ЭТОТ код, а как раз код ГЕНЕРАТОРА "по определению пишется для человека, в частности чтения его человеком".
цитата:
Дело в том, что худо-бедно у меня показываются все страницы, кроме Вашей.
Правильно. Вот когда AJAX-овцы допрут, наконец, ЧТО они сделали... Вот тогда и кинетесь "рыскать по помойкам". Боюсь только, поздно уже будет.
цитата:
Это "дерьмо" он передает по каналам связи.
Дык об чем тогда разговор? До "каналов связи" мне, ессно, дела нет - мне нужна математика, способная САМОСТОЯТЕЛЬНО сгенерить и это дерьмо, и другое, а не бегать к мамке клянчить каждую копейку.
цитата:
Посмотреть что поступает на входе можно при помощи программы WireShark
Тьфу ты, Господи! Ну что мне теперь - ставить ее, изучать... Если Вы все умеете - скиньте любую из страниц этой ветки в аттач - и дело с концом! Нешто так трудно? Вона скоко я вам виртуальных страниц 3-го теста выложил - и не сосчитать!
цитата:
Я их несколько не боюсь, просто без указателей мне лично программируется быстрее и эффективнее.
Я об чем и говорю.
цитата:
Спасибо за примеры, но мощи особой (никакой) в подобных конструкциях не чуйствую.
Я об чем и говорю. Надо же так обосрать один из мощнейших операторов, да еще из самого сердца SINT...
цитата:
Правильное проектирование это когда программа расширяема.
Ай, молодца! Неужто это камень в огород SINT?!
цитата:
В вашем копировании самое интересное это обработка.
Да?! Я сроду там ничего интересного не видел. И чо же такого "интересного" Вы там умудрились найти? А вот пример с указателем на функцию интереса как раз и не вызвал. А ведь это, батенька, вызов методов класса "функция" был - ваш Страуструп, наскоко я помню, вообще других и не знал (в SINT еще 3 класса методов).
цитата:
Допустим, у Вас в эту функцию копирования встроено n обработчиков
Нет, родной мой - НИ ОДНОГО там нет! Что занимательно - И НЕ БУДЕТ! Тем не менее - Вы правы: "она успешно выполняет свою задачу".
цитата:
Для этого вам понадобится править код вашей мегафункции копирования.
О-хо-хо, Ваня! Что тут скажешь? Детский сад... Я очень рад, что Вы участвуете в разговоре, но иногда... полное ощущение, что Вы просто самое большое и красивое во всем этом форест.
цитата:
В Haskell строка представляет собой бесконечный поток неизменямых символов.
Ну, и в SINT... стоп! Почему это непременно "неизменямых"?! Почему это непременно "символов"?!
цитата:
Копирование этого потока представляет собой тождественную функцию.
Откуда, куда, что, с каким преобразованием? Где ЭТО все лежит?
цитата:
Допустим, нам надо обрабатывать этот поток построчно.
Кому? Копированию?!
цитата:
process_line str = -- что-то там такое хитрое делает
Ну и на здоровье! Пущай себе делает - копированию-то до этого какое дело?
цитата:
Копирование" с обработкой...
Ха-ха-ха! Это же КОД, батенька! Ща... Кто-то мне тут давеча пургу гнал про "неизменяемый код и переменные данные"... КТО, ПРОСТИТЕ?! Так, хорошо... И что же случилось с тех пор?
цитата:
Здесь имеем "конвейер из трех" компонент:
Тихий ужас! У меня "реляционный" Синдбад тоже "кортежи" БД поэлементно (а не построчно, кстати ) обрабатывает. Так копирование об этом ваще не подозревает - копирует себе - то из файла в ОЗУ, то наоборот, то ОЗУ-ОЗУ, то обработку какую-то выполнит...
цитата:
Теперь предположим, что входной поток заархивирован архиватором gzip.
Еще раз: копированию-то какое собачье дело?! У нее есть HI - хто там под ним прячется, тот пусть и выкручивается, как знает! Пущай разбирается со своим .ZIP - может, кстати, ту же COPY на помощь звать - там где-нить, "во глубине сибирских руд", то бишь программного стека. А у ЭТОЙ COPY ты СЛУГА, хендл, смерд вонючий, и никого здесь НЕ ИНТЕРЕСУЕТ ни хто ты ваще такой, ни твой скулеж про твои поганые проблемы - марш отседова, и шоб входной поток был обеспечен! На блюдечке с голубой каемочкой!
цитата:
Короче говоря, при правильном проектировании дается возможность разбить алгоритм копирования на несвязанные блоки и дать возможность их комбинировать.
И в чем проблемы? Какой такой алгоритм бить собрались? Уж не COPY ли хотите разметелить? А с чем останетесь? Не-а, Ваня, это "Вот как-то СОВСЕМ НЕ так".
цитата:
Ну как-то слабоаргументированно.
А что здесь можно аргументировать, если ВООБЩЕ НИЧЕГО не понимаете? Перечитайте, вопросы позадавайте, что ли... Я же русским языком говорил: ПРИНЦИПИАЛЬНО невозможно избежать "неполноценного" кода! Что забавно - И НЕ НУЖНО!
цитата:
Кизуб это, конечно, голова, только вот он думает о происходящем в недрах как разработчик JVM
Вот и я - как разработчик СУБД.
цитата:
Можно подумать сложно было раздавить.
Это, батенька, СЕЙЧАС! А скажи Вы такое за годик до его появления... Ох, и поиздевались бы над Вами! DEC, кстати, вообще ни при чем: дело было вовсе не в менеджерах.
цитата:
работа нужна чтобы отдыхать от семейной жизни.
Умница! Смотри, dozen, как у Вани все легко и весело! Никаких жертв ни для чего не приносит: ни живет, чтобы работать, ни работает, чтобы жить. Он просто живет - и там, и там.

rGlory
цитата:
В данном случае по ней можно сказать, что писал питекантроп, привыкший игнорировать любой опыт, кроме своего, любимого.
Именно это, дорогой, именно это! И насчет "Да кстати, пропустил" тоже согласен. Целых два предложения перед "Свободу попугаям!" Аналогичными причинами вызвано появление "перевалочной" переменной Addr во втором операторе, которая сама по себе никому на фиг не нужна.

ivanhoe
цитата:
На самом деле код Владимира очень сильно похож на то как раньше писали для бортовых ЭВМ
Браво, Ваня! Меня как раз и включили в соавторы бортовой ОС - до сих пор чо-то капает...
цитата:
которые программировали до сих пор ездящие танки, летающие самолеты и пр.
Танков - не программировал, а "и пр." (летающее) - доводилось.
цитата:
и эти самые старшие товарищи перестроились под новые задачи и средства разработки, когда нужно чтобы программа была переносима-масштабируема-расширяема и пр.
Умница (частично): "товарищам", как правило, все равно, что там за "задачи и средства разработки", программы у них (если это возможно в принципе) всегда были "переносимы-масштабируемы-расширяемы и пр.", а все "переходы" занимают считанные дни. Юра Шпеер - яркий пример: свободно пишет для всего, что в принципе исполнять код может, и с некоторым усилием - для того, что в принципе исполнять код не может.

rGlory
цитата:
А вообще одно из первых правил, которые даются начинающему программисту С/С++:
Лапочка, дык то ж НАЧИНАЮЩЕМУ. Прикладной уровень SINT, проще говоря - изучайте, пользуйтесь - правила вполне себе хорошие. В инструментальном же имена модулей начинаются на "_", в системном - на "__". Очень удобно (если прикладник эти правила соблюдает, ессно). Шурупен зи? Впрочем, Вы вольны называть "этот стиль" как Вашей душе угодно - в этом вопросе мне даже интересно Ваше мнение.

225. SERGEY_BIG, 26.08.2009 10:23
Vladimir Rybinkin
"Актуальная задача поиска и сортировки" решена, и я прям в той ветке говорил, что решение меня ПОЛНОСТЬЮ устраивает. Месье тоже невнимателен. Впрочем... поройтесь, ребятки, поройтесь. Даже если и ничего не откопаете - все равно не повредит.
Как уже говорил выше, дискуссия с топикстартером закончена. Идёт прямая констатация фактов. На всякий случай зыкладываю ещё раз ссылку с релевантным названием страницы sortir.htm (http://www.2bit.ru/sortir.htm) и цитирую текст:
"Готовая программа сортировки будет лежать здесь (http://www.2bit.ru/sortir.zip) , свои замечания (пожелания, благодарности, восторженные отзывы ) можно писать сюда. "
По ссылке - файл с программой отсутствует, из чего мной был сделан вывод, что программа ещё не готова.
Так где же правда?

226. zzf, 26.08.2009 10:56
femidav
Править не надо, надо взять jQuery и не тратить время на ерунду.

Или Dojo.

Добавление от 26.08.2009 10:57:

Vladimir Rybinkin
Все, что я выкладывал - это и есть "то самое". И в одном архиве. И самые свежие версии.

Маэстро, все три самые свежие?

227. evilbloodydemon, 26.08.2009 12:02
Vladimir Rybinkin
Вот большинство сайтописателей...
...рисуют и поддерживают свои несчастные пару-тройку десятков-сотен-тысяч страниц - и только. У меня же - СУБД.


ну так у них как бы тоже не хвост собачий.

228. jooher, 26.08.2009 13:57
evilbloodydemon
ну так у них как бы тоже не хвост собачий

Слово "тоже" тут неуместно, потому как у ВР то как раз видимо этот хвост только и есть (http://www.2bit.ru)

229. Vladimir Rybinkin, 26.08.2009 14:36
jooher
цитата:
Вообще наверно темы ВР надо автоматом при создании в флейм перемещать.
А я ее не здесь и создавал. Это модератор ее сюда перекинул - думал, видать, что здесь программисты... Впрочем, это dozen виноват - это он вещал, что "там энтузиасты всё в подробностях дяде Вове объяснят".

sip
цитата:
Такой подход с F5 неплох для случая, когда данные клиенты только читают.
Что за бред?! Какое серверу дело, чо они там делают?
цитата:
Если они их конкурентно модифицируют, то ситуация иная.
АБСОЛЮТНО та же самая! Представьте хотя бы такой вариант: пока один из клиентов модифицированные данные ПОСЫЛАЛ, другой (по более толстому каналу) его опередил. Это НЕ "проблема сервера", он все спокойно принять МОЖЕТ. А уж "радостно посылать"... Кто ж на такой сервер ходить-то будет? Вы, бедолага?
цитата:
Это плохой ответ.
А мне - ндравится!(с) Нет, это не мой ответ "плохой", это Ваш глупый. Допустим, на сервере ответ получен за одну миллисекунду. А на клиенте - страшно сказать - в 1000(!!!) раз дольше считаться будет! Так вот: лично я - потерплю.
цитата:
Плюс ещё и дизайн приложения будет сложней, так как нужно закладывать возможность считать одни и те же вещи как на сервере, так и на клиенте.
Это... шедевр! Без комментариев.
цитата:
Я не вижу простого пути, как создать динамически масштабируемое приложение.
Ну дык ПОЧИТАЙТЕ ВЕТКУ-ТО!
цитата:
А если серверная и клиентская части вообще на разных языках/платформах реализованы ?
Меня просто умиляют все эти ужасы!
цитата:
Явно проще тупо нарастить серверную часть и вообще на клиенте ничего не считать, а только визуализировать результат.
Кому? Клиенту? Дык так все и делают. Ну, не ветку - так хотя бы ТЕМУ ветки читали?
цитата:
может есть красивый способ делить стадии расчётов между сервером и клиентом.
Таких "красивых способов" миллиен! 0 < x < 100%, y = 1000;

штышпре
цитата:
у Владимира есть свойство пренебрежительно относиться к чужому опыту, и это вполне понятно
Конечно, понятно! Рустам иногда пробегает, но сюда не заглядывает, зараза. Kizub, Kirpa, ndemia, berserk и прочие ваще исчезли - откуда ж "чужому опыту" взяться? Или там "множеству мыслящих рационально людей"? А для "недоумевающего большинства" - оно, конечно...
цитата:
если ВР не читать, и фильтровать ругань, вполне годные темы получаются.
Дык уперед! Что ж вы, как стадо, ПО МОИМ веткам шляетесь? Получайте себе свои "вполне годные темы" - я что, запрещаю?

ivanhoe
цитата:
Напоминаю, что речь шла о том, будут ли поисковики индексировать ваши тысячи и миллионы виртуальных страниц.
Вот именно! Я и был просто В УЖАСЕ от того, что об этом вообще может "идти речь"!
цитата:
проще, говоря, поисковые системы искать в ваших виртуальных страницах не будут.
Слава те! Консенсус?
цитата:
Ну это уж Вам решать, хозяин, как говорится, барин.
Вот я и решаю: сочту нужным - будут индексировать, нет - пошли на...
цитата:
Если содержание представляет собой дерьмо...
А при чем здесь вообще содержание? Если оно дерьмо - все претензии к юзерам ихних БД.
цитата:
то можно это содержание отдавать в виде нагромождения JS и виртуальных страниц.
А не проще будет ВАЩЕ НЕ ОТДАВАТЬ? Как мыслишка?
цитата:
то поисковикам надо отдавать его в виде обычного HTML.
Первая здравая мысль за весь пост (пока, во всяком случае).
цитата:
В упоминаемом dozen GWT eval используется.
Ну, после приведенной диагностики dozen может вообще больше ничего не "упоминать".
цитата:
И, как это ни странно, но gwt (включая всякие там ext-gwt) мой браузер как раз кушает.
Абсолютно ничего странного! Кушает он лишь то, что ему ПОЗВОЛЕНО кушать, чем его кормят с ложечки. А чтобы сам ненароком не скушал чего другого, ему все зубки-то и повыбивали.

dinozaur
цитата:
За такие безответственные высказывания надо вешать на ближайшем суку.
Серьезно? А почему, собссно? Самостоятельно "вывести аудиторию из пребывания во тьме" способны? Али "ключевыми словами" будете отмахиваться?

dozen
цитата:
но если юзер что-то менял, то создавалась приватная запись.
О! Лет ...дцать назад мы здесь это обсуждали. Начинает и до народа кое-что доходить...
цитата:
Я лично не знаю никого, кто так делает.
Именно! Потому-то я ветку и завел...
цитата:
Слишком много геморроя. Цена разработки...
Пральна! Зачем же "геморрой, цена разработки (и тестирования с поддержкой)"? Для тебя вопрос цены ваще, я вижу, жутко болезненный - блокировка на уровне подсознания, видать...

jooher
цитата:
Удивляет как раз не Владимир - у него-то позиция четкая и последовательная. Удивляет наивная настойчивость людей, пытающихся что-то ему объяснить.
Какая прелесть! Браво! Что ж сами-то не следуете столь чудным советам?

dozen
цитата:
Просто его ... мгм... спорные утверждения должны быть опровергнуты хотя бы ради молодых, читающего ветку.
КЕМ, лапочка?!

ivanhoe
цитата:
Справедливости ради, убедить Владимира все-таки можно. По крайней мере пару случаев припомнить могу.
Вау! Спасибо, дорогой!

jooher
цитата:
Вы один из избранных, чьи посты ВР читает и даже что-то отвечает.
Надо же! Не думал, что это так заметно... В любом случае, это правда.
цитата:
Не могли бы Вы попросить его выложить одним архивом весь его проект в том виде как он работает у него на ИЕ3 ?
Ну, хорошо: это было еще ДО моего предыдущего ответа. А сейчас какие отмазки пойдут?

dozen
цитата:
Во всех предыдущих ветках подобные попытки с презрением отвергались Мастером.
Точно! Как и в этой - прям не отличишь!

ivanhoe
цитата:
Правда там еще можно будет запустить СИНТ, с всеми его меню и палитрами!
Умница! У SINT все уровни (кроме аппаратного) и знать не знают, на чем они работают.

zzf
цитата:
Но, видимо, всё равно "не шмагли".
Понятно. Опускаем разработчиков, но другим способом. Очень правильно!
цитата:
Повторяю специально для тебя, дружок:
Не, для меня не надо - я ни памятью, ни вниманием пока что не обижен.
цитата:
Ну а если нет, то к чему был следующий пустозвон:
А вот как раз к тому редкому случаю, за который нужно яйца отрывать.
цитата:
Как мило ты сливаешь, дружок. Отвечаешь, а вопрос не цитируешь. Ну я напомню:
Нет, не нужно - я предполагал все же, что хоть СВОЙ СОБСТВЕННЫЙ вопрос чел в состоянии помнить? Нет, то был ответ на вопрос: "Это чтоли?"
цитата:
Опять ЛОЖЬ. Для чего чекбоксы и выпадающие списки в сгенерированных руками страницами ты не рассказывал.
Лапочка, наберите в поисковой строке: "В общем, понажимайте - думаю, там все прозрачно", и почитайте от слов "Некоторые пояснения" до этой фразы.
цитата:
Ну тут ты тоже лоханулся. Менделееву эти таблицы приснились первому.
Каюсь, лоханулся. То, что мне отнюдь не таблицы снились - это, видать... Так, ладно: вижу - не помогло. Вернее - не в ту сторону (чтобы заткнуться). Жаль. Ликбез же проводить на тему "Как же они попадут к клиенту, чиорт побьери" или "что там такое r" - много чести. Да и грамматические ошибки меня с детства раздражают, не говоря уже об остальном. Бай!

femidav
цитата:
Править не надо, надо взять jQuery...
Query-то здесь при чем?! Естественно, "подход абсурден" - как же иначе?

dozen
цитата:
У меня лично браузеры работают на железе трех архитектур.
Работают, г-ришь?
цитата:
а так -- дыра во весь комп
Дырой больше, дырой меньше - какая разница? Повторяю: вся математика - одно большое решето.
цитата:
Зачем нужен нативный код там -- не понимаю ни разу.
Хм. А ведь иногда и умные мысли говорить могешь... Или слышал от кого?

230. sip, 26.08.2009 15:06
Vladimir Rybinkin

он все спокойно принять МОЖЕТ.
И что он с кривой фигней будет делать? Ты если начал фразу, так заканчивай внятно, тут телепатов нет.

Так вот: лично я - потерплю.
Всяческих успехов тебе в этом нелегком деле Не забудь что-нибудь раритетное себе на клиент поставить, чтоб уж точно до пенсии хватило ждать

Кому? Клиенту? Дык так все и делают. Ну, не ветку - так хотя бы ТЕМУ ветки читали?
Ты что думаешь, одного тебя читать научили, гениальный ты наш

Таких "красивых способов" миллиен! 0 < x < 100%, y = 1000;
Вау! Сразу видно великого алгоритмиста в деле. Говоришь для чего-то летающего софт ваял

231. jooher, 26.08.2009 15:24

sip
Говоришь для чего-то летающего софт ваял

Вот помнится, когда-то мы с Сережей Королевым для "Востока" систему управления полетом програмили...
За это сообщение сказали спасибо: dinozaur

232. dozen, 26.08.2009 17:50
sip

Я же сказал, сотрётся разница между web и desktop. Ты же сам пишешь
Основное преимущество веб-приложений -- автоматическое обновление, то есть снижение стоимости поддержки... Плюс не нужно мудохаться с каждой конкретно взятой рабочей станцией. А то Citrix сервер умирает от нагрузки, а 30 радостных 2-х и более гигагерцевых клиентских компа с него только экраны показывают.


То есть, исполнение нативного кода в браузере имеет право на жизнь, если оно преследует две цели:
- гарантировать исполнение последней версии приложения
- разгрузить сервер

Ну так разве ActiveX -- это не оно самое? (Его я и имел в виду под "плагином к браузеру").

Что касается защиты процесса уровня VMWare -- звучит feasible, но VMWare защищает на уровне предоставления целой виртуально OS. А у гугля защита на уровне инструкций процессора, а все API выше этого -- открыты. Сколько в тех API багов, через которые можно вломиться? Более 9000.

Так что я пешком постою.

Ну, и я считаю ориентацию на нативный код -- шагом назад. Примерно как писать ассемблерные вставки в С++ коде.

233. jooher, 26.08.2009 18:54
dozen
А то Citrix сервер умирает от нагрузки, а 30 радостных 2-х и более гигагерцевых клиентских компа с него только экраны показывают

Этот naclgrid - какое он вообще отношение имеет к браузеру? Разве это не идеологический аналог bitTorrenta (с разницей, что тот объединяет дисковые и bandwidth ресурсы, а этот - вычислительные) ?

Какой смысл вот в этом? :
цитата:

upload your task on the server, ask your employees to browse a special webpage when they leave their desks and you're done
Почему бы просто не предлагать людям ставить себе службу - клиента, предоставляющего избытки процессорного времени в общий котел?

[upd]
... ааа, пон... не о нем речь....

234. rGlory, 26.08.2009 18:54
Vladimir Rybinkin
цитата:
А на кой, простите? На кой плодить новые сущности?
Ну так я об этом и говорю, на кой плодить скобочки и делать код нечитаемым, когда для этого есть соотвествующие операторы языка. И про оператор += Вы скромно умолчали, не так ли?

цитата:
Он прекрасно функционировал за тыщу лет до своего появления на свет.
В анналы, адназначна

цитата:
Синтаксис удобнее? Кому как. Большинству ваще по барабану.
Большинству Владимиров Рыбинкиных? Я бы не стал экстраполировать Ваши взгляди на кого либо другого, тем более на большинство, поскольку Вы уникум.

цитата:
Лапочка, дык то ж НАЧИНАЮЩЕМУ.
Ну да. А Вы кто в С/С++ простите?

цитата:
Прикладной уровень SINT, проще говоря - изучайте, пользуйтесь - правила вполне себе хорошие.
Изучать и использовать?!! Да не дай Бог! Чтобы и мне таблица Менделеева 10 раз снилась? Здоровье дороже.

235. lvqcl, 26.08.2009 19:19
rGlory
Чтобы и мне таблица Менделеева 10 раз снилась? Здоровье дороже.

цитата:
Оказывается, Леонардо да Винчи не только изобрел танк и вертолет, но и приснился Менделееву, переодетый таблицей.

236. dozen, 26.08.2009 19:43
jooher
Этот naclgrid - какое он вообще отношение имеет к браузеру? Разве это не идеологический аналог bitTorrenta (с разницей, что тот объединяет дисковые и bandwidth ресурсы, а этот - вычислительные) ?

Я про http://code.google.com/p/nativeclient/ размусоливал.

237. rGlory, 26.08.2009 19:48
lvqcl

Боюсь даже представить, во что переоделся Леонардо, когда приснился Владимиру, да еще и 10 раз.

238. jooher, 26.08.2009 20:54
про http://code.google.com/p/nativeclient/[/i]

sip
Спроси google зачем они это затеяли, и наверное про недостатки ActiveX они в курсе, как думаешь?

А зачем они затеяли Хром? Наличие Мозиллы (и всего остального) как и наличие АктивХ для гугла не повод что-то не делать, а повод прийти, надавить репутацией и прибрать себе развитый рынок. Nativeclient это вообще похоже на подготовку почвы к внедрению, например, собственной оси.

239. dozen, 26.08.2009 21:02
jooher
а повод прийти, надавить репутацией

c хромом, IMHO, они репутацию скорее потеряли...

240. Витька, 26.08.2009 21:47
jooher
Не могли бы Вы попросить его выложить одним архивом весь его проект в том виде как он работает у него на ИЕ3 ?

По ссылке
http://forum.ixbt.com/post.cgi?id=attach:26:39751:15:1
5 файлов:

a.j
b.j
i.j
index.htm
a.h

Это последний и единственный вариант, активный, и отягощённый данными.

Оно работает, как один проект, в IE 5.50 (проверил).
Только там надо догадаться, кликать по надписям, и буквам.
Тормозит жутко. Не исключено, что там есть какая-то своя логика.

241. Gipnoss, 27.08.2009 00:15
Витька
Тормозит жутко
Клиент заставлен, цель достигнута...

242. sip, 27.08.2009 00:54
dozen

Ну так разве ActiveX -- это не оно самое? (Его я и имел в виду под "плагином к браузеру").
Ну в общем да, только есть надежда, что будет более безопасным и с лучшей репутацией в целом.
Как-то так: Google contends that NaCl's advanced code validation features and sandboxing make it significantly more secure than similar technologies, such as ActiveX.
Плюс они соревнования устраивают на тему "поломать": http://code.google.com/contests/nativeclient-security/

243. dozen, 27.08.2009 04:05
sip
Плюс они соревнования устраивают на тему "поломать": http://code.google.com/contests/nativeclient-security/

Тип находимых (http://code.google.com/p/nativeclient/issues/detail?id=60) багов не вселяет в меня надежды на скорое достижение rock-solid security.

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

244. sip, 27.08.2009 04:24
dozen
Поживём увидим, но всё-таки как-то ты очень негативно настроен

245. Vladimir Rybinkin, 27.08.2009 10:24
All
Попробую-ка я еще разок изложить проблему. Но вначале - небольшое вступление.

Я обращаюсь главным образом к молодежи - школьникам, студентам. К той самой молодежи, которую здесь так ревностно "оберегают" от моего нехорошего влияния. Не верьте! У меня нет ни малейшего желания на вас как-то "влиять" (как раз наоборот), да и оберегают они вовсе не вас, а свою собственную задницу. Свой статус якобы программистов, якобы профессионалов. Это неправда: они вовсе не программируют, они ДЕНЬГИ ЗАРАБАТЫВАЮТ. Статус у них измеряется лишь расстоянием от кормушки, а хрустальная мечта всей жизни - получить корыто в свое личное распоряжение, чтобы не приходилось каждый раз прорываться к похлебке сквозь толпу таких же зверенышей. Однако "корпоративные интересы" заставляют их объединяться в стаи: пуще огня они боятся любой свежей мысли - даже не из своей "профессиональной" зоны - ибо каждая такая мысль есть риск вскрытия факта полного отсутствия оных в их собственных головах. На такие мысли они дружно набрасываются всей толпой.

Существует множество индикаторов, позволяющих отличить эту породу от других (ведь даже они сами с легкостью это делают). Вот некоторые:

1. Для "подтверждения" своих... мыслей они тычут пальцем в мегатонные доки, которые они якобы изучили (или хотя бы читали). Например, в трехтомник Кнута. Однако в последнее время (видимо, нарвавшись пару раз на тех, кто этого самого Кнута все-таки читал) предпочитают ссылаться на некие абстрактные "учебники" или там "документацию". Профессионал же не позволяет себе подобного НИКОГДА - он просто не умеет этого делать.

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

3. Они никогда не кусают "своих", даже за совсем уж неприличные глупости. Здесь есть, правда, два исключения: "паханам" это дозволено. Но быть паханом опасно: поверженного вожака с наслаждением разрывает на куски вся свора (второе исключение).

4. Основное внимание они обращают не на тему, а на автора (одно время мне было забавно наблюдать за всплесками интереса к нашему сайту). У автора выискиваются разные "козюлины" с тем, чтобы сказать: как может этот идиот, который даже [содержимое найденной козюлины] вообще что-то говорить о [название темы].

5. Они используют слэнг, который (в отличие от слэнга профессионала) чрезвычайно неустойчив, как и колебания любой моды вообще. Помнится, меня чрезвычайно раздражало, когда хлынувшая в программирование вся эта толпа дружно начала чего-то там "юзать". Теперь это уже неприлично (подумаешь, какой-то несчастный класс) - теперь модно скорее "либать".

6. Они мерно "разговаривают" между собой, тщательно изображая, что их круг интересов резко отличается от темы - спрашивается, чего они тогда тут делают? Время от времени какая-нить сопля имитирует демарш - дескать, ее трепетная душа не может более этого идиот[изм]а выносить. Не верьте - никуда она на фиг не денется. Правда, такой наглости, как у dozen, влепившего свою тему прямо посередине моей, я что-то не припомню.

И т.д. - вы сами легко пополните этот перечень. Вот от таких "нахлебников" мне всегда хотелось ветку очистить, но, к сожалению, побеждают именно они: ветка закрывается. После битвы поле боя всегда достается мародерам.

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

Тема этой ветки - осознать, что "комп тоже человек". Не в том идиотском смысле, когда сервер выясняет версию броузера, чтобы понять, на каком языке с ним разговаривать - это как раз позор: пусть не эсперанто, но я почти не встречал в "загранке" кого-либо, знающего английский хуже меня (в России ситуация диаметрально противоположная). Ведь никому в голову не приходит, чтобы клиент начал выяснять язык сервера, чтобы поговорить - явная дискриминация по "половому" признаку. Тема ветки иная: "клиентоцентрическая система мира", т.е. клиент - один, а серверов - много. Вот, скажем, этот форум - он кто: клиент или сервер? Он данные юзерам ПРЕДОСТАВЛЯЕТ или, наоборот, их ПОЛУЧАЕТ? Вот представьте, приходит клиент на сервер:
- Привет, чего приперся?
- Да вот, понимаешь, ищу функцию одну... У тебя нет, случайно?
- Есть, а как же! Держи. Мож, тебе еще и этих подкинуть - вон их у меня сколько?
- Не, спасибо - это я уже у твоего соседа взял.
- А данные тебе нужны какие?
- А что у тебя есть по ЭТОЙ тематике?
- Смотри...
- Так... это есть, это тоже... О! Вот это давай!
- С превеликим удовольствием!
- Кстати, а тебе ничего моего не надо?
- Не, это не совсем моя зона - к другим обращайся.
- Ну, спасибо, дорогой! Пока!
- Здрав буде, боярин!

Вот в таком вот разрезе...

246. Chippy2003, 27.08.2009 10:47
All требует контактную информацию Вашего дилера

247. Vladimir Rybinkin, 27.08.2009 15:04
sip
цитата:
И что он с кривой фигней будет делать? Ты если начал фразу, так заканчивай внятно, тут телепатов нет.
И в чем же "кривизна фигни"? Ты если начал фразу, так заканчивай внятно, тут телепатов нет.
цитата:
Всяческих успехов тебе в этом нелегком деле Не забудь что-нибудь раритетное себе на клиент поставить, чтоб уж точно до пенсии хватило ждать
Спасибо, родной. Дополнительно - за то, что усвоил, что одна миллисекунда, умноженная на 1000 - это еще недостаточно "до пенсии".
цитата:
Ты что думаешь, одного тебя читать научили, гениальный ты наш
Нет, я так не думаю, но посты ваши упорно наталкивают меня именно на эту мысль.
цитата:
Вау! Сразу видно великого алгоритмиста в деле.
Неужто я так и написал?! Там должно быть "y = 100 ПРОЦЕНТОВ МИНУС x". Так - доступно? Ваял, ваял...

jooher
цитата:
Вот помнится, когда-то мы с Сережей Королевым для "Востока" систему управления полетом програмили...
Нет, "Сережа Королев" программированием не занимался. Да и ракеты у нас разные были... Как там, кстати, насчет Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях. У меня есть некоторый опыт по этой теме? Ась? Тише воды, ниже травы? То-то...

rGlory
цитата:
Ну так я об этом и говорю, на кой плодить скобочки и делать код нечитаемым, когда для этого есть соотвествующие операторы языка. И про оператор += Вы скромно умолчали, не так ли?
Да... Это не просто дерево - это ЖЕЛЕЗНОЕ дерево... Изучайте ветку, родной - авось с какого-нить раза...
цитата:
Большинству Владимиров Рыбинкиных?
Нет, окромя "глориеподобных". Я отнюдь не уникум - Я бы не стал экстраполировать Ваши взгляди на кого либо другого, тем более на большинство.
цитата:
А Вы кто в С/С++ простите?
Отсчитайте от Вашего уровня хотя бы пять ступенек вверх.
цитата:
Изучать и использовать?!! Да не дай Бог! Чтобы и мне таблица Менделеева 10 раз снилась? Здоровье дороже.
Господь с Вами, милый! Неужто я Вам SINT изучать предложу? Это я лишь про упомянутые Вами же правила говорил. Думал - безопасно, а тут сразу истерика...

jooher
цитата:
Nativeclient это вообще похоже на подготовку почвы к внедрению, например, собственной оси.
О! Вот о чем нынче мысли "программистов"! Самое печальное - ПРОГРЕССИВНЫХ программистов, которые еще способны что-либо осознавать...

Витька
цитата:
Это последний и единственный вариант, активный, и отягощённый данными.
Во-первых, здрассьте! Во-вторых, не первый раз уж мне приходится Витьку благодарить. В-третьих, "отягощённый данными" - да, пока единственный, но им бы хоть с ПЕРВЫМ, "не отягощенным" тестом вначале как-то разобраться! В-четвертых, чтобы особо не "догадываться" (я об этом уже говорил), достаточно в нужных местах добавить FONT COLOR="#'+b.p.l+'". dozen тут гнул пальцы по поводу CSS - гнул, гнул, да так и утух. Впрочем, кто бы сомневался? Ладно, ща сам сделаю. Вот он, тест третий, "модернизированный" (см. аттач) - теперь лучше? Палитру (уж очень визжит от восторга толпа при этом слове) при желании можно поправить в b.j или даже сделать редактируемой. В-пятых, третий тест (в отличие от четвертого) действительно кое-какой поиск по "базе" осуществляет при генерации страницы, но... у тебя что, еще хуже, чем мой (который у родителей) PII-266/192M RAM, да еще с работающим "комми"?! Однако! Вона как уже обрадовалась "тормозам" всякая шушера... А ведь какие мозги в молодости имела! Тьфу! Ну хоть перестанут вякать насчет сказанная тобой фраза "я посылал работающее решение" является ЛОЖЬЮ - и то хлеб. Спасибо еще раз! Кстати - а ну, изложи-ка последнюю диагностику первого теста! Для контроля - что-то я засомневался: а тот ли это Витька...

К сообщению приложены файлы: 1.rar, 7Кb

248. dozen, 27.08.2009 16:02
Vladimir Rybinkin
Тема ветки иная: "клиентоцентрическая система мира", т.е. клиент - один, а серверов - много.

О! ВР набрел на идею mushup (http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29) ! Разрыв сокращается!

А может даже -- страшно сказать -- UDDI (http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration) ?!

цитата:

А Вы кто в С/С++ простите?Отсчитайте от Вашего уровня хотя бы пять ступенек вверх.
Скромен и честен.

249. zzf, 27.08.2009 16:11
Vladimir Rybinkin

> rGlory
> А Вы кто в С/С++ простите?
Отсчитайте от Вашего уровня хотя бы пять ступенек вверх.


Смеяло. Молодец. Если чувство юмора есть, значит ещё не всё потеряно.

Вот он, тест третий, "модернизированный" (см. аттач) - теперь лучше?

Продукт по прежнему не запускается. Проверено в IE и Opera. Владимир, нам теперь каждый раз Витьку звать? Ты бы не экономил клавиатуру а? Дай файлам стандартные расширения, а то вместо того, чтобы интерпретировать 'a.h' kak веб-страницу, браузеры просто показывают его содержимое.

250. dozen, 27.08.2009 17:39

Chippy2003
All требует контактную информацию Вашего дилера
оно old school, оно водочкой, да без закусочки...

251. jooher, 27.08.2009 18:21
Vladimir Rybinkin
Как там, кстати, насчет Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях

Собсно, пробую. Признаюсь, пока заставить это работать не удалось, но уже масса позитива

1. Тут в ветке кто-то просил код без обфускации выдавать, так вот на данной стадии могу на это бессовестное поползновение ответить: ЭТО НЕ обфускация - это by design, причем насколько я понял - это главная фича Вашего, о Мастер, прорыва. Вместо лоховских идентификаторов типа eval, substring, indexOf и т.п. все используемые функции и переменные называются одной буквой (гениально!) а для пущей крутизны делаются полями какого-нибудь объекта. В итоге появляется изумительная возможность: вместо пошлого непосредственного выполннения js-конструкций (которые могут писать любые неучи) - кодировать их в строчку и выполнять eval'ом побуквенно (как и подобает настоящему Мастеру).

2. Чтобы всякие дебилы и недоучки не лезли в код, и не хвалились потом перед толпой себе подобных плебеев тем, что они познали тайный смысл кода настоящего гения, применяется виртуозная стратегия "не пиши просто там, где можно написать сложно, или даже еще сложнее". Впечатляющая находка: поэлементное копирование полей (кодированных по п.1) из одного объекта в другой (а на самом деле - в тот же), а потом вместо этого "нового" объекта все равно использовать старый (гениальность замысла в том, что поскольку это тот же самый объект - ошибок не возникает).

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


3. Использование Мастером eval - это отдельная ода просвещению.
код:

r="parent.";
...
eval(r+j+"=new Object");
...
m.e=eval;
m.e("e._="+r+"__");
...
m.e("m."+j+"="+r+j);

Конечно, квадратные скобки - удел никчемных бездарей.

4. Дна у этого кладезя пока не видно (могу ли вообще я, ничтожный, надеяться на полное постижение?), приведенные здесь жемчужины - это самое простое из того, к чему я причастился за пару часов... Может, еще вернусь к этому... В любом случае - всем рекомендую почитать
За это сообщение сказали спасибо: zzf

252. rGlory, 27.08.2009 18:33
Vladimir Rybinkin
цитата:
Отсчитайте от Вашего уровня хотя бы пять ступенек вверх.
Это Вам показалось, что те ступеньки вверх. Вы попробуйте с головы на ноги встать, обнаружите для себя много интересного.

цитата:
Свой статус якобы программистов, якобы профессионалов. Это неправда: они вовсе не программируют, они ДЕНЬГИ ЗАРАБАТЫВАЮТ.
Владимир, Вы просто кладезь откровений. Пожалуйста раскройте тему глубже - чем отличается профессионал от любителя. Не для меня конечно, я судя по Вашей классификации, конченый "деньгозарабатыватель", для студентов и школьников раскройте.

253. zzf, 27.08.2009 18:51
Vladimir Rybinkin
не первый раз уж мне приходится Витьку благодарить

А Витька будет входить в стандартную поставку продукта или это уже энтерпрайз эдишен?

254. loyolla, 27.08.2009 19:02
All
Мальчик - в том смысле, что не девочка. Та статья ссылку на которую давали - точно не про него. В статье автора модели зовут Ли, а этот совсем наоборот - Wang. А вообще да. Не точно выразилась.

Vladimir Rybinkin
Ну и дурак
При всем полагающемся уважении... Вот когда Вы станете таким же успешным как он, к Вашим словам будет иметь смысл прислушиваться. Ваше мнение будет интересно. Пока, насколько я понимаю, Вам до него далеко.

мне довелось видеть - ПОТРЯСАЮЩИЙ... самец! Даже молодые бабы, глядя на него, явно в оргазм впадали.
Это Ваши фантазии. Эротические.

Бабы, конечно, дуры
Куда уж нам...

Свой статус якобы программистов, якобы профессионалов. Это неправда: они вовсе не программируют, они ДЕНЬГИ ЗАРАБАТЫВАЮТ.
Угу. И пекари не булки пекут, а ДЕНЬГИ ЗАРАБАТЫВАЮТ. И виноделы не вино делают, а ДЕНЬГИ ЗАРАБАТЫВАЮТ. И.. Ну и так далее. И что в этом плохого? Смею утверждать, что даже Вам надо оплачивать счета. И чем программирование, по большому счету, отличается от, скажем, вождения грузовиков? И то и другое - обычное ремесло. Я делаю работу и водитель грузовика делает работу. Чем выше мой профессионализм (читай производительность + несколько критериев специфичных для программиста), тем больше мне платят. Чем выше профессионализм водителя (читай производительность + несколько критериев специфичных для водителя грузовика), тем больше платят ему.

пуще огня они боятся любой свежей мысли
Тут должно быть уточнение. Пуще огня мы боимся Вашей свежей мысли. Постольку Ваши мысли свежими назвать сложно.

вскрытия факта полного отсутствия оных в их собственных головах
Опять уточнение. Тут должно быть IMHO. Вы не видите этих мыслей. Если показать упоминавшемуся здесь уже питекантропу сотовый телефон, он тоже ничего не поймет и начнет им орехи колоть. И скажет что фигня это все... Поломался сразу. не годится он для колки орехов. Вы начали с самостоятельного изобретения колеса и уже вплотную подошли к изобретению самодвижущейся повозки. И все сам. Честь Вам и хвала. Но не надо выдавать Ford-T который вот-вот появится за Мерседес 2010 года.

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

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

Теперь это уже неприлично (подумаешь, какой-то несчастный класс) - теперь модно скорее "либать".
Не очень понятно. О каком классе идет речь? Что такое "либать"?

Время от времени какая-нить сопля имитирует демарш - дескать, ее трепетная душа не может более этого идиот[изм]а выносить
Не могли бы Вы привести пример такого демарша?


Вот этот вот Ваш новый проект. Вот он для чего? Вот чего бы вы хотели сделать? Какую из существующих технологий Вы хотели бы улучшить или заменить? Какие у Вашей технологии преймущества? Вы просто не сможете ответить на эти вопросы. Потому что Вы вообще не знаете что существует на сегодняшний день. И не хотите знать. И, я подозреваю, Вы хотите, что бы участники форума Вам это обьяснили. Вам пришла в голову мысль, Вы ее не удосужились даже сформулировать верно и тут же вывалили это все нам на голову... Вы, типа, тут разберитесь, и мне скажите, стоит это чего-то или нет. Тоже метод. Самому думать, читать лень - пусть кто-то это за меня сделает. Тут на форуме зимой и весной (во времена сессий в институтах), всегда увеличивается активность таких же умных... Но тогда какого лешего Вы стрницу за страницей выкладываете какие-то архивы, какие-то файлы, которые ни у кого не работают? Вам русским языком сказали : НЕ РАБОТАЕТ. Причина в старой версии интерпретатора. Почему Вы не сделали работающую версию Вашей технологии? Что бы было понятно, что и как оно делает. Что бы люди могли разобраться?

Вы хотите что бы Вам помогли? Сделайте так, что бы Вам было возможно помочь. Вы хотите, что бы над Вами потешались все? У Вас здорово получается.
За это сообщение сказали спасибо: zzf

255. Dilon, 27.08.2009 19:50
loyolla и вас проняло

Добавление от 27.08.2009 19:56:

код:
m.e=eval;

Вот что меня смущает больше всего. Зачем так делать?

256. dozen, 27.08.2009 19:59
Dilon
Вот что меня смущает больше всего. Зачем так делать?

Спрашивали уже. Ниacилил всю тему, да? Много лулзов потерял.

==
Кстати, разобрался с "неожиданным вызовом" - переопределяю m.e=eval; - неожиданности заканчиваются. . Остальным встроенным функциям (типа alert) - по барабану. Ну и гадюшник!
==

257. ivanhoe, 27.08.2009 20:18
Vladimir Rybinkin
цитата:

...рисуют и поддерживают свои несчастные пару-тройку десятков-сотен-тысяч страниц - и только. У меня же - СУБД. Если я пожелаю, чтобы меня кто-то там индексировал - ЛЮБУЮ часть ее узлов могу выложить в статику - тыщу лет как проверено и отлажено. А не пожелаю - пущай попробуют саму БД "индексировать".
При разработке крупных сайтов (да и мелких в общем-то тоже) уже давно никто не рисует сотен и тем более тысяч страниц. Верстальщики делают шаблоны, а содержание берется из БД или еще откуда, так что Вы со своей СУБД не являетесь уникальными.

цитата:

Умница! А если код пишется генератором, то не ЭТОТ код, а как раз код ГЕНЕРАТОРА "по определению пишется для человека, в частности чтения его человеком".
То есть ваш код это все-таки выхлоп генератора? Тогда претензии к виду кода, конечно, снимаются. Остается, правда, факт, что работает он только у избранных.

цитата:

Еще раз: копированию-то какое собачье дело?! У нее есть HI - хто там под ним прячется, тот пусть и выкручивается, как знает! ....
Охохох. Я понял (точнее, вспомнил), что мы разговариваем на совсем разных языках и Вы "наш" современный жаргон учить не хотите, а с Вашим, кроме как в Ваших сообщениях, ознакомиться негде (как и спроецировать его на денотационную семантику и пр.)

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

Вы пропагандируете СИНТ, и мне, в частности, интересны его особенности и как он помогает в разработке программ в условиях постоянно меняющегося ТЗ. Свою точку зрения в меру сил я объяснить попытался, хотя и не совсем, похоже, успешно. Напишите, пожалуйста, свой пример когда ТЗ было одно, потом чуть-чуть поменялось, и что, соответственно, пришлось менять в коде. Законченность не обязательна, интересно посмотреть на общую схему.

Со своей стороны постараюсь улучшить способность выражать свои мысли.

All

А подскажите, пожалуйста, товарищи, я правда так непонятно выражаюсь? Всегда считал что пишу крайне понятно.

258. rGlory, 27.08.2009 20:34
ivanhoe
цитата:
А подскажите, пожалуйста, товарищи, я правда так непонятно выражаюсь? Всегда считал что пишу крайне понятно.
А из-за чего сомнения возникли? Что ВР не понимает? Так тут либо All понимает, либо ВР, третьего не дано. Я бы начал волноваться, если бы меня ВР начал с полуслова понимать...

259. lvqcl, 27.08.2009 20:34
Иеремию отличала последовательность поистине феноменальная. Девяти лет от роду он решил создать Общую Теорию Всего на Свете, и ничто уже не могло этому помешать. Серьезные трудности при формулировании мыслей, которые он испытывал с ранних лет, возросли после фатального дорожного инцидента (асфальтовый каток расплющил ему голову). Но даже увечье не отвратило Иеремию от философии; он твердо решил стать Демосфеном мысли, вернее, ее Стефенсоном: создатель паровоза, сам передвигаясь не очень-то быстро, хотел заставить пар двигать колеса, а Иеремия хотел принудить электричество двигать идеи. Часто эту мысль искажают - дескать, он призывал к избиению электромозгов, а его девизом будто бы было: "ЭВМ - по морде!" Это - злонамеренное извращение его идей; просто Иеремия имел несчастье опередить свое время.

Что же до пресловутых кощунств, которым он якобы учил свои аппараты, то это были возгласы разочарования ничтожностью результатов, получаемых в ходе изнурительной работы в лаборатории. Бесспорно, с его стороны было неосторожностью пользоваться грубоватыми и даже вульгарными терминами в брошюрах, издававшихся за его счет; в контексте рассуждений об электронных системах такие обороты, как "съездить по лампе", "вздуть катушку", "намять бока конденсатору", могли быть превратно поняты. Еще он рассказывал - мистифицируя собеседников из духа противоречия, я в этом уверен,- что будто бы за программирование берется не иначе как с ломом в руках.
За это сообщение сказали спасибо [3]: rGlory, dozen, dinozaur

260. dozen, 27.08.2009 20:36
ivanhoe

Напишите, пожалуйста, свой пример когда ТЗ было одно, потом чуть-чуть поменялось, и что, соответственно, пришлось менять в коде.

В какой-то теме ВР этот вопрос уже задавался, по-моему. Кажется, ответ был вполне в духе ВР "таких идиотов-заказчиков не обслуживаем!". Или это был вывод из прискорбного состояния фирмы "2 бита"?

261. Denis_03, 28.08.2009 03:43
К слову о C(++):
цитата:
  • All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use.
  • All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces.

262. Vladimir Rybinkin, 28.08.2009 09:29
Никак не могу после этих "землеройных" работ взяться за тест. А уж 4-й тест - это тебе СОВСЕМ не 3-й. Затеял инициализацию объектов под управлением классов, а куда ж с такими мозгами? Да и приболел еще... Ладно, не скулить!

Уф! Шаблоны инициализируются правильно. В них наверняка полно ошибок, но это уже СОВСЕМ другой вопрос.

Классы... Так, началось: класс по умолчанию не инициализируется. А ведь правильно: и не должен, зараза. И рыбку съесть... Чо делать бум? А, хрен с ним - все равно ничего интересного там нет - самого исполнителя обучим. Имя класса... шаблонов страниц еще нет - потерпят... на пустые поля массив-таки заводится - так и надо - не объекты, чай... неужто все правильно?! Упс! А "Ремонт" откедова взялся?! А, это он уже начал страницу генерить. Нет уж, фигушки - сперва кошмарики с объектами...

Переменные в продаже заканчиваются... Во, снова заскулил (на выдачу протокола). Чо ж с Витькиным-то компом будет при инициализации? Вдруг 5.5 уже КАЧЕСТВЕННО отличается от 5.0? Погоди, родной, ты еще не так взвоешь - это пока только СТАРЫЙ Борей! Мы тебя не Access вшивый изображать сюда привели, не надейся. Мы тебе еще ребрышек в этот граф подсыплем - мало не покажется!

Класс поймали, таперича попробуем тип поля выудить. Голова распухает со сташной скоростью. Но что забавно - ошибка пока что была только один раз: не найден объект морды (я тогда запретил инициализацию объектов вообще, так что не очень-то и ошибка).

Ах..ренеть! Я уже ваще ниче не соображаю, а эта паскуда спокойно отличает атомарные поля от полей-массивов, ссылки от обычных данных... Это я еще терпел. Но когда она меня за руку схватила за "класса нет!" (того самого, отмененного, "по умолчанию"), я не вытерпел. Хотел выложить 4-й тест, раз уж пошла такая пьянка, но... запугал тут rGlory предстоящими ночными кошмарами, панимашь. Мож, с утречка чего и получится, но сейчас - у койку!

Ну, рискнем с утречка... Да ужжж... Тут и с утра без бутылки не разберешься! ID класса правильный... Больше НУ НИ ХРЕНА не понимаю! Откуда он эту тройку выковыривает? Тьфу! Подумаешь, на одну единицу ошибся в индексе... Ау, Ваня! Массивы тоже использовать низзя? Там ведь индексы имеются - замаскированные указатели - втерлись, гады, в доверие! Неужто указатели страшнее, например, такого:
код:

u.Z[u.Z[u.Z[u.Z[i][5]][3]][3]][2]

Это еще ничего - это еще работает! Хоть и заглушка, пока шаблоны классов не подключил (это вычисляется в какой стране компания расположена). А вообще - долой массивы, долой указатели - даешь более прогрессивные конструкции! Ура, товарищи!


ЙЙЙЕЕЕССС!!! Морда, конечно, потерялась, но не ругается - честно выводит "undefined". То-то шуму будет, если ЭТО выложить, и Витька расскажет, что творится: мучительная пауза, и... жирный undefined по центру (H2). Самая трудная часть позади: теперь он будет ПОКАЗЫВАТЬ все ошибки! Хоть и "шаг вперед - два шага назад", но добрались-таки и до генерации страницы...

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

Возврат на морду - через заголовок (иногда через промежуточный узел - короче, пока не перестанет кликаться). Почти везде выводится одно поле (не слово, а поле - даже у Employees), но у Persons - два (имя, фамилия), а у городов и продуктов - тоже два, но ИЗ РАЗНЫХ УЗЛОВ (субграф) - страна и категория. Короче, если кто "что-нибудь в чем-нибудь понимает" - потенциальную мощь уже должон увидать. Ту, которая ни Access, ни даже rGlory в евойных кошмарных снах и не снилась. Кто не понимает - скажет, что Access тоже так умеет. А он так УЖЕ не умеет - это только выглядит похоже (иногда). И Oracle не умеет, и вся ихняя поганая реляция. Так что... усех замочим, господа! Бегите скорее по помойкам компы собирать, пока еще не поздно!

Как бы еще повыпендриваться? Ну, кинем на морду количество внуков... ну, категориям пришпилим Description, продуктам - производителя... козе баян, попу гармонь... Так, в чем дело?! А, у некоторых компаний и адресов-то нет... а у тех где есть, не индекс города, а индекс почтового индекса "взят за основу" ... что-то я снова поплыл - работает правильно, а по моим расчетам - не должна... а, понятно... заголовки у таблиц - подождут... Employees пущай тоже свои данные со всей базы собирают - шоб они подавились... фильтры бы еще какие хитрые поставить... Ау, народ! Кто там чего в Excel соображает - чего там ему не хватает? Помню, собирает в свою выпадающую менюшку всякую хрень из столбца...

Впрочем, что это я страницей увлекся? Мне ж инструмент надо подсобрать, подшлифовать, ребрышек подкинуть... Тогда и покажем такое кино, которое вы в жизни не видели. Своими глазами посмотрите, какие базы данных рекомендуют бедным юзерам создавать мелкомягкие "учителя". Мне и самому интересно, хоть я уже всего насмотрелся. Так что - перерыв, поиграйтесь пока с тем, что есть.

Ну, хто там смелый? Собирайте любые свои либы в кучу, прогрессивные конструкции... Я вас усех одной левой... одним eval урою! Столько лет заниматься клиентом, и... А ну, выходи трое на одного! Эй, Ваня - вместе бум эту шоблу метелить али как?

К сообщению приложены файлы: 1.rar, 19Кb

263. SERGEY_BIG, 28.08.2009 10:16
Проверено - у меня не работает. При открытии файла index.htm наблюдается:

Firefox 3.5.2 - гордая надпись Loading....,
IE 6.0.2900.2180 - выдаёт сообщение об ошибке "Строка 2. Символ 933. Разрешение отклонено."

264. zzf, 28.08.2009 11:12
Ну что-ж, теперь очередь за Витькой. Ждём-с.

Добавление от 28.08.2009 11:25:

Vladimir Rybinkin
Переменные в продаже заканчиваются...

Буквы все исчерпал, милок?
По секрету тебе скажу, что двух- (и более) буквенные идентификаторы уже открыли. Так что, дружок, ты и тут опоздал с "новой технологией", если что.

265. Gipnoss, 28.08.2009 11:57
Vladimir Rybinkin
u.Z[u.Z[u.Z[u.Z[i][5]][3]][3]][2]
Невольно начинаешь опасаться за рассудок интерпретатора

266. Chippy2003, 28.08.2009 12:06
Gipnoss
Невольно начинаешь опасаться за рассудок интерпретатора
Угу, программерский rap, вроде:
Uhn tiss uhn tiss uhn tiss baby uhn tiss uhn tiss uhn tiss
Uhn tiss uhn tiss uhn tiss baby uhn tiss uhn tiss uhn tiss

267. jooher, 28.08.2009 13:27
Gipnoss
код:
u.Z[u.Z[u.Z[u.Z[i][5]][3]][3]][2]


Невольно начинаешь опасаться за рассудок интерпретатора



Всяко лучше чем, например :
код:

m.e=eval;
Z="Z.";
m.e("u."+Z+m.e(("u."+Z+m.e("u."+Z+m.e("i"))[5])[3])[3])[2];

что было бы вполне в духе ВР.

Vladimir Rybinkin
Вижу, Мастер таки снизошол до квадратных скобок. И конешно же, для великого гения не секрет, что в яваскрипте индекс не обязан быть intом, и вместо

код:

r="parent.";
eval(r+j+"=new Object");
eval("e._="+r+"__");
eval("m."+j+"="+r+j);

не вдаваясь в подробности, зачем это вообще там нужно
можно писать
код:

r=parent;
r[j]=new Object;
e._=r.__;
m[j]=r[j];

конешно, это будет уже не так Гениально (с большой буквы Г), но зато понятней плебеям и дебилам, считающим себя программистами. Аминь. И да услышит глас мой Мастер (с большой буквы М) снова.

268. Витька, 28.08.2009 16:01
Ох. Извиняюсь за много букв. Больше не буду. Не смогу.

Vladimir Rybinkin
Во-первых, здрассьте!

Спасибо. Вам тоже здоровья.


Во-вторых, не первый раз уж мне приходится Витьку благодарить.

Первый раз было, это когда с Вас просили исходники коми, а я заметил, что для конкорда они есть?


им бы хоть с ПЕРВЫМ, "не отягощенным" тестом вначале как-то разобраться!

Кстати, про первый. Он наверное самый простой, и с него стоит начинать разбираться?

Opera на него говорит такое:
код:
 JavaScript - file://localhost/D:/Exc/11/a.h
Event thread: load
Error:
name: EvalError
message: Illegal use of eval
stacktrace: ... Line 1 of linked script file://localhost/D:/Exc/11/b.j: In function _
function _(){var i,j,k="bcdem";for(i=0;i<k.length;i++){j=k.charAt(i);eval(r+j+"=new Object");eval(j+"="+r+j);}m.e=eval;m.e("e._="+r+"__");k="afijklos_";for(i=0;i<k.length;i++){j=k.charAt(i);m.e("m."+j+"="+r+j);}m.i(m,"A",alert,"c",document.close,"w",document.write);m.i(d,"D"," ","S"," ","R",m.a());d.R[0]=1;d.R[1]=0;m.i(e,"q","","i",0,"s",m.a(),"l",m.a());e.s[0]=m.a();e.s[1]=m.a();e.l[0]=e.l[1]=0;m._(A);}
Line 1 of function script
_();
...

А если заменить m.e на eval, то такое:
код:
JavaScript - file://localhost/D:/Exc/11/2/a.h
Event thread: load
Error:
name: ReferenceError
message: Statement on line 1: Undefined variable: B
Backtrace:
Line 1 of eval script
m.i(c.p,"c",B,"w",H)
Line 1 of linked script file://localhost/D:/Exc/11/2/a.j: In function __
function __(){var i,j;for(;;){if(!e.q.length){if(e.i){e.i=0;e.q=e.s[e.i][e.l[e.i]];continue;}if(!e.l[e.i])if(!e.i)break;e.s[0].length--;e.q=e.s[e.i][--e.l[e.i]];continue;}j='';i=m.j(e.q);e.q=m.k(e.q,i.length);if(!i.length){e.s[e.i][e.l[e.i]]=m.s(e.q,1,e.q.length);e.i=d.R[e.i];e.q=e.s[e.i][e.l[e.i]];continue;}switch(i){case "c":break;case "Q":m.w('"');continue;case "q":m.w("'");continue;case "t":i=m.f(e.q,',');j=m.s(e.q,0,i++);e.q=m.s(e.q,i,e.q.length);i=m.j(e.q);e.q=m.k(e.q,i.length);e.s[1][e.l[1]]=eval(i);e.s[0][e.l[0]]=e.q;e.q=e.s[0][++e.l[0]]=eval(j);continue;case "_":i=m.j(e.q);e.q=m.k(e.q,i.length);e.s[0][e.l[0]]=e.q;e.q=e.s[0][++e.l[0]]=eval(i);continue;default:j=m.j(e.q);e.q=m.k(e.q,j.length);}eval("m."+i+"("+j+")");}}
Line 1 of linked script file://localhost/D:/Exc/11/2/a.j: In function _
function _(s){if(e.q.length)eval("e.s[0][e.l[0]++]");e.q=s;if(!e.l[0])e._();}
Line 1 of linked script file://localhost/D:/Exc/11/2/b.j: In function _
function _(){var i,j,k="bcdem";for(i=0;i<k.length;i++){j=k.charAt(i);eval(r+j+"=new Object");eval(j+"="+r+j);}m.e=eval;eval("e._="+r+"__");k="afijklos_";for(i=0;i<k.length;i++){j=k.charAt(i);eval("m."+j+"="+r+j);}m.i(m,"A",alert,"c",document.close,"w",document.write);m.i(d,"D"," ","S"," ","R",m.a());d.R[0]=1;d.R[1]=0;m.i(e,"q","","i",0,"s",m.a(),"l",m.a());e.s[0]=m.a();e.s[1]=m.a();e.l[0]=e.l[1]=0;m._(A);}
Line 1 of function script
_();
...
stacktrace: ... Line 1 of linked script file://localhost/D:/Exc/11/2/a.j: In function __
function __(){var i,j;for(;;){if(!e.q.length){if(e.i){e.i=0;e.q=e.s[e.i][e.l[e.i]];continue;}if(!e.l[e.i])if(!e.i)break;e.s[0].length--;e.q=e.s[e.i][--e.l[e.i]];continue;}j='';i=m.j(e.q);e.q=m.k(e.q,i.length);if(!i.length){e.s[e.i][e.l[e.i]]=m.s(e.q,1,e.q.length);e.i=d.R[e.i];e.q=e.s[e.i][e.l[e.i]];continue;}switch(i){case "c":break;case "Q":m.w('"');continue;case "q":m.w("'");continue;case "t":i=m.f(e.q,',');j=m.s(e.q,0,i++);e.q=m.s(e.q,i,e.q.length);i=m.j(e.q);e.q=m.k(e.q,i.length);e.s[1][e.l[1]]=eval(i);e.s[0][e.l[0]]=e.q;e.q=e.s[0][++e.l[0]]=eval(j);continue;case "_":i=m.j(e.q);e.q=m.k(e.q,i.length);e.s[0][e.l[0]]=e.q;e.q=e.s[0][++e.l[0]]=eval(i);continue;default:j=m.j(e.q);e.q=m.k(e.q,j.length);}eval("m."+i+"("+j+")");}}
Line 1 of linked script file://localhost/D:/Exc/11/2/a.j: In function _
function _(s){if(e.q.length)eval("e.s[0][e.l[0]++]");e.q=s;if(!e.l[0])e._();}
Line 1 of linked script file://localhost/D:/Exc/11/2/b.j: In function _
function _(){var i,j,k="bcdem";for(i=0;i<k.length;i++){j=k.charAt(i);eval(r+j+"=new Object");eval(j+"="+r+j);}m.e=eval;eval("e._="+r+"__");k="afijklos_";for(i=0;i<k.length;i++){j=k.charAt(i);eval("m."+j+"="+r+j);}m.i(m,"A",alert,"c",document.close,"w",document.write);m.i(d,"D"," ","S"," ","R",m.a());d.R[0]=1;d.R[1]=0;m.i(e,"q","","i",0,"s",m.a(),"l",m.a());e.s[0]=m.a();e.s[1]=m.a();e.l[0]=e.l[1]=0;m._(A);}
Line 1 of function script
_();
...

А на экране "Loading..."


"модернизированный" (см. аттач) - теперь лучше?

Это конечно гораздо лучше. Есть логика, нажимать на синее. Но ещё курсор мыши при наведении не тот.
Плюс, иногда говорит (в строке статуса) "ошибка на странице", и умирает.


В-пятых, третий тест (в отличие от четвертого) действительно кое-какой поиск по "базе" осуществляет при генерации страницы,

Зато в четвёртом, галочка ставится за долю секунды, а в третьем за три секунды. Чтобы поставить все 10 галочек, надо полминуты. Это я и назвал ужасным тормозом.
В «тест третий, "модернизированный" (см. аттач)"» они ставятся на 11% быстрее, но всё равно, медленно.


у тебя что, еще хуже, чем мой (который у родителей) PII-266/192M RAM, да еще с работающим "комми"?!

Нет. Это у меня самый лучший, под Win98. Правда памяти всего 128M, но зато K6-2 и частота больше: 267,272,320.00(30) Hz, и ничего лишнего.
Худший из подходящих у меня 486, но там я не пробовал.

Кстати - а ну, изложи-ка последнюю диагностику первого теста!

Картинка: MB - 193x117, 3,4Kb
По идее, там должно быть "ЩА КОМУ-ТО ПОНАЖИМАЮ!!!", но с кодировкой что-то не то.


zzf
интерпретировать 'a.h' kak веб-страницу,

Это не надо делать. Там есть index.htm.


loyolla
И виноделы не вино делают, а ДЕНЬГИ ЗАРАБАТЫВАЮТ.

Говорят, что самое лучшее вино, они именно делают. Для себя.


Чем выше профессионализм водителя …

Есть такое “экстремальное вождение”. Наверняка, там в основном любители, но не профессионалы (поскольку очень редко за такое умение добавляют зарплату). Даёт оно возможность избежать аварии там, где большинство профи не справляются. Я уж молчу про 99.99% электриков. Профи надо деньги зарабатывать, а не “глупостями” всякими заниматься. Новое им узнавать и создавать недосуг, тем более в узком направлении, когда прибыль неочевидна.


Пуще огня мы боимся Вашей свежей мысли. Постольку Ваши мысли свежими назвать сложно.

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


Вот этот вот Ваш новый проект. Вот он для чего?

Не хотел бы отвечать за VR, но мне кажется, что одной из привлекательных сторон его проекта является генерация кода программы для непосредственного исполнения по данным в БД и запросам простого конечного пользователя. Если это довести до ума, то открываются невиданные до селе возможности в плане эффективности и надёжности работы вычислительных систем, за счёт устранения прослойки в виде программистов, и замены её специалистами в прикладных направлениях, причём не в виде прослойки, а отдельно сбоку, в виде удобных и развивающихся сервисов. Я имею ввиду, что компьютеры для работы и услуг, специалисты исключительно для развития, а программистам тут места нет. Программы должны писать сами программы, но не люди.
Конечно, это всё не ново, поскольку тривиально. Распространено использование шаблонов и оптимизаций. Но серьёзной генерации кода (конечно не имеет значения, интерпретируемого или исполняемого), исключительно на основе данных и запросов, вроде пока ни у кого нет.
Я сам, лет 16 назад, на XT (ха, сменил работу, а заодно компьютер, вместо современного 486DХ получил правец, но и такому был рад) делал программу, которая по данным и формулам составляла другую программу, запускала компилятор и получаемый исполняемый файл, потом результат, и всё это за доли секунды. Потом были программы, которые генерировали из данных – данные и формулы для первой программы.
До сих пор пользуюсь, только переписал под WIN32, и добавил математики, например интервальную арифметику, для контроля ошибок округления. Ещё у меня была программа, которая в зависимости от данных генерила оптимальный код для микроконтроллера (уже без компилятора), грузила его по USB и запускала, обеспечивая функционирование спектрометра с максимально возможными, на имеющемся оборудовании, характерстиками. Вручную, я бы там просто умер. Одних, упрощённых формул, влияющих на код, на несколько страниц. Но, это было по необходимости (за деньги), и выглядит сейчас жутким убожеством, как многие другие поделки профи. У меня не использовались БД (тупиковый вариант) и сеть.


Одним словом, у VR я вижу преимущества, и мне кажется его работа интересной и перспективной.

Добавлю комплимент. Интересно Вы loyolla пишете, без намёков, экивоков, и недосказанностей. Поэтому, интересно Вам отвечать, и Вас комментировать. Впрочем, практически во всём я с Вами согласен.


Vladimir Rybinkin
Чо ж с Витькиным-то компом будет при инициализации?

Всего 32 секунды. Остальное, секунд по 2-5. Зато галочек нет.
Хотя есть ошибки. Например если кликнуть на отправитель, потом опять, появляются фирмы, вместо основного меню. Впрочем Вы про это сказали: "иногда через промежуточный узел".

Добавление от 28.08.2009 16:23:

Хочу добавить, что главным недостатком работы мне кажется то, что пока это всё выглядит слишком сложным. Так не должно быть. Всё гениальное – просто!

К сообщению приложены файлы: 1.gif, 193x117, 3Кb

269. ivanhoe, 28.08.2009 16:28
Раз уж тут стали ударяться в литературные отступления, расскажу и про свои ассоциации.

Лет 20-25 назад, будучи школьником, читал фантастический рассказ. В журнале то ли "Наука и жизнь", то ли "Вокруг света".

Сюжет рассказа такой:

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

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

Наконец наступает развязка. Сама ЭВМ уже не выдерживает и вступает в диалог с Программистом, пытаясь объяснить ему что ее программировать совсем необязательно и как много она всего может, каких разнообразных задач, какие ей доступны базы данных и пр. На что программист ей отвечает что не твое это собачье дело лезть в мои указатели и переменные, тебе дали программу, ты ее и выполняй...

Как-то так. Чем закончилось, не помню, но непротив, кстати, перечитать.

270. Витька, 28.08.2009 16:42
ivanhoe
не твое это собачье дело лезть в мои указатели и переменные

Да. Для сравнительно простых и редких задач есть простые и трудоёмкие методы. Но сложных, и многочисленных задач так не решить. Увы. Необходима всё большая автоматизация.
Возможности человека сильно ограничены.

Кстати, про Катер и Екатиренбург. Один мой одноклассник, из понаехавших туда, утверждает, что в народе Свердловск называют именно Катером, а даже не Ебургом.

271. dozen, 28.08.2009 17:19
Витька

Но серьёзной генерации кода ... исключительно на основе данных и запросов, вроде пока ни у кого нет.

На основе данных -- почему же, есть. И внешне выглядит примерно так же -- подсовываешь, скажем, базку. Оно ползает по реляциям, просекает foreign keys, и генерит СТРАШНЫЕ на вид навигацию и формы ввода.

Да что там -- недавний горячий топик, RoR -- ихняя ActiveRecord и есть по сути создание UI на основе модели данных.

На основе запросов -- сложнее, но, скажем, список популярных запросов на торрент-сайте или контрол "cloud" со списком наиболее популярных тэгов -- arguably, это код, созданный на основе запросов.

Разница с ВР в том, что всё это ЕСТЬ и РАБОТАЕТ.

272. jooher, 28.08.2009 18:54
Витька
Хочу добавить, что главным недостатком работы мне кажется то, что пока это всё выглядит слишком сложным. Так не должно быть. Всё гениальное – просто!

Главный недостаток - в стиле подачи материала, который и ведет к тому, что о серьезном отношении к нему не идет никакой речи. Вместо хотя бы попыток формулирования хотя бы чего-нибудь имеются только гигантские простыни словодроческой ахинеи, которую серьезно читать невозможно, и код: а) не работающий (в исключительных случаях - "почти" не работающий), б) нечитаемый, в) дурно написаный, г) автором вообще никак не комментируемый. При этом автор раз за разом настойчиво дает всем понять, что отстал от жизни минимум лет на 10 (и его это абсолютно устраивает), и что ничей опыт ему не нужен.

Но серьёзной генерации кода (конечно не имеет значения, интерпретируемого или исполняемого), исключительно на основе данных и запросов, вроде пока ни у кого нет.
А это возможно? И нужно?

Добавление от 28.08.2009 19:19:

dozen
На основе запросов -- сложнее, но, скажем, список популярных запросов на торрент-сайте или контрол "cloud" со списком наиболее популярных тэгов -- arguably, это код, созданный на основе запросов.

в каком смысле код, созданный на основе запросов?

SELECT TOP 100 ORDER BY accessed_count

разве нет?

273. ivanhoe, 28.08.2009 19:33
Витька

Не очень понял к чему это ты. Я вообще-то сюжет фантастического рассказа излагал. :>

цитата:
Кстати, про Катер и Екатиренбург. Один мой одноклассник, из понаехавших туда, утверждает, что в народе Свердловск называют именно Катером, а даже не Ебургом.

Возможно, но такие синонимы результаты поиска ухудшают, а не наоборот. Даже гораздо более безобидные синонимы очень часто ухудшают точность и пр. показатели качества . Вот, например, гугль считает слово "синт" синонимом "синтезатора". В результате я вместо информации по собственно СИНТ получаю кучу ненужного и совершенно мне неинтересного мусора про синтезаторы и все что с ними связано.

All

Если кому интересно, рассказ называется "Последний программист", автор Франке Герберт.

274. rGlory, 28.08.2009 20:15
ivanhoe
цитата:
Если кому интересно, рассказ называется "Последний программист", автор Франке Герберт.
Рассказа "Последний алгоритмист" у него случаем нет? А то нужно подкинуть идею.

А вообще я становлюсь популярным, ВР меня два раза в одном посте помянул, есть повод возгордиться.

Витька
цитата:
Профи надо деньги зарабатывать, а не “глупостями” всякими заниматься. Новое им узнавать и создавать недосуг, тем более в узком направлении, когда прибыль неочевидна.
Весьма спорное утверждение. Достаточно посмотреть на бюджет R&D некоторый компаний, чтобы усомниться. Кроме того довольно много профи работает на стартапы, где прибыль неочевидна практически всегда, и где создается именно новое. Еще некоторые для интереса делают проекты для себя, например под опенсорс. Правда в последнем случае, они скорее выступают в роли любителей.

275. Yak, 28.08.2009 20:46
цитата:
zzf:
Ну что-ж, теперь очередь за Витькой. Ждём-с.



Добавление от 28.08.2009 11:25:

Vladimir Rybinkin
Переменные в продаже заканчиваются...

Буквы все исчерпал, милок?
По секрету тебе скажу, что двух- (и более) буквенные идентификаторы уже открыли. Так что, дружок, ты и тут опоздал с "новой технологией", если что.
Думаю, еще не все исчерпал. Не обязательно же брать символы из базового ASCII.
2 Vladimir Rybinkin:
Отдаю задаром идею - в тэге script указываете аттрибут charset="windows-1251", например, и сразу значительно расширяете диапазон используемых символов. Сможете писать, например:
код:
m.e(m.е)

. Хинт - 'e' - это не 'е'.

P.S. Можете пойти дальше, и написать сразу уж utf-8 или utf-16, чтобы можно было лепить конструкции вида:
код:
Ǯ = Ѿ.Ҁ(ش+ﭧ)

Простор всех подобных однобуквенных идентификаторов вы нескоро исчерпаете. Правда, предупреждаю, что символы могут получиться неоднобайтные (для utf-16 точно неоднобайтные) и скрипт может вырасти в размерах, но зато идеология "один идентификатор - один символ" не будет нарушена.
За это сообщение сказали спасибо: Denis_03

276. Chippy2003, 28.08.2009 21:48
Yak
Можете пойти дальше, и написать сразу уж utf-8 или utf-16, чтобы можно было лепить конструкции вида
Точно , голосую за японский. Если даже скрипт не заработает, вполне вероятно, что получится хайку

277. dozen, 28.08.2009 21:55
jooher
в каком смысле код, созданный на основе запросов?

Как я заметил, arguably. То есть некая коррекция интерфейса согласно популярности тех или иных запросов. Не то, чтобы кодогенерация, но всё-таки.

278. jooher, 28.08.2009 23:52
Витька
одной из привлекательных сторон его проекта является генерация кода программы для непосредственного исполнения по данным в БД и запроса

я правильно понимаю - эти однобуквенные скрипты пишет не сам ВР а его СИНТ? В таком случае и смотреть нужно не их, а его ...хм... программы? описания?... для СИНТа. С комментариями построчно, а не в стиле:

Vladimir Rybinkin
Так, началось: класс по умолчанию не инициализируется. А ведь правильно: и не должен, зараза. И рыбку съесть... Чо делать бум? А, хрен с ним - все равно ничего интересного там нет - самого исполнителя обучим. Имя класса... шаблонов страниц еще нет - потерпят... на пустые поля массив-таки заводится - так и надо - не объекты, чай...

В таком случае - если будут ясны исходные концепты, в которых он формулирует задачу - качество выходного js кода уже будет не так важно (и таки можно будет спокойно переходить на иероглифы иероглифы, кстати, клевая тема в данном контексте, по крайней мере 公.算 - более содержательный идентификатор, чем m.e )

279. dozen, 29.08.2009 00:04
jooher
иероглифы, кстати, клевая тема в данном контексте, по крайней мере 公.算



а, кстати, иероглифы являются валидными идентификаторами в JS? в жабе, вроде, являются -- во-всяком случае, парсер не ругается, а компилить влом было.

280. jooher, 29.08.2009 00:22
dozen
а, кстати, иероглифы являются валидными идентификаторами в JS?

вполне.

Более того, если ВР немножко попрактикуется в китайском, то его криптопоследовательности типа "bcdem_sfko" могут преобразоваться в более-менее читаемые предложения на китайском (китайский язык вообще очень прекрасный язык - морфология отсутствует, синтаксис очень простой и жесткий - практически не допускает неоднозначностей, большинство понятий вполне можно выразить одним иероглифом... ).

281. rGlory, 29.08.2009 00:43
jooher
цитата:
Более того, если ВР немножко попрактикуется в китайском, то его криптопоследовательности типа "bcdem_sfko" могут преобразоваться в более-менее читаемые предложения на китайском
Обучить спинной мозг китайскому? Сумлеваюсь я...

282. Vladimir Rybinkin, 29.08.2009 09:54
dozen
цитата:
О! ВР набрел на идею mushup! Разрыв сокращается!
У меня диаметрально противоположное мнение: разрыв УВЕЛИЧИВАЕТСЯ. Со страшной скоростью.
цитата:
Скромен и честен.
Не-а, только скромен - там же ваще бесконечность.

zzf
цитата:
Дай файлам стандартные расширения
Это песня! Значит, современные броузеры уже и до такого дошли? Ну, хорошо: а самому слабо, что ли? dozen же четко показал, что вам НИЧЕГО не поможет.

jooher
цитата:
Собсно, пробую.
Вау! Хорошо, молчу как рыба об лед...
цитата:
насколько я понял - это главная фича Вашего, о Мастер, прорыва.
Если Вы про динамический eval - верно, иначе... см. пункт первый.
цитата:
все используемые функции и переменные называются одной буквой (гениально!)
Повторяю: броузеру - ПО БА-РА-БА-НУ! В SINT же, как я уже говорил, текст несколько ИНОЙ (и вообще "размазанный" по SINT):
Объекты виртуального класса простые переключатели
Объекты виртуального класса функции JavaScript
Объекты виртуального класса функции Perl
и т.д.
цитата:
а для пущей крутизны делаются полями какого-нибудь объекта
Попробуйте посмотреть на задачу, предположив ИНУЮ гипотезу.
цитата:
В итоге появляется изумительная возможность...
Да. Только совсем не та, о которой Вы думаете.
цитата:
применяется виртуозная стратегия "не пиши просто там, где можно написать сложно, или даже еще сложнее".
Эта гипотеза также неверна.
цитата:
Впечатляющая находка: поэлементное копирование полей (кодированных по п.1) из одного объекта в другой (а на самом деле - в тот же), а потом вместо этого "нового" объекта все равно использовать старый
Ихде это Вы выкопали? Поделитесь находкой-то!
цитата:
хотел привести этот кусок кода, но юмор там такой глубокий...
... что МНЕ его показывать ну никак нельзя - "растопчу и проглочу". Угадал?
цитата:
ориентир - глобальный объект m
А вот это - ВЕРНАЯ гипотеза.
цитата:
Конечно, квадратные скобки - удел никчемных бездарей.
Конечно. И как же сие СЛЕДУЕТ написать? В смысле, "никчемным бездарям"?
цитата:
могу ли вообще я, ничтожный, надеяться на полное постижение?
Можете. Там же НИЧЕГО сложного нет. Вы же, вроде, про опыт какой-то говорили? На худой конец - и я пока что не помер.

rGlory
цитата:
Это Вам показалось, что те ступеньки вверх.
Конечно, конечно - рази ж я спорю?
цитата:
Пожалуйста раскройте тему глубже - чем отличается профессионал от любителя.
Формально - тем, о чем Вы подумали. Фактически - квалификацией. Более того, в России термин очень редко употребляется в формальном смысле: деньги здесь зарабатывают лишь в исключительных случаях - их у нас ПОЛУЧАЮТ. Объем получаемых денег также не может служить измерительным инструментом - вспомните хотя бы иск Батурина к своей сестренке, и сопоставьте евойный уровень профессионализма с Вашим, видимым разве что в электронный микроскоп. А "второе звучание" термина "профессионал" означает "мастер". Именно в этом смысле я его и употребляю, и здесь Вы, "судя по моей классификации", ваще никто.

loyolla
М-д-а-а. Редкий случай. Обычно я читаю, и тут же отвечаю, но на половине Вашего поста вначале расхохотался в голос, затем остановился, перечитал все целиком, и задумался. ОГРОМНЫЙ (для Вас) постинг, грубые разрывы логики (даже со скидкой на "женскую")... Обида написана у Вас на лбу, и очень крупными буквами. Зря Вы это... Вы всегда были мне симпатичны, а уж на "мальчика" Вашего мне просто...

Однажды человек, ОЧЕНЬ крепко стоящий на ногах, сказал мне:
- А ты знаешь, чем богатый человек отличается от бедного?
- И чем же?
- Он не выбирает сорт пива или сигарет.
- И ВСЕ???!!!
- И все...
КОРОЛЕВСКИЙ ответ! Вот этому человеку я позавидовал белой завистью. Да и вообще, мне приходилось встречаться... не то, чтобы с магнатами... короче, сотен миллионов не было, десятки - попадались. И все эти "акулы империализма" почему-то оказывались люди как люди. Ничего они там не "достигли" - живут себе в свое удовольствие. И ДРУГОЕ доводилось видеть...

Был я на даче у одного довольно известного семейства. Бассейн, лужок, бэхи с меринами, строеньица разные, "ставенки резные, окна расписные"... Выходит на лужок будущий владелец всего этого дела, лет четырех-пяти. Подходит к бассейну, остановился. Подскакивает к нему гувернантка (или как их там) лет сорока, ставит позади стульчик, и этот п......ш "присаживается"!

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

Наговорили Вы все же довольно много... Ну, что же - знать, судьба: бить буду аккуратно, но сильно(c). Заранее обещаю прочесть свой ответ раза три и, по возможности, пригладить.
цитата:
Вот когда Вы станете таким же успешным как он, к Вашим словам будет иметь смысл прислушиваться. Ваше мнение будет интересно. Пока, насколько я понимаю, Вам до него далеко.
Передаю свои мысли: "Ух ты, как она вскинулась-то сразу! Без страха и сомнения!" Расхохотался же я, когда Вы начали укорять меня за отсутствие IMHO. Теперь - мой "старый" ответ - он очевиден: "Конечно далеко - кто же спорит? Однако, каким бы ничтожным я ни был, я все же имею право на свое собственное суждение ПО ЛЮБОМУ вопросу - не находите?"
цитата:
Это Ваши фантазии. Эротические.
Староват я для "эротических фантазий". Впрочем, тогда я был заметно моложе. Возможно. Но все-таки - откуда такая уверенность? Вы тоже там были? Заранее признаю, что Ваше мнение в данном случае гораздо весомее моего. Своими впечатлениями не поделитесь?
цитата:
Куда уж нам...
Как это "куда"? Мы ведь тоже дураки, но у нас еще и чутья нет .
цитата:
И что в этом плохого?
В том, что это НЕ ЕДИНСТВЕННЫЙ критерий. Выше, кстати, я уже отвечал. В том, что прорвавшаяся наверх всякая шваль зубами держится за место, и давит любого потенциального конкурента еще в младенческом возрасте. А вот я лично - за ЧУТКОЕ отношение к детям.
цитата:
И то и другое - обычное ремесло.
Совершенно верно. Но я все-таки различаю понятия "ремесленник" и "мастер".
цитата:
Чем выше мой профессионализм (читай производительность
Не-а! Читай КАЧЕСТВО! Производительность - просто бесплатное приложение.
цитата:
тем больше мне платят
А вот здесь зависимость, мягко говоря, нелинейная. Приходит какой-нить вкусный заказ. Толпа, так сказать, программеров немедленно съедает 90% денег и сроков, а затем находит какого-нить идиота вроде Юры Шпеера, который укладывается в ставшие уже совершенно нереальными сроки, и за совершенно неприличные гроши для работы такого уровня все и делает. Вконец запуганный многочисленными трудностями Заказчик на радостях вываливает солидную премию, из которой рубля три обязательно и Юре перепадает. Плавали, знаем. Перед самым моим уходом с той фирмы был такой случай: пришли какие-то новые "базовые элементы", ниче не работает, документация на двух языках - ну никто ничего не соображает! Посадили Юру (который, кстати сказать, ваще никаких языков не знает, кроме разве что языков программирования, да свово школьного немецкого). Ну и я с ним присел за компанию (я уже на чемоданах сидел). Проходит два дня(!), и Юра заявляет: здесь в документации ошибка, управляющая последовательность ДОЛЖНА БЫТЬ(!!!) такой... Пять тыщ рублев, как ща помню.
цитата:
Пуще огня мы боимся Вашей свежей мысли.
Чушь! Своими глазами видел, как даже ДО ОТЦА одного из участников докопались! Лапшу, плиз, кому-нить другому. Да и... самой-то не смешно представлять меня огнедышащим драконом?
цитата:
Тут должно быть IMHO.
А оно всегда IMHO. Я НИКОГДА не боялся утверждать, что это МОЕ мнение. Верное, неверное, но МОЕ! Высказано оно уже кем-то или нет, умнный или дурак его высказал - разве в этом или в авторстве дело? Это мнение И МОЕ ТОЖЕ: я, Владимир Рыбинкин, под ним ПОДПИСЫВАЮСЬ! Иных высказанных мною фраз я НЕ ЗНАЮ.
цитата:
Если показать упоминавшемуся здесь уже питекантропу сотовый телефон...
Ага! Потому-то здесь никто ничего и не показывает. И так ли уж будет неправ питекантроп, если предположит, что показывать-то НЕЧЕГО?
цитата:
Вы начали с самостоятельного изобретения колеса
Простите, часовню тоже я развалил? Нет, милая моя! Указатели изобрел отнюдь не я. Это я по скудности средств JS eval для этого приспособил - и только.
цитата:
Но не надо выдавать Ford-T который вот-вот появится за Мерседес 2010 года.
Дык ПО МОРДЕ МНЕ, ПО МОРДЕ! Шоб не высовывался! Где Вы Мерседес-то увидели? Этот ж МАШИНА! Она ж ЕЗДИТЬ должна. А этот... даже eval несчастный переехать не в состоянии. В каком сарае делали это "Мерседес"? Мне не шашечки, меня вполне устроит какой-нить Срамадас - лишь бы ездить умел.
цитата:
Для того, что бы тыкать пальцем в мегатонные доки, надо, как минимум, знать, что там написано.
Трогательная наивность!
цитата:
В областях, которые находятся вне моей компетенции
Ха-ха-ха! Если бы хоть один заикнулся про СВОЮ "компетенцию" - слова бы не сказал!
цитата:
Верное или нет - это другой вопрос.
Во! Золотые слова!
цитата:
Не очень понятно. О каком классе идет речь? Что такое "либать"?
М-м-м... Не хочу ввязываться в дискуссию ПО ЭТОМУ вопросу. Считайте, что я этого не говорил: просто сначала "юзали", затем перестали - Ok?
цитата:
Не могли бы Вы привести пример такого демарша?
Не хочу. Их было много. Замеченный мною "рекордсмен" не продержался и 10 минут.
цитата:
Вот этот вот Ваш новый проект. Вот он для чего?
Господи, ну за что?! Я уже многократно ОТВЕЧАЛ на эти вопросы. Чуть ли не ВСЕ мои ветки за ВСЕ годы. Несколько раз отвечал В ЭТОЙ ветке конкретно по ЭТОЙ теме. Но сейчас - уж извините - не буду! Любому, кроме Вас, ответил бы куда жестче.
цитата:
Потому что Вы вообще не знаете что существует на сегодняшний день.
Да где уж нам уж... Кстати, как там IMHO поживает?
цитата:
И, я подозреваю, Вы хотите, что бы участники форума Вам это обьяснили.
А зачем "подозревать"? Прочтите хотя бы первый пост ветки.
цитата:
Вы ее не удосужились даже сформулировать верно
Серьезно? Я здесь и так формулирую, и эдак - а некоторые, оказываются, ЗНАЮТ, как формулируется "верно"? И при этом молчат, как партизаны? Ну-ну, молчите...
цитата:
Вы, типа, тут разберитесь, и мне скажите, стоит это чего-то или нет. Тоже метод.
Ага, тоже метод. Приписать оппоненту... ладно, замнем.
цитата:
Самому думать, читать лень - пусть кто-то это за меня сделает.
Это Вы про участников ветки? А то у меня периодически сомнения возникают: а прочли ли они хоть название?
цитата:
Тут на форуме зимой и весной (во времена сессий в институтах), всегда увеличивается активность таких же умных...
Это Вы время перепутали. Так БЫЛО когда-то, но это было давно. Сейчас же, кроме "таких же умных", никого на форуме просто не осталось. За редчайшими исключениями. А, Вы про их активность...
цитата:
Но тогда какого лешего Вы стрницу за страницей выкладываете какие-то архивы, какие-то файлы, которые ни у кого не работают?
Теперь уже с полной увернностью могу доложить: Вы ОШИБАЕТЕСЬ. Мало того: я вам и ПРИЧИНУ называл много раз!
цитата:
Вам русским языком сказали : НЕ РАБОТАЕТ.
А я что, возразил хоть раз?
цитата:
Причина в старой версии интерпретатора.
В НОВОЙ!
цитата:
Почему Вы не сделали работающую версию Вашей технологии?
Потому, что производители броузеров ВЫРЕЗАЛИ НА ФИГ все возможности юзерам пальцем пошевелить без их поганых библиотек! Потому, что мне БЛЕВАТЬ хочется от этой вони и мерзости! Потому, что даже если я и извернусь, достану левой ногой правое ухо, немедленно появится какой-нить IE-152, где и эта возможность будет аккуратно вырезана. Господи, НЕУЖТО И ЭТО НЕПОНЯТНО?!
цитата:
Что бы было понятно, что и как оно делает. Что бы люди могли разобраться?
А вот здесь я уже бессилен: туеву хучу страниц технологию описываю, тексты теперь уже в четырех экземплярах выложены. Я, повторяю, живой, и на вопросы по мере сил отвечаю. КАКОГО ЕЩЕ РОЖНА "людям" надо?!
цитата:
Сделайте так, что бы Вам было возможно помочь.
Ну и как же это делается?
цитата:
Вы хотите, что бы над Вами потешались все? У Вас здорово получается.
Потешайтесь на здоровье - оно, говорят, полезно. Я тоже смеюсь над вами не менее открыто, так что все честно. Мне как-то ndemia сделал очень дорогой подарок: высказался о моей квалификации. Так вот: одного ТОГО мнения мне по гроб жизни хватит, а вся местная толпа, положенная на другую чашу весов, даже не шелохнет стрелку. Кроме Айвенго - но и он не перевесит. А насчет баз данных... О существовании Синдбада знает, скажем, Михаил Рувимович Когаловский. Или там Сергей Дмитриевич Кузнецов. Уже эти двое ТАКИЕ МОНСТРЫ, что на всех остальных можно просто плевать. Похожими проблемами занимаются многие - например, Stuart Madnick. Но его COIN - это медиатор. Грубо говоря, AJAX. Так что я смело могу утверждать, что в базах данных разбираюсь лучше всех вас, помноженных друг на друга.

Dilon
цитата:
Вот что меня смущает больше всего. Зачем так делать?
Затем, что это - "официальный" указатель. В сложных случаях "настоящий" eval не работает. Возможно даже, что это было начало политики пеленания клиента. Прямой eval вырубили, а через указатель - не успели.

ivanhoe
цитата:
При разработке крупных сайтов...
Давайте все-таки не подменять тему этой ветки темой "генератора сайтов" - это у нас было сделано практически мгновенно, и никогда никаких проблем не вызывало. Согласитесь, что у разработчиков сайта и СУБД все же несколько РАЗНЫЕ проблемы. Мне абсолютно ПЛЕВАТЬ на все эти поисковики. Надо будет - загружу работой по уши. Здесь ВООБЩЕ НЕТ проблемы.
цитата:
То есть ваш код это все-таки выхлоп генератора?
Между прочим, размазанный по SINT код для непривычного глаза... Я уже говорил: при желании можно сделать (дня на два возни), чтобы каждому новому юзеру (или там выложенному тесту) тасовать имена переменных случайным образом: в одном "a" - это alert, в другом - функция начальной инициализации, в третьем - строка методов генерации страницы, в четвертом - локальная переменная. Или пронумеровать все a1, a2, ... a12345. То-то jooher порадуется, а то он, видать, решил, что это я специально, "чтобы всякие дебилы и недоучки не лезли в код". Как же! Заняться мне больше нечем. Где-то в архиве валялась моя "персональная" ветка. Там был текст одной функции. И множество комментариев - скажем, того же Maxim Kizub. А здеся... смех один!
цитата:
Остается, правда, факт, что работает он только у избранных.
И озвучена причина этого факта.
цитата:
и Вы "наш" современный жаргон учить не хотите
За это, ваще-то, полагается в челюсть (я ПРЕКРАСНО понял все, что Вы мне говорили - по крайней мере, я так ДУМАЮ!). Но, для хорошего вечера...
цитата:
как и спроецировать его на денотационную семантику
Гхм! См. выше.
цитата:
Давайте попробуем по-другому. В настоящий момент признаком правильного проектирования является умение проектировать программу так чтобы как можно безболезненнее приспосабливать ее к постоянно меняющемуся (как сердце красавиц) тех. заданию (ТЗ).
Как-то Вы уж очень странно говорите. Стало быть, лично я всю жизнь и прожил именно в "настоящий момент". А что, и другие моменты были? Или грозят?
цитата:
Вы пропагандируете СИНТ
Боже сохрани!
цитата:
и мне, в частности, интересны его особенности и как он помогает в разработке программ в условиях постоянно меняющегося ТЗ.
Да ему вообще плевать на эти подробности! Он и создан-то был... До него я с трудом волок блока три (ТКПА модулей БЦВМ, иногда со своими процессорами), после - совершенно свободно 5-6, затрачивая не более 1-2 часов в день на все это барахло (чтобы заняться Синдбадом). Это ПОТОМ уже я узнал, что как раз для Синдбада он не только удобен, но и жизненно необходим.
цитата:
Напишите, пожалуйста, свой пример когда ТЗ было одно, потом чуть-чуть поменялось, и что, соответственно, пришлось менять в коде.
Да приводил я уже... И как студент вчерашний написал за неделю две очень приличные программы (возможно, работают и сейчас), ВООБЩЕ НИЧЕГО не соображая в железе, для которого писал ТКПА, и как мы с Антоном параллельно (я - ядро, он - "плевок" в Инет, я - на BC31, он - на VC6) писали, имея на руках лишь список функций, который он использовал, как будто они есть, а я... Короче, нужно было видеть наши рожи, когда все пошло с первого тыка. Как я принес заказчику работающую прогу через 10 минут после "измененного ТЗ" (быстрее, чем он излагал, чего ему надобно), как я сам запускаю Синдбада, и получаю в глаз: "Эта функция еще не написана, обращайтесь к Владимиру Рыбинкину", как...
цитата:
интересно посмотреть на общую схему.
Ну, смотрите...

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

Принципы построения среды программирования неоднократно видоизменялись. Так, опыт создания диалоговых программных комплексов привел к расширенному толкованию термина "меню" (трехмерное, неоднородное, виртуальное и т.д.). Понятие метод, обычно понимаемое как функция, теперь чаще всего реализуется через данные вида группа объектов, группа событий, переключатели. По сути, большинство методов вообще не требуют операторного программирования, а иногда даже перетрансляции кода, если они вынесены во внешние файлы (templates, databases).

Первая же попытка реализации оказалась очень удачной, и инструментарий SINT практически сразу стал использоваться для создания буквально всего программного обеспечения нашей компании. Основной причиной такого решения явилась, пожалуй, концепция единого пространства текстов, которая позволяет максимально использовать наработки, выполненные ранее в других проектах. Уже сам факт регистрации в системе новой прикладной программы автоматически снабжает ее перечнем необходимых инструментальных модулей (файловый менеджер, диспетчер памяти, преобразование типов данных, отладочные функции и т.п.). Еще одним преимуществом данного подхода явилось повышение качества алгоритмов и программ за счет более широкого тестирования модулей общего назначения на разных прикладных задачах. Эта же концепция позволяет ранее созданным программам, простой перетрансляцией их кода, "впитывать" все последующие наработки. Например, при регистрации модуля управления манипулятором "мышь" его получат сразу все "заинтересованные" программы. При регистрации в системе каждого нового транслятора (GNU, BC, MSVC, WATCOM) или операционной системы (DOS, Windows, UNIX), сохраняется возможность компиляции всех ранее разработанных модулей без какой-либо переделки их программного кода. Программы, написанные на SINT, реально работали и в среде MSDOS, и как консольные приложения WindowsXX, и в специализированных электронных блоках с собственными микропроцессорами. Все компоненты графовой СУБД "Синдбад" также были созданы в этой среде.
цитата:
А подскажите, пожалуйста, товарищи, я правда так непонятно выражаюсь?
Неправда. Вы НЕПРАВИЛЬНО выражаетесь.

dozen
цитата:
В какой-то теме ВР этот вопрос уже задавался, по-моему. Кажется, ответ был вполне в духе ВР
А по-моему (и это мне отнюдь не кажется) сэр снова лжет.

283. Gipnoss, 29.08.2009 13:48
снабжает ее перечнем необходимых инструментальных модулей (файловый менеджер, диспетчер памяти, преобразование типов данных, отладочные функции и т.п.).
А народ глупый мучается, ведь 95% усилий каждого проекта тратится на написание файловых менеджеров, диспетчеров памяти, преобразование типов данных и отладочные функции (спорю, что имеются ввиду не юнит-тесты).

284. zzf, 29.08.2009 14:08
Витька
> zzf
> интерпретировать 'a.h' kak веб-страницу,

Это не надо делать. Там есть index.htm.


Ну понятно, что я открываю index.htm
Только он потом открывает содержимое a.h со всеми потрохами, а не интерпретирует его как html. И в Опере и в ИЕ. А если переименовать в 'h.htm' и подправить имя в скрипте, то показывает "Loading..."
Что я делаю не так?

Добавление от 29.08.2009 14:23:

Vladimir Rybinkin
Был я на даче у одного довольно известного семейства. Бассейн, лужок, бэхи с меринами, строеньица разные, "ставенки резные, окна расписные"...

пиццу развозил?


Значит, современные броузеры уже и до такого дошли?

Не "дошли", а просто перестали пататься показать кривые недоподелки.

А то у меня периодически сомнения возникают: а прочли ли они хоть название?

А у меня даже не возникает сомнения, что ВР забыл название ветки сразу же после её создания.

Добавление от 29.08.2009 14:25:

Vladimir Rybinkin
Ну, хорошо: а самому слабо, что ли?

Самому что-то переименовывать в генерируемых недоподелках? Счаз! Один раз попробовал — из любопытства. Больше даже и пытаться не интересно.

285. Vladimir Rybinkin, 29.08.2009 16:37
SERGEY_BIG
цитата:
IE 6.0.2900.2180 - выдаёт сообщение об ошибке "Строка 2. Символ 933. Разрешение отклонено."
А файл-то какой? Впрочем, что нам... только b.j и возможен. Ну, это уже прогресс! m.i, да еще с параметрами вида m.a() - благополучно прошел, а вот m._(A) - не пустили. Соображает! Там уже инициализация пойдет, там не хухры-мухры!

zzf
цитата:
Буквы все исчерпал, милок?
Нет, почему? Это всего-лишь выделенная порция под локальные переменные. Не проблема, не волнуйтесь. Насчет секрета я в курсе, спасибо.

jooher
цитата:
Всяко лучше чем, например :
Конечно. Первое - работает, второе - нет. Для подобных случаев я когда-то анти-eval набросал, но пока что не требовалось.
цитата:
что было бы вполне в духе ВР.
Нет, о "духе ВР" у Вас пока слишком смутные представления.
цитата:
Вижу, Мастер таки снизошол до квадратных скобок.
Как-то долго Вы разглядываете. Уже в первом тесте он до них снизошел аж 43 раза.
цитата:
И конешно же, для великого гения не секрет, что в яваскрипте индекс не обязан быть intом
Не секрет. Не секрет даже, что никакого "intа" там вообще нет.
цитата:
не вдаваясь в подробности, зачем это вообще там нужно можно писать...
Не вдаваясь в подробности - бесспорно, можно. А "вдаваясь" - увидим, что "r" - это локальная переменная, а "e" и "m" - глобальные объекты на FRAMESET. Возможно, это и в самом деле будет "понятней плебеям и дебилам, считающим себя программистами", но работать уж точно не будет. Даже у меня.

Витька
цитата:
Первый раз было, это когда с Вас просили исходники коми, а я заметил, что для конкорда они есть?
Да я уж и не помню. Помню только свою фразу: "Спасибо Витьке - он не только [чего-то там], но и [чего-то там]".
цитата:
Он наверное самый простой, и с него стоит начинать разбираться?
Естественно! А что, третий работает, а первый - нет?!
цитата:
Opera на него говорит такое:
О чем я и говорил: Illegal use of eval. А если заменить m.e на eval, то такое: идут поисковые работы, как эту хрень обнаружить, и отрубить.
цитата:
Undefined variable: B
Ясный пень! Она ж самая маленькая: B='Qw"#"Q' - рази разглядишь? var A вона какая здоровенная! Ну, тексты функций я и сам как-нить узнаю. А вот чего ей от меня надо - что-то не разберу.
цитата:
А на экране "Loading..."
... что в переводе означает: "Тихо! Идет инициализация".
цитата:
Но ещё курсор мыши при наведении не тот.
Да я попробовал было подсунуть ему CSS, а он как полезет куда-то, сам не зная куда по ссылке! И плачется потом: "Невозможно отобразить страницу". Как будто для кого-либо, кроме этого идиота, это новость.
цитата:
Плюс, иногда говорит (в строке статуса) "ошибка на странице", и умирает.
О! На КАКОЙ? Вдруг и у меня умирает? Страниц-то там видимо-невидимо.
цитата:
Зато в четвёртом, галочка ставится за долю секунды, а в третьем за три секунды.
ЧЕГО?! А откуда в четвертом галочки-то взялись?
цитата:
Чтобы поставить все 10 галочек, надо полминуты. Это я и назвал ужасным тормозом.
А, это понятно. Это не он виноват - это я. Я на каждый чих поставил генерацию страницы, посему на 10 галочек идет 10 генераций, 10 поисков...
цитата:
В <тест третий, "модернизированный" (см. аттач)"> они ставятся на 11% быстрее, но всё равно, медленно.
Во дела! Клянусь, "модернизация" заключалась лишь в дополнительном выводе FONT COLOR - по идее, еще дольше должен работать.
цитата:
Это у меня самый лучший, под Win98.
Вполне, вполне. Впрочем, наскоко я понял, и работает вполне терпимо.
цитата:
Худший из подходящих у меня 486, но там я не пробовал.
А у меня их даже и не осталось. Дети еще в школе "сборочно-разборочными" работами занимались, пока все на свалку не перекочевало.
цитата:
По идее, там должно быть "ЩА КОМУ-ТО ПОНАЖИМАЮ!!!", но с кодировкой что-то не то.
Угу, это alert после прорисовки страницы в трех палитрах, и перед финальным Bye. А чо, нормальная кодировка - 1251...
цитата:
Это не надо делать. Там есть index.htm.
Как оказалось, этого мало! Еще и расширение соответствующее предподнести барину треба.
цитата:
Есть такое "экстремальное вождение".
Во-во! Профессионалов среди водителей еще меньше, чем среди программистов (в процентах, конечно). Шеф мой любил развлекаться. Идем по МКАДу в левой полосе на евойной "восьмере", никого не трогаем. Сзади - "крутой" с дальним светом на навороченном джипе. Шеф дорогу уступает, ныряет в правые ряды - и снова "налево". Я справа сижу, гляжу в зеркало: "Смотри-ка, мигать перестал". А он в ответ: "А все перестают, когда третий раз перед собой одну и ту же ж..у видят". И настоящего крутого видел: идет в той же левой полосе, метрах в двухстах за нами, четко выдерживая "сотку", солидная "бэха", а за ней джип - видать, с охраной. Так вот: при довольно плотном МКАДе, примерно за 10 километров (пока они не свернули) НИ ОДНА ПОГАНЬ не посмела в тот промежуток втиснуться (и за ними, кстати, приличное "пустое пространство" было)! Вот это я понимаю: крутизна! Это тебе не "мигалка" сраная, за которой немедленно целая свора пристраивается. И еще: что-то меня на разговоры понесло - извиняюсь, принял маленько. вылетела у нас как-то четвертая скорость (на копейке). Хозяин (муж сестры, профессиональный водила) говорит мне: "Проедь немного - не могу, засыпаю". Ну, сел. Еду где-то 55-60 км/ч, впереди - "населенный пункт". Подскакивают ко мне два жигуленка - притормозили, ессно - как бы чего не вышло. Вижу в зеркало: летят два джипа: бэха и "Пахеро". А тут ведь уже ТРОЕ "делом заняты"! Пристроились... А уж этих-то кто обгонять посмеет? "Населенный пункт" заканчивается, вижу - нервничают. И - пулей штук пятнадцать мимо просвистели. Толик в это время спал - я ему потом рассказал - так он прям до Твери смеялся.
цитата:
мне кажется, что одной из привлекательных сторон...
Нет, это мелочь. Впрочем, "одной из" - несомненно.
цитата:
Если это довести до ума, то открываются невиданные до селе возможности...
Согласен полностью! Мне и самому страшно.
цитата:
Программы должны писать сами программы, но не люди.
Ваще-то, не согласен. То, что здесь считается "программами" - несомненно. А вот то, что пишет тот же Юра, или Фаниль, или Андрей... Чтой-то не верится!
цитата:
Распространено использование шаблонов и оптимизаций.
Оптимизаций лично я просто боюсь. Комплекс, конечно - извиняюсь.
цитата:
Но серьёзной генерации кода (конечно не имеет значения, интерпретируемого или исполняемого), исключительно на основе данных и запросов, вроде пока ни у кого нет.
Черт побери! Так хочется застучать кулаком по груди... Согласен полностью!
цитата:
До сих пор пользуюсь, только переписал под WIN32
Именно! Кто там... Ваня, что ли, чо-то возражал? Так, стоп! Идиотам разным хвалить кого-либо противопоказано...
цитата:
У меня не использовались БД (тупиковый вариант) и сеть.
Прювет, "антипод"!
цитата:
Одним словом, у VR я вижу преимущества, и мне кажется его работа интересной и перспективной.
Ну, все - я полностью очарован. Ненавижу трусость вообще, и свою собственную - в частности.
цитата:
Впрочем, практически во всём я с Вами согласен.
В принципе, я тоже. За исключением последнего постинга.
цитата:
Всего 32 секунды.
Нормально! Инициализация 4-го теста - это ж "Зеленое Чудовише"! Десять тысяч одних курь... массивов!
цитата:
Зато галочек нет.
Слава те, Господи! Подумал, крыша поехала от алкоголя.
цитата:
Хотя есть ошибки.
Нет, ЭТО - правильно.
цитата:
Хочу добавить, что главным недостатком работы мне кажется то, что пока это всё выглядит слишком сложным.
Один в один! Для того ветку и завел.
цитата:
К сообщению приложены файлы: 1.gif
А, черт! А я все в .TXT, как обычно...

ivanhoe
цитата:
Раз уж тут стали ударяться в литературные отступления, расскажу и про свои ассоциации.
Детский лепет. Говорю, как специалист по ИИ (Вы меня понимаете - "Извилины" имею в виду).
цитата:
Точно помню что были Fortran и Pascal
О! Это же Я, Я, Я! Или Юра (хотя бы Ягупов) - кому ж еще помнить?
цитата:
Окружающие не понимают Программиста
Ну это уж точно я!
цитата:
Сама ЭВМ уже не выдерживает и вступает в диалог с Программистом, пытаясь объяснить ему что ее программировать совсем необязательно и как много она всего может, каких разнообразных задач, какие ей доступны базы данных и пр.
Не понял?! Хто это написал?! Хто подсматривал?!
цитата:
На что программист ей отвечает что не твое это собачье дело лезть в мои указатели и переменные, тебе дали программу, ты ее и выполняй...
Ну, это уже домыслы... Чайник писал, нет правды жизни...
цитата:
Чем закончилось, не помню
Рассказываю: ничем. Автор и сам не знает - иначе бы запомнил.

Витька
цитата:
Но сложных, и многочисленных задач так не решить.
цитата:
Кстати, про Катер и Екатиренбург.
Мне - понравилось!

dozen
цитата:
Оно ползает по реляциям...
Во-во. Дальше можно не читать.
цитата:
На основе запросов -- сложнее
Что тебе, милай, знать о сложности?
цитата:
Разница с ВР в том, что всё это ЕСТЬ и РАБОТАЕТ.
Естественно! Если еще И ЭТО не работает...

jooher
цитата:
Главный недостаток - в стиле подачи материала.
Какая же умница Николай! Я бы и не заметил всей гениальности своей фразы: "Количество информации ПОЛНОСТЬЮ определяется ПРИЕМНИКОМ".
цитата:
Вместо хотя бы попыток формулирования хотя бы чего-нибудь
Ну, уж если даже наличие ПОПЫТОК отрицается...
цитата:
автором вообще никак не комментируемый.
А вот за это - уж точно в глаз! Что именно господину хорошему непонятно?
цитата:
автор раз за разом настойчиво дает всем понять, что отстал от жизни минимум лет на 10 (и его это абсолютно устраивает), и что ничей опыт ему не нужен.
Ни малейших возражений! В то время (и меня это до сих пор "абсолютно устраивает") хоть что-то все-таки работало...
цитата:
А это возможно? И нужно?
Т-а-а-к... Все ранее заявленное про некий "опыт" - в топку!

ivanhoe
цитата:
Возможно, но такие синонимы результаты поиска ухудшают
Ха-ха-ха! По полноте?
цитата:
и пр. показатели качества
Во-во, я как раз про "и пр.".
цитата:
Вот, например, гугль считает слово "синт" синонимом "синтезатора".
Браво! А с виду умным казался. Я, кажется, начинаю понимать Сегаловича... Объясняю: SINT - это древняя шутка: SINT = Shpeer INTernational.

rGlory
цитата:
А вообще я становлюсь популярным, ВР меня два раза в одном посте помянул, есть повод возгордиться.
Однако! А мне казалось - вообще не обращаю внимания...
цитата:
Весьма спорное утверждение. Достаточно посмотреть на бюджет R&D некоторый компаний, чтобы усомниться.
Неужто?! И какое же отношение R&D имеет к "новому"?

Виктор Вихрев (доктор по какому-то из видов термояда, он же наш главный конкурент, тоже чемпион России, и "не тоже" - Союза) как-то рассказывал:

Кентавр же не переборная программа - это же не...

опустим - речь про Миража, а дело было под хорошую выпивку и закуску - всего не упомнишь

Я и решил: попробую-ка я его применить, чтобы определить, какие из работ нужно в НИР, какие - в ОКР, какие - на свалку...

А рассказчик "Викторыч" совершенно потрясающий. И ваще, у него аура... Приезжаем мы с ним в Мадрид, подходит какое-то "официальное лицо":
- Откуда?
- Из России.
- О! Ха-ра-шо! Вы - откуда (к нему)?
- Институт ядерных исследований.
- [хватаясь за голову] А Вы (ко мне)?
- А я - средства доставки.

Чо-то меня совсем понесло... Извиняюсь, заканчиваю:

Ну буквально все наоборот! Я в полном ауте: я, вроде, не дурак, программа подсказывает вполне логично. Но ведь те, кто принимает решения, уж точно не дураки - я же их знаю! И вдруг меня осенило! Даю цель: "НЕ ДАЙ БОГ, термояд будет создан! И... все их решения мой "Кентавр" тут же немедленно одобрил.


Вопросы - есть?

Yak
цитата:
Отдаю задаром идею
Спасибо, родной! Единственное, в чем никогда, с самого глубокого детства, не испытывал недостатка - так это как раз в них, родимых. И сам раздавал направо и налево - не помогает.
цитата:
Хинт - 'e' - это не 'е'.
Не, для меня это слишком круто: на m.e мой добросовестно выводит: "function eval() { [native code] }". А вот как токо увидит "m.e(m.е)" - сразу крыша слетает: даже приличную диагностику выдать не в силах.
цитата:
Можете пойти дальше, и написать сразу уж utf-8 или utf-16
Да ходил я...

Собрал я как-то всяких разных ресурсов от DMOZ в кучу, и говорю Синдбаду: "Глянь, чо там за хрень - мож, отрубрицирушь чего? Считай, что пробел - это ограничитель слов (на всякий случай - я просто понятия не имею, чо там творится)". Через некоторое время докладывает: все в порядке, шеф - отрубрицировал. Я глянул - мама дорогая! Иероглифы какие-то, между ними вязь арабская переливается (или персидская - кто их разберет). Броузер иногда поругивается - греческий, дескать, ему подавай... Красиво! Но совершенно непонятно. В общем, если прищуриться - китайский от японского отличается. А вот китайский от старокитайского я так и не сумел. Короче, грохнул: хрен его знает, чо он там натворил - я ж и американского-то языка толком не знаю. А жаль - в ваших броузерах это должно бы было отобразиться.
цитата:
зато идеология "один идентификатор - один символ" не будет нарушена.
Это не идеология, генератору ж ведь тоже по барабану...

jooher
цитата:
В таком случае и смотреть нужно не их, а его ...хм... программы?
Нет уж - это и в самом деле опасно!
цитата:
В таком случае - если будут ясны исходные концепты...
Был когда-то такой фантастический рассказ (в "Антологии", что ли)... Там дьявол говорит главному герою: "Знаете, Фенвик, Вы дурак..." Я, собссно, о чем - подробные пояснения - там, в рассказе.
цитата:
Более того, если ВР немножко попрактикуется в китайском
Нет, спасибо. Хоть и нравилась мне до ужаса китаяночка Пенг Цзао Кин, но общались мы с ней все же на английском...
цитата:
то его криптопоследовательности типа "bcdem_sfko"
Ну, батенька! Если Вы уж НА ЭТОМ подсели... То уж "bcdemu" и "afijklosz_" 4-го теста... Лучше остановитесь - это ведь еще даже и не начало...

286. dozen, 29.08.2009 17:44

Vladimir Rybinkin
SINT = Shpeer INTernational
А... так и SINT, оказывается, не ты написал... ну, в общем, ожидаемо.

287. ivanhoe, 29.08.2009 18:44
Vladimir Rybinkin

цитата:

цитата:
Напишите, пожалуйста, свой пример когда ТЗ было одно, потом чуть-чуть поменялось, и что, соответственно, пришлось менять в коде.
Да приводил я уже...
А можно мне еще раз, а то я читаю форум не так чтобы уж сильно регулярно. Меня больше интересует природа изменения в ТЗ и конкретные изменения в коде.

цитата:
цитата:
Возможно, но такие синонимы результаты поиска ухудшают
Ха-ха-ха! По полноте?
По полноте, конечно же, не ухудшают, но без точности полнота бессмысленна. Синоним "катер" у слова "екатеринбург" ухудшит точность очень сильно, даже если этот город действительно называют "катером". Желающие могут легко проверить: набрать в гугле слово "катер" и посмотреть сколько процентов результатов содержат слово "катер" в значении не плавсредства, а жаргонного названия города.

цитата:
Объясняю: SINT - это древняя шутка: SINT = Shpeer INTernational.
А может, кстати, сюда самого Ю.Шпеера как-то пригласить? Чтобы, так сказать, приоткрыл нам завесы тайны функционирования СИНТ?

288. Partisan, 29.08.2009 18:53

dozen
А... так и SINT, оказывается, не ты написал...
Он, он. Юрий Шпеер - мифологический персонаж, как дед с мешком и подобные.

289. ivanhoe, 29.08.2009 19:14
Partisan

Юрий Шпеер личность существующая, даже фотография есть https://chessprogramming.wikispaces.com/Yuri+Shpeer (стоит опершись на стол, справа от В.Рыбинкина)

290. SERGEY_BIG, 30.08.2009 01:23
Vladimir Rybinkin
А файл-то какой? Впрочем, что нам... только b.j и возможен. Ну, это уже прогресс! m.i, да еще с параметрами вида m.a() - благополучно прошел, а вот m._(A) - не пустили. Соображает! Там уже инициализация пойдет, там не хухры-мухры!

Напомнило бессмертное:

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

– Милай! – закричал он. – Что же это, а? Кель сетуасьен! Стелла, что же ты, эта, смотришь!.. Где селедка? У него же потребности!.. У него же они растут!.. Мои труды читать надо!
Он приблизился к кадавру, и кадавр сейчас же принялся жадно его обнюхивать. Выбегалло отдал ему зипун.
– Потребности надо удовлетворять! – говорил он, торопливо щелкая переключателями на пульте конвейера. – Почему сразу не дала? Ох уж эти ле фам, ле фам!.. Кто сказал, что сломан? И не сломан вовсе, а заговорен. Чтоб, значить, не всякому пользоваться, потому что, эта, потребности у всех, а селедка – для модели..."
За это сообщение сказали спасибо: rGlory

291. dozen, 30.08.2009 01:53
All

А вот то, что пишет тот же Юра, или Фаниль, или Андрей...

У пОциэнта заметен прогрессирующий комплекс неполноценности -- он нуждается в опоре на сторонние мнения. Причем если в ранние серии таковая опора требовалась только иногда, а персонажи ограничивались в основном Шпеером, то в этой серии число "единомышленников" ВР демонстрирует взрывной рост, да и частота упоминания растёт очень быстро.

Притягиваются за уши люди, которые, возможно, знакомы с ВР на уровне "формально представлен на конференции", но ВР представляет дело так, что он для них -- авторитет и уважаемый человек. А ndemia, наверное, уже двадцать раз пожалел, что когда-то за что-то похвалил ВР, потому что теперь ВР его именем обосновывает свою современную ахинею.

Что у трезвого на уме -- то у пьяного на языке, и ВР немедленно транслирует свою мечту: "крутые -- они на джипах с охраной".

Тем временем останки компании 2бита продолжают рассыпаться. Как упоминалось, упала гостевая. Поднять некому и незачем.

Осень.

292. rGlory, 30.08.2009 09:43
SERGEY_BIG
Класс, весьма похоже

Добавление от 30.08.2009 09:53:

Vladimir Rybinkin

цитата:
Неужто?! И какое же отношение R&D имеет к "новому"?
Владимир, я конечно понимаю, что свой лубрикатор Вы еще доделать не удосужились, а пользоваться конкуретном (надеюсь гугл не обидется, что я их конкурентом ВР назвал?) считаете ниже своего достоинства, но нельзя же быть таким дремучим - http://en.wikipedia.org/wiki/Research_and_development

Кто нибудь понял тот поток сознания про кентавра, термояд, копейку, восьмерку (шеф, все пропало! клиент снимает гипс!), новых русских на лужайке и их же на джипах с охраной? Это что было?

293. lvqcl, 30.08.2009 12:03
rGlory
Это что было?

Мне больше понравилось следующее:

Оптимизаций лично я просто боюсь.

Так, стоп! Идиотам разным хвалить кого-либо противопоказано...

294. jooher, 30.08.2009 12:55
rGlory
Кто нибудь понял тот поток сознания про кентавра ... Это что было?

Расслабьтесь и получайте удовольствие

Добавление от 30.08.2009 13:01:

ivanhoe
Юрий Шпеер личность существующая, даже фотография есть

В таком случае, возможно, и СИНТ тоже существует не только во внутреннем мире ВР. Я правда гуглом не смог найти...

295. Partisan, 30.08.2009 13:48

jooher
Юрий Шпеер личность существующая, даже фотография есть

В таком случае, возможно, и СИНТ тоже существует.

Статья в Википедии ещё не доказательство, т.к. её автором может быть сам V.R. Поместил её правда некий GerdIsenberg (судя по немецкой роже, это не V.R.), но посмотрев на его профиль, видим, что он обычно редактирует статьи, и лишь изредка является автором. Сл., статья наверно не его. Литературный стиль статьи специфический - V.R. и Yuri Speer названы авторами шахматных программ Dragon и Mirage, однако приведённые ссылки на них никуда не ведут.

296. штышпре, 30.08.2009 16:05
SERGEY_BIG
Попадание. Любопытно, а сам ВР с творчеством Стругацких знаком? :>
lvqcl
Мне больше понравилось следующее:
А мне вот это:
>>В общем, если прищуриться - китайский от японского отличается.
В целом, захватывающее своей фееричностью чтение. Бунт нейронов, бессмысленный и беспощадный. Даже закралась мысль сохранить для потомков. Если походить-пособирать по темам, можно надёргать целую книжку мозгоразрывных цитат, ведь и материала, и средств доставки :] хватает. Ну ВР конечно в этом деле ас. Книжку озаглавить наподобие 'Отель "У погибшего алгоритмиста". Страшные сказки для взрослых.'

297. rGlory, 30.08.2009 21:05
jooher
цитата:
Расслабьтесь и получайте удовольствие
Да я пытаюсь. Однако одного расслабления уже мало, пооже чтобы получать удовольствие уже нужны более сильнодействующие препараты.

Partisan
цитата:
Литературный стиль статьи специфический - V.R. и Yuri Speer названы авторами шахматных программ Dragon и Mirage, однако приведённые ссылки на них никуда не ведут.
Несовсем так, VR и Yuri Speer названы соавторами Mirage, а вот в Dragon VR уже не числится, только Юрий. Владимир, чтоже это, неужели Юрию больше не нужен был хороший алгоритмист, что он новую программу написал сам? Причем эта новая программа покрыла ваш общий мираж как бык овцу. Видать отсутвие хорошего алгоритмиста пошло только на пользу?

298. SanRemo, 30.08.2009 23:14
Вы тут все про Ajax и прочие прелести современных web технологий 19 страниц нафлудили, сказка прямо наступила. Однако, действительность сурова и мрачна. Вот что выдает один популярный сайтик в 21 нановеке

К сообщению приложены файлы: 1.png, 659x237, 21Кb

299. jooher, 31.08.2009 00:54
А никто не в курсе, символа галки в UTF неужели нет?

300. arsa, 31.08.2009 01:18

301. lvqcl, 31.08.2009 01:20
Есть ещё heavy check mark (U+2714).
✓ ✔

302. Vladimir Rybinkin, 31.08.2009 09:26
Продолжим...

По сути, осталось разобраться с шаблонами (в смысле, генерить страницы под их управлением) - и все: можно наваливать ребер, чо-то фильтровать, чо-то считать... Ну, хорошо - даже и редактировать. Как мне тут спина подсказывает, больше к инициализации всерьез возвращаться не придется. Впрочем, с шаблонами тоже будет "не легкий бой, а тяжелая битва"...

Черт побери! Мне сейчас нужны как раз ПОЛЬЗОВАТЕЛИ, чтобы подсказали, к какой странице (точнее, типу страниц) что прикрутить, поправить... А кроме Витьки никто и увидеть-то ни хрена не могет из своих "тонированных Мерседесов". Они ж у нас крутые, они ж у нас "себя уважают" - помним, как же... Ждите, господа! Мелкомягкие вам стекла обязательно помоют. Когда рак на горе свистнет. А свистит он обычно по четвергам, после дождичка.

Шаблончики страниц обещают у нас быть довольно-таки тяжеленькими. Да и без них вопросов больше, чем ответов. Во-первых, будут ли "настоящие" фреймы (типа корзины в магазине, шоб туда наваливать чего-нить из базы можно было). Что-то не просматриваются - разве что поиск по базе залудить, и результаты поиска туда вываливать. Впрочем, особого смысла не вижу - проще спецстраницей оформить, как и настройки разные для юзера - пущай играется (галочки разные ставит, как в третьем тесте ). Меню, опять же, может висеть постоянно перед глазами - очевидный фрейм. Служба истории посещений для покраски VLINK и нормального "вперед-назад" - эту ж придурь все равно не вылечишь... Тогда юзеру можно дать еще игрушку: меню слева, справа, сверху, снизу, спрятать. И палитру шоб редактировал, внешний вид таблиц (бордер есть али нет, чередовать фон строк в шахматном порядке или не стоит). И ваще, выдавать таблицей или там списком выпадающим - короче, лапши много можно навешать, юзерам это даже нравится - принимают участие в дизайне, панимашь! Да шоб можно было свои настройки сохранить, получать автоматом после авторизации, разрешить их публикацию (похвастаться перед другими) - да мало ли! Конкурс какой-нить на лучшее оформление страниц - страница для новичков, для профессионалов, по автомобильной тематике, по медицинской, да еще с данными - кому чего удалось наковырять... Да и Синдбаду занятие: "Вот интересное расположение элементов, вот неожиданное сочетание цветов"... Во программистов-то разведется! Ну, до такой степени "вломить всей этой шобле" я, ессно, не планировал. Чувствую, прирежет меня скоро кто-нибудь... Но здесь от меня пользы, как с козла молока - не люблю я этих финтифлюшек. Ладно, не горит - разболтался я снова - просто неохота к шаблонам притрагиваться. Это ж ведь специалисты должны делать - юзабилити там всякое, структура, навигация - правда, Ваня?

Опыт Синдбада подсказывает, что метаданные разного вида поначалу будут расти, как на дрожжах. Не хотелось бы - стар я стал, и лен... нет, ленив я был всегда. Траекторный доступ уже есть, а чего еще надо? Страница у нас кроилась всегда по серверным шаблонам, и это разумно. Но теперь у нас еще один "закройщик" появился, с "официальным" названием AJAX, и теперь шаблонами страниц должен распоряжаться именно он, подкачивая их при необходимости с сервера или даже из MDB (базы метаданных). И это тоже разумно. Стало быть в тесте - деваться некуда - вынь да положь в u.X. А это уже язык... К тому же, "принципиально неполноценный", потому как на клиенте его компилить никто даже и не почешется.

Просто до отвращения - не моя это зона, не моя! Но как же вас, паразитов, на разговор-то раскрутить?! Ладно, с траекторными шаблонами разберемся - там по идее все должно быть прозрачно - и пошло оно все на...! А толку! Ведь даже Витька изменений никаких не увидит! Разве что из текста исчезнут всякие [[][][]]] - jooher, небось, подумает, что облегчение наступило. Как же! Там-то настоящий кошмар как раз и начнется.

Как же тут все перевязано! Спецификация треба. И систематизация уровней метеданных. Кажется "этой шобле" тоже работы хватит (хватило бы, кабы она хоть малехо работать умела). И как эта стерва во всем этом не запутается? Попробовал было обмануть - закрыл генерациию ссылок для Companies - хрен там! Все Customers, Shippers, Suppliers тут же их лишились. Сам себя, короче - мозгов-то нет...

В обчем, все. Дети морды доступ получают по шаблону, остальные сделаем позже, по образу и подобию. jooher порадовать особо нечем - кода чуть меньше (более универсальный), но выглядит он ничуть не лучше: u.Z[i][u.X[u.Z[i].length-1][0]] - это я не сообразил, причем нолик там пока что заглушка, половина шаблонов от такой кастрации кое-что теряет. Как-нить потихоньку соберу демонстрашку - один хрен, никто смотреть не будет. Только dozen будет впоследствии вещать изумленной "молодежи", что уж так они хотели во всем этом разобраться, из кожи вон лезли, но "все их попытки с презрением отвергались Мастером".

303. jooher, 31.08.2009 15:04
Vladimir Rybinkin
Тогда юзеру можно дать еще игрушку: меню слева, справа, сверху, снизу, спрятать. И палитру шоб редактировал, внешний вид таблиц (бордер есть али нет, чередовать фон строк в шахматном порядке или не стоит). И ваще, выдавать таблицей или там списком выпадающим - короче, лапши много можно навешать, юзерам это даже нравится - принимают участие в дизайне, панимашь!

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

Да, и покраска VLINK. Конешно. Как же без этого.

Добавление от 31.08.2009 15:09:

Vladimir Rybinkin
Конкурс какой-нить на лучшее оформление страниц - страница для новичков, для профессионалов, по автомобильной тематике, по медицинской, да еще с данными - кому чего удалось наковырять... Да и Синдбаду занятие: "Вот интересное расположение элементов, вот неожиданное сочетание цветов"... Во программистов-то разведется!

пардон, не удержался

304. Vladimir Rybinkin, 31.08.2009 15:23
dozen
цитата:
А... так и SINT, оказывается, не ты написал... ну, в общем, ожидаемо.
Да нет, родной, неожиданность для тебя все-таки будет: Юра лишь один раз на полчасика к SINT подсел (я там запутался при формировании дополнения по ссылкам к Синдбаду). Да когда я уволился, забрал себе блоки, которые я вел. Да и то не он, а какая-то из его тогдашних учениц. Помнится, рассказывал: у нее глаза периодически из орбит вылезали, а он их ей на место вставлял. Это просто уважение к Учителю. Хотя диплом ему рисовал именно я...

ivanhoe
цитата:
А можно мне еще раз, а то я читаю форум не так чтобы уж сильно регулярно.
А я здесь что, завсегдатай? Ладно, гляну - если У МЕНЯ что-нить завалялось (по архивам форума уж точно бегать не буду)... О, нашел! Как раз тот, "десятиминутный".

Проиллюстрируем технологию программирования в событиях на примере. В уже написанной и сданной заказчику программе технологического контроля имелось два окна дампа памяти подключаемого к PC электронного блока. Памяти разного типа, разного быстродействия и даже способа адресации. Заказчик просит переопределить клавиши PgUp и PgDn "серой" клавиатуры так, чтобы они листали оба дампа одновременно, сохранив при этом возможность раздельного пролистывания "обычными" клавишами PgUp, PgDn. Какой же код для этого нужно написать? Оказывается - никакой.

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

Регистрируем объекты o_GPgDn, o_GPgUp класса группа событий и наполняем их "мясом":
I16 GPgDnSE[] = { K_PgDn, K_Tab, K_PgDn, K_Tab, 0 };
I16 GPgUpSE[] = { K_PgUp, K_Tab, K_PgUp, K_Tab, 0 };
Подключаем объекты к клавишам "серой" клавиатуры в наследуемую (общую) область обработчиков событий обоих дампов:
G_PgDn, o_GPgDn, G_PgUp, o_GPgUp,
И все. Процедура (а что же еще?) синхронного пролистывания дампов написана, и даже отлажена - ошибиться здесь практически негде: размер "модуля" ровно 28 байт. При некотором навыке весь процесс занимает 2-3 минуты. Реализация подобной задачи в стиле операторного программирования наверняка потребовала бы нескольких дней работы программиста гораздо более высокой квалификации.
цитата:
По полноте, конечно же, не ухудшают, но без точности полнота бессмысленна.
Потому-то мы на РОМИП как раз по точности оказались лучшими, а по всему остальному - в зопе.
цитата:
Синоним "катер" у слова "екатеринбург" ухудшит точность очень сильно, даже если этот город действительно называют "катером".
А это вовсе не поиск был, а рубрикация - выискивались связи между разными узлами графа, и кидались соответствующие ребрышки. Серьезный же поиск ТАКУЮ точность может дать, какая никаким "человеческим экспертам" и не снилась! В частности, отыскивать именно тот "катер", который надо. Ща... почищу малек...

The fact of existence of references to objects of other classes allows revealing logical data errors. In above example... if to define in this class bidirectional hierarchical relation between City and Street attributes... DBMS could warn the user by message like: "Rbson street not exist in Vancouver".

The problem is, however that the revealed discrepancy of data... data of attribute Provider has strongly differing class names of related data both from each other (Company and Person) and from attribute name, i.e. there exists the data mismatch, but of course, it isn't data error.

The data having same semantic sense can be not only presented in a DB by different data types, but also to change the type after operation of editing or restructuring of a DB, and user usually knows nothing about it at all. In foregoing example the same semantic entity Address simultaneously has textual, relational and hierarchical data type in various nodes, but these distinctions don't hamper to data access by uniform way. Moreover, DBMS can detect too that they represent same object, as...

At equal entrance forms for users, processing of graph class Address {25} will radically differ from its relational analogue {9}.

It is possible also to define even more complex node structures: the whole relation (SET of CLASS) or three-dimensional cube (SET of SET of SET of IDN). Such plural nodes provide an interesting opportunity to address directly to node itself with user inquiry.

Keyword search is made as usual procedure upon inverted lists. Though almost all data in above DB example are well structured, this method is quite efficient owing to possibility to use just the same structural correlations between objects. Let's consider the following query of unskilled user: "find all about John Smith from Vancouver". As he is familiar with Web search engines, he formulated the inquiry as "John Smith Address Vancouver". DBMS is able... Thus, we identified the object and can notify: Person (Last Name Smith, First Name John, Address (Country Canada, City Vancouver, Street Robson, House 5, Flat UNKNOWN), Sex UNKNOWN). The same result is possible to receive by using of SQL-like language - for its creation it isn't necessary to know DB scheme - only attributes' and/or classes' names. It is possible also to use navigation expressions like: SELECT FROM Person WHERE First Name=John AND Last Name=Smith AND Address.City=Vancouver. To fulfill this inquiry is even simpler for DBMS than in previous case... Of course, it is easy to combine both methods, as part of "keywords" may be represented as SQL-queries.

The problem is that in reality user hoped to receive all accessible information on askable object (though he did not formulate his hope at all). There exist such information in database, but it is so poorly connected with this object, that we even cannot formulate the inquiry to standard RDBMS for its reception... These hidden metadata allow DBMS inform user that John Smith (the inverted arc from {46.1}) is Employee {43.0} of Alpha {41.1} Company {46.2}, and he works {43.3} as a roofer {51.3} for his company {51.1} and also renders consulting service {52.3} for Omega {42.1} Company {52.1}.
цитата:
А может, кстати, сюда самого Ю.Шпеера как-то пригласить?
Тыщу раз приглашал - не любит он болтовни. И болтунов, кстати - наверняка врезал бы тут кое-кому куда похлеще меня (он, как бывший боксер, бьет наповал). А "завесы тайны функционирования СИНТ" он и сам не знает.
цитата:
Юрий Шпеер личность существующая, даже фотография есть
Спасибо, у меня такой нет.

SERGEY_BIG
цитата:
Напомнило бессмертное:
Да кто бы сомневался? О чем же еще вам, господа, здесь можно разговоривать? Очередное собрание любителей творчества Стругацких и специалистов по компьютерным шахматам? Чо-то давненько заседаний не проводили - распустились, панимашь!

dozen
цитата:
то в этой серии число "единомышленников"...
Еще одно железное дерево. Это просто элитные программисты, и по работе (тем более этой) я с ними практически не пересекался. Знакомы, с знакомы - с Фанилем мы даже несколько лет в одной комнате в общаге прожили. Авторитетов для них вообще нет - любой из них вполне способен к самостоятельной оценке чего-либо. Хотя кому я все это говорю! Смотрите, молодежь, смотрите - вот он, уровень нынешних экспертов! В программировании они ни в зуб ногой, и "поддерживают" свое реноме такими вот способами.
цитата:
Что у трезвого на уме -- то у пьяного на языке, и ВР немедленно транслирует свою мечту: "крутые -- они на джипах с охраной".
Ну что тут скажешь? Ну, ИДИОТ!
цитата:
Поднять некому и незачем.
Именно так.

rGlory
цитата:
но нельзя же быть таким дремучим
Нельзя. R&D в переводе на русский НИР&ОКР. Впрочем, я и не надеялся - это я главным образом Витьке писал.

штышпре
цитата:
Любопытно, а сам ВР с творчеством Стругацких знаком?
Прекрасно! Уже писал как-то: на "Понедельник" я нарвался еще лет в 7-8. Не дергайтесь - "походить-пособирать" у Вас ни терпения, ни квалификации не хватит. "Страшные сказки для взрослых" совсем другие. Повзрослеете - поймете (возможно).

rGlory
цитата:
Владимир, чтоже это, неужели Юрию больше не нужен был хороший алгоритмист, что он новую программу написал сам?
Нет. Dragon - экспериментальная программа: один из вариантов организации перебора у Миража (неудачный, кстати, как и Матадор - была и такая версия). Да и писал его главным образом я - Юра больше готовил "настоящий" Мираж.
цитата:
Причем эта новая программа покрыла ваш общий мираж как бык овцу.
Присмотритесь, лапочка: это был ДРУГОЙ Dragon, и "заведывал" им не я, и не Юра, а Леша Маняхин. Это был Кентавр с Миражом "внутре" - совместная разработка под эгидой Chess Assistant. Кентавр же ВООБЩЕ вариантов не перебирал, ну и попадал иногда под горячую руку - тому же Миражу. Впрочем, не помню - возможно, и в самом деле один из Миражей навалял другому. Обычное дело... И насчет авторов - представьте: в одном турнире, у одних и тех же авторов, участвуют СРАЗУ ДВЕ программы. Явно неприличное поведение - и никому не объяснишь, что программы-таки РАЗНЫЕ. Здесь же - все нормально: Вы, по крайней мере, купились. А организаторы были в курсе.

SanRemo
цитата:
Однако, действительность сурова и мрачна.
А с какой радости она будет иной? Авторы AJAX до сих пор ДАЖЕ НЕ ПОНИМАЮТ, что это за зверь, и что с ним делать.

jooher
Я так понимаю, сказки про некий "опыт" окончательно закончились?

All
Продолжим...

А, черт! Нарвались: шаблоны доступа - это же отнюдь не шаблоны выдачи. Печально... Как же малой кровью обойтись - Синдбада же сюда совать не будешь - кусается, зараза! И еще напасть: самые простые объекты на самых сложных страницах - как тут "от простого к сложному" двигаться?

Интересно, а для кого я "Loading" писал? Чего не выводишь-то? Стесняешься?

Батюшки! И у меня локальную переменную в упор не видит! Да вот же она, прям перед носом лежит, в самом начале функции! Але, Ваня! Это так нонче оптимизация проходит? В тексте переменная есть, а в исполняемом коде... Ой, уписаюсь! Закинул содержимое этой переменной при инициализации куда-то на морду, так переменную c.Fuck она тут же разглядела! Глянь, Витюха (токо по новым ссылкам особо не бегай - все в полуразобранном состоянии): если давануть на "Advanced" - она ее и выводит. Сложная такая переменная - аж жуть берет! Обхохочешься! Программеры, блин! Чо ж они в Мерседесах-то наворотили? Да, "по просьбам трудящихся" прямое ребро на морду с любой страницы тоже завел...

Шо ты делать бушь! Опять файл забыл прицепить...

К сообщению приложены файлы: 1.rar, 19Кb

305. dozen, 31.08.2009 15:42
Vladimir Rybinkin
Да нет, родной, неожиданность для тебя все-таки будет: Юра лишь один раз на полчасика к SINT подсел

Чего ж это он так, без энтузиазма? Не понравилось, что ль?

Добавление от 31.08.2009 15:53:

Авторы AJAX до сих пор ДАЖЕ НЕ ПОНИМАЮТ, что это за зверь, и что с ним делать.

И кто персонально, интересно узнать, "авторы" AJAX?

306. jooher, 31.08.2009 17:16
Vladimir Rybinkin
Я так понимаю, сказки про некий "опыт" окончательно закончились?

Речь шла о попытке адаптации старого js к новым движкам, а не о расшифровке нечитаемой криптополабуды и раскрутке магических взаимосвязей какая буква что делает, в частности куда и когда должно писаться
код:

<script language="Qw"JavaScript"Qw" src="Qw"i.j"Qw" type="Qw"text/JavaScript"Qw">

307. Partisan, 31.08.2009 20:06

Юрий Шпеер опять не предъявлен. Это и понятно, потому что он по-видимому не гигант программирования, а самый обыкновеный эльф (12 уровня) из клана "Призраки леса".


Авторы AJAX до сих пор ДАЖЕ НЕ ПОНИМАЮТ, что это за зверь, и что с ним делать
Однако, кто изучил, тот спокойно использует AJAX. Это умение уже широко распространено, и есть много программных средств, поддерживающих AJAX. Почему бы не поизучать, вместо того чтобы ниспровергать, не зная, что это.

308. rGlory, 01.09.2009 06:31
Vladimir Rybinkin
цитата:
Нет. Dragon - экспериментальная программа: один из вариантов организации перебора у Миража (неудачный, кстати, как и Матадор - была и такая версия).
Ну да неудачный. В 1995 Dragon занял 21 место, а уж "настоящий" Мираж 28 - http://www.grappa.univ-lille3.fr/icga/tournament.php?id=56

цитата:
Да и писал его главным образом я - Юра больше готовил "настоящий" Мираж.
Ну да именно поэтому у Миража написаны два соавтора - ВР и Юрий, а у Dragon только Юрий. Врете небось?

цитата:
Присмотритесь, лапочка: это был ДРУГОЙ Dragon, и "заведывал" им не я, и не Юра, а Леша Маняхин. Это был Кентавр с Миражом "внутре" - совместная разработка под эгидой Chess Assistant.
Смешались в кучу кони, люди...
Лапочка, я то как раз смотрю, Centaur-M в списке отдельно есть и занял он 22 место, и авторы там да, таки Alexey Manjakhin и Victor Vikhrev. http://www.grappa.univ-lille3.fr/icga/program.php?id=57

цитата:
Явно неприличное поведение - и никому не объяснишь, что программы-таки РАЗНЫЕ. Здесь же - все нормально: Вы, по крайней мере, купились. А организаторы были в курсе.
Бред сивой кобылы. Никто не мешал автором Dragonа вместо Юрия написать Владимира Рыбинкина, или природная скромность помешала? Так не присуща она Владимиру, скромность, чему мы могли неоднократно убедится. Так что, как там у классика: "Это опять-таки случай так называемого вранья"

309. dozen, 01.09.2009 07:15

rGlory
именно поэтому у Миража написаны два соавтора - ВР и Юрий
Точнее, Юрий и ВР. Вспоминая, что на баннере Миража имя Шпеера стоит крупно, а ВР если и есть, то незаметно и где-то снизу, думаицца, что порядок не случаен...

Никто не мешал автором Dragonа вместо Юрия написать Владимира Рыбинкина

По твоей ссылке: Last modification of Centaur uses some code units from program Mirage, which is made in Russia.

Правда, по описанию -- у них вся логика особенная, своя. Так что что они там использовали из миража -- ввод-вывод?

Но это оффтопик.

310. Vladimir Rybinkin, 01.09.2009 09:18
Витька
По поводу "гениальности": сложно - это когда заголовок есть ссылка, хрен знает куда ведущая? Пожалуй... Хорошо - "отрежем, отрежем, Мересьеву ногу"! И справками обвешаем с ног до головы: имя класса прямо в заголовок, шоб не перепутал хто ненароком. Хотя... зачем же отрезать? Пущай будет и ссылка - умный поймет. Впрочем, уговорил - "умерла, так умерла".

Кроме того, нам понадобятся две функции: достать значение поля по траекторному шаблону (на входе ID узла + ID поля шаблона, на выходе - строка со значением поля), и аналогичная хрень для имени атрибута (с системой умолчаний, до первого непустого имени атрибута или даже класса). Подробнее узнаем по ходу дела. И еще одна функция, которая будет "обувать" эту строку в соответствующую ссылку (если, конечно, она того заслуживает, то бишь если ей позволено иметь персональную страницу). Тогда шаблоны выдачи (и страничные, и краткие) можно будет оформить как обычные строки методов. А, черт - это же не SINT - там же ни REPEAT, ни RETRY... и пассивных очередей нет... Все это, конечно, не так уж и невозможно сделать, но без обсуждения ведь ТРУДНО! А эти... спецы опять в компьютерные шахматы ударились - мало я их там гонял. Да еще Стругацких по очередному кругу мусолят - "цитатник" явно невелик. Ау, Рустам! Зашел бы, что ли, собака худая! Витька! Ваня! Кончай глупостями заниматься, давай технологию обговорим!

loyolla
Кстати, вот Вам великолепная иллюстрация Вашего заблуждения: Для того, что бы тыкать пальцем в мегатонные доки, надо, как минимум, знать, что там написано. Это как раз предельный случай, когда "тычущие" в достаточной степени натасканы (нагонены, притравлены), чтобы позволить себе прямое цитирование, поскольку ИСКРЕННЕ полагают, что с предметом действительно знакомы, и даже имеют наглость важно покачивать головой: Да, да, весьма похоже - прямое попадание... или риторически вопрошать: Любопытно, а сам ВР с творчеством Стругацких знаком? При возникновении малейших сомнений в своих знаниях (вернее, в том, что они под этим термином понимают), "объем" ссылаемой литературы (то самое количество мегатонн) стремительно возрастает:
- Если бы пациент удосужился почитать "Понедельник"...
- В одном из произведений Стругацких...
- Некоторые советские фантасты...
- Я где-то читал...
- По-моему, я где-то читал...
Такое точное цитирование - исключительная редкость: уж больно эта порода труслива. Здесь же были написаны доступные их пониманию слова: "Выбегалло дурак" - прямо друг за дружкой. А вот столь же четких слов о том, что Выбегалло дурак всего лишь для Романа, Витьки, Сашки, Эдика или там Федора с Кристобалем - не написано. И тот факт, что по сравнению с подавляющей частью остального населения, и уж тем более по сравнению с цитирующими, Выбегалло отнюдь не дурак - для них тайна за семью печатями. Вот и выставляют напоказ свои зияющие пробелы в образовании. Из начальной школы:

Гляди-ка, кум, что это там за рожа?
Какие у нее ужимки, и прыжки!
Я удавилась бы с тоски
Когда бы на нее была хоть чуть похожа.

Из средней:

Приятно дерзкой эпиграммой
Взбесить оплошного врага
Приятно зреть, как он, упрямо
Склонив бодливые рога
Невольно в зеркало глядится
И узнавать себя стыдится.
Приятней, если он, друзья
Завоет сдуру: это я!

И т.д. А ведь это классика, это зона, понятная любому школьнику! Если же их "заносит" где-нить в более специальных вещах - компьютерных шахматах, например, или даже просто в программировании... Это еще смешнее, и еще омерзительнее. Вон, они даже и не стыдятся признаться, что в рассказе Вихрева, скажем, абсолютно ни хрена не поняли.

Самое простое - это, конечно, обувание: раз, два - и готово. Я просто дурею! Поругался - начала Loading выводить (чесслово - ПАЛЬЦЕМ К ТЕКСТУ НЕ ПРИКАСАЛСЯ!). Ща опять перестала. Я уж не говорю о различных "интеллектуальных" догадках относительно содержимого неопределенных (по забывчивости или заглушенных при отладке) переменных. Думаете, undefined? Я тоже так думал... Сейчас-то уже попривык, но первый раз когда увидал... Скоко ж дерьма в этом интерпретаторе! И ведь это еще из лучших - хоть что-то умеет! Доступ к телу по шаблону... это вам не мухры, и не хухры... Нет, извиняюсь, ошибочка вышла - всего-то несчастных пять операторов. Хошь сказать, и детей выведешь? Ах ты моя умница! И в ссылке могешь? Балдю я, зюленый, как ты в речку нырять умеешь! Порадовал под вечер! Срочно консервируем.

Атрибуты пока подождут, а вот большие и малые шаблоны... Их уже незачем рубать в капусту инициализатором - просто отправим на морду в юзеровский объект уже не массивом, а объектом - для разнообразия. По обычной технологии перед "молотилкой". Так, заготовили (в смысле, место расчистили ). Что еще? Неплохо бы иметь шаблон на выдачу таблицы вообще - шоб данные ему лишь пассивным потоком подавать. А вот пассивного потока у меня как раз и нет... Лана, остановка на денек-другой - пусть спина сварит, в какую сторону двигаться... Помогать же ей некому - одни только сплошные шахматисты-выбегаллоненавистники...

311. SERGEY_BIG, 01.09.2009 10:10
Vladimir Rybinkin
Владимир, уж поверьте, желания обидеть не было никакого. Тем более, что у АБС Выбегалло - отнюдь не дурак. Просто я считаю, что все эти темы рождаются юмора ради и безобидного троллизма для, поэтому продолжим цитировать (это о стиле изложения а ля "достать значение поля по траекторному шаблону"):
"Старик ввел свою собственную терминологию, которой в специальной литературе никто другой не применял. Так вот, Пиркс, движимый врожденной сметливостью, заказал в библиотеке все труды Меринуса и — нет, вовсе он их не читал — попросту перелистал и выписал сотни две мериносовских словесных уродцев.""

312. Vladimir Rybinkin, 01.09.2009 15:27
dozen
цитата:
Чего ж это он так, без энтузиазма? Не понравилось, что ль?
Не понравилось. Слишком непривычно, непонятно - будет работать али нет, да и незачем - у него же Синдбада не было, он и так разных там варкрафтов гонял, команды футбольные тренировал, этот... как его... спайс добывал. Надо же и поработать для разнообразия!
цитата:
И кто персонально, интересно узнать, "авторы" AJAX?
Вот уж по барабану! Олухи какие-нибудь. Кстати, подсказал бы им кто Processing на клиента перетащить на своей блок-схеме - забыли, небось. Ведь еще лет пять провозятся!

jooher
цитата:
Речь шла о попытке адаптации старого js к новым движкам
Ах, вона в чем дело... А "опыт", значицца, без понятия, чо там в "старом js" творицца - ему обязательно мои исходники подавай, да еще "одним архивом"... Поверьте, дорогой: простое молчание смотрится куда менее позороно, чем "жалкий лепет оправданий". Не говоря уж об откровенном признании - это просто уважение вызывает. "Криптополабуда", кстати, это простейший язык для интерпретации: всего два слова! Но для "некоторого опыта по этой теме" - оно, конечно, "магические взаимосвязи"... Между прочим, в приведенном примере вообще ОДНО такое "слово" используется.

Partisan
цитата:
Юрий Шпеер опять не предъявлен.
Да, к сожалению. Шоб роздал тут пару-тройку щелбанов всяким... шоб не слышно было зубовного скрежета прямо отсюда.
цитата:
Однако, кто изучил, тот спокойно использует AJAX.
А хрен ли там "использовать"? Там же нет ничего! Это всего лишь технологическое обеспечение APS, и ничего более.
цитата:
Почему бы не поизучать, вместо того чтобы ниспровергать, не зная, что это.
Я-то как раз ПРЕКРАСНО знаю, что это. См. выше.

rGlory
цитата:
Ну да неудачный. В 1995 Dragon занял 21 место, а уж "настоящий" Мираж 28
О! Ну, Ваше мнение для меня настолько ценно, что я, канэшна, срочно пересмотрю все свои взгляды. А, это Падеборн - я там и не был никогда, я думал - Гаага. Да, разгром полный, ажно пол-очка разница!
цитата:
Ну да именно поэтому у Миража написаны два соавтора - ВР и Юрий, а у Dragon только Юрий. Врете небось?
Господи, да конечно вру! Меня ж до сих пор корежит, что "у Dragon только Юрий"!
цитата:
Лапочка, я то как раз смотрю
Ну да, ну да. Приношу искренние извинения. Всех турниров же не упомнишь - моя вина, старею...
цитата:
Никто не мешал автором Dragonа вместо Юрия написать Владимира Рыбинкина, или природная скромность помешала?
Совершенно верно, никто не мешал. Просто нам такая идиотская проблема как-то в голову не пришла. К тому же, кто знал - вдруг здесь объявился бы не я, а Юра. И чо делать? А у нас как-то проще все получалось:

Сочтемся славою - ведь мы свои же люди!
Пускай нам общим памятником будет
Мираж, Дракон, и даже Матадор.
цитата:
Так не присуща она Владимиру, скромность, чему мы могли неоднократно убедится.
Совершенно верно. Ни в малейшей степени! Владимир еще в глубоком детстве прочитал, что "недооценка своих сил намного хуже, чем их переоценка". И поверил. Да, я полностью согласен: "Это опять-таки случай так называемого вранья". Никогда я противоположного не утверждал.

dozen
цитата:
Вспоминая, что на баннере Миража имя Шпеера стоит крупно, а ВР если и есть, то незаметно и где-то снизу, думаицца, что порядок не случаен...
Умница! Я просто поражаюсь такому полету мысли. Особенно противно, что "баннер" делал именно я - в жисть бы не подумал, что кто-то догадается. Браво!
цитата:
Правда, по описанию -- у них вся логика особенная, своя. Так что что они там использовали из миража -- ввод-вывод?
Соврешенно верно: Кентавр - УНИКАЛЬНАЯ программа! ПОТРЯСАЮЩАЯ! Среди шахматных ничего подобного никогда не было, нет и не будет. А использовал он Миража, как несложно догадаться (как же это Вы, сэр - такая феноменальная прозорливость, и тут же, следом...) для страховки от грубых ошибок, за которые любая переборная программа жестоко наказывает. Примерно так:
Кентавр: Я, пожалуй, слона на e3 сейчас передвину...
Мираж: Ну, если коня на b5 не жалко - валяй...


SERGEY_BIG
Я уже много лет ни на кого не обижаюсь. Я не против ни юмора, ни "безобидного троллизма для", но ХОТЬ ЧТО-ТО КРОМЕ должно же быть! Терминология - да: моя, Антона, Романа, ... но ведь другую откуда взять? Да, термин "шаблон" БЕЗУМНО перегружен - а что делать? Ну, хорошо, предположим: серверный - template, траекторный - pointer, структурный - structure, хранения - tag, атрибутный - class. И что, понятнее будет? А "домашнестраничный", "чужестранный", "расчетный", "базоданновый" - чего с ними делать?

All
Спина, зараза, работать не хочет - г-рит, все правильно, так и делай... Что же, поверим - она у меня нечасто ошибается...

Вначале набросаем желательный внешний вид виртуальных страниц.

Морда: навигация по группам объектов одного класса (или виртуального класса, типа Shippers). Плюс каждому ребенку число евойных детей. Пустовата страница, но больше здесь ничего и не прибавишь - у Access еще меньше информации по этому делу. При этом адреса, должности и прочая хрень даже групповых страниц не заслуживают. Столь же зияющая пустота у Countries - им даже количество детей неприлично выводить, потому как попали сюда лишь некоторые. Городам же "папу" вывести вполне допустимо. Предприятиям же, за исключением таинственных Shippers, выводим и папу, и деда. Категориям и продуктам (формат группового вывода вполне терпимый) разрешаем иметь персональные страницы. Employees я бы ваще выкинул на фиг - токо путаются под ногами. Но низзя - любимцы Access - скажут: испугался, дескать, со сложными вещами-то работать... Пущай сидят в том же формате - все равно на них в любом виде глядеть тошно. Persons... Ну, должность выведем для красоты... Персональных страниц они явно не заслуживают - у них больше просто гроша за душой нет, а зачем тогда эта страница без навигации? А, ну да - прилепим им в качестве ссылки фирму, на которой они работают. Те, которые Employees - ясный пень, на свою персональную должны укакзывать. Orders... Здесь бы не хило фильтры поставить (кстати, и на остальных фильтры по родительским столбцам). Ладно, фильтры - опосля, как и вообще заголовки таблиц.

Теперь "персоналии". Сверху, разумеется, шапка - "все о нем": Phone, Fax, Address, и все прочее, что попадется под руку в этой поганой базе. Где надо - со ссылкой куда надо. А вот дальше, собссно, и начинается то, ради чего я весь этот огород и городил: связи.

Самое простое - Order. Но и самое важное - это "информация к размышлению" для всех остальных персональных страниц. Сколько и когда какого товара куда переехало, сколько бабок отвалил каждый Customer всяким там Suppliers и Shippers (или, наоборот, оштрафовал какую падлу за срыв сроков). Рейтинги поставщиков и товаров, так и быть, считать не будем. Если задавать диапазон дат - это еще и фильтр, какие компании с какими в это время поддерживали связи, какие товары пользовались популярностью и т.д. Так что число виртуальных страниц быстренько улетает в бесконечность, а вывод их становится все более "задумчивым". Можно рисовать всякие графики состояния текущего счета, но мы этого делать не будем (разве что отдельным столбцом дадим). Для страниц товаров и категорий, таким образом, будет видна динамика востребованности (по фирмам, городам, странам, общая), а город или страна, по сути, то же обобщенное предприятие - связи с партнерами, движение товаров (категорий), состояние "кармана". Вот такое вот примерное общее "ТЗ". Что-то мне подсказывает (опять, небось, спина), что выглядеть все это дело должно НУ ОЧЕНЬ смешно. Если уж эти друзья даже с названиями компаний и с телефонами умудрились запутаться... О другом ТЗ я уже говорил: разобраться с Гуглем, чтобы юзеры знали, какие этому козлу вопросы нужно задавать для получения сколько-нибудь "релевантных" ответов.

Что скажете, господа? И скажете ли что?

313. Gipnoss, 01.09.2009 17:53
Vladimir Rybinkin
Что скажете, господа?
Что было бы весьма интересно пообщаться с господином Шпеером, уж который год ждем.
И было бы здорово, если Вы передадите ему это приглашение.

он и так разных там варкрафтов гонял, команды футбольные тренировал, этот... как его... спайс добывал.
Даже готов устроить ему партийку-другую в старкрафт

314. dozen, 01.09.2009 18:38

Gipnoss
Что было бы весьма интересно пообщаться с господином Шпеером, уж который год ждем.
но не в этой теме. поднять старую шахматную тему, если хочется.


А здесь мы ждем работоспособного решения. Да-да, работоспособного на современных, стандартных, браузерах, а не на вышедшем из употребления дырявом IE5.

315. lvqcl, 01.09.2009 19:52
Упорству VR можно только позавидовать.

К концу жизни, а точнее на склоне лет, Иеремия пережил поразительную метаморфозу. Наглухо запершись в своем подвале, из которого он убрал все до единого обломки аппаратов, и оставшись наедине с пустыми стенами, деревянной лежанкой, табуретом и старым железным рельсом, он уже никогда не покидал это убежище, или, если угодно, добровольную темницу. Кроме куска хлеба и кружки воды через небольшое дверное окошко ему передавали предметы, которые он требовал, а требовал он все эти шестнадцать лет одного и того же: молотков различного веса и формы. В общей сложности он получил их 3219 штук; когда же великое сердце остановилось, по всему подвалу сотнями валялись заржавевшие, сплющенные титаническими усилиями молотки. "Я ей покажу!", "Я ей задам жару!", "Еще чуть-чуть, и я ее порешу!" - такими, набросанными его характерным, неразборчивым почерком замечаниями пестрят эти толстые тетради, пересыпанные металлическими опилками. Кому собирался он задать жару? Кого порешить? Это пребудет тайной - противница, столь же загадочная, сколь и могущественная, не названа ни разу по имени. Видится мне, что в минуту озарения, которое нередко посещает великие души, он решил совершить на самом высоком, предельном уровне - то, что прежде пробовал сделать не столь дерзновенно. Теперь же, укрывшись в своей добровольной темнице от своры скудоумных хулителей, гордый старец через подвальную дверь вошел в историю, ибо - это моя гипотеза - схватился с самой могущественной на свете противницей: все эти шестнадцать каторжных лет его ни на минуту не оставляла мысль, что он штурмует средоточие бытия и неустанно, без колебаний, сомнений и жалости, бьет самое материю!
За это сообщение сказали спасибо: штышпре

316. Gipnoss, 01.09.2009 21:15
dozen
А здесь мы ждем работоспособного решения. Да-да, работоспособного на современных, стандартных, браузерах, а не на вышедшем из употребления дырявом IE5.
Решения чего?
Имхо не столь принципиально, на каком браузере работает решение.
Важно что именно решается, и как это делается - принцип работы, имеет он ценность сам по себе или нет.
А браузер можно уговорить плагином в конце концов.

но не в этой теме.
Если честно, не вижу конструктивных отличий тем автора друг от друга. Впрочем, если искомый персонаж появится, грех не создать/поднять соответствующую ветку.

317. dozen, 01.09.2009 21:40
Gipnoss
Решения чего?

Решения поставленной автором (перед собой) задачи. Мне задача покуда в деталях неясна, что-то вроде автогенератора навигации по сетевой базе (но причем тогда тут процессинг на клиенте?).

Имхо не столь принципиально, на каком браузере работает решение... браузер можно уговорить плагином

Для начала неплохо бы понять, имеет ли смысл "уговаривать". Ставить IE5 только для того, чтобы принять участие в дискуссии -- слишком много мороки.

318. jooher, 01.09.2009 22:42
Vladimir Rybinkin
ему обязательно мои исходники подавай, да еще "одним архивом"... Поверьте, дорогой: простое молчание смотрится куда менее позороно, чем "жалкий лепет оправданий".

Типа это я теперь сам виноват, что в твоем говне не разобрался? Криптолабуда кстати - это отнюдь не "bcdem" и не "afijklosz_", и даже не m.i(e,"q","","i",0,"s",m.a(),"l",m.a()), а весь твой код целиком. В нем возможно и стоило бы разбираться ради интереса, если бы "благодаря Витьке" не было уже известно, что это тормозное полурабочее... нечто (слово г.. уже было). Так што ты уж, дорогой, не обижайся. Поэтому тебе и предлагают выкладывать исходники - может в них что-то осмысленное можно будет увидеть.

Кстати, надо отдать тебе должное - вот уже 21 страницу ты полощешь людям мозги, так ничего вобщем-то и не представив - и от тебя до сих ждут хоть чего-нибудь. Даже вон dozen ждет работоспособного решения. Когда же, например, я тут предлагал обсудить свое решение (http://dapmx.org) обозначенной тобой темы - реально работающее, с примерами и кой-каким описанием - реакции не было почти никакой...

Добавление от 01.09.2009 22:54:

Vladimir Rybinkin
какие этому козлу вопросы нужно задавать для получения сколько-нибудь "релевантных" ответов.

ничо што я Вас цытирую?

319. штышпре, 02.09.2009 01:10
jooher
Поэтому тебе и предлагают выкладывать исходники - может в них что-то осмысленное можно будет
увидеть.

Ага, сейчас. Мастер уже сказал своё неуловимое мнение, деталями пусть другие занимаются. В
предыдущий раз выжимали алгоритм, выжали полудохлый исходник, с поведением которого было всё
более-менее ясно уже с первых предположений о замысле Мастера. Сейчас начали с черте-чего, кончится,
видимо, полным пшиком. Половину рекордной дистанции в 39 страниц уже прошли. Я только терпению
участников удивляюсь. Ну любопытно иногда поприкалываться, но всему же есть предел, да?

320. rGlory, 02.09.2009 03:39
Vladimir Rybinkin
цитата:
Что скажете, господа? И скажете ли что?
Ну ivanhoe улетел в теплые края, так чта придется, Вам, Владимир Батькович с собственной спиной советоваться. Или с тем, что ниже, разницы наверное уже не будет...

321. dozen, 02.09.2009 07:17
jooher
Когда же, например, я тут предлагал обсудить свое решение обозначенной тобой темы
каюсь, когда-то считал, что твой код трудно читать. но всё познается в сравнении. после кода ВР я готов к любому.

возможно, тебе стоит попробовать описать свой подход еще раз -- топик точно в тему.

322. Vladimir Rybinkin, 02.09.2009 09:21
Попробую-ка я еще разок объяснить технологию: по моим ощущениям, появляются какие-то надежды на конструктив - поток словесного поноса явно снижается. Агония распальцованных неучей не в счет - эти не лечатся.

All
Я хочу перетащить на клиента возможно большую часть обработки данных, необходимой для удовлетворения потребностей того самого клиента (любишь кататься - люби и саночки возить). Не какой-то вшивый AJAX, который "предохраняет" пользователя от мучительного ожидания ответов с сервера (можно подумать, нынешние юзеры ваще знают, что это такое), а полноценный медиатор - с ним, и только с ним общается человек, для которого он и есть весь Интернет - понятный, привычный, персональный, "в домашних тапочках".

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

В моем случае клиент предназначен для общения с СУБД сервера (все остальные виды общения все равно когда-нить сведутся к этому ). Итак, на клиента подается некотрая выборка из БД (для простоты - из одной). Все ссылки препарированы перед подачей на клиента в локальные, так что можно считать выборку просто самостоятельной БД, а клиента - СУБД. Грубо говоря, СУБД клиента(ов) взаимодействует с СУБД сервера(ов). Ну и...
- Тут юзер... эта... кнопку нажал...
- Скажи ему что-нибудь, пусть отвяжется.

Теперь - как организована эта самая БД. Ессно, в самых общих чертах, поскольку именно этой "организацией" я как раз и занимаюсь. Если кто знает, как устроены реляционные штучки-дрючки, лучше забудьте сразу - это знание будет только мешать.

На логическом уровне БД - граф, у которого каждый узел может иметь произвольное число ребер (точнее, дуг) на другие узлы, и произвольное число других информационных полей (в т.ч. полей-массивов, вроде нескольких телефонов). Никаких "нормальных" форм, никаких плоских таблиц - данные РЕАЛЬНЫЕ, а не погремушки от РБД! Вся эта кухня управляется метаданными (классами) - тот же субграф, но предназначенный главным образом для самой клиентской СУБД. При инициализации объекты БД из транспортного формата размалываются на атомарные элементы (узлы, поля, субполя) , т.е. переводятся в некоторое подобие "неплотного" трехмерного массива (или, если угодно, дерева) - для удобства адресации. Иными словами, доступ к узлу по ID - как к обычному элементу массива [], к полю - [][], к субполю - [][][]. То же для метаданных.

По командам юзера СУБД клиента рыщет по данным, наводя при необходимости нужные справки в субграфе метаданных, и обменивается данными с "настоящей" СУБД. Ну и юзера не забывает.

Теперь - за дело. Вначале наведем кое-какой порядок в текстах - давно не "умывались"... сделано! Ну, начнем, помолясь...

Ну вот, сразу мордой в салат: метаданные для классов "рваные", число их различное, а втискивать сюда технологию Синдбада (которой все равно, скоко там слоев метаданных) - мороз по коже! Нет уж, пока бум располагать метаданные в начале и конце класса (какая-никакая гибкость), на худой конец тег классу пришпилим (дважды уже отбивался от этой навязчивой идеи ). Ага! Нужно как-то указатель на массив 3-го измерения, как на одномерный получить. Тогда в малом шаблоне можно будет держать и формат выдачи, и все нужные траектории. Адрес мне надо, АДРЕС, джаваскриптизеры хреновы! Дело, однако, благородное - нужно хотя бы попытаться...

Так, что-то состряпали. Ну, Спаси и Сохрани! Ой, мама! Где у нас валерьянка? Это... это песня! Она... ГОСПОДИ, ОНА ЖЕ ЕЩЕ И РАБОТАЕТ!!! Но все дети (как и заголовок) выглядят, как однояйцевые близнецы, а именно:
код:

function k(s,l){if(s.charAt(l)==d.D)l++;return(m.s(s,l,s.length));}

Если "вслепую" пощелкать по ссылкам, можно добраться и до внуков, которые имеют имя класса (спасибо, Витек, надоумил!) и, поскольку имя класса выводится в обход этого замечательного произведения, выглядят чуть понятнее:
код:

Employees: function k(s,l){if(s.charAt(l)==d.D)l++;return(m.s(s,l,s.length));}

Ух ты! Легкое движение руки, и все это сменилось на "Company: Alfreds Futterkiste" и прочие привычные глазу страницы. Выглядит это дело так:
код:

return(m.g(x,m.e('u.X['+i+']['+y+']')));

А внутри m.g второй параметр считается уже одномерным массивом, и она в нем вполне успешно ковыряется. Неужто сделал?! Похоже, что да, однако потрясение слишком сильное, чтобы продолжать - давненько не брал я в руки ядра SINT, которое и не такое вытворяло. Но от сраного JS в глаз получить... Блин, и водки в доме нет... Тьфу! Стоит в баре бутылка, на ней написано "уксус", а внутре и правда уксус... коньяк с детства не переношу, да и дед тоже - года два здесь стоит... рябина... тоже кислятина... Вау! Усе, прощайте, родные, прощайте, друзья - сегодня с поганцем отмучился я!

323. trash1, 02.09.2009 16:43
Vladimir Rybinkin
предугадывая пожелания пользователя (голубая мечта этих придурков).

Почему это придурков?
Что? Раз пользователь, то значит придурок?

Добавление от 02.09.2009 17:01:

Vladimir Rybinkin
Ессно, в самых общих чертах, поскольку именно этой "организацией" я как раз и занимаюсь.
Обана! А почему не наоборот? То, чем занимаетесь - подробно, а о чём знаете только понаслышке - "в самых общих чертах"

На логическом уровне БД - граф
Не всё можно уложить в дерево. Например, если узлы и ветки динамически вычисляемы, то может не получиться!

P.S. Эх. Опять мастер наклюкался! А у меня ещё столько вопросов!!

324. Zafod B., 02.09.2009 18:36

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


Мне одному это мутное описание браузерные silverlight (например) приложения напоминает?

325. dozen, 02.09.2009 18:49
Zafod B.
Мне одному это мутное описание браузерные silverlight (например) приложения напоминает?

Да и не только silverlight. Много технологий, начиная с древних Java applets, Flash, и на современном этапе, либы типа GWT -- все позволяют писать сложную логику на клиенте.

Если ограничить себя только JS (ради минимализма или портабельности), то остается (кроме чисто JS-либ a-la jQuery) только GWT (IMHO; кто еще что знает?).

В общем, средств и тулов перенести логику на (загружаемого в браузер) клиента хватает. Я пока затрудняюсь сказать, есть ли какие-то преимущества у методов ВР, поскольку его код банально не работает на современных браузерах (а потому -- это я для ВР объясняю, он, походу, не сечет -- даже если его технологии были бы единственными и супер-пупер, то применения им не было бы, потому что приложения пишут для пользователей, а они сидят за новыми браузерами).

326. jooher, 02.09.2009 20:07
dozen
возможно, тебе стоит попробовать описать свой подход еще раз

Ок. Дубль 3. публика разогрета, может подхватит

Фреймворк dap (Data Access Pages) разработан для интерактивных веб-приложений, активно работающих с внешними данными. Проект в младенческой стадии, но в принципе все работает, и работает хорошо.

Домашняя страничка проекта http://dapmx.org (правда, там по-нерусски, зато с примерами и подробно). Немного заброшено в связи с работой над новой версией.

Основная идея dap - описание структуры документа в "функциональном" стиле (функциональном в том же смысле, что и, скажем, функциональные языки программирования - Lisp, ML). Ядром dap является язык правил построения нода из шаблона разметки (в общем случае, это совершенно не обязательно HTML) в зависимости от контекста места, в которое нод вставляется. Контекст описывается переменными состояния (статусами) и данными от источника. Таким образом, генерируемые элементы dap-документа получаются как функции от шаблона и контекста. При апдейте статусов (обычно это происходит по user event), происходит автоматическое каскадное обновление нодов, зависящих от изменившихся статусов: все зависимые ноды каскадно перестраиваются АВТОМАТИЧЕСКИ. Все зависимости отслеживаются самим dapом, никакие дополнительные телодвижения (назначение нодам уникальных idов, навешивание onclickов, сочинение функций-обработчиков событий и поиск зависимостей) - от программиста НЕ ТРЕБУЮТСЯ - вообще никакие дополнительные скрипты на странице обычно не требуются. Все происходит автоматом. Что должно обновиться - обновляется, что не должно - не трогается.

В ядре реализован базовый функционал для работы с внешними XML-данными, легко расширяемый при необходимости. Одна из важных фич, которой было уделено серьезное внимание, - расширяемость/модульность. Рекомендованный способ построения dap-приложений - организация их в набор библиотек, которые могут использоваться на разных страницах проекта или в разных проектах. Причем библиотек не скриптовых хаков, а конкретных объектов - шаблонов.

В отличие от подхода ВР (насколько я его понял) и от того же GWT, дап описывает не процесс создания элементов документа (императивное построение), а непосредственно сами элементы и зависимости между ними (функциональное описание).

Простенький пример

Взять список производителей (брендов) по адресу http://dapmx.org/samples/bazamagaza/?_=AllBrands, показать. При нажатии на бренд показывать (то есть не просто показать один раз, а обновлять список при каждом новом нажатии) список <ul> товаров этого производителя (поле display - название товара), используя запрос вида http://dapmx.org/samples/bazamagaza/?_=BestOf&brand=Yamaha, а при нажатии на товар - показывать его цену (поле price), скажем, в теге <h1>, и описание в теге <p>, а если описания нет - то так и писать: "описания нет"

код:

<div d=" $brand= $price= $base=http://dapmx.org/samples/bazamagaza/?"> //вводим переменные состояния (статусы) $brand, $price и $base
<div d="*:#dat=url $base@ @_=AllBrands"> //строим запрос(url), выполняем и парсим(#dat), и для каждой строки (*) выполняем
<span d="! brand; ui" u=" brand$"/> //пишем (!) в нод значение поля brand из текущей строки и назначаем ноду user event (ui); по этому usereventу обновляем статус $brand из одноименного поля в данных
</div>
<ul d="*:#dat=url $base@ @_=BestOf $brand"> //строим, выполняем и парсим запрос, используя статус $brand (при каждом изменении $brand этот нод будет автоматом перестраиваться)
<li d="! display; ui" u=" price$">
</ul>
<h1 d="! $price"/>
<p d="!=? $annotation :usc=описания%20нет"/> //выбираем первое непустое значение (?) и пишем его в нод
</div>

327. dozen, 02.09.2009 20:29
jooher

При апдейте статусов (обычно это происходит по user event), происходит автоматическое каскадное обновление нодов...

Знаешь что, я думаю, тебе надо изменить promotion. Тебе надо подавать это как функциональный язык для web. По текущему хомяку, надо сказать, вообще трудно понять, про что это всё -- нужно длительное вчитывание, чего, конечно, мало кто делать будет.

Если первой строкой на сайте будет "ФУНКЦИОНАЛЬНЫЙ ЯЗЫК ДЛЯ ВЕБ" -- то это сразу объясняет в целом, что это. Люди заинтересуются и им уже можно скармливать более длинные доки.

В ядре реализован базовый функционал для работы с внешними XML-данными, легко расширяемый при необходимости.

То есть можно запросить внешний REST или SOAP-сервис? Как насчет JSON?

Простенький пример

Ыыы. Вызывает затруднение невозможность использования предыдущего опыта. То есть без твоих комментариев даже предположить, что этот код делает -- нереально. Нельзя какие-то aliases для операций ввести? Типа,

код:

<div dap:d="var $brand; var $price; var $base=http://dapmx.org/samples/bazamagaza/?">
<div dap:d="foreach url in $base+AllBrands">
<span dap:d="write brand; ui" dap:u=" brand$"/>
</div>
...

И почему в u="brand$" после brand, а в объявлении -- до?

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

328. Partisan, 02.09.2009 20:39
dozen
Если ограничить себя только JS (ради минимализма или портабельности), то остается (кроме чисто JS-либ a-la jQuery) только GWT (IMHO; кто еще что знает?).


Нет, GWT не годится. Оно облегчает создания клиентской части программы, за счёт автоматической генерации JavaScript и HTML из Java, но проблема в том, что язык JavaScript совершенно не подходит для сложных программ и не предназначен для них. Это - роковая ошибка автора гениальной идеи. В GWT в клиентскую часть следует в основном включать только ту логику, которая нужна для работы визуальных элементов веб-страницы, а то, что не относится к интерфейсу пользователя, особенно сложную логику и безусловно работу с базой данных - помещать в серверных классах, почему в GWT классы и делятся на серверные и клиентские.
Для сложной работы на клиенте нужны или готовые средства создания распределённых приложений, или если сравнивать с GWT и вообще AJAX, то больше подойдут средства создания толстых клиентов (например), JavaFX - оно тоже предназначено для создания интерфейса пользователя, но в нём могут использоваться произвольные Java классы (загружающиеся из интернета по мере необходимости). Но распределение работы между сервером и клиентами JavaFX не делает - это надо делать самостоятельно. Короче. JavaScript надо применять по назначению - для работы HTML элементов, независимо от того, создан ли этот JavaScript вручную или средством вроде GWT.

то остается (кроме чисто JS-либ a-la jQuery) только GWT (IMHO; кто еще что знает?).
Есть много чего в этом роде, GWT просто модное и хорошее. Для примера - XForms Engine фирмы EMC (бесплатное). Оно по XML описанию интерфейса пользователя в формате XForms генерирует HTML и JavaScript. (Для своей работы использует GWT, но важно, что исходными данными является XML файл, а не Java классы).

329. dozen, 02.09.2009 21:14
Partisan
язык JavaScript совершенно не подходит для сложных программ и не предназначен для них

У него ровно те же ограничения, что у любого скриптового языка. Почему его родной брат ActionScript во Flash подходит для создания сложных приложений, а JS -- нет?

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

330. Partisan, 02.09.2009 21:31
dozen
У него ровно те же ограничения, что у любого скриптового языка. Почему его родной брат ActionScript во Flash подходит для создания сложных приложений, а JS -- нет?

Не знаю ActionScript и не уверен, можно ли приложения на Flash считать сложными. Но не надо обобщать - скриптовые языки бывают очень разными, соответственно и области применения у них разные. JavaScript медленный, во много раз медленнее обычных языков. Сл., снятие нагрузки с сервера за счёт клиентов потребует ну очень много клиентов. Затем, отладка крупной программы на нём - мучение (а крупной я бы назвал программу уже в 500 строк JavaScript-а - приходилось мне разбираться в таких скриптах). Средства обеспечения модульности, ООП в нём - не помогают созданию большой программы. Многопоточности нет и не нужна (в browser-е), поэтому давления веб-разработчиков вряд ли можно ожидать. Однако разработчики browser-ов стараются повысить скорость работы JavaScript. Но это нужно потому, что количество JavaScript-а увеличивается (генерируемого такими средствами как GWT или EMC XForms Engine), никто не собирается заменять JavaScript-ом обычные языки. Ещё неполная совместимость между browser-ами - создаёт проблемы и при маленьких скриптах, а для больших - проблемы будут больше.
В общем, я имел ввиду, что для задачи надо выбирать подходящие средства, а JavaScript не подходящее (зато подходит для того, для чего и придуман).

331. arsa, 02.09.2009 22:03
Partisan
предложите другое средство для создания
a) многоплатформенного
b) доступного через браузер
c) основанного на стандартах
приложения.

Это понятно что растущий JS проект сложно разводить на модули (но можно). А вот остальные аргументы не совсем применимы:
скорость не важна - см. как начиналась java
многопоточность есть
снятие нагрузки происходит в основном не за счёт скорости работы кода, а за счёт оптимизации передачи данных (маленький ajax массив вместо полной html страницы)

Но конечно все эти аргументы применимы только к определённому классу программ - основанных на формах и относительно простых визуальных элеметнах.

332. dozen, 02.09.2009 22:12
Partisan
Сл., снятие нагрузки с сервера за счёт клиентов потребует ну очень много клиентов.

Так их и так много.

Многопоточности нет и не нужна (в browser-е), поэтому давления веб-разработчиков вряд ли можно ожидать.

Нету, но нужна. И, думаю, появится со временем -- вначале как нестандартные расширения, потом стандартизируют.

Ещё неполная совместимость между browser-ами - создаёт проблемы и при маленьких скриптах, а для больших - проблемы будут больше.

Ну, это обходимо. В конце концов, несовместимость между разными юниксами, считаю, побольше была -- а код писали.

arsa

многопоточность есть

Где?

333. Chippy2003, 02.09.2009 22:30
Partisan
Многопоточности нет и не нужна (в browser-е), поэтому давления веб-разработчиков вряд ли можно ожидать.
Маленькое фи.
Далеко не всем привычна и нравится безальтернативная async RPC c callbacks и нытья на эту тему хватает.
А привычное
код:

try {
x = rpc(y);
} catch {
T_T
}


сделать не выходит, так как с одним потоком: если подвиснет rpc(), подвиснет и вся страница, а то и весь броузер.

Вообще, мне не очень ясно, как js вообще сможет архитектурно развиваться, чтобы при этом новации поддерживались во всех трех с половиной броузерных движках.
Если бы разговоры о переносе IE с Trident на WebKit воплотились в реальность тогда шансов было бы поболее...

334. arsa, 02.09.2009 22:34
dozen
setTimeout фактически запускает функцию в параллельно. конечно управлять потоками нельзя, и контекста конечно тоже нет. но несколько путей исполнения есть. все prefetch системы работают на основе этого. в общем это конечно не многопоточность, но многие проблемы решает как надо.

335. dozen, 02.09.2009 22:43
arsa
setTimeout фактически запускает функцию в параллельно

А, ну это эмуляция. Пока таймаут-функция отрабатывает, всё ж остальное заблокировано, так?

Добавление от 02.09.2009 22:45:

Chippy2003
Вообще, мне не очень ясно, как js вообще сможет архитектурно развиваться

Как-как... через Комитет и Спеку, как все остальные.

336. arsa, 02.09.2009 23:04
каждый раз когда я об этом думаю (о развитии js), я вспоминаю о том, что MS не заинтересован в развитии IE. становится грустно.

Добавление от 02.09.2009 23:06:

хотя с Gears конечно всё возможно. но это не то.

337. jooher, 03.09.2009 00:18
dozen
По текущему хомяку, надо сказать, вообще трудно понять, про что это всё -- нужно длительное вчитывание, чего, конечно, мало кто делать будет.

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

Если первой строкой на сайте будет "ФУНКЦИОНАЛЬНЫЙ ЯЗЫК ДЛЯ ВЕБ" .... люди заинтересуются
Ну может быть... а может наоборот - испугаются. Спасибо за мысль, подумаю.

То есть можно запросить внешний REST или SOAP-сервис? Как насчет JSON?
Все, что можно получить по хттп. Парсер тока дописать под конкретный формат (расширением, без влезаний в ядро). Под JSON даже и писать не надо.

Нельзя какие-то aliases для операций ввести?
Алиасы то ввести можно элементарно (опять же, даже не влезая в ядро), только пользоваться ими никто не будет это как, например, ввести для *A алиас peek(A)(хотя можно использовать это как такой заманушный ход). Дело в том, что этих операторов всего несколько, они очень часто используются и запоминаются сразу. Сложности там в другом.

И почему в u=" brand$" после brand, а в объявлении -- до?
Вот в частности в этом. Немножко я увлекся оптимизацией синтаксиса - в результате он получился очень удобный и лаконичный, но для непривычного взгляда немного странноватый. И тут еще все упирается в необходимость парсинга средствами js.

Вообще, в уроках (http://dapmx.org/0.1.7/1-helloworld.html) я вроде постарался эти моменты расписать.

Добавление от 03.09.2009 00:22:

arsa
я вспоминаю о том, что MS не заинтересован в развитии IE. становится грустно.

День тихой смерти ИЕ будет праздником на улице веб-разработки. И не так уж он далек, видимо.

338. Hedin, 03.09.2009 00:47
jooher
...попробую сыграть на эффекте "ух, бл, как это он так делает!?"

Для этого нужно состряпать красивую демку. Вот мой начальник загорелся заюзать GWT после просмотра демки GWT-Ext (http://www.gwt-ext.com/demo/) . Сможете сделать не хуже?

339. jooher, 03.09.2009 01:23
Hedin
Сможете сделать не хуже?

Демка для тулкита и демка для языка - это неможко разные вещи. Как сделать демку лиспа например? Чтобы начальнику понравилось... Тут больше нужен грамотный художник по кнопочкам
Все контролы которые там представлены, в dap делаются очень просто - но именно делаются, а не берутся готовые из репозитория - уже со всеми битмапками, цсс-ами и прочими красотами.
Минус дапа - все красоты нужно либо рисовать самому, либо где-то брать, причем ориентироваться все-таки на стандартные средства браузера.
Плюс - полная (ну, довольно-таки) свобода в задании структуры и логики контролов.

340. dozen, 03.09.2009 02:06
jooher
Вообще, в уроках я вроде постарался эти моменты расписать.

О! Muuuuuuch better! Становится понятно, что и как!

Английский только надо серьезно поправить. "Spell is correct" -- это "заклинание правильно", а не "синтаксис корректен". Нужно "spelling is correct", или лучше прямо "syntax is correct". Нужно технописателю дать вычитать.

И всё-таки я несогласен с синтаксисом В частности, если уж приходится escape space, то я бы предпочел \s. Пустой leading space -- трудно читать. Нужен alias, IMHO, типа set или let. А уж несколько significant spaces -- это смерть. Так и представляю, как сижу, и считаю пробелы...

Оператор !, конечно, краток... но везде означает отрицание, а у тебя -- зависимость. В функциональных языках обычно используется def, если я правильно помню...

А вообще -- впечатляет, надо сказать. Особенно пример с банками. Только это... западный пользователь Россию не любит. Это может не нравится, но это так. Для него слово Russian -- это синоним "бандиты и пираты". Поэтому выносить в заголовок Russian Banks я бы не стал (в английской версии, по крайней мере). И вообще лучше использовать какую-нибудь статистику продаж авто по штатам.

341. sip, 03.09.2009 04:17
Hedin

Вот мой начальник загорелся заюзать GWT после просмотра демки GWT-Ext. Сможете сделать не хуже?
От чего было-то загораться ? По сравнению с демками того же Silverlight выглядит простенько, да ещё и подтормаживает, ну разве что скидку сделать на то, что это js.

342. arsa, 03.09.2009 04:49
sip
под silverlight пока не сделали простого генератора c#/xaml, да и actionscript/gwf, из java. аналогичного gwt-ext или Ext GWT. я по крайней мере не знаю таких.
лично с моей точки зрения это не проблема - желания что бы за меня что то генерировали нет. но вот есть люди

343. sip, 03.09.2009 05:13
arsa
да java - это наше всё, как же бедные индийские друзья без генератора-то.

344. dozen, 03.09.2009 05:25
sip
По сравнению с демками того же Silverlight выглядит простенько

Silverlight -- проприетарная технология. И легкомысленно к этому относиться не надо -- куча компаний погорела на вложениях в апплеты, и (до сих пор!) не знают, как перевести созданные когда-то приложения на чистый HTML. Второй раз на те же грабли -- желающих мало.

Поэтому чистый HTML+JS -- это надежный выбор.

Кроме того, существенная часть IT-departments вложилась во внедрение и изучение Java/J2EE. Снова втаскивать в более-менее гомогенную среду чужеродную технологию... за что боролись?

345. sip, 03.09.2009 05:51
dozen

за что боролись?
Скорее всего не боролись вообще, куда ветер подул, туда и погребли.

Silverlight -- проприетарная технология. И легкомысленно к этому относиться не надо
Это понятно. Но посмотри вокруг, Adobe Flash почти у всех установлен, ASP.Net во всю используется, SQL серверов с собственными диалектами полно - и ничего, используют.
Потом Moonlight как бы никто не отменял, вполне себе замена, если проприетарная технология сильно волнует.

346. dozen, 03.09.2009 07:23
sip
Потом Moonlight как бы никто не отменял, вполне себе замена, если проприетарная технология сильно волнует.

Во-первых, вроде бы, еще в бете? Никак не замена.
Во-вторых, проприетарщина опасна не столько скрытостью реализации, сколько отсутствием контроля за поведением вендора. Забьет он болт на, как Sun на апплеты (ну, не совсем по своей вине, но всё же) -- и ты тоже сиди, соси лапу. Мунлайты тут не помогут, потому что пользователей установлен не мун, а сильвер.

347. sip, 03.09.2009 07:54
dozen

Во-первых, вроде бы, еще в бете?
Beta2 до release один шаг


Мунлайты тут не помогут, потому что пользователей установлен не мун, а сильвер.
У пользователя будет установлено то, что программист пропишет на странице, надо будет - вежливо попросит установить Moonlight. А лепить сложного клиента на js, который как бы не совсем для этого создавался/подходит - это тоже так себе, плюс ещё мантры читать, чтобы в js добавили чего полезного, да все браузеры это одинаково реализовали

348. Vladimir Rybinkin, 03.09.2009 09:25
Ау! Ваня! Витька! Молодежь! Куда подевались? Испугались этой нечисти, что ль? Да они сами всего боятся! Видите - по теме уже никто слова вякнуть не смеет. Так, фонят чего-то по инерции... Подтягивайтесь, господа, потихоньку - все равно я после этих землеройных работ ни рукой, ни ногой, ни извилиной шевельнуть не могу. Так что по теме - перерыв, а я пока с распальцованными позанимаюсь - там ничего этого не требуется.

jooher
Ладно, ник мне незнакомый (хотя все уже давно ясно), трепыхается еще - ответим...
цитата:
Типа это я теперь сам виноват, что в твоем говне не разобрался?
Спокуха, родной мой! Зачем же так нервничать? Примите в расчет хотя бы такое соображение: мне-то уж всяко приятно полюбоваться, как сопли потекли.
цитата:
Криптолабуда кстати - это отнюдь не "bcdem" и не "afijklosz_", и даже не m.i(e,"q","","i",0,"s",m.a(),"l",m.a()), а весь твой код целиком.
Конечно, конечно - я когда еще предлагал успокоиться. "Даже", блин! Даже до стартовой очереди первичной инициализации не дочитал, бедняга - вот это действительно "даже"... Для всей вашей шоблы, по какому-то нелепому недоразумению считающейся программистами, разумеется, криптолабуда. Я уже говорил: "А ну ее, криптолабуду, нехорошая она, противная - кыш от нашего мальчика"! Чрезмерная нагрузка на мозги - оно чревато, говорят...
цитата:
В нем возможно и стоило бы разбираться ради интереса, если бы "благодаря Витьке" не было уже известно, что это тормозное полурабочее... нечто (слово г.. уже было).
Дык это ж у меня, у идиота, недоумка, и далее со всеми остановками. А вдруг у тех, у кого "некоторый опыт" лучше получится?
цитата:
Так што ты уж, дорогой, не обижайся.
Спасибо! Пять минут здорового смеха. Грешно на Вас обижаться, мой дорогой.
цитата:
Поэтому тебе и предлагают выкладывать исходники - может в них что-то осмысленное можно будет увидеть.
Я ж уже отвечал, милок: если у Вас и Вам подобных крыша съезжает уже от выложенного примитива (кодовое название "криптолабуда"), то исходники... Нет, извините - я не могу взять на себя ответственность за Ваш рассудок. Вон, кусочек серверных скриптов для Вани (ДЛЯ ВАНИ!) выложил - осторожненько так, маленький такой, с предупреждениями. Результат - налицо. Нет уж, с меня хватит!
цитата:
Кстати, надо отдать тебе должное - вот уже 21 страницу ты полощешь людям мозги, так ничего вобщем-то и не представив - и от тебя до сих ждут хоть чего-нибудь.
Это - нечто! Чтобы сами себя опускали - я что-то не припомню. Даже комментировать не буду - посмакую малек.
цитата:
Даже вон dozen ждет работоспособного решения.
А этому уже ничего не поможет: даже скомпилированный экзешник не помог. Да и... короче, я его знаю ЛУЧШЕ Вас. На порядок. На всякий случай - мое личное мнение, никому не навязываю.
цитата:
Когда же, например, я тут предлагал обсудить свое решение обозначенной тобой темы - реально работающее, с примерами и кой-каким описанием - реакции не было почти никакой...
Не заметил, видать. Ах, ПОЧТИ никакой. Стало быть, оно большего и не заслуж... ЧЕГО?! РЕШЕНИЕ?! Обозначенной мною темы?! О, Господи! Если оно действительно СВОЕ... Чел, не способный разобраться в двух буквах алфавита, сделавший ряд совершенно диких комментариев к моему коду, да еще предлагает СВОЕ! РЕШЕНИЕ!!!
цитата:
ничо што я Вас цытирую?
Да скоко угодно. На этот раз собственных мыслей на комментарии уже не осталось?

Ладно, хрен с ним - у чувака явно от умственного перенапряжения крыша съехала - посмотрим, чо там по ссылке...

Итак, Data Access Pages.

It is a language... тьфу! И чо, ДАЛЬШЕ ЧИТАТЬ?! Ладно, попробую...

It does not need any dedicated support infrastructure(?!)... It allows to write(?!)... Але, гараж! У вас там хоть кто-нить что-нить чем-нить в чем-нить соображает?

Тьфу! И по новой те же сопли жевать. Не, чувствую - не выдержу...

there is no visual "drag-and-drop" dap constructor yet - ну просто песня!

please refer Licensing Information - ну как же без этого!

such as SQL-databases or web sevices - ну ТОЛСТЫЙ! Или как там его... ПОЛНЫЙ!

Both internet and intranet, and even local-machine applications - even, панимашь!

How it works - уф! Я уж собрался послать все это чтиво...

Господи, опять сопли жуют - да скоко ж можно?!

d - for d-rule, u - for u-rule. Какая великолепная творческая находка! Ну теперь постараюсь все же дочитать до конца...

Once the page and the DAPMX core script are loaded into browser, the dap root node (by default, the body element) is cut off the DOM, rebuilt by its d-rule and inserted back to the place. Since that, it is dap-enabled. Dap-enabled nodes are built and re-built dynamically, using the markup specified in the source file as templates - Уточните, пожалуйста, сэр: вот эту вот всю хрень действительно писали именно Вы? Вы и есть Maxim Sajin? Или я все-таки неправильно Вас понял?

Finally, these generated elements are inserted into DOM as regular HTML markup - Ну и хули?! И этот наглец еще смеет вякать, что вся эта пое...ь есть "решение обозначенной тобой темы"! А не пошли бы Вы, господин хороший, со своей "any hierarchial structure", да еще в шароварах! Здесь люди ДЕЛОМ заняты - для Вашего онанизма заведите, плиз, СВОЮ ветку! Кстати, "any hierarchial structure" есть плагиат: я встречал уже где-то "any COMPLEX hierarchial structure". На что, ессно, ответил: "structure бывает либо complex, либо hierarchial "

rGlory
цитата:
Ну ivanhoe улетел в теплые края
Канэшна, канэшна! С другими ветками связь из "теплых краев" имеется, а вот с этой - ну никак.
цитата:
так чта придется, Вам, Владимир Батькович с собственной спиной советоваться. Или с тем, что ниже, разницы наверное уже не будет...
Владимирович. Ладно, попробуем ликвидировать еще один зияющий пробел в Вашем школьном образовании. В школе нас (и у меня мало сомнений, что и Вас) учили: все познается В СРАВНЕНИИ! Так вот, по сравнению с Вами разница будет. ОГРОМНАЯ!

349. Chippy2003, 03.09.2009 09:29
dozen
Как-как... через Комитет и Спеку, как все остальные.
Особенно замечательно комитеты регулируют имплементации, настолько замечательно, что их производительность различается на порядок.

В итоге при как бы совместимости на бумаге, то что можно выжать из Chrome/Safari использовать все равно затруднительно, так как Firefox впадет в кому, а IE просто умрет.

350. jooher, 03.09.2009 11:50
dozen
Spell is correct" -- это "заклинание правильно
Вообще-то там "spell iT correct" (глагол в побудительном наклонении) хотя нерусский мне не родной -- за любые правки буду спасибо

Оператор !, конечно, краток... но везде означает отрицание, а у тебя -- зависимость.
! у меня обозначает write, или точнее, execute. А зависимость навешивается автоматически при get-обращении к статусу.
Вкратце схема такая: есть 2 фазы - d (down) - генерация сверху вниз и u (up) - отработка евентов снизу вверх. Set-обращение в d-фазе СОЗДАЕТ статус, последующие get-обращения автоматом навешивают зависимость от этого статуса. Set-обращение в u-фазе апдейтит статус и регистрирует его как требующий ребилда.

несколько significant spaces -- это смерть. Так и представляю, как сижу, и считаю пробелы...
Ну про сигнификант спейсес я, может, и зря написал. Формально так оно и есть, но на практике я такую ситуацию представить не могу... Leading space (один) - другое дело. Его вроде не так сложно посчитать, и значит он буквально "ничего не делать". Let или def там будут только сбивать с толку, потому что создаются статусы не оператором а самими токенами. Вобщем, самое сложное в даповом синтаксе - это пожалуй токены и есть. С ними разобраться (http://dapmx.org/0.1.7/#stepsandtokens) - и все встанет на свои места.

И вообще лучше использовать какую-нибудь статистику продаж авто по штатам
Где бы ее столько взять то? Чтоб и смотрелось достоверно. В банках-то у меня реальная инфа с ЦБР.ру Может просто слово Russian убрать?

Добавление от 03.09.2009 11:57:

Vladimir Rybinkin

Ух ты. прям практически построчное цытирование однако... какая честь

351. Yak, 03.09.2009 14:29
jooher, стал смотреть Ваше творение, споткнулся на:
цитата:
DAPMX core script is free for use in derivative work (both private and commercial), provided that both of the following conditions are met:

* The derivative work is available for public access via World Wide Web free of charge, and
* .........

........

For other uses, commercial licences are available

The cases, which require a separate license are:

* Using DAPMX core script in a commercial intranet/local-machine application, or
* Using DAPMX core script in a page, which is not available over WWW free of charge
.......
Ну надо ж, даже в начале жизненного цикла проекта - а уже такие требования. В погоне за рекламой для пользователей отпугиваете пользователей.
Я даже для себя родного не могу сделать убогонькую локальную страничку, не говоря уж о том, что сделать сайт в местной сетке без получения коммерческой лицензии. Увольте, я уж лучше спокойно и традиционно буду MooTools/jQuery пользоваться. Удачи в распространении Продукта!

352. jooher, 03.09.2009 16:18
Yak
Я даже для себя родного не могу сделать убогонькую локальную страничку

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

Добавление от 03.09.2009 16:30:

Yak
В погоне за рекламой для пользователей отпугиваете пользователей.
я уж лучше спокойно и традиционно буду MooTools/jQuery пользоваться

Таким популярным как jQuery, dap не будет никогда. Поэтому за количеством пользователей я вобщем-то гнаться и не собираюсь.

353. dozen, 03.09.2009 16:46
sip
надо будет - вежливо попросит установить Moonlight
Если приложение публичное -- массовый пользователь его вежливо пошлет.
Если приложение внутреннее -- то проще, конечно, но если HTML+JS справляется -- лучше не усложнять.

Добавление от 03.09.2009 17:02:

Vladimir Rybinkin
Здесь люди ДЕЛОМ заняты
Именно. Все, кроме тебя.

jooher

Вообще-то там "spell iT correct"
А! Точно. Тогда "spell it correctly".

за любые правки буду спасибо
там, по большому счёту, не локальные правки надо делать, а стилистический. смысл-то понятен, но спотыкаешься постоянно. нативные copywriters нужны.

Может просто слово Russian убрать?
it's up to you. но у тебя там и тексты (в таблице) русские. по хорошему, надо на каждый язык -- свои данные. на китайский -- уровень рождаемости по провинциям, разумеется


Вкратце схема такая: есть 2 фазы - d (down) - генерация сверху вниз и u (up) - отработка евентов снизу вверх. Set-обращение в d-фазе СОЗДАЕТ статус, последующие get-обращения автоматом навешивают зависимость от этого статуса. Set-обращение в u-фазе апдейтит статус и регистрирует его как требующий ребилда.

Мгм... если вдуматься, то вроде механизм понятен, но еще не ощутил. Я как-то думал об этом в терминах spreadsheet -- формулы и зависимости. Может, для введения такая модель лучше подойдет? А то d-mode, u-mode ... еще мю-бозонов не хватает

Я тут клепаю небольшой опенок, там будет несколько слегка динамических страничек. Если наберусь смелости -- попробую твой dap туда прикрутить, на поиграться. Хотя не обещаю.

Добавление от 03.09.2009 17:12:


jooher
Ограничения относятся к коммерческим продуктам (продающимся за деньги), работающих в корпоративных сетях, а также к закрытым страницам сайтов.
Тем не менее, я бы сделал коммерческую лицензию на этом этапе опциональной. Почему? Потому что залог успешного развития проекта -- это пользователи. Коммерческий пользователь не станет брать кота в мешке (то есть платить за продукт, свойства которого ему неизвестны). Ему надо дать поиграться с ним for free, включить в несколько пилотных проектов, и если заглотит -- подсекать. То есть предлагать коммерческую лицензию с гарантированной поддержкой. Все равно для крупных и важных проектов буржуи стараются лицензии покупать. Смотри на JBoss -- их dual licensing schema, пожалуй, образец успешного бизнеса.

* The derivative work is available for public access via World Wide Web free of charge, and
* Using DAPMX core script in a commercial intranet/local-machine application, or
* Using DAPMX core script in a page, which is not available over WWW free of charge

Ты тут всё усложняешь. Способ доступа к продукту не имеет никакого значения. Есть только одно существенное различие -- приложение коммерческое (владелец делает деньги) или некоммерческое (владелец не делает деньги). Еще обычно делается исключение для коммерческих non-profits и academic.

Упрости это до (например) Apache Creative License + standard commercial license.

Еще имей в виду, что самому написать текст лицензии -- это тщетные деяния. Там масса нюансов, неявных ссылок на существующее право (в частности, установивщиеся словосочетания, означающие совершенно определенные вещи -- по прецеденту; если ты напишешь то же самое другими словами, то тебе надо будет расписывать их значение...). В общем, лучше всего взять одну из доступных лицензий, написанных lawyers.

354. jooher, 03.09.2009 17:20
dozen
Тогда "spell it correctly".
done

смысл-то понятен, но спотыкаешься постоянно.
Дело в том, что писалось это все клочками - что вижу то пою примерно как ВР, только по делу. Поэтому и получилось слишком формальное и запутанное описание, местами еще и устаревшее (оставшееся от предыдущих версий). Работать есть над чем.

Если наберусь смелости -- попробую твой dap туда прикрутить
Готов всячески содействовать (за логотипчик)

Добавление от 03.09.2009 17:31:

dozen
Ему надо дать поиграться с ним for free, включить в несколько пилотных проектов, и если заглотит -- подсекать
Поэтому я и даю бесплатную лазейку - делай свой проект доступным по ввв и ничего не плати, даже если сам делаешь на этом деньги. Даже размещение логотипа - не требование, а просьба "рассмотреть возможность".
В любом случае, проект пока еще сырой и далек от коммерческого внедрения. С выбором лицензий есть время.

355. Chippy2003, 03.09.2009 17:44
jooher
кстати, что мешает Вам сделать ее доступной через ввв?
тестовые/snapshot версии тоже ?

356. jooher, 03.09.2009 17:57
Chippy2003
тестовые/snapshot версии тоже ?

1. А в чем проблема?
2. Если эти тестовые версии кроме Вас никто никогда не увидит - о чем речь вообще?
3. Ок, как лучше написать?

357. dozen, 03.09.2009 19:05

jooher
3. Ок, как лучше написать?
Лучше, как уже говорилось, не смешивать право использования с каналами доступа. Иначе только конфуз выходит -- вот, скажем, внутреннее приложение, доступное пользователям через VPN, который в свою очередь, завернут в HTTP (и, таким образом, проходит участком по WWW) -- это под какую категорию попадает? Потом, что имеется в виду под WWW -- протоколы? публично доступные сайты? неясно.

358. jooher, 04.09.2009 01:01

dozen
В общем, лучше всего взять одну из доступных лицензий, написанных lawyers.
А какая лицензия может подойти? для работы, которая:
а).бесплатна для non-commercial,
б).бесплатна для commercial с ограничениями,
в).может использоваться в derived опенсорс, но при этом
г).сама не совсем опенсорс

Нашел SunCSL (http://java.sun.com/j2se/1.5.0/scsl_5.0-license.txt) , но там совсем жесткач какой-то.
Апач разрешает форки (хотя сорцы вроде не требует) и вроде как не дает поводов платить... Сложно это все как...

что имеется в виду под WWW -- протоколы? публично доступные сайты? неясно
The derivative work is available for public access via World Wide Web free of charge. Как уж еще яснее? На паблик веб-сайт альфабанка я могу зайти бесплатно и свободно. на их корпоративный веб-сайт - не могу в силу вполне конкретных ограничений.

359. dozen, 04.09.2009 04:13
jooher

Ответил здесь (http://forum.ixbt.com/topic.cgi?id=26:39537:18#18) , потому что про лицензии и промоушн -- здесь явный офтопик. А вот принципы dap можно и тут обсудить. Тем более ВР заинтересовался, но ниaсилил.

360. rGlory, 04.09.2009 06:41
dozen
цитата:
Тем более ВР заинтересовался
Напомнило классику: Штирлиц шел с женой по Блюмен-Штрассе. Сзади раздалась автоматная очередь - жена упала. Штирлиц насторожился...

361. Vladimir Rybinkin, 04.09.2009 09:31
trash1
цитата:
Почему это придурков? Что? Раз пользователь, то значит придурок?
А при чем здесь пользователь? Я про авторов AJAX говорил.
цитата:
Обана! А почему не наоборот? То, чем занимаетесь - подробно, а о чём знаете только понаслышке - "в самых общих чертах"
Ни слова не понял - к чему весь этот бред? А, понял: это НЕ Я "ни слова не понял"!
цитата:
Не всё можно уложить в дерево. Например, если узлы и ветки динамически вычисляемы, то может не получиться!
Мысль потрясающей глубины (второе предложение, конечно, сильно ее портит). Только я опять не понял: а ее куда пришпилить?
цитата:
Опять мастер наклюкался! А у меня ещё столько вопросов!!
А мастер в любом состоянии может отвечать - на то он и мастер. Это даже безопаснее: по трезвому он куда больше не любит трусов. Может и вмазать ненароком.

Zafod B.
цитата:
Мне одному это мутное описание браузерные silverlight (например) приложения напоминает?
Думаю, что нет. На подобные "умные" словечки здесь народ клюет.

dozen
цитата:
В общем, средств и тулов перенести логику на (загружаемого в браузер) клиента хватает.
Угу. Только вот не переносит ни одна падла почему-то. А единственное реальное средство вообще вырезали.
цитата:
Я пока затрудняюсь сказать, есть ли какие-то преимущества у методов ВР
"Пока", г-ришь?
цитата:
то применения им не было бы, потому что приложения пишут для пользователей, а они сидят за новыми браузерами).
Естественно! Это уже не пользователи - это наркоманы. Все возможности у них отобрали, а теперь впаривают за бабки. Очень грамотно! Вернуть eval на место, да обозвать это 10-м, юбилейным "Мерседесом" - то-то визгу будет радостного! Даже я буду аплодировать.

jooher
цитата:
Ок. Дубль 3. публика разогрета, может подхватит
А как же! Только вот МНЕ не нравятся всякие голодранцы, которые по рейтинговым веткам побираются, да поливают "разогретую публику" своим дерьмом. Кыш отседова! Это вполне официальное предупреждение: если после этого постинга в ветке все еще будет вонять этим самым DAP - приму меры. Уж как-нить преодолею тошноту.
цитата:
В отличие от подхода ВР (насколько я его понял)
Это - верное уточнение.

dozen
цитата:
надо сказать, вообще трудно понять, про что это всё
Элементарно, Ватсон: ни про что. Бредни неуча, дилетантизм бездаря, ...
цитата:
Люди заинтересуются и им уже можно скармливать...
Во-во. Это по-нашему, по-шоблинскому!
цитата:
То есть без твоих комментариев даже предположить, что этот код делает -- нереально.
Это верно! Процесс зашел слишком далеко.
цитата:
идея иметь функциональный язык в веб -- она интересная (уж куда интереснее сетевых баз там же)
Да не вопрос!

Partisan
цитата:
язык JavaScript совершенно не подходит для сложных программ и не предназначен для них.
Серьезно?! Совершенно не подходит?! А Вы, сэр, оказывается, имеете какие-то понятия о сложности?! Ну, дальше просто словопомол, перемежаемый "следует", "безусловно", "нужны", "надо" и т.д. Когда это, голуба, успел отъесть такую важную ха... в смысле, лицо такое попечителя богоугодных заведений? Давно по нему сапогом не попадало, что ль? Так это дело недолго и поправить... Ишь, взялись тут академический, поучающий тон осваивать! Да и вообще, не слишком ли вы расшумелись, господа. Неужто сами поверили, что хоть что-то из себя представляете? Потише, услышит какой-нить серьезный человек, и приберет к рукам все эти бесхозные денюшки. Вон я Ване пример про синхронное листание дампов приводил. Вы бы наверняка это дело на пару лет растянули. Пока у Заказчика либо деньги, либо терпение не закончится.
цитата:
JavaScript медленный, во много раз медленнее обычных языков.
Именно! Потому-то дилетантам вроде Вас здесь делать совершенно нечего - это не "JavaScript совершенно не подходит", это ВЫ "совершенно не подходите для сложных программ и не предназначены для них". Сколько-нибудь сложные программы должны писать профессионалы, и тогда вполне хватит JS для 99.999% задач.
цитата:
снятие нагрузки с сервера за счёт клиентов потребует ну очень много клиентов.
Следовательно, при МАЛОМ числе клиентов сервер будет перегружен. Железная логика! Браво!
цитата:
отладка крупной программы на нём - мучение
А что для вас не мучение? Ваня, видал? Вот так вот эта шобла и "разбирается" в юзабилити и всем таком прочем. Она даже в JS умудряется найти проблемы с отладкой!!! И по строкам считает сложность. Ну, хорошо, в каждом из моих тестов ОДНА строка на файл. Так что никаких проблем нет, и быть не может. Учитесь, шнурки! Так, дальше снова пошел набор идиотских деклараций...

arsa
цитата:
снятие нагрузки происходит в основном не за счёт скорости работы кода, а за счёт оптимизации передачи данных
О! Попадаются и понимающие люди...

dozen
цитата:
Нету, но нужна.
Нужна, так реализуйте - в чем проблемы-то?

arsa
цитата:
конечно управлять потоками нельзя
Ну, ну, ну... Не разочаровывай меня. (с)

dozen
цитата:
А, ну это эмуляция.
При одном процессоре все, что угодно "эмуляция".

arsa
цитата:
я вспоминаю о том, что MS не заинтересован в развитии IE.
Дык он уже все сделал, что надо: eval отрезал по самые уши.

jooher
цитата:
попробую сыграть на эффекте "ух, бл, как это он так делает!?"
Мания величия в последней стадии.
цитата:
в результате он получился очень удобный и лаконичный, но для непривычного взгляда немного странноватый.
И эти люди запрещают мне ковыряться в носу!
цитата:
Как сделать демку лиспа например?
А Маккарти слабо почитать? Вся книга - одни сплошные демки (читал где-то в районе 80-83 - не помню).

dozen
цитата:
Английский только надо серьезно поправить.
Ты полагаешь, что русский у него лучше?

362. jooher, 04.09.2009 11:14

Vladimir Rybinkin
Только вот МНЕ не нравятся всякие голодранцы, которые по рейтинговым веткам побираются, да поливают "разогретую публику" своим дерьмом
Да не горячись ты. Ты тут главный любимец публики, никто на твою корону с бубенчиками не посягает.

приму меры
Бутылкой запулиш штоли?

если после этого постинга в ветке все еще будет вонять этим самым DAP (http://dapmx.org)
кстати, напомню тебе название ветки: Заставить работать машину клиента!
Обрати внимание, заставить работать

Добавление от 04.09.2009 13:31:

dozen
Я как-то думал об этом в терминах spreadsheet -- формулы и зависимости. Может, для введения такая модель лучше подойдет?

ну, собсно, d-rule и определяет формулы и зависимости, по которым строится нод.
u-rule определяет, какие статусы обновляются при получении нодом евента. Если u-rule из дапа исключить, то получится этакий язык генерации отчетов - без интерактива (и без статусов).

363. dozen, 04.09.2009 17:28

Vladimir Rybinkin
Может и вмазать ненароком.
Ну хватит может уже, Вован, а? С твоей комплекцией надо избегать столкновений даже с быстролетящими навозными мухами -- а то мало ли какой damage случится...

Добавление от 04.09.2009 17:38:

Vladimir Rybinkin
Это уже не пользователи - это наркоманы.

Я гляжу, танцору яйца замешали вконец?

по рейтинговым веткам побираются

Смотри-ка, клоун нашел повод для гордости -- на его представления собирается больше народу!

пример про синхронное листание дампов приводил

Ну, достижеееееение! Небось, так с тех пор и гордишься?

Ваня, видал?

Что, Шпеер позвонил-таки и попросил затк... не упоминать его имени всуе? Теперь новая надёжа и опора?

jooher

ну, собсно, d-rule и определяет формулы и зависимости, по которым строится нод.

Я в качестве ментальной модели при обучении. Любому новому делу проще обучаться, если есть знакомые принципы, своего рода "реперные точки". Подходит spreadsheet model на такую роль или нет?

364. rGlory, 04.09.2009 17:42
dozen
цитата:
С твоей комплекцией надо избегать столкновений даже с быстролетящими навозными мухами -- а то мало какой damage случится...
Да это еще ладно, я не понимаю накой нам нужно знать, что мастер без трусов ходит, когда трезвый?

365. dozen, 04.09.2009 17:49

rGlory
накой нам нужно знать, что мастер без трусов ходит, когда трезвый?
добавляет ценный штрих к явной эксгибиционичности творчества Мастера.
P.S. а может, просто все трусы пропил.

366. jooher, 04.09.2009 18:50
dozen
Подходит spreadsheet model на такую роль или нет

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

367. dozen, 04.09.2009 20:03
jooher

то это будет некий одномерный (без рядов и колонок) рекурсивный спредшит
погоди, почему? у тебя же каждый нод обновляется по зависимостям? точно так же делает и spreadsheet. только у spreadsheet узлы организованы в таблицу, а у тебя -- дерево (или граф? граф, наверное)

собственно, внешнее представление spreadsheet -- таблица -- не обязательно соответствует внутреннему, где как раз строится граф зависимостей, которые пересчитываются по событиям. ничего не напоминает?

368. jooher, 04.09.2009 21:54
dozen
у тебя же каждый нод обновляется по зависимостям? точно так же делает и spreadsheet.... у тебя -- дерево (или граф?
Думаю, на этом сходство заканчивается. Дерево.
Никакие графы зависимостей у меня на самом деле не строятся. Все сильно проще. Грубо, схема такая: в u-фазе я тупо иду вверх к корню, выполняя u-правила у каждого парента, и попутно собираю updated статусы, а потом иду вниз и смотрю где эти статусы используются. Конечно, не в поголовный обход всех нодов документа -- кой-какой tracing имеется, и в целом число проверяемых нодов совсем небольшое, и от размера документа напрямую не зависит.
Работает эта схема только на дереве (о графах речи нет), но зато на любом дереве - поэтому я и разделяю dap (собсно схема и язык, без привязки к природе дерева) и DAPMX core script (машина для w3c dom/js).

Больше всего эта схема похожа на области видимости переменных, условно так можно изобразить:
код:

{
var $a=1, $b=2;
{
var $c=3; // тут мы видим $a,$b,$c - можем их прочитать и изменить
print($a+$b+$c);
onclick: $a=10, $c=20; //обновляем $a из внешнего скопа и $c из этого
}
print($a+$b);
print($a-$b);
{
var $c=4;
print($a+$c); //это правило будет выполняться при каждом onclick из предыдущего скопа, потому что задействована общая $a
print($b+$c); //а это - не будет, потому что $b не менялась, а $c тут своя
}
}

эта запись изображает не последовательность исполнения, а структуру

369. Vladimir Rybinkin, 05.09.2009 09:16
Ну вот, проснулся - а спина мне сварила довольно стройную картину всего этого дела. Не хуже таблицы Менделеева.

Наскоко я понимаю, целина здесь (на клиенте) непаханая: нога профессионала сюда не ступала НИ РАЗУ. Неудивительно, что в экспертах щеголяют особо ценные сорта древесины, с умным видом обсуждающие разного рода "сложности" - для них это и в самом деле сложно, а потому их статус в собственных глазах растет. Замкнутый круг! И как же быстро деградировали - до бесконечно малых величин. Ну и болото! А я еще рассчитывал на обсуждение, на подсказки! Если бы эти суки eval не отрезали, можно бы еще на помощь юзеров надеяться - на школьников хотя бы...

Ну конечно на школьников! Где-то 5-10 классов, у которых мозги еще не загажены всякой "денотационной семантикой", и прочей бредятиной. Трусливое бегство ivanhoe отчетливо показывает, что "системщики" тоже деградируют со страшной скоростью, и что loyolla была права, когда говорила про "ремесло". Вернее, тоже ошибалась, но в другую сторону: я считал, что термин "ремесленник" до обидного низкий для программиста, а он, оказывается, до неприличия высокий.

Вся эта толпа бездарей, ломанувшаяся подзашибить деньгу на клиенте, уже столько здесь всего успела нагородить, так все запутать, что и сама уже не соображает, чо творит, и самостоятельно не разберетеся уже НИКОГДА. Да и никто не разберется - всю эту хрень нужно просто отправить в мусоропровод. Или куда подальше - чтобы окружающую среду не загрязнять. Это совершенно безопасно - только воздух чище станет. Единственная серьезная неприятность - это то, что при молчаливом попустительстве этих дебилов, совсем уж ох...шая от жадности и безнаказанности мразь успела уничтожить единственный реальный инструмент (для ЭТИХ - "вреднейшую конструкцию"). Посмотрите, что я говорил о нем в начале ветки, когда еще не знал об этой выдающейся операции.

Господа! Простите: мальчики и девочки! Присмотритесь к этой банде: она не умеет ровным счетом НИ-ЧЕ-ГО! Сплошной скулеж про какие-то жуткие проблемы, хвастливые заявления, что в какой-то из этих "проблем", благодаря их героическим усилиям, намечается возможность прорыва... Чушь! Единственная проблема состоит в том, что всех этих [дальше матом] подпустили к программированию ближе, чем на пушечный выстрел. А вот у меня, чуть ли не случайно заглянувшего "на клиента" - ну никаких проблем: бегает себе моя клиентская СУБД по графу, собирает данные по шаблону выдачи через траекторные шаблоны, и в ус не дует. Я уж и сам забывать стал: то ли там кортеж в данных сидит, то ли субграф какой. JS, правда, явно писали "местные": просто волосы дыбом! Объявишь переменную "var i; i=..." - работает. Не объявишь - просто "i=..." - тоже работает, как ни в чем не бывало. Я сдуру поверил, и вдруг как пошла моя переменная кренделя выписывать! Содержимое меняет, как хочет: сидела там единичка, и вдруг - бац! - сидит уже тройка, хотя переменную эту никто и пальцем не тронул! Еще запускаешь - двойка, четверка, единицы иногда тоже попадаются... Когда до меня дошло, наконец, ПОЧЕМУ это происходит... Банда бездарей, неучей, тупиц, дебилов - на всех уровнях!

Ау, школьники моего родного города Нелидово - слышите меня? Учебный год как раз только начинается - выметем всю эту нечисть из программирования? Ведь нужна-то, по большому счету, всего одна школа - пару классов сборного состава, человек 30-50. А вас вон сколько! Перехватим все их заказы по демпинговым ценам, превратим наш город в Нью-Васюки! Объем необходимого инструментария для обеспечения жизни на клиенте СМЕХОТВОРНО мал! Eval, правда, жизненно необходим. Так ведь на худой конец и НОРМАЛЬНЫЙ броузер с НОРМАЛЬНЫМ JS не так уж трудно написать. Ведь детская энергия обладает СОКРУШИТЕЛЬНОЙ силой!

Учителя информатики, школьники и их родители! Рассматривайте это как официальное предложение. Готов провести несколько консультаций среди учителей, или даже занятий со школьниками (только не классных, а факультатив - лишь с теми, кому интересно). Решайтесь! Даже в случае полной неудачи риска нет никакого - ваши оболтусы чуть меньше бормотухи в подворотне выпьют, и чуть больше с клиентом познакомятся - всяко не помешает. А цель-то какая благородная! Разогнать такую толпень воров и бездельников. Ну?!

370. psg, 05.09.2009 09:29
Vladimir Rybinkin
Вов, ты зря пропустил последний курс лечения! Вернись в больничку, аминазин творит чудеса!

371. theaspect, 05.09.2009 09:37
Дядь Вов, а можно небольшой оффтоп?
ты утверждаешь что указатель - это мегаруллз, а какова потенциальная цена ошибки, если вдруг указатель в одном случае из ста укажет на деревню дедушке, а юнит-тесты этого не заметят?
ты утверждаешь что eval - это мегаруллз, а какова цена потенциального XSS, если злоумышленник подсунет браузеру что-нибудь не то?

кстати нормальных браузеров море с нормальным js, но они в другой вселенной, там оперы воюет с лисами, сафари смотрит на всех свысока, хром просто летает, а майкрософт пытается наконец задушить IE6.0

вот тебе парочка примеров

http://gwt.google.com/samples/DynaTable/DynaTable.html
https://www.labkey.org/Study/home/Study/demo/participant.view

только поищи что-нибудь поновее из браузеров, лет на 8-10. Очень рекомендую хром.

PS остановился пока на 13 странице

372. zzf, 05.09.2009 09:54
Vladimir Rybinkin
в экспертах щеголяют особо ценные сорта древесины
Если бы эти суки eval не отрезали
Вся эта толпа бездарей
всю эту хрень нужно просто отправить в мусоропровод
при молчаливом попустительстве этих дебилов
совсем уж ох...шая от жадности и безнаказанности мразь
всех этих [дальше матом]
Банда бездарей, неучей, тупиц, дебилов
толпень воров и бездельников

Опять нажрался, скотина?

373. Yak, 05.09.2009 10:04
Vladimir Rybinkin
JS, правда, явно писали "местные": просто волосы дыбом! Объявишь переменную "var i; i=..." - работает. Не объявишь - просто "i=..." - тоже работает, как ни в чем не бывало. Я сдуру поверил, и вдруг как пошла моя переменная кренделя выписывать! Содержимое меняет, как хочет: сидела там единичка, и вдруг - бац! - сидит уже тройка, хотя переменную эту никто и пальцем не тронул! Еще запускаешь - двойка, четверка, единицы иногда тоже попадаются... Когда до меня дошло, наконец, ПОЧЕМУ это происходит... Банда бездарей, неучей, тупиц, дебилов - на всех уровнях!
А как называется человек на самом нижнем уровне, который который не удосужится изучить инструмент, который тужится использовать? Ну, как минимум неуч - это точно.

theaspect
а какова цена потенциального XSS
Мастер не знает, что такое XSS, зря Вы мечете бисер.

374. jooher, 05.09.2009 11:22
Vladimir Rybinkin
Еще запускаешь - двойка, четверка, единицы иногда тоже попадаются... Когда до меня дошло, наконец, ПОЧЕМУ это происходит... Банда бездарей, неучей, тупиц, дебилов - на всех уровнях!
Неужели прям таки дошло? Таки вот прям бац и сошла благодать? Что если var не объявлять то с глобальной переменной работаешь (это упасибоже не подсказка, ты сам все прекрасно знаеш конешно же).

Рассматривайте это как официальное предложение.
Чот тя на официальные заявления в последнее время прошибло. Пенсию штоли получил?

Добавление от 05.09.2009 12:04:

в экспертах щеголяют особо ценные сорта древесины
Если бы эти суки eval не отрезали
Вся эта толпа бездарей
всю эту хрень нужно просто отправить в мусоропровод
при молчаливом попустительстве этих дебилов
совсем уж ох...шая от жадности и безнаказанности мразь
всех этих [дальше матом]
Банда бездарей, неучей, тупиц, дебилов
толпень воров и бездельников


Вот Вы, Владимир Владимирович, пишете, что Вам 50 лет. Ну как так можно? Неловко уже наблюдать как над пожилым человеком прикалывается вся ветка. И не из злобы какой-то или обиды (не обольщайтесь, на Ваши обзывания никто не обижается - хоть Вы какашками кидайтесь; даже модератор Вам замечаний давно уже не делает), а просто потому что ну реально невозможно удержаться - такие Вы подарки выдаете. Ну нравится Вам
eval колупать - колупайте себе спокойно с гордым загадочным видом, зачем переходить на патетические обсирания и давать повод за поводом хором над Вами ржать? Поберегите уже свои седины.

375. Partisan, 05.09.2009 12:38
Vlaimir Rybinkin

язык JavaScript совершенно не подходит для сложных программ и не предназначен для них.
Серьезно?! Совершенно не подходит?! А Вы, сэр, оказывается, имеете какие-то понятия о сложности?! Ну, дальше просто словопомол, перемежаемый "следует", "безусловно", "нужны", "надо" и т.д. Когда это, голуба, успел отъесть такую важную ха... в смысле, лицо такое попечителя богоугодных заведений?
И.т.д.

Уточнение. Я это писал, отвечая не вам. Вам я и не пытаюсь что-то объяснить. Если уж Кнут не смог вам ничего объяснить, то шансов мало. Да и стоит ли - у вас аллергия на знания.
Поэтому ваша брань лишена смысла.

376. lvqcl, 05.09.2009 12:39
jooher
Вот Вы, Владимир Владимирович, пишете, что Вам 50 лет.
...он бородат, живет с мамой, тролль, лжец и девственник?

377. Gipnoss, 05.09.2009 12:55
Vladimir Rybinkin
НОРМАЛЬНЫЙ броузер с НОРМАЛЬНЫМ JS не так уж трудно написать.
О! Пральна, браузера на SINT мы еще не писали.
Камнем преткновения на этот раз будут вирусы, уничтожающие машину клиента еще до того, как она начнет работать.
Выходом из ситуации будет антивирус на SINT, но какое-то внутреннее чувство подсказывает, что неприятности на этом не закончатся.

378. rGlory, 05.09.2009 17:32
Vladimir Rybinkin
цитата:
Ну вот, проснулся - а спина мне сварила довольно стройную картину всего этого дела.
Ндяя, вот что бывает, когда люди думают не головой, а жо кхм спиной.

цитата:
Трусливое бегство ivanhoe отчетливо показывает
Эта фраза отчетливо показывает, что состояние ВР прогрессирует. Я только надеюсь, что ВР не буйный и не опасен для окружающих.

379. dozen, 05.09.2009 17:39
Vladimir Rybinkin

Готов провести несколько консультаций среди учителей, или даже занятий со школьниками

ахтунг! педофил инфильтруется!

P.S. вовочка, ты принял лишнюю бутылочку сверх дневной дозы?

theaspect
а какова цена потенциального XSS

нищим терять нечего, поэтому ему пофиг.

rGlory
Эта фраза отчетливо показывает, что состояние ВР прогрессирует.

Не столько "что", а "насколько быстро". Еще недавно лебезил перед ним, чуть не лобызаться лез. Вчера звал на защиту. Сегодня оно набралось (смелости), и ощущает себя хероем, которому ivanhor -- мальчик. Но будет и обратный свинг настроения, и там он может себе и ухо отхватить из-за "подонков, испортивших eval"...

380. theaspect, 05.09.2009 18:09
выкурил я ветку и назрел сабжевый вопрос
Дано:
Несколько сущностей в базе (дерево до тысячи узлов), ручной ORM и дальше GSON-ом отдается клиенту
Клиент - браузер, но довольно толстый, реализовано редактирование этих сущностей
Имеется несколько пользователей с разным уровнем привилегий
Вопрос:
Каким образом реализовать блокировки?
Первое что приходит в голову ставить флаг блокировки и каждую минуту обновлять аяксом ,если приходит более приоритетный юзер, то переписывать блокировку на него, и менее приоритетного уведомлять

381. dozen, 05.09.2009 18:31
theaspect

Первое что приходит в голову ставить флаг блокировки и каждую минуту обновлять аяксом ,если приходит более приоритетный юзер, то переписывать блокировку на него, и менее приоритетного уведомлять

то есть так же, как делал бы в толстом клиенте или в трехзвенке.

более интересный вопрос -- если высокоприоритетный юзер получил блокировку, а потом у него упала сеть на сутки...

382. theaspect, 05.09.2009 19:11
а потом у него упала сеть на сутки...
дык
флаг блокировки и каждую минуту обновлять аяксом
чтобы отследить падение

383. dozen, 06.09.2009 05:23
theaspect
дык флаг блокировки и каждую минуту обновлять аяксом чтобы отследить падение

А, не понял задумку сразу. Работать, конечно, будет... но нужно ли так делать -- зависит от приложения.

384. Vladimir Rybinkin, 07.09.2009 09:25
dozen
цитата:
Ну хватит может уже, Вован, а?
Для экспертов? Вполне. Разговаривайте про своих навозных мух, трусЫ, эксгибиционизм и т.д. Для этого вы еще, возможно, и пригодны - не специалист. Да разве еще гвозди бы делать из этих людей - не было б в мире крепче гвоздей! Смотрите, ребятки, смотрите! Вот они, паразиты клиентские, во всей красе. Уровень, словарный запас, аргументация... Помните, в школе проходили: лбы у них были низкие и покатые, вместо речи они издавали немногие отрывистые звуки. Представляете, чего они там наворотили? Обратите внимание: как только они осмелятся чо-то вякнуть про программирование - щелчок по носу - и снова, как будто ничего и не было, опять про какие-нить трусы. Кстати, еще один момент: "шавки" притихли. Изумительный индикатор! Я его когда-то описывал в подробностях.
цитата:
Смотри-ка, клоун нашел повод для гордости -- на его представления собирается больше народу!
Ну... допустим. А все это стадо баранов, которое ходит за мной из ветки в ветку - у него-то какие "поводы для гордости"?
цитата:
Ну, достижеееееение! Небось, так с тех пор и гордишься?
1. Мне и без того ЕСТЬ, чем гордиться.

2. А почему бы и нет? Ты же ведь вообще не понимешь, что это такое. Ну, сам термин у Маккарти вычитал (допустим) - что это меняет?
цитата:
Что, Шпеер позвонил-таки и попросил затк... не упоминать его имени всуе?
А имя его упоминал всуе как раз некий малограмотный чел из Торонто. Не встречал?
цитата:
Теперь новая надёжа и опора?
Кто? Ваня?!
цитата:
а у тебя -- дерево (или граф? граф, наверное)
Ты на него-то посмотри! Как может у дерева быть граф?
цитата:
ничего не напоминает?
Напоминает. Чен, бедолага, тоже полагал, что эта полудохлая конструкция на что-то способна. Чену - простительно: наскоко я помню, на дворе был еще 1986...

jooher
Ну, моя совесть чиста - я предупреждал. Ладно, что же делать - качнем этот самый DAP, да на весь этот бред в моей ветке повнимательнее посмотрим... Тьфу ты, Господи - сразу же на "рекурсивный спредшит" напоролся без подготовки - немедленный рвотный рефлекс. Ладно, в качестве разминки:

Господа! Человеческие качества этого уе... черт, это нельзя, а слово как-то и не подобрать... в общем, ЭТОГО, вполне убедительно продемонстрированы им же самим - на них мы больше останавливаться не будем. Цели... ах, да - ЭТОГО столь же отчетливо прописаны у него на лбу: половину постингов про свое... ЭТО он примеряет оптимальной размер совковой лопаты, которой он надеется за ЭТО деньгу огребать. На этом мы попозже остановимся. Уровень его... гхм... заблуждений нам придется излагать на языке, который понятен, в том числе, и ему самому, за что заранее прошу прощения. Это требует некоторой подготовки - сейчас я укажу лишь на одну режущую глаз особенность: ЭТО (очевидно, ввиду чрезвычайной общей ограниченности самого ЭТОГО), использует некоторые малоупотребительные термины, наивно полагая (ввиду... ах, да...), что они должны придать некий вес ЭТОМУ разработки ЭТОГО. Пример (цитата ЭТОГО): Вобщем, самое сложное(!) в даповом синтаксе - это пожалуй токены и есть. С ними разобраться - и все встанет на свои места(!!!). Ему и в голову не приходит, что другие (даже я, например) могут знать, что означает этот термин. Скажем, я... пардон, мы с Ромкой - писали: For example, it can be applied for automating extraction of Web content by wider interpretation of concept "token" [13] that can be an arbitrary subgraph. Thus, concepts "token" and "cluster" are joined, and this subgraph can be considered as self-dependent metadata for following structural or semantic analysis. Его стиль использования более привычных словечек (ноды, евенты, фичи...) еще более смешон, но... подождем - так и быть, дадим ему шанс. Да и мне призрачную надежду - одна мысль о необходимости ковыряться в этом дерьме вызывает омерзение - авось, и так заткнется.

Чуть-чуть по поведению ЭТОГО в моей ветке. Пришло сюда ЭТО распальцованным "мастером": Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях. У меня есть некоторый опыт по этой теме. Оно даже не только ко мне, а и к Ване обращалось: Не могли бы Вы попросить его выложить одним архивом весь его проект... Я хотел бы попробовать привести его к современным условиям и посмотреть что же там собсно происходит. Когда до него дошло, наконец, что все его просьбы удовлетворены задолго до их появления, оно горячо взялось за дело: Собсно, пробую. Признаюсь, пока заставить это работать не удалось, но уже масса позитива. Сдуру ЭТО даже начало рассказывать о своих "открытиях": Впечатляющая находка: поэлементное копирование полей... Однако прямую просьбу показать эту самую "находку", разумеется, "не услышало". Впрочем, польза все же была: оно четко показало, что же именно будет понятней плебеям и дебилам, считающим себя программистами. Затем ЭТО, сообразив, наконец, что весь его сраный "опыт" не годится даже на то, чтобы прочесть хотя бы начало кода, начало нервничать (гигантские простыни словодроческой ахинеи, дурно написаный код и т.д.) и откровенно врать: Речь шла о попытке адаптации старого js к новым движкам, а не о расшифровке нечитаемой криптополабуды и раскрутке магических взаимосвязей, совсем недавно еще рекламируемых ЭТИМ публике: оч рекомендую ознакомитья с кодом и поотслеживать взаимосвязи. Наконец, ЭТО заткнулось окончательно, и стало пудрить мозги уже исключительно своим собственным ЭТИМ (открыть для этой гадости собственную ветку, оно, разумеется, не решилось). Можно только гадать, до какой низости и лжи может опуститься ЭТО уже не в безобидной, нейтральной ситуации, а в попытках впарить свое ЭТО за реальное бабло! К счастью, его безграничная тупость превосходит даже его безумную жадность (уж если dozen заметил...), его лживость, неспособность отвечать за свои слова, фантастическое самомнение и прочие прелести. Уже тот факт, что ЭТО пытается впарить именно язык(!!!), будучи при этом неспособным разобраться в языке ИЗ ДВУХ СЛОВ(!!!) вполне достаточен для получения абсолютно точного понимания о качестве ЭТОГО в исполнении ЭТОГО.

Конец разминки.

All
Мне, честно говоря, уже осточертел 4-й тест - уже давно ни малейших сомнений, что все задуманное реализуемо, но демонстрировать это лишь самому себе, "обсуждать" лишь с самим собой довольно тоскливо. По сути, все уже работает: стандартная очередь генерации страницы в нужный момент вызывает функцию (поскольку очередь пока не умеет обрабатывать for, if и т.п.), которая в нужный момент вызывает уже "нестандартную" очередь генерации (по классу объекта-хозяина страницы). Вот сам вызов:

m._(u.W[u.Y[u.Z[u.n][0]][1]]); // вызов строки методов страничного шаблона

где u.W - массив очередей, исключенный из общей мясорубки при инициализации (перекидывается на FRAMESET по схеме 3-го теста). Все прекрасно работает. Остается потихоньку наполнить мясом все эти очереди, да написать при необходимости вызываемые уже оттуда функции (расчета всяких там карманов, например). Ну, ребрышек нужных в базу подбросить. ВСЕ! И никаких проблем, никаких библиотек - НИЧЕГО! Мне просто в голову не укладывается, какие В ПРИНЦИПЕ могут быть проблемы с клиентом у местной шатии-братии, какая еще функциональность может понадобиться юзеру, которой здесь еще нет. Я как пользователь, как заказчик просто ничего не могу придумать, чего бы мне еще хотелось! А на странице уже сейчас не просто "Борей", а с недостижимой для Access функциональностью.

Эй, эксперты по трусам, да навозным мухам! Объясните-ка народу, на кой хрен вы ему нужны? С какой радости он должен платить вам бабки, а не гнать отсюда поганой метлой? Придумывайте себе ваши дурацкие языки, не менее дурацкие проблемы, хвалитесь друг перед другом "наметившейся возможностью решения" - юзеры-то здесь при чем? Зачем им кормить все ваше стадо? Его ж даже к празднику прирезать нельзя - настоящие бараны куда полезнее - даже здесь вы суррогат. Помните классику? А этаких котов, не ловящих мышей, из кладовых пора бы гнать взашей!

385. Sioln, 07.09.2009 09:52
Vladimir Rybinkin
Придумывайте себе ваши дурацкие языки, не менее дурацкие проблемы
Ты чем-то от "них" отличаешься?

386. dozen, 07.09.2009 09:58

Vladimir Rybinkin
Мне и без того ЕСТЬ, чем гордиться.
да лаааааадно врать-то! он у тебя тоже маленький!

Добавление от 07.09.2009 10:02:


Vladimir Rybinkin
Как может у дерева быть граф?
ну, если отлить подошел, например, а что?
вообще, речь шла о графе зависимостей в spreadsheets, и он таки граф, а не просто дерево. diamond-shape там вполне законное дело.

Добавление от 07.09.2009 10:10:

Vladimir Rybinkin
Мне, честно говоря, уже осточертел 4-й тест - уже давно ни малейших сомнений, что все задуманное реализуемо, но
...но ручки кривоваты?

m._(u.W[u.Y[u.Z

тут ошибка. должно быть u.X[u.Y[u.Z. так чисто понятнее бы было, что это полная ахинея.

Мне просто в голову не укладывается ... какая еще функциональность может понадобиться юзеру

это потому, что ты платежеспособного юзера лет 10 не видел.

С какой радости он должен платить вам бабки

Вот она, боль сердца -- что бабло платят не ему!

Добавление от 07.09.2009 10:15:

jooher

ты эта... не огорчайся. если ВР кого-то ругает -- то это обычно хороший человек. считай, что получил награду ))

P.S. хотя синтаксис у тебя всё равно мозголомный!

387. moderator-Kid, 07.09.2009 10:22
Vladimir Rybinkin
Единственная серьезная неприятность - это то, что при молчаливом попустительстве этих дебилов, совсем уж ох...шая от жадности и безнаказанности мразь успела уничтожить единственный реальный инструмент (для ЭТИХ - "вреднейшую конструкцию").

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

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

Надеюсь на понимание.

388. SERGEY_BIG, 07.09.2009 10:22
Vladimir Rybinkin
А на странице уже сейчас не просто "Борей", а с недостижимой для Access функциональностью.
То есть два месяца неимоверного напряжения умственных сил ушли на то, с чем в рамках форм MS Access за неделю справится студент второго курса?

389. jooher, 07.09.2009 12:07
Vladimir Rybinkin
Ну, моя совесть чиста - я предупреждал.

Это ты меня типа разнес в пух и прах, надо думать? Слово "токен" тоже знаешь? Да еще и по-нерусски что-то там сочинял с этим словом (да не один, а "с Ромкой" !!!) ? Ну ты меня прям-таки убил наповал своей крутью. У тебя наверно и патент теперь на это слово есть?

Можно только гадать, до какой низости и лжи может опуститься ЭТО уже не в безобидной, нейтральной ситуации, а в попытках впарить свое ЭТО за реальное бабло

Ты как собака Павлова - рефлексы одни остались. Увидел слово Licensing Information - пошел брызгать слюной про бабло и лопату. Ты бы штоли эту самую Licensing Information (http://dapmx.org/#licensing) почитал сперва, дурик. И вообще неплохо бы тебе научиться читать предложения целиком, а не искать в тексте знакомые слова и сразу всем бежать рассказывать про свой негативный опыт по этим словам.


dozen
ты эта... не огорчайся. если ВР кого-то ругает
Шутишь чтоли? Такая реклама

синтаксис у тебя всё равно мозголомный!
Просто требует некоторого вкуривания и, возможно, не очень хорошо мной расписан. Синтаксис в дапе не самое сложное. Главная сложность в непривычности самого подхода (для меня по крайней мере) и отсутствии (пока) типичных формулировок для типичных задач (да и сами эти типичные задачи пока только начинают вырисовываться, и я сейчас больше занят ощупыванием границ возможностей, чем устаканиванием уже найденных решений - поэтому и говорю о "младенческой стадии" проекта). Если таки решишься на "попробовать на практике" - думаю, на конкретных задачах въедешь гораздо лехше.

Добавление от 07.09.2009 13:40:

Vladimir Rybinkin
и стало пудрить мозги уже исключительно своим собственным ЭТИМ

Да, Владимир, можно Вас еще попросить о следующем: когда Вы пишете про ЭТО, не затруднит ли Вас оформлять ЭТО ссылочкой на http://dapmx.org ? Мне кажется, так реклама будет еще эффективней Умеете ссылочки делать в постах?

390. theaspect, 07.09.2009 14:01
Нежнее jooher, нежнее
и главное поменьше еды

391. Chippy2003, 07.09.2009 17:40
jooher
когда Вы пишете про ЭТО, не затруднит ли Вас оформлять ЭТО ссылочкой
есть подозрение, что google игнорирует посты ВР при подсчете своего рейтинга

392. loyolla, 07.09.2009 20:00
у меня возникло страшное подозрение

Vladimir Rybinkin

Ну хорошо. Вот Вы тут всех поставили на место. Отщелкали всех по носам, раскрыли глаза ребяткам, убедительно доказали, что программистов здесь нет, что мы тут все шушера, стадо баранов, никому не нужны и все такое. Полагаю, что с Вами никто спорить по этому поводу не будет. Будем считать, что так оно и есть...
Но все же есть вопрос. А зачем Вы это делаете? Зачем вот

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

и далее по тексту... Давайте предположим, что то, что сделано - это прорыв. Просто, эффективно, никто раньше до такого не додумался. В общем - гениально. Страниц 15-20 назад выяснилось, что все, что Вы сделали, работает только на старых браузерах. Ни один из современных браузеров, которые установлены у 90% пользователей, Ваш код не выполняет. Почему Вы не сделаете так, что бы это работало не только на ИЕ5 (или что там у Вас)? Ну вот jooher взялся портировать, да не смог. Ну это нормально, мы уже выяснили, что мы все тут бараны. Чего же от нас ожидать? Но Вы-то, Вы!

И еще. Вы всерьез полагаете, что школьники ... города Нелидово будут писать браузер?

393. Gipnoss, 07.09.2009 20:55
loyolla
у меня возникло страшное подозрение
И какое, если не секрет?

И еще. Вы всерьез полагаете, что школьники ... города Нелидово будут писать браузер?
А че...были прецеденты http://offline.computerra.ru/2003/479/24219/
Правда завершилось печально http://209.85.129.132/search?q=cache:TCsIBjcwvQgJ:bl…mp;client=firefox

394. loyolla, 07.09.2009 21:23

Gipnoss
И какое, если не секрет?
Давайте подождем ответа Владимира.

395. lvqcl, 07.09.2009 21:32
loyolla
Давайте подождем ответа Владимира.

Тест Тьюринга?

396. jooher, 07.09.2009 22:24

loyolla
Давайте подождем ответа Владимира

Делаем ставки!
Мой прогноз: loyolla, Вы теперь станете очередной новой музой ВР - на основании "Вот Вы тут всех поставили на место. Отщелкали всех по носам" (учтите, цирроз мозга у ВР наглухо убил отдел чувства юмора, и Ваша ирония для него ну ооооочень уж тонка). Когда же Вам наскучит ему подыгрывать, то Вы станете либо очередным "сбежавшим трусом", вроде ivanhoe, либо очередным "неоправдавшим высокое доверие", типа меня.
Вот кстати, еще повод для тотализатора: хватит ли у ВР смелости в итоге кидаться какашками в даму; и если да, то после какого по счету ее поста?

397. dozen, 07.09.2009 23:25
lvqcl
Тест Тьюринга?
вот была бы развязка, если б выяснилось, что навязший в зубах СИНТ -- ничто иное, как ИИ, и именно он, а не его автор пишет сюда посты последние 5 лет...

398. rGlory, 08.09.2009 02:07
dozen
цитата:
вот была бы развязка, если б выяснилось, что навязший в зубах СИНТ -- ничто иное, как ИИ, и именно он, а не его автор пишет сюда посты последние 5 лет...
Artificial stupidity? И ту последовательность оно пыталась сжать и в итоге деньги заплатило? Не верю

399. Denis_03, 08.09.2009 02:16
цитата:
dozen:
lvqcl
Тест Тьюринга?
вот была бы развязка, если б выяснилось, что навязший в зубах СИНТ -- ничто иное, как ИИ, и именно он, а не его автор пишет сюда посты последние 5 лет...
Ну вообще-то, идея не нова: достаточно вспомнить развязку фильма "Небесный капитан и мир будущего" (Sky Captain and the World of Tomorrow) - с трупом Профессора и запиской "простите меня".

400. dozen, 08.09.2009 02:45
rGlory
и в итоге деньги заплатило?
это ИИ автора жОстко подставил! а ВР пришлось заплатить, чтобы не раскрывать своего прорыва раньше времени.

Добавление от 08.09.2009 04:26:


Denis_03
с трупом Профессора и запиской "простите меня".
да, только у ВР в зубах торчит записка "удавитесь, бараны!"

401. Partisan, 08.09.2009 06:33
Vladimir Rybinkin
Ты на него-то посмотри! Как может у дерева быть граф?

Элементарно. Если граф подойдёт к дереву, то он будет у дерева.

А на странице уже сейчас не просто "Борей", а с недостижимой для Access функциональностью.

Это фантастика.

402. Vladimir Rybinkin, 08.09.2009 09:27
theaspect
Во-первых, не надо врать: я никогда не утверждал, что "eval - это мегаруллз". Это всего лишь суррогатный указатель, но и этого более, чем достаточно, чтобы повысить функциональность в разы. И вообще, вышвырнуть на хрен пресловутые библиотеки, и решить все эти гребаные "проблемы" современных "девелоперов". Тем более, что JS - интерпретатор, что дает возможность даже генерить код "на лету", и скармливать броузеру полученные функции.

Во-вторых, без указателей любой язык программирования мгновенно превращается в полное дерьмо. И хотел бы я посмотреть на того идиота, который посмеет это отрицать.

В-третьих, "потенциальная цена ошибки" (как и "кинетическая") практически равна нулю. Ну, отвиснет чо-нить, ну, "синий экран смерти" появится. А отломать головку дисковода можно и без указателей - совершенно легальными командами контроллера. Зачем ребенку острый ножик - он же порежется! Не знаю, как там ребенку, но для взрослых людей и острый ножик, и указатели - очень удобная, полезная, практичная вещь.

В-четвертых, злоумышленников бояться - комп не включать. Дыр в ем - НЕМЕРЯНО! И самые безопасные - от JS: там же ТЕКСТ перед глазами. Броузер вполне мог бы почитать предварительно, разобраться (если уж так обосрался) - писал же уже.
цитата:
Очень рекомендую хром.
На кой он мне сдался? Меня мой вполне устраивает (даже с этими чудовищными выкрутасами с переменными в JS).

Yak
цитата:
А как называется человек на самом нижнем уровне, который который не удосужится изучить инструмент, который тужится использовать? Ну, как минимум неуч - это точно.
Именно так. Я никогда не подозревал, что переменная может произвольно менять содержимое без операции присвоения. Про знание причины такого поведения я просто молчу.
цитата:
Мастер не знает, что такое XSS
Именно так.

jooher
цитата:
Неужели прям таки дошло? Таки вот прям бац и сошла благодать? Что если var не объявлять то с глобальной переменной работаешь (это упасибоже не подсказка, ты сам все прекрасно знаеш конешно же).
Нет, подобного бреда я не знаю. В любом нормальном языке отношение к глобальным переменным еще более уважительное, чем к локальным. А уж использовать без зазрения совести необъявленную глобальную переменную, да еще иногда в упор не замечать по всем правилам объявленной локальной... В общем, я все сказал: Банда бездарей, неучей, тупиц, дебилов - на всех уровнях! Кстати, у меня неплохо себя чувствуют глобальные переменные, объявленные через var - в любом тесте они есть.
цитата:
Вот Вы, Владимир Владимирович, пишете, что Вам 50 лет. Ну как так можно? Неловко уже наблюдать как над пожилым человеком прикалывается вся ветка.
Это типа пытка холодной водой? У каждого новичка возникает сия гениальная мысль, которую он считает своим долгом вывалить на мою многострадальную голову? А додумать следующую мысль все интеллектуальные силы уже исчерпаны? А мне раз за разом нужно эту самую вторую мысль повторять - правда? Тем более, что информация неверна - мне уже 51. Ну, что же, повторю... Попробуйте сами поверить этим словам. Считайте, что все это правда - от первого до последнего слова. В таком случае, толпа садистов ходит из ветки в ветку, и занимается неприкрытой травлей больного (умственно неполноценного) пожилого человека. В моей версии событий вы все же не такая паскудная мразь, какой вы периодически себя выставляете.
цитата:
а просто потому что ну реально невозможно удержаться - такие Вы подарки выдаете.
А не могли бы Вы перечислить хотя бы пару-тройку таких "подарков"? Чтобы я смог "поберечь уже свои седины", и не "давать повод за поводом хором надо мною ржать"? Только не из области "навозных мух", плиз - конфа называется все же "Программирование", знаете ли... Готов в ответ перечислить аналогичное (или даже удвоенное) количество пунктов, почему меня заставляет - нет, отнюдь не ржать - рекламируемое Вами в моей ветке Ваше... произведение. Мне это труднее: я старше, и DAP Ваш мне омерзителен. Вы - тоже.

Partisan
цитата:
Уточнение. Я это писал, отвечая не вам. Вам я и не пытаюсь что-то объяснить.
Конечно, конечно. Другим нести ахинею - это можно.
цитата:
Если уж Кнут не смог вам ничего объяснить, то шансов мало.
А уж Кнута к своему собственном бреду приплетать вообще непристойно.
цитата:
Да и стоит ли - у вас аллергия на знания.
На "знания" тех, у кого нет абсолютно никакого умения? Да, согласен - аллергия. Умудриться откопать на клиенте столько до сих пор нерешенных проблем, обложиться библиотеками с ног до головы, скулить по сраной многопоточности, и даже приходить в ужас от отладки JS-кода... Это да, это знания! Это талант, это гениальность, но это и аллергия - признаю.
цитата:
Поэтому ваша брань лишена смысла.
Брань?! Нет, мой дорогой, Вы опять ничего не поняли: презрение очень плохо сочетается с любыми иными чувствами. Браниться можно разве что на разработчиков от Microsoft, которые СОЗНАТЕЛЬНО лишили юзеров инструментария. Даже не на авторов AJAX и прочих разработчиков, которые не удосужились еще снабдить нынешних "программистов" каким-нить "управлением потоками" и прочими костылями. Все эти "проблемы", которые интересуют лишь разработчиков софта, но не конечных пользователей, меня совершенно не интересуют. Это классические посредники, а посредники должны уничтожаться.

dozen
цитата:
Еще недавно лебезил перед ним, чуть не лобызаться лез.
Для экспертов - подробнее: Ваня - программист. Не крутой, до Шпеера дистанция огромного размера, но все-таки. С ним МОЖНО разговаривать о программировании. С тобой же - разве что о навозных мухах. Да и человеческие качества у него явно выше на порядок. Доступно?

theaspect
цитата:
Каким образом реализовать блокировки?
Господи, это что, новый sip?! Какое отношение эта ветка имеет к каким-то там проблемам с блокировками (даже если предположить, что проблемы эти действительно существуют)?! ХРЕН ЗНАЕТ КОГДА это все здесь обсуждалось, и все проблемы тыщу лет как сняты. Рецидив? И что это, кстати, за ужасы с "деревом до тысячи узлов"? У меня в третьем тесте граф на 619 узлов, и отнюдь не дерево (хотя некоторая "древовидность" еще просматривается). А в 4-м - 1644 узла, у которых в настоящее время... 7203 ребра (без учета субграфа метаданных), и это количество должно, как минимум, утроиться. Надеюсь, понятно, что это не на сервере (а то были уже случаи)... И чо, со сраным деревом тоже проблемы?! Просто плюнуть некуда, чтобы в проблему не попасть! Ну и народец, ну и специалисты...

All
Попробую-ка я все же познакомить народ со СВОИМИ проблемами...

Итак, при обычном заходе (анонимного) клиента на сервер (не через AJAX), на него грузится минимально необходимая математика клиентской СУБД, и некоторые данные по умолчанию (в 4-м тесте - вышеописанная выборка из Борея). В общем случае, "под видом" страницы загружается виртуальный сайт (3-й и 4-й тесты), с возможностью для юзера там "погулять", не беспокоя сервер по пустякам. Собссно, юзер и знать не должен, идут обращения к серверу (подкачка новых данных или математики) или нет - это проблемы AJAX. Если обращения к серверу не происходит (а меня пока что только этот случай и интересует), любой клик юзера по гиперссылке (кроме обычных внутристраничных переходов) вызывает генерацию новой страницы на месте старой (в нашем случае - в единственный имеющийся в наличии фрейм, описанный в index.htm). Поскольку данные достаточно разнородные, внешний вид этих виртуальных страниц заметно отличается. Управляется все это дело базовым шаблоном (единым для всех страниц), который организован как поток (стек очередей), "сопрограммным" потоком текущих настроек с FRAMESET (юзер тоже может принимать участие в оформлении страниц - они же ДЛЯ НЕГО предназначены), и определяемым по классу объекта-хозяина шаблоном страницы (организован пока как вложенный в первый поток стек очередей - возможно, будет выделен в независимый, "сопрограммный" поток). Именно этот третий поток и отвечает за "индивидуальность" структуры страницы. Именно он (строго говоря, не только он, но это мелочи) определяет расположение элементов на странице, количество таблиц, их структуру и т.п. Объекты одного класса отличаются лишь данными полей и их количеством (изменяется число строк таблицы, но не столбцов).

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

2. Как вообще должны выглядеть страницы объектов Борея, в каких пределах должен изменяться их внешний вид под воздействием юзеровских настроек, чтобы удовлетворить любого юзера до полного оргазма. От новичка до профессионала.

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

403. theaspect, 08.09.2009 10:47
Vladimir Rybinkin
вот загрузили два клиента по полторы тысячи ребер, первый изменил первые пятьсот штук, второй - последние, и оба нажали сохранить. Вопрос: как будем сливать разные версии данных?
отладка js в современных браузерах давно не проблема - всё обзавелись мощным инструментарием (например firebug) и уже не выдают 'Ошибка: ошибка'.
Ну и напоследок повторю вопрос: для кого пишется данный фреймворк? - IE 5.5 давно умер.



Добавление от 08.09.2009 10:47:

телефон глючнул и продублировал

404. Chippy2003, 08.09.2009 11:01
theaspect
всё обзавелись мощным инструментарием
, не ну по сравнению с alert('') мощь конечно имеется, но корректнее - каким никаким, уровня 20 летней давности инструментарием

405. sip, 08.09.2009 11:56
theaspect
Твой пример не очень, если модифицировали не пересекающиеся сущности, то сервер сможет правильно отработать. А вот если первый и второй изменили одно и тоже но по разному, а версионность данных не допускается, то тогда сервер должен кого-то "отшить" или с блокировками нужно систему делать. Если копнуть дальше, то ситуация становится хуже. Представь, что на клиенте что-то долго считается на базе тысячи объектов, в это время часть из них стала не актуальной, из-за конкурентной модификации данных другими пользователями. Результат такого расчёта не может быть принят сервером, соответственно клиент считает в холостую. Т.е. нужен механизм поддержания данных в актуальном состоянии на каждом клиенте, и может оказаться, что проще всё считать на сервере. Но поскольку сервер у ВР принять МОЖЕТ всё, то и проблемы нет

406. jooher, 08.09.2009 12:09
Vladimir Rybinkin
А уж использовать без зазрения совести необъявленную глобальную переменную, ... Кстати, у меня неплохо себя чувствуют глобальные переменные, объявленные через var
Подробно, для алгоритмистов: если внутри функции объявляеш var x, то имееш локальную х. Если var x объявляешь не в функции, или не объявляеш вообще, то получаешь глобальную х, точнее поле объекта window: window.x.
Што, это никак не совместимо с твоим алгоритмическим гением?

да еще иногда в упор не замечать по всем правилам объявленной локальной
А это вранье

я никогда не утверждал, что "eval - это мегаруллз". Это всего лишь суррогатный указатель
вот код:
код:

function aFunction(param){return param+1};
function bFunction(param){return param+10};
var myFunctions=[aFunction, bFunction], myParam=0;
for(var i in myFunctions) myParam=myFunctions[i](myParam);

к чему бы это я?


В таком случае, толпа садистов ходит из ветки в ветку, и занимается неприкрытой травлей больного (умственно неполноценного) пожилого человека.
Садизм (http://slovari.yandex.ru/dict/gl_social/article/14013/1401_3220.htm?text=садизм&stpar1=1.1.7) в широком смысле — склонность к насилию, получение удовольствия от унижения и мучения других.
1. Насилие?
2. Удовольствие от унижения? Это больше к Вам. Вы тут главный любитель поиграть в "унижателя всея руси и обеих америк". И Ваше удовольствие от "щелкания по носам" (воображаемого, но Вы-то этого не знаете) прямо таки бьет ключом и собственно над ним весь форум и потешается.
Нет ничего смешного в человеке, не знающем js ( + по остальным веткам) или не имеющем нормального браузера; и даже в человеке, у которого любимый браузер - ИЕ5. Но когда такой человек на полном серьезе начинает ставить себя в пример, а всех остальных крыть баранами, дебилами и тд, да еще в такой специфичной манере - это да! Это супер-ржач и супер-рейтинги.
3. Мучения? Мучение подразумевает реакцию объекта мучений. Подозреваю, что прошибить Ваш ментальный барьер никому в этой ветке не под силу. Это все равно, что обзывать черепаху тормозом. Я подозреваю, что Вы действительно считаете себя здесь самым крутым, и все упражнения присутсвующих в остроумии Вам как слону дробина. Идеальный симбиоз - и народу весело, и Вам урона никакого. Все довольны.

Добавление от 08.09.2009 12:19:

rGlory
Artificial stupidity?

Не согласен. Если ВР действительно ИИ - то очень крутой. С различением "добра" и "зла" - кто меня похвалил, кто поругал. Конечно, прогоны про FRAMESET, графы и очереди на уровне спамогенераторов вчерашнего дня и комментарии к постам тоже вобщем-то не блещут эвристикой... но... сколько уже топиков то рекордных было!

407. Gipnoss, 08.09.2009 12:36
Vladimir Rybinkin
2. Как вообще должны выглядеть страницы объектов Борея, в каких пределах должен изменяться их внешний вид под воздействием юзеровских настроек, чтобы удовлетворить любого юзера до полного оргазма.
Вопрос звучит так: каким должен быть идеальный интерфейс?
На сколько мне известно, наука еще не нашла ответ на него.

Теория унижения...это так интерееесно, картинки будут?

408. Partisan, 08.09.2009 20:33
Vladimir Rybinkin
А уж Кнута к своему собственном бреду приплетать вообще непристойно.

Значит, Кнута он ещё не читал и надо полагать, не будет. Справедливо: Кнут тоже не читал Vladimir-а Rybinkin-а и не будет. Я его приплёл как пример профессионального объяснятеля, который однако оказался бессилен в случае с V.R. Не рискую с ним тягаться (с Кнутом).

409. zzf, 08.09.2009 21:48
theaspect
вот загрузили два клиента по полторы тысячи ребер, первый изменил первые пятьсот штук, второй - последние, и оба нажали сохранить. Вопрос: как будем сливать разные версии данных?

Да не будут у него пользователи никакие рёбра менять! Он им — данные, они ему — рассчёты. Раздаст с избыточностью (на случай пользовательского вредительства), соберёт статистику, проанализирует, построит маршрут для миллиарда узлов или предскажет стоимость нефти на ближайшие 100 лет. Дальше Багамы с Мальдивами, надо полагать.

Вот же он и сам пишет:

Vladimir Rybinkin
Итак, при обычном заходе (анонимного) клиента на сервер (не через AJAX), на него грузится минимально необходимая математика клиентской СУБД, и некоторые данные

Осталось только дождаться когда народ на 5-й IE переползёт.

410. rGlory, 08.09.2009 22:05
Partisan
цитата:
Значит, Кнута он ещё не читал и надо полагать, не будет.
VR Кнута не читал, но как все советские люди, осуждает

theaspect
цитата:
телефон глючнул и продублировал
Кстати, кто может предположить, какова будет реакция VR, когда он узнает, что есть еще "один" тип клиента - мобильный, и что там скорее всего не IE-5. То, что он сделает вид, что для него это не новость, это понятно, а далее?
Делаем ставки господа...

411. dozen, 08.09.2009 22:10
rGlory
Делаем ставки господа...
тупые юзеры!

413. Gipnoss, 09.09.2009 00:15
rGlory
Делаем ставки господа...
Заставим работать клиентов с IE5 за двоих.

414. zzf, 09.09.2009 00:57
rGlory
Кстати, кто может предположить, какова будет реакция VR, когда он узнает, что есть еще "один" тип клиента - мобильный

Эту затею Вы бросьте! Не хватало ещё, чтобы мой телефон ему рёбра считал!

415. theaspect, 09.09.2009 04:55
zzf
SINT@home???

416. dozen, 09.09.2009 07:26
theaspect
SINT@home???
Мгм... что-то в этом есть... нахождение коллизии в SHA256 на Javascript... ммм... вкусно!

417. Vladimir Rybinkin, 09.09.2009 09:24
Sioln
цитата:
Ты чем-то от "них" отличаешься?
Как минимум, не скулю о различных смехотворных проблемах.

dozen
цитата:
тут ошибка. должно быть u.X[u.Y[u.Z. так чисто понятнее бы было, что это полная ахинея.
Ясный пень, ахинея: u.X - шаблоны выдачи + структурные шаблоны, и использовать их имеет смысл только в виде индекса.
цитата:
Вот она, боль сердца -- что бабло платят не ему!
Я вот никак не пойму: чего ты так на них помешан-то? Ежу понятно, что у тебя самого ни гроша за душой: жуткая борьба за то, чтобы юзер "впустую" на сайт ненароком не зашел, страхи вылететь за тарифный план по траффику, работаешь ты, чтобы жить и т.д. Такое ощущение, что не придет сегодня юзер с бабками - и завтра ты помрешь с голоду. Но даже если и так - остальным-то какое до этого дело?

SERGEY_BIG
цитата:
То есть два месяца неимоверного напряжения умственных сил ушли на то, с чем в рамках форм MS Access за неделю справится студент второго курса?
Нет, "рамки форм" меня ваще не интересуют - тыщу раз видел, как они медленно умирают при весьма небольшом (в пределах миллиона) увеличении объема данных, или даже при малейшем, буквально ничтожном усложнении запросов. Я про до сих пор не достигнутую функциональность СОЗДАТЕЛЯМИ этого самого Борея - графовый Address, траекторный доступ, многозначные атрибуты... Вот скажите мне: за каким хреном в отношении Оrders нужны столбцы: Address, City, Region, PostalCode, Country? Я вот, например, их просто выкинул - и без малейшей потери информации. А почему никто из "студентов-второкурсников" до сих пор не удосужился этого сделать?

jooher
цитата:
Слово "токен" тоже знаешь?
Знаю. Знаю также, что если это и есть "самое сложное" - дальше можно просто не читать.
цитата:
Ты как собака Павлова - рефлексы одни остались. Увидел слово Licensing Information - пошел брызгать слюной про бабло и лопату.
Не-а. Я увидел, что продукта еще и близко нет, а разговоры о бабках уже идут. А еще увидел, что Yak и даже dozen (!!!) рекомендовали поскромнее себя вести. И меня АБСОЛЮТНО не интересует, что там в Licensing Information - такую хрень... Пусть полюбится кому - я и даром не возьму. И с доплатой не возьму.
цитата:
И вообще неплохо бы тебе научиться читать предложения целиком, а не искать в тексте знакомые слова
О! Меня начали цитировать.
цитата:
я сейчас больше занят ощупыванием границ возможностей
А не проще перечитать определение токена?
цитата:
поэтому и говорю о "младенческой стадии" проекта
Она же и старческая. Продуктом это не станет НИКОГДА.
цитата:
Умеете ссылочки делать в постах?
Умею.

loyolla
цитата:
Ну хорошо. Вот Вы тут всех поставили на место. Отщелкали всех по носам, раскрыли глаза ребяткам, убедительно доказали, что программистов здесь нет, что мы тут все шушера, стадо баранов, никому не нужны и все такое.
А как прикажете называть людей, с приходом которых на клиента количество проблем лишь увеличивается, они становятся "внутренними" (про юзера уже никто и не вспоминает - до того ль, голубчик, было), неспособных ни на что, кроме как вызвать из соответствующей библиотеки кем-то написанный метод, впадающих в панику от отладки "крупной" программы аж в 500 строк JS (ИНТЕРПРЕТАТОРА!!!), etc., etc., etc. Предложите свой вариант, я буду пользоваться Вашим определением. Только не "программисты", плиз - это просто выше моих сил. Да и кощунственно.
цитата:
Но все же есть вопрос. А зачем Вы это делаете?
Ваще-то, я уже не раз отвечал: мне нужно определиться, какую функциональность может сожрать клиент, собрать это в стопочку, перевязать ленточкой, и заняться сервером с учетом выявленных возможностей.
цитата:
Давайте предположим, что то, что сделано - это прорыв.
Зачем делать заведомо глупые предположения? Никакой это не "прорыв", все тыщу лет известно, и реализовано даже в командах ассемблеров - всех до единого. Просто и эффективно - да, несомненно. Меня просто поражает, что это здесь пытаются оспаривать.
цитата:
Страниц 15-20 назад выяснилось, что все, что Вы сделали, работает только на старых браузерах.
Совершенно верно. Думаю, мой шок от этого дела тоже хорошо заметен.
цитата:
Ни один из современных браузеров, которые установлены у 90% пользователей, Ваш код не выполняет.
Именно за это я и материл здесь мелкомягких.
цитата:
Почему Вы не сделаете так, что бы это работало не только на ИЕ5 (или что там у Вас)?
На этот вопрос я тоже отвечал. Что противно - именно Вам. Но я повторю: Потому, что даже если я и извернусь, достану левой ногой правое ухо, немедленно появится какой-нить IE-152, где и эта возможность будет аккуратно вырезана. И вообще: есть прекрасная, старая, испытанная конструкция, которая легко и весело решает все - ВСЕ!!! - проблемы клиента. Спрашивается: на кой хрен нужно искать что-то еще? Только потому, что какая-то сволочь решила эту конструкцию вырезать, и посмотреть, как будет народ изворачиваться? Представьте: Вы - лесоруб, идете в лес валить деревья. Глядь - а топор-то сп....ли! И говорят: а ты сделай так, шоб деревья без топора валить. Ну и каков будет Ваш ответ? Нормативная лексика там останется? Или начнете срочно изобретать бензопилу? Или хотя бы ножик, чтобы дерево можно было обстругать? Так на следующую ночь их тоже... того... И чо делать - ну, посоветуйте!
цитата:
Но Вы-то, Вы!
А "я-то, я" вообще клиентом заниматься не имею ни малейшего желания. И никогда не имел. Я предполагал совершенно другое развитие событий в этой ветке. Но столкнулся с ТАКОЙ ДИКОЙ БЕСПОМОЩНОСТЬЮ, что... И - обратите внимание - именно те, у кого эти самые "проблемы" с помощью eval могли быть разрешены без особых усилий, оказывают яростное неприятие этого инструмента. Им эти проблемы НУЖНЫ! Потому как при их разрешении немедленно выяснится, что не нужны они сами.
цитата:
Вы всерьез полагаете, что школьники ... города Нелидово будут писать браузер?
Нет, конечно. Но они вполне в состоянии это сделать - ничего там особо сложного нет (без графики, по крайней мере) - я ОБ ЭТОМ писал.

И еще. Бараны вы там, или не бараны - это совершенно неважно: все мы бараны - не в одном, так в другом. Я еще в самом начале ветки писал: Быть глупым или невежественным - это абсолютно нормально, господа. Вот трусом быть - это и в самом деле позорно. Меня бесит именно трусость - все эти распальцовки якобы чего-то в чем-то понимающих, которые пришли сюда просто полюбоваться на этого идиота. Это - законсервированная тупость, безнадежная! Этих я бы с удовольствием вышвырнул из ветки, променял бы на совершенно ничего не знающих, но пытающихся, желающих разобраться. Моя школьная учительница математики (к сожалению, ныне покойная), Сольба Галина Федоровна, как-то сказала: "Ну что вы за люди! Объясняешь, объясняешь - САМА ПОЙМЕШЬ, а до них все не доходит"! ГЕНИАЛЬНАЯ фраза! Лучший способ понять - объяснить другому, вместе ошибаться, вместе выпутываться. А здесь что? Тошниловка! Посмотрите: они говорят о чем угодно, только не о программировании, и уж тем более не о теме ветки. Аж в шахматы компьютерные полезли - совсем уж до ручки дошли! Зачем Вы говорите "мы"? Зачем Вы отождествляете себя с ними? Ведь Вы же не такая - это же видно невооруженным глазом! Помните Чайника - как я с ним цапался? Ведь умница! Или Ваня, Витька, arsa в конце концов, Konstantin Mironovich... И есть dozen, jooher, lvqcl, Partisan, rGlory, zzf - это ж совсем другие люди!

All
Похоже, опять нарвался: у меня двухсловный (можно даже сказать "двухбуквенный") язык для структурной разметки, и такой же (в тех же буквах) для разметки очередей. Потому-то я и вывел из общей "мясорубки" u.W - чтобы инициализатор не принял один язык за другой, и не разметелил методы в пыль. А теперь получается, что выгодно третий поток сделать именно сопрограммным, но, поскольку очередь не умеет работать с циклами и условиями, эмулировать это через функцию первого потока. То есть разметелить его все-таки нужно, но НЕ ТАК... Самое простое, видимо, ввести четырехбуквенный алфавит... так, ввели... Ну и в чем дело?! Оба-на! А почему ж ты раньше работала? Ах ты гадина, ты ж только притворялась, там же все равно было, когда ты работу начнешь, и где окончишь... А в SINT как же? А в SINT прикладнику не позволено грязными лапами в монитор лазать - токо через события, которых здеся не имеется... Это дело сурьезное, это токо на свежую голову. Да и вообще, надо хорошенько обмозговать...

Попробуем с утречка...

Итак, имеем: одна из сопрограмм - очередь (точнее, стек), вторая - функция. Внутрь функции передать управление невозможно (я, по крайней мере, не умею, тем более, что эти суки даже goto отрезали). Посему функция может передать управление сопрограмме только через CALL, и получить его обратно только через RETURN. А сделать CALL на монитор низзя - он отмолотит весь стек до полной выработки. А вызов метода у нас виртуальный - просто вброс новой очереди в стек, и это правильно... Стало быть, нужна функция не просто вброса очереди, а с немедленной передачей управления монитору, а в конце той очереди должен стоять именно явно прописанный RETURN - третье слово языка разметки очередей, и пятое в общей сложности... А что делать - иначе ЭТОТ монитор выполнит всю работу ТОГО. Короче, вроде бы не особо страшно все выглядит. Но неприятно, конечно - поток должен знать, что у него там за "напарничек", и каким способом ему нужно отдаваться - то ли через команду сопрограммного перехода, то ли через RETURN. Прям так и вижу картину: сидит куча мониторов (в разных местах программного стека) на одном и том же стеке очередей, и охраняют свою зону:
Ухо всяк держал востро,
И хранил свое добро.

Впрочем, это же всего лишь клиент - ему есть кому поплакаться. Ладно, обслужим - мы ж крутые, мы ж разработчики... этого... как там AJAX-овцы залудили?.. complex JavaScript software - во! Или, по-jooherу, "core". Чо нам, системщикам, сраный JS-код на отладить - да, Ваня?

418. jooher, 09.09.2009 10:04

Vladimir Rybinkin
Зачем Вы отождествляете себя с ними? Ведь Вы же не такая - это же видно невооруженным глазом!

ибо сказано:

jooher
Мой прогноз: loyolla, Вы теперь станете очередной новой музой ВР - на основании "Вот Вы тут всех поставили на место. Отщелкали всех по носам"

Добавление от 09.09.2009 10:06:

Vladimir Rybinkin
Вот скажите мне: за каким хреном в отношении Оrders нужны столбцы: Address, City, Region, PostalCode, Country? Я вот, например, их просто выкинул
Намечается очередной прорыв - изобретение хмл. все замерли

И меня АБСОЛЮТНО не интересует, что там в Licensing Information - такую хрень... Пусть полюбится кому - я и даром не возьму
Тебе-то как раз никто и не предлагал. Еще не хватало чтобы ты потом носился по форумам с рассказами "как мы с jooherом написали dap".

Vladimir Rybinkin
Чо нам, системщикам, сраный JS-код на отладить - да, Ваня?
Ваня в теплых странах икает не переставая наверно

419. SERGEY_BIG, 09.09.2009 10:56
Vladimir Rybinkin
графовый Address, траекторный доступ
Владимир, мировая общественность об этих открытиях ничего не ведает. По крайней мере, презираемый тобой Google.

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

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

420. blackhearted, 09.09.2009 12:17
Признавайтесь, чей бредогенератор ВР ?

421. Gipnoss, 09.09.2009 12:48
Vladimir Rybinkin
-Ни один из современных браузеров, которые установлены у 90% пользователей, Ваш код не выполняет.
-Именно за это я и материл здесь мелкомягких.

90% слишком оптимистично.
Судя по данным: http://www.w3counter.com/globalstats.php , если IE5 и осталось у кого, то это сотые %.
И опять по тем же данным, мелкомягкие ни причем.

422. dozen, 09.09.2009 15:44

jooher
"как мы с jooherом написали dap"


Ваня в теплых странах икает не переставая наверно
только испортили человеку отдых

blackhearted
Признавайтесь, чей бредогенератор ВР ?
такое под силу только господу богу, увы (или, скорее, к счастью).

423. rGlory, 09.09.2009 17:19
dozen
цитата:
только испортили человеку отдых
Ну в следующий раз будет знать, как с VR в таком тоне разговаривать

424. Partisan, 09.09.2009 20:16
Vladimir Rybinkin
впадающих в панику от отладки "крупной" программы аж в 500 строк JS (ИНТЕРПРЕТАТОРА!!!)

Хоть комментировать бред - обычно излишне, но тут V.R. лягнул меня. Я не "впадал в панику", а описал ситуацию на основе своего опыта - большие скрипты на JavaScript в IE трудно отлаживать. Кстати, V.R., напоминаю, что писал я это не вам, а тем, кто (по моим предположениям) может понять. Вы (по моим предположениям) не могли это понять, поэтому я и не писал вам (в отношении вас предположение подтвердилось, значит). Это не грубость, а объяснение.

В части касательства третьих лиц - это лишнее. Не надо так.

426. dozen, 10.09.2009 06:15
Пока тут ВР сопли по IE5 размазывал, а мы над ним потешались, некая компания Нокия выпустила SDK (http://www.forum.nokia.com/Ovi/) для своих мобильных телефонов, основанное -- как вы думаете, на чём? Правильно, на Javascript!

===
Ovi SDK Beta is your toolkit to create Ovi apps, which are easy to develop, mobile applications based on web technology that take user location as a starting point. Fully web-based, the Ovi SDK Beta runs as an extension to your PC browser, and includes:

* High-level JavaScript APIs to a rich set of Ovi functionality including 3D mapping and positioning (GPS) as well as turn-by-turn Walk and Drive navigation.
* UI framework and style guide takes you through the design process.
* UI library makes it easy to develop for mobile. UI components like lists, search boxes and menus, reduce the complexity of different screen sizes and device types.

Ovi apps are based on standard web technologies, such as HTML, CSS and JavaScript. Start building this new class of mobile apps and join our vibrant developer community.
===

У меня друган, инсайдер Нокии, уже вовсю кропает тестовые аппликухи. Будем посмотреть!

P.S. Увы, СИНТ не поддерживается.

427. Vladimir Rybinkin, 10.09.2009 09:20
theaspect
цитата:
вот загрузили два клиента по полторы тысячи ребер, первый изменил первые пятьсот штук, второй - последние, и оба нажали сохранить. Вопрос: как будем сливать разные версии данных?
Я просто дурею от ваших талантов выкапывать проблемы откуда угодно! Ну, загрузили, ну, изменили, ну, нажали, ну, по дороге на сервер они ваще перемешались, как в хорошем миксере - ПРОБЛЕМА-ТО ГДЕ?!
цитата:
отладка js в современных браузерах давно не проблема
Я вообще был в восторге, когда услышал, что отладка интерпретатора (на ЛЮБОМ броузере) может быть проблемой.
цитата:
Ну и напоследок повторю вопрос: для кого пишется данный фреймворк? - IE 5.5 давно умер.
Для клиента. Мне абсолютно насрать, умер там IE 5.5 или нет - совместимость снизу обязана быть в наличии. Переписывать ранее созданный код под каждое новое дерьмо - не слишком ли распоясались разработчики броузеров? Чо, деньги халявные никому не нужны? Вона, dozen - прям исстрадался весь. Пущай положит на свой сайт чо-нить работающее только на старых броузерах - хотя бы любой из моих тестов - и влепит иск на пару лимончиков "за упущенную выгоду". Исков 50 таких впендюрить - америкосы же любят это дело, наскоко я понимаю - и куды они на фиг денутся - тут же IE10+ появится! Эй, dozen, слышишь? С тебя пузырь за идею. Токо водки - коньяк я не люблю. Принимая во внимание твою жадность - пусть даже чекушка, пусть даже пустая, пусть даже за ней самому ехать придется.

sip
цитата:
А вот если первый и второй изменили одно и тоже но по разному, а версионность данных не допускается
А, ну это совсем другое дело! Здеся токо веревку намыливать - это даже не вопрос. Из наставления молодому охотнику: Если некогда перезарядить ружье, медведь идет на вас, а в руках есть палка(!), воткните ее одним концом в землю, и в момент прыжка зверя резко и ловко подставьте ему другой, острый(!) конец.
цитата:
Результат такого расчёта не может быть принят сервером, соответственно клиент считает в холостую.
Повторяю вопрос: какие дебилы этот сервер сделали, и какие на него ходят?
цитата:
Но поскольку сервер у ВР принять МОЖЕТ всё, то и проблемы нет
Слава те! Как и у всех нормальных людей.

jooher
цитата:
Подробно, для алгоритмистов:...
Да понял я, лапочка, понял - еще в первом постинге сказал, что понял. Нет, "это НИКАК не совместимо с моим алгоритмическим гением" - от разработчиков языка столь варварского отношения к глобальным переменным я представить ну никак не мог. Раз уж зуд такой преподавательский - подскажите-ка мне лучше (лень ковыряться самому) - конструкция var i,j,k="bcdemu";, надеюсь, все три переменные объявляет как локальные? Али только первую - чем черт не шутит? Для справки: внутри это функции, внутри.
цитата:
А это вранье
Конечно, конечно. Токо реакция какая-то тормознутая. См. мой пост от 31.08.2009 15:23, читать от слов: Батюшки! И у меня локальную переменную в упор не видит!Или пост от 29.08.2009 16:37, со слов Undefined variable: B
цитата:
к чему бы это я?
Вот уж без понятия! Мож, голову напекло?
цитата:
Садизм в широком смысле - склонность к насилию, получение удовольствия от унижения и мучения других.
Ух ты, куда понесло-то... Мож, вместо "садистов" читать "подонков"? Мож, полегче для понимания-то? А то, что у Вас серьезные проблемы с логикой, я и без подтверждений давно знаю - про Вашу "неловкость" Вы, разумеется, "не вспомнили". Равно как и про мою просьбу уважить больного старика, перечислить пунктики - правда?
цитата:
Я подозреваю, что Вы действительно считаете себя здесь самым крутым
Где это "здесь"? Среди кого? Вот, скажем, Вы - разве можно сравнивать какие-то КОЛИЧЕСТВЕННЫЕ показатели? Вы ж не умеете ни читать, ни писать, ни... А уж на DAP Ваш посмотришь... Нет, мой милый, я никак не круче даже Вас одного, а уж тем более вас "всех". Если же под "здесь" имеется в виду "на планете Земля" или "среди нормальных людей" - тем более. Чего далеко ходить - даже Антон, мой "официальный" ученик (я у него был руководителем диплома) гораздо сильнее меня как программист.
цитата:
Идеальный симбиоз - и народу весело, и Вам урона никакого. Все довольны.
Нет, мне явный урон: такой "народ", который способен находить в ЭТОМ (Вами описанном, Вами) некое "веселье", явно отпугивает нормальных людей от ветки. Да и меня резвящаяся банда... (не знаю термина - не силен в медицине) раздражает. И от дела отвлекает - с вами ж заниматься надо, как с маленькими, вы ж без этого совсем голову теряете. Вон, с несчастным "+=" чего творилось, пока совсем уж носом не ткнул! Слава Богу, догадался написать, а если бы нет? Ведь до сих пор восторги бездарей типа rGlory продолжались бы.

Partisan
Я могу лишь повторить: Кнута к своему собственном бреду приплетать БЕЗНРАВСТВЕННО!

Ну и всем остальным: порезвитесь, ребятки, порезвитесь - вам ведь название конфы по фигу, вам это безопасно...

All
В легкую, минут за пять, написал новое обращение с монитором, но отлаживался чуть ли не час, с отвисшей челюстью и квадратными глазами. Пока не догадался вывести системные переменные. Каково же было мое изумление, когда оказалось, что функция, которой я прикручиваю сопрограммное взаимодействие с третьим потоком, САМА УЖЕ сидит именно в третьем потоке, и именно как сопрограмма первого! И когда успел ее туда засунуть? Строго говоря, даже не в третьем, а во втором, поскольку бывший второй (благодаря объекту b), как оказалось, уже полностью перетек в первый. Не исключено, что и этот новый может ожидать та же участь: это мне явно распальцованные мозги запудрили - с многопоточностью, дескать, у них проблемы - так нате вам многопоточность. А на кой она 4-му тесту? Виртуальная разве что. Так что скорее всего математику мы несколько упростим: оставим лишь один стек очередей. А мож, распальцованные под "потоком" понимают всего лишь очередь? В таком случае, многопоточность явно сохранится.

Все, перекур, и тщательная спецификация взаимодействия с монитором, как и действий самого монитора. Раз уж У САМОГО МЕНЯ появились проблемы с чтением кода... А ну как jooher показать? Впрочем, у него давно уже предохранительный клапан сработал.

Эй, молодежь! С кем провести ликбез по клиенту - обговорить бы надо проблемы-то, инструментарий почистить. С этими... loyolla, надеюсь, даст термин - бесполезно: чуть не в каждом постинге отчетливо видно, с каким скрипом проворачиваются заржавленные извилины. Народ, АУ!

428. theaspect, 10.09.2009 09:28
Vladimir Rybinkin
Мне абсолютно насрать, умер там IE 5.5 или нет - совместимость снизу обязана быть в наличии.
мы живем в объективной реальности, несоответствие ИЕ5 стандартам - факт, и как следствие несовместимость снизу вверх

а судиться с МС смысла не имеет, если они давно не поддерживают древний софт, да и ЕУЛЕ все предусмотрено

429. sip, 10.09.2009 10:18
Vladimir Rybinkin

Повторяю вопрос: какие дебилы этот сервер сделали, и какие на него ходят?
А вот давай ты, великий гуру, перестанешь отвечать вопросом на вопрос, и поведаешь нам, как же твой сервер будет вести себя в приведённом мной примере. Только будь добр изъясняться понятным русским языком, без привлечения клингонской терминологии, и по возможности без абстрактных отсылок на "это тысячу раз уже обсуждалось".

430. zzf, 10.09.2009 11:09
Vladimir Rybinkin
Переписывать ранее созданный код под каждое новое дерьмо

Володя, ты не понял. Никто и не требует переписывать ранее созданный IE под твоё "новое дерьмо", как ты говоришь. Как раз наоборот — умоляем переписать дерьмо пардон, доделать недоподелку.

Эй, dozen, слышишь? С тебя пузырь за идею. Токо водки - коньяк я не люблю. Принимая во внимание твою жадность - пусть даже чекушка, пусть даже пустая, пусть даже за ней самому ехать придется.

Это как бы попытка свалить в Канаду?

Каково же было мое изумление, когда оказалось, что функция, которой я прикручиваю сопрограммное взаимодействие с третьим потоком, САМА УЖЕ сидит именно в третьем потоке, и именно как сопрограмма первого!

У меня такое ощущение, что фразами, типа этой, мастер испытывает свой бредогенератор искусственный интеллект. Пока естественные интеллекты его не понимают. Тест провален снова.

431. rGlory, 10.09.2009 14:52
Vladimir Rybinkin
цитата:
Раз уж зуд такой преподавательский - подскажите-ка мне лучше (лень ковыряться самому)
Доктор, ну почему со мной никто не дружит? Скажи мне, ты, старая, толстая, тупая свинья!

цитата:
Нет, мне явный урон: такой "народ", который способен находить в ЭТОМ (Вами описанном, Вами) некое "веселье", явно отпугивает нормальных людей от ветки.
Где то в волшебной стране хоббитов и эльфов живет незамутненный народ, который поймет и оценит гений великого Гендальфа Владимира и отвалит ему золотых монет! Дайте Владимиру другой глобус!

432. dozen, 10.09.2009 15:52
Vladimir Rybinkin
но отлаживался чуть ли не час, с отвисшей челюстью и квадратными глазами
как??? ведь отладка JS -- это же легко!

433. jooher, 10.09.2009 17:15

Vladimir Rybinkin
не знаю термина - не силен в медицине
вот популярно (http://ru.wikipedia.org/wiki/Классификация_психопатий) . Обратите внимание на параноидный тип


подскажите-ка мне лучше (лень ковыряться самому) - конструкция var i,j,k="bcdemu";
Баш на баш, Владимир. Вы начинаете оформлять Ваши упоминания dap в ссылочку, а я продолжаю делиться с Вами тайными знаниями про яваскрипт. А Вы как хотели?

434. Vladimir Rybinkin, 11.09.2009 09:25
jooher
цитата:
Еще не хватало чтобы ты потом носился по форумам с рассказами "как мы с jooherом написали dap".
Лапочка, я же уже сказал: продуктом это не станет НИКОГДА! И еще сказал: мне это не то что писать - ЧИТАТЬ омерзительно!

SERGEY_BIG
цитата:
Владимир, мировая общественность об этих открытиях ничего не ведает. По крайней мере, презираемый тобой Google.
Ну, слава Богу, хоть "многозначные атрибуты" усвоили. Знает, батенька, "ведает". Я уж не говорю про Бахмана или там Эбитбул энд кампани - такой примитив "мировой общественности" стыдно и объяснять. По крайней мере, в ЭТОЙ конфе.
цитата:
На форме и не должен присутствовать такой объём данных, поскольку для пользователя он явно избыточен.
Какое отношение форма имеет к объему данных, скажите на милость?
цитата:
Рецепт "разгрузки" путём передачи гм.... большого объёма данных
Где Вы выкопали "большой объём данных"? Я уже приводил данные по 3-му тесту: чуть больше 30 байт на страницу. Да и 4-й в районе несчастных 64К на... где-то 800-900 страниц - весь Инет тут же отвиснет со страху перед столь ужасными объемами. Cравните, кстати, с объемом оригинала.
цитата:
который вероятнее всего и не будет востребован
Большинство сайтов находятся именно в таком положении. И что? А в "коде библиотек" что не так?
цитата:
Ну, если нравится быть глупым или невежественным - в добрый путь!
Да мне по фигу. Каким бы глупым и невежественным я ни был, кое-что я все-таки знаю, и даже умею. А вот у распальцованных пока что ни того, ни другого не наблюдается.
цитата:
Одним из качеств хорошего программиста как раз является способность быстро признавать собственные ошибки и оперативно ликвидировать собственное невежество.
Умница! Золотые слова! Так покажите-ка пальцем хотя бы на одного "хорошего программиста" из присутствующих.
цитата:
Если берётесь совершить переворот с веб-технологиях
Вот мне прям заняться больше нечем!
цитата:
сначала ознакомьтесь с тем, что сделано другими - о чём уже неоднократно тут писалось "трусами".
Кем?! Кто эти таинственные "другие"? Перечитайте хотя бы мой первый (не нулевой) пост в этой ветке. Проблем у "местных" - просто плюнуть негде, а вот с их решением чтой-то туговато. Да и на DAP мельком глянул - куда уж дальше-то?
цитата:
Впрочем, судя по коду сайта "ту бит", начать бы надо с CSS - вот где реальная разгрузка получится
Еще один "начинающий с CSS"! Второе пришествие? Тему надо в 26-ю конфу, там энтузиасты всё в подробностях дяде Вове объяснят. Начнут, пожалуй, с CSS (c)[/b]dozen[/b], 11.08.2009 18:15. Больше что-то про CSS не вякает... И че там за проблемы с "ту бит"? Ща, валялась где-то какая-то версия...
[i]
Генератор сайтов. Версия 1.3a. (C)Бюро Интернет Технологий БИТ, Антон Ясинский
Генерация сайта `БИТ`...
файл: `index.htm`, шаблон: `index.tem` - сгенерено 3683 байт
файл: `about.htm`, шаблон: `bit_main.tem` - сгенерено 8750 байт
файл: `dbms.htm`, шаблон: `bit_main.tem` - сгенерено 8118 байт
...
Генерация сайта `BIT` завершена (09/10/09 17:27).
Всего переменных: 16, предупреждений: 0
Сгенерено страниц: 107 из 107 на 865166 байт.

Ну и хде какие проблемы? Чо там за "реальная разгрузка" требуется? И чо там насчет CSS не так? На каждой из страниц лепится:
код:

<STYLE TYPE="TEXT/CSS">A {TEXT-DECORATION:NONE;FONT-FAMILY:"TIMES,TIMES NEW ROMAN"}A:HOVER {TEXT-DECORATION:UNDERLINE;COLOR:"#0000FF"}I {FONT-FAMILY:"TIMES,TIMES NEW ROMAN"}P {TEXT-ALIGN:JUSTIFY;MARGIN:0.3em 0;TEXT-INDENT:1em}</STYLE>

Так чего там Антон нагородил?

Partisan
цитата:
Я не "впадал в панику", а описал ситуацию на основе своего опыта - большие скрипты на JavaScript в IE трудно отлаживать.
Именно этот потрясающий "опыт" я и прокомментировал.
цитата:
Кстати, V.R., напоминаю, что писал я это не вам, а тем, кто (по моим предположениям) может понять.
Да это-то я понял - я в другое никак врубиться не могу: кто же этот уникум, с которым даже Вы позволяете себе разговаривать назидательным тоном?

theaspect
цитата:
мы живем в объективной реальности, несоответствие ИЕ5 стандартам - факт, и как следствие несовместимость снизу вверх
Да неужто?! Это каким таким "стандартам"?! И в каком же "стандарте" запрещен динамический вызов eval? И, кстати, чего с MS сотворили за наглое игнорирование стандартов вплоть до 5.5, если не выше?
цитата:
а судиться с МС смысла не имеет, если они давно не поддерживают древний софт, да и ЕУЛЕ все предусмотрено
А при чем здесь "древний софт"?! Почему они в самом последнем "Мерседесе" не поддерживают то, что поддерживали еще в "древнем софте"? И чего такого "ЕУЛЕ предусмотрено"? Чо это за зверюга страшная?

All
Так, текущую версию - в консерваторию. Бум упрощать и причесывать.

index.htm - идеален... a.h - тоже... d.j - Синдбадовские штучки (тоже, значицца, идеален ) - почти весь этот ужасный объем именно в ем и лежит... a.j - все комментируем, и открываем по мере необходимости, i.j - мож, ваще помрет, b.j - вот тебя-то нам и надобно...

Объектов на морде явно избыток - окромя m и u все почти пустые. Выкинем-ка на фиг c, d, e - чего они глаза мозолят? Свалим все в b, а системные штучки - в m.

Реверс больше не нужон... сепараторы туда же... палитры... у-у-у, как монитор-то упрощается - и смотреть не на что! И переменных при инициализации (глобальных! ) осталось всего три штуки... В обчем, код начальной инициализации, по сути, "чистовой" (ну, буковок при переменной k малек прибавится). Вот он, во всей красе (пущай jooher порадуется ):
код:

r="parent.";function _(){var i,j,k="bmu";for(i=0;i<k.length;i++){j=k.charAt(i);eval(r+j+"="+r+"o();"+j+"="+r+j+";");}m.e=eval;k="afgijnosvz_M";for(i=0;i<k.length;i++){j=k.charAt(i);m.e("m."+j+"="+r+j);}m.i(m,"A",alert,"c",document.close,"w",document.write,"C","","S",m.a(),"L",0);m.i(b,"p",m.o(),"t",B);m.i(b.p,"C",A,"b","FFFFFF","t","000000","l","000099","v","666666","a","CC0000");z();m.i(u,"n",1);m.A(b.t);}

Это новый код b.j, без двух глобальных переменных и текста "мясорубки" - пожалел уж бедолагу... Кстати, все работает, но в режиме отладки. Найдите и исправьте нужный символ . Что я и проделал, вернувшись к исходной функциональности. Стало на две функции меньше, не считая совсем уж "неприличного" монитора: 421 байт супротив 731 в старой версии. Ну и многопоточность исчезла. Впрочем, не ради же "исходной функциональности" я все это проделывал...

Вау!!! А вот это, похоже, уже сродни неумению корректно обращаться с указателями даже в самом C (тот самый пресловутый пример с "+=" - любимец rGlory и zzf)... А ну-ка, неизвестные мне "другие", с творениями которых мне тут рекомендовано "ознакомиться" - вопрос на засыпку, тест на сообр... нет, просто вопрос - у меня и самого довольно смутные предположения о причинах такого поведения. Итак, код:
m.w(u.W[u.Y[u.Z[u.n][0]][1]][0]);
НЕ работает (диагностику приводить не буду - окончательно свихнетесь ). А вот код:
m.w(m.e('u.W[u.Y[u.Z[u.n][0]][1]][0]'));
РАБОТАЕТ. Объясните-ка старому неучу, больному на голову - А ПОЧЕМУ, СОБССНО? Ах, да - для полноты картины:
m.A(u.W[u.Y[u.Z[u.n][0]][1]][0]);
и
m.A(m.e('u.W[u.Y[u.Z[u.n][0]][1]][0]'));
работают ОБА. Внешне - не отличишь, который из них в коде.

Банда безд... извиняюсь - было уже.

435. Vladimir Rybinkin, 12.09.2009 09:26
Ау, loyolla, куда опять пропали-то? Стыдно стало за "мы"? Полюбуйтесь, полюбуйтесь - это еще цветочки... Не, вроде, опять заткнулись... А нормальные люди где? Народ, выходи!

sip
цитата:
А вот давай ты, великий гуру, перестанешь отвечать вопросом на вопрос, и поведаешь нам, как же твой сервер будет вести себя в приведённом мной примере.
Так и быть, отвечу... По пунктам:

0. Не надо врать. Ни на какой "вопрос вопросом" я не отвечал. Я повторил СВОЙ вопрос, в очередной раз оставшийся без ответа.

1. Ликбез ленивым неучам я не буду проводить даже за деньги.

2. "Проблема" эта обсуждалась. Здесь. Ориентировочно 7-8 лет назад. Ковыряться и выискивать... см. пункт первый.

3. Количество информации ПОЛНОСТЬЮ определяется ПРИЕМНИКОМ. Определять, что для... см. пункт первый, является "понятным русским языком", я не собираюсь.

4. Выяснять, какая очередная моча ударила в голову... см. пункт первый, и что за очередную проблему умудрилась выкопать на ровном месте "наша талантливая молодежь", я также не собираюсь.

5. Мой сервер будет вести себя в приведённом примере ТОЧНО ТАК ЖЕ, как и в любом другом. Повторять свой ответ от 26.08.2009 14:36 - см. пункт первый.

rGlory
цитата:
Доктор, ну почему со мной никто не дружит? Скажи мне, ты, старая, толстая, тупая свинья!
Спасибо, я в курсе, что размер "цитатника" у Вас крайне ограничен.

dozen
цитата:
как??? ведь отладка JS -- это же легко!
А что, час отладки - это уже трагедия для нынешних экспертов? Кроме того, отладочная диагностика с самого начала была абсолютно верная, но я был в полной уверенности, что функция находится в первом потоке и, соответственно, в полном "грогги" от нее. Кроме того, я отлаживал все-таки боль-мень серьезную вещь - ты вон многопоточности ждешь, как манны небесной, а сам даже и не рыпаешься. Кроме того, jooher "за пару часов" не сумел дочитать даже до первой очереди стартовой инициализации, не говоря уже о том, что ваще ни слова не понял даже в том, что он все же прочел. Я за час продвинулся несколько дальше.

jooher
цитата:
вот популярно. Обратите внимание на параноидный тип
Спасибо. Зачем мне на что-то "обращать внимание" - я вполне доверяю Вашим познаниям в этой области. Стало быть, моя фраза должна звучать так: Нет, мне явный урон: такие параноики, которые способны находить в ЭТОМ (Вами описанном, Вами) некое "веселье", явно отпугивают нормальных людей от ветки. Да и меня резвящаяся банда параноиков раздражает. И от дела отвлекает - с вами ж заниматься надо, как с маленькими, вы ж без этого совсем голову теряете.
цитата:
Баш на баш, Владимир. Вы начинаете оформлять Ваши упоминания dap в ссылочку, а я продолжаю делиться с Вами тайными знаниями про яваскрипт.
Как же это Вы, родной, так опрохвостились? Уже столько "тайных знаний" даром успели поведать! Впрочем, нет проблем! А то придет какой-нить новичок в ветку - подумает еще, что этот хрюндель и в самом деле способен дать ответ... Прошу:

Настоятельно рекомендую всем ознакомиться с новой революционной технологией DAP. (http://dapmx.org) Буквально каждый абзац поражает феноменальной эрудицией автора, оригинальностью замыслов, нестандартностью подхода к проблемам, своеобразной трактовкой самого понятия "проблема".

Потянет? В обмен предлагаю несколько "башей", на выбор:

1. Соблаговолите ли Вы перечислить хотя бы пару-тройку моих "подарков", чтобы я смог "поберечь уже свои седины", и не "давать повод за поводом хором надо мною ржать" (Y/N)?

2. Объявляет ли конструкция var i,j,k="bcdemu"; (внутри некотрой функции) все три переменные как локальные (Y/N)?

3. Является ли Ваша фраза "А это вранье" сама враньем (Y/N)?

4. Перечитали ли Вы определение токена (Y/N)?

5. Али все еще "шшупаете границы возможностей" (Y/N)?

Как видите, все вопросы подготовлены наиболее удобным образом: достаточно одного бита информации. Кроме того, я буду полностью удовлетворен ответом на любое количество вопросов (включая нулевое).

All
О, сколько нам открытий чудных готовят авторы JS! Как я уже говорил в прошлом постинге, m.A работает и там, и там, m.w - только "там", а вот m.v, как оказалось, ни там, ни там! Точнее, не то, чтобы не работает, а... не врублюсь, короче. Очередь она достает правильно, в стек запихивает тоже (а это уже копирование, черт побери!), но когда она пытается вырезать из этой строки подстроку... нет, даже когда она еще ищет в ней нужный символ, а это чистейший indexOf - вот код:
код:

function f(s,k){var i=s.indexOf(k);if(i==-1)i=s.length;return(i);}

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

m.A(m.C); // отладочный alert: строка в переменной m.C ВЕРНАЯ (впрочем, может быть вообще ЛЮБОЙ)

i=m.j(m.C); // вырезка подстроки до разделителя - казалось бы...

Все! Эта функция уже отвисает "внутре", т.е. внутри следующего кода:
код:

function j(s){return(m.s(s,0,m.f(s,'')));}
при этом
function s(s,i,j){return(s.substring(i,j));}

Как видите, m.s - чистейший substring, а m.f - не менее чистейший indexOf! Причина явно одна и та же (диагностика АБСОЛЮТНО та же самая, хотя m.w - это вообще document.write, и В ПРИНЦИПЕ не может попасть на m.f - да и какие у встроенного кода могут быть "неподдерживаемые свойства"?), но ведь строка УЖЕ СКОПИРОВАНА! m.C - текущая очередь методов, которая уже дважды загружалась иными значениями, и успешно выполнялась!!! Как я там эту банду-то называл? Да как бы ни называл - я ее явно недооценил... Да, господа - признаю: отладка JS МОЖЕТ оказаться проблемой. С небольшим уточнением: это не отладка JS-кода, а отладка JS-интерпретатора. Ох...ь!

Собссно, единственная... нет, не разумная, а... в общем, единственная возможная, на мой взгляд, причина может быть в том, что у этих долбо... черт, как тут лексику выдержишь... чо-то где-то внутре созданного их куриными мозгами бесконтрольно переполняется, и интерпретатор "де юре" становится тем самым, чем он всегда был "де факто" - полным дерьмом, непригодным к использованию. Впрочем, это легко проверить: заменим
m.v(m.e('u.W[u.Y[u.Z[u.n][0]][1]][0]'));
на
j=u.Z[u.n][0];
j=u.Y[j][1];
j=u.W[j][0];
m.v(j);

По фигу! Правда, m.w заработал без m.e, но на m.v эти действия впечатления не произвели.

Так, а если... ни хрена! Уменьшил базу до одного элемента - там тоже переполнения быть не может. Та чо тебе надо-то, сволочь?! m.A(m.C+m.f+m.j+m.s); перед самым вызовом - ну ВСЕ НА МЕСТЕ - и функции, и данные! 11359 раз (!!!) эта самая m.f вызывается нормально, а на 11360-й... умирает на операторе i=s.indexOf(k); При этом s и k - те самые, какие и должны быть, а оператор - встроенный. Так, все: стакан водки - и спать! Але, учителя! Смиренно склоняю свою буйну голову, признаю все свои ошибки, каюсь во всех грехах, прошу прощения за все слова, и особенно за мысли, падаю ниц перед авторитетом "других"! Токо скажите: чо этой суке надо?

Господи, прости ты меня - совсем сдурел от этого JS - нашел, к кому обращаться. Да знаю я, что разве токо Шпеер... Впрочем, и он как-то говаривал: "Если научиться находить ошибки в тексте, который пишет Володя, все остальное просто семечки".

Нет, и с утра тишина: спина тоже в недоумении. Впрочем, довольно много интересного она все же порассказала:

Во-первых, г-рит, у тебя с самого начала все пошло наперекосяк. Помнишь, я тебе говорила, что можно бы функции и в переменных держать, и там же их интерпретировать? Так нет - "объяснение" придумал - унификация вызова, дескать, со встроенным кодом.

А про "дырявые массивы" забыл? А про "неопределенные ошибки"? А про скоко вяского разного дерьма в ихних объектаъ понавалено? А про "историю" посещенных страниц? А про "невозможно отобразить страницу"? А про "проблемы" распальцованных с паршивым city.name:Moscow? А про то, что m.e - работает, а "настоящий" eval - нет? А про пропадание переменных у Витьки и у тебя? Про "неправильные" расширения файлов? Про вывод "Loading"? Про содержимое неопределенных переменных? Про отношение к глобальным переменным? И не фиг приписывать этим козлам какие-то потрясающие коварные замыслы - они просто ТУПЫЕ! Оттяпали себе пару пальцев динамическим вызовом eval - и выкинули все на фиг!

Разве бы Юра с места стронулся, как ты? Переопределяю m.e=eval; - неожиданности заканчиваются - обрадовался, блин! Или там переменную c.Fuck завел - как же, исправил ошибку! Помнишь, как за Юрой чуть не все руководство фирмы бегало, да еще с какими-то генералами вприпрыжку? А ему по барабану: Мне насрать на ваши сроки, и ваши бабки - я НЕ ПОНИМАЮ, что там происходит. Пока не пойму - функцию не сдам!

Учись, г-рит, "программер" - чо на этих, с "параноидным типом" засмотрелся?!

Стыдно...

436. vertur, 12.09.2009 18:52
Vladimir Rybinkin
Лучше бы вы чем нибудь полезным занялись... Во всем мире кризис, а вы байты впустую переводите.

437. rGlory, 12.09.2009 22:06
Vladimir Rybinkin
цитата:
Спасибо, я в курсе, что размер "цитатника" у Вас крайне ограничен.
На эту инсенюацию я отвечу цитатой небезизвестного здесь персонажа:
цитата:
Количество информации ПОЛНОСТЬЮ определяется ПРИЕМНИКОМ.

Vladimir Rybinkin
цитата:
Не, вроде, опять заткнулись... А нормальные люди где? Народ, выходи!
Не боюсь Вас разочаровать, поскольку это клинически невозможно, но чтобы "нормальные" по Вашему разумению люди здесь появились, Вам придется зарегестрироваться под несколькими никами и стараться за них всех. Иного пути я увы не вижу. На этом глобусе таких "нормальных" как Вы к счастью не так уж много, кроме того многие из тех немногих прибывают в местах, где доступ в интернет ограничен. А у эльфов и хоббитов так вообще интернета нет, у них цивилизация несколько по другому пути пошла. Так что даже не знаю, как Вам можно тут помочь...

438. Vladimir Rybinkin, 14.09.2009 09:32
All
Я просто дурею! Явное указание строки m.v(u.W[1][0]) НЕ работает, а m.v(b.t) - РАБОТАЕТ! Строку b.t, помещаемую в m.C она выполняет, а строку u.W[1][0], помещаемую туда же - НЕ ХОЧЕТ!!! Даже если я ТУ ЖЕ САМУЮ строку b.t помещаю в u.W[1][0] - ниче не помогает! Массив переименовал - вдруг какой конфликт имен - бесполезно. У меня просто фантазия заканчивается. Наверняка ошибка моя, наверняка где-то в мониторе, но когда интерпретатор просто отказывается интерпретировать... Да и разве ЛЮБЫЕ ошибки программиста имеют право НАСТОЛЬКО сносить крышу интерпретатора?! Нет, невозможно, НЕ МОЖЕТ БЫТЬ, чтобы ошибки были ТОЛЬКО мои. Там наверняка замешан еще пяток от мелкомягких. Как можно такое уе..ще написать? Да еще при таких ресурсах, при таких объемах тестирования? Я понимаю: одно с другим связано, да еще двусторонней зависимостью, но должно же быть у этих ублюдков хоть что-то человеческое!

Квалификация нынешних программеров напоминает рассказанную мне когда-то шефом историю советских межпланентных станций серии "Луна". Посмотрите где-нить в энциклопедии - занятно. Луна-1 - первый искусственный спутник... Солнца! Промазали! Луна-2 - впервые достигла Луны (всмятку!), Луна-9 - первая мягкая посадка (однако!), Луна-10 - первый искусственный спутник Луны (опять промазали!), ... Впрочем, куда им до нынешних! Почитайте прессу: одна подлодка "утонула", вторая, самолет упал при посадке, то же с 11000 метров, ГЭС взорвалась, дом обвалился, "Булава" того и гляди по собственной башке попадет... Лет пять назад прочитал (в Гранях, что ли): Автомобиль марки "Ока" потерял управление, и врезался в опору моста. Мост РУХНУЛ!!! Эй, молодежь! Ведь вам же летать на этих самолетах, ходить по этим мостам, жить в этих домах... Неужто вам просто по-человечески не страшно?! Вы посмотрите, КТО все это дело вам программирует! Заходите, господа - я ведь уже всю эту банду разогнал: даже финансово и сексуально озабоченный dozen перестал интересоваться, сколько грошей у меня в кармане, и насколько у меня маленький...

Так, надоело - вновь выключил W из общей мясорубки - хоть диагностика сменилась, и то хлеб. Впрочем, диагностика не менее крутая: "m.C.length не является объектом". Длина строки, оказывается, объектом не является - ну хто бы мог подумать!

Слава те, Господи! Одну "новенькую" ошибку отловили: RETURN в конце строки должен быть не просто RETURN, а с модификацией стека. В очередной раз яйца бы пообрубал за goto. Пижоны! Мозгов нет и на копейку, а туда же - "вклад" они вносят в программирование! Выкинуть бы JMP из ассемблера, да посмотреть на ваши рожи. Однако этот фрукт даже ниче и не заметил... Ага! Перепутаны местами m.S.length--; и m.C=m.S[--m.L]; Заработало! Ваще-то, эта ошибка сидела с самого начала - еще в первом тесте - чо не возмущалась-то?

Теперь возвращаем взад мясорубку... Ну и сволочь! m.v(u.W[1]) - все путем, а m.v(u.W[1][0]) - после мясорубки - ни в какую! Но ведь мне нужен ИМЕННО МАССИВ, скотина ты безмозглая! Ну что остается? Снова выключим W из мясорубки, но инициализацию будем проводить по ее алгоритму...

Ну гнида, падла, тварь ползучая! Ну ведь можешь же! Я ж этот кусок кода ПРЯМ ОТТУДА СКОПИРОВАЛ!!! В чем же отличия?! О, Господи! Ты ж думаешь, что это класс! Тьфу! И goto у нас нет... Ну, а так - чай, теперь твоя душенька довольна?!

Уф! Даже не верится. Теперь возвращаем взад m.v(u.W[u.Y[u.Z[u.n][0]][1]][0]);.. СОЖРАЛА!

Все, молчу, как рыба об лед, приношу самые искренние извинения Partisan - в жисть бы не подумал, что отладка интерпретатора и в самом деле может представлять проблему. Да какую! Вот, например, понаблюдайте за переменной c (в девичестве - та самая c.Fuck):
код:

function z(){var i,j,c="Щаз! Разбежалась!";...<A onClick="m.A(c);">
Угадайте с трех раз: что будет при клике? Правильно, "c - определение отсутствует". А если...

function z(){var i,j;var c="Щаз! Разбежалась!";...<A onClick="m.A(c);">
Опять угадали: по барабану. А если...

var c="Щаз! Разбежалась!";function z(){var i,j;...<A onClick="m.A(c);">
Совершенно верно: по-прежнему не видит в упор. А если...

var c="Щаз! Разбежалась!";function z(){var i,j;...<A onClick="m.A(parent.c);">

А вот здеся вы ошиблись, господа! Она ее ОБНАРУЖИЛА, и честно выводит в alert! А ну-ка, "другие" - А ПОЧЕМУ, СОБССНО? Это уже чистейший тест на сообразительность - я ответ знаю. Что же касается переменных i,j - она их всегда отчетливо видит. Но вот действительно ли она видит именно их, а не каких-нить однофамильцев - тайна, покрытая мраком. Даже для меня.

Банда без... тьфу! Так и свихнуться недолго! Впрочем... ПОБЕДА!!! Временная, конечно. Чем же ответит эта сука?

439. jooher, 14.09.2009 15:04
Vladimir Rybinkin
1. Соблаговолите ли Вы перечислить хотя бы пару-тройку моих "подарков", чтобы я смог "поберечь уже свои седины", и не "давать повод за поводом хором надо мною ржать" (Y/N)?

Все твои посты - одни сплошные подарки - от первого до последнего слова. Кроме вот этого:

Настоятельно рекомендую всем ознакомиться с новой революционной технологией DAP. Буквально каждый абзац поражает феноменальной эрудицией автора, оригинальностью замыслов, нестандартностью подхода к проблемам, своеобразной трактовкой самого понятия "проблема".

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

2. Объявляет ли конструкция var i,j,k="bcdemu"; (внутри некотрой функции) все три переменные как локальные (Y/N)?

Y. Ну и раз уж ты так расстарался с текстом про дап, научу тебя новейшему способу выяснения неясных моментов: путем написания короткого кода, локализующего проблему
на твоем примере:

код:

function local(){
var i,j,k="bcdemu";
i="local-i ", j="local-j ";
alert("local:"+i+j+k);
}
local();//local: local-i local-j bcdemu
alert("global:"+i+j+k); //error: undefined

Успехов.

Да, поскольку в этом форуме ты, похоже, всех уже утомил, следующая подсказка - за рекламу в других форумах.

440. Vladimir Rybinkin, 15.09.2009 09:23
vertur
цитата:
Лучше бы вы чем нибудь полезным занялись... Во всем мире кризис, а вы байты впустую переводите.
А вот вышвырнуть всю вашу банду из программирования - оно и облегчение. А уж косвенную пользу от этого (пока не успели еще чего ручонками своими насучить) ваще трудно переоценить - вне всякой связи с кризисом.

rGlory
цитата:
На эту инсенюацию я отвечу цитатой небезизвестного здесь персонажа:
Умница, усвоил. Я про то и говорю: "приемник" слышал уже эту песню в том же исполнении. Правда, наскоко я помню, свинья раньше была ЖИРНАЯ, а сейчас ТОЛСТАЯ. Это что, творческое развитие образа? Или имитация, что размер "цитатника" больше имеющегося в наличии?
цитата:
Иного пути я увы не вижу.
А что, у кого-либо были сомнения?! Я уже задолбался повторять: в программировании Вы для меня нуль, пустышка, зироу. Успокойтесь, родной, мы с Вами действительно из разных миров. Я лично о программировании пришел сюда поговорить - отойдите в сторонку, плиз.

All
Похоже, очередные сложности меня ожидают уже где-то в районе расчетной части. Стало быть, сейчас пойдет чистый клиент. Ух, и неохота! Не перевариваю я этих финтифлюшек, а что делать? Правда, картинка немедленно перед глазами - потерпим. О, черт, классы же ща полезут, как тараканы... Вот они, сложности! Не заснуть бы только... А, нет - придется и повозиться: параметры-то в поток как передавать? Стека аккумуляторов у нас нет - не SINT, чай... Ну, что ж, придется завести паспорт текущего объекта, а там посмотрим. Или все же хоть один дохленький аккумулятор? Или даже массив с произвольным доступом? Черт, опять глаза разбегаются. Ладно, все "по потребности", и ничего "на всякий случай".

Ну, опять понеслась душа в рай: m.C.length... Ой, извиняюсь, это я не то нажал... Во, количество детских таблиц управляется элементарно (я в свое время побаивался).

Так, а чего там у нас в последней демке творится? Ага, даже морда уже "побитая" - надо исправлять. Параметры в поток на удивление просто передаются... В обчем, если не считать, что чуть зазеваешься - лепит одну из трех своих излюбленных диагностик, то ведет себя вполне прилично. Код не пишется, все программируется данными, как Ваня меня и учил. Кстати, а если вместо очереди стек подсунуть? Как не фиг делать! Гибкость прям как у змеи. Но вот заниматься оформлением не могу - тошнит просто! И как это вы, господа, на клиенте годами сидеть можете? Ах, да - вы ж не клиентом заняты, вы ж сами собой... Не, не могу - токо с большими перекурами: морда исправлена - и хватит на сегодня. Технические проблемы перестал видеть - лень тут как тут.

Попробуем с утра еще парочку страничек... Ну что опять не так?! Ах, да - автозапуск монитора убран... Ух ты! Почти предыдущая функциональность, даже без новых классов. Теперь заводим классы на групповуху... так, стоп! А на хрена нам такая корявая передача параметров? При такой-то гибкости? А как надо? Лана, торопиться не бум - перекур. Уж очень мне понравилось, как обувание в ссылочки идет, да как траекторные шаблоны работают. Хороший инструмент - он времени требует... Впрочем, хрен ли тут думать - этот инструмент для другого дела хорош, а для этого у нас еще есть...

Так, к морде мне уже не придраться - выглядит лучше, чем в последней демке... Categories тоже лучше... Cities - аналогично (для пробы послал на хрен траекторный шаблон для вычисления страны, и эмулировал его прям на страничном - сожрала, не поперхнувшись)... Кстати, шаблоны малой выдачи уже, по большому счету, и не нужны. Да и траекторные тоже. Ладно, пущай живут пока - посмотрим при прическе текста. Companies - ага, нарвались! Здесь имеются компании без адреса, стало быть, вычислять город и страну не треба, а if в потоке отсутствует. Ну вот и хорошо, прямой повод для перекура.

Алло, молодежь! В аттаче - как выглядят эти странички. Мож, подскажете чего? Какие там заголовки таблиц прилепить, фильтры... Или кто втихаря уже мои тесты на старых броузерах посмотрел, кроме исчезнувшего Витьки? Так отзовитесь - буду выкладывать сам тест.

Добавление от 15.09.2009 09:35:

jooher

цитата:
Все твои посты - одни сплошные подарки - от первого до последнего слова. Кроме вот этого:
Видали, молодежь? Ответ он дать В ПРИНЦИПЕ не способен.
цитата:
Тут ты видимо решил изобразить сарказм, а в итоге написал первый внятный абзац в своей творческой деятельности.
Знатокам моей творческой деятельности поясняю: никакого "сарказма" я изобразить не хотел - этот DAP достаточно красноречив сам по себе, никаких дополнительных разъяснений не требует.
цитата:
Ну и раз уж ты так расстарался с текстом про дап, научу тебя новейшему способу выяснения неясных моментов: путем написания короткого кода, локализующего проблему на твоем примере:
Ай, спасибо, учитель! Токо ведь я просил ответа, требующего ОДНОГО бита информации, а вовсе не этой бредятины. "Выяснение неясных моментов в коде типа " i=5; alert(i);" может быть разве что у нынешней шатии-братии. Мой же случай несколько иной, и ответ на него я не только получил, но и написал об этом.
цитата:
Да, поскольку в этом форуме ты, похоже, всех уже утомил, следующая подсказка - за рекламу в других форумах.
Ясненько. Нокаут. Впрочем, скатертью дорога.

К сообщению приложены файлы: 1.rar, 2Кb

441. ivanhoe, 15.09.2009 13:52
Vladimir Rybinkin

За время отсутствия как-то потерял нить обсуждения.

Попробовал последний тест. Уже что-то показывает! Например, a.htm выглядит так: http://uzhe.nichego.net/junk/vr-a.png

Однако, возникли следующие ошибки:
1) a.htm ссылается на несушествующий файл i.j
2) при клике на любую из ссылок вылезает JS-ошибка: "_ is not defined"

Может все-таки лучше выкладывать на сайте? Тогда сразу будет видно что чего-то не хватает.

И уж совсем хорошо было бы использовать какую-то систему контроля версий, могу порекомендовать darcs: http://darcs.net/

442. loyolla, 15.09.2009 18:27
ivanhoe
Vladimir Rybinkin
Все что там показывается - это то, что написано в самом файле
код:

<A onClick="_(1);"><FONT COLOR="#000099">Home</FONT></A>
...
<A onClick="_(3);"><FONT COLOR="#000099">Cities</FONT></A> (64)</TD></TR><TR><TD><A onClick="_(4);"><FONT COLOR="#000099">Companies</FONT></A> (73)


и так далее...
в заголовке есть
код:

<script language="JavaScript" src="i.j" type="text/JavaScript">


но сам файл src="i.j" в архиве отсутствует.
Если скопировать этот файл из предыдущих архивов, то

A Runtime Error has occured.
Do you wish to Debug?

Line: 1
Error: 'm' is null or not an object

443. dozen, 15.09.2009 18:40
ivanhoe
могу порекомендовать darcs
ну вот зачем человеку, у которого один компьютер, да и тот "у родителей", распределенная система ведения версий? ты издеваешься, да? если да, то я тоже могу: рекомендую ClearCase! ыыыыыыы!

444. ivanhoe, 15.09.2009 19:13
dozen

цитата:
ну вот зачем человеку, у которого один компьютер, да и тот "у родителей", распределенная система ведения версий?
Да не, darcs как раз удобна (субъективно, конечно) для персонального использования, конфигурение нулевое (darcs init), выкладывание на web - тоже (рабочая папка просто копируется на web-сайт). Под винду, опять же, существует.

А вот продуктов, где встречаются слова "Rational" и, особенно, "IBM" я бы опасался.

445. rGlory, 15.09.2009 21:18
ivanhoe
цитата:
могу порекомендовать darcs
А она разве на СИНТе написана?

446. dozen, 15.09.2009 21:54

ivanhoe
А вот продуктов, где встречаются слова "Rational" и, особенно, "IBM" я бы опасался.
не то слово

447. rGlory, 15.09.2009 22:47
ivanhoe
цитата:
А вот продуктов, где встречаются слова "Rational" и, особенно, "IBM" я бы опасался.
Ну Вы просто недооцениваете VR. Во первых не написано под DOS (про СИНТ я и не говорю), во вторых (и это главное), чтобы с ней работать придется читать документацию. Так что имхо VR одинаково благополучно пошлет что clearcase, что subversion, что cvs. И вообще я думаю у него спинной мозг отвечает за контроль версий исходников. Так что опасаться тут нечего.

448. dozen, 16.09.2009 07:07
Все застыли в изумлённом восхищении (и поэтому никак не ответили) после моего поста про JS-based платформу Нокии (http://www.forum.nokia.com/Ovi/?lid=storeftrpromo4nli&lang=en-US) . Окрылённый таким успехом, спешу его закрепить -- ссылкой на возможности JS в объекте Canvas HTML5 (http://processingjs.org/) (для ВР -- HTML5 это не IE5, можешь даже не кликать).

Добавление от 16.09.2009 07:17:

К вопросу о многотредовых страничках: будут! в HTML5 (http://www.whatwg.org/specs/web-workers/current-work/)


Web Workers
Draft Recommendation — 16 September 2009

This specification defines an API that allows Web application authors to spawn background workers running scripts in parallel to their main page. This allows for thread-like operation with message-passing as the coordination mechanism.


Правда, в самой HTML5 спеке говорится, что несмотря на многотредовость, ни одна нитка не будет в состоянии отдетектить одновременное исполнение другой. Исполнение сериализуется:

http://dev.w3.org/html5/spec/Overview.html

To avoid exposing Web authors to the complexities of multithreading, the HTML and DOM APIs are designed such that no script can ever detect the simultaneous execution of other scripts. Even with workers, the intent is that the behavior of implementations can be thought of as completely serializing the execution of all scripts in all browsing contexts.

449. Vladimir Rybinkin, 16.09.2009 09:22
All
Отсутствие "if" в потоке обошли легко и весело (траекторные шаблончики доказали-таки свою полезность), а со ссылочками возникла проблема: нужен, оказывается, не только траекторный, но и "полутраекторный" доступ. Нужен, так нужен - получите. Во! Companies - в аттаче (автоматически готовы, ессно, и все входящие в нее группы Customers, Shippers, Suppliers). Чо там осталось? Ага, 5 групп. Countries - смешно и говорить (см. аттач). Products - см. туда же. Orders - готово (страница тяжелее всего исходника). Employees - глаза бы мои на них не смотрели. Persons - вот табе и раз! А у них папы нет. Ладно, хрен с ним, - побудет пока без ссылок. Базу на досуге поправим, а ссылка делается в два счета - был бы папа. Ха, так она ж у нас и сама с "интеллектом"! Ссылка заказана, но исполнитель на этот заказ пилюет.

Ну, что же - групповуха готова получить замечания от народа. А народ у нас, как известно, безмолвствует. Между тем, инструментарий содержит немало технологических нюансов, которые не хило бы обсудить. Чего притаились-то, как мышки? Неужто тема неинтересна? Она же покрывает буквально все проблемы конфы, откуда она была переброшена и, к моему удивлению, почти все проблемы ЭТОЙ конфы...

Броузер, кстати, приучил вообще не заглядывать в расшифровку ошибок - потеря ориентации хуже, чем у слепого. Теперь я уже с абсолютной уверенностью утверждаю: броузер (любой!) есть дерьмо. Возможно, с манагерской точки зрения это гениальный ход, но с технической - ПОЛНОЕ дерьмо! Я ошибался: "школьники города Нелидово" такого убожества написать явно не способны. Равно как и подобную реализацию JS - просто волосы дыбом! И не надо мне песни петь про всякие "хромированные оперы" - там по определению ничуть не лучше: знать про ТАКОЕ, и не стереть конкурента в порошок?! А уж НЕ ЗНАТЬ, что у конкурента творится ТАКОЕ...

Сделать, что ль индивидуальную хоть одну? Хотя бы в виде заглушки, чтобы детей не было. Category - смешная такая, но первая персональная всегда комом - видеть не могу этого клиента!

Ладно, поднапряжемся уж: чтобы хоть броузер не ругался, чтобы хоть что-нить у "индивидуалов" генерилось... Так, готово, но заглушки совсем уж неприличные. Чуть-чуть инфы из классов добавить бы надо... Не, сил уже никаких - даже имена атрибутов дадим пока заглушками (да и кто из местных способен это опознать? )... Ну, хотя бы ТАК (см. аттач для Company). Имена атрибутов, разумеется, должны указывать на группы, значения - на персональные страницы, но НЕ МОГУ БОЛЬШЕ, ЛУЧШЕ ПРИСТРЕЛИТЕ МЕНЯ!!!

Подведем промежуточные итоги: все, что есть в этом гребаном Access, в евойных таблицах и формах, имеется в наличии (точнее, лепится за 5 минут, если знаешь, чего надо лепить). Теперь - то, чего там нет, и быть не может: прямой доступ к данным, навигационные выражения в запросах, детки персональных страниц, расчеты, фильтры, междугородний и интернациональный товарообмен и т.д. Но тишина меня просто угнетает. Ау, юзеры! Помогите! Не нужны мне эти программеры, как и вам - все равно они ни хрена не умеют. Давайте склепаем идеальную базу с идеальным интерфейсом. Попутно инструмент пригладим. Для вас же, сволочей! (с)

Добавление от 16.09.2009 09:23:

Ого! Народ пришел! Приветствую!

К сообщению приложены файлы: 1.rar, 12Кb

450. theaspect, 16.09.2009 12:05
Vladimir Rybinkin
броузер (любой!) есть дерьмо
((∃{IE3,IE4,IE5,IE5.5} == shit) ⇒ (∀ browser == shit)) = false
За это сообщение сказали спасибо: zzf

451. jooher, 16.09.2009 13:09
theaspect

Все знают, что
((∀IEn|n<7.0)=shit)∧((∀Bn|(B∈{Firefox,Chrome}∧n>1.0)∨(B=Opera∧n>6.0))≥(¬shit))∧((∃B|¬(B∈{IE,Firefox,Chrome,Opera}))≠shit)
Но у ВР свое мнение
За это сообщение сказали спасибо: theaspect

452. theaspect, 16.09.2009 13:27
jooher:
(B=Opera∧n>6.0)) не хватает закрывающей скобки
IE5.5 же не поодерживает Unicode

453. Gipnoss, 16.09.2009 13:46
jooher
Все знают
Не буду углубляться, но недостатков достаточно у всех

454. zzf, 16.09.2009 16:15
Vladimir Rybinkin
Между тем, инструментарий содержит немало технологических нюансов, которые не хило бы обсудить. Чего притаились-то, как мышки? Неужто тема неинтересна?

Очень интересна. Походу возник вопрос. По полутроекторному доступу тоже планируется индексация потоков или думаешь обойтись двухпоточной зарядкой? На толщине клиента это не отобразится?

455. Vladimir Rybinkin, 16.09.2009 17:58

ivanhoe
цитата:
За время отсутствия как-то потерял нить обсуждения.
А ее и не было, так что все нормально.
цитата:
Уже что-то показывает!
Ну, еще бы ЭТО не показывало! Это ж сохраненные виртуальные страницы через view as html. Работать они не могут по определению, они ГЕНЕРЯТСЯ на клиенте из тех самых исходников. И никакие "несуществующие i.j" не помогут. Все данные и методы лежат на FRAMESET. А функция перегенерации страницы _() - в том самом i.j. Можно, кстати, и ее на морду закинуть. Это я положил лишь для того, чтобы обладатели "Мерседесов" ХОТЬ ЧТО-ТО смогли увидеть. Никакого отношения к софту клиента все эти htm не имеют - это продукт ЕГО деятельности. Если точнее, каждая из этих страниц есть текущее состояние фрейма "A", определенного в index.htm любого из тестов.
цитата:
Может все-таки лучше выкладывать на сайте?
Без динамического eval ничего не поможет. А в тестах все в наличии. Включая пресловутый i.j. Вот он, весь целиком:
код:

r='parent.';m=eval(r+'m');b=m.e(r+'b');u=m.e(r+'u');
function _(s){u.n=s;m.e=eval;m.v(b.t);}

цитата:
И уж совсем хорошо было бы использовать какую-то систему контроля версий
Каких еще "версий"?! Вся математика задумывается, пишется, отлаживается, модифицируется во время жизни этой ветки. Я сам не знаю, какая должна быть математика. Это черновые наброски. Как предполагалось - для обсуждения.

loyolla
цитата:
Все что там показывается - это то, что написано в самом файле
См. мой ответ Ване.

zzf
Полутраекторный доступ был реализован через 1 (одну) минуту после осознания его необходимости.

456. zzf, 16.09.2009 18:37
Vladimir Rybinkin
Полутраекторный доступ был реализован через 1 (одну) минуту после осознания его необходимости.

В этом я ни секунды не сомневался. Всё-таки мастер работает... Но больше интересует вопрос об индексации потоков.

457. vertur, 16.09.2009 18:50
цитата (theaspect):
((∃{IE3,IE4,IE5,IE5.5} == shit) ⇒ (∀ browser == shit)) = false
плохо ты матанализ в школе учил, подозреваю что ты хотел сказать:
602x16, 2,0Kb
но "не асилил".

458. Vladimir Rybinkin, 17.09.2009 11:43
All
Надо бы написать функцию получения имени атрибута с системой умолчаний, но это означает повысить статус траекторных шаблонов почти до уровня Синдбада. А я даже не до конца уверен, что они вообще на клиенте нужны. А обсудить по-прежнему не с кем. Да и просто поговорить не с кем: разве что какой-нить криворукий dozen в очередной раз посреди моей темы свой идиотизм пристроить пытается.... Эй, ты, эксперт поганый! Не похмелился, что ль? С какого бодуна ты решил, что кто-либо, кроме тебя и тебе подобных, должен "застыть в изумлённом восхищении" перед подобной хренью?! Кому еще нужен этот дурацкий HTML5? Юзеру? Да он ваще не знает, что такое HTML (и правильно делает). На кой хрен тебе сдались "многотредовые странички", что ты с ними делать-то будешь? Ну, были они у меня. Во всех выложенных тестах были. А в последнем, еще не выложенном варианте, я их просто выбросил - на фиг не нужны. Да и что ты под этим "умным" термином понимаешь? Объясни-ка народу. Наверняка на житейском уровне то, что я называю процесс, а на техническом - какую-нить сраную очередь. А то и просто механизм обработки сообщений а ля Винды. Если ты, конечно, ваще хоть что-нить под этим понимаешь... А, ну да - "message-passing". И в чем проблемы "одной нитке отдетектить одновременное исполнение другой"?! И ты поверил, что вас, дебилов, от связанных с этим "сложностей" оберегают? Ха-ха-ха!

Ладно, надо бы как-то преодолеть отвращение, и хоть что-то сделать... Уберем-ка функцию генерации из i.j на морду... убрали. Странно, я думал, что при этом можно будет убрать переопределение m.e=eval, но фига с два - тут же "Неожиданный вызов метода или обращение к свойству".

Ау, народ! Смотрим аттач. Теперь странички сами будут плакаться о своих проблемах... Ну скажите чо-нить - какой у вас голос хоть, интересно? Эй, Витька, тест не хошь целиком заполучить? Там уже и погулять можно не хуже, чем в третьем...

Добавление от 17.09.2009 11:46:

zzf

цитата:
Но больше интересует вопрос об индексации потоков.
Я уже говорил: подобным онанизмом пущай другие занимаются. Мне лично никакая "индексация"на фиг не нужна.

К сообщению приложены файлы: 1.rar, 4Кb

459. rGlory, 17.09.2009 17:18
Vladimir Rybinkin
цитата:
На кой хрен тебе сдались "многотредовые странички", что ты с ними делать-то будешь? Ну, были они у меня. Во всех выложенных тестах были. А в последнем, еще не выложенном варианте, я их просто выбросил - на фиг не нужны. Да и что ты под этим "умным" термином понимаешь?
Перевод на русский с владимирского: да все это хрень, у меня это давно есть, и вообще я это выбросил за ненадобностью... Кстати, а что это такое?

460. dozen, 17.09.2009 17:25
zzf

ВР: Я уже говорил: подобным онанизмом пущай другие занимаются. Мне лично никакая "индексация"на фиг не нужна.
опа! а походу, "мастер" повёлся...

461. Vladimir Rybinkin, 17.09.2009 17:35

All
Ну чо, с утра дождь зарядил, и послал я эти землеройные работы куда подальше: на дачу не поехал. Отметим этот день высокой выработкой? Токо инфы у меня нет - все юзеры молчат, как партизаны. Эй народ! Не бойтесь вы глупость сказать - гляньте, чего здесь эксперты вытворяют! Если тут хоть скоко-нить конструктивный разговор пойдет, они ваще отсюда исчезнут. На крайний случай, пару щелбанов отвесим.

Так, а чего я раньше-то про это дело писал? Писал же, вроде, чего-то... Ого, 15К! И хоть бы одна б...

Сначала групповуха. Морда... заверните в бумажку! (a.htm) Categories... то же самое - незачем даже заголовок таблицы выводить (b). Countries... аналогично (c). Cities... Ага! Столбец Country должен быть фильтром - пока отложим. Companies... фильтрами должны быть столбцы City и Country. То же у виртуальных классов Customers, Shippers, Suppliers - это автоматом, поскольку класс один и тот же. Products... тоже два фильтра. Employees... заголовок таблицы дать, что ли... дали. Persons... этим папа нужен... ешьте вашего папу. С фильтрами морока будет еще та - чует мое сердце. Ладно, пока заглушим: вот ТАКОЙ пока будет Persons (e), Cities (f), Companies (g). Orders... здесь все не так: и формат даты нехорош (просто строка), и дат здесь не больше двух, и Customer с Shipper как фильтры не помешают. Ладно - потянет на первый раз (h). Что еще? Персональные я токо что давал. Ах, да - Products (i).

Все, больше не могу. В гробу я видал эту "высокую выработку"! Да и приучился на даче кислородом дышать, панимашь! Пойду хоть по городу прошвырнусь - он тоже весь как парк. Да и ваще, у нас самый лесной район самой лесной области в европейской части России. По крайней мере, был таковым до проведения чемпионата мира среди лесорубов.

Скоко ж здесь грибов в этом году! Я-то никогда не брал сыроежки, но чтобы НИКТО их не брал! Сестра пошла с двумя ведрами, через полчаса возвращается: токо метров на 200 и смогла отойти от дачи... Впрочем, если не считать опят и всяких там волнушек с черными груздями - "благородных" грибов не так много. Мои любимые подосиновики... Не, ну наберешь, конечно, корзину часа за три, но... видали мы и лучшие времена.

К сообщению приложены файлы: 1.rar, 16Кb

462. jooher, 17.09.2009 21:09
Vladimir Rybinkin
Скоко ж здесь грибов в этом году! Я-то никогда не брал сыроежки, но чтобы НИКТО их не брал!

Вот грибы - это тема. Чем херней заниматься.

463. rGlory, 17.09.2009 21:22
jooher
цитата:
Вот грибы - это тема. Чем херней заниматься.
Ага, только Иштар нам тут не хватало

464. dozen, 17.09.2009 22:13

jooher
Вот грибы - это тема. Чем херней заниматься.
у мастера организм вырабатывает вещества сам.

465. zzf, 17.09.2009 22:50
Vladimir Rybinkin
Сначала групповуха.

Я думаю, что без Companies можно легко обойтись. Кому они сейчас нафиг нужны? Их можно заменить тректорно-генеративными потоками. А вот остальные доступы вызывают интерес.
Можешь привести код виртуального класса Customers?
Да и ещё... я тут подумал на досуге. Может как-нибудь альфатраекторный фильтр для виртуальных форматов задействовать? Хотя бы в классе имён аттрибутов для заглушек.
Они и на eval не влияют, и смотрятся неплохо.

466. dozen, 18.09.2009 00:26

zzf
Может как-нибудь альфатраекторный фильтр для виртуальных форматов задействовать?
и у тебя вещества?

467. zzf, 18.09.2009 00:41
dozen
и у тебя вещества?
Ты просто завидуешь, сознайся? Все уже давно вкурили, один ты не в потоке. Освободи сознание от груза неверных стереотипов мышления. Мастер вещи говорит и второй раз повторять не буит.

468. moderator-Kid, 18.09.2009 07:09
Расслабленно размышляет прикрыть эту психоделическую ветку или все-таки оставить...

Владимир, Вы опять швыряетесь "криворукими", "идиотами", "щелбанами" и прочим всяким. Зачем? Будьте проще, пожалуйста, обходитесь без инвектив.

Я ведь предупреждал, забаню. И у Вас исчезнет такая удобная возможность распространения неординарных идей.

Граждане, вы подталкиваете В.Р. к необратимому входу в режим бессвязных оскорблений. Не надо. Ветка-то в таком случае закроется.

469. Vladimir Rybinkin, 18.09.2009 09:27
All
Ну что, домучить этих несчастных Employees, да забыть, как страшный сон? Да на Shippers завести отдельный класс - какая это, к черту, Company? Токо математику мне усложняют.

Так, класс завели, математику пока можно и не упрощать - и так все работает. На морде число компаний, ессно, уменьшилось, а выглядят они теперь так: a.htm. Employees... Шоб вы сдохли (b.htm)! Страничный шаблон, конечно, ужасен, но они и такого не заслуживают:
код:

"w'<B>'r'7',u.Y[u.Z[u.n][0]][0]w': </B>'+m.g(u.n,' ')+'<BR><B>Chief: </B>'ru.Z[u.n][2],m.g(u.Z[u.n][2],' ')w'<BR><B>Title: </B>'+u.Z[u.Z[u.Z[u.n][3]][4]][1]+'<BR><B>Birth Date: </B>'+u.Z[u.n][7]+', <B>Hire Date: </B>'+u.Z[u.n][8]+'<BR><B>Home Phone: </B>'+u.Z[u.n][6]+', <B>Postal Code: </B>'+u.Z[u.Z[u.n][4]][2]+'<BR><B>Address: </B>'+u.Z[u.Z[u.n][4]][1]+', 'ru.Z[u.Z[u.n][4]][3],u.Z[u.Z[u.Z[u.n][4]][3]][2]w', 'ru.Z[u.Z[u.Z[u.n][4]][3]][3],u.Z[u.Z[u.Z[u.Z[u.n][4]][3]][3]][2]w'<BR><B>Notes: </B>'+u.Z[u.n][9]+'<BR><BR><B>Problems: </B>Да никаких! Глаза бы мои на них не смотрели! Лень даже расписывать ихние заказы.'",

Что дальше? Фильтры? Нет, это дело последнее - сначала вывалим на голову юзера все, что можно. Стало быть... ага, детские таблицы у персоналий. Начнем, ессно, с Order.

Ах ты черт! Нет, детские таблицы не совсем легко управляются... Ау, народ, задолбали! Поговорим?!

Что у нас получается в итоге? Страничный шаблон - это не только ценные очереди, но и 2-3 килограмма легко УСВАИВАЕМЫХ кодом сопрограммы пассивных параметров. То бишь адресов массивов данных, по которым организуются циклы. Итак, страничный шаблон - это (головная) очередь шапки, а за ней тоже "триады": адрес массива детей, очередь заголовка таблицы, очередь строки таблицы. Ну, попробуем...

Оп-па! С первого тыка! Не ожидал... Приловчился я все-таки с адресами работать в этом гребаном JS. А ну-ка, что у нас с детками? А, черт, деток-то у нас и нет. Или догадался кому-нить завести? Нет, кроме групповухи никто детей не имеет - нужно синдбадить базу... Странам, например, влепить ихние города для начала... влепили. Ну и где у нас там шаблончик страницы страны? Ах...ренеть! И это с первого тыка (c.htm). Ну, господа... теперь мы умеем ваще все. Эй, вы, клиент-программеры! Убирайтесь-ка с клиента подобру-поздорову! Сами говорите: кризис в мире. Лопаты в руки, и копать, копать, копать! Заодно и мозги проветрите.

Ну что, еще каких-нить деток подсунуть? Не, лень - настроение опять как у полного идиота. Да и миллион мой NP-шный пытаются захапать с соседней ветке - тоже надо бы вломить. Да и на дачу ехать надо - перестал дождь, к сожалению...

Не, не удержался все-таки: дал ордерам сынков, да слепил наскоро d.htm. Клиент явно приобретает некоторую "задумчивость" - пора оптимизировать, да ветку перименовать: "Заставить ПОМЕНЬШЕ работать машину клиента"!

К сообщению приложены файлы: 1.rar, 3Кb

470. Vladimir Rybinkin, 19.09.2009 10:48

jooher
цитата:
Вот грибы - это тема. Чем херней заниматься.
Даже не надейтесь, лапочка! Вы ж банда воров и бездельников - воруете деньги у юзера, и явно рассчитываете делать это вечно. Или там мошенников, грабителей - в этом деле я тоже не силен. Одно знаю: гнать вас надо с клиента поганой метлой. Вместе со всей созданной вами математикой. Взамен нужно всего лишь вернуть просранный вами eval.

All
Ну что, осталось расчетики какие-нибудь сюда подбросить... Или вначале в базу ребрышек накидать? Или посмотреть, что там требуется до полной "кончины" юзера? В смысле, шоб тот сразу и кончил.

По сути, имеется два типа страниц: Company-City-Country и Product-Category. Ну и временная шкала событий - ShippedDate. Ну и всякие там проекции, они же фильтры: диапазон дат, товаров, компаний, стран... Все это должно дать совершенно жуткое разнообразие возможностей - миллионы виртуальных страниц наверняка. Кстати, Ваня, по-прежнему будете рекомендовать выкладывать это в статике - дескать, места для документов у Гугла завались? Проще мне почему-то кажется "продуктовая" серия... что-то раньше я про это дело явно лишнего нагородил... Итак, Product: 3 таблицы детей - спорный вопрос... Реальные детки им в базе нужны, пожалуй, только Orders (для обеспечения прямого доступа к любым ихним данным). Теперь, что может быть интересно юзеру. При таком диком обилии юзеров сиди и гадай!

Ну, таблица заказов (в выбранном диапазоне дат, разумеется). Допустим, Customer-Supplier-Shipper (Employees пошли на фиг). О! А настройкой задаем их тип (какая именно детализация нужна юзеру: Company-City-Country). Для полного кайфа - по столбцам: столбец Customer, допустим, выводится как Company, Supplier - City, Shipper - Country. Соответственно работают и фильтры.

Что еще? Ну, Quantity, ну, даты еще какие-то, ну состояние ихних карманов, и персонального кармана товара, с деталировкой по событиям. О! Столбцы таблиц тоже сделать настраиваемыми - чего юзеру надо, то пусть и выводит. Вот и все: ОДНА таблица детей, "плавающая" как по X, так и по Y. Деньги считаем в процессе генерации страницы. Category - то же самое, но с дополнительным столбцом Product.

У Company-City-Country явно все аналогично: дети те же, настройки по Product-Category, по Company-City-Country, да по Customer-Supplier-Shipper. Стало быть, БД можно уже отсиндбадить набело. Так, а траекторные ребрышки бы еще... ах, да - City-Country-Category они автоматом и будут иметь место. Ну чо, вполне приличная демка - никакой реляции по гроб жизни такой функциональности не достичь. Да и... наверняка там ЖУТКОЕ количество логических ошибок должно присутствовать. Осталось реализовать. Так что до получения замечаний от юзеров Размечтался, блин! считаю ТЗ завершенным. Лично мне - ндравится. Кстати, детками лучше давать Details - чуть больше объем, чуть меньше глупостей в математике.

Ну чо, народ? Бум говорить чего али нет? Эй, Ваня! Опять "в теплые края", что ль, отправился? Мож, поработаем все же малек? Мож, хоть по пятому тесту (Гуглевому) чего подскажете? Мне нужно:

1. Иметь еще один (невидимый) фрейм, в который Гугль должен выдавать ответ на запрос.

2... И все, что ли?! Ах, да - как выполнить этот самый запрос (на входе - строка с набором ключевых слов).

Теперь база... О, Господи! Чего это я натворил с ордерами?! Торопилась я, признаю... Ладно, все спокойненько переделаем...

Или не натворил? Я помню "Pavlova, Ltd.", но чтобы это и ПРОДУКТОМ было! Или натворил, но в незапамятные времена? Нет, в оригинале "Pavlova" есть продукт, "32 - 500 g boxes"... Чо это такое?! Оленьку Павлову - помню (она же Люлёк), больше - ну ни хрена! Эй, спецы по американскому языку - чо бы это значило?!

Вот как примерно, по моим представлениям на сегодняшний день, должна бы выглядеть категория Seafood (см. аттач), при диапазоне дат "только 1995 год", компания-заказчик не показана (только ее город и страна), цена и количество товара, скидка также не показаны (но учитываются в расчетах - столбец Sum), то же с Required Date и Freight, производитель товара представлен только страной. OrderID также не показан, но используется для доступа к данным. Каждый (разрешенный у показу) столбец может быть фильтром, влияющим на выводимые строки и, соответственно, на сумму в расчетном столбце.

Эй, юзеры! Ну поройтесь вы по помойкам, отыщите старый броузер, да посмотрите хотя бы на то, что уже есть (второй аттач)! Неужто у самих голова не кружится от возможностей? Ведь вся эта банда паразитов, высасывающих у вас бабки, не сделает такого НИКОГДА! Отзовитесь!

К сообщению приложены файлы: 1.rar, 1Кb, 2.rar, 23Кb

471. Partisan, 19.09.2009 11:18
Vladimir Rybinkin
. Так, а траекторные ребрышки бы еще... ах, да - City-Country-Category они автоматом и будут иметь место. Ну чо, вполне приличная демка - никакой реляции по гроб жизни такой функциональности не достичь. Да и... наверняка там ЖУТКОЕ количество логических ошибок должно присутствовать.

Гений не имеет понятия о SQL и пытается заменить его набором своих функций. Масштаб ошибки впечатляет, но этот вид ошибки - типичный (по результатам своих наблюдений, не над V.R., а это частое явление,я сформулировал "1-й закон плохого программиста": вместо того, чтобы изучить, как сделать правильно, он придумывает, как обойтись без изучения и делает неправильно).


Осталось реализовать.

Шайбу-шайбу.


Интересный подобный случай - статья в журнале RSDN, "Фильтрация строк с использованием автоматов", есть на сайте http://www.rsdn.ru - запомнилась своей нелепостью, и я был поражён тем, что такое напечатали. Автор, решив что регулярные выражения "слишком сложны", создал для их замены свою библиотеку из 300 функций. Но если бы в ней был и миллиард функций, то предполагаемый пользователь этой библиотеки
быстро убедился бы, что нужной функции в ней нет.

472. jooher, 19.09.2009 12:44
Vladimir Rybinkin
Даже не надейтесь, лапочка! Вы ж банда воров и бездельников... .... ....

хм... а уж на грибы-то почему такая реакция??? похвалил же вроде...

473. SERGEY_BIG, 19.09.2009 12:55
jooher
хм... а уж на грибы-то почему такая реакция???
Может напомнило историю с Перельманом?
Partisan
Гений не имеет понятия о SQL и пытается заменить его набором своих функций.
Поскольку БД тоже "своя", такой мусор ей не нужен.

474. Vladimir Rybinkin, 21.09.2009 09:59
Ну что, шнурки? Больше не приходите поиздеваться над больным стариком? "Ржач" закончился, что ли? Эка я вас вылечил!

Partisan
цитата:
Гений не имеет понятия о SQL и пытается заменить его набором своих функций.
Гений имеет понятие о SQL, а также понятие, что уже существующая функциональность никакому SQL и в кошмарном сне не снилась. По поводу SQL гений самому С.Д.Кузнецову как-то врезал, что тот аж осекся! А уж всякую шушеру разогнать...Кстати, именно Кузнецов после этого дела пригласил меня на "продолжение" 100-го, юбилейного семинара Московской секции SIGMOD, когда основная часть "семинаристов" стала расходиться. Я, конечно, постеснялся.
цитата:
Масштаб ошибки впечатляет
Конечно, конечно. О масштабе мы поговорить горазды, а вот об ошибке - тише воды, ниже травы.
цитата:
я сформулировал "1-й закон плохого программиста": вместо того, чтобы изучить, как сделать правильно, он придумывает, как обойтись без изучения и делает неправильно.
Умница! Вы, надеюсь, о себе? Али и в самом деле "изучили, как сделать правильно"? А чо ж не делаете ничего? Отчего тады один сплошной скулеж о каких-то поганых проблемах? Создайте себе Клуб Бездарных Программистов, обсуждайте там свои законы, скулите там о своих проблемах до посинения - слова не скажу. А вот с клиента - пошли на...

All
Чистовую базу собрал, объем увеличился чуть не вдвое! Неужто работать будет?.. Работает, как ни в чем не бывало! Задумчивость при инициализации выросла, разумеется, а так хоть бы хны. Ага, Companies перестали работать. А также Orders, Shippers, ... и, возможно, их персоналии. В обчем, все хорошо, прекрасная маркиза. В отличие от случая с маркизой, это чистая правда. Так, это я, конечно, сделать забыл... Orders и Order работают... Ух ты! И Suppliers работают?! И Customers?! А, ну да - Shipper же больше не Company, а в базе я это поправить забыл. Shipper работает, а группа евойная почему-то не хочет... Ага, пассивных данных в шаблоне нет. А раньше как же работало? Или я просто давно сюда не заглядывал? Итак, структура данных новая, а шаблоны и, соответственно, функциональность - старая. Исправим это дело...

Подключаем продукты как дети категорий, предприятия - городов, горо... уже сделано, оказывается. Уже начинается: мясных продуктов явно народ не любит, основная часть предприятий сосредоточена в Лондоне - это так, просто глаз резануло, не смотрел еще. Ладно, теперь - главное:

Details - дети ордеров, уже работало. А также продуктов... категорий... предприятий... городов... стран... ну вот и все. Единственное - я им всем один и тот же шаблон влепил, что вряд ли правильно. Да расчетную часть надо бы сделать. А фильтры с редактированием даже и делать не стоит - для кого? Ведь и так любому дебилу ясно, что это тривиальнейшая из задач - даже местные программеры возражать не станут.

Ну чо, пятый тест забабахать, чтобы Гугль окончательно опозорить? В четвертом делать практически нечего: расчетная часть явно за пару часов пишется, если вообще не за минуты. Математику, конечно, отладить - это работа долгая. Но с кем работать-то? Хоть бы один программист завалящий попался... А день программиста эти друзья отмечали. И никто со стыда не сгорел. О, времена, о, нравы!

Впрочем, какие, в задницу, два часа?! А, ну да, извиняюсь - понятия не имею, как этому козлу объяснить, что складывать надо не строки, а числа, в них содержащиеся... Вот сволочь! Объект window или там шо - она показывает, а Math - ни в какую! А эти козлы ("учителя" которые - "знающие", как создать "The best software you can imagine") в своих тестовых примерах кроме random ни хрена не используют. О, изобрел! u.m+=s/1.; Правда, начала лепить всякие 185.35999999999998.

Короче, на код глядеть стыдно, но все работает, как примерно и хотелось. В результате этих операций USA погорела на 5778139 рупий (a.htm), UK (b.htm) в жуткой борьбе выбилась в плюс, причем все, что просрали 7 предприятий Лондона (c), с прибытком отыграла единственная Specialty Biscuits, Ltd. из Манчестера (d). Японцы с итальянцами деньги гребут лопатой, а немцы с французами их просирают, и т.д. Можно, скажем, сделать фильтры на групповухе - тоже полчаса максимум: поставил галки на каждой строчке по умолчанию - и все дела. Выключил какой-нить Speedy Express - и на всех страницах исчезли все операции с его участием. По-мойму, это называется "имитационное моделирование", которое также приводит в неописуемый ужас всех этих программеров. Можно даты вынести в отдельные узлы для возни с "темпоральным" измерением - да что угодно!

Резюме: клиент может все, что может понадобиться самому привередливому юзеру. И если бы на него обратил внимание хоть один профессионал, давно бы все было реализовано еще на IE3. А вот банда программеров, паразитирующая на клиенте, не может НИЧЕГО. И не сможет НИКОГДА. Делайте выводы, господа!

Ау, школьники города Нелидово! Или вообще школьники - не всем же вам мозги поотшибали этим гребаным ЕГ! Ведь вам же жить! Ведь лет через 10-20 наступит полный коллапс: помру я, помрут остальные еще оставшиеся программисты, и останетесь вы один на один с этими бандарлогами. Они ж даже бабки пилить толком не умеют, не говоря уже о чем-либо другом. Посмотрите, во что они Россию превратили за те же 10 лет: километр сраной автодороги Четвертого транспортного кольца стоит дороже километра тоннеля под Ла-Маншем, дороже километра Большого адронного коллайдера! Или на Сочи посмотрите - во комедия-то будет в 2014 году!

Мне совершенно очевидно: на клиенте должен быть нормальный медиатор, нормальный язык, с метками и указателями. Желательно также иметь "полукомпилятор", как я рассказывал где-то выше, который способен выполнять тексты, представленные, как это раньше называлось, "объектным кодом" (сейчас этот термин и использовать-то страшно). Нормальный, отлаженный интерпретатор, у которого не сносит крышу от "неожиданного вызова функции". Скорее всего, аналогичный кошмар творится и ниже - нельзя, скажем, выполнить http-запрос на ненадежном протоколе - эту прелесть тоже явно токо "местные" способны были выродить. И т.д., и т.п. Я уж не говорю про СУБД - это просто МОЯ зона. Но уж если на сраном клиенте никто не способен понять многократно разъясненных, довольно-таки примитивных алгоритмов, да еще при наличии нескольких вариантов текстов! А мелкий технологический прием обеспечения работоспособности этого самого клиента ныне носит гордое название AJAX, который не только "New Approach", но и "really several technologies". Ужас!

Очевидно также, что почти все то, что я в этой ветке пытался моделировать (ядро - монитор, стеки, события, языки управления данными и даже некоторые системные данные), должно быть встроено в сам броузер. Другое дело, что предварительно это нужно хорошенько отмоделировать, специфицировать, и оформить в виде полноценного ТЗ. Я, по дурости своей, предполагал, что ветка будет посвящена именно этому. По той же дурости (неисправимому оптимизму) я еще не окончательно потерял надежду на конструктивный разговор. Я даже не говорю про важность темы - она же просто безумно интересная! Неужто совсем не осталось в мире тех, кого когда-то обзывали сапиенсами?

Добавление от 21.09.2009 10:10:

Ух ты! Токо что никого не было, и тут на тебе: гости и участники слетаются, как мухи не мед. И чего молчим?

К сообщению приложены файлы: 1.rar, 11Кb

475. Dilon, 21.09.2009 12:03
Vladimir Rybinkin
цитата:
Очевидно также, что почти все то, что я в этой ветке пытался моделировать (ядро - монитор, стеки, события, языки управления данными и даже некоторые системные данные), должно быть встроено в сам броузер.
Это несколько абстрактно звучит, что значит монитор, стеки, события, языки управления данными и даже некоторые системные данные для браузера?
Небольшой оффтоп. Вчера пробовал поиграться с GWT, основная идея понятна, но java не знаю, наткнулся на [ur]http://pyjs.org/[/url]. Это порт GWT на python. Заметил, что и там и там нет никаких layouts или конструкторов интерфейсов. В этих фреймворках что, пользователю предлагается на глаз подгонять свои интерфейсы? Есть какие-нибудь тулы для этого? В чем их основной плюс перед jQuery например?

476. jooher, 21.09.2009 13:05
Vladimir Rybinkin
Кстати, именно Кузнецов после этого дела пригласил меня на "продолжение" 100-го, юбилейного семинара Московской секции SIGMOD, когда основная часть "семинаристов" стала расходиться. Я, конечно, постеснялся.

Пригласил в качестве клоуна настроение поднять заскучавшим "семинаристам"...? Смех и радость мы приносим людям. Отчего же застеснялись?

477. dozen, 21.09.2009 18:17
Vladimir Rybinkin
Ведь лет через 10-20 наступит полный коллапс: помру я
А-а-а-а-а!!!
Ради таких вот пёрлов я и читаю эту ветку!

Dilon
Заметил, что и там и там нет никаких layouts или конструкторов интерфейсов. В этих фреймворках что, пользователю предлагается на глаз подгонять свои интерфейсы? Есть какие-нибудь тулы для этого?

Как это нет layouts (http://examples.roughian.com/index.htm#Panels~Summary) ?

Лично я так и рожаю приблуды -- на бумажке или на WireframeSketcher делаю mock-up, потом пишу по нему код. Проблем не вижу. Вроде, есть какие-то дизайнеры, но я не смотрел и не пользую -- не испытываю необходимости.

В чем их основной плюс перед jQuery например?

Плюс в том, что код для сервера и клиента пишется на одном языке -- Java. Используя один и тот же API -- а именно Java SDK (с ограничениями, конечно). Далеко не все, кто хорош в жабе, равно хорош в JS. Там и модель программирования несколько другая, и API свой. GWT это все скрывает под слоем portability.

Добавление от 21.09.2009 18:22:

jooher

Пригласил в качестве клоуна настроение поднять заскучавшим "семинаристам"...?

Да не, скорее всего ВР как обычно ляпнул какую-то ху$ту, но наукообразно. Кузнецов фалломорфировал, но наукообразость ху$ты заставила его перейти в режим "научная дискуссия", и он предложил ВР подискутировать (наивный человек, дитя лабораторий!). Впрочем, почти все делают эту ошибку при общении с данным троллем.

478. Vladimir Rybinkin, 22.09.2009 09:18
All
С клиентом принципиальных вопросов у меня не осталось - остались технические: каков конкретно должен быть инструмент. Если кто-то всерьез воспринял мои слова "клиент может все" - напрасно: клиент не может ничего, и мне это известно лучше, чем кому бы то ни было. Без опытного, надежного "старшего брата" - сервера - клиент останется всего лишь детской игрушкой, UI. Но вот UI должен лежать на его плечах полностью - ситуация, когда чуть не половина прикладного уровня Синдбада посвящена этому самому UI - это позор!

Итак, первая стратегическая задача: клиентский софт с точки зрения юзера есть его "персональный Интернет", т.е. формируемый ПРИ УЧАСТИИ САМОГО ЮЗЕРА набор утилит, данных и метаданных. Из этого вытекает очевидное следствие: храниться он должен именно НА КЛИЕНТЕ, при необходимости пополняться и модифицироваться через Интернет. Иными словами, сколько юзеров, столько и софтов. Поскольку люди глупы, ленивы, и необразованны, они пользуются чем попало, что случайно заметили в ближайшей навозной куче. Отсюда очевидный сервис, вполне себе денежный (и заслуженно): "магазин запчастей" - системный инструментарий, и "составление букетов" - отверточная сборка не только компов, но и самого софта. Ситуация парадоксальная: железо гибкое - винт такой, проц сякой, монитор этакий, ... а софт (СОФТ!!!) - одинаковый! ИМХО, должно быть так: мальчик собирает комп в диалоге с покупателем, передает его девочке (вместе с покупателем), а та собирает ему софт аналогичным образом. Впрочем, тема ветки как раз ИЗ ЧЕГО все это собирать, чо там за магазин запчастей.

Это одна подсистема: клиент-юзер. Вторая - клиент-сервер. Не в обычном HTTP-смысле, а как партнер. Это - "оптовая торговля": клиенты у него более подготовленные, более унифицированные, говорят на нескольких языках, и все понимают. Сервер с "рядовыми" пользователями старается общения избегать - они слишком разнообразны, и серверных шаблонов на них не напасешься, т.е имеем хроническое однообразие витрин магазинов оптовой торговли, отпугивающее неподготовленных юзеров.

Третья подсистема - сервер-сервер. Это "горизонтальные связи", серьезные потоки данных, свои языки. Набор серверов можно считать распределенной СУБД, так что Синдбад в общем случае есть весь Инет в одном флаконе - не как свалка разрозненных веб-страниц, а как единая (на логическом уровне) распределенная мультибаза данных. Никаких ограничений на число пользователей и компьютеров распределенной СУБД, платформы и операционные системы, количество и тип элементов, размеры элементов и число связей между ними, количество баз данных и метаданных в мультибазе не накладывается.

Наконец, как клиент, так и сервер, должен уметь "наводить порядок в доме" - проводить "перманентную" реструктуризацию данных. Эта "внутренняя" математика ОЧЕНЬ сложна, это чистейший ИИ - не в том затасканном смысле, а превосходящий человеческий во всех отношениях. Достаточно почитать ветку, чтобы убедиться: превзойти ЭТО не так уж и трудно. Это еще одна тема вне ветки.

Как видите, все темы достаточно тесно связаны, и я хотел бы дошлифовать простейшую из них, и наименее меня интересующую. Но мне НУЖНА ВАША ПОМОЩЬ, ЧЕРТ ПОБЕРИ!!!

Добавление от 22.09.2009 09:27:

Dilon

цитата:
Это несколько абстрактно звучит, что значит монитор, стеки, события, языки управления данными и даже некоторые системные данные для браузера?
Я же писал: монитор - программа управления стеками, стеки - очередей, события - пока не трогал, языки - структурной разметки и разметки очередей, системные данные - шаблоны...

jooher
цитата:
Пригласил в качестве клоуна настроение поднять заскучавшим "семинаристам"...? Смех и радость мы приносим людям. Отчего же застеснялись?
Ну да, ну да... Эй, вы гости-господа! Были ль в МГУ когда? Он ведь, вроде, там преподавает (что-то слишком часто там бывает)? Поспрошайте-ка яво: шо там было, и чаво.

479. Yak, 22.09.2009 09:57
цитата:
клиент не может ничего, и мне это известно лучше, чем кому бы то ни было.
μεγαλομανία ?

цитата:
Это "горизонтальные связи", серьезные потоки данных, свои языки. Набор серверов можно считать распределенной СУБД, так что Синдбад в общем случае есть весь Инет в одном флаконе - не как свалка разрозненных веб-страниц, а как единая (на логическом уровне) распределенная мультибаза данных. Никаких ограничений на число пользователей и компьютеров распределенной СУБД, платформы и операционные системы, количество и тип элементов, размеры элементов и число связей между ними, количество баз данных и метаданных в мультибазе не накладывается.
Напомнило:
цитата:
-- Не беспокойтесь, -- сказал Остап, -- мой проект гарантирует вашему городу
неслыханный расцвет производительных сил. Подумайте, что будет, когда турнир
окончится и когда уедут все гости. Жители Москвы, стесненные жилищным кризисом,
бросятся в ваш великолепный город. Столица автоматически переходит в Васюки. Сюда
приезжает правительство. Васюки переименовываются в Нью-Москву, Москва -- в
Старые Васюки. Ленинградцы и харьковчане скрежещут зубами, но ничего не могут
поделать. Нью-Москва становится элегантнейшим центром Европы, а скоро и всего мира.
-- Всего мира!!! -- застонали оглушенные васюкинцы.
-- Да! А впоследствии и вселенной. Шахматная мысль, превратившая уездный город в
столицу земного шара, превратится в прикладную науку и изобретет способы
междупланетного сообщения. Из Васюков полетят сигналы на Марс, Юпитер и Нептун.
Сообщение с Венерой сделается таким же легким, как переезд из Рыбинска в Ярославль. А
там, как знать, может быть, лет через восемь в Васюках состоится первый в истории
мироздания междупланетный шахматный конгресс!

480. Dilon, 22.09.2009 10:05
dozen
я не эти layouts имел ввиду, а что-то вроде xml. Формочек накидал, xml-ку сгенерил, по xmlке - код, добавил обработчиков и готово.
Vladimir Rybinkin
цитата:
Но мне НУЖНА ВАША ПОМОЩЬ, ЧЕРТ ПОБЕРИ!!!
извините, я не совсем понимаю, в чем должна заключаться помощь? помощь в изучении javascript?

481. Vladimir Rybinkin, 22.09.2009 17:35
Dilon
цитата:
извините, я не совсем понимаю, в чем должна заключаться помощь? помощь в изучении javascript?
В изучении?! Насколько я понимаю, то, что делаю я, здесь не умеет вообще никто - даже прочесть толком не умеют. Впрочем, в какой-то степени - да. Мне нужно обсудить инструментарий: набор необходиміх методов для полноценной работі на клиенте, UI, утилит обмена с сервером, алгоритмі и т.п. Помощь в шлифовке математики клиента - что здесь вообще может біть непонятного?

482. dozen, 22.09.2009 17:52
Dilon
я не эти layouts имел ввиду, а что-то вроде xml. Формочек накидал, xml-ку сгенерил, по xmlке - код, добавил обработчиков и готово.
не понял какой xml? зачем он?

визуальные дизайнеры, как я говорил, есть (http://www.instantiations.com/gwtdesigner/index.html) . но лично мне -- не нужны.

Добавление от 22.09.2009 18:04:

Vladimir Rybinkin
Насколько я понимаю, то, что делаю я, здесь не умеет вообще никто
языком-то трепать? умеем. но нас папы учили так не делать.

483. Dilon, 22.09.2009 18:17
dozen
да это у меня какое-то странное желание было. чтоб то, что в дизайнере нарисовали -- хранилось в xml, разметка, стили и т.п. И по нему код генерился, который конструирует окна.
За ссылку спасибо, как раз то про что я спрашивал.

484. dozen, 22.09.2009 18:36
Dilon
да это у меня какое-то странное желание было. чтоб то, что в дизайнере нарисовали -- хранилось в xml, разметка, стили и т.п.
а. GWT строит UI на основе рантайм-кода, то есть динамически. статическая разметка как таковая отсутствует. можно, наверное, такое родить, но зачем? противоречит изначальной идее, IMHO.

485. blackhearted, 22.09.2009 18:48
Я готов помочь,шлите задания в личку.

486. arsa, 22.09.2009 18:49
Dilon
это называется XHTML (или HTML5). можно со всякими фреймворками типа Struts, ASP.NET и.т.п. Есть пара сред типа WPF где тоже код и дизайн отдельно.
насколько я знаю нормальные окошечные дизайнеры всегда генерируют код для компиляции (даже qt designer в результате делает код, не говоря уж про winforms, swing и прочее).
это несколько разные подходы.

487. dozen, 22.09.2009 19:31
blackhearted
Я готов помочь,шлите задания в личку.
школьники города Нелидово подтягиваются! скоро, скоро грянет новый браузер!

488. blackhearted, 22.09.2009 19:43
цитата:
dozen:
blackhearted
Я готов помочь,шлите задания в личку.
школьники города Нелидово подтягиваются! скоро, скоро грянет новый браузер!

Я хоть и из провинции,но С.Д.Кузнецову врезать тоже мечтаю.
К тому же у меня есть неоспоримое преимущество перед неучами - я не испорчен современным "вэбом" !

489. dozen, 22.09.2009 20:15

blackhearted
но С.Д.Кузнецову врезать тоже мечтаю
вот оно, разлагающее влияние траекторных шаблонов!

490. Vladimir Rybinkin, 23.09.2009 09:21
All
Поскольку "эксперты" в последнее время ваще ни слова не рискуют сказать что-либо про собственно программирование - опасно для жизни, всякая "мерцающая" мелочь просто притухла, а интерес к ветке очевидно большой, есть все основания полагать, что конструктивный разговор все же возможен, и надолго. Приглашаю принять в нем участие всех, кого я здесь еще не видел, а также персонально arsa, dima.yegorov, femidav, ivanhoe, Konstantin Mironovich, loyolla, theaspect, Витька. Причем, для ivanhoe и loyolla приглашение весьма жесткое: мое отношение к вам я озвучивал, интерес к теме был вами проявлен, и последующее бегство... Короче: при отсутствии ваших постингов в ответ на это приглашение, я вычеркиваю вас в класс "dozen-образных" - навсегда. К великому моему сожалению.

Может быть, пример неинтересен (меня лично просто тошнит от этого Борея)? Готов "завернуть" в клиента любую БД - либо реляционную, конвертированную в набор txt с разделителями, либо XML/RDF, либо их произвольную комбинацию. Поскольку подразумевается, что это лишь ВЫБОРКА, отправленная клиенту с сервера, объем этой виртуальной БД вряд ли должен быть больше 10000 элементов (в реляционной терминологии - кортежей, в графовой - узлов). Хотите - пришлите несколько баз, склепаю единую, на произвольную тему(ы). Это - "для возбуждения аппетита", чтобы был интерес не только к технологии, но и к самим данным. Можно что-нить связанное с семантикой (давно хочу заняться, но тоже не знаю толком тестовых задач - вон, Илиада с Одиссеей подготовленные валяются).

Вопросы к клиенту тоже делятся на "классы". Самый главный - что ему (юзеру) надо? Я лично плохой юзер - мне нужно очень мало, и почти в любой форме. А вот что нужно ХОРОШИМ, НАСТОЯЩИМ юзерам?

Вопросы к оформлению: как организовать выдачу таблицы, селекта, чекбокса, ... - полная спецификация UI. Что именно лучше отдать для настрйки самому юзеру? Как сохранить созданную математику у самого юзера? Как восстановить ее (что-то типа .CFG)? Какой должен быть сервис редактирования данных, и особенно связей между ними? Какова технология модификации данных, метаданных, клиентского софта через Интернет?

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

Как обойти отсутствующие в JS типы данных, в первую очередь INT и FLOAT? Мои эксперименты показали, что если провести инициализацию массива через parseInt, он начинает воспринимать его именно как интовый. А как быть с плавающей точкой - не знаю: не считать же решением мое "изобретение": a[i]=s/1.;

Данные, полученные с сервера, на клиенте первым делом проходят через молотилку инициализации: каждая строка транспортного формата (кортеж) расщепляется в массив (полей), а поля, не соответствующие 1НФ - аналогичным образом на субполя. Более сложная организация данных на клиенте запрещена, и сервер об этом должен знать при подготовке транспортного формата. Все это делается для обеспечения прямого доступа к любому элементу (кортежу, полю, субполю). Некоторые поля могут быть ссылками (локальными для виртуальной БД клиента или глобальными для обратной связи с сервером), т.е. просто индексами этих самых массивов после инициализации. Подготовка таких данных полностью лежит на сервере.

Метаданные классов предназначены как для юзера (имена атрибутов, скажем), так и для самой СУБД (единичный элемент или массив, ссылка или значение, шаблоны доступа и выдачи, ...). Вот, скажем, нынешний (транспортный) формат класса City из 4-го теста (для "видимости" язык метаданных переведу на боль-мень "человеческий"):

Описание класса:
City|КОНЕЦ ПОЛЯ - имя класса.
15|КОНЕЦ ПОЛЯ - ID страничного шаблона.
ССЫЛКА|КОНЕЦ СУБПОЛЯ - тип данных 1-го поля.
ПУСТО|КОНЕЦ ПОЛЯ - имя атрибута поля не указано (это указатель на группу Cities).
СТРОКА|КОНЕЦ СУБПОЛЯ - тип данных 2-го поля.
ПУСТО|КОНЕЦ ПОЛЯ - имя атрибута поля не указано (это сам City, т.е. имя атрибута совпадает с именем класса).
ССЫЛКА|КОНЕЦ СУБПОЛЯ - тип данных 3-го поля.
ПУСТО|КОНЕЦ ПОЛЯ - имя атрибута поля не указано (это указатель на узел класса Country - там его и можно получить).
МАССИВ ССЫЛОК|КОНЕЦ СУБПОЛЯ - тип данных 4-го поля.
ПУСТО|КОНЕЦ ПОЛЯ - имя атрибута поля не указано (это указатели на детей класса Company - там его и можно получить).
МАССИВ ССЫЛОК|КОНЕЦ СУБПОЛЯ - тип данных 5-го поля.
ПУСТО|КОНЕЦ ПОЛЯ - имя атрибута поля не указано (это указатели на детей класса Order Details - там его и можно получить).
1|КОНЕЦ КОРТЕЖА - ID шаблона "малой выдачи".

А вот один из объектов этого класса:
8 - ID класса.
3 - ID группы Cities.
Leipzig - City.
243 - ID Country (Germany).
55 - лишь один ребенок класса Company (Morgenstern Gesundkost).
1012 1013 1073 1121 1215 1216 - детали заказов города (они же - этой самой компании).

Вот, собссно, и все. Вопросы?

491. jooher, 23.09.2009 11:06
blackhearted
я не испорчен современным "вэбом" !

Тоже фанат IE3?

Добавление от 23.09.2009 11:10:

Vladimir Rybinkin
Мои эксперименты показали, что если провести инициализацию массива через parseInt, он начинает воспринимать его именно как интовый. А как быть с плавающей точкой - не знаю:

parseFloat() - неожиданно, правда?

Добавление от 23.09.2009 11:15:

Может быть, пример неинтересен (меня лично просто тошнит от этого Борея)? Готов "завернуть" в клиента любую БД...

Ах вот почему никто не смотрит... Борей никому не интересен....

492. rGlory, 23.09.2009 14:43
Vladimir Rybinkin
цитата:
Короче: при отсутствии ваших постингов в ответ на это приглашение, я вычеркиваю вас в класс "dozen-образных" - навсегда. К великому моему сожалению.
Звонок в дверь. Муж открывает дверь, там стоит мужик с тетрадкой
-Вы будете участвовать в групповом сексе?
-А кто еще будет?
-Ну Вы, я, и ваша жена
-Нее
-Ну тогда я вас вычеркиваю...

493. dozen, 23.09.2009 17:21
Vladimir Rybinkin
Причем, для ivanhoe и loyolla приглашение весьма жесткое

Строгий, но справедливый! Бомж строго выговаривает олигарху за недоеденную икру.

Добавление от 23.09.2009 17:26:

Vladimir Rybinkin
я вычеркиваю вас в класс "dozen-образных"
Это определенная честь для меня, мессир.

Судя по приведенному списку ников, ты ведешь реестр -- good, bad and ugly of ixbt, вероятно со списком личных обидок, нанесенных тебе каждым. Мелочная, злопамятная, душонка!

Добавление от 23.09.2009 17:33:

Vladimir Rybinkin
Как сохранить созданную математику у самого юзера? Как восстановить ее (что-то типа .CFG)?

В веб приложениях ничего стараются на машину клиента не сохранять (кроме кэша разве что). Причина -- он может завтра придти совсем с другой машины, и -- это же веб приложение! -- ожидает увидеть всё, "как оставил". Поэтому настройки и прочие клиент-специфичные вещи сохраняются на сервере, а клиенту отдаются после логина. Если логина нет, то по куке, но это уже как раз привязка к машине (и даже к конкретному браузеру на машине -- у меня их три, скажем).

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

Поскольку ты эвалофил, то тебе будет интересен JSON. Для его "парсинга" достаточно как раз eval(). Про секьюрити-риски пока рассказывать не буду.

494. Hedin, 23.09.2009 23:48
dozen
Для его "парсинга" достаточно как раз eval(). Про секьюрити-риски пока рассказывать не буду.

Заботливо раскладываешь грабельки? Пожалел бы мастера. Он ведь до использования возможностей ie8 может и не дожить...

495. dozen, 23.09.2009 23:58
Hedin
Заботливо раскладываешь грабельки?
ни в коем разе! честно упомянул. а смотреть или нет, какие там риски -- дело его.

496. Vladimir Rybinkin, 24.09.2009 17:26
blackhearted
цитата:
Я готов помочь,шлите задания в личку.
Нет, с "личкой" я работать не буду. Хотя бы по той простой причине, что это на порядки менее эффективно.
цитата:
Я хоть и из провинции,но С.Д.Кузнецову врезать тоже мечтаю.
Кузнецов - личность совершенно выдающаяся. Пупок покрепче перевяжите. На всякий пожарный.
цитата:
К тому же у меня есть неоспоримое преимущество перед неучами - я не испорчен современным "вэбом" !
Нечего обсирать "современный вэб" - он совершенно не виноват, что у него такие программеры.

497. blackhearted, 24.09.2009 17:41
цитата:
Vladimir Rybinkin:
blackhearted
цитата:
Я готов помочь,шлите задания в личку.
Нет, с "личкой" я работать не буду. Хотя бы по той простой причине, что это на порядки менее эффективно.
цитата:
Я хоть и из провинции,но С.Д.Кузнецову врезать тоже мечтаю.
Кузнецов - личность совершенно выдающаяся. Пупок покрепче перевяжите. На всякий пожарный.
цитата:
К тому же у меня есть неоспоримое преимущество перед неучами - я не испорчен современным "вэбом" !
Нечего обсирать "современный вэб" - он совершенно не виноват, что у него такие программеры.


Ок.Раз уж никакой лички.
Вопрос.Как вам можно помочь?Что вы можете выделить для ,так сказать, аутсорса передачи другому исполнителю?

Может выложите в ненавистный вэб,например в google.code ? (Знаю,что не кошерно).

498. Vladimir Rybinkin, 25.09.2009 09:35

jooher
цитата:
parseFloat() - неожиданно, правда?
Правда. Именно это я и сделал в первую очередь, но у меня не пошло. Ща перепроверю - мож, буковку какую перепутал или регистр... Хм, в самом деле... Тест из соседней ветки про Великий и Ужасный NP (с модификацией данных до float):
10062.1 10083.25 10121.2 10281.35 10305 10486.3
Содержимое правой чашки: 10486.3 10121.2 10062.1
Спасибо! Неожиданно, правда. И чего было не объявить эти типы данных?! Воры, укравшие синтаксис у K&R, решили творчески его переработать?

dozen
цитата:
Это определенная честь для меня, мессир.
Ну дык радуйся. А для меня все эти термины - синонимы.
цитата:
Судя по приведенному списку ников, ты ведешь реестр...
Конечно, конечно - мне вот прям заняться больше нечем, кроме как реестрами, переворотами, и прочей хренью. Просто люди вроде тебя относятся к классу, чье мнение по любому вопросу мне совершенно безразлично, и чем скорее вы свалите отсюда, тем лучше (для меня, ессно - потому-то вы здесь и торчите, прикрываясь совсем уж идиотскими поводами). А они - нет. По крайней мере, пока. Их мнение для меня важно, их класс ВЫШЕ класса "по умолчанию", который, в свою очередь, НЕИЗМЕРИМО ВЫШЕ твоего.
цитата:
В веб приложениях ничего стараются на машину клиента не сохранять
Спасибо, я в курсе, и ЭТО (увидеть всё, "как оставил") не представляет ни малейшей проблемы. А вот в КЛИЕНТОцентрической модели, с математикой и данными, собранными С РАЗНЫХ СЕРВЕРОВ, чо делать? Как "увидеть всё, как оставил"? ГДЕ он это "оставил"?
цитата:
Поскольку ты эвалофил, то тебе будет интересен JSON.
Чо это ваще такое? База данных, интересная всем присутствующим? Тогда - в студию. Или какая-то математика? Тогда в мусоропровод - eval вполне достаточно, чтобы решить все проблемы клиента - все до единой. Включая все те, о которых вы здесь периодически скулите.

blackheartedКак вам можно помочь? Что вы можете выделить для ,так сказать, аутсорса передачи другому исполнителю?[/q]Принять участие в обсуждении. Выделил я буквально ВСЕ.

499. theaspect, 25.09.2009 11:24
JSON - java script object notation, формат сериализации объектов, крайне удобен, особенно, в связке с gson.
при отсутствии последнего можно десериализовать при помощи eval. dozen намекает на некоторое повышение удобства при передачи массивных (смотря для кого конечно) данных клиенту. поддерживаются массивы и мапы (Хз как по русски).
должно применяться крайне осторожно посколько злоумышленник может подсунуть в данные код.

500. blackhearted, 25.09.2009 13:03
Ок.А можно описание задачи?
Это сайт коммивояжера?Или я чего-то не понял?

501. ivanhoe, 25.09.2009 15:40
Vladimir Rybinkin

Уже как-то потерял нить обсуждение, все-таки что мы делаем, заставляем работать машину клиента или, наоборот, разгружаем ее от работы?

Мои личные предпочтения такие:
- никакой логики (и JS) на клиенте
- кастомизация пользовательского интерфейса через CSS

Добавление от 25.09.2009 15:46:

P.S. Прогнал последний тест через firebug. Пишет следующее:

код:

b.j: line 48: function eval must be called directly, and not by the way of a function of another name

502. dozen, 25.09.2009 15:55
Vladimir Rybinkin
который, в свою очередь, НЕИЗМЕРИМО ВЫШЕ твоего
зато я Expert, а у тебя статуса нет! деклассированный ты элемент!

503. rGlory, 25.09.2009 16:49
dozen
Ну ты прям соль на рану. Злой ты...

504. dozen, 25.09.2009 17:00
Vladimir Rybinkin

с математикой и данными, собранными С РАЗНЫХ СЕРВЕРОВ, чо делать? Как "увидеть всё, как оставил"? ГДЕ он это "оставил"?

Точно так же. См. "портал/портлет/mashup". Есть два варианта:

1) портлеты собираются в одну страницу сервером (портал), клиенту отдается одна кука, сервер хранит данные и id сессий внешних портлетов у себя (есть протокол (http://www.ibm.com/developerworks/library/ws-wsrp/) WSRP для доставления удаленных портлетов поверх SOAP, в нем же поддержка аутентикации/авторизации на внешних портлетах)

2) данные собираются на клиенте (mashup). Клиент поддерживает по куке на источник данных.

Добавление от 25.09.2009 17:03:

theaspect
особенно, в связке с gson

э... мне хватает либ, выложенных на http://json.org к гуглю я дышу с подозрением

505. Vladimir Rybinkin, 25.09.2009 17:09
theaspect
цитата:
JSON - java script object notation, формат сериализации объектов, крайне удобен, особенно, в связке с gson.
Ясно. В мусоропровод.

blackhearted
цитата:
А можно описание задачи?
ЧЕГО?!
цитата:
Это сайт коммивояжера?Или я чего-то не понял?
Какой еще сайт?! Какого еще коммивояжера?!

ivanhoe
цитата:
Мои личные предпочтения такие:
Ну и полная функциональная беспомощность как пряпое следствие.
цитата:
Прогнал последний тест через firebug. Пишет следующее:
Я знаю - dozen постарался. Я и говорю: просрали eval эти деятели. Гнать их нужно с клиента поганой метлой.

dozen
цитата:
зато я Expert, а у тебя статуса нет! деклассированный ты элемент!
Я о том и говорил: я - программист, а ты всего лишь эксперт.
цитата:
Точно так же.
КАК "точно так же"?! Какому серверу отдавать то, что собрал с десятка других?! И, кстати, с какой стати?

506. jooher, 25.09.2009 17:23
Vladimir Rybinkin
Ясно. В мусоропровод.

Кто бы сомневался


ivanhoe
Мои личные предпочтения такие:
- никакой логики (и JS) на клиенте
- кастомизация пользовательского интерфейса через CSS


Что значит никакой логики и JS ??? пуре хтмл? ссылочками и формами?

CSS конечно хорошо, но это не "кастомизация пользовательского интерфейса", а разве что "кастомизация внешнего вида пользовательского интерфейса". А помимо внешнего вида таки и пользовательский интерфейс имеет (по крайней мере может и должен иметь) свою логику, которую _нужно_ выносить на клиента а не парить сервер по мелочам.

507. ivanhoe, 25.09.2009 17:28
jooher

цитата:
пуре хтмл? ссылочками и формами?

Да, именно так.

508. jooher, 25.09.2009 17:30
ivanhoe
Да, именно так.

Эээ... батенька...

509. dozen, 25.09.2009 18:09
Ясно. В мусоропровод.

"разговаривал прозой, не зная, что разговаривает прозой"

JSON -- и есть javascript, маразматик ты наш маленький! (это я ласково, с состраданием)

Добавление от 25.09.2009 18:12:

Vladimir Rybinkin
КАК "точно так же"?! Какому серверу отдавать то, что собрал с десятка других?! И, кстати, с какой стати?
Что непонятно? В варианте mashup -- каждый сервер отдает куку. Её и хранить. Каждый сервер хранит настройки пользователя отдельно (не зная про другие сервера). В варианте portal -- то же самое делает portal engine.

Добавление от 25.09.2009 18:14:

jooher
Эээ... батенька...
Если этим можно обойтись, то, IMHO, этим нужно обойтись. Но я лично по-большей части встречаюсь с задачами, где JS необходим (или надо страницу перегружать на каждый чих).

510. jooher, 25.09.2009 18:29
dozen
Если этим можно обойтись, то, IMHO, этим нужно обойтись. Но я лично по-большей части встречаюсь с задачами, где JS необходим (или надо страницу перегружать на каждый чих)

Конечно надо четко разделять, что нужно, а без чего можно спокойно обойтись. И это относится не только к js, но и к хтмл, да и ко всему остальному. Например, рисование теней с использованием таблиц и прозрачных пнгов я считаю маразмом, но из этого не следует, что я предпочитаю, чтобы на странице не было таблиц и прозрачных пнгов.

Добавление от 25.09.2009 18:35:

Класс задач, где js не нужен очень ограничен, и вместо "я предпочитаю, чтобы на странице не было js" наверно правильней бы говорить "я предпочитаю не иметь дел с задачами, где js на клиенте необходим"

511. ivanhoe, 25.09.2009 19:04
jooher

цитата:
наверно правильней бы говорить "я предпочитаю не иметь дел с задачами, где js на клиенте необходим"

Таких задач нет.

512. dozen, 25.09.2009 19:32
ivanhoe
Таких задач нет.
задач, где необходим компьютер, тоже нет. можно и в столбик при наличии достаточных ресурсов времени.

513. theaspect, 26.09.2009 00:03
dozen кстати, траекторные шаблоны, цэ шо?

514. dozen, 26.09.2009 01:00

515. Vladimir Rybinkin, 26.09.2009 09:25
dozen
цитата:
JSON -- и есть javascript, маразматик ты наш маленький! (это я ласково, с состраданием)
Нет, родной, это вовсе не JSON, это как раз просранный вами eval. И все ваши гребаные проблемы, вместе с вами, можно отправить туда жу, в мусоропровод.
цитата:
Что непонятно? В варианте mashup -- каждый сервер отдает куку. Её и хранить.
Какую еще "куку"?! Мне нужно хранить то, что я собрал с этого сервера - мож, это ваще одна строчка. На кой мне какая-то кука?

ivanhoe
цитата:
Таких задач нет.
Ага, нет. Юзеров кормим с ложечки, и самим ничего делать не позволяем - правда?

All
Ну чо, господа хорошие? Работать бум али как? Как же вас расшевелить-то, забитые вы какие-то... Что у меня есть из баз-то? Ну, территории всякие. Помните, Антонов пел: Пройду по Абрикосовой, сверну на Виноградную... Про какой город он это пел? Арсеньев из Приморского края? Али Ейск Краснодарского, или там Железноводск? Новочеркасск Ростовской или городок Военный Воронежской? Село Смирновка Кемеровской или станица Павловская того же Краснодарского? Не, скорее всего, Сочи - там, правда, нет "Прохладной", но зато Абрикосовая, Виноградная, Тенистая, Вишневая и даже Зелентреста в наличии. А Грушовых аж три штуки - просто улица, Грушовая Поляна и Грушовый Сад...

Что еще? Ну, Москва, скажем. Парки да сады, вокзалы да пруды... DMOZ на всех языках - семантическая классификация то бишь... Телефонные справочники всех видов - образование имен и фамилий, и ках их можно искорежить при набивке... рубрики тематические, перевязанные совершенно жутким образом - полный гадюшник... Ну должно ж вас в жизни хоть что-то интересовать, окромя бабок! Или там Багамов с Мальдивами. Вы ж там не были - с чего вы взяли, что это так прекрасно? Ну, был я на этом... Корфу. В самом шикарном тамошнем отеле. Да, неплохо - сидишь на солнышке, пивко потягиваешь, внизу, метрах в двухстах, море плещется, ветерок обдувает - красота! И не жарко еще - 20-25, зима! Ну и чо?!

516. jooher, 26.09.2009 10:20
Vladimir Rybinkin
Какую еще "куку"?!

А... не обращай внимания! Тоже в мусоропровод, конешно.

Про какой город он это пел?

И full-text index тоже в мусоропровод. Зачем нам?

Добавление от 26.09.2009 10:24:

Vladimir Rybinkin
Или там Багамов с Мальдивами. Вы ж там не были - с чего вы взяли, что это так прекрасно? Ну, был я на этом... Корфу. В самом шикарном тамошнем отеле.

Во-во, давай лучше про Мальдивы! Правда ли что там все поголовно ходят в белых штанах?

517. Partisan, 26.09.2009 10:30

theaspect
раекторные шаблоны, цэ шо?

Траекторный шаблон нужен для создания шаблонной траектории. Шаблонная траектория демонстрирует пользу от применения траекторного шаблона, который нужен для создания шаблонной траектории и.т.д.

518. theaspect, 26.09.2009 14:05
я уж было подумал, что это новое слово в программировании

519. dozen, 26.09.2009 17:31

Vladimir Rybinkin
На кой мне какая-то кука?
ну да, как закуска-то оно не очень...

520. vertur, 26.09.2009 19:11
цитата (Vladimir Rybinkin):
Помните, Антонов пел: Пройду по Абрикосовой, сверну на Виноградную... Про какой город он это пел?
Это сорта водки

цитата:
...сидишь на солнышке, пивко потягиваешь, внизу, метрах в двухстах, море плещется
А че так далеко то ? Надо стул прямо в море ставить, иначе кайфа совсем не будет... А так пивка выпил, погрелся и тут тебя океанской волной вместе со стулом сбило... И вот тут наверно и будут приходить мысли о траекторных шаблонах .

521. ivanhoe, 27.09.2009 02:05
dozen

цитата:

задач, где необходим компьютер, тоже нет. можно и в столбик при наличии достаточных ресурсов времени.
Ну да, можно и TCP/IP через голубиную почту слать и пр. А ты уже научился жить вечно, поделись что-ли? :>

Но вообще, на всякий случай, поясню свою позицию:
1) JS для функциональности Интернет-проектов не нужен. То есть я не видел ни одного Интернет-проекта, где использование JS было бы оправданным, а не данью моде.
2) если так уж требуется засунуть в браузер какой-то мощный функционал, то для этого гораздо лучше подходит не JS, а апплеты/actionscript/silverlight/..., там уже есть и работают и триды, и runtime близкий к native code и мн. др.

522. Vladimir Rybinkin, 27.09.2009 09:22
ivanhoe
цитата:
1) JS для функциональности Интернет-проектов не нужен. То есть я не видел ни одного Интернет-проекта, где использование JS было бы оправданным, а не данью моде.
Ваня, это ИДИОТИЗМ! В квадрате, кубе - не знаю. Скажите, Вы бездумно повторяете чью-то мысль? В таком случае - забудьте: она идиотская. Или это ВАША СОБСТВЕННАЯ мысль? В таком случае, не давайте ее постулатом, попробуйте хоть как-то обосновать.
цитата:
2) если так уж требуется засунуть в браузер какой-то мощный функционал, то для этого гораздо лучше подходит не JS, а апплеты/actionscript/silverlight/..., там уже есть и работают и триды, и runtime близкий к native code и мн. др.
Это мысль также идиотская. Проводил ее здесь, кажись, Partisan. Я отвечал...

523. Partisan, 27.09.2009 11:21
Vladimir Rybinkin
Это мысль также идиотская. Проводил ее здесь, кажись, Partisan. Я отвечал...

Я эту мысль конечно проводил, но она довольно общеизвестна. Во всяком случае, это должно быть понятно тем, кто умеет программировать клиент-серверные приложения.

Ответ был, но бессодержательный хоть и длинный.

524. jooher, 27.09.2009 14:52
ivanhoe
то для этого гораздо лучше подходит не JS, а апплеты/actionscript/silverlight/...

Ну, под "js на клиенте" я имел в виду не вот прям именно javascript (как под ксероксом не всегда понимают xerox). Собсно, javascript в сыром виде для приятной работы с документом подходит мало, однако ж дает принципиальную возможность получить на клиенте не просто отчеты о проделанной сервером работе, а вполне себе функциональные приложения. (Если не ошибаюсь, dozen вроде сравнивал js с ассемблером - очень правильно по-моему). А если сравнивать с аплетами/флэшами/сильверлайтами - так сравнивайте фреймворки а не язык. Гриды в любом js-фреймворке тоже есть.


если так уж требуется засунуть в браузер какой-то мощный функционал

А вот "какой-то мощный" функционал на клиенте не нужен и более того, вреден (исключая всякие графические игрушки, для которых флэш или ява конечно вне конкуренции - к canvas в хтмл5 я пока не знаю как относиться). Мощными функционалами пусть занимается сервер, а клиент должен только а). обеспечивать удобство работы пользователя б). не грузить сервер _заведомо лишней_ работой -- а для этого возможностей js вполне хватает и без native кода.


я не видел ни одного Интернет-проекта, где использование JS было бы оправданным, а не данью моде

В качестве иллюстрации - уже упоминавшийся тут пример с рашен банками (http://dapmx.org/apps/bankreports/) . Надеюсь, понятно, что при реализации этого функционала ссылочками понадобится очень неленивый сервер (особенно, если понаоткрывать историй по агрегированным статьям и работать дружным коллективом) - а этот пример спокойно работает на хостинге за 400 руб\мес (лимит 3% от проца). С другой стороны, во флэше такой функционал тоже сделать геморно, потому как это не библиотечные гриды, которые адоб соизволил включить в дистру, а гриды, которые я сам решил, что вот нужны мне именно такие.

Ява скрипт не удобен для прямой работы с документом, но вполне дает возможность формулировать свои принципы - вот вам и jQuery и ext и GWT и (конешно, а вы как думали?) dap (http://dapmx.org) .

И у ВР вон тоже творческий процесс. Мож тоже чонить представит через годик.

525. dozen, 27.09.2009 19:47
ivanhoe
JS для функциональности Интернет-проектов не нужен

не необходим. но нужен. нужен он когда перегрузка страницы занимает заметное время (присутствует мерцание).


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


jooher

А если сравнивать с аплетами/флэшами/сильверлайтами - так сравнивайте фреймворки а не язык. Гриды в любом js-фреймворке тоже есть.

Во, это разумно. Что мне с того, что в апплете весь JDK доступен? В GWT -- тоже доступна существенная его часть, но он не требует установленной жабы на клиенте.

526. Vladimir Rybinkin, 28.09.2009 09:23
Partisan
цитата:
Ответ был, но бессодержательный хоть и длинный.
Ниче, Ваня поймет.

jooher
цитата:
dozen вроде сравнивал js с ассемблером - очень правильно по-моему
Ха-ха-ха! С остальнім, как ни странно, согласен.

All
Алё, молодежь! Вы что, ВСЕ такие же как эти? Так же...

Владимир, я же предупреждал, воздерживайтесь от кидания оскорблений аудитории. Теперь не обижайтесь.

Вы тоже способны обсуждать лишь размеры членов, белые штаны, шаблонные траектории, да стулья посреди моря? Или учитесь перемежать эти темы всякими "умными" словечками типа full-text index и прочей хрени? Вы-то что здесь делаете, которые читатели? Вас ведь довольно много, тема чем-то интересна - ЧЕМ? Неужели только тем, чем и этому стаду, которым плюй в глаза? Так я могу и подыграть: ЭТИ - точно клюнут, и половина из вас наверняка молчать не будет. А вот ДРУГАЯ половина почему молчит? Или вымерли все, как мамонты?

Забитые, затюканные юзеры! Лет... много назад здесь активно обсуждалось, что нужно делать, чтобы вам было хорошо и удобно. Высказывались разные очень неглупые мысли, шлифовалась идеология UI и т.п. Затем сюда набежала вся эта свора, которой на вас абсолютно ПЛЕВАТЬ! Она НЕ ХОЧЕТ ничего для вас делать, она давно уже ЗАБЫЛА о вашем существовании. Она давно уже ничего и НЕ МОЖЕТ - посмотрите на их постинги, и спросите себя: неужели ЭТО не тупее любого из вас? Так зачем вы их кормите? Почему какой-то Билл стал самым богатым человеком планеты? Посмотрите, например, О ЧЕМ говорят шароварщики между собой: Не вздумай сразу выложить работающую версию, оставь несколько багов. Потом ты будешь выпускать новые версии, и тоже получать за это бабки. Да разорите вы эту нечисть!

Я проверил: клиент может абсолютно все, что ваша душа пожелает, и реализовать ЛЮБЫЕ ваши требования совсем несложно - вполне по силам даже школьнику. Мне нужно только знать эти самые требования. Лично меня интересует семантика, ваш "собеседник" на стороне сервера, который с интеллектом, который тоже юзер, которому тоже, как и вам, ИНТЕРЕСНА имеющаяся у него информация, который хочет и может ее изучать, пополнять, модифицировать. У нас ОБЩИЕ задачи, господа! Так что же вы молчите? Или вас здесь вообще нет?

Ладно, попробую причесть тематический рубрикатор, собрать его в базу - сделаю еще попытку вас разбудить...

529. ivanhoe, 28.09.2009 17:52
jooher, dozen, Vladimir Rybinkin

Вопросы использования/неиспользования активного контента и пр. имеют религиозный характер.

Моя религия такова: в Интернет-проектах надо придерживаться принципа viewabable with any browser (http://www.anybrowser.org/campaign/) . JS в эту концепцию не вписывается никак. Ну и сам я активный пользователь массы any browser'ов, не поддерживающих последние навороты JS (а некоторые и вообще JS не поддерживают).

Что касается Интранетов, разного рода корпоративных приложений и пр, то здесь моя религия относится к активному контенту вполне терпимо. Однако, считаю, что Java-апплеты для таких задач лучше JS-решений абсолютно всем: и функционалом и производительностью и наличием преогромнейшей базы готовых библиотек на все случаи жизни и пр. Хуже только одним - простотой deployment'а, но этот фактор в корпоративно-интранетном случае абсолютно несущественен.

Примеры использования JS не по делу:
- http://gmail.com (без каких-либо достоинств утяжеляет и без того непростую работу браузера, после того как я начал использовать gmail.com, мой браузер стабильно падал два раза в неделю - а до этого бывало что и год работал без перезапуска! последние версии стали получше, месяц прожить могут, да)
- http://www.google.com/reader (аналогично gmail.com)
- http://forum.ixbt.com (здесь JS используется для упаковки HTML кода, зачем-то... использовали бы лучше gzip)
- http://mariachi.ru (криво индексируется поисковиками и невозможность человеческим образом поставить ссылку, не работает из any browser'а - и все это непонятно заради чего!)

530. Vladimir Rybinkin, 28.09.2009 17:55
Ух ты! Как в чате. Ладно, мне пора убегать - вечером посмотрим...

531. dozen, 28.09.2009 18:09
ivanhoe

Ну и сам я активный пользователь массы any browser'ов, не поддерживающих последние навороты JS (а некоторые и вообще JS не поддерживают).

Ты с токарного станка в тырнет ходишь?

Однако, считаю, что Java-апплеты для таких задач лучше JS-решений абсолютно всем: и функционалом и производительностью и наличием преогромнейшей базы готовых библиотек на все случаи жизни и пр.

Как жабобыдлокодер, я с тобой не согласен категорически. Но ладно я -- так ведь и сам Сан на апплеты, по сути, забил. Это какбэ намекает.

По поводу gmail и google reader -- пользую с начала времен, как и google documents. Ни разу ничего не падало, а производительность вполне приемлима. Установленный OpenOffice в результате простаивает. А есть ведь еще и http://Zoho.com , где приложения существенно приятнее и многочисленнее, чем в google documents!

По поводу forum.ixbt.com и снижения нагрузки -- я так понимаю, задача стояла снизить трафик для всех клиентов, а не только тех, кто поддерживает gzipped content. На момент имплементации (я его смутно помню) таковых клиентов, думaицца, был один FF. Сейчас -- согласен, проще и эффективнее было повесить gzip-filter.

http://mariachi.ru (криво индексируется поисковиками

Откуда дровишки? Мне просто интересно.
P.S. да, проверил -- "саксофоны протирка", гугля дает выдержку из явно какой-то специфической страницы, но ссылка ведет на морду лица. jooher, это БОЛЬШОЙ непорядок! твой заказчик теряет бабло! ВР радуется!

невозможность человеческим образом поставить ссылку

Это не проблема JS, а проблема проектирования. В том же GWT ссылки типа foo/bar#item123 отрабатываются кодом (то есть JS), и видны в адресной строке. Так что ссылки ставятся на ура.

532. ErmIg, 28.09.2009 18:14
Уважаемый, Владимир, а вы не собираететсь случаем написать книгу с подробным описанием ваших технологий?
Я думаю читателям это было бы интересно.

533. dozen, 28.09.2009 18:23
ErmIg
Уважаемый, Владимир, а вы не собираететсь случаем написать книгу с подробным описанием ваших технологий?

Да-да? Трехтомник, скажем. Кодовое название "Искусство программирования". Первую книгу по основным алгоритмам, вторую книгу -- по получисленным алгоритмам, третью -- по сортировке?

534. jooher, 28.09.2009 18:30
ivanhoe
надо придерживаться принципа viewabable with any browser. JS в эту концепцию не вписывается никак

Не вписывался лет 6-7 назад. Сейчас ситуация более-менее выправляется даже с ИЕ. Ориентироваться на убогую экзотику или тяжелое наследие 5-7-летней давности в мире, где ВСЕ основные браузеры бесплатны (да еще при установке говорят Thank you for using <имярек> - это тоже маразм и ВР-овщина. На одном сайте видел такую приписку: "Претензии на работу сайта от гордых владельцев IE6 не принимаются". - Немножко жестковато - но посыл в правильном направлении В корпоративных случаях это вообще не аргумент.
Конечно, быть на пике волны и везде совать последние достижения Мозиллы или Оперы, или свежий взгляд микрософта - тоже не совсем разумно, но и наименьший общий знаменатель сейчас вполне уже достойный (спасибо W3C).


Примеры использования JS не по делу:
Конечно, лестно, что марьячи.ру попал в один список с гуглом и ихбт... Ни с тем ни с другим проблем я не замечал, хотя тоже пользуюсь многими браузерами...

http://mariachi.ru (криво индексируется поисковиками и невозможность человеческим образом поставить ссылку, не работает из any browser'а - и все это непонятно заради чего!)

Заради того, что этот сайт изначально был полигоном для дапа (да, для е-магаза дап не является безусловно наилучшим решением, поскольку тут очень важна хорошая индексируемость, с чем у дапа, как и у любого другого ajax-ориентированного подхода, есть проблемы). Индексацию пришлось решать отдельно в чем кривизна то кстати?. Ссылку поставить - что же прям такого уж нечеловеческого-то? А из какого интересно any browsera он не работает? Вроде на ИЕ6 проверял тоже...

Добавление от 28.09.2009 18:34:

dozen
Это не проблема JS, а проблема проектирования. В том же GWT ссылки типа foo/bar#item123 отрабатываются кодом (то есть JS), и видны в адресной строке. Так что ссылки ставятся на ура.

Ну дык http://mariachi.ru/?&page=details&item=568&class=WSA в чем проблем то?

535. Chainik, 28.09.2009 18:34
Встряну немного.
Кому-нибудь надо (условно)-работающая версия последнего выложенного ВР архива?
Как минимум, работает под Firefox 3.0.11 и Opera 10.0.4585.


Собственно, оригинал нигде не работает из-за черезмерного увлечения ВР обфускацией шыдевра (типа, m.e=eval, m.w=document.write и т.д.)
Когда все это было выкинуто обойдено - что-то такое заработало.

К сообщению приложены файлы: 1.zip, 6 file(s), 28Кb

За это сообщение сказали спасибо [2]: Gipnoss, jooher

536. ivanhoe, 28.09.2009 18:36
dozen

цитата:

Ты с токарного станка в тырнет ходишь?
С токарного станка не хожу. Хожу (и довольно часто) с телефона и PDA.

цитата:

Как жабобыдлокодер, я с тобой не согласен категорически.
Почему?

цитата:

Но ладно я -- так ведь и сам Сан на апплеты, по сути, забил. Это какбэ намекает.
Никто не мешает использовать и развивать апплеты и без Сана. Например в области веб-морд для управления телекомами апплеты уже давно стандарт де-факто и всех устраивает.

цитата:

По поводу gmail и google reader -- пользую с начала времен, как и google documents. Ни разу ничего не падало, а производительность вполне приемлима.
И сколько у тебя был (и есть) типичный аптайм браузера?

цитата:

По поводу forum.ixbt.com и снижения нагрузки -- я так понимаю, задача стояла снизить трафик для всех клиентов, а не только тех, кто поддерживает gzipped content. На момент имплементации (я его смутно помню) таковых клиентов, думaицца, был один FF. Сейчас -- согласен, проще и эффективнее было повесить gzip-filter.
FF на тот момент не было, из попсы были Netscape Navigator, IE и Opera. Все три поддерживали gzip и я об этом MN'у писал.

537. jooher, 28.09.2009 18:46
dozen
"саксофоны протирка", гугля дает выдержку из явно какой-то специфической страницы, но ссылка ведет на морду лица

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

538. theaspect, 28.09.2009 18:50
цитата:
Chainik:
Встряну немного.
Кому-нибудь надо (условно)-работающая версия последнего выложенного ВР архива?
Как минимум, работает под Firefox 3.0.11 и Opera 10.0.4585.


Собственно, оригинал нигде не работает из-за черезмерного увлечения ВР обфускацией шыдевра (типа, m.e=eval, m.w=document.write и т.д.)
Когда все это было выкинуто обойдено - что-то такое заработало.

чето я не понял в чем здесь революционность???
простейшие фильтры, стоило ли ради этого городить фреймворк в brainfuck стиле
кстати внезапно перестали работать ссылки и выдает "m is not defined"
на главной странице начинает выдавать Loading...

539. dozen, 28.09.2009 18:53
jooher
Но денег я думаю никто тут не теряет, поскольку тут задача индексации не в том, чтобы выдать юзеру чоткую инфу по кейворду, а чтобы магаз был по этому слову на видном месте

Теряет. Разумеется, не так, как если бы магазин вообще не показался, но есть такая штука, как отсеивание определенного числа потенциальных покупателей на каждом действии, необходимом для покупки. Чем больше шагов (кликов) нужно сделать, чтобы добраться до кнопки "Купить", тем больше потери по дороге. Одно из ключевых средств увеличения конверсии -- это streamlining (создание укороченных путей к покупке). Пример -- Amazon One-Click buy.

Иногда результаты streamlining просто поражают (94% увеличения конверсий) (http://www.bingocardcreator.com/articles/developing-shopping-cart.htm#results-of-ab-test)

А у тебя человек ищет вполне конкретную вещь, а приземляется на главной панели. Он конфузится, что ему делать дальше -- и велики шансы, что вместо поисков поля "поиск", он нажмет Back, и уйдет на другой сайт -- где ссылка идет прямо на нужный предмет.

540. jooher, 28.09.2009 18:56
Chainik
кому-нибудь надо (условно)-работающая версия последнего выложенного ВР архива?

Надо убедить ВР дальнейшие изыскания делать на этом архиве. хотя бы работает. Уже можно спрашивать "В чем прикол?"

541. dozen, 28.09.2009 19:04
jooher

Надо убедить ВР дальнейшие изыскания делать на этом архиве

успехов!

542. ivanhoe, 28.09.2009 19:06
jooher

цитата:
...это тоже маразм и ВР-овщина.
По-моему как раз вы с ВР здесь единомышленники. Я считаю что должно все работать у всех, в том числе и у владельцев телефонов, различных планшетов и мн.др. Вы считаете, что у вас любимых работает и это главное, а мы, пользователи, и наши браузеры - говно.

цитата:
В корпоративных случаях это вообще не аргумент.
Естественно, про корпоративно-интранетный случай я написал отдельно.

цитата:
в чем кривизна то кстати?.
Набери в гугле site:mariachi.ru. Для любой страницы посмотри разницу между "cached" и самой сраницей. Кстати, cloacking в чистом виде и гугль имеет все основания твой сайт забанить.

цитата:
А из какого интересно any browsera он не работает? Вроде на ИЕ6 проверял тоже...
Не работает из штатного браузера моего телефона (Nokia N73).

543. jooher, 28.09.2009 19:28
ivanhoe
Кстати, cloacking в чистом виде и гугль имеет все основания твой сайт забанить.

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

По-моему как раз вы с ВР здесь единомышленники.
В том, что машину клиента таки надо заставлять работать - абсолютно ним согласен.

Вы считаете, что у вас любимых работает и это главное, а мы, пользователи, и наши браузеры - говно.
Неправда, хотя некоторые из пользователей и их браузеры действительно говно. Я считаю - лучше потерять 2% аудитории, чем усложнять себе жизнь на 300%. Те, кто пользуются ИЕ 4.0 могут спокойно идти на ... Хотя к нокиям это не относится. Какой там браузер кстати? И еще такой момент - дап - штука сырая, о чем я сто раз тут говорил, не надо из нее делать выводов мирового масштаба. Дойдут руки и до мобильных браузеров; все что дапу нужно - это минимальная поддержка браузером W3C DOM и XMLHttpRequest

544. Yak, 28.09.2009 19:31
Vladimir Rybinkin
Или учитесь перемежать эти темы всякими "умными" словечками типа full-text index и прочей хрени?
А кто про "траекторные шаблоны" начал?

jooher
Надо убедить ВР дальнейшие изыскания делать на этом архиве.
Думаю, это невозможно.
Он же уже объяснялся:
цитата:
у него "припадки" начинаются - я же писал. Я чуть со смеху не помер: m.e - работает, а "настоящий" eval - нет. Причем, насколько я понял, нестабильно: работает, работает... и вдруг - сюрпрайз: "Неожиданный вызов функции". От одной только подобной диагностики кондратий хватит. А мож, и стабильно - мож это при вызове из строки методов - не помню. Да и не очень интересно - m.e меня вполне устраивает.

переопределяю m.e=eval; - неожиданности заканчиваются.

545. ivanhoe, 28.09.2009 20:05
jooher

цитата:

В том, что машину клиента таки надо заставлять работать - абсолютно ним согласен.
Как будто ей заняться больше нечем кроме удовлетворения ваших амбиций. :(

цитата:
Я считаю - лучше потерять 2% аудитории, чем усложнять себе жизнь на 300%.
Ну вот, я и говорю что вопрос религиозный. А для меня потеря любого пользователя это человеческая трагедия. :( Даже если у него NCSA Mosaic образца 1993 года.

цитата:
Какой там браузер кстати?
Не знаю что за браузер и как это посмотреть. Знаю что на базе Webkit.

546. loyolla, 28.09.2009 20:09

dozen
А есть ведь еще и http://Zoho.com
Ух ты! А Вы не знаете, какой-нибудь SVN/CVS у них там есть? Zoho share - это не то?

547. jooher, 28.09.2009 20:41
ivanhoe
Знаю что на базе Webkit

Хм... на вебките должно работать... хром же на нем тоже

548. Gipnoss, 28.09.2009 20:53
Chainik
что-то такое заработало.
Феноменально полезная штуковина.

Vladimir Rybinkin
Кстати зачем она нужна?

549. dozen, 28.09.2009 22:43
ivanhoe

Ну вот, я и говорю что вопрос религиозный. А для меня потеря любого пользователя это человеческая трагедия.

На самом деле -- это вопрос финансовый. 2% -- это сколько-сколько в абсолютных деньгах? Для магазина, торгующего нишевым товаром (духовые инструменты), возможно, поддержка этих двух процентов и не окупится. А для Amazon -- скорее всего, это приличные деньги.

Правда, для Амазон эти 2% скорее всего, не потеряны -- идти-то всё равно больше некуда, так что они придут снова с другого браузера.

Короче, тут надо от случая к случаю думать. Мозаику я лично поддерживать не готов!

Добавление от 28.09.2009 22:47:


Ух ты! А Вы не знаете, какой-нибудь SVN/CVS у них там есть? Zoho share - это не то?
не, share -- это типа sharepoint. SVN -- это к http://unfuddle.com

Добавление от 28.09.2009 22:52:

jooher
Ну дык http://mariachi.ru/?&page=details&item=568&class=WSA в чем проблем то?

В том, что эта ссылка так и остается в адресной строке, кого ни выбирай. а типовой use-case "выделить строку адреса, вставить в блог". И опа -- по ссылке оказывается совсем другой инструмент!

550. jooher, 29.09.2009 00:02

dozen
В том, что эта ссылка так и остается в адресной строке, кого ни выбирай.

А GWT адресную строку менять умеет? А... он #метки эмулирует?... хм... я до такого не догадался. Чтобы не искать пальцем в небе, можешь пример подкинуть?


gmail, точно

551. SanRemo, 29.09.2009 00:07
jooher
Полная фигня твой mariachi. Зашел с включенным noscript (а он всегда включен) - и усе - кина не будет, батарейки сели. Где простой html при выключенном JScript?

552. jooher, 29.09.2009 00:07
dozen
2% -- это сколько-сколько в абсолютных деньгах

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

Добавление от 29.09.2009 00:09:

SanRemo
Полная фигня твой mariachi. Зашел с включенным noscript

полная фигня ваша ява. зашел с отключенной явой - и все. нет кина

Добавление от 29.09.2009 00:13:

конкретно сайт марьячи рассчитан на музыкантов-духовиков, далеких от программерских комплексов типа "а нука как это будет работать с noscript" или "а вот проверю-ка я ево Мозаикой 93-го года".

553. dozen, 29.09.2009 00:21
SanRemo
Где простой html при выключенном JScript?

В помойке истории, где еще. Хочешь мучаться -- твоё право

Добавление от 29.09.2009 00:40:

jooher

А... он #метки эмулирует?... хм... я до такого не догадался. Чтобы не искать пальцем в небе, можешь пример подкинуть?

угу, именно #.

http://developerlife.com/tutorials/?p=232

За это сообщение сказали спасибо: jooher

554. jooher, 29.09.2009 00:55
dozen
Вот кстати это было реальным траблом. Решение, которое есть сейчас (правильный урл в специальном текстфилде) - прямо скажем, не шибко удовлетворительно, а с #метками ход клевый они придумали конечно. присобачу тоже

555. SanRemo, 29.09.2009 00:57
dozen
Лозунги на team building толкать будешь В тяжелые кризисные времена бросаться клиентами из-за низкой квалификации обслуживающего персонала -- верный путь остаться в истории.

jooher
конкретно сайт марьячи рассчитан на музыкантов-духовиков, далеких от программерских комплексов типа "а нука как это будет работать с noscript" или "а вот проверю-ка я ево Мозаикой 93-го года".
Так и скажи - кроме Java ничего не умею, сделал "для души", не ради денег.

556. jooher, 29.09.2009 01:01
SanRemo
сам то чего сделал, умник? Давай в студию, третьим будеш

Добавление от 29.09.2009 01:02:

причем тут ява то кстати? по яве тут dozen

557. SanRemo, 29.09.2009 01:22
jooher
А я теперь руководю

558. jooher, 29.09.2009 01:26
Типа это все объясняет?

559. dozen, 29.09.2009 07:19
SanRemo

Так и скажи - кроме Java ничего не умею

Ты эта... иди мотиваторы поправь, криво висят... чтобы не позориться, путая JS c Java.

А я теперь руководю

Не справился, значит, с being System Analyst? Ну, оно неудивительно при таких знаниях...

560. moderator-Kid, 29.09.2009 07:40
SanRemo
jooher
dozen
Завязывайте с Паниковский-style*, ага. Здесь и одного такого В.Р. более чем достаточно


* - ...Уже послышались однообразные возгласы "А ты кто такой?", уже вырвалась из очей Паниковского крупная слеза, предвестница генеральной драки. (c) И&П

561. dozen, 29.09.2009 08:33
jooher
а с #метками ход клевый они придумали конечно

Одна проблема -- на сервер-сайд этой метки не видать никак. То есть скажем приходит юзверь по линку http://foobar.com#id1234. По хорошему бы, мне на сервере бы подгрузить все нужные данные по id1234 сразу в кэш, чтобы потом на каждый ajax-запрос не бегать. Ан нет, браузер у нас умный, он #id1234 на сервер не передает, так что эта возможность оптимизации пропадает втуне.

Но наткнулся я на это не при оптимизации, а при попытке выдать googlebot'у ту же страничку в статике. Если я в sitemap выложу ссылки с #, то гуглбот просто проигнорирует #-часть (а может, и сломается). Увы. Стандартные линки имеют свои преимущества

562. Vladimir Rybinkin, 29.09.2009 09:45
Ого! Откуда такая бешеная активность?! Ага, Чайник пришел, что ли? Приветствую!

ivanhoe
цитата:
Вопросы использования/неиспользования активного контента и пр. имеют религиозный характер.
Как минимум, спорный вопрос, но я даже спорить не буду: у любой религии есть свои апостолы, пророки, ... хто там еще, не знаю. Так вот: если это только ВАША религия, она просто никому не интересна. Если же нет...

1. Я полагаю, что ActiveX умер как раз из-за "native code", в то время, как JS, по Вашим собственным словам, до сих пор моден. Вас это не удивляет? Меня - нет, и я предсказываю, что та же самая участь постигнет "апплеты/actionscript/silverlight/...", хоть я понятия не имею, что это вообще такое. А вот JS - останется.

2. В 99.999% случаев никакого такого "функционала" и никакой такой "производительности" на фиг не нужно. Первоочередная задача клиента - UI, а там затраты смехотворны, особенно в сравнении с "pure HTML".

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

4. Интернет, интранет, локал - не имеет ни малейшего значения. Есть универсальный, привычный всем ЕДИНЫЙ клиент - броузер. Меня в свое время удивляло лишь одно: как же долго доходит эта простейшая мысль до девелоперов (я ее высказал минимум за пару лет до того, как ее вообще перестали игнорировать - я где-то писал про мои встречи на разных выставках софта в те годы.

5. Принцип "viewabable with any browser" хорош, и JS в эту концепцию ПРЕКРАСНО вписывается. Отправить в мусоропровод все эти поганые "последние навороты" (а также "некоторых, которые вообще JS не поддерживают") - и дело с концом. Посмотрите в этой ветке, ПОЧЕМУ я писал именно про IE3 (а также ответы местной шушеры ).

6. Сколько бы ни было "примеров использования JS не по делу" (допускаю, что все они верны) - это говорит лишь о квалификации тамошних девелоперов, и ни о чем более. Для упаковки HTML кода, разумеется, его также использовать смешно. "Кривая индексация поисковиками и невозможность человеческим образом поставить ссылку" также вина отнюдь не JS, а именно ублюдочных девелоперов. ИХ нужно выбросить с клиента, а вовсе не JS.

7. Совокупная вычислительная мощность серверов огромна. Но она меркнет по сравнению с клиентской мощью. И что, расточительно будем ее игнорировать? Про функционал я вообще молчу. Разве серверам и без того нечем заняться в своем гадюшнике?

Есть масса других доводов, но мне просто не хочется продолжать, не хочется доказывать идиотизм идиотизма. Тем более - Вам.

All
М-да-а-а... Тематический рубрикатор - это вам не NP поганая из соседней ветки... Он и мультиязычный, и многомерный, и за 16000 элементов, синонимы, омонимы... А я тыщу лет знаю, что юзер не в состоянии отличить каталог на 2000 ресурсов от 2000000... Вот бы где поработать! Да еще вывалить сюда все остальные каталоги - dmoz, yahoo, yandex, google... Оформить его в виде набора виртуальных страниц, конечно, несложно, но ведь вы в своих гребаных Мерседесах даже увидеть ничего не способны... Уж не знаю, чо и делать.

Добавление от 29.09.2009 09:49:

Ого! Что, неужто что-то даже заработало?! Посмотрим, посмотрим...

563. jooher, 29.09.2009 10:39
Vladimir Rybinkin
но ведь вы в своих гребаных Мерседесах даже увидеть ничего не способны...
Что например? стружку в цилиндрах?

dozen
Одна проблема -- на сервер-сайд этой метки не видать никак.

И вторая проблема - все-таки перерисовывает браузер всю страницу с нуля при изменении location.href, а не просто скролит поэтому некоторые states теряются....

Вопщем, эту тему надо будет покопать и пользовать аккуратно... не панацея однако

А. Нет. Не перерисовывает. Но Интервалы все сбрасывает. Мультики ломает... можно побороть думаю..

Добавление от 29.09.2009 11:01:

Vladimir Rybinkin
Кстати: Срок регистрации домена 2BIT.RU закончился.
Ты бы заплатил бы, а то ведь перекупят барыги в мерседесах.

Добавление от 29.09.2009 12:04:

И интервалы тоже ни при чем все нормал работает только с ИЕ опять проблемы какие-то... Надо поколдовать еще.

Что касается индексации - тут роботы получают другой контент - я с этим смирился и они вроде тоже не жалуются. То, что ссылки теперь все будут приводить роботов на главную - ну ничего страшного, с главной идут нормальные урлы на индексируемые сервер-сайд странички. Урл в адресной строке того стоит!

564. Vladimir Rybinkin, 29.09.2009 12:53

ErmIg
цитата:
Уважаемый, Владимир, а вы не собираететсь случаем написать книгу с подробным описанием ваших технологий?
Нет, не собираюсь. Писать книги тоже нужно уметь.

jooher
цитата:
это тоже маразм и ВР-овщина.
Нет, только маразм. Кстати, хороший термин. Макаренковщина, Чуковщина... Почетное соседство!

Chainik
цитата:
Как минимум, работает под Firefox 3.0.11 и Opera 10.0.4585.
Не верю! Работать она как раз ПЕРЕСТАЛА. Мало того, мой ПЕРВЫЙ ЖЕ вопль на первой же странице был "посвящен" именно такой "работе": Ах ты сволочь, ах ты падла-то вонючая! "Не могу выполнить программу из освобожденного сценария". Переменную могешь, а функцию нет?!
цитата:
Собственно, оригинал нигде не работает из-за черезмерного увлечения ВР обфускацией шыдевра (типа, m.e=eval, m.w=document.write и т.д.)
Ага. Только "когда все это было выкинуто обойдено", все перестало работать ПРИНЦИПИАЛЬНО. Кстати, далеко не "все это": в файле b.j две очереди (A и B, в самом низу) первым же символом содержат как раз "w" - тот самый, который "=document.write". Многократно повторяемый в каждой из очередей. И уж если ТАМ исправить, уж точно даже первой страницы никто не увидит. Даже я. Кстати, а что, и в a.htm потребовалось что-то менять? это ж просто сохраненная виртуальная страница, это ПРОДУКТ работы. Ах, это бывший a.h!!! Браво! А что ж тогда все .j не стали .js?

theaspect
цитата:
чето я не понял в чем здесь революционность???
простейшие фильтры, стоило ли ради этого городить фреймворк в brainfuck стиле
Вот уж как раз фильтров там нет НИ ОДНОГО. Это В ТРЕТЬЕМ тесте они были.
цитата:
кстати внезапно перестали работать ссылки и выдает "m is not defined"
Все претензии к Чайнику.

jooher
цитата:
Надо убедить ВР дальнейшие изыскания делать на этом архиве. хотя бы работает. Уже можно спрашивать "В чем прикол?"
Нет, спасибо. Если обладатели Мерседесов что-то увидели, это еще не значит, что оно работает. Как раз наоборот: оно ПЕРЕСТАЛО работать. Навсегда.

ivanhoe
цитата:
По-моему как раз вы с ВР здесь единомышленники.
А по-моему, я единомышленник как раз с ВАМИ.

Yak
цитата:
А кто про "траекторные шаблоны" начал?
Думаю, не я. Какой-нить Madnick, Abiteboul или кто-то типа этого. А может, еще до Бахмана - вещь-то примитивная: многократная косвенная адресация, по сути...
цитата:
Он же уже объяснялся:
Именно. И не один раз.

ivanhoe
цитата:
Как будто ей заняться больше нечем кроме удовлетворения ваших амбиций.
А серверу?!

Gipnoss
цитата:
Кстати зачем она нужна?
Она? Понятия не имею. Вопросы к Чайнику.

jooher
цитата:
Ты бы заплатил бы, а то ведь перекупят барыги в мерседесах.
Пущай перекупают.

565. Chainik, 29.09.2009 13:10
Vladimir Rybinkin
Я, конечно, дико извиняюсь, но.

Не верю! Работать она как раз ПЕРЕСТАЛА.

Как бы эта, тебе видео прислать?
В таком виде "оно" таки работает, судя по тому что ни одного сообщения об ошибках не появляется.

Давай так: ты диктуешь последовательность прохождения по сцылкам, я присылаю тебе итоговую страничку, ты сравниваешь её с эталонным результатом твоей "любушки". Годится для доказательства работоспособности?

Кстати, далеко не "все это": в файле b.j две очереди (A и B, в самом низу) первым же символом содержат как раз "w" - тот самый, который "=document.write". Многократно повторяемый в каждой из очередей. И уж если ТАМ исправить, уж точно даже первой страницы никто не увидит.

Глазами посмотри Изменение для "мерседесов" заключается только в том, что твой m.w теперь равен не document.write, а моей обертке по фамилии docWrite (при инициализации из _()). Вот и всё.

А что ж тогда все .j не стали .js?
А не надо. Просто Файрфокс упорно предлагает файл a.h сохранить, а не показать. Вот и переименовал...



Полный список изменений, внесенных в текст Мастера:
1. Глобальная замена "m.e" на "eval"
2. m.A был равен window.alert, стал равен winAlert.
function winAlert(str) { window.alert(str); }
3. m.c был равен document.close, стал равен docClose.
function docClose() { document.close(); }
4. m.w был равен document.write, стал равен docWrite.
function docWrite(str) { documentWrite(str); }
5. Файл a.h переименован в a.htm


theaspect
кстати внезапно перестали работать ссылки и выдает "m is not defined"
Аккуратнее надо, нежнее Что-то где-то отваливается, но если просто ходить по линкам - вроде как работает.
Например, категорически запрещено тыкать reload или пытаться сменить кодировку.

566. dozen, 29.09.2009 15:37

Vladimir Rybinkin
А кто про "траекторные шаблоны" начал? ... Думаю, не я. ... вещь-то примитивная
Ждем межконтинентально-баллистических шаблонов!

567. ivanhoe, 29.09.2009 16:28
Vladimir Rybinkin

цитата:

Как минимум, спорный вопрос, но я даже спорить не буду: у любой религии есть свои апостолы, пророки, ... хто там еще, не знаю. Так вот: если это только ВАША религия, она просто никому не интересна. Если же нет...
Нет, не только моя. Сходите по ссылке, там все написано и довольно, по-моему, разумно.

цитата:

3. "Преогромнейшая база готовых библиотек на все случаи жизни и пр." - это бред. Посмотрите на скулеж даже не юзеров - программеров, хотя бы в этой ветке.
И кому из этой ветки не хватает библиотек для Java?

цитата:

5. Принцип "viewabable with any browser" хорош, и JS в эту концепцию ПРЕКРАСНО вписывается. Отправить в мусоропровод все эти поганые "последние навороты" (а также "некоторых, которые вообще JS не поддерживают") - и дело с концом. Посмотрите в этой ветке, ПОЧЕМУ я писал именно про IE3 (а также ответы местной шушеры ).
Да-да, весь мир в мусоропровод, один Вы с IE3.0 останетесь. Тоже вариант, но сил у Вас на уничтожение всего мира не хватит.

цитата:

7. Совокупная вычислительная мощность серверов огромна. Но она меркнет по сравнению с клиентской мощью. И что, расточительно будем ее игнорировать?
У меня вот такая ассоциация возникла:

По улицам города бесперепятственно куча народа ходит. А ведь их подъемная сила огромна! И впустую простаивает! И мы ее расточительно игнорируем! Какое безобразие! Надо выдать каждому прохожему (вне зависимости от пола и возраста) по 100-килограммовому мешку - пусть потрудятся, потаскают, лодыри!

Я с таким подходом не согласен. Если уж использовать принудительный труд, то распределять надо по силам: трехлетнему ребенку - 1 кг, стокилограмовому качку в расцвете сил можно и 200. С Web аналогично: распоследнему FF можно хоть все виды активного контента вместе взятые (если он согласен), мобильному телефону - простой HTML.

568. Vladimir Rybinkin, 29.09.2009 16:48
Chainik
цитата:
В таком виде "оно" таки работает, судя по тому что ни одного сообщения об ошибках не появляется.
В принципе, я рад, если так, но У МЕНЯ работать перестала. Послать просто: какую-нить страницу в аттач через view as html.
цитата:
Давай так: ты диктуешь последовательность прохождения по сцылкам, я присылаю тебе итоговую страничку, ты сравниваешь её с эталонным результатом твоей "любушки". Годится для доказательства работоспособности?
Упс! Любущка, ваще-то, несколько иное. Если сможешь заставить и ее работать - лучшее доказательство.
цитата:
Глазами посмотри Изменение для "мерседесов" заключается только в том, что твой m.w теперь равен не document.write, а моей обертке по фамилии docWrite (при инициализации из _()). Вот и всё.
Глазами и смотел. В очередях ничего не изменилось.
цитата:
А не надо. Просто Файрфокс упорно предлагает файл a.h сохранить, а не показать. Вот и переименовал...
Недоработали, шнурки! Меня в свое время сам факт необходимости переименования чего-либо в шок поверг.
цитата:
Полный список изменений, внесенных в текст Мастера:
Да все херня, кроме первого пункта. Дело в том, что у меня eval вызывается и из очередей (мож, не в этом тесте, но вызывается). Самое главное, как работают ОЧЕРЕДИ (по Маккарти - программирование, управляемое данными). А m.A, скажем, ваще только для отладки и нужен.
цитата:
Например, категорически запрещено тыкать reload или пытаться сменить кодировку.
Именно! Эта "интеллектуальная сволочь ТАКОЕ начинает вытворять...

ivanhoe
цитата:
Сходите по ссылке, там все написано и довольно, по-моему, разумно.
Ходил. Ниче такого особенного не заметил.
цитата:
И кому из этой ветки не хватает библиотек для Java?
Это называется - провокация. Получите и распишитесь.
цитата:
Да-да, весь мир в мусоропровод, один Вы с IE3.0 останетесь.
Глупое передергивание.
цитата:
У меня вот такая ассоциация возникла:
См. предыдущий ответ.

569. ivanhoe, 29.09.2009 16:59
Vladimir Rybinkin

цитата:
Глупое передергивание.
Ну как же передергивание. Вы ведь сами пишете:

Отправить в мусоропровод все эти поганые "последние навороты" (а также "некоторых, которые вообще JS не поддерживают") - и дело с концом.

Это и есть большая часть человечества.

570. Gipnoss, 29.09.2009 17:03
Vladimir Rybinkin
я рад, если так, но У МЕНЯ работать перестала.
Может есть смысл писать так, чтобы работало у всех? Поставить себе FF, драгоценному IE 5.х это не навредит.

572. jooher, 29.09.2009 17:29
Gipnoss
Поставить себе FF, драгоценному IE 5.х это не навредит.

А вот интересно, ФФ на 95-ю винду встанет? Что-то я сомневаюсь, что у ВР 98-я...

573. Chainik, 29.09.2009 17:33

Vladimir Rybinkin
Любущка, ваще-то, несколько иное. Если сможешь заставить и ее работать - лучшее доказательство.

Да г...но вопрос!
Что еще для вас сделать?

К сообщению приложены файлы: 1.zip, 5 file(s), 2Кb

За это сообщение сказали спасибо: Gipnoss

574. jooher, 29.09.2009 17:41
ivanhoe
мобильному телефону - простой HTML

Мобильные телефоны - в отличие от старых браузеров - сегмент важный, но вот чистый хтмл для них - это перегиб. Смартфоны умнеют и обновляются еще чаще чем браузеры. Не может быть чтобы нокия N серии не понимала js (если не работает марьячи - это еще ни о чем не говорит, гмаил работает?).
Имеет смысл например, совсем уж wap версии делать, потому что всетаки телефончики с маленькими экранами не скоро еще смартфонами вытяснятся, но это другая история.

575. Gipnoss, 29.09.2009 17:44
Chainik
Да г...но вопрос!

Однако мастер утверждал, что 2 2 2 ее не кладет...чего не наблюдается.

576. dozen, 29.09.2009 18:09
jooher
Не может быть чтобы нокия N серии не понимала js
с iPhone тоже не работает. походу, ссылки не отрабатываются как ссылки.... а! так у тебя и на основном сломано! под FF! бросай всё, беги чинить!

о, под FF уже работает... глюк у меня что ли был? или ты там чинишь вовсю (ссылки с # обнаружил)

577. ivanhoe, 29.09.2009 18:09
jooher

цитата:

Смартфоны умнеют и обновляются еще чаще чем браузеры. Не может быть чтобы нокия N серии не понимала js (если не работает марьячи - это еще ни о чем не говорит, гмаил работает?).
JS там есть. Gmail работает, в двух вариантах: версия для PDA (с JS) и версия для большого компа но без JS. Как зайти с мобильника в версию для большого компа с JS не знаю, через ссылки это сделать нельзя.

цитата:

Имеет смысл например, совсем уж wap версии делать, потому что всетаки телефончики с маленькими экранами не скоро еще смартфонами вытяснятся, но это другая история.
Смартфон тоже не подразумевает автоматически большого экрана (у жены, например, предпоследний телефон был Nokia 5500, экран 1.7", но вполне себе смартфон S60 v3.0). И даже на смартфонах многие предпочитают Opera Mini.

578. jooher, 29.09.2009 18:31
dozen
о, под FF уже работает... глюк у меня что ли был?

Чинил часа полтора-два назад... вроде работает все в основном. Но седня чото хоста колбасит (1gb.ru - не рекомендую никому, чот начались у них тяжелые времена, видимо)

Добавление от 29.09.2009 18:35:

Проверяется легко firebug-ом - в консоли видно: если запрос тянется больше 500мс (может и по 20 секунд) - это хост.

579. dozen, 29.09.2009 18:52
jooher
Проверяется легко firebug-ом

ну, на iPhone я так проверить не могу но по внешнему виду -- не подгружается каталог инструментов. просто пустое место.

поставь себе iPhone SDK, там, вроде, эмулятор есть, может и браузер в эмуляторе работает...

580. rGlory, 29.09.2009 19:01
dozen
цитата:
поставь себе iPhone SDK, там, вроде, эмулятор есть, может и браузер в эмуляторе работает...
Ага и не забудь купить себе мак, но это мелочи...

581. jooher, 29.09.2009 19:16
ivanhoe
JS там есть. И даже на смартфонах многие предпочитают Opera Mini.

Ага, таки есть. В опере мини тоже есть, хоть и пишут - не злоупотребляйте XHR-ом. Есть правда еще такая вот приписка (http://dev.opera.com/articles/view/opera-mini-5-beta-developers/#standardssupport) : The majority of JavaScript functions are available, except those that require asynchronous operations or user interaction once the page has been loaded.
Вобщем я думаю для маленьких экранчиков при реальной необходимости надо делать отдельные wap версии, а не ориентироваться на их немощь на основном сайте.

Добавление от 29.09.2009 19:24:

вон еще в чем дело... опера мини это вообще как бы не то чтобы веб браузер, а этакая проприетарная просматривалка:
Opera Mini 5 is a thin-client application: when you use it to request a web page (1), that request is sent off to a server-farm (2); a proxy server receives the requested web page (3), renders and reformats it, and then converts it to a light and efficient format developed by Opera called OBML (4). This is then sent to the Opera Mini client (5), which displays it on the phone screen (6)

Добавление от 29.09.2009 19:27:

такую машину клиента конечно не особ там чего то заставишь поработать. но она наверно сама скоро помрет.

582. dozen, 29.09.2009 19:31
rGlory

Ага и не забудь купить себе мак, но это мелочи...

ой, он только маковый? сорри, спутал с каким-то другим мобильным SDK. наверное, Windows Mobile

а с другой стороны -- пуркуа бы и не па? jooher таки веб-программер, должен тестировать свой софт и на маках! я тут сообразил, что у меня мак дома есть -- Apple TV. Samba я туда поставил, ssh поставил... надо только Safari водрузить, и браузить тырнет на большом экране...

jooher

that request is sent off to a server-farm (2); a proxy server receives the requested web page (3), renders and reformats it, and then converts it to a light and efficient format developed by Opera called OBML

на что только не идут люди, чтобы не имплементировать нормальный жабоскрипт!

583. Vladimir Rybinkin, 30.09.2009 09:31
ivanhoe
цитата:
Ну как же передергивание. Вы ведь сами пишете:
Вот так и передергивание. Код JS должен работать на любом броузере: старом, новом - по барабану. Я об этом уже писал.

Gipnoss
цитата:
Может есть смысл писать так, чтобы работало у всех?
Только в том случае, если работает динамический eval.

Chainik
цитата:
Да г...но вопрос!
Умница! Посмотрим... По твоему прошлому тесту (писал вчера вечером дома):

А, дык ты ж лопух! b.j - файл ИНИЦИАЛИЗАЦИИ (составная часть a.h/htm). Он же потом УНИЧТОЖАЕТСЯ, на его месте виртуальные страницы и генерятся - я ж рассказывал. Так что твои функции после генерации уже УМЕРЛИ! Хошь, чтоб жили - суй в a.j.

Впрочем, я попробовал - не помогает. Тексты твоих функций перебросил в a.j, а при их инициализации дописал "parent.". Так вот, функция твоя (docWrite) вызывается, alert(str); на входе показывает (строка правильная), а при попытке вызвать реальный код (document.write(str) вырубает на хрен броузер с диагностикой "внутренняя ошибка" и рекомендацией перезагрузиться. Почему - не знаю. Кстати, если ТАМ, у тебя, на входе alert заменить на m.A(str); - тоже работает. А вот document.write - нет. То бишь ТВОЙ winAlert у меня выполняется, а ТВОЙ ЖЕ docWrite моему броузеру чтой-то не по душе. Попробуй, вдруг у тебя лучше получится.

И еще: какое же право он имеет у тебя ваще работать? Ходить по ссылкам, генерить страницы, когда первая же из них должна перезаписать кадр a.htm+b.j, и текстов твоих больше нет? Что ж за мерзость творится внутре броузера-то? А, ну да - ясно, почему у меня броузер вылетает именно по write. Он же пишет прям по телу этой самой функции, по себе самому, по живому, по работающему. А вот почему У ТЕБЯ не вылетает - загадка... Нет, это тоже идиотизм, а не причина вылета - я ж функции перебросил...

Не, чо-то ты еще натворил... Я вернул на место document.write - заработало, но при переходе по ссылке генерится какая-то лабуда - страница дописывается к прежнему тексту. А, ну понятно - close явно не работает (но уже молча, без вылета). Так и есть: если оставить в живых только твой winAlert - все работает, как и должно работать (тем более, что он ваще не вызывается).

Ну чо, "любушку" мою сделаешь? Вдруг на Мерседесах именно твой код работает? Тогда хоть поговорить можно конкретно.


Gipnoss
цитата:
Однако мастер утверждал, что 2 2 2 ее не кладет...чего не наблюдается.
Чо "не наблюдается"?!

584. Chainik, 30.09.2009 11:23
Vladimir Rybinkin
Давай просто примем за аксиому:
1. То, что работает у тебе - не работает у всех остальных;
2. То, что работает у всех остальных - не работает у тебя.
И всего делов

Чо "не наблюдается"?!
Перевожу: любое нечетное кол-во двоек уводит Любушку в глухой ступор.

585. ivanhoe, 30.09.2009 13:12
Vladimir Rybinkin

цитата:

Вот так и передергивание. Код JS должен работать на любом броузере: старом, новом - по барабану. Я об этом уже писал.
Проблема в том, что
1) Вы такой код писать не умеете, умудрившись написать код неработоспособный на последних Firefox/IE
2) В мобильном мире JS часто в броузере отсутствует или еще более куцый чем даже в IE 3.0

Чтобы получить представление о разнообразии мобильных браузеров, рекомендую (и не только Вам, но и jooher) ходить по ссылке : http://en.wikipedia.org/wiki/Mobile_browser
Вы сколько лично видели из перечисленного там списка? А на скольких из них тестировали свой код, чтобы вот так утверждать "Код JS должен работать на любом броузере"

Кстати, а почему Вы так старательно используете нестандартные (необщепринятые) расширения файлов? То есть почему javascript файлы имеют расширение .h, а html файлы - расширение .h? Это между прочим, создает проблемы и браузерам и серверам, которые приходится перенастраивать на соответствующую обработку этих расширений.

jooher, dozen

Opera Mini очень здравое в мобильном мире решение и (как мобильный пользователь) несогласен с тем что он должен умереть! Еще раз подчеркиваю, им пользуются пользователи в том числе и смартфонов, потому что так удобнее и это экономит трафик (а бывают операторы, которые вообще предоставляют трафик Opera Mini бесплатно, и Вы предлагаете нас, мобильных пользователей, этой радости лишить!)

Кроме того в мобильном мире до сих пор используется EDGE а то и обычный GPRS, а там очень большие задержки и пользоваться Ajax-сайтами ОЧЕНЬ некомфортно, мягко говоря!

586. jooher, 30.09.2009 14:26
Opera Mini очень здравое в мобильном мире решение и (как мобильный пользователь) несогласен с тем что он должен умереть!
Здравая. ФИДО - тоже была здравая. А умереть ей или не умереть - это не голосованием решается


ivanhoe
и Вы предлагаете нас, мобильных пользователей, этой радости лишить!
Вовсе нет. Не лишить, а просто разделить мух и котлет. Помимо ограничений на активный контент, у этих устройств полно ограничений и по всем остальным статьям, и вообще принципы построения документов для таких устройств другие совершенно. Если уж важна эта аудитория - то проще сделать отдельную урезанную вап-стайл версию. Но в основном дизайне закладываться на мобильники - глупо.

587. ivanhoe, 30.09.2009 14:46
jooher

цитата:
Здравая. ФИДО - тоже была здравая.
Фидо как технология была полным гамном с рождения. FTS - это образец узколобого идиотизма пидорасов (в прямом и переносном смысле), которые даже не ознакомились с существующими задолго до них UUCP/UseNet/etc (которые появились на десятки лет раньше и лучше и продуманнее во всех отношениях).

Фидо как тусовка в общем-то сохранилась, в ЖЖ присутствуют почти что все старые фидорасы.

цитата:
Если уж важна эта аудитория - то проще сделать отдельную урезанную вап-стайл версию.
Еще проще делать единый интерейс и два разных стиля .CSS, один для мобильников, другой - для десктопов.

588. jooher, 30.09.2009 16:16
ivanhoe
Еще проще делать единый интерейс и два разных стиля .CSS, один для мобильников, другой - для десктопов.

Проще, только если никаких других возможностей _принципиально_ не нужно, а только текст и минимум картинок. Так вот суть спора то в том и заключается - что помимо ТАКИХ вот страниц, можно делать нормальные рабочие вебапы, которые не обязаны в эти рамки вписываться, а не упираться в "ах, бедные пользователи телефонов с экраном 160х240 не смогут посмотреть".
Ограничивать себя этими рамками - это и значит "предпочитаю не иметь дел с задачами, требующими активного клиента".

589. ivanhoe, 30.09.2009 16:33
jooher

цитата:

Проще, только если никаких других возможностей _принципиально_ не нужно, а только текст и минимум картинок.
Так мой поинт как раз в том, что для Интернет-проектов:
1) задач где требуется нечто большее - меньшинство (пример, где активный контент "по-делу" - Youtube и пр.)
2) в 99% случаев активный контент используется "не по делу", то есть создает проблемы, а не решает их

Если выйти за рамки Интернета в Интранет/корпоративщину, то да, активный контент бывает вполне уместен. Например, приложение для управления шасси из блейд-серверов, там и dashboard и возможность подключиться к консоли каждого сервера и мн.др. Все активное сделано через Java-апплеты. Вот, кстати, пример чем апплеты лучше убогого JS: доступ к консоли сделан на базе VNC-аплета и, как пить дать, используется готовая библиотека VNC-клиента. А на JS есть готовые VNC-клиенты с нормальной производительностью и полным функционалом?

590. jooher, 30.09.2009 16:52
ivanhoe
А на JS есть готовые VNC-клиенты с нормальной производительностью и полным функционалом?
Если задаться целью - то для чего угодно можно привести примеры "отсутствия готового клиента\библиотеки"

1) задач где требуется нечто большее - меньшинство (пример, где активный контент "по-делу" - Youtube и пр.)
Согласен, меньшинство, но далеко не 0.0%

2) в 99% случаев активный контент используется "не по делу", то есть создает проблемы, а не решает их
Опять же, согласен (не с цифрой, конечно, но с порядком). Использование js для всяческих всплывающих прозрачностей и мудацких вебдванольных красот - меня это тоже бесит. Но кроме этих гримас империализма, полно задач, в которых и js и ajax в частности совершенно уместны (практически необходимы) и вполне достаточны. И задачи это вполне себе актуальны - и именно в интернете а не только в корпоративках.

591. blackhearted, 30.09.2009 22:14
А чёж вся инфа в коде(в *.j)???
Где общение с сервером?
Или я чёт не понимаю и это просто генерилка страниц средствами JS по статической информации?
И что ж тут делать-то столько времени?
Ну так можно и на сях такое забабахать и компилить на магине клиента,а потом инжектить в браузер...

592. rGlory, 30.09.2009 22:38
blackhearted
На чем, простите, компилить?

593. jooher, 30.09.2009 22:44
В какой букве опечатка?

594. dozen, 30.09.2009 22:48
blackhearted
на магине клиента
что за распущенность! в моё время о таком и помыслить нельзя было, а теперь, смотрите-ка, в форумах постят!

595. Vladimir Rybinkin, 01.10.2009 09:41
Chainik
цитата:
Давай просто примем за аксиому:
Давай. См. мою "домашнюю заготовку" ниже.
цитата:
Перевожу: любое нечетное кол-во двоек уводит Любушку в глухой ступор.
МОЯ любушка расправляется с ними в доли секунды. Чо ты там опять натворил?


ivanhoe
цитата:
Проблема в том, что...
Также см. ниже - про погремушки.
цитата:
А на скольких из них тестировали свой код, чтобы вот так утверждать "Код JS должен работать на любом броузере"
Код ДОЛЖЕН работать, если он ваще полддерживает JS. А то, что он НЕ работает - вина криворуких девелоперов.
цитата:
Кстати, а почему Вы так старательно используете нестандартные (необщепринятые) расширения файлов? То есть почему javascript файлы имеют расширение .h, а html файлы - расширение .h? Это между прочим, создает проблемы и браузерам и серверам, которые приходится перенастраивать на соответствующую обработку этих расширений.
Мне лично просто в голову не пришло, что ЭТО тоже может быть проблемой.
цитата:
Вот, кстати, пример чем апплеты лучше убогого JS
Разве что УБОГОГО.

blackhearted
цитата:
Где общение с сервером?
А ветку почитать?

Домашняя закотовка:
Chainik
цитата:
Что еще для вас сделать?
Принять участие в разговоре по теме ветки. Если на Мерседесах ЭТО работает (убей, не пойму - почему), то я и сам теперь буду версии выкладывать в этом формате. У меня, ессно, все немедленно работать прекращает - и это-то я как раз понимаю. Модифицированные последние версии 3-го и 4-го тестов (в том виде, как я их забросил) - в аттаче.

Ах ты черт - eval же еще! В руки бы насрать тому козлу, который додумался до "must be called directly" - программист такого сделать НЕ МОГ! А, ну вот и приплыли: в последней версии 4-го теста eval присутствует уже в d.j. Ну и че делать будете, господа хорошие? А ведь там уже претензия на имитационное моделирование. Чайник - здесь вся надежда токо на тебя! Там используются еще не известные, еще не существующие адреса массивов, наскоко я помню. И шо же бум "called directly"?

All
Ну так что? Если вы и в самом деле способны что-то увидеть, мож, склепаем все-таки какую-нить БД? Крутейшим образом перевязанную, чтобы ни Ораклы всякие, ни Гугли, ни ДМОЗы с их огромными тыщами волонтеров, ни, тем паче, местные программисты (прости, Господи!), даже помыслить не могли бы о такой сложности? Структуры данных - любые (кортежи, субграфы), связи - любые (цветные, многомерные), сервис - любой (заказывайте), тематика - любая (заказывайте, снабжайте данными), объем (пока, токо для клиента) до 10000 узлов. Слабо? На динамический eval наверняка где-нить нарвемся (похоже, уже нарвались), но это даже к лучшему - увидите, ЗАЧЕМ нужна эта "вреднейшая конструкция".

Кстати, еще раз про 5-й тест: как все-таки к Гуглю обратиться из невидимого фрейма, шоб он туда же страничку результатов скинул? Тогда мы его еще научим, какой у них ДОЛЖЕН БЫТЬ сервис.

Ну и... если все же кто-то умеет работать с текстами - спецификация и отладка инструментария "оргазм юзера". Впрочем, что-то мне подсказывает, что последняя версия 4-го теста даже у Чайника работать не будет. И никакие "библиотеки" не помогут. Можно, конечно, продолжать писать конструкции типа "i=5; alert(i);", и называть себя при этом программистом. Но я лично еще в глубоком детстве в погремушки наигрался.

К сообщению приложены файлы: 1.rar, 7Кb, 2.rar, 28Кb

596. Chainik, 01.10.2009 11:36

Vladimir Rybinkin
Впрочем, что-то мне подсказывает, что последняя версия 4-го теста даже у Чайника работать не будет.
А она - работает! Сцылки ходятся, ошибок нет.
Все, видимо дальше моя помощь в адаптации уже не нужна

597. blackhearted, 01.10.2009 17:16
цитата:
jooher:
В какой букве опечатка?

Думаю ,что пофиг в какой ...Всё равно дело - труба.

опечатка была в букве 'г'...

598. ivanhoe, 01.10.2009 18:40
Vladimir Rybinkin

TEST3 жалуется на строку 4 в файле b.j: "m.e is not a function"

TEST4 работает

Добавление от 02.10.2009 03:11:

Между тем, W3C тоже пытается "заставить работать машину клиента". И как раз в том направлении, куда хочет Владимир. Недавно узнал про грядущий Web Storage (http://en.wikipedia.org/wiki/DOM_storage) .

Вот уж, воистину "навалили всякого дерьма в кучу и палкой перемешали..."

За это сообщение сказали спасибо: dozen

599. Vladimir Rybinkin, 02.10.2009 09:28
Chainik
цитата:
А она - работает!
Серьезно?! И в данных eval работает?! Слушай, дорогой, а может, ты врешь все? Ведь с алгоритмической точки зрения твои "обертки" есть ПОЛНЫЙ бред! Неужели ЭТО способно дать столь потрясающий эффект для всяких там поганых FF?! Мож, достаточно лишь замены m.e на eval, и все начнет работать? В смысле, работать в пределах возможностей этого убогого, кастрированного JS?
цитата:
Все, видимо дальше моя помощь в адаптации уже не нужна
Если так - в адаптации - не нужна. А вот в обсуждении - очень даже.

ivanhoe
цитата:
TEST3 жалуется на строку 4 в файле b.j: "m.e is not a function"
Ладно, посмотрю, поправлю. Или сами можете - секундное ж дело!
цитата:
Между тем, W3C тоже пытается "заставить работать машину клиента". И как раз в том направлении, куда хочет Владимир. Недавно узнал про грядущий Web Storage.
Чо-то не верится. Ладно, почитаем, спасибо...
цитата:
Вот уж, воистину "навалили всякого дерьма в кучу и палкой перемешали..."
А вот в это верю безоговорочно.

600. jooher, 02.10.2009 11:48
ivanhoe

Между тем, W3C тоже пытается "заставить работать машину клиента". И как раз в том направлении, куда хочет Владимир. Недавно узнал про грядущий Web Storage.
Вот уж, воистину "навалили всякого дерьма в кучу и палкой перемешали..."


Что-то не вижу я никаких аллюзий между WebStorage и ВР. И отчего же дерьмо да палкой? Вполне себе нужная вещь (для вебапов конечно, не для любимых наших мобильных юзеров на Opera Mini). Не всю же дорогу нормальным пацанам костыльными куками обходиться и искусственными извратами типа встраивания флэшек только для того, чтобы иметь storage на клиенте.

Vladimir Rybinkin
А вот в это верю безоговорочно.
Да тебе-то пофиг. Кто бы что говном ни назвал (вне твоего мирка) - тебе все в радость.

601. ivanhoe, 02.10.2009 12:12
jooher

цитата:
Что-то не вижу я никаких аллюзий между WebStorage и ВР.
Ну вроде как сам Владимир упоминал желание сделать распределеннную на самих клиентах БД, вот теперь ему для этого и карты в руки.

цитата:
И отчего же дерьмо да палкой?
Ну это я брюзжу по инерции, не приемлет душа идею браузера как ОС. У меня и без всяких вебстораджей браузер по пожиранию ресурсов уже на третьем месте после eclipse и netbeans.

602. dozen, 03.10.2009 01:06
ivanhoe
вроде как сам Владимир упоминал желание сделать распределеннную на самих клиентах БД

да он и миллион за NP упоминал, и форекс... данной корове бог рогов не дал!

603. Vladimir Rybinkin, 03.10.2009 09:42
jooher
цитата:
Что-то не вижу я никаких аллюзий между WebStorage и ВР.
О! И на том спасибо!

ivanhoe
цитата:
Ну вроде как сам Владимир упоминал желание сделать распределеннную на самих клиентах БД
Нет, ЭТОГО он не "упоминал".
цитата:
TEST3 жалуется...
Поправил, но теперь без "оберток" от Чайника. Сожрет?
цитата:
Между тем, W3C тоже пытается "заставить работать машину клиента". И как раз в том направлении, куда хочет Владимир.
Как я и предполагал, направление принципиально иное. Господи, скоко ж бездельников-то воруют бабки у юзера! И ведь это не только здесь, не только на клиенте, не только в программировании! Как же такую свору нахлебников удержать? Как же не быть кризисам всяким? Не жалей ты их, Господи! Вдарь так, чтобы по миру пошли, чтобы с голоду передохли! Нормальные люди ведь по-любому выживут, а этих не жалко...

DOM storage is a mechanism for web applications to store data in a web browser.
В ком?! В чем?! Зачем?!

It was originally part of the HTML 5 specification
Тьфу!

It is supported by newer Mozilla-based browsers (e.g., Firefox 2+), Internet Explorer 8, and Safari.
Тьфу!

Features much greater storage capacity (5MB per domain in Firefox[2], 10MB in Internet Explorer[3])
Тьфу!

it's available to all scripts from the domain that originally stored the data
Тьфу!

DOM storage currently provides an associative array data model where the keys and values are both strings.
Тьфу!

An additional API for accessing structured data, perhaps based on SQL, is being considered by the W3C Web Applications Working Group.
Тьфу!

HTML5 is designed so that old browsers can safely ignore new HTML5 constructs.
Во! Лучше не скажешь! Именно safely ignore, ибо токо на помойке им и место!

Unfortunately, even languages that are supported by a wide variety of browsers may not be implemented in precisely the same way across all browsers and operating systems. Authors are well-advised to review the behavior of their client-side scripts on a variety of platforms before they put them into use.
Опять же, лучше не скажешь! Читайте, юзеры! Это ЗА ВАШ СЧЕТ процветает эта свора паразитов! На всех уровнях! И собирается делать это ВЕЧНО! Единственная радость - они НАСТОЛЬКО тупы, что давно уже не в состоянии разобраться, чо они там успели нагородить. Лет через 5-10 перестанет работать ВСЕ - ошибки имеют тенденцию накапливаться, а их квалификация уже сейчас не превышает 1К.

Файл, как обычно, забыл приклеить.

К сообщению приложены файлы: 1.rar, 7Кb

605. jooher, 03.10.2009 17:48
Это W3C под раздачу попал штоли?

606. Gipnoss, 03.10.2009 17:49
Vladimir Rybinkin
скоко ж бездельников-то воруют бабки у юзера!
Все крайне просто. Если можете сделать лучше, так чтобы пользователь понял, что ему стало лучше, он к вам и пойдет, и бабки отнесет, и друзей приведет. Если все как Вы описываете, есть смысл радоваться - реальная конкуренция отсутствует, есть с чем сравнивать, со всех сторон тянутся жаждущие продукта пользователи с бабками. Почему не делаете?

ВСЕ - ошибки имеют тенденцию накапливаться
В кои-то веки согласен.

квалификация уже сейчас не превышает 1К
1К чего?

607. rGlory, 04.10.2009 03:32
Gipnoss
цитата:
Если можете сделать лучше, так чтобы пользователь понял, что ему стало лучше, он к вам и пойдет, и бабки отнесет, и друзей приведет.
Если бы он мог, имели бы мы "удовольствие" наблюдать его истерики здесь?

608. Yak, 04.10.2009 17:59
jooher
Это W3C под раздачу попал штоли?
Ну, это логично. С развитием понимания VR о том, сколько людей думают так же, как он, количество попадающий под раздачу увеличивается. Сначала одинокая MS, затем все производители современных браузеров, потом логично, что W3C. Боюсь предположить, кто будет следующий...

609. vertur, 05.10.2009 04:23
Vladimir Rybinkin
а когда 2bit снова заработает... ?


мы люди низменые, нам до траекторных шаблонов расти и расти,
а вот воплощение СИНТа хочется потрогать, да руками....

а то мастер-да мастер, а сайт то не работает...

нецензурная брань запрещена правилами форума

610. Vladimir Rybinkin, 05.10.2009 09:35
jooher
цитата:
Это W3C под раздачу попал штоли?
А чем он, собссно, занимается? Какие из его "идей" нужні юзеру?

Gipnoss
цитата:
Если можете сделать лучше...
Лучше?! Трудности здесь разве что в том, чтобы сделать ХУЖЕ! Радоваться мне нечему - меня клиент не интересует - тыщу раз говорил.
цитата:
1К чего?
1 Кельвин.

rGlory
цитата:
Если бы он мог, имели бы мы "удовольствие" наблюдать его истерики здесь?
Чьи истерики, простите?

Yak
цитата:
Боюсь предположить, кто будет следующий...
А мож, хоть разок (для разнообразия) поговорим-таки о ПРОГРАММИРОВАНИИ?

vertur
цитата:
а когда 2bit снова заработает... ?
Никогда. Мавр сделал свое дело.
цитата:
а вот воплощение СИНТа хочется потрогать, да руками....
Так потрогайте хотя бы клиента.

All
Ну чо, есть у меня надежды какие-то на конструктив? В ветке полная идиллия, все распальцованные заткнулись. Про программирование, во всяком случае, больше рта не открывают. Ни dozen большье не вякает про CSS или "неправильный" вызов eval, ни rGlory больше не высовывается со своим идиотским "+=", а Машеров ваще благоразумно носа не показывает... С другой стороны, Витька исчез, Чайник явно ищет повод слинять, Ваня постоянно "мерцает", каждый раз "теряя нить разговора", Мироныч тоже носа не кажет... Что с вами, господа? Я знаю: тема НЕ МОЖЕТ быть неинтересной. Что с вами?

Меня лично интересует семантика, и я потихоньку полез именно туда. Онанизм от W3C или идиотизм небезызвестного "Semantic Web" меня не интересуют абсолютно - все это направлено ПРОТИВ конечного пользователя, все это ложь и воровство его денег. На сегодняшний момент я, чуть не случайно (и совсем недавно) заглянувший на клиента, прекрасно знаю, как решать все известные мне проблемы юзера. А также то, что нынешние клиент-программеры ничего не знают, не умеют, и учиться не собираются. Господа программеры, если хоть кто-нить хоть что-нить из вас сделал полезного для КОНЕЧНОГО пользователя - поднимите руки. Господа юзеры, имеются ли среди вас... все ли из вас глухонемые?

611. jooher, 05.10.2009 11:09
Vladimir Rybinkin
Мавр сделал свое дело.
Мавр может уйти. В лес.


Так потрогайте хотя бы клиента.
Потрогали уже (хвала Chainikу) - не впечатлило. Синт давай.


Про программирование, во всяком случае, больше рта не открывают.
Тут не то что про программирование, просто хохмить то уже надоедает...

612. Gipnoss, 05.10.2009 15:49
Vladimir Rybinkin
...меня клиент не интересует...
...все это направлено ПРОТИВ конечного пользователя, все это ложь и воровство его денег...
...полезного для КОНЕЧНОГО пользователя...
Вы не видите здесь противоречия?
Откуда столько заботы о пользователе, который Вас не интересует? К тому же раз он Вас не интересует, какой у него выбор? Альтернативы то нет, а на безрыбье...

613. rGlory, 05.10.2009 17:12
Vladimir Rybinkin
цитата:
Чьи истерики, простите?
А то чьи же. Кто тут истерично рвет на себе рубаху и рыдает о бедной доле Пользователя, которого обобрали бездельники и бездари, и не оставили ему бедному денюх, дабы он смог по достоинству оценить небезедльника и небездаря, всего такого в белом Владимира Владимировича Р.? У читателей Ваших опусов если и происходят истерики, разве что от смеха, только к сожалению в последнее время Ваша писанина перестает быть даже смешной.

цитата:
rGlory больше не высовывается со своим идиотским "+="
А чего с ним высовываться с моим "+="? Разве что рассказать Вам, что существует еще *= /= и даже |= но боюсь, у Вас крышу снесет от обилия новой информации.

614. dozen, 05.10.2009 17:13
Vladimir Rybinkin

На сегодняшний момент я, чуть не случайно (и совсем недавно) заглянувший на клиента, прекрасно знаю, как решать все известные мне проблемы юзера.

(Бурные, нескончаемые, апплодисменты, переходящие в овации. Зал в едином порыве поднимается, чтобы стоя приветствовать Мастера. Суровые мужчины плачут, не скрывая слёз.)

Какой, всё-таки, матёрый идиотище...

615. ivanhoe, 05.10.2009 18:13
Vladimir Rybinkin

Ну я вот как раз отстаиваю позицию: "оставьте в покое машину клиента! ей и так есть чем заняться"

616. Hedin, 05.10.2009 23:51
rGlory
...Ваша писанина перестает быть даже смешной

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

618. Vladimir Rybinkin, 06.10.2009 09:37
jooher
цитата:
Потрогали уже


Gipnoss
цитата:
Вы не видите здесь противоречия?
Ни малейшего! Клиент и юзер - разные вещи.

rGlory
цитата:
Кто тут истерично рвет на себе рубаху и рыдает...
Нет, просто плюется.
цитата:
только к сожалению в последнее время Ваша писанина перестает быть даже смешной.
Эта версия давно обросла бородой. Не надоело?
цитата:
А чего с ним высовываться с моим "+="? Разве что рассказать Вам, что существует еще *= /= и даже |= но боюсь, у Вас крышу снесет от обилия новой информации.
Новички, пожалуй, могут воспринять это за чистую монету.

dozen
цитата:
Какой, всё-таки, матёрый идиотище...
Не спорю. И невменяемый, к тому же. Так как там насчет CSS?

ivanhoe
цитата:
Ну я вот как раз отстаиваю позицию: "оставьте в покое машину клиента! ей и так есть чем заняться"
ЧЕМ?! У 99.999% она простаивает.

Hedin
цитата:
А я уже давно сюда захожу почитать не писанину VR, а отклики остальных.
Я уже спрашивал: не надоело? И инструкцию писал этого поведения...

Так все же: я просил поднять руки тех, кто хоть что-нить полезное для юзера сделал? Нет таких? Кто бы сомневался...

619. ivanhoe, 06.10.2009 11:31
Vladimir Rybinkin

цитата:
У 99.999% она простаивает.

Во-первых не у 99.999%, а у несколько меньшего процента. Думаю более-менее реальная цифра это для нашей страны 60-70%.

Во-вторых, предположим что даже у 90% она простаивает? Зачем усложнять жизнь оставшимся 10%, в чем логика? Типа как в моем примере с прохожими и мешками (http://forum.ixbt.com/topic.cgi?id=26:39751:567#567) ?

620. jooher, 06.10.2009 12:19
ivanhoe
Зачем усложнять жизнь оставшимся 10%, в чем логика?

Затем, чтобы тем 90% сделать приятней. Оставшиеся 10% сами себе жизнь усложняют.

Чем не устраивает схема: нормальный сайт для нормального клиента, урезанный - для урезанного ?

621. Gipnoss, 06.10.2009 12:36
Vladimir Rybinkin
Ни малейшего! Клиент и юзер - разные вещи.
Разные, но взаимосвязанные. От того, что Вы льете крокодиловы слезы по бестолковости текущих клиентских частей, лучше никому не станет.
Покажите как правильно, пусть юзер оценит, нравится ему или нет. Может ему нравится именно так как сейчас? Вы ведь не умеете читать мысли, которых даже еще и нет?

622. dozen, 06.10.2009 17:28
Vladimir Rybinkin
Так как там насчет CSS?

Ну, предположим, расскажу я тебе про CSS. Что, ты резко перестанешь "менять палитры"? Идиот -- это не исправить.

Добавление от 06.10.2009 17:36:

Так все же: я просил поднять руки тех, кто хоть что-нить полезное для юзера сделал? Нет таких? Кто бы сомневался...

Какая несправедливость! Толпы дармоедов ничего для юзера не делают, а юзеры (тем не менее) платят им существенные деньги. А одинокий гений ВР для юзера готов на всё, а юзеры его обходят, так что ничего не остается, как собирать бутылки. Парадокс!

Или всё-так тут есть какая-то логика? Например, это как раз ВР не знает, что нужно юзеру, и потому -- неудивительно! -- юзер ему и не платит, а платит тем, кто знает! Эврика!

623. Vladimir Rybinkin, 07.10.2009 09:43
ivanhoe
цитата:
Во-первых не у 99.999%, а у несколько меньшего процента. Думаю более-менее реальная цифра это для нашей страны 60-70%.
Я спросил: ЧЕМ она занимается?
цитата:
Зачем усложнять жизнь оставшимся 10%, в чем логика?
ЧЕМ "усложнять"?! В чем логика?

Ну так чо, TEST3 без "оберток" от Чайника работает, нет?

Gipnoss
цитата:
Разные, но взаимосвязанные.
Разве?! Кому из нынешних улиент-программеров интересен юзер?
цитата:
От того, что Вы льете крокодиловы слезы по бестолковости текущих клиентских частей, лучше никому не станет.
Нет, крокодиловы слезы льете как раз вы - скулите по любому поводу и без повода о своей беспомощности. От этого - точно, никому лучше не станет.
цитата:
Покажите как правильно, пусть юзер оценит, нравится ему или нет. Может ему нравится именно так как сейчас? Вы ведь не умеете читать мысли, которых даже еще и нет?
Я и прошу юзеров отозваться. А попадаетесь как рыз вы. Кыш отседова!

dozen
цитата:
Ну, предположим, расскажу я тебе про CSS. Что, ты резко перестанешь "менять палитры"?
А какая разница? Ты ж пальцы гнул. За слова свои отвечать бум?
цитата:
Идиот -- это не исправить.
Вот это правильно.
цитата:
Какая несправедливость! Толпы дармоедов ничего для юзера не делают, а юзеры (тем не менее) платят им существенные деньги. А одинокий гений ВР для юзера готов на всё, а юзеры его обходят, так что ничего не остается, как собирать бутылки. Парадокс!
Во-первых, то, что я у тебя запросил хотя бы пустую бутылку, еще не говорит о том, что я их собираю. Во-вторых, никакого парадокса нет. Вы обычное жулье, воры и лжецы, бездельники и неучи. Вот я юзерам об этом и говорю.
цитата:
и потому -- неудивительно! -- юзер ему и не платит, а платит тем, кто знает! Эврика!
Ты, что ль, знаешь? А почему ж ни хрена не делаешь?

Кстати, не заметил...
цитата:
А я уже давно сюда захожу почитать не писанину VR, а отклики остальных. Надо отдать должное VR - при всей унылости его писанины, он таки побуждает остальных писать неунылые вещи (видимо для компенсации).
Это... не то, чтобы новая версия, но все же не так набившая оскомину, как версия "ржача". Начинаете осознавать, какими дебилами себя выставляете? Похвально! Но разве по ЭТОЙ версии вы выглядете хоть чуточку пристойнее? Ну, что же - прокомментируем и этот "вариант"...

Hedin
Спасибо, родной! А то я уж который год ломаю голову: почему же все это стадо шляется за мной из ветки в ветку, как привязанное. А оно вона в чем дело! Они, значицца, вдохновения здеся поднабираются. Наскоко я понял, все поголовно, без исключений - пральна? Не думается вам без меня, не петрится, не кумекается. А в моих ветках у вас сразу же просветление в мозгах и наступает, сразу же умная мысля в голову и ударяет. Ну, допустим... Один "матёрый идиотище" для такой толпени катализатором служит! Без меня, стало быть, вы ни к черту не годитесь. Не спорю. Я даже утверждаю еще более категорично: И со мной тоже вы столь же безнадежно тупы, даже я вам ничем помочь не могу. Кстати, не останавливайтесь на полпути, просветите - чо это за "отклики остальных" Вас сюда привлекают? Хоть один такой "отклик" укажите, а? Чо это там за "неунылые вещи" ветке популярность придают? Не иначе, как вычисление кривизны члена - вона как все встрепенулись! Или чего там - жесткости, что ль... Угадал?

624. Chainik, 07.10.2009 11:38
Vladimir Rybinkin
Я и прошу юзеров отозваться. А попадаетесь как рыз вы. Кыш отседова!
который год ломаю голову: почему же все это стадо шляется за мной из ветки в ветку, как привязанное

Так что ж ты мучешься? Юзеры сюда не ходят. А стадо (почти) не ходит в 15-й. Зато туда ходят юзеры
Так что если твоя цель действительно выяснение мнения юзеров, а не провокация стада - следующий свой шедевр описывай именно там.

625. Gipnoss, 07.10.2009 13:07
Vladimir Rybinkin
Нет, крокодиловы слезы льете как раз вы - скулите по любому поводу и без повода о своей беспомощности.
Пруфлинк будет? Я и веб программирование в разных вселенных, поэтому Ваши танцы с eval-ом мне чужды.

Я и прошу юзеров отозваться. А попадаетесь как рыз вы.
Вас удивляет, что в церквях попадается ничтожно мало мусульман?

626. ivanhoe, 07.10.2009 16:55
jooher

цитата:

Затем, чтобы тем 90% сделать приятней. Оставшиеся 10% сами себе жизнь усложняют.
А ты пользователей самих опрашивал, что им приятнее? Мне как пользователю пользоваться Ajax-сайтами крайне неприятно. Несмотря на то что и клиент нормальный имеется и каналы тоже. И я такой не один, и http://noscript.net/ тоже не я придумал.

цитата:

Чем не устраивает схема: нормальный сайт для нормального клиента, урезанный - для урезанного ?
В принципе устраивает, но к сожалению урезанный (нормальный) вариант имеется далеко не всегда.

P.S. Кстати, как это не фантастично, Opera Mini вполне переваривает твой www.mariachi.ru. Хотя выглядит, конечно, ублюдочно.

Vladimir Rybinkin

цитата:

Я спросил: ЧЕМ она занимается?
А Ваше какое дело до этого? Чем надо, тем и занимается.

цитата:

ЧЕМ "усложнять"?! В чем логика?
Выдавать информацию в виде нагромождения JavaScript и пр. виртуальных страниц вместо нормального HTML значит усложнить работу браузера и пользователя.

627. Vladimir Rybinkin, 07.10.2009 17:58
Chainik
цитата:
Так что ж ты мучешься? Юзеры сюда не ходят.
Не совсем так: все мі юзері. И лично ті меня вполне устраиваешь.

ivanhoe
цитата:
Ajax-сайтами крайне неприятно.
Несомненно. И вполне понятно - почему.
цитата:
А Ваше какое дело до этого? Чем надо, тем и занимается.
Нет, она если и занимается, то разве что ОНАНИЗМОМ. Секретніе данніе?
цитата:
Выдавать информацию в виде нагромождения JavaScript и пр. виртуальных страниц вместо нормального HTML значит усложнить работу браузера и пользователя.
Ха-ха-ха! Что, JS сложнее интерпретировать, чем HTML?

628. jooher, 07.10.2009 19:18
ivanhoe
Мне как пользователю пользоваться Ajax-сайтами крайне неприятно.

А ты как это отслеживаешь? Нажимаешь ссылку... а страница не перегружается целиком - ой бл, ахтунг, тут аякс... буэээ..... Или неприятно как раз потому что noscript всегда включен - выключать приходится? Так это я и назвал "сами себе проблемы создают".

Кстати, как это не фантастично, Opera Mini вполне переваривает твой www.mariachi.ru. Хотя выглядит, конечно, ублюдочно.
Фантастики никакой нет - через операмини (и любой другой безскриптовый клент) ты видишь серверсайдный контент, предназначенный для поисковиков. поэтому ни красот, ни нормальной навигации.
А вообще, что ты прицепился к марьячи? Я его примером идеального всенародного е-магаза не приводил.(он может быть примером только того, что таки да, можно и емагаз на dap сделать) А примером оправданного использования js и dap в частности я приводил Банки (http://dapmx.org/apps/bankreports/) - ссылками такого не сделаеш, на флэше или на яве - можно наверно, но сильно геморней, да и оперымини сразу отпадают...

Не нужно думать, что я за впихивание js в каждую щель. Мухи и котлеты...

629. ivanhoe, 07.10.2009 20:33
Vladimir Rybinkin

цитата:

Нет, она если и занимается, то разве что ОНАНИЗМОМ. Секретніе данніе?
У меня занимается разработкой и тестированием. Это довольно-таки ресурсоемко. Когда у меня будет в каждой машине по 10000 ядер и 10000 петабайт ОЗУ, я, так и быть, выделю Вам под красивости 1 ядро и гиг ОЗУ.

цитата:

Ха-ха-ха! Что, JS сложнее интерпретировать, чем HTML?
HTML не требует ни интерпретации ни компиляции (он не является полным по Тьюрингу), а только парсинга и визуализации. Это, безусловно, гораздо более простые задачи. Браузер, работающий с pure-html сайтами можно написать за недельку в одиночку. Браузеры, работающие с js-сайтами, пишут огромные коллективы по многу лет.

jooher

цитата:

А ты как это отслеживаешь? Нажимаешь ссылку... а страница не перегружается целиком - ой бл, ахтунг, тут аякс... буэээ...
Ну скорее проблема в том что ajax-infected сайты ужасны с точки зрения юзабилити, дизайна, эргономики. Это, конечно, субъективно.

цитата:

Фантастики никакой нет - через операмини (и любой другой безскриптовый клент) ты видишь серверсайдный контент, предназначенный для поисковиков. поэтому ни красот, ни нормальной навигации.
Фантастика есть, я вижу тот же контент что и в большом браузере (с "красотами" и "навигацией"). И "банки" работают!

Я вот тут созрел сформулировать свою точку зрения по поводу красивостей в Web. Примерно так: в корпоративном случае разработчик знает про свою аудиторию всё. Поэтому, любые средства, которые ему взбредут в голову, оправданы и, допускаю, будут самым лучшем решением поставленной задачи. В случае Интернет-аудитории разработчик не знает про свою аудиторию ничего. Поэтому исходить надо из наиболее худшего случая. Интернет - это место для информации а не для самовыражения.

630. rGlory, 07.10.2009 21:25
ivanhoe
цитата:
Браузеры, работающие с js-сайтами, пишут огромные коллективы по многу лет.
Да ладно, ВР со школьниками города Нелидова свой уже практически написал гораздо быстрее. Он уже картинки рисует, осталось только подшаманить малеха, допилить быстрый алгоритм, написать точный алгоритм, а так практически все готово.

цитата:
Поэтому исходить надо из наиболее худшего случая. Интернет - это место для информации а не для самовыражения.
Что значит надо? И кому надо? Исходить надо из реалий как то: требование к функциноальности, желаемый охват аудитории, заинтересованность аудитории в этой функциональности и тд. А так получается - вот мне так надо или вернее хочется и пусть все так делают. Как у Рыбинкина - ему хочется под IE3 писать, и всем "надо" идти на помойку и искать такой браузер.

631. jooher, 07.10.2009 21:26
ivanhoe
Фантастика есть, я вижу тот же контент что и в большом браузере

Значит, опера держит на своих серваках полноценные сессии с яваскриптом Очень мило с ее стороны Не буду говорить за любой яваскрипт, но дап в такую модель должен хорошо ложиться, поскольку в нем js используется не для реалтайм-мультиков, а для асинхронного перестроения DOM. С телефона приходят евенты, оперный сервер перестраивает документ, кодирует в свой оперный формат и взад на телефон... То есть в данном случае телефону по барабану - есть там js или нет - он его не видит. Одним аргументом у тебя меньше


В случае Интернет-аудитории разработчик не знает про свою аудиторию ничего. Поэтому исходить надо из наиболее худшего случая.
Наиболее худший случай - это эстет-нигилист типа ВР со своей системой ценностей. Зачем мне на него ориентироваться и тратить время на то, чтобы он смог посмотреть страницу (еще и в ущерб остальным, гораздо более потенциальным посетителям)? Все равно он ничего и никогда у меня не купит.


Интернет - это место для информации а не для самовыражения.
Ну это уж совсем спорно.

632. dozen, 08.10.2009 01:09
ivanhoe

В случае Интернет-аудитории разработчик не знает про свою аудиторию ничего. Поэтому исходить надо из наиболее худшего случая.

Не понял? То есть, скажем, мне на ВР с его IE3 ориентироваться? А толку-то с него? А толку с упертых гиков с поставленным NoScript? Основная масса платежеспособного населения сидит на ... ну, вы его знаете. И JS у них включен.

Добавление от 08.10.2009 01:10:

jooher

Все равно он ничего и никогда у меня не купит.

Во-во.

633. Yak, 08.10.2009 09:26
ivanhoe
Ну скорее проблема в том что ajax-infected сайты ужасны с точки зрения юзабилити, дизайна, эргономики. Это, конечно, субъективно.
Уж действительно, крайне субъективно. Меня, например, тошнит от сайтов, на каждый чих перегружающие странички целиком вместо того, чтобы получить нужные данные с сервера, на время подкачки отобразив спиннер по необходимости, и потом изменить DOM без полной перерисовки.

634. ivanhoe, 08.10.2009 11:47
jooher

цитата:
Ну это уж совсем спорно.
Безусловно, все написанное построено на предположении что разработчик сайта хочет сделать сайт в духе "Best viewed with any browser", удобный для всех.

А так, я, конечно же, все понимаю, в т.ч. и смысл делать неудобные сайты на аяксе и пр. Гугл, например, очень хочет пролезть на машину клиента через браузер и для него это стратегия и шанс.

dozen

цитата:
Не понял? То есть, скажем, мне на ВР с его IE3 ориентироваться? А толку-то с него? А толку с упертых гиков с поставленным NoScript? Основная масса платежеспособного населения сидит на ... ну, вы его знаете. И JS у них включен.

Основная масса не всегда сидит за компом в офисе. И не всегда таскает с собой нотебук и, тем более, большой комп. И у нее не всегда гигабитное подключение к стагигабитной магистрали. В некоторых странах мобильных и пр. пользователей уж скоро половина будет, не считаться с ними (нами) просто глупо.

Твоя позиция хорошая, когда ты монополист и знаешь что к тебе всегда придут клиенты и будут под тебя прогибаться, т.е. например:
- купят себе компьютер с виндой и поставят туда самый правильный в мире браузер (Internet Explorer с нужным набором плагинов)
- организуют себе быстрый интернет
- и пр.
... и все это ради того, чтобы зайти в твой интернет-магазин. Такие случаи, конечно же, бывают. Но не всегда и не у всех. И даже в таких случаях я бы таки делал сайт для "any browser", хотя бы из вежливости к пользователям, да и проще получается, как ни крути.

P.S. Кстати еще одна претензия к JS-решениям, что они сильно Immature и Unstable. Вот например, одни деятели сделали систему мониторинга (!) на Ajax с требованием неведомого плагина. Кое-как поставил под wine firefox и данный плагин... даже делает вид что работает, только дико тормозит и падает раз в два часа. Почему бы не писать это на жабе (идеальный язык для такого применения!) мне не понять.

635. jooher, 08.10.2009 12:56
ivanhoe
Вот например, одни деятели сделали...

Все твои претензии строятся на "а вот я видел как криво можно сделать на js"
Ты хочешь примеров, где и без js "деятели" понаделали (pure-html \ java \ flash \ C++ \ ...) ?

636. dozen, 09.10.2009 01:39
ivanhoe

Твоя позиция хорошая, когда ты монополист и знаешь что к тебе всегда придут клиенты и будут под тебя прогибаться, т.е. например:
- купят себе компьютер с виндой и поставят туда самый правильный в мире браузер (Internet Explorer с нужным набором плагинов)
- организуют себе быстрый интернет
- и пр.
... и все это ради того, чтобы зайти в твой интернет-магазин. Такие случаи, конечно же, бывают.


Э... такие "случаи" -- это норма жизни. И никто ни под кого не прогибается. Просто есть стандарт (норма), все ему и следуют. Покупают компы с предустановленной виндой и IE, не трогают дефолтовых настроек -- а там JS не выключен, и -- приходят на мой магазин (ну, у меня его нет, ну помечтаем).

637. Vladimir Rybinkin, 09.10.2009 08:09
jooher
цитата:
А примером оправданного использования js и dap
Пральна! Так их! Я и Моцарт!

ivanhoe
цитата:
У меня занимается разработкой и тестированием. Это довольно-таки ресурсоемко.
Серьезно? И что ж за бредятину такую она "разрабатывает", что ж такое жутко ресурсоемкое тестирует, что даже JS поганый ее нокаутирует? Вот у меня - и комп дохлый, и комми обычно сидит, и приличная довольно-таки (самая маленькая задача на сегодняшний день 456789 узлов) - и ничего! Струячит себе потихоньку, каши не просит, никому не мешает, как и ей все эти ужасы JS-интерпретации.
цитата:
Когда у меня будет в каждой машине по 10000 ядер и 10000 петабайт ОЗУ, я, так и быть, выделю Вам под красивости 1 ядро и гиг ОЗУ.
МНЕ?! Да чуть не все, что нужно юзеру, УЖЕ лежит в a.j! На хрена мне эти ядра и гиги? Я ж не настолько криворукий, как...
цитата:
HTML не требует ни интерпретации ни компиляции (он не является полным по Тьюрингу), а только парсинга и визуализации.
Ах, вот оно что! Парсинг нонче уже не интерпретация?
цитата:
Это, безусловно, гораздо более простые задачи. Браузер, работающий с pure-html сайтами можно написать за недельку в одиночку.
Браво, Ваня! Браво! Лучше обосрать разработчиков первых броузеров просто невозможно! И чего Билл бодался столько времени с NN? Чего выпускал свои "недоподелки", от которых сплошной мат-перемат в Инете стоял?
цитата:
Браузеры, работающие с js-сайтами, пишут огромные коллективы по многу лет.
Алё! Сережа! Ушенин! Максим! Кизуб! Зайдите, полюбуйтесь на эту прелесть! Ваня, я, конечно, и сам человек заводной. Но меру-то нужно знать! Мое мнение о Вашей квалификации от подобных перлов просто КАТАСТРОФИЧЕСКИ падает!
цитата:
Ну скорее проблема в том что ajax-infected сайты ужасны с точки зрения юзабилити, дизайна, эргономики. Это, конечно, субъективно.
Зато круто. Особенно про дизайн. И ваще: какое юзеру собачье дело, ajax там или нет? Он же по идее вообще не должен ничего замечать.
цитата:
В случае Интернет-аудитории разработчик не знает про свою аудиторию ничего. Поэтому исходить надо из наиболее худшего случая.
Да?! По умолчанию нужно аудиторию презирать?! Однако...
цитата:
Интернет - это место для информации а не для самовыражения.
Во залудил!

rGlory
цитата:
Как у Рыбинкина - ему хочется под IE3 писать, и всем "надо" идти на помойку и искать такой браузер.
Врать-то не стоит так уж откровенно, лапочка.

jooher
цитата:
Наиболее худший случай - это эстет-нигилист типа ВР со своей системой ценностей.
Естественно! А лучший случай - свора бездельников, ни хрена не умеющих, и намеревающихся вечно доить бедного юзера.
цитата:
Все равно он ничего и никогда у меня не купит.
Боже сохрани! Мой прогноз напомнить? DAP не станет продуктом НИКОГДА.

ivanhoe
цитата:
Безусловно, все написанное построено на предположении что разработчик сайта хочет сделать сайт в духе "Best viewed with any browser", удобный для всех.
Вот против ЭТОГО - ну ни малейших возражений! В смысле, ДОЛЖЕН БЫ хотеть.
цитата:
Гугл, например, очень хочет пролезть на машину клиента через браузер и для него это стратегия и шанс.
А чо ж не лезет? Чо ж выдача результатов поиска такая идиотская?
цитата:
Основная масса не всегда сидит за компом в офисе. И не всегда таскает с собой нотебук и, тем более, большой комп. И у нее не всегда гигабитное подключение к стагигабитной магистрали. В некоторых странах мобильных и пр. пользователей уж скоро половина будет, не считаться с ними (нами) просто глупо.
НУ?! Минимум JS, и полный оргазм юзера без сколько-нить заметных затрат каких-либо ресурсов. В чем проблемы-то? Вам же ТЕМ БОЛЕЕ нужен ajax! В смысле, НОРМАЛЬНЫЙ ajax.
цитата:
Кстати еще одна претензия к JS-решениям, что они сильно Immature и Unstable.
Ха-ха-ха! Это разве что претензия к кривым рукам, но прямым извилинам.
цитата:
Вот например, одни деятели сделали систему мониторинга (!) на Ajax с требованием неведомого плагина.
На помойку немедленно! Какие еще плагины?! На кой?!
цитата:
и данный плагин... даже делает вид что работает, только дико тормозит и падает раз в два часа.
Тем более!
цитата:
Почему бы не писать это на жабе (идеальный язык для такого применения!) мне не понять.
А не поможет. НИЧЕГО не поможет. Руки ведь по-прежнему кривые... Зачем же JS несчастный ругать - ОН-ТО в чем провинился? А уж для вас, для мобильных пользователей, он просто незаменим - в тыщу раз легче этой самой жабы.

638. jooher, 09.10.2009 10:58
Vladimir Rybinkin to ivanhoe
Мое мнение о Вашей квалификации от подобных перлов просто КАТАСТРОФИЧЕСКИ падает!
Бойся Ваня

639. ivanhoe, 09.10.2009 13:04
jooher

цитата:

Ты хочешь примеров, где и без js "деятели" понаделали (pure-html \ java \ flash \ C++ \ ...) ?
Нет, я хочу положительных примеров, отрицательных и так знаю навалом. Положительных примеров использования javascript я знаю очень и очень мало (в отличии от всего вышеперечисленного).

dozen

цитата:

Э... такие "случаи" -- это норма жизни. И никто ни под кого не прогибается. Просто есть стандарт (норма), все ему и следуют. Покупают компы с предустановленной виндой и IE, не трогают дефолтовых настроек -- а там JS не выключен, и -- приходят на мой магазин (ну, у меня его нет, ну помечтаем).
Анекдот напоминает:
- Знаешь, а на гражданке тоже есть умные люди!
- Да?! А почему они строем не ходят?

Ну это опять таки uniformity vs diversity. Ты, видимо, считаешь, что все должны быть одинаковыми и ходить строем и не должны пользоваться Интернетом в поезде, аэропорту, поездке на машине и пр. Или в том мире где ты живешь, все опутано оптикой и везде, под каждым кустом поставлен комп с виндой и предустановленным IE.

Vladimir Rybinkin

цитата:
Серьезно? И что ж за бредятину такую она "разрабатывает", что ж такое жутко ресурсоемкое тестирует, что даже JS поганый ее нокаутирует?
Что нужно, то и разрабатывает и тестирует.

цитата:
Ах, вот оно что! Парсинг нонче уже не интерпретация?
Нет, конечно. См. http://en.wikipedia.org/wiki/Parsing и http://en.wikipedia.org/wiki/Interpreter_(computing)

цитата:

Браузеры, работающие с js-сайтами, пишут огромные коллективы по многу лет.
цитата:
Алё! Сережа! Ушенин! Максим! Кизуб! Зайдите, полюбуйтесь на эту прелесть! Ваня, я, конечно, и сам человек заводной. Но меру-то нужно знать! Мое мнение о Вашей квалификации от подобных перлов просто КАТАСТРОФИЧЕСКИ падает!

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

цитата:

А чо ж не лезет?
Лезет и еще как. К dozen вот, например, уже пролез (в виде google docs (http://docs.google.com) ), он заразился и везде эти гривые гуглдоки рекламирует.

цитата:
А уж для вас, для мобильных пользователей, он просто незаменим - в тыщу раз легче этой самой жабы.
Легче только в плане footprint. В рантайме же JS гораздо тяжелее чем MIDP и на MIDP делают массу полезного, быстрого и функционального (та же самая Opera Mini).

640. jooher, 09.10.2009 14:18

ivanhoe
Нет, конечно. См. http://en.wikipedia.org/wiki/Parsing

In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens (for example, words), to determine its grammatical structure with respect to a given (more or less) formal grammar.


Щас Владимир Владимирович расскажет нам про токены (http://forum.ixbt.com/topic.cgi?id=26:39751:384#384) ...

641. dozen, 09.10.2009 15:31
ivanhoe

Ты, видимо, считаешь, что все должны быть одинаковыми и ходить строем и не должны пользоваться Интернетом в поезде, аэропорту, поездке на машине и пр. Или в том мире где ты живешь, все опутано оптикой и везде, под каждым кустом поставлен комп с виндой и предустановленным IE.

Да, считаю.

Одинаковые = стандартные. О пользе стандартизации говорить говорить-то не надо, правда?

Что касается оптики -- желание быть "как все", то есть иметь доступ к тем же "крутым" приложениям, подталкивает (и финансирует) развитие этих самых каналов, развитие нормальных браузеров на мобильниках, появление нетбуков и прочее, и прочее. То есть "как все" -- это положительное явление с точки зрения развития.

А если постоянно оглядываться на наименьший знаменатель, то мы бы вечно сидели на plain HTML3. Причем в варианте IE.

Добавление от 09.10.2009 15:34:

ivanhoe
он заразился и везде эти гривые гуглдоки рекламирует

А чего это они кривые? Работают, и в целом неплохо. Особенно spreadsheet.

642. ivanhoe, 09.10.2009 16:12
dozen

цитата:
Одинаковые = стандартные. О пользе стандартизации говорить говорить-то не надо, правда?
Тоже точка зрения. Однако все ты к единому стандарту не приведешь, например, каналы и сетевые задержки (последние ограничены скоростью света, увеличить которую пока средств нет и не предвидится).

цитата:
То есть "как все" -- это положительное явление с точки зрения развития.
Развитие ради развитие это по-моему явление отрицательное. И на мой взгляд было бы полезно, если бы железо и пр. устаревало не за год, а хотя бы лет за 10.

цитата:

А если постоянно оглядываться на наименьший знаменатель, то мы бы вечно сидели на plain HTML3. Причем в варианте IE.
Судя по тому количеству сайтов, на которые я могу зайти из links, мою позицию разделяет больше народу.

цитата:
А чего это они кривые? Работают, и в целом неплохо. Особенно spreadsheet.
Кривые что функционал на уровне Winword 1.0 (был такой) при потребляемых процессоре/памяти в 10^2-10^3 раз больше.

P.S. Кстати в OpenOffice появилась довольно приличная векторная рисовалка, называется SDraw. Не Visio конечно, но вполне удобно. В гуглдокс оно хотя бы в планах имеется? :>

643. jooher, 09.10.2009 17:13
ivanhoe
последние ограничены скоростью света, увеличить которую пока средств нет и не предвидится
Познание бесконечности требует бесконечного времени. А потому - что работай, что не работай - разницы никакой (с) АБС


было бы полезно, если бы железо и пр. устаревало не за год, а хотя бы лет за 10
Тогда телефон уровня твоей нокии был бы только у твоего внука.

644. ivanhoe, 09.10.2009 20:08
jooher

цитата:

Познание бесконечности требует бесконечного времени. А потому - что работай, что не работай - разницы никакой (с) АБС
Это конечно глубокомысленно. Но вот в сетях с большими задержками старый-добрый интерфейс с формочками удобнее, как ни крути. А представь на, что "завтра" люди поселятся на Луне, Марсе, ... и даже Плутоне и подключатся оттуда к твоему сайту. И какими словами они охарактеризуют твой Аякс.

цитата:

было бы полезно, если бы железо и пр. устаревало не за год, а хотя бы лет за 10
Тогда телефон уровня твоей нокии был бы только у твоего внука.
У внука вряд ли. И с телефонами меня ситуация как раз устраивает, они устаревают лет за 5; а не за год-два, как большие компы. :>

645. dozen, 10.10.2009 01:03
ivanhoe

Судя по тому количеству сайтов, на которые я могу зайти из links, мою позицию разделяет больше народу.

фу, какое возмутительное проявление survival bias! ты просто ходишь на такие сайты!

Кривые что функционал на уровне Winword 1.0 (был такой) при потребляемых процессоре/памяти в 10^2-10^3 раз больше.

Процессор и память меня мало волнуют. А функционал -- ну, мне достаточен. Мало? Иди на Zoho, там скорее Winword 6 (http://writer.zoho.com/html/screentour.html) .

В гуглдокс оно хотя бы в планах имеется? :>

Не знаю. Наверняка имеется... Canvas-то для чего вводят?

Но вот в сетях с большими задержками старый-добрый интерфейс с формочками удобнее, как ни крути.

Ы? То есть удобнее дождаться полной загрузки всей страницы на каждый чих вместо 100 байт JSON? Как раз в медленных сетях AJAX дает ощущение большей откликабельности -- только девелопер должен понимать, что запрос может тормозить, и вводить визуальные индикаторы процессинга.

И какими словами они охарактеризуют твой Аякс.

А разве Google Apps и Amazon S3 не будут кластеризоваться на локальные сервера? А то раунд-трип до Луны в три секунды еще куда ни шло, а несколько (до 20, что ли) минут в одну сторону для Марса... это да... ты, кажется, хотел странички перегружать в таких условиях?

646. jooher, 10.10.2009 01:41
ivanhoe
А представь на, что "завтра" люди поселятся на Луне, Марсе, ... и даже Плутоне и подключатся оттуда к твоему сайту.

Ну когда люди поселятся на Марсе и Плутоне, нехватка мощей под js уже врядли кого-то будет парить.

dozen
раунд-трип до Луны в три секунды еще куда ни шло, а несколько (до 20, что ли) минут в одну сторону для Марса...

Причем с шириной канала то наверно все нормально будет - вакуум, прямая видимость... А вот пинг конешно да... Тут то и можно будет вспомнить про чудо ВР, откопать в соответствующем археологическом пласте комп с IE5, и сливать сразу всю базу на клиента целиком вместе с гипертраекторными альфа-шаблонами.

647. vertur, 10.10.2009 01:51
цитата (jooher):
прямая видимость
не в тему я конечно. Но откуда прямая видимость до Марса ?

Тут имхо система высокоорбитальных (для Земли и Марса) ретрансляторов нужна...
А это дополнительные задержки сигнала, да ограничение на ширину (канала)....

Так что пакетные запросы к инету. Составили списочек с запросами "get, post, прочими"
и ждем след сеанса связи чтобы отправить,
а потом следующего чтобы принять...

А если еще и вспышка на Солнце, то нервно курим.


Но что то мне подсказывает что большую базу проще, дешевле и быстрее будет порезать на болваночки и отправить с оказией, чем каждый день в течении >>2 лет получать по паре мегабайт кусков

648. Naveen, 10.10.2009 05:20
ivanhoe
dozen
vertur
А вы что, реально работаете в областях, где уже актуальны такие вопросы (сообщения с Марсом и Плутоном) ??

649. Vladimir Rybinkin, 10.10.2009 09:38
ivanhoe
цитата:
Что нужно, то и разрабатывает и тестирует.
Кому может быть нужно то, что жрет все ресурсы, и не терпит рядом с собой даже броузера?
цитата:
Нет, конечно.
Ха-ха-ха! А ничего, что в русском языке слова "парсинг" ваще нет?
цитата:
Думайте что хотите, но полноценная поддержка JS помимо самого языка (довольно минималистичного, да) включает в себя и поддержку огромного количества спецификаций, в одиночку их невозможно даже прочитать, а не то что реализовать. А для современных JS-приложений типа google docs и пр. все эти спецификации нужны и критичны.
Чушь! JS есть сп.....ный и кастрированный С. Он проще и тупее.
цитата:
Лезет и еще как.
Кроме того, как надо?
цитата:
В рантайме же JS гораздо тяжелее чем MIDP и на MIDP делают массу полезного, быстрого и функционального (та же самая Opera Mini).
Чушь! Что это за "масса полезного", которая недоступна JS? Опять секретные данные?

650. Karroplan, 10.10.2009 11:17
Naveen
Я вот работал в области спутниковой связи, где такие проблемы очень даже актуальны. Т.к. двусторонняя задержка (2 * RTT) на канале с одним спутниковым скачком - 1.5сек. К вашему сведению, самый распространенный вид связи в Африке именно спутниковая и потребителей очень много. Поближе к нам - Армения, Грузия, Дагестан - спутниковая связь, как симметричная так и асимметричная, занимает большую долю рынка услуг связи (больше половины). Всякие сайты набитые аяксом просто бесят, когда у тебя инет через спутник.
Так что засуньте себе свое ехидство обратно под хвост.

651. jooher, 10.10.2009 13:24
Karroplan
Всякие сайты набитые аяксом просто бесят, когда у тебя инет через спутник. Так что засуньте себе свое ехидство обратно под хвост.

Ага, полностью перезагружаемые страницы конешно гораздо приятней. Кстати встречное предложение - себе под хвост засуньте и Африку и Грузию и Дагестан.

652. dozen, 10.10.2009 16:17

Naveen
А вы что, реально работаете в областях, где уже актуальны такие вопросы (сообщения с Марсом и Плутоном) ??
Только вчера вернулся с Сатурна. В понедельник вылетаю на Деймос, устанавливать планетарный кластер Weblogic, блин. Командировочные, конечно, неплохие, но не люблю тамошнюю кухню.


Karroplan
Всякие сайты набитые аяксом просто бесят, когда у тебя инет через спутник.

Любые сайты, требующие взаимодействия (форумы, например) бесят на медленном канале. Ajax СНИЖАЕТ требования к каналу.

Добавление от 10.10.2009 16:19:


Vladimir Rybinkin
JS есть сп.....ный и кастрированный С. Он проще и тупее.
Дудачок...

653. lvqcl, 10.10.2009 16:38
dozen
В понедельник вылетаю на Деймос, устанавливать планетарный кластер Weblogic, блин.

Надеюсь, не по заказу Union Aerospace Corporation?

654. dozen, 10.10.2009 18:34

lvqcl
не по заказу Union Aerospace Corporation?
NDA не позволяет мне разглашать моего заказчика. но в качестве хинта подскажу, что заказчик involved in advanced weapons development, biological research, space exploration and teleportation.

655. theaspect, 12.10.2009 08:13
Vladimir Rybinkin
Чушь! JS есть сп.....ный и кастрированный С. Он проще и тупее.
а я, дурак, думал, что js это скорее лисп с синтаксисом С

656. Vladimir Rybinkin, 12.10.2009 09:26
theaspect
цитата:
а я, дурак, думал, что js это скорее лисп с синтаксисом С
Да уж... Но теперь-то, надеюсь, поумнели?

657. vertur, 12.10.2009 09:37
цитата:
js это скорее лисп с синтаксисом С
весело утро началось

658. theaspect, 12.10.2009 13:12
vertur
ну жабоскрипт с функциональными языками более корректно сравнивать нежели с императивными

659. Partisan, 12.10.2009 13:39
У JavaScript синтаксис передран с Java. Слово JavaScript это и означает. Но другие свойства и применение у них сильно отличаются. Естественно, не переводятся дурачки, лезущие в форумы по Java с вопросом по JavaScript. Таких я ругаю. Сравнение JavaScript с С такая же ошибка (и тоже можно ругнуться). Но по-существу, так же ведут себя плюсисты с наивными вопросами "а почему в Java нет множественного наследования и указателей?". (Уловив сходство синтаксиса Java и C++ думают, что уже почти знают Java). Далее может следовать глупый вывод "потому что Java для программистов низкой квалификации". (Себя соответственно считают программистами высокой квалификации, что ничем не отличается от самовосхвалений V.R. и основано на невежестве). В общем, одного сходства синтаксиса мало, чтобы знать язык. Надо представлять область его применения и те свойства, которые делают язык приспособленным к ней. Вот тут предлагают сравнивать JavaScript с языками ФП. А с какими? С Haskell, Lisp? Но у них разные области применения (для чего нужен JavaScript - все знают, а Haskell, Lisp как мне кажется нужны преподавателям, чтобы преподавать). Другое дело сравнить JavaScript с JavaFX Script. Область применения частично пересекается и в обоих есть элементы ФП.

660. Vladimir Rybinkin, 12.10.2009 13:52
theaspect
Его и языком-то разве что условно назвать можно.

Добавление от 12.10.2009 13:59:

Partisan
C C! Как и Java. Весь идиотизм последующей "классификации" есть идиотизм "классификаторов". Ни Керниган с Ричи, ни Маккарти в єтом не виноваті. А уж Вирт со Страуструпом ваще никто.

661. theaspect, 12.10.2009 14:41
Vladimir Rybinkin помнится Вы лиспу дифирамбы пели, а тут сразу 'условно'
быть может все проблемы как раз в том что не стоит в ЖС видеть убогий С?

662. jooher, 12.10.2009 16:15
Partisan
Естественно, не переводятся дурачки, лезущие в форумы по Java с вопросом по JavaScript. Таких я ругаю.

Или вот такие дурачки:

Vladimir Rybinkin
[про js]Его и языком-то разве что условно назвать можно.

Типа, почетного высокого звания "ЯЗЫК ПРОГРАММИРОВАНИЯ" удостаивается только то, что имеет указатели, ассемблерные вставки и вручное управление кучей.

До чего же дурень, право слово. Или "молод душой" это назвать? Лет эдак 14 дать можно. Юношеский запал прям: Вирт и Страуструп никто (да я их в сто раз круче - мои программы вобще никто прочитать не может). Зато К&Р и Маккарти в каждой теме присутствуют всуе (а Бэкуса чо ж не поминаеш?)


theaspect
ну жабоскрипт с функциональными языками более корректно сравнивать нежели с императивными
С чего бы это? Чисто императивный язык. Одно только наличие eval, или то, что с его помощью можно делать движки для functional-style программ - не делает его функциональным.


Partisan
Haskell, Lisp как мне кажется нужны преподавателям, чтобы преподавать
Функциональные языки - очень мощная вещь. В частности, для описания динамически изменяющихся структур, состоящих из кучи взаимозависимых элементов (например, веб-страницы, сложные юзеринтерфейсы, схемы всяческие и т.п.) функц. описание очень удобно.
Главноая беда - нечитаемость. Но это тоже наверно лечится.

663. Partisan, 12.10.2009 16:27
jooner
Функциональные языки - очень мощная вещь.
Вообще говоря, я не спорю. Но нужно смотреть конкретно, в каком языке и для чего.В JavaScript и JavaFX Script элементы ФП помогают сделать код короче и нагляднее. Причём есть отличия между ними в применении ФП, вызванные разными намерениями авторов. А если взять Nemerle, в который добавлены все качества, которые пришли в голову авторам, в том числе ФП, то пользы я не вижу.

664. vertur, 12.10.2009 17:58
theaspect
да я просто уже с утра понял, что день сегодня не вышел (код не пишется, не растет кокос, и js как лисп - один в один. братья близнецы)
вот коньяку купил, позвонил знакомым бл*д*м
и теперь мы вместе обдумываем функциональные языки...

665. Vladimir Rybinkin, 13.10.2009 09:42
Эй, Ваня, Чайник и другие! Тоже "в отпуск" все слиняли? Работает тест3 али нет? Возвращайтесь, мне что, только эту шушеру здесь гонять?

Добавление от 13.10.2009 16:01:


All
Значицца, так: в очередной раз безграмотная шушера пытается подменить тему ветки - чем угодно: и тебе скорость света, и Плутон, и вспышки на Солнце. Я понимаю, господа - про программирование вам просто нечего сказать, здесь вы абсолютные нули. Так валите отсюда, не хрен ветку засорять своей ахинеей! Ща малек помогу по конкретным постингам.

ivanhoe
От Вас, сударь, я ожидаю вовсе не такого "разговора". И уж никак не словопомола про "массу полезного, быстрого и функционального", "устаревание за год-два" и.т.п. Я уже молчу про бред насчет "в сетях с большими задержками старый-добрый интерфейс с формочками удобнее, как ни крути", которму вторит Karroplan: "Всякие сайты набитые аяксом просто бесят, когда у тебя инет через спутник". Даже dozen, и тот понимает, что "Ajax СНИЖАЕТ требования к каналу".

theaspect

цитата:
помнится Вы лиспу дифирамбы пели, а тут сразу 'условно'
Во-первых, 'условно' касается не Лисп, а JS. Во-вторых, я НИКОГДА ни тому, ни другому никаких "дифирамбов" не пел. При всей кастрированности, убогости, беспомощности JS, он все-таки (благодаря eval) буквально перерождается, и умеет все, что нужно пользователю (т.е. все, что от него требуется).
цитата:
быть может все проблемы как раз в том что не стоит в ЖС видеть убогий С?
А что же еще? Единственное СУЩЕСТВЕННОЕ отличие, оправдывающее его существование - это то, что он ИНТЕРПРЕТАТОР.

jooher
цитата:
Типа, почетного высокого звания "ЯЗЫК ПРОГРАММИРОВАНИЯ" удостаивается только то, что имеет указатели, ассемблерные вставки и вручное управление кучей.
Указатели - бесспорно: без них вместо "язык" правильнее употреблять "дерьмо". Ассемблерные вставки при НОРМАЛЬНОМ синтаксисе языка на фиг не нужны - не нужно только кастрировать ассемблерные возможности - и дело с концом. Управлять кучей можно на любом языке.
цитата:
До чего же дурень, право слово.
... никак не допрет про полнейший идиотизм своего гребаного DAP.
цитата:
Лет эдак 14 дать можно
Это недостаток? До чего же дурень, право слово...
цитата:
Вирт и Страуструп никто (да я их в сто раз круче - мои программы вобще никто прочитать не может).
Вне скобок все правильно, внутри - домыслы идиота: я никогда не занимался (и не собираюсь) подобной бредятиной, а программы мои прочитать не может разве что распальцованный неуч. По крайней мере, те из них, которые я здесь приводил: для программиста - тривиальнейшие.
цитата:
Зато К&Р и Маккарти в каждой теме присутствуют всуе (а Бэкуса чо ж не поминаеш?)
Две гениальные развязки в программировании. Бэкус же никому на фиг не нужен.
цитата:
Функциональные языки - очень мощная вещь.
Функциональность С практически абсолютная. Метки и инициализация данных а-ля ассемблер, строчные комментарии - и все остальные языки можно в топку. Кто сейчас помнит Фортран, Алгол, PL, Паскаль, Ада, Модула, Симула и прочую дребедень? Или, по крайней мере, кто о них вспомнит через пару-тройку десятков лет? А вот C - язык вечный. Прекрасно подходящий в частности, для описания динамически изменяющихся структур, состоящих из кучи взаимозависимых элементов (например, веб-страницы, сложные юзеринтерфейсы, схемы всяческие и т.п.), а также всего, что понадобится впредь.

Partisan
цитата:
Естественно, не переводятся дурачки... Таких я ругаю.
Мэтр, без вопросов! Я уже спрашивал: кто этот идиот (множественное число здесь явно неуместно), с которым Вы позволяете себе разговаривать назидательным тоном?
цитата:
Уловив сходство синтаксиса Java и C++ думают, что уже почти знают Java.
Поделитесь, Учитель, тайным знанием с народом - пусть посмеется.
цитата:
Далее может следовать глупый вывод "потому что Java для программистов низкой квалификации".
Несомненно! ТАКОЙ вывод глуп: где ж теперь найдешь программистов - хоть какой-нить квалификации?
цитата:
Себя соответственно считают программистами высокой квалификации, что ничем не отличается от самовосхвалений V.R. и основано на невежестве.
Грязная, вонючая ложь, лапочка! Я НИКОГДА не занимался "самовосхвалениями", и НИКОГДА не считал себя программистом высокой квалификации. Я тыщу раз об этом писал. Другое дело, что по сравнению С ВАМИ моя квалификация бесконечно высока, но ведь это не МОЯ, а ВАША характеристика.
цитата:
В общем, одного сходства синтаксиса мало, чтобы знать язык. Надо представлять область его применения и те свойства, которые делают язык приспособленным к ней.
Гений! Просто гений! Ну и как, у языка С какая "область применения"? Скоко процентов остается на всю остальную мутотень?
цитата:
для чего нужен JavaScript - все знают
ДА???!!! Я, Я, Я НЕ ЗНАЮ! Просветите безграмотного! Умоляю!

666. ivanhoe, 13.10.2009 17:52
Ох, сколько написали то.

dozen

цитата:
Процессор и память меня мало волнуют. А функционал -- ну, мне достаточен. Мало? Иди на Zoho, там скорее Winword 6.
Нет, не дотягивает. Переносов нет, что за Word Processor без переносов в 21-м то веке. Но проблема в том, что кроме деградации процессора и памяти выигрыша нет никакого (ну кроме удовлетворения амбиций JavaScript-программистов). Ну плохая из жабоскрипта ОС, плохая. Ненадежная (по опыту эксплуатации мозиловского js-движка в краулере), медленная, однозадачная. Может быть будет приличная лет через 10, даже через 5... А сейчас Windows как-то лучше, да даже Linux или FreeBSD. :>

цитата:

Ы? То есть удобнее дождаться полной загрузки всей страницы на каждый чих вместо 100 байт JSON? Как раз в медленных сетях AJAX дает ощущение большей откликабельности -- только девелопер должен понимать, что запрос может тормозить, и вводить визуальные индикаторы процессинга.
Медленность отклика не обязательно означает медленность передачи данных и примеров сетей с медленным RTT и относительно большой скоростью полно, даже не вылетая на Марс: спутниковые сети, EDGE и пр. В таких сетях скачать один раз 100 килобайт примерно в 100 раз быстрее чем 100 раз по 1 килобайту. Opera Mini как раз и превращает 100 транкций по 1 Кб в 1 транзакцию по 100 (на самом деле меньше, т.к. еще прилично жмет трафик). Но Opera Mini, к сожалению, не всегда подходит и доступна.

А в межпланетных TCP-сетях, подозреваю, будут гигантские MTU, типа сотен гигабайт или терабайт. И возможно появятся запросы типа MGET / HTTP/x.y (скачать рекурсивно весь сайт, результат в MIME/multipart)

цитата:

А разве Google Apps и Amazon S3 не будут кластеризоваться на локальные сервера? А то раунд-трип до Луны в три секунды еще куда ни шло, а несколько (до 20, что ли) минут в одну сторону для Марса... это да... ты, кажется, хотел странички перегружать в таких условиях?
Google и Amazon может и будут. Все сайты точно не будут.

Vladimir Rybinkin
цитата:

Чушь! JS есть сп.....ный и кастрированный С. Он проще и тупее.
Во-первых JS это язык совершенно другой, у него с C общего только синтаксис с фигурными скобками. С точки зрения семантики мне JS всегда напоминал смесь Smalltalk и Scheme. Оказалось, что я почти угадал, авторы вдохновлялись Self (который на Smalltalk весьма похож) и Scheme. Итак, проведем сравнение этих языков по пунктам:

код:

C JavaScript
========================= =================== ====================
Типизация Статическая Динамическая
Исключения Нет Да
Поддержка ООП Нет Есть
Поддержка ФП Нет Да (анонимные функции это лямбда-выражения)
Адресная арифметика Да Нет
Управление памятью Ручное Сборка мусора

Не кажется ли Вам (из этой краткой сравнительной таблицы), что это абсолютно разные языки?

Во-вторых я имел в виду не спецификации на сам JS (хотя она тоже не такая маленькая - почти 200 страниц), а на поведение JS в браузере. То есть документы типа DOM Core Specifications.

цитата:

Чушь! Что это за "масса полезного", которая недоступна JS? Опять секретные данные?
Opera Mini, карты, почта, программы для чтения электронных книг и пр. - этим я лично пользуюсь на телефоне. Аналогичные JS-приложения (на примере карт и почты) телефонные браузеры не выдерживают.

цитата:
Даже dozen, и тот понимает, что "Ajax СНИЖАЕТ требования к каналу".
В отличии от Вас с dozen мы такими каналами (с большими задержками пользуемся). Если б не Opera Mini, пользоваться было бы невозможно, но даже она не может отобразить все прихоти Ajax-программистов. А вы нам пытаетесь рассказывать про "вкус устриц", которые мы "ели", а вы - нет.

P.S. Выкладывайте пожалуйста свои тесты на Web-сайт, а не в виде непонятных аттачей, тогда проверю. Свободных хостингов сейчас по-моему навалом. У меня сейчас совершенно нет времени делать это самому.

667. Partisan, 13.10.2009 18:31
Vladimir Rybinkin
Грязная, вонючая ложь, лапочка! Я НИКОГДА не занимался "самовосхвалениями", и НИКОГДА не считал себя программистом высокой квалификации. Я тыщу раз об этом писал. Другое дело, что по сравнению С ВАМИ моя квалификация бесконечно высока

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

Функциональность С практически абсолютная
Вы не поняли значения выражения "функциональный язык программирования". Это специфический термин, который не следует толковать буквально. Что он означает - можете узнать, сделав поиск по этим словам в google (вот, сам сделал - первый же найденный документ это статья в Википедии).


Анекдот про гениев.

V.R.-богу: - Не умеешь ты сотворять мир. Я придумал гениальный алгоритм, позволяющий сотворить мир за 3 часа.
Бог: - Как это?
V.R.: - Губы раскатал. Сам сотворять буду, никому не скажу.

(через год)
Бог: - Как продвигается сотворение мира? Может, чем помочь?
V.R.: - Эта пустячная задача меня больше не интересует. Сейчас я изобретаю гениальный алгоритм решения задачи коммивояжёра с трудоёмкостью O(1/N)... Хотя тебе не понять...
За это сообщение сказали спасибо: 1Артур

668. jooher, 13.10.2009 23:16
Partisan
Вы не поняли значения выражения "функциональный язык программирования"

У ВР "функциональный" - это тоже титул. Язык который ему нравится (потому что в свое время таки умыкнул где-то книжку Кернигана и Ричи, и видимо с тех пор и стал алгоритмистом всея руси) - только он и достоин почетного титула "язык", и почетного титула "функциональный" - тоже он, и только он (ну там же функции ведь?).

ivanhoe
Если б не Opera Mini, пользоваться было бы невозможно, но даже она не может отобразить все прихоти Ajax-программистов.
Опять все сводится не к языку и его возможностям, а к культуре его применения. А мобилу и чистым хтмлом просадить можно (только методы грубее).

669. dozen, 14.10.2009 07:18
ivanhoe

В отличии от Вас с dozen мы такими каналами (с большими задержками пользуемся).

Так я не понял, ты не согласен, что AJAX позволяет уменьшить трафик?

Вот этот форум возьми (без его текущей оптимизации на JS): что лучше -- на каждый постинг перегружать всю страницу или засабмитить пост AJAX-ом и тут же его (постинг) добавить в DOM?

Добавление от 14.10.2009 07:28:

ivanhoe
Но проблема в том, что кроме деградации процессора и памяти выигрыша нет никакого

Как это нет?! Выигрыш в том, что я свои документы могу обновлять откуда хочешь, с любой машины -- будь это мой десктоп, лэптоп или тачка в офисе. Выигрыш в том, что я могу разделять (share) документы с любым человеком в мире. Выигрыш в автоматическом бэкапе, который делают опытные люди где-то в недрах Google или Zoho.

Этим летом еще одно десктопное приложение (Quicken), которым я пользовался для ведения финансов, приказало долго жить, уступив место http://Wesabe.com (я, вообще, хотел http://Mint.com , но они канадские банки не поддерживают).

В результате мой десктоп превращается просто в запускалку браузера, а значит мне не нужно тратить на него доп.усилий (бэкапить, антивирусить и прочего -- сдохнет, включу другой, и off I go). Коммодизация десктопа.

670. theaspect, 14.10.2009 07:31

671. Vladimir Rybinkin, 14.10.2009 09:03
ivanhoe
цитата:
Ну плохая из жабоскрипта ОС, плохая.
Ну, плохая. А кто хорошая?
цитата:
Во-первых JS это язык совершенно другой
Другой. И что?
цитата:
у него с C общего только синтаксис с фигурными скобками.
Именно это (и ТОЛЬКО это и дает ему право на существование.
цитата:
Итак, проведем сравнение этих языков по пунктам:
Ладно, это требует времени, а у меня его сейчас нет. Дома отвечу в подробностях...
цитата:
Не кажется ли Вам (из этой краткой сравнительной таблицы), что это абсолютно разные языки?
Нет.

Partisan
цитата:
Гений начал как будто опровергать, но закончил тем, что подтвердил. Логика того... гениальная.
В понимании дураков - пожалуй.
цитата:
Но в моём тексте, который опровергал V.R., я обобщил свои наблюдения, не над ним, а над плохими программистами, которые попадались на работе.
Надо понимать, что Вы - хороший программист? Или хотя бы программист?
цитата:
Вы не поняли значения выражения "функциональный язык программирования".
Конечно, конечно. Не фиг трусливо кивать на Вики - своими словами "программист" в состоянии определить термин?

Нет, все - убегаю. Вечером или завтрева отвечу всем.

672. Partisan, 14.10.2009 10:07
Vladimir Rybinkin
Не фиг трусливо кивать на Вики - своими словами "программист" в состоянии определить термин?

Кивание на Вики (а точнее на google) имело другой смысл. У квалифицированного программиста есть привычка искать информацию в интернете. Ему (квалифицированному программисту) это просто необходимо. Поэтому моего намёка было бы вполне достаточно, чтобы найти объяснение самостоятельно.
Приведу пример. К нам на работу хотел устроиться программистом один хмырь (по некоторым приметам - не V.R.). Я спросил его, какие форумы по программированию он обычно просматривает. Ответ был: "На работе у меня интернета нет, а дома у меня другие дела". Отсюда я сразу сделал вывод, что он не программист. Но предложил ему привести примеры его кода. Он привёл... передранные из книжек, и не смог объяснить, как они работают (я смог бы).
(Примечание. У меня на работе тоже нет интернета, но я продолжал искать информацию в интернете, даже и когда был без работы. Обычно я пользуюсь интернетом дома вечером. Сейчас вот болтаю в рабочее время потому, что нахожусь на учебных курсах).

Вот я сделал V.R. довольно толстый намёк - мало того, что это можно найти в интренете, но даже привёл точные слова "функциональный язык программирования", по которым эту информацию надо искать в google. Если это не дошло, значит можно сделать некоторый вывод.
Короче. V.R., вашим типичным пустословием вы не добъётесь, чтобы вас начали принимать за программиста. Надо что-то знать. Пусть немного, но что-нибудь.

673. jooher, 14.10.2009 11:27
dozen
что лучше -- на каждый постинг перегружать всю страницу или засабмитить пост AJAX-ом и тут же его (постинг) добавить в DOM?

Я, кажется, понял, что имеет в виду ivanhoe: если никакая интерактивность не нужна (и на странице нет ни картинок, ни объектов, ни кук, ни подлинкованных css-ов, а чисто хтмл одним куском), то для ее первоначального отображения требуется всего один хттп-запрос. В принципе можно и с картинками и тп. все упаковать в один запрос, (что, видимо, и делает сервер оперы).
А аякс дает возможность (провоцирует) и первоначальный контент подгружать уже после загрузки страницы - дополнительными запросами. И этим собсно и бесит... Хотя, раз уж мы выяснили, что у оперы на сервере держится полноценная сессия с яваскриптом и соответсвенно, эти дополнительные запросы отрабатываются не с мобилы, а с сервера - то это уже вроде как тоже не так страшно становится?

А по интерактивности вообще игнор наблюдается. Для "мобильных пользователей" это видимо не актуально.

674. ivanhoe, 14.10.2009 13:27
Vladimir Rybinkin

цитата:

Ну, плохая. А кто хорошая?
.NET и Java замечательные.

цитата:

Другой. И что?
То что некорректно подходить к JavaScript как к кастрированному C или к C как кастрированному JavaScript.

цитата:

Именно это (и ТОЛЬКО это и дает ему право на существование.
Забавно, Вы считаете что синтаксис все, а семантика ничто? И если в Pascal заменить BEGIN-END на {}, это автоматически даст ему, Pascal, право на существование?

dozen
цитата:

Так я не понял, ты не согласен, что AJAX позволяет уменьшить трафик?
Теоретически допускаю такую возможность. Практически такого не видел ни разу. Обычно у AJAX-приложений и тулкитов стоит задача его увеличить для придания пущей интерактивности. Например же самый gmail он постоянно обращается к серверу, а не пришло письмо, чтоб прямнепременно эту ценную информацию в интерфейсе отразить. AJAX-less почтовый клиент (у меня такой на nichego.net, Communigate Pro) перегружает по моему запросу. По абсолютным значениям получается трафика намного меньше. Я кстати за GPRS/EDGE трафик плачу и не сказать что он совсем прям дешевый.

И вообще я про то, что для сетей с большим откликом часто бывает надо минимизировать кол-во запросов к серверу, не дергая сервер без нужны. AJAX увеличивает кол-во обращений к серверу обычно на порядки.

цитата:

Вот этот форум возьми (без его текущей оптимизации на JS): что лучше -- на каждый постинг перегружать всю страницу или засабмитить пост AJAX-ом и тут же его (постинг) добавить в DOM?
Лучше конечно же перегружать всю страницу. Т.к. "просто добавить в DOM" нельзя, а вдруг еще кто-то что-то написал? Или отредактировал? Получается, надо постоянно состояние записей, а не изменилось ли что? Сложная логика (придется изобретать протокол синхронизации), хуже переносимость.

цитата:

Как это нет?! Выигрыш в том, что я свои документы могу обновлять откуда хочешь, с любой машины -- будь это мой десктоп, лэптоп или тачка в офисе. Выигрыш в том, что я могу разделять (share) документы с любым человеком в мире. Выигрыш в автоматическом бэкапе, который делают опытные люди где-то в недрах Google или Zoho.
Откуда угодно не сможешь (с куцего мобильного клиента например). Чтобы можно было действительно откуда угодно, для этого существует Wiki. А если тебе нужен именно полноценный Offfice и пр., существует Lotus Notes (уж на что я его ругал, но он в тыщу раз удобнее web-офисной хрени), он именно эту задачу и решает, с любого Lotus-клиента ты можешь поредактировать что угодно в общей базе на что есть права. И работает в корпоративных IP-сетях без выхода в Интернет.

Ну и, опять таки, ничто (кроме идиотских амбиций) не мешало гуглу и зохо делать то же самое через апплеты и двигать аплеты, а не JS.

цитата:

Этим летом еще одно десктопное приложение (Quicken), которым я пользовался для ведения финансов, приказало долго жить, уступив место http://Wesabe.com (я, вообще, хотел http://Mint.com , но они канадские банки не поддерживают).
Забавно, я свое написал сам на OCaml. CLI-интерфейс, живет в карманном компьютере. Тоже всегда при мне и данные кому не надо не уйдут.

цитата:
Коммодизация десктопа.
Тут я за. Но за .NET или Java.

P.S. Вот, кстати, а где в Web-офисах OLE? Вот скажем хочу я вставить Google-spreadsheet в Zoho-презентацию и сделать это привычным образом - перетаскиванием объекта мышью, как с этим обстоят дела? Не говоря уже о расширяемости всего этого добра.
P.P.S. Работая в офисах, у меня весь процесс создания документа (и у других нормальных людей) построен на использовании правой кнопки мыши. В Web-офисах от этого надо отказаться. Это [censored] удобству и привычной работе.

jooher

цитата:
Я, кажется, понял, что имеет в виду ivanhoe: если никакая интерактивность не нужна (и на странице нет ни картинок, ни объектов, ни кук, ни подлинкованных css-ов, а чисто хтмл одним куском), то для ее первоначального отображения требуется всего один хттп-запрос. В принципе можно и с картинками и тп. все упаковать в один запрос, (что, видимо, и делает сервер оперы).
Да, все правильно.

цитата:

А по интерактивности вообще игнор наблюдается. Для "мобильных пользователей" это видимо не актуально.
Интерактивность вообще актуальна. Для нее есть MIDP и нативные приложения. Интерактивность в Web не нужна мобильному пользователю категорически. (Примечание: широкополосных мобильных пользователей это не касается, конечно, но реальность такова, что широкополосным доступом покрыты только мегаполисы самых развитых стран... и то не всегда и не везде).

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

675. SERGEY_BIG, 14.10.2009 14:09
Vladimir Rybinkin
у него с C общего только синтаксис с фигурными скобками.
Именно это (и ТОЛЬКО это и дает ему право на существование.

Жжошь, сцуко!

676. dozen, 14.10.2009 16:26
ivanhoe
Лучше конечно же перегружать всю страницу. Т.к. "просто добавить в DOM" нельзя, а вдруг еще кто-то что-то написал?

См. http://StackOverflow.com -- пока пишешь сообщение, часто появляется "кто-то добавил ответ, показать?". Нажимаешь "показать" -- ответ добавляется в список в нужном порядке.

В общем, как любой тул, AJAX может быть used и abused. Ты (ввиду природного пессимизма, наверное) фокусируешься на негативе. Я -- на позитивных возможностях.

Добавление от 14.10.2009 16:30:

ivanhoe
Забавно, я свое написал сам на OCaml.

Респект и все дела. Я тоже подумывал, и даже прототип набросал. Но в какой-то момент понял, что мне приложение нужно, чтобы разгрузить меня от кропотливой работы (ведение финансов), а не нагрузить новой (развитием, бэкапами и багфиксингом приложения). Поэтому я переложил всю работу на коллектив Wesabe, а сам ограничиваюсь выдачей им feature requests.

Что касается данных, ну, в худшем случае кто-то узнает, сколько я плачу в месяц за машину. Я и так это могу сказать -- всё про всё штука баксов.

Добавление от 14.10.2009 16:32:

ivanhoe

Вот скажем хочу я вставить Google-spreadsheet в Zoho-презентацию и сделать это привычным образом - перетаскиванием объекта мышью, как с этим обстоят дела?

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

677. Vladimir Rybinkin, 14.10.2009 17:20
ivanhoe
цитата:
Медленность отклика не обязательно означает медленность передачи данных.
И к чему сия гениальная фраза?
цитата:
В таких сетях скачать один раз 100 килобайт примерно в 100 раз быстрее чем 100 раз по 1 килобайту.
Серьезно? А почему, батенька? Пакеты быстрее (толще) по сетям побегут? ПРИ ЧЕМ ЗДЕСЬ ВАЩЕ AJAX?! К тому же, пусть даже быстрее: уже после первого килобайта юзер может спокойно работать. А комп, в свободное от работы время, закачает остальное. Кроме того, мой test4 весит одну не самую большую страничку. А виртуальных страниц там огромные тыщи. Тест3, как я считал, даже без фильтров весит около 30 байт на страницу. Куда уж легче?
цитата:
Opera Mini как раз и превращает 100 транкций по 1 Кб в 1 транзакцию по 100
Это проблемы AJAX! ЧАСТНЫЕ проблемы, ничего общего с идеологией не имеющие. Удобнее ей ТАКИЕ транзакции (по ЛЮБЫМ соображениям) - флаг ей в руки. Юзер здесь при чем? Ресурсы здесь при чем?
цитата:
И возможно появятся запросы типа MGET / HTTP/x.y (скачать рекурсивно весь сайт, результат в MIME/multipart)
А зачем, сударь? А даже если и так, кто мешает сделать это через AJAX? Траффик же уменьшится В РАЗЫ!
цитата:
Google и Amazon может и будут. Все сайты точно не будут.
Ну и что? Что за очередные проблемы опять выкапываются на ровном месте?!
цитата:
С точки зрения семантики мне JS всегда напоминал смесь Smalltalk и Scheme.
Семантики?! Какой такой "семантики"?!
цитата:
Итак, проведем сравнение этих языков по пунктам:
Угу, проведем...
цитата:
Типизация Статическая Динамическая
Какая, в задницу, "типизация", если там кроме идиотского var ни хрена нет?
цитата:
Исключения Нет Да
Дополнительный довод в пользу С. Я в свое время довольно долго обсуждал здесь эти исключения, и пришел к четкому выводу: они придуманы ДЕБИЛОМ. Можете покопаться в архивах, если интересно. Что-то вроде: "Ужас! Завязывайте вы с этими исключениями"!
цитата:
Поддержка ООП Нет Есть
ООП в понимании Страуструпа? Это не ООП, это порнография. Программирование в объектах и событиях на ЧИСТЕЙШЕМ С возможно. И не просто возможно - никакому языку и не снилась такая функциональность. Метод и функция синонимы - куда уж дальше? Детский сад! И это уе..ще Вы считаете ООП? Считаете это ПЛЮСОМ по сравнению с С?! Или там плюс-плюсом?
цитата:
Поддержка ФП Нет Да (анонимные функции это лямбда-выражения)
Что это за бред - не знаю. Но полагаю, что еще более глупая вещь, чем "ООП" вне идеологии Маккарти. Все эти "мудреные" словечки, лямбда-анонимы, сами по себе достаточно красноречивы. Если кто-то будет этот самый ФП защищать - вэлкам. Попробуем размазать по стенке (токо объясните на пальцах предварительно, что именно мазать ).
цитата:
Адресная арифметика Да Нет
Во! Язык без указателей есть дерьмо. Если бы не eval, который можно рассматривать как аналог указателя... см. мои начальные постинги в этой ветке.
цитата:
Управление памятью Ручное Сборка мусора
Гениальность K&R, в частности, и в том, что они даже printf из языка выбросили. А здесь что, даже уборка мусора в языке?!
цитата:
Во-вторых я имел в виду не спецификации на сам JS (хотя она тоже не такая маленькая - почти 200 страниц), а на поведение JS в браузере. То есть документы типа DOM Core Specifications.
На помойку! И спецификацию в 200 страниц (красная цена пара-тройка), и тем более DOM. Кому он нужен? Какое отношение имеет сраная спецификация сраного DOM к языку программирования?!
цитата:
Opera Mini, карты, почта, программы для чтения электронных книг и пр. - этим я лично пользуюсь на телефоне.
Чего?! Opera Mini, наскоко я понимаю, и есть броузер. Все остальное броузеру также под силу. В чем опять проблемы-то?! Куда ни плюнь - полнейшая беспомощность...
цитата:
Аналогичные JS-приложения (на примере карт и почты) телефонные браузеры не выдерживают.
JS-то здесь при чем? Вопрос к криворуким девелоперам - говорил ужо. Не раз.
цитата:
В отличии от Вас с dozen мы такими каналами (с большими задержками пользуемся). Если б не Opera Mini, пользоваться было бы невозможно, но даже она не может отобразить все прихоти Ajax-программистов. А вы нам пытаетесь рассказывать про "вкус устриц", которые мы "ели", а вы - нет.
Да, не ел. И не собираюсь - только один Вы рассказали достаточно, чтобы понять: не следует путать устриц с дерьмом. AJAX в нынешнем виде, бесспорно, ублюдок. Создатели ваще не понимают, что они сделали, и на фиг он нужен. Но это ведь ОНИ дураки, а вовсе не идеология. Мозги малек включить - и получится вполне себе конфетка. Нынешние программеры, разумеется, растянут это дело лет на 50, после чего благополучно утопят в своей навозной жиже. Единственное, что нужно юзеру - вышвырнуть на хрен всю их бездарную математику вместе с ними с клиента. И все проблемы исчезнут сами собой.
цитата:
Выкладывайте пожалуйста свои тесты на Web-сайт, а не в виде непонятных аттачей, тогда проверю. Свободных хостингов сейчас по-моему навалом. У меня сейчас совершенно нет времени делать это самому.
Ха-ха-ха! Еще одна иллюстрация полнейшей беспомощности "Мерседесов". Какая, в зопу разница?! Для того, чтобы отобразить страницу, обязательно нужно УЖЕ ЛЕЖАЩИЕ НА КОМПЕ данные зашвырнуть куда подальше? Вот объясните мне, дураку: что это за идиотизм?! И, кстати: а что, при проверке тест4 Вы ЭТО проделывали?! И скоко ж времени требуется, чтобы проделать?!

jooher
цитата:
ну там же функции ведь?
Я всегда говорил: хочешь узнать, есть ли у человека мозги - посмотри, как он шутит.

dozen
цитата:
Вот этот форум возьми (без его текущей оптимизации на JS): что лучше -- на каждый постинг перегружать всю страницу или засабмитить пост AJAX-ом и тут же его (постинг) добавить в DOM?
Лучше переГЕНЕРИТЬ всю страницу, послав на хрен DOM.

Partisan
цитата:
Кивание на Вики (а точнее на google) имело другой смысл.
Я тыщу лет знаю все эти "смыслы". Итак, кроме болтовни ни о чем Вы на что-нить способны (Y/N)?

ivanhoe
цитата:
.NET и Java замечательные.
Как ОС? И чем же?
цитата:
То что некорректно подходить к JavaScript как к кастрированному C или к C как кастрированному JavaScript.
В чем же "некорректность"? Я свои доводы изложил...
цитата:
Забавно, Вы считаете что синтаксис все, а семантика ничто? И если в Pascal заменить BEGIN-END на {}, это автоматически даст ему, Pascal, право на существование?
Не надо передергивать, да еще так глупо. Про какую такую "семантику" Вы говорите?
цитата:
Лучше конечно же перегружать всю страницу. Т.к. "просто добавить в DOM" нельзя, а вдруг еще кто-то что-то написал? Или отредактировал? Получается, надо постоянно состояние записей, а не изменилось ли что? Сложная логика (придется изобретать протокол синхронизации), хуже переносимость.
О-хо-хо... Опять сплошные проблемы в песочнице...
цитата:
Ну и, опять таки, ничто (кроме идиотских амбиций) не мешало гуглу и зохо делать то же самое через апплеты и двигать аплеты, а не JS.
Апплеты ХУЖЕ JS. Когда-то подробно объяснялось - почему.
цитата:
Да, все правильно.
Кастрация возможностей клиента - да, все правильно.
цитата:
Интерактивность в Web не нужна мобильному пользователю категорически.
Ха-ха-ха! За что же так бедного юзера? Или Вы и есть единственный мобильный юзер?

Провокационное пвоедение, безосновательные утвердения.

678. jooher, 14.10.2009 18:31
Vladimir Rybinkin

Просто сказать "Рыбинкин жжот" - это будет пошлость.

Скучная дискуссия о предпочтениях "нравится аякс или не нравится" не могла бы столько времени тянуться без твоего каталитического таланта Вот кому книжки то надо писать... Или шоу вести в телевизоре

679. dozen, 14.10.2009 18:38
Vladimir Rybinkin

А здесь что, даже уборка мусора в языке?!

До жирафа дошло! А что, ты всё это время free() в JS искал?

680. jooher, 14.10.2009 18:40
Vladimir Rybinkin
(анонимные функции это лямбда-выражения)
Что это за бред - не знаю. Но полагаю, что еще более глупая вещь, чем "ООП" вне идеологии Маккарти. Все эти "мудреные" словечки, лямбда-анонимы, сами по себе достаточно красноречивы.


Ты какого Маккарти то все время поминаешь, дурик? Того, который лисп изобрел?

Добавление от 14.10.2009 18:43:

dozen
До жирафа дошло!

ну конечно, дошло Ты вот его спроси, что он понял под "мусором"....

Добавление от 14.10.2009 18:49:

Vladimir Rybinkin
Я всегда говорил: хочешь узнать, есть ли у человека мозги - посмотри, как он шутит.

Да нет, гораздо интересней смотреть что он пишет на полно серьезе

Добавление от 14.10.2009 18:52:

Vladimir Rybinkin
Апплеты ХУЖЕ JS. Когда-то подробно объяснялось - почему.

Тобой? Дайте, дайте мне эту ссылку!!!

681. Partisan, 14.10.2009 19:50
Vladimir Rybinkin
Я тыщу лет знаю все эти "смыслы". Итак, кроме болтовни ни о чем Вы на что-нить способны (Y/N)?

Вы сами напросились. Приходится отметить факт: имеется брехня, автор - Vladimir Rybinkin.
Вы не знаете "все эти смыслы" не только тысячу лет, но и ни одного дня (раз, вопреки "всем этим смыслам" назвали С "функциональным языком", а JavaScript в вашем представлении это "упрощённый C", что невозможно, т.к. в JavaScript есть элементы функционального программирования, а в C нету).

682. dozen, 14.10.2009 21:20
jooher
Ты вот его спроси, что он понял под "мусором"....

Я, наверное, становлюсь мудрее, и начинаю избегать прямого общения с ... в общем, я лучше умных людей почитаю.

683. theaspect, 14.10.2009 23:50
Vladimir Rybinkin
если апплеты хуже purejs, то почему же сейчас они возвращаются? в лице silverlight от ms, air от adobe и javaFX от san? небось не от хорошей жизни, да и 'функциональности' в жабоскрипте не хватает для того чтобы пользователь 'писался от радости' или во всех трех компаниях сидят бездельники

Добавление от 15.10.2009 00:01:

как пользователь gprs могу сказать что latency порой достигала полутора секунд отсюда следует простая арифметика:
установление соединения 1,5 сек, передача данных 5 кб сек.
дальше простая арифметика:
для разовой передачи 100кб потребуется 1.5сек+100/5 = 21.5
а для того чтобы 100 раз обменяться килобайтом уйдет
100*(1.5+1/5)=170 секунд
nuff said

Добавление от 15.10.2009 00:06:

про гугл и амазон:
проблемы на ровном месте не выкапываются, просто у них есть огромные облака, новое слово в утоньшении клиентов, но это решение для богатых. бедные клиента стараются утолщить

Добавление от 15.10.2009 00:12:

лучше перегенерить всю страницу:
это у вас тысячи виртуальных страниц по 30байт, а если страница одна и весит она мегабайты? накладно получатся постоянная перегенерация, особенно в случае активного обсуждения на том же stackoverflow, сильно легче передать пару килобайт и вставить в нужное место ДОМом

Добавление от 15.10.2009 00:18:

в чем же некорректность?
вам изложили пол дюжины ключевых различий.
а ваша аргументация:
блоки {} vs {}
указатели * & vs eval()
вывод: да это практически одно и то же - вызывает смех

Добавление от 15.10.2009 00:19:

и да, я тоже мобильный пользователь

684. dozen, 15.10.2009 01:05
theaspect

для разовой передачи 100кб потребуется 1.5сек+100/5 = 21.5
а для того чтобы 100 раз обменяться килобайтом уйдет
100*(1.5+1/5)=170 секунд
nuff said


расчет неправильный.

100кб -- начальная загрузка страницы форума
1 кб -- пост всяких глупостей
101кб - загрузка обновленной страницы форума
итого 1.5+21+1.5+0.3+21 = 45.3 с

то же с ajax:

100 кб -- начальная загрузка
1 кб -- пост
3 кб -- новые ответы вместе с подверждением поста
итого 1.5+21+1.5+1 = 25 с

то почему же сейчас они возвращаются? в лице silverlight от ms, air от adobe и javaFX от san?

не всегда возможностей JS хватает. но приложений, где достаточно JS -- существенно больше. и доля их станет еще больше, когда появится Canvas. а почему MS, Sun и Adobe пытаются пропихнуть свои проприетарные технологии на просторы интернета -- ну, подумай сам.

685. moderator-Kid, 15.10.2009 08:35
Если кто-то будет этот самый ФП защищать - вэлкам. Попробуем размазать по стенке
Иван, об одном прошу - только без смертоубийства.

Vladimir Rybinkin
Владимир, я же просил Вас придерживать коней. Что ж Вам так неймется-то так. Уже целый букет штрафных баллов собрали. Ведь отключит Вас суровый автомат, и лишитесь возможности делиться своими идеями...

686. jooher, 15.10.2009 11:52
dozen
то же с ajax:

100 кб -- начальная загрузка
1 кб -- пост
...


Дело в том, что с аяксом первоначальная загрузка врядли будет просто 100 кб. Скорее, что-то вроде 20кб + 15кб + 2кб + 5кб + 1кб... в сумме может быть, например 50кб, но запросов м.б. например десяток.

Интерактив с аяксом легче чем без, но статика легче (не по трафику, но по числу запросов) все же без аякса.

Добавление от 15.10.2009 12:09:

И такой еще момент. Интерактив мобильного клиента сильно ограничен - это либо тыкание стилуса, либо цифры (тексты на мобильнике набирать - удел сильных духом).

Итого, в лице мобильного пользователя мы имеем:

1. На порядки более слабые мощи
2. На порядки худшие каналы
3. В разы меньшие экраны
4. Совершенно другую модель интерактива и предпочтений

Какой смысл пытаться совмещать в одном документе два противоположных набора требований?

687. zzf, 15.10.2009 12:46
moderator-Kid
Ведь отключит Вас суровый автомат

автомат Калашникова?

688. dozen, 15.10.2009 15:55
jooher

Дело в том, что с аяксом первоначальная загрузка врядли будет просто 100 кб. Скорее, что-то вроде 20кб + 15кб + 2кб + 5кб + 1кб...

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

Итого, в лице мобильного пользователя мы имеем:
1. На порядки более слабые мощи
2. На порядки худшие каналы
3. В разы меньшие экраны
4. Совершенно другую модель интерактива и предпочтений


Я на своём iPhone пожалуй, только п.3 ощущаю. Так что мимо. А щас вот еще Apple tablet выйдет...

689. blackhearted, 15.10.2009 16:33
Лично меня позабавила фраза
цитата:
Какое отношение имеет сраная спецификация сраного DOM к языку программирования?!
,а именно её часть про сраный DOM.
Я бы посмотрел как справился МАСТЕР со своей сложнейшей задачей без этой индусской поделки.

690. jooher, 15.10.2009 16:50
dozen
Но мы-то возможности технологии обсуждаем, а не персоналии, да?

Я так понимаю, что давно уже нет Со стороны мобильных пользователей претензии именно к тому, что аякс позволяет делать, и как этим пользуются. А если что-то прекрасно грузится напрямую - зачем там вообще тогда аякс? А если хочется, чтобы один и тот же результат можно было получить и серверсайдом и аяксом - то это двойная работа.
Если исходить из твоего примера с форумом: имеющиеся посты придется оборачивать в маркап на сервере (средствами php, например), а свежевведенные - на клиенте яваскриптом. То есть работу все равно двойную делать, еще и башку напрягать чтобы и пхп и яваскрипт одинаковый маркап выдавали.(можно конечно и изначальные данные передавать в виде яваскрипта - как ВР и Gmail - но это тоже повод мобильным фундаменталистам)
А можно сразу честно разделить - вот ssi страничка для мобил (с простым одномерным лэйаутом, крупными буквами и без лишних наворотов), а вот нормальная страница для нормального компа с большим экраном, йцукенг-клавиатурой, кабелем и анлимом.


А щас вот еще Apple tablet выйдет...

Ну нокии то от этого никуда не денутся в Африке и Дагестане А речь то как раз об них, болезных

691. dozen, 15.10.2009 17:29
jooher

Со стороны мобильных пользователей претензии именно к тому, что аякс позволяет делать, и как этим пользуются.

Ну тогда пусть не формулируют это как претензию к технологии, а называют адреса и фамилии. А то какой-нибудь ВР на Haskell тупую кривую поделку напишет, и что -- Haskell отныне в black list?

А если что-то прекрасно грузится напрямую - зачем там вообще тогда аякс?

Cм. мой пример с форумом еще раз. И зачем, и как.

А если хочется, чтобы один и тот же результат можно было получить и серверсайдом и аяксом - то это двойная работа.

Мне? Не хочется. Я за полноценную поддержку AJAX в каждом браузере. Кто не поддерживает -- пусть не называется браузером.

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

Можешь не делать, никто не заставляет. Но Mint.com (который весь на AJAX) был продан Intuit за 140 млн баксов, а собственный сервис самого Intuit с той же И ДАЖЕ ЛУЧШЕЙ функциональностью был заброшен, ибо все юзвери как мухи липли на mint.com. Почему? А потому что mint.com "отзывчивый" (ajax же), а quicken online странички перегружает на каждый чих.

Втыкай в цифру 140 млн пока не просветлеет, что по всем пунктам (надежность компании, функциональность, интеграция с существующими приложениями, ... ) Intuit вроде как лидер, а одна маленькая деталь -- отзывчивость и простота интерфейса -- перевесила все эти выгоды. Mint со своим Ajax сделал то, чего не смогла сделать Microsoft (которая недавно закрыла проект Microsoft Money, так и не сумев вытеснить Quicken).

А можно сразу честно разделить - вот ssi страничка для мобил

Надо -- дели. Интересно, каков процент покупок, совершаемых с мобильников в среднем? Есть мысль, что невелик -- кредитку неудобно вводить...

692. jooher, 15.10.2009 17:53
dozen
Можешь не делать, никто не заставляет.

Я и не делаю Спор то о чем? ЕСЛИ интересна публика с мобилами - то НАДО ЛИ под них прогибаться в основном дизайне и отказываться от js, аякса, CSS3 и прочих благ цивилизации? Или - достаточно вежливо предоставить им урезанную вап-версию типа "не ипите мозг, вот вам телефон и цены, за подробной информацией просим на наш нормальный сайт". ivanhoe видимо за первый вариант, я за второй. А ты, видимо, за вариант "у меня айфон мне пох"

Я за полноценную поддержку AJAX в каждом браузере. Кто не поддерживает -- пусть не называется браузером.

Да кто ж против-то? Однако ж, если фанатов ИЕ5 или nosript можно смело посылать в лес, то о миллионах владельцев смарфонов по 200 уе я бы так не сказал. Может, и не СЕГМЕНТИЩЕ, но в каких-то областях вполне заслуживают внимания. Что бы там браузером ни называлось.


Интересно, каков процент покупок, совершаемых с мобильников в среднем? Есть мысль, что невелик -- кредитку неудобно вводить...

А в странах развитого капитализма не практикуются еще привязки телефонов к кредиткам?

693. dozen, 15.10.2009 17:57
jooher

А в странах развитого капитализма не практикуются еще привязки телефонов к кредиткам?

Я о таком не слышал. Была некоторое время назад движуха выдать всем маленький брелок -- подносишь к кассе, нажал кнопочку -- заплатил. Но как-то заглохла. А телефон... не. Не припоминаю такого. Да и это надо целую инфраструктуру поднимать, а у VISA и так всё плохо с финансами -- много невозвратов.

Добавление от 15.10.2009 17:59:

jooher
А ты, видимо, за вариант "у меня айфон мне пох"

Я за вариант "пока не будет вала платежей с телефонов, тратить деньги на их особую поддержку экономически неоправдано".

694. jooher, 15.10.2009 18:20
dozen
пока не будет вала платежей с телефонов

Не знаю как у вас, но у нас по телику наверно процентов 20-30% рекламы (включая центральные каналы, не говоря уже о всякой мелочи) - типа такой: "отправь смс на номер 1234 и получи голую бабу на свой экранчик". Реально запарила эта реклама. Расценки на ТВ-рекламу представляешь наверно?
Понятно, что автомобили по телефону не скоро еще покупать будут, но оч многие вещи - вполне кандидаты на продажу через мобилу. Если еще и платежную аутентикацию по телефону сделают - вообще будет суперская аудитория.

695. dozen, 15.10.2009 18:29
jooher

Не знаю как у вас, но у нас по телику наверно процентов 20-30% рекламы (включая центральные каналы, не говоря уже о всякой мелочи) - типа такой: "отправь смс на номер 1234 и получи голую бабу на свой экранчик".

Такая хрень есть, но ооооооочень ограниченно. Затрудняюсь сказать, почему. Скорее всего, какой-нибудь закон.

Если еще и платежную аутентикацию по телефону сделают - вообще будет суперская аудитория.

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

Я думаю, проблема не техническая. Я вот лично обладаю крупным экраном телефона. Но купил ли я чего с него? Нет (кроме прикладух с Apple Store). Почему? А потому что не видно нифига! Я ж люблю фотки порассматривать, с десяти ракурсов, и на весь 22" экран! Поэтому, насмотря на то что найти я что-то могу и на iPhone, покупать я это буду вдумчиво с компьютера.

696. jooher, 15.10.2009 18:43
dozen
А потому что не видно нифига! Я ж люблю фотки порассматривать, с десяти ракурсов, и на весь 22" экран!

Ну вот надумал ты купить билет на паровоз. Или очередного Гарри Поттера. Или кредит взять. Или тьфутьфутьфу заднее крыло. И чтоб сегодня же....


Технически-то несложно, в принципе... специальный контрол, который браузер телефона будет распознавать,

Технически сложностей тут никаких вообще нет. Сложность в том, что какому-нибудь ООО "БИТ" никто свои кредитки не доверит. Надо чтобы этим занялись сами Билайн/МТС. Ну или банки сами. К чему никаких препятствий вроде бы и нету.

697. ivanhoe, 15.10.2009 18:45
dozen

цитата:

Дело в том, что с аяксом первоначальная загрузка врядли будет просто 100 кб. Скорее, что-то вроде 20кб + 15кб + 2кб + 5кб + 1кб...
Это высосано из пальца. Никаких причин этого, кроме субьективных (кто-то слишком увлекся аджаксом, и стал грузить им даже то, что прекрасно грузится напрямую) -- не существует. Но мы-то возможности технологии обсуждаем, а не персоналии, да?
Причины есть и объективные. Например, к такому поведению может вынуждать сам Ajax-тулкит. По-моему, они все так и делают. А тулкиты не каждый программист сам пишет, однако.

Кроме того, ты не учитываешь в своем примере с форумом постоянный поллинг сервера Ajax-клиентом. Он тоже съедает прилично трафика и дико раздражает мобильного пользователя сам по себе.

цитата:
не всегда возможностей JS хватает. но приложений, где достаточно JS -- существенно больше. и доля их станет еще больше, когда появится Canvas. а почему MS, Sun и Adobe пытаются пропихнуть свои проприетарные технологии на просторы интернета -- ну, подумай сам.
Не очень понятно, почему это Applets/SilverLight/ActionScript более проприетарные чем Ajax. Ну в любом случае каждый проталкивает свое чтоб заработать бабла, это какбэ очевидно. Только проталкиватели Ajax вносят больше неудобств в мою жизнь чем остальные и получаются у них невразумительные кривулины с неуемными требованиями к железу и ОС. А на Java applets есть вполне быстрые, удобные и функциональные продукты, работающие даже на железе 10-летней давности.

цитата:
А потому что mint.com "отзывчивый" (ajax же), а quicken online странички перегружает на каждый чих.
Сделали бы на Аплетах/Air/SilverLight было бы еще отзывчевее и красивее.

698. jooher, 15.10.2009 18:58
ivanhoe
Только проталкиватели Ajax вносят больше неудобств в мою жизнь чем остальные и получаются у них невразумительные кривулины с неуемными требованиями к железу и ОС.
Нет никаких объективных причин не писать неуемные кривулины в виде апплетов, сильверлайтов и флэшек. Меньше их только потому, что для их разработки все-таки нужно либо нанимать какого-никакого программера, или по крайней мере authoring tools покупать за деньги, вполне заметные для физлица. А чтобы присобачить к хтмлу jQuery - фэйдов , которые будут выглядеть не хуже - ума особого не нужно. Вот оно и плодится.

Добавление от 15.10.2009 18:59:

ivanhoe
Сделали бы на Аплетах/Air/SilverLight было бы еще отзывчевее и красивее.

Однак ж не сделали. Но все равно продали

Добавление от 15.10.2009 19:09:

И кстати имею встречную претензию к флэшам/сильверлайтам. Флэш со среднего размера гридами прекрасно просаживает не то что телефоны, но и бюджетные лаптопы. Также как и ява приложения с нормальным UI. (например OpenOffice на моем старом dell на Pentium M 2ггц меня здорово нервировал). Может, исполнение js-кода и не так быстро как ява, но тексты/таблицы браузер показывает сильно лучше на мое имхо.

699. ivanhoe, 15.10.2009 19:10
dozen

цитата:

Вот скажем хочу я вставить Google-spreadsheet в Zoho-презентацию и сделать это привычным образом - перетаскиванием объекта мышью, как с этим обстоят дела?
Хз, я этим и в офисах не (зло)употреблял. По-моему, это вредная фича. Ну, наверное, введя IFRAME и вставив туда линк -- должно работать... не знаю, заморачивается ли кто.
По-моему фича крайне полезная. Separation of concerns в чистом виде: текстовый процессор отвечает за форматирование и текст, графредактор отвечает за рисование картинок, электронная таблица за таблицы и т.д.. Благодаря OLE вставляем любые картинки и таблицы в любой документ. Что вредного то?

Добавление от 15.10.2009 19:24:

jooher

цитата:
например OpenOffice на моем старом dell на Pentium M 2ггц меня здорово нервировал
ОО вообще-то на плюсах написан и без жабы вполне себе жизнеспособен. И это видимо старая версия была, сейчас он вполне даже шустр и становится от версии к версии еще лучше.

А как на этом нотебуке поживают Web-офисы? :>

Добавление от 15.10.2009 19:45:

Vladimir Rybinkin

цитата:

Семантики?! Какой такой "семантики"?!
...
Какая, в задницу, "типизация", если там кроме идиотского var ни хрена нет?
...
Я в свое время довольно долго обсуждал здесь эти исключения, и пришел к четкому выводу: они придуманы ДЕБИЛОМ.
...
Что это за бред - не знаю. Но полагаю, что еще более глупая вещь, чем "ООП" вне идеологии Маккарти. Все эти "мудреные" словечки, лямбда-анонимы, сами по себе достаточно красноречивы. Если кто-то будет этот самый ФП защищать - вэлкам. Попробуем размазать по стенке (токо объясните на пальцах предварительно, что именно мазать ).
...
Гениальность K&R, в частности, и в том, что они даже printf из языка выбросили. А здесь что, даже уборка мусора в языке?!
...
На помойку! И спецификацию в 200 страниц (красная цена пара-тройка), и тем более DOM. Кому он нужен? Какое отношение имеет сраная спецификация сраного DOM к языку программирования?!
Я сдаюсь. На таком уровне дискутировать я не в силах.

700. dozen, 15.10.2009 19:57
jooher

надумал ты купить билет на паровоз. Или очередного Гарри Поттера. Или кредит взять. Или тьфутьфутьфу заднее крыло.

Покупал всё вышеперечисленное (кроме Поттера -- после истории со словарём испытываю к жадной мадам отвращение). Все -- с монитора, а не с телефона. Ну, комфортнее там.

ООО "БИТ" никто свои кредитки не доверит.

Забавно, но это было основным возражением, когда mint.com искал инвесторов. "Какой :%№%№ доверит какому-то стартапу свои пароли к онлайн-банкингу?!?!". Заметь -- даже не кредитку. Потерять кредитку -- это не проблема вообще, у владельца zero liability, то есть все левые покупки покрывает VISA или AMEX. А вот отдать пароль к банку... блин... я вот так и не отдал -- руками переношу свои, блин, 7 или 8 счетов в Wesabe. Но полмиллиона человек -- ОТДАЛИ!

Короче, не всё так однозначно в онлайн-платежах, как говорит нам здравый смысл.

Добавление от 15.10.2009 20:15:

ivanhoe

Например, к такому поведению может вынуждать сам Ajax-тулкит. По-моему, они все так и делают.

Нет, не делают. GWT, например, встраивается в существующий HTML. Конечно, я, как программаст, могу использовать пустой HTML, и загружать тексты и изображения динамически. Но это будет проблема моей дурной головы -- мало того, что это неэффективно по траффику, это также неэффективно по моему рабочему времени, и по SEO.

ты не учитываешь в своем примере с форумом постоянный поллинг сервера Ajax-клиентом

А его в моём примере и нет. Загрузка новых сообщений происходит только при отправке постинга. Можно добавить и кнопочку Refresh для AJAX-проверки на новые сообщения.

Поллинг -- это уже nice-to-have feature, направленная на повышение cool factor. То есть осознанно отбрасывается concern по поводу трафика в угоду отзывчивости интерфейса. Ну так это не проблема AJAX, это архитектурный выбор, явный или неявный.

Только проталкиватели Ajax вносят больше неудобств в мою жизнь чем остальные

Ась? У тебя на мобильнике или Lynx уже заработал Flex? Air? JavaFX?

Не очень понятно, почему это Applets/SilverLight/ActionScript более проприетарные чем Ajax.

По первому -- см. спор MS vs Sun.
По второму -- ... ну, даже не знаю, что сказать.
По третьему -- ... формат (в целом) известен, а вот тул для его создания и плейер -- проприетарный. Есть open source complier, AFAIR, но он не всегда работал

Сделали бы на Аплетах/Air/SilverLight было бы еще отзывчевее и красивее.

Я думаю, есть проблема с рабочей силой. Количество взаимозаменяемых грамотных спецов по Air, Flex и SL в разы меньше, чем таковых по JS и AJAX -- просто ввиду открытости и простоты последних.

По-моему фича крайне полезная. Separation of concerns в чистом виде: текстовый процессор отвечает за форматирование и текст, графредактор отвечает за рисование картинок, электронная таблица за таблицы и т.д.. Благодаря OLE вставляем любые картинки и таблицы в любой документ. Что вредного то?

Может быть. Однако у одного крупного клиента в полиси по пересылке документов указывалось, что embedded documents не рекомендуются.

ОО вообще-то на плюсах написан и без жабы вполне себе жизнеспособен. А как на этом нотебуке поживают Web-офисы? :>

У меня стоит OO. Я его использую в одном исключительном случае -- когда надо послать резюме в Word клиенту/агенту. Да и то просто руки пока не дошли опубликовать как Google Doc и посылать просто ссылку на "download as Word"...

Я сдаюсь. На таком уровне дискутировать я не в силах.

Слабак! Никто не тянет супротив Мастера!

701. jooher, 15.10.2009 21:05
ivanhoe
ты не учитываешь в своем примере с форумом постоянный поллинг сервера Ajax-клиентом

А уж поллинг то чем напрягает? Сколько там трафика то накапает с GET запросов раз в 10-20 секунд? И реалтайм там не нужен. Асинхронные запросы крутятся себе и крутятся - работать то не мешают...

Добавление от 15.10.2009 21:16:

dozen
А вот отдать пароль к банку... блин...

А у нас есть всякие яндексмани, вебмани, мэйлрумани, .... ....., даже вконтактемани. Не вопрос наверно и ихбтмани замутить
И я думаю, у них должны быть достаточно удобные телефонные платежные интерфейсы... вобщем есть смысл не игнорировать человеков с мобилой.

702. dozen, 15.10.2009 21:56
jooher
А у нас есть всякие яндексмани, вебмани, мэйлрумани, .... ....., даже вконтактемани. Не вопрос наверно и ихбтмани замутить

Видишь, ли... мой landlord не принимает платежей за квартиру с Paypal. Чек ему нужен. И в магазине я Paypal расплатиться не могу. Только дебеткой или кредиткой. И за школу через веб не заплатить. И налоги плачу чеком или банковским переводом.

Короче, существующая инфраструктура не поддерживает online payment systems. Более того, она им всячески сопротивляется, поскольку владельцы у них -- разные. Так что не жди в ближайшее время.

703. jooher, 15.10.2009 22:26
dozen
Видишь, ли...
Значит, в России с этим лучше, чем в Канаде. Я например, яндексманями пользуюсь довольно активно. Оч удобно. Правда, не по тем статьям, которые ты перечислил...

Более того, она им всячески сопротивляется
Думаю, кризис отучит сопротивляться удобным платежным схемам

Так что не жди в ближайшее время.
Зря ты. Яндекс с многими банками уже на более чем приемлемых условиях баблообмен производит. То есть понятно, что на штаны без карманов переходить рано, но человеки со смартфонами - контингент прогрессивный, и думаю ivanhoe имеет заначку в яндексманях и пользуется ей регулярно. Если буду делать магаз, торгующий ГПС-картами, чехольчиками, кашкаями или модными кедами - обязательно вап версию предусмотрю.

704. ivanhoe, 16.10.2009 19:19
dozen

цитата:

Ась? У тебя на мобильнике или Lynx уже заработал Flex? Air? JavaFX?
Нет, не заработал и мне на нем активный Web-контент не нужен ни в каком виде.

Это я о пользователях больших компов забочусь. Чтоб их большие компы если уж использовались (в том самом 1% задач, где активность контента оправдана), то по полной программе, а не превращались (по своей выслительной мощи) в железо 10-20 летней давности.

цитата:

По первому -- см. спор MS vs Sun.
По второму -- ... ну, даже не знаю, что сказать.
По третьему -- ... формат (в целом) известен, а вот тул для его создания и плейер -- проприетарный. Есть open source complier, AFAIR, но он не всегда работал
Открытые реализации есть у всех трех, разница только в популярности. Но популярность это дело такое, изменчивое. Вот я и предлагаю ее поменять в сторону одного из вышеперечисленных, лучше будет всем. :>

цитата:

Я думаю, есть проблема с рабочей силой. Количество взаимозаменяемых грамотных спецов по Air, Flex и SL в разы меньше, чем таковых по JS и AJAX -- просто ввиду открытости и простоты последних.
И это тоже хорошо. Т.к. даст лишний раз Web-разработчику подумать, а нужен ли активный контент на клиенте или нуегонах?

цитата:

Может быть. Однако у одного крупного клиента в полиси по пересылке документов указывалось, что embedded documents не рекомендуются.
Ну всякое бывает, да. Некоторые и Word не принимают, только plaintext принимают в определенных кодировках. Однако в большинстве случаев (на которое ты ориентируешься), MS Office принимают в полном объеме и у нас и за бугром. По крайней мере на личном опыте это так.

цитата:

У меня стоит OO. Я его использую в одном исключительном случае -- когда надо послать резюме в Word клиенту/агенту. Да и то просто руки пока не дошли опубликовать как Google Doc и посылать просто ссылку на "download as Word"...
А не проще ли plaintext'ом резюме писать? Ну или в HTML на крайняк?

jooher

цитата:

А уж поллинг то чем напрягает? Сколько там трафика то накапает с GET запросов раз в 10-20 секунд? И реалтайм там не нужен.
В минуту 20-40 килобайт (размеры оценил на глаз на примере gmail). Ну и т.д. Обычно (в msk) небольшие деньги, но в роуминге можно и сильно попасть (вспоминается недавняя история с одним ЖЖ-юзером, когда он попал тысячи на четыре USD :> iphone + роуминг на украине ).

цитата:

Асинхронные запросы крутятся себе и крутятся - работать то не мешают...
Ну как тебе сказать... Ты никогда не пользовался GPRS в регионах, когда она микросота на N километров? Каждый лишний байт мешает.

цитата:

но человеки со смартфонами - контингент прогрессивный, и думаю ivanhoe имеет заначку в яндексманях и пользуется ей регулярно.
Не, как-то не было нужды. Из альтернативных средств оплаты пользуюсь "мобильным кошельком Билайн", он как-то удобнее (правда с переходом kvartplata.beeline.ru на Ajax-платформу удобства стало гораздо меньше ). И судя по описанию мне больше Web-money понравились, человечнее, по-моему.

705. jooher, 17.10.2009 15:27
ivanhoe
А уж поллинг то чем напрягает? Сколько там трафика то накапает с GET запросов раз в 10-20 секунд? И реалтайм там не нужен.
В минуту 20-40 килобайт (размеры оценил на глаз на примере gmail)


Не знаю, что там gmail проверяет, но пара-тройка-десяток (в минуту) запросов вида http://host.ru/watznew?sid=1234567890 - это никак не десятки кбайт

706. ivanhoe, 19.10.2009 15:05
jooher

Ну допустим у тебя на сайте будут не десятки, а еденицы, но все равно напрягает. Хотя бы даже психологически, что пользователь осознает что Ajax-страница живет своей неподконтрольной ему жизнью, тратя его деньги как ей вздумается. А еще это уменьшает время жизни от аккумулятора, тоже существенный фактор.

Кстати вот в защиту моей точки зрения, пара примеров осмысленного активного web-контента:
1. http://www.gliffy.com/ Сильно упрощенный, но все-таки аналог Visio
2. http://www.opera.com/mini/demo/ Opera Mini Online
Первое сделано на Flash, второе - Java Applet. Через сколько лет подобное будет реализуемо на JS с приемлемым быстродействием и пр? Думаю не раньше чем через 3-5 лет. А на Java/Flash/etc такое можно уже сейчас.

707. jooher, 19.10.2009 15:57
ivanhoe

За эмулятор оперы - данкешон
Но только при чем он тут?

По теме: gliffy сейчас вполне реализуемо на js + SVG или canvas - с ровно такими же трудозатратами как во флэшовом варианте, а про быстродействие я что-то не понял. Другое дело, что именно графику делать в html/js я бы лично не стал, флэш для этого по-моему кошерней (хотя и тут со мной многие не согласятся).

И еще раз - никто не утверждал, что на js можно и нужно делать ВСЕ ПОДРЯД.

в защиту моей точки зрения
А что, эти примеры написаны на чистом хтмл? или gliffy комфортно работает на мобиле?

Добавление от 19.10.2009 16:07:

ivanhoe
Хотя бы даже психологически, что пользователь осознает что Ajax-страница живет своей неподконтрольной ему жизнью, тратя его деньги как ей вздумается.

а что мешает сделать галочку "запретить поллинг" именно для таких экономных пользователей?

708. dozen, 19.10.2009 17:34
jooher
флэш для этого по-моему кошерней (хотя и тут со мной многие не согласятся).

А именно я не соглашусь. Обжегшись на апплетах, никакой проприетарщины, если её можно избежать!

а что мешает сделать галочку "запретить поллинг" именно для таких экономных пользователей?

Более того, и JS, и сервер знают, что у нас мобильник и даже могут измерить среднюю задержку. Так что могут гибко настраиваться -- скажем, для десктопа на широком канале делать поллинг, а для мобильника -- показать кнопочку Refresh.

Повторю -- это всё не проблемы AJAX, это наличие или отсутствие желания разработчика проработать вопросы доступа с устройств с disabilities.

709. ivanhoe, 19.10.2009 18:52
jooher

цитата:
По теме: gliffy сейчас вполне реализуемо на js + SVG или canvas - с ровно такими же трудозатратами как во флэшовом варианте, а про быстродействие я что-то не понял. Другое дело, что именно графику делать в html/js я бы лично не стал, флэш для этого по-моему кошерней (хотя и тут со мной многие не согласятся).
Реализуемо, и, возможно, что и трудозатраты возможно будут такие же. Но вот пользоваться этим будет нельзя, по причине безумного оверхеда JS. Собственно, я допускаю что CPU-intensive приложения JS будут стабильны и юзабельны через 3-5 лет, но сейчас этого нет. А на Java и Flash уже да.

цитата:
А что, эти примеры написаны на чистом хтмл? или gliffy комфортно работает на мобиле?
На мобиле их запускать нет смысла.

цитата:
а что мешает сделать галочку "запретить поллинг" именно для таких экономных пользователей?
Можно, конечно, хотя почему-то она всегда отсутствует.

dozen

цитата:
А именно я не соглашусь. Обжегшись на апплетах, никакой проприетарщины, если её можно избежать!
Гм. И чем JS менее проприетарен чем апллеты? Ничем, по-моему.

710. jooher, 19.10.2009 19:22
ivanhoe
Но вот пользоваться этим будет нельзя, по причине безумного оверхеда JS

О чем ты? Сказать по правде, я в этом глиффи так и не смог ничего пробовать - оно меня все время пыталось развести на premium account. Тормозя при этом повзрослому кстати.
Какой оверхед? На отрисовку/передвижение этих блоков? Или там какие-то компиляторы внутри вояжоров считают? Перетаскивание иконок с места на место внутри хтмл документа с пересчетом стрелочек никаких напрягов у браузера не вызовет. Еще и шустрее будет.


На мобиле их запускать нет смысла.

Ага, то есть тут этот аргумент работает


И чем JS менее проприетарен чем апллеты?

Тем что его бесплатной поддержкой занимаются 4 гиганта и куча мелочи.

711. dozen, 19.10.2009 20:36
ivanhoe

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

Внутри флэша -- тот же самый интерпретатор языка, как две капли похожего на JS.

Можно, конечно, хотя почему-то она всегда отсутствует.

Это проблема, да. Но AJAX-то причем?

И чем JS менее проприетарен чем апллеты? Ничем, по-моему.

А?

Добавление от 19.10.2009 20:45:


ECMA also defined a "Compact Profile" for ECMAScript — known as ES-CP, or ECMA 327 — which is designed for resource-constrained devices. Several of the dynamic features of ECMAScript (such as the "eval" function) are made optional ...


Пааааадонки! тупицы! юзерам пора всю эту шушеру! Шпеер! школьники Нелидово! (ВР mode off)

А если серьезно, это уже серьезно. Стоны владельцев телефонов слышны, и ECMA пытается обеспечить небольшой, но стандартный runtime для таких устройств.

712. ivanhoe, 19.10.2009 21:03
jooher

Чтобы попробовать надо тыкнуть в "Get started now... no signup required" (сюда то есть: http://www.gliffy.com/gliffy/#templateId=blank&signup=1 ) У меня оно даже на Linux работает и довольно-таки неплохо.

цитата:
Перетаскивание иконок с места на место внутри хтмл документа с пересчетом стрелочек никаких напрягов у браузера не вызовет. Еще и шустрее будет.
Visio и даже это Gliffy это гораздо больше чем перетаскивание иконок. Собственно попытки реализации даже не Visio а Sdraw на JS у меня ничего кроме слез жалости (пользователей этого [censored]) не вызывают.

dozen

цитата:
Внутри флэша -- тот же самый интерпретатор языка, как две капли похожего на JS.
Ну я бы даже того же (ECMAScript), но существенно расширенного языка. Но и как язык и как рантайм существенно более быстрый, стабильный и зрелый. Я не отрицаю что существующий JS/ES когда-нибудь таким сможет стать, но пока он сильно отстает, скажем так.

713. dozen, 19.10.2009 21:24
ivanhoe
Ну я бы даже того же (ECMAScript), но существенно расширенного языка.

Насколько я ничего не помню, в ActionScript нет closures, а в движке Gecko -- есть. Ну и кто тут расширенный?

Добавление от 19.10.2009 21:28:

ivanhoe
но пока он сильно отстает, скажем так.

Цифры, пожалуйста, отставания. Типа "вот такая операция в два раза медленнее в JavaScript, чем в ActionScript/такой-то-движок.

Пока это твои личные ВПЕЧАТЛЕНИЯ. Не надо их представлять ФАКТАМИ.

714. ivanhoe, 19.10.2009 21:35
dozen

цитата:
Насколько я ничего не помню, в ActionScript нет closures, а в движке Gecko -- есть. Ну и кто тут расширенный?
В последних версиях анонимные функции есть, как и в JS. Из расширений языка есть статическая типизация, а в рантайме есть JIT (и то и другое весьма способствует быстроте работы).

цитата:

Цифры, пожалуйста, отставания. Типа "вот такая операция в два раза медленнее в JavaScript, чем в ActionScript/такой-то-движок.
Видел попытку реализации VNC-клиента на JavaScript. Работает на несколько порядков медленнее жабских/флешовых при прототипной (то есть никакущей) функциональности.

715. jooher, 19.10.2009 21:46
dozen
Насколько я ничего не помню, в ActionScript нет closures

Вообще-то есть. Надо сказать, адобовский AS3 (и его AVM2) с родным макромедиевским AS2 ничего общего не имеет (кроме видимости). AS3 пожалуй даже ближе к яве чем к яваскрипту. И он не интерпретируется, а компилится (интерпретируются только конструкторы).

Это с одной стороны.

А с другой - все это совершенно не важно, потому что тормоза во флэше с трансляцией и исполнением акшнскрипта связаны в последнюю очередь. А на 99% обусловлены отрисовкой картинки - напрямую зависят от площади redraw regions.
Точно также, как в случае с html/js/ajax отзывчивость определяется не скоростью исполнения js кода, а скоростью получения данных и количеством изменений в DOM, требующих reflow.

Добавление от 19.10.2009 21:50:

ivanhoe

Да, и еще такой момент - AS3 пока поддерживается только в полновесном FlashPlayer начиная с 9-й версии, а в свежайшем FlashLite 3 для мобил - пока что только интерпретируемый AS2

За это сообщение сказали спасибо: dozen

716. ivanhoe, 19.10.2009 22:33
jooher

цитата:

А с другой - все это совершенно не важно, потому что тормоза во флэше с трансляцией и исполнением акшнскрипта связаны в последнюю очередь.
...
Точно также, как в случае с html/js/ajax отзывчивость определяется не скоростью исполнения js кода
Если рассматривать задачи типа "слегка оживить HTML" как на твоем www.mariachi.ru, то да, конечно скорость исполнения не важна.

Однако далеко не все задачи такие и у меня сильные претензии к товарищам, пытающимся делать на JS приложения посложнее легкого оживляжа DOM и пр.

717. jooher, 19.10.2009 22:54
ivanhoe
Однако далеко не все задачи такие

90% задач, которые уместно возлагать на клиента - именно такие: удобно и наглядно предоставить некоторую информацию пользователю и дать ему средства легко и удобно на нее отреагировать - в скромных человеческих моторных рамках.


у меня сильные претензии к товарищам, пытающимся делать на JS приложения посложнее легкого оживляжа DOM и пр.

Отработка огромных объемов - это задача специализированных программ, а не браузеров. Конечно, MPEG-поток яваскриптом в реалтайме не отработаешь - но для этого и есть плугины.

718. ivanhoe, 20.10.2009 12:30
jooher

цитата:

90% задач, которые уместно возлагать на клиента - именно такие: удобно и наглядно предоставить некоторую информацию пользователю и дать ему средства легко и удобно на нее отреагировать - в скромных человеческих моторных рамках.
Проблема в том, что надо заранее знать что задача будет ограничена рамками "оживляжа DOM" без перспектив качественного роста. Для интернет-магазина в этом можно быть уверенным, да, и даже без "оживляжа" можно обойтись. Но вот для задач посложнее - типа Office - JS/Ajax уже не вписывается, на примитивный WordPad его еще хватает (см. Google Docs и Zoho), на MS Word уже нет. Даже на десятую часть от MS Word.

719. dozen, 20.10.2009 15:15
ivanhoe

Проблема в том, что надо заранее знать что задача будет ограничена рамками "оживляжа DOM" без перспектив качественного роста.

Зачем? Если хватает сегодня, то завтра, на завтрашних машинах -- хватит и на качественный рост.

Даже на десятую часть от MS Word.

Дык хватает рядовому пользователю. Мне, по крайней мере. Правда, я не так много текстовых документов создаю...

720. ivanhoe, 20.10.2009 16:00
dozen

цитата:

Зачем? Если хватает сегодня, то завтра, на завтрашних машинах -- хватит и на качественный рост.
Ну вот как-то странновато заведомо отбрасывать себя на 10-15 лет назад, пытаясь конкурировать с микрософтом в его основной нише (офисы). MS ведь тоже не стоит на месте, и когда, завтра (через 10-15 лет) гуглофисы догонят сегодняшний MS Office, завтрашний MS Office будет опять на 10-15 лет впереди.

цитата:

Дык хватает рядовому пользователю. Мне, по крайней мере. Правда, я не так много текстовых документов создаю...
Некоторым и Notepad/Wordpad хватает, не надо всех по себе судить.

P.S. Zoho vs MS Office это примерно как notepad vs Eclipse. Представь что тебе кто-то доказывает что notepad для программирования на жабе удобнее чем Eclipse - поймешь мою реакцию. При том что этот предлагаемый notepad жрет в 10 раз больше ресурсов чем Eclipse и выдается за техническое достижение.

721. dozen, 20.10.2009 17:46
ivanhoe

Ну вот как-то странновато заведомо отбрасывать себя на 10-15 лет назад, пытаясь конкурировать с микрософтом в его основной нише (офисы).

Ну-ну-ну, узко мыслишь!

Написание text-processor как веб-приложения имеет несомненные преимущества.

Во-первых, Google Document для корпораций сделал то, о чем MS мечтает уже давно, но не смогла провернуть -- перевести пользователя на систему подписки, когда деньги капают за использование, а не за лицензию.

Во-вторых, стоимость распространения продукта по сравнению с коробочным -- правильно, практически равна нулю. У коробочного нужны -- печатная документация, записанный физический диск, физическая коробка, место на складе, затраты по доставке, договора с каналами сбыта. У веб-приложения всего этого нет. В результате стоимость MS Office, конечно, куда как выше, чем Google Docs (напоминаю, я о корп версии), но вот выше ли прибыль -- это еще неизвестно.

В-третьих, обновления. Не багфиксы, как таковые, а новая функциональность. Веб позволяет получить competitive edge за счет моментального разворачивания функционала для всех клиентов. Скажем, купил Google службу переносов (хехе), и через неделю она доступна всем пользователям. Представь, скольно аналогичное обновление требует от десктопа (т.е. пока оно проникнет на 90% компьютеров) -- годы. При этом всегда надо помнить, что где-то там всё еще есть машины, где стоит версия БЕЗ нашего обновления. Помнить об этом тоже приходится годы -- изменяем формат? надо помнить про отстающих.

В-четверых (ну, это гуглеспецифично) веб офис позволяет уменьшать cash flow к MS путем а) отказа части пользователей от покупки MS Office и и) отказа части пользователей от Windows (зачем он нужен, если всё в браузере?). Процесс не быстрый, но если раньше бизнес без вариантов бежал покупать MS Office, то теперь есть место для раздумий.

завтрашний MS Office будет опять на 10-15 лет впереди

Офис уже давно не развивается. Он на плато. Новые версии, по большому счету, отличаются свистелками ("ой, меню теперь в ленточку сворачивается, круто! вот вам $700 за новую версию!"). После WinWord 6 ничего существенного не добавилось, IMHO.

Zoho vs MS Office это примерно как notepad vs Eclipse

Хмм... сдается мне, ты преувеличиваешь.

722. anuta, 20.10.2009 18:52
ivanhoe
завтрашний MS Office будет опять на 10-15 лет впереди.
Среднестатистический пользователь уже давно не знает всех возможностей офиса, и не пользуется ими. А наиболее востребованные функции у гуглодоков есть, а если чего-то не хватает сейчас - вполне вероятно появится в недалеком будущем.

Каких функций не хватает офису сейчас? Чтобы вы улучшили?
примерно как notepad vs Eclipse
вообще-то как-то странно сравнивать блокнот (а это именно блокнот, даже не тетрадь для записей) и специализированный софт для разработки и отладки.
с Zoho не знакома, гугльдок пользую для личных нужд, радует совместный доступ и история версий. Не радует - браузер не научила в нем открывать документы.

723. ivanhoe, 20.10.2009 19:19
dozen

цитата:
Офис уже давно не развивается.
Ну ты философ. :> Этак можно заявить что eclipse и ed (http://en.wikipedia.org/wiki/Ed_(text_editor)) это одно и тоже, только в eclipse больше "свистелок".

Все-таки с более общепринятой точки зрения Eclipse и MS Office - это Платформы, расширяемые, с сильномогучим функционалом, а ed, notepad и zoho docs - куцые программульки умеющие выполнять одно действие. Если тебя устраивает куцая программулька, рад за тебя.

цитата:

Хмм... сдается мне, ты преувеличиваешь.
Ну вот представь что я тебе предлагаю бросить нах свой Eclipse (или чем ты там пользуешься) и пользоваться вместо него суперкрутым продуктом - Online Notepad (или еще круче и современнее - Online Ed!), с теми же самыми аргументами - что я в notepad "Hello world" пишу ничем не хуже.

anuta

цитата:
Среднестатистический пользователь уже давно не знает всех возможностей офиса, и не пользуется ими.
Зато среднестатистическая контора в 10-100 тыс. человек пользуется всеми 100% возможностями офиса. Количество переходит в качество. :>

цитата:
Каких функций не хватает офису сейчас? Чтобы вы улучшили?
Как я понимаю, вопрос чего не хватает web-офисам типа zoho? Самого главного не хватает, чтобы он был платформой, а не куцей программулькой.

724. jooher, 20.10.2009 20:52
ivanhoe
Ну вот представь что я тебе предлагаю бросить нах свой Eclipse (или чем ты там пользуешься) и пользоваться вместо него суперкрутым продуктом - Online Notepad (или еще круче и современнее - Online Ed!), с теми же самыми аргументами - что я в notepad "Hello world" пишу ничем не хуже.

Ну конечно, если ИДЕ и ворд написать во флэше - это конечно же будет совсем другое дело

О чем дискуссия то? О том что для потребностей веба яваскрипта достаточно в 90% случаев. А не о том, можно ли на нем написать ось, и все драйвера и софты к ней (включая DBMS - как ВР уже начал)

725. dozen, 20.10.2009 20:52
ivanhoe
Если тебя устраивает куцая программулька, рад за тебя.

Это всё субьективизм и навешивание ярлыков. "Платформа", "программулька". Есть функционал. Если он устраивает пользователя -- пользователь рад. Не устраивает -- не рад. А то, что "программулька", оказывается, еще и "платформа" -- да хоть цисцерна! -- большинству пользователей это все равно. Они этой "платформой" не пользуются.

Ну вот представь что я тебе предлагаю бросить нах свой Eclipse

Ну, представил. Вполне возможно, кстати. Что там особого-то, текст редактировать да лукапить возможные методы? Зато сколько сразу групповых фич можно придумать! IM по тексту класса, online code review...

Я лично считаю, что Eclipse перегрузили уже. Этот вот Mylin -- он вроде и удобная штука, но НА ЛЮБИТЕЛЯ. Я не пользуюсь. Тем не менее он у меня регулярно падает при лукапе метода (я его не просил!), а отрубить его не получается. Та же фигня с, например, Modeling Framework. Он еще не доделанный, а уже тяжелый, что не могу!

Короче, это ты классную идею придумал, Ваня!

Самого главного не хватает, чтобы он был платформой, а не куцей программулькой.

Чего?

726. jooher, 20.10.2009 20:54
а то ведь можно и хтмл-странички непосредственно средствами <stdio.h> фигачить. куда как быстрей и гибче.

727. dozen, 20.10.2009 20:56
ivanhoe
Зато среднестатистическая контора в 10-100 тыс. человек пользуется всеми 100% возможностями офиса.

Ну, кто-то может и пользуется... ну так и пускай пользуются! Бог в помощь! А я что, должен из-за НИХ платить СВОИ денежки за лицензию? (Так, кстати, и было до последнего времени -- хочешь не хочешь, а плати -- точнее, ПЕРЕПЛАЧИВАЙ). Нет уж, я и на Google Doc потопчу клаву в полное удовольствие.

728. ivanhoe, 21.10.2009 02:39
dozen

цитата:
Это всё субьективизм и навешивание ярлыков. "Платформа", "программулька". Есть функционал. Если он устраивает пользователя -- пользователь рад. Не устраивает -- не рад.
Да и не устраивает в общем-то. Никого, кроме некоторой части гиков (в среде которых действительно, наблюдается массовое помешательство на почве web-офисов). А обычные, нормальные люди как пользовались MS Office, так и пользуются.

цитата:

Короче, это ты классную идею придумал, Ваня!
Я знал что тебе понравится.

цитата:

А я что, должен из-за НИХ платить СВОИ денежки за лицензию?
Ну не хочешь не плати; но web-офисы по-моему совсем не лучшее решение. С одной стороны есть OOO, с другой - wiki-технологии, с третьей - LaTeX - на все вкусы. А ты вместо действительно свободных решений предлагаешь сменить проприетарное шило (Microsoft) на проприетарное мыло (Zoho или Google).

jooher

цитата:

Ну конечно, если ИДЕ и ворд написать во флэше - это конечно же будет совсем другое дело
Для IDE лучше взять жабу - апплетизировать тот же самый eclipse или netbeans и вся любоффф. А для офисов я уже привел пример с gliffy - вполне прилично получилось, а графредактор подобного типа это задачка потяжелее ворда будет (того недоворда который в zoho и googledocs).

цитата:
О чем дискуссия то? О том что для потребностей веба яваскрипта достаточно в 90% случаев.
Теперь обсуждаем оставшиеся 10% случаев и стоит ли их делать на JS или все-таки взять более подходящий инструмент. :>

729. dozen, 21.10.2009 03:11
ivanhoe
Никого, кроме некоторой части гиков (в среде которых действительно, наблюдается массовое помешательство на почве web-офисов).

Э... я тебе один умный вещь скажу (ты только не обижайся): ты отстал от жизни. Zoho -- прибыльный бизнес, и основные его потребители (по словам CEO) -- небольшие бизнесы. А вовсе не гики. А Salesforce (http://salesforce.com) так вообще... для Sales.

А ты вместо действительно свободных решений предлагаешь сменить проприетарное шило (Microsoft) на проприетарное мыло (Zoho или Google).

А проприетарность офиса для меня негативным критерием не является. Наоборот, проприетарность приложения для меня плюс -- кто-то рвет жилы, чтобы его поддерживать, ибо за живот работает (а иногда и за совесть). Вот проприетарность технологии (Applet vs JS) -- это проблема. И проприетарность форматов/API. Форматы и API у GDocs и Zoho -- открытые.

Я знал что тебе понравится.

Спасибо за интеллектуальный подарок! Раздвинул мне пределы сознания без всяких LSD! Кстати, где-то я видел сайт с shared редактирование программ... правда, они направлены на "исправте мою багу вот тут", а не на полные проекты. Никто просто не просёк фишки пока!

а графредактор подобного типа это задачка потяжелее ворда будет

Недавно по долгу службы набросал небольшое WPF-приложение (С#, то есть), где по готовому битмапу можно расставлять нужные метки. Так вот, весь heavy-lifting делается рантаймом .NET; вместо моего C# там вполне мог бы быть JS (если бы были bindings). Так что ждем Canvas и будем посмотреть.

Теперь обсуждаем оставшиеся 10% случаев и стоит ли их делать на JS

Скорее всего -- не стоит.

730. jooher, 21.10.2009 11:16
dozen
Так что ждем Canvas и будем посмотреть.

Собсно, чего ждать то? Есть он и мозиле и в опере давно уже. Или всмысле ждать его поддержки GWTом?

Добавление от 21.10.2009 11:23:

и в хроме конешно тоже

Добавление от 21.10.2009 11:44:

А вот что пока нужно ждать - это нормального design mode (http://www.mozilla.org/editor/midas-spec.html) (то что есть сейчас - какое-то кривое недоразумение, хотя и с ним редакторы делают). И никаких засад с js-based IDE не останется тогда.

ivanhoe
Для IDE лучше взять жабу - апплетизировать тот же самый eclipse или netbeans и вся любоффф.
Чем лучше то?

731. ivanhoe, 21.10.2009 13:35
dozen

цитата:

Э... я тебе один умный вещь скажу (ты только не обижайся): ты отстал от жизни. Zoho -- прибыльный бизнес, и основные его потребители (по словам CEO) -- небольшие бизнесы. А вовсе не гики. А Salesforce так вообще... для Sales.
Не сомневаюсь что прибыльный и даже думаю, что и googledocs вполне отбивает свое существование. Но использование этого добра ничем кроме массового помешательства и торсионных полей объяснить не могу.

цитата:
И проприетарность форматов/API. Форматы и API у GDocs и Zoho -- открытые.
А как ситуация с лицензированием, патентами и пр? А то опубликовано то много чего, но масса примеров когда смотреть можно, а самому реализовать - низзя, засудят и пр. Вот, например, накроется это zoho медным тазом или у них как-нибудь поедет крыша, что делать будешь?

цитата:

Никто просто не просёк фишки пока!
Ну дык, торопись, реализуй, огребешь кучу бабла и профитов. LOL

цитата:

Недавно по долгу службы набросал небольшое WPF-приложение (С#, то есть), где по готовому битмапу можно расставлять нужные метки.
Visio это несколько больше чем расставлять метки на битмапе, уж поверь его многолетнему пользователю (еще с тех версий, когда оно не принадлежало MS). Это работа со сложными объектами, они комбинируются, взаимодействуют, меняются, у него есть тысячи библиотек и плагинов - все это довольно сложно и ресурсоемко. Canvas сможет взять на себя немного визуализации, не более того, остальное упрется в язык и слабенький рантайм.

Ты видимо просто не в курсе, какие чудеса некоторые хакеры вытворяют в MS Office как платформе. Пример первый: на старой работе видел вполне навороченную диаграмму VoIP сети в... Excel. Офигению не было предела. Пример второй: видел на базе Visio... NMS (систему визуального мониторинга сети), коллеги написали всяких пинговалок и опрашивания оборудования сети на VBA и соотв. отображали статус на нарисованной схеме. А уж какие чудеса вытворяют в Access...

А в Zoho офисе еще даже OLE не изобрели. :>

цитата:
Так что ждем Canvas и будем посмотреть.
Да чего ждать, есть он уже, видел, не впечатляет.

jooher

цитата:

Чем лучше то?
Тем только надо адаптировать для работы с гугловым или еще каким web-стораджем вместо локальной файлухи. Остальное уже все готово.

732. dozen, 21.10.2009 15:05
jooher
Собсно, чего ждать то? Есть он и мозиле и в опере давно уже. Или всмысле ждать его поддержки GWTом?
Ждать, когда его веб-девелоперы освоят и начнут рулезы на нём клепать.

Добавление от 21.10.2009 15:25:

ivanhoe

Но использование этого добра ничем кроме массового помешательства и торсионных полей объяснить не могу.

Ты, видимо, или юзаешь офис на 100%, или "жадный хомяк" -- хочешь все фичи, даже если они тебе не нужны. А есть противоположная группа -- использующая только очень небольшую часть функционала, а про остальные фичи или не знающая, или они им не нужны. Платить полную цену за офис для такой группы -- некоторая роскошь. Я, кстати, в неё вхожу.

Что касается "почему они не пользуются OpenOffice?" -- бесплатный продукт по определению liability для выпускающей компании. Он может быть discontinued в любой момент. Полагаться на "community support" -- недальновидно. Поэтому люди предпочитают недорогие коммерческие приложения бесплатным.

Вот, например, накроется это zoho медным тазом или у них как-нибудь поедет крыша, что делать будешь?

Такой риск есть. Есть и стратегия его уменьшения. Напомню, что все документы Zoho downloadable как DOC, TXT, HTML, PDF и ODF.

Ну дык, торопись, реализуй, огребешь кучу бабла и профитов. LOL

Недостаточно skillов.

Это работа со сложными объектами, они комбинируются, взаимодействуют, меняются, у него есть тысячи библиотек и плагинов - все это довольно сложно и ресурсоемко.

Ты опять смотришь на всё глазами power user. А для большинства Visio -- это простые диаграмки.

А в Zoho офисе еще даже OLE не изобрели. :>

Может, и нет, а может, и да. Как посмотреть. Документы Zoho могут быть embedded в любой сайт, причем активно -- то есть редактироваться in place.

Ты видимо просто не в курсе, какие чудеса некоторые хакеры вытворяют в MS Office как платформе.

Почему не в курсе? В курсе. Только опять же -- это power (ab)using, и 99% пользователей это не нужно.

Пользуясь твоей аналогией: "ты видимо просто не в курсе, какие навороты есть в Rational Rose... а ты мне Eclipse... смешно!". Так вот, RR и стоит соотвественно, и -- самое главное -- далеко не всем нужна (есть мнение, что всем вредна, но это спор для другой ветки).

Да чего ждать, есть он уже, видел, не впечатляет.

Как и с AJAX, первые пробы будут невпечателяющими. "Ах, suggestions в Google Search! Фи! На флэше можно в тысячу раз лучше сделать!". Через годик-другой, однако, появились примеры и библиотеки, которые заставили Flash срочно искать новые фичи, а не то остался бы только мувиплейером. Оттуда и Air.

Вот и с Canvas -- сначала будут детские каляки-маляки. Потом -- посмотрим.

733. ivanhoe, 21.10.2009 17:00
dozen

цитата:

Ты, видимо, или юзаешь офис на 100%, или "жадный хомяк" -- хочешь все фичи, даже если они тебе не нужны.
Ну не весь на 100% (PowerPoint и Outlook практически не пользуюсь), но Visio очень близко к этому и Word тоже.

цитата:

Он может быть discontinued в любой момент.
Даже если он будет discontinued, то с моего компа он не пропадет вместе с документами и продолжит работать как и раньше. А если Zoho docs решит прекратиться или у него случится какой-то disaster, то у тебя ухнут в никуда и инструмент и документы, есть разница? :>

цитата:

Полагаться на "community support" -- недальновидно.
OOO помимо Sun и community поддерживает такой монстр как IBM. Да и желающие найдутся по-любому, самый нормальный офис все-таки, из имеющегося опенсорса.

цитата:

Ты опять смотришь на всё глазами power user. А для большинства Visio -- это простые диаграмки.
Только что нашел интересный продукт, типа Visio-killer, демка мне понравилась (хотя и с уклоном в чуждые мне бизнес-процессы, но показывает что такое Visio для довольно обычного пользователя): http://www.smartdraw.com/videos/demo/index.htm По-моему довольно наглядно видно, что не только простые диаграмки, но и сложные, а также интеграция с PowerPoint/MS Project/Excel/мн.др. Также видно, что такое OLE и современный офис - пользователь каждую задачу решает своим наиболее подходящим инструментом, а инструменты благодаря OLE и достижениям Microsoft работают слаженно как единое целое.

Как доберусь до винды, попробую обязательно.

цитата:

Пользуясь твоей аналогией: "ты видимо просто не в курсе, какие навороты есть в Rational Rose... а ты мне Eclipse... смешно!".
Тут моя аналогия не подходит, т.к. и Eclipse и RR - это платформы с потенциально неограниченными возможностями, а разница в наборе плагинов. И наиболее насущные потребности пользователей Eclipse (которых в N раз больше чем пользователей RR) этими плагинами покрыты, а что не покрыто - ну хоть сам бери и делай. А Zoho и Googledocs это не платформы (в отличии и от OOO, кстати), плагинов не содержат и пользоваться можно только тем что дают, и пользовательская база на несколько порядков меньше чем у нормальных офисов. И кстати это сильно ограничивает, ибо платформенность это могучее расширение за счет community (русские переносы, например в OOO, делали отдельные люди, не OOO team). А Zoho/Googledocs вообще не знают что такое переносы и зачем они бывают нужны (и что существует русский язык), поэтому готовых ты не получишь и сам тоже не сделаешь. :>

цитата:

Как и с AJAX, первые пробы будут невпечателяющими. "Ах, suggestions в Google Search! Фи! На флэше можно в тысячу раз лучше сделать!".
Странно, ни разу не встречал претензии в саджестам что они не сделаны на флэше. Претензии встречал к самому предлагаемому материалу, а не как он подается.

734. Dilon, 21.10.2009 17:21
цитата:
Даже если он будет discontinued, то с моего компа он не пропадет вместе с документами и продолжит работать как и раньше. А если Zoho docs решит прекратиться или у него случится какой-то disaster, то у тебя ухнут в никуда и инструмент и документы, есть разница? :>
А если у вас винт ухнет, что делать будете? Насчет инструменов - неважно, поддерживаются распространненые форматы, так что при наличии бэкапов продолжать работу можно .

735. dozen, 21.10.2009 17:31
ivanhoe

А Zoho и Googledocs это не платформы (в отличии и от OOO, кстати), плагинов не содержат и пользоваться можно только тем что дают

Чой-та? Не знаю про гугель, а у Zoho есть API, которое позволяет делать всё то же, что делает пользователь. И этим API пользуются сторонние сайты, и даже десктопные приложения.

Повторю -- раз ты не хочешь слышать -- Zoho Apps могут быть embedded в любой сайт. В том числе, видимо, и в сами Zoho Apps (не знаю 100%, но не вижу препятствий). Чем не OLE в веб варианте?

, и пользовательская база на несколько порядков меньше чем у нормальных офисов.

Ну, это временно Когда-то и у Excel база была в разы меньше, чем у Lotus 1-2-3...

А если Zoho docs решит прекратиться или у него случится какой-то disaster, то у тебя ухнут в никуда и инструмент и документы, есть разница? :>

Разница есть. Но риск очевиден, понятен и так же очевидны contingency measures: daily backup документов (что надо делать и для MS Office) в известном формате.

736. ivanhoe, 21.10.2009 17:34
Dilon

цитата:
А если у вас винт ухнет, что делать будете? Насчет инструменов - неважно, поддерживаются распространненые форматы, так что при наличии бэкапов продолжать работу можно .
Ну во-первых, нотебучный винт гораздо более надежная вещь чем Google, Zoho и все остальные Web-офисы вместе взятые и без объявления войны не умрет.

Во-вторых я использую бекапы. Бекап файлов - это одна строчка в crontab:
код:

0 * * * * /usr/local/bin/rsync -ra /home/ivanhoe/ backup.my-company.ru:/path/to/backup/root/ivanhoe

А вот ты смогешь одной строчкой забекапить свои Zoho docs куда-нибудь еще, за пределы этой организации?

В третьих инфу с винта восстанавливают в специальных конторах, сгоревшая механика-электроника не помеха.

737. jooher, 21.10.2009 17:40
dozen
заставили Flash срочно искать новые фичи, а не то остался бы только мувиплейером.

Лучше бы и оставался мувиплеером и поработали бы лучше как раз над оптимизацией графики. а то типичная ситуация - 3D игрухи нормально идут на компе, а во флэшке приходится жестко экономить на redraw regions, иначе на 20-30 fps будут дрыжки. Это при том, что плеер - устанавливаемый ехешник. Кстати относительно влияния оверхеда по исполнению скрипта на общую производительность, вспомнилось: скрипты же были еще в Quake 1 - и уже на тех мощах их парсинг не вызывал особых напрягов

А адобовские потуги из серии "we change the way чего-то там deal with data" - это бред.

Если говорить о преимущественно текстовой/табличной работе с данными - то у хтмл-движков здесь огромное преимущество в том, что они изначально заточены под автоматические reflow и привязку визуальной структуры документа к его эээ.... как это назвать?... топологии?... То есть можно не запариваться абсолютными координатами элементов - достаточно указать что вот этот идет после того, а они оба внутри третьего.
Во флэше эти взаимосвязи отслеживаются акшнскриптом (хоть это и скрыто внутри компонентов) - и тут оверхеда куда больше получается, чем просто на отработку яваскриптом каких-то там телодвижений пользователя.
Похожая история, думаю, и с апплетами. Весь reflow просчитывается байткодом и универсальной виртуальной машиной, а не узкоспециализированным нативным рендер-движком браузера.

Вот и считай, где оверхед.

738. ivanhoe, 21.10.2009 17:49
dozen

цитата:
Чой-та? Не знаю про гугель, а у Zoho есть API, которое позволяет делать всё то же, что делает пользователь. И этим API пользуются сторонние сайты, и даже десктопные приложения.
Zoho API (насколько я успел с ним ознакомиться) это зачатки OLE, а не плагинов. Не вижу никаких способов добавить переносы в Zoho Writer через его API. Если ты видишь, обрисуй схему. И потом OLE это не просто вставить Zoho документ в виде IFrame, а и залезть вовнутрь, узнать всю подноготную на высоком уровне (автор, алфавитный указатель, кол-во страниц и мн.др) и при необходимости, та таком же высоком уровне обработать или что-то поменять.

739. dozen, 21.10.2009 17:55
ivanhoe

Ну во-первых, нотебучный винт гораздо более надежная вещь чем Google, Zoho и все остальные Web-офисы вместе взятые и без объявления войны не умрет.

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

Более того, Google и Zoho бэкапят пользовательские данные постоянно, и используют hotswap больных машин. Посему как раз наоборот -- эффективная (видимая пользователем) надежность (точнее, доступность, ну да ладно) Google/Zoho намного выше, чем у локального винта.

А вот ты смогешь одной строчкой забекапить свои Zoho docs куда-нибудь еще, за пределы этой организации?

Мгм... думаю, да... что-нибудь вида wget -R бла-бла-бла.

В третьих инфу с винта восстанавливают в специальных конторах, сгоревшая механика-электроника не помеха.

На какой только риск и лишения не готовы пойти люди, лишь бы не пользовать SaaS модель!

740. jooher, 21.10.2009 17:57
ivanhoe
Не вижу никаких способов добавить переносы в Zoho Writer через его API

А... тут уже спор не про js vs flash vs java, а про MSOffice vs Zoho....

741. dozen, 21.10.2009 18:11
ivanhoe

Zoho API (насколько я успел с ним ознакомиться) это зачатки OLE, а не плагинов.

Ага, то есть уже не "не платформа", а "маленькая платформа, практически тележка".

Видишь ли, в связи с другой операционной средой создатели Zoho не ставили целью воссоздать OLE во всей его красе в веб. Посему несколько странно ставить в вину Zoho API, что он "не OLE".

Не вижу никаких способов добавить переносы в Zoho Writer через его API.

Простите, если бы в MS Word не было переносов как таковых, предусмотренных заранее, то добавить их бы тоже не получилось. Потому что немедленно слетел бы как минимум поиск и грамматика. Потому что если во внутреннем представлении нет переносов, то добавить их можно только вставляя символ (ndash) в текст.

jooher

а про MSOffice vs Zoho

Про desktop apps vs JS apps, если точнее. Zoho просто один из наиболее развитых представителей.

742. ivanhoe, 21.10.2009 18:28
dozen

цитата:

Это несерьезные рассуждения. Вероятность отказа всегда есть, и если документы имеют хоть какую-нибудь ценность -- надо бэкапить.
Надо, конечно же, я и бекаплю. А ты, судя по всему, нет. :> (раз строчку бекапа сходу написать не могешь)

цитата:

Более того, Google и Zoho бэкапят пользовательские данные постоянно, и используют hotswap больных машин.
В кластерах масштаба гугл выборочное пропадание сервиса - явление регулярное и, я бы даже сказал, частое. От того что оно выборочное, а не полное (у соседа Васи работает, а у меня нет), мне как-то не сильно легче. А между мной и гуглом еще несколько провайдеров, у которых тоже бывают проблемы, самого разного характера. Например, обрыв трансатлантического кабеля, мощный DDoS, проблемы с раутингом и мн.др. Ну не каждый день, конечно, но на несколько потерянных рабочих дней в году набирается в совокупности. С другой стороны, у меня нотебучный винт сдох один раз, после 7 лет работы. За полгода до подыхания честно предупредил что ему плохо и надо поменять, но продолжал работать (сам нотебук использовался как проигрыватель мультиков ребенку, так что было некритично). У знакомых из ближайшего окружения статистика аналогичная.

цитата:

Посему как раз наоборот -- эффективная (видимая пользователем) надежность (точнее, доступность, ну да ладно) Google/Zoho намного выше, чем у локального винта.
Это не так и в теории и на практике. Полное пропадание сервиса у гугла - это действительно практически нереально, но выборочное - т.е. невозможность зайти на gmail/googledocs в течении нескольких часов из рабочей сети это регулярное явление. Даже я замечаю, хоть и пользуюсь не так чтоб уж сильно активно.

цитата:

На какой только риск и лишения не готовы пойти люди, лишь бы не пользовать SaaS модель!
Кто бы говорил. Это у тебя риск и лишения (функционала никакого, service provider lock-up), зато используешь SaaS модель. :>

743. Dilon, 21.10.2009 18:38
ivanhoe
цитата:
А вот ты смогешь одной строчкой забекапить свои Zoho docs куда-нибудь еще, за пределы этой организации?
Смогу, просто добавлю чуть более сложный bash скрипт в cron на своем удаленном сервере.
цитата:

Ну во-первых, нотебучный винт гораздо более надежная вещь чем Google, Zoho и все остальные Web-офисы вместе взятые и без объявления войны не умрет.
А вы на свой ноут кофе в любой момент пролить можете.

744. ivanhoe, 21.10.2009 19:05
dozen

цитата:

Ага, то есть уже не "не платформа", а "маленькая платформа, практически тележка".
Нет, не платформа. Платформенность (расширяемость) дают плагины (которых нет), а OLE или аналог дают возможность интеграции.

цитата:

Простите, если бы в MS Word не было переносов как таковых, предусмотренных заранее, то добавить их бы тоже не получилось. Потому что немедленно слетел бы как минимум поиск и грамматика. Потому что если во внутреннем представлении нет переносов, то добавить их можно только вставляя символ (ndash) в текст.
Несогласен, это один из возможных вариантов, когда Word плохо спроектирован. При правильной архитектуре такой проблемы нет (живой пример - TeX, там переносы делаются при помощи расширений ("плагинов"), в ядре их нет).

Dilon

цитата:

Смогу, просто добавлю чуть более сложный bash скрипт в cron на своем удаленном сервере.
Гм. Верю что сможешь, даже на bash (хотя тебе его придется круто расширять... для работы с XML-RPC с SSL и авторизацией), но ты данные не бекапишь. А я - да.

цитата:

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

745. Dilon, 21.10.2009 19:15
цитата:
Гм. Верю что сможешь, даже на bash (хотя тебе его придется круто расширять... для работы с XML-RPC с SSL и авторизацией), но ты данные не бекапишь. А я - да.
Да не суть, на python например, мне офис вообще без надобности, так храню пару документов на google docs (imho все же удобнее, у меня два лаптопа, но я их не таскаю никогда, один стоит дома, а второй на работе ). а все что по работе (документы в TeX) у меня в svn.
Суть в том что вероятность потерять данные что в SaaS, что у вас на локальной машине примерно одинакова, так что это не аргумент я думаю.

746. dozen, 21.10.2009 20:12
ivanhoe
А ты, судя по всему, нет. :> (раз строчку бекапа сходу написать не могешь)

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

Например, обрыв трансатлантического кабеля

Гугль имеет по датацентру возле каждого крупного провайдера. Как? Они поместили датацентр в контейнер, обычный контейнер. Привозят на площадку, цепляют к сети и питанию -- и всё.

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

Я, может, излишне везучий? Ни разу у меня Docs не лежали.

С другой стороны, у меня нотебучный винт сдох один раз, после 7 лет работы. За полгода до подыхания честно предупредил что ему плохо и надо поменять

Угу. Опять несерьезно. На чудеса рассчитываешь. У меня десктопный просто щелкнул, всё погасло и -- не стартует.

Это не так и в теории и на практике. Полное пропадание сервиса у гугла - это действительно практически нереально, но выборочное - т.е. невозможность зайти на gmail/googledocs в течении нескольких часов из рабочей сети это регулярное явление.

Ы? Впервые такое слышу. Может, у вас админы глушат? Скажем, в банке не пускают на gmail (и вообще на любые web mails).


Это у тебя риск и лишения

Какой у меня риск? Уж всяко меньше риска падения винта.

А лишения -- это когда хочешь, но не можешь. А я переносов не хочу, и OLE мне не надо. Поэтому и лишений у меня нет.

Нет, не платформа. Платформенность (расширяемость) дают плагины (которых нет), а OLE или аналог дают возможность интеграции.

А что, плагины обязаны исполняться в том же адресном пространстве, что и приложение?

У меня вот Google Calendar Sync работает на машине, Outlook с Google Cal синхронизирует two way -- это плагин или нет? Он использует публичное Google API и публичное Outlook API. Считаю -- плагин.

А что, возможность интеграции дает только OLE? А показ другого приложения во фрейме -- это не интеграция? Интеграция. А прозрачное использование Zoho Apps десктопными приложениями типа Medical History для заполнения форм -- это не интеграция? Интеграция.

Ничего страшного не будет, проверено.

Для солидного человека ты непозволительно оптимистичен!

747. ivanhoe, 21.10.2009 21:00
dozen

цитата:

Гугль имеет по датацентру возле каждого крупного провайдера. Как? Они поместили датацентр в контейнер, обычный контейнер. Привозят на площадку, цепляют к сети и питанию -- и всё.
На какую еще площадку? В моей бывшей конторе (входила в top 50 carriers, более 1000 узлов в РФ и зарубежом - достаточно крупно?) гугла в контейнере по соседству не припомню. Хотя может уже и пробрался...

цитата:

Я, может, излишне везучий? Ни разу у меня Docs не лежали.
Возможно, везение. Возможно, надежность гуглоинфрастуктуры в САСШ и Канаде выше.

цитата:

Угу. Опять несерьезно. На чудеса рассчитываешь. У меня десктопный просто щелкнул, всё погасло и -- не стартует.
Во-первых не сравнивай десктопные и нотебучные, это две большие разницы. Во-вторых, на десктопе можно (и нужно) использовать зеркалирование.

цитата:

Ы? Впервые такое слышу. Может, у вас админы глушат?
Нет, админы у нас ничего не глушат. Ну вот, например, http://www.google.com/search?q=gmail+лежит И сам видел, и слышу про это регулярно, раз в две недели в среднем.

цитата:

Скажем, в банке не пускают на gmail (и вообще на любые web mails).
Странно, как это они не перешли на gmail/googledocs, ведь это так прогрессивно и надежно?

цитата:

У меня вот Google Calendar Sync работает на машине, Outlook с Google Cal синхронизирует two way -- это плагин или нет?
Никогда этим не пользовался, но по-моему это скорее стороннее приложение для синхронизации, типа rsync. :> Rsync синхронизирует файлы на двух компах, используя файловое API. Назвать rsync плагином к файловой системе наверное можно, но как-то не общепринято (http://en.wikipedia.org/wiki/Plugin) .

цитата:

А что, возможность интеграции дает только OLE? А показ другого приложения во фрейме -- это не интеграция? Интеграция.
Интеграция, хотя и грубая, с интегрируемостью (ограниченной) Zoho/GoogleDocs я как раз согласен.

748. ivanhoe, 02.11.2009 18:23
Отвечаю на сообщение из приватной темы Владимира.

Vladimir Rybinkin

цитата:

RDBMS используется лишь потому, что ничего другого просто НЕТ!
Как это нет? Их есть и гораздо больше чем RDBMS. Навскидку: Metakit, Berkeley DB, Tokyo Cabinet/Tyrant, MemcacheDB, Embedded InnoDB, DB4O, CoachDB, Hadoop, Bigtable... Пресловутая Cache опять же.

цитата:
Вот скажите мне: какому идиоту "нужна жесткая структура и пр. прелести реляционности"?! КАКОМУ ИДИОТУ?!
Они нужны тем "идиотам", которые их используют. Мне в частности.

цитата:
И с каких это пор транзакции и права стали "прелестями РЕЛЯЦИОННОСТИ"?
Приведите в пример хоть одну нереляционку со сложной системой прав. Транзакции в нереляционках действительно встречаются (в меньшинстве оных), но без поддержки целостности и пр.

цитата:

Ха-ха-ха! Ну, "DOM Core Specifications и многое другое" нужно просто поганой метлой вычищать - кроме криворуких девелоперов это никому на фиг не нужно.
И как Вы предлагаете реализовывать JS в браузере, если "DOM Core Specifications" выкинуть на помойку?

цитата:

Остальное - примитив, в 64К явно должно уложиться. Не сложнее же поганый броузер, скажем, нашего Миража!
Думаю что современный браузер (FF 3.5) гораздо сложнее.

цитата:

Во-первых, см. выше. Во-вторых, повторяю: я не собираюсь "изучать" каждое новое дерьмо. Есть понятие "броузер", и будьте любезны! Ох..ли совсем программеры!
Понятие "браузер", как раз и определяется насколько он хорошо поддерживает перечисленные мной спецификации. Если вы напишите "браузер", который поместится в 64 KB ОЗУ, но при этом не будет поддерживать:
1) HTML
2) CSS
3) JavaScript
4) DOM Core Specifications
...то это не будет браузером никоим образом.

цитата:

Ладно, скажите мне: НА КОЙ ХРЕН Вашему FireFox 3.5 понадобились "полгига памяти и процессоры от 2 гигагерц". ЧО ОН С НИМИ ДЕЛАЕТ?!
JavaScript интерпретирует, что же еще. :)

цитата:

Все остальное, включая Вашу поганую "структуру", которую я свободно меняю при необходимости минут за 15 - это ХЕРНЯ, НЕ ЗАСЛУЖИВАЮЩАЯ ВНИМАНИЯ!
Ну вот представьте себе, отдаете Вы книгу издателю, для печати. Издатель спрашивает: "а где у тебя тут главы, разделы, параграфы?" А Вы ему отвечаете "ЭТО ХЕРНЯ, НЕ ЗАСЛУЖИВАЮЩАЯ ВНИМАНИЯ! Она у меня в голове и я ее меняю каждые 15 минут!"

749. dozen, 02.11.2009 19:52
ivanhoe
Отвечаю на сообщение из приватной темы Владимира

Делать тебе нечего... шел бы, снег што ли, расчистил...

750. moderator-Kid, 03.11.2009 08:27
И, кстати, В.Р. может снова здесь писать аж с 29.10. Нет проблем. А выйдет за рамки приличий - вновь этой возможности лишится.

751. Dilon, 03.11.2009 12:56
цитата:
Как это нет? Их есть и гораздо больше чем RDBMS. Навскидку: Metakit, Berkeley DB, Tokyo Cabinet/Tyrant, MemcacheDB, Embedded InnoDB, DB4O, CoachDB, Hadoop, Bigtable... Пресловутая Cache опять же.
hadoop это не субд, hbase тогда уж поверх hadoop.

752. ivanhoe, 23.11.2009 20:16
Поскольку Владимира уже должно было разбанить по всем уточненным данным, поднимаю тему вновь.

Vladimir Rybinkin

цитата:

цитата:
Как это нет? Их есть и гораздо больше чем RDBMS. Навскидку: Metakit, Berkeley DB, Tokyo Cabinet/Tyrant, MemcacheDB, Embedded InnoDB, DB4O, CoachDB, Hadoop, Bigtable... Пресловутая Cache опять же.
Повторяю: их НЕТ. Вы не упомянули, пожалуй, единственную серьезную: LORE. Само обилие вариантов говорит, что ВСЕ они дерьмо - пральна?
Неправильно. Это говорит о том, что каждая имеет свою нишу. Я довольно активно использую Berkeley DB и назвать ее дерьмом никак не могу.

цитата:

Ах, "в частности Вам"?! Так зачем Вам жесткость, лапочка? Чтобы кастрировать свои возможности? Иных причин, наскоко я понимаю, в природе НЕ СУЩЕСТВУЕТ!
Жесткость структуры это тоже "возможность". И помимо упомянутых прав и транзакций, также с этой структурой можно легко научить работать других людей. А вот с СИНДБАД'ом умеет работать единственный в мире гений - это Вы, но это знание никому больше передать нельзя.

цитата:

Не уползайте, лапочка, не уползайте! Повторяю вопрос: КАКОЕ ОТНОШЕНИЕ К РЕЛЯЦИИ имеют права или транзакции?
Права имеют самое прямое отношение, их там проще раздавать и администрировать. Есть относительно небольшой список таблиц и я, как администратор СУБД, могу его проанализировать своим умом и решить кому из пользователей какие таблицы можно читать. А вот на что можно выдавать права в сетевой или иерархической СУБД, покажите, пожалуйста, примеры.

Транзакции прямого отношения к реляции не имеют, это правда. Однако транзакции нужны не сами по себе, а для поддержания целостной структуры БД. В РСУБД есть масса способов описания и поддержки целостности, например, Foreign Keys. Покажите мне пожалуйста, например, аналог каскадного удаления записей на которые ссылаются foreign keys в нереляционках, если это будет также просто и удобно, я соглашусь что нереляционки обладают такой же гибкостью в плане транзакций.

цитата:

цитата:
И как Вы предлагаете реализовывать JS в браузере, если "DOM Core Specifications" выкинуть на помойку?
Я уже сказал как: внести туда указатели и метки (как в С). Это язык ПРОГРАММИРОВАНИЯ. При чем тут DOM?!
Ну может это и будет язык ПРОГРАММИРОВАНИЯ, но причем тут JS? А "DOM Core Specifications" нужны чтобы определить как должен работать конкретный JS-код в браузере.

цитата:

Чем?! АЛГОРИТМИЧЕСКИ - ЧЕМ?!
Объемами спецификаций.

цитата:

Именно! Пущай научатся вначале хотя бы eval нормально вызывать!
Что значит "нормально"? Это как Вам в голову взбрело, что-ли? Браузеры вызывают eval в соответствии со спецификациями на JavaScript (точнее на ECMAScript).

цитата:

цитата:

Если вы напишите "браузер", который поместится в 64 KB ОЗУ, но при этом не будет поддерживать: 1) HTML 2) CSS 3) JavaScript 4) DOM Core Specifications ...то это не будет браузером никоим образом.
Лапочка! Первые броузеры были именно такие. От них-то и пошло название. Так что... неправда Ваша.
Они поддерживали HTML. Но писать под такой браузер несогласны, т.к. хотите от них еще и JavaScript и пр. Я то как раз только за и считаю что и пользователи Lynx, Mosaic тоже люди.

цитата:

Ну и на кой ему полгига с мегами для тако ерунды?! Какой дебил такое уе..ще написал?
Список "дебилов" (из about:credits):

цитата:

A

Matti Aarnio, Josh Aas, Robert Accettura, Jason Ackley, Carl Adams, Tobias Adamson, Christopher A. Aillon, Ehsan Akhgari, Juan Pablo Alcaraz, Jo Daniel Aleksandersen, Sam Allen, Warwick Allison, Matitiahu Allouche, A. Ambrose, Nicholas Ambrose, Andrew Anderson, Mark Anderson, Ryota Ando, Mike Ang, Hiroshi Annaka, Peter Annema, Edwin Aoki, Vidur Apparao, Carlos Araya, Smokey Ardisson, Koichi Ariyoshi, Kevin Arnold, Akhil Arora, Justin T. Arthur, Marc Attinasi, Bryan Atwood
B

Ninoschka Baca, Ariel Backenroth, Ryan Bacon, Rodrigo Bado, Ralf Baechle, Bradley Baetz, Dwayne Bailey, Péter Bajusz, Jeffrey W. Baker, Jerry Baker, Kirk Baker, Mitchell Baker, Jay Ball, Stuart Ballard, Guido Ballesi, John Bandhauer, Mark Banner, Jens Bannmann, Jason Barnabe, David Baron, Curtis Bartley, Jason Bassford, Ricardo Batista, German Bauer, Michael Bayne, Patrick Beard, Glen Beasley, Nick Beaudrot, Nicholas Bebout, Adam Becevello, Neal Bedard, Christine Begle, Geoffrey Beir, Stephen Beitzel, Artem Belevich, Ruslan Belkin, Mike Beltzner, Kevin Berkheiser, Uri Bernstein, Juraj Betak, Pete Bevin, Gayatri Bhimaraju, David Bienvenu, Christian Biesinger, Jatin Billimoria, Al Billings, Eric Bina, Alex Bishop, Marlon Bishop, Colin R. Blake, Jessica Blanco, Joaquin Blas, Christopher Blizzard, Garrett Blythe, Chuck Boatwright, Brian Bober, Travis Bogard, Bozhan Boiadzhiev, Jamey Boje, Mark Bokil, David Bolter, Nelson Bolyard, Phillip Bond, Chris Booton, Arpad Borsos, David Boswell, Mauro Botelho, Robert E. Boughner, Joey Bowles, Norris Boyd, Kathleen Brade, Justin Bradford, Don Bragg, Ryan Brase, Daniel Bratell, Daniel Brickley, David Brittain, Eric Broadbent, Sarah Broadwell, Tomas Brodsky, Daniel Brooks, Germaine Brown, Jeremy Browne, Erik Bruchez, Ben Bucksch, Frédéric Buclin, Leston Buell, Aureliano Buendía, Simon Bünzli, Eric Burley, Edward J. Burns, Jonathan Buschmann, Grace Bush, Angela Butler-McDonald, Marc Byrd
C

Nilson Cain, Lapo Calamandrei, Jeff Caldwell, Dave Camp, Rob Campbell, Conrad Carlen, Bjorn Carlson, Laurel Carlson, Brian Carpenter, Jan Carpenter, Evan Carter, Andrew Cassin, Ryan Cassin, Sudhakar Chandrasekharan, Gary Chan, John Chang, Wan-Teh Chang, Milind Changire, Steve Chapel, Christopher S. Charabaruk, Serge Charapaev, Andrew Chatham, Paul Chek, Ginn Chen, Ray Chen, Tao Cheng, Alexey Chernyak, Troy Chevalier, Pascal Chevrel, Jose Maria Chia, Lisa Chiang, Hankin Chick, Sean Chitwood, Joe Chou, Howard Chu, Tony Chung, Robert Churchill, Ashley Clark, James Clark, Steve Clark, Richard Cohn, Lorenzo Colitti, Pete Collins, Scott Collins, Don Cone, Mike Connelly, Mike Connor, Alex Converse, Chris Cooper, Catherine Corre, Simone Cox, Paul Craciunoiu, Donnie Cranford, Joshua Cranmer, Tim Craycroft, Chris Crews, Neil Cronin, Todd Crowe, Jim Crumley, Crysgem, Nicholas Cull, J. Shane Culpepper, Stacey Curtis
D

Steve Dagley, Denis Daly, Magnus André Damli, Michael Daumling, Bruce Davidson, Angus Davis, Anthony Davis, Paul Davis, Michael Dayah, Mo DeJong, John Dee, Javi Delgadillo, Tom Dell, Vince DeMarco, Prashant Desale, Harish Dhurvasula, Matthew Dillon, Milos Dinic, Patrick-James Dionisio, Jeff Dlouhy, Steve Dobbelstein, Jeremy M. Dolan, Simford Dong, Clayton Donley, Stephen Donner, Thomas Down, Rick Downes, Asa Dotzler, George Drapeau, Chris Dreckman, Bert Driehuis, David Drinan, York Du, Alvin Duan, Micah Dubinko, Jean-François Ducarroz, Suresh Duddi, Jim Dunn, Michael Dunn, Crutcher Dunnavant, Karsten Düsterloh, Jeff Dyer
E

Jason Eager, Ali Ebrahim, Rafael Ebron, Sean Echevarria, Brandon Ehle, Brendan Eich, Jan Eldenmalm, Tom Ellins, Desmond Elliott, Rick Elliott, Steve Elmer, Joseph Elwell, Dawn Endico, Hans-Andreas Engel, Kai Engert, Madhava Enros, Jean-Jacques Enser, Beth Epperson, David Epstein, Harish Kumar Epuri, Behnam Esfahbod, Ken Estes, Ramiro Estrugo, Matthias Ettrich, Jim Everingham, Christian Eyrich
F

John Fairhurst, Gilbert Fang, Darin Fisher, David Fisher, Matt Fisher, Greg Fiumara, Werner Fleck, Alec Flett, Marcello Fontolan, Bret Ford, Robin Foster, Hugues Fournier, Marc Fraioli, Joe Francis, Andreas Franke, Simon Fraser, Jonathan Freeman, Alan Freier, Noah Friedman, Michael J. Fromberger, Chris Fuchs, Koji Fujimoto, C. Fung, Igor Furlan, Scott Furman, Ryoichi Furukawa
G

Niccolò Gallarati, Jeff Galyan, Bruce Gao, Sean Gao, David Gardiner, Jeff Garzik, Stephen Gates, Prachi Gauriar, Serge Gautherie, Claudius Gayle, Samir Gehani, Jim Gellman, Henrik Gemal, David Gerard, Rick Gessner, John Giannandrea, Bill Gibbons, Stelios Gidaris, Rob Ginda, Daniel Glazman, Mike Gleeson, Jennifer Glick, Joshua Go, Esther Goes, Eli Goldberg, Sol Goldfarb, Ernesto Gómez, Ben Goodger, Fenella Gor, Paul Gorodyansky, Jonathan Granrose, Jarrod Gray, Pamela Greene, Joseph Gregorio, Tague Griffith, Steven Groginsky, Patrick Gu, Karl Guertin, Ramanathan Guha, Arnt Guldbrandsen, Georgi Guninski, Pat Gunn, Sanjay Gupta, Gábor Lipták
H

Derkjan de Haan, Dave Haas, David Hallowell, Mark B. Hamby, Mark Hammond, Paul Hangas, Henrik Lynggaard Hansen, Stefan Hanske, Jennifer Hao, Lawrence Hardiman, Stephen Hardt, Cyrus Harmon, Matthew Harmsen, Warren Harris, Hirotoshi Harunaga, Brad Hart, Mark Harvey, Achim Hasenmueller, Amancio Hasty, Jens Hatlak, Adam Hauner, Jasper Hauser, Adrian Havill, Terry Hayes, Leif Hedstrom, Prabhat Hegde, Michael Hein, Brian Heinrich, Jason Heirtzler, Thorsten Heit, Robert Hencke, Christopher Henderson, Richard Henderson, Patrick Hendriks, Andrew Henry, Stefan Hermes, Toni Hermoso Pulido, Tara Hernandez, Daniel Rodríguez Herrera, Richard Hess, Joe Hewitt, Kipp Hickman, Ian Hickson, James Hicks, Jon Hicks, Ralf Hildebrandt, Chris Hill, Tim Hill, Ludovic Hirlimann, Stanley Ho, Eric Hodel, Grey Hodge, Andrew Hodgkinson, Chris Hofmann, Daniel Holbert, Bobby Holley, Martin Honnen, Vera Horiuchi, Max Horn, Waldemar Horwat, Khaled Hosny, Naoki Hotta, Chris Houck, Ayman Hourieh, Chad House, Dora Hsu, Candice Huang, Dave Huang, Kevin Huang, Bert Hubert, Markus Hübner, James Huff, Karl Ove Hufthammer, Anthony Hughes, Joe Hughes, Dan Hugo, Anas Husseini, Roman Huy-Prech, David Hyatt, Marco S. Hyman
I

Miguel de Icaza, Benito Infantino, Jaagup Irve
J

Dave Jagoda, Darshan Jani, Neeti Jain, Peter Jaros, Jamus Jegier, Rob Jerdonek, Randell Jesup, Daniel Jeter II, Henry Jia, Jack Jia, David Joham, Glenn Johnson, Jason Johnston, Alan S. Jones, Brian Jones, Jeffrey Jones, Ryan Jones, Dainis Jonitis, Jonas Jørgensen, Ani Joshi, Rick Ju, Michael Judge, Bob Jung, Choi Junho, Gerard Juyn
K

Dai. K., Shotaro Kamio, Christian Kaiser, Robert Kaiser, Takuomi Kagaya, Aaron Kaluszka, Max Kanat-Alexander, Edward Kandrot, Tetsuya Kaneishi, Paul Kanz, Ryuzi Kambe, Blake Kaplan, Michael Kaply, Phil Karlton, David Karlton, Chris Karnaze, Kevin Karpenske, Suresh Kasinathan, Peter Kasting, Masaki Katakai, Makoto Kato, Slavomir Katuscak, Alfred Kayser, Koike Kazuhiko, Joe Keane, Chris Keating, Michael R. Kedl, R.J. Keller, Oliver Klee, Juergen Keil, Miodrag Kekic, Lina Kemmel, Todd Kennedy, Jason Kersey, Masatoshi Kimura, Austin King, Brian King, Jerry L. Kirk, Christopher Kline, Marcia Knous, Kit Knox, Jeffrey S. Kobal, Teruko Kobayashi, Paul Kocher, Yannick Koehler, Kurt Kohler, Michael Köhler, Dmitry Kohmanyuk, Greg Kolanek, Justin A. Kolodziej, Stephen Koren, Greg Kostello, Chiaki Koufugata, Mike Kowalski, Daniel Kraft, Ori Kravitz, Nick Kreeger, Ramesh Krishnamagaru, John Kristian, Christopher Kritzer, Eric Krock, Jan Kroken, Scott Kronick, Gijs Kruitbosch, Radha Kulkarni, Rethi Kumar, Igor Kushnirskiy, Gerardo Kvaternik, Gary Kwong
L

Dirk Laessig, Steve Lamm, Tom Lane, Mark Lanett, Todd Larason, Sharon Laquinta, Alexander Larsson, Chris Lattner, Ben Laurie, Bill Law, Roger Lawrence, Chris Lawson, Martin Lawyer, Thaks Van Le, Jeremy Lea, Antoine Leca, Elliot Lee, Kevin Lee Hoa Lee, Taek Lee, Michiel van Leeuwen, Jan Leger, Michelle Lei, Thomas Lendacky, Attila Lendvai, Jonathan Lennox, Jake Lentz, Mike Lenz, Tomi Leppikangas, Ian Leue, Michael Leventhal, Aaron Leventhal, Clayton Lewis, Jessie Li, Richard Li, Shanjian Li, Shuehan Liang, Dan Libby, Sarah E.V. Liberman, Nicolás Lichtmaier, Kurt J. Lidl, Pontus Lidman, Mark Lin, Frank van der Linden, David Lindes, Srinivas Lingutla, Peter Linss, Betty Lipkin, Zach Lipton, Luigi Lira, Calvin Liu, Mindy Liu, Vladimir Livshits, Richard K. Lloyd, Adam Lock, Reed Loden, Syd Logan, Robert Longson, Michael Lowe, Charity Lu, Harry Lu, Robin Lu, Xiaobin Lu, Peter Lubczynski, Torben Lüders, Bill Lynch, Gregory Lynn, Chris Lyon
M

Braden McDaniel, Scott MacGregor, Paul MacQuiddy, Markus Amalthea Magnuson, Ere Maijala, Wade Majors, Waqar Malik, Daniel Malmer, Klaus Malorny, Charles Manske, Steve Mansour, Giorgio Maone, Brent Marshall, Neil Marshall, Owen Marshall, Stephen Martin, Gervase Markham, Joonas Marttila, Kazushi Marukawa, Tsukasa Maruyama, Allan Masri, Jordi Mas, Matthew Mastracci, Daniel Matejka, David Matiskella, Taro Matsuzawa, Chris McAfee, Mike McCabe, Kevin McCarthy, Don McCasland, Tim McClarren, Kevin McCluskey, Mike McCool, Patrick McCormick, David McCusker, Ian McGreer, Dan McGuirk, John McMullen, Tim McNerney, Bob Meader, Tim Meader, David Meeker, Rich Megginson, Myk Melez, Hovik Melikyan, Magnus Melin, Ralph Mellor, Don Melton, Jim Melvin, Jordan Mendelson, Mark Mentovai, Ben Mesander, Eric A. Meyer, Felix Miata, O'Reilly Michael, Steven Michaud, Bernd Mielke, Malini Minasandram, Rakesh Mishra, Bill Mitchell, Eric B. Mitchell, Frank Mitchell, Bruce Mitchener, Jon Mittelhauser, Peter Mock, Soren Juul Moller, Katsuhiko Momoi, Michael Monreal, Simon Montagu, Lou Montulli, Jay Moran, Stuart Morgan, Dan Morrill, John Morrison, Steve Morrison, Steve Morse, Dan Mosedale, Adam Moss, Egota Motohiro, Srilatha Moturi, Thomas Mueller, Constantine A. Murenin, Samuel Murray, Sean Murphy, Kevin Murray, Spencer Murray, Brian J. Murrell, Alex Musil, Akira Mutsuro
N

Geetha Nagarajan, Noriyuki Nakajima, Glen Nakamura, Masayuki Nakano, James Lewis Nance, Murali Nandigama, Chris Nandor, Chak Nanga, Shashi Narain, Antti Näyhä, Ian Neal, Christopher Nebergall, David Nebinger, Chris Nelson, Dru Nelson, Bryce Nesbitt, Brad Neuberg, Dave Neuer, John Neystadt, Giao Nguyen, Hoa Nguyen, Thu Nguyen, Vuong Doan Nguyen, Andrew Niese, Johnathan Nightingale, Andreas Nilsson, Martin Nilsson, Tristan Nitot, Takashi Nobsawa, Michael Noe, Greg Noel, Aleksey Nogin, Eoin Norris, Leonard Norrgård, Mike Norton, Tomasz Nowakowski, Daniel Nunes, Pam Nunn
O

Ian Oeschger, Eric Olson, Zaw Oo, Wei Tsang Ooi, Serge Orlov, Tina Ornduff, Rick Osborne, Paul O'Shannessy, Hideo Oshima, Brian Ostrom, Andreas Otte
P

Shawn Packwood, Isriya Paireepairit, Harrison Page, Wladimir Palant, Raju Pallath, Marcus Pallinger, Mats Palmgren, Bill Panagouleas, Par Pandit, Simon Paquet, Tom Paquin, Steve Parkinson, Stuart Parmenter, Varada Parthasarathi, Davide Pasetto, Balazs Pataki, Dhiren Patel, Curt Patrick, Akkana Peck, Javier H. Pedemonte, Julian Pellico, Reinhold Penner, Kalle Persson, Christopher Petersen, Phil Peterson, Frank Petitta, Loan Pham, Pierre Phaneuf, Thom Phillabaum, Paul Phillips, John Pierce, Julien Pierre, Martijn Pieters, Paul Pietromonaco, Mike Pinkerton, Tom Pixley, Rich Pizzarro, Michael Plitkins, Erik van der Poel, Philip Pokorny, Eric Pollmann, Rick Potts, Roozbeh Pournader, Harshal Pradhan, Larry Prall, Christopher Pratt, Andreas Premstaller, Terri Preston, Jane Prusakova, Scott Putterman
Q

Florian Quèze
R

Jim Race, Bhuvan Racham, Amarjeet Singh Rai, Nisheeth Ranjan, HJ van Rantwijk, Keith Rarick, Samphan Raruenrom, Neil Rashbrook, Sheela Ravindran, J. Paul Reed, Oleg Rekutin, Bob Relyea, Hervé Renault, Lisa Repka, Markus Rex, Carlos Reyes, Tim Rice, Sean Richardson, Victor Riley, Tom Rini, A. Daniel Roberts, Brad Roberts, Tony Robinson, Fred Roeber, Greg Roelofs, Brian Rogers, Andrei Romanov, Dan Rosen, Wolfgang Rosenauer, Doron Rosenberg, Jim Roskind, Blake Ross, James Ross, Catalin Rotaru, Tim Rowley, Steve Rubinstein, Jesse Ruderman, Steve Rudman, Torsten Rüger, Philipp Rumpf, Terje Runde, Brian Ryner
S

Chris Saari, Masaaki Saitoh, Gagan Saksena, Joseph Samake, Wilfredo Sanchez, Pradeep Sanders, Jukka Santala, Montserrat Sanz, Pierre Saslawsky, Masatoshi Sato, Greg Scallan, Dylan K. Schiemann, Phil Schwan, Peter Schultz, Morgan Schweers, Will Scullin, Chris Seawood, Adnan Selimovic, Isan Selimovic, Raffaele Sena, Dimi Shahbaz, Berkley Shands, Wen ShaoHua, Bindu Sharma, Gavin Sharp, Mike Shaver, Hubert Shaw, Dylan Shea, Doug Sheppard, Gordon Sheridan, Ilya Sherman, Gia Shervashidze, Jayesh Sheth, Roby Sherman, Jungshik Shin, Jonas Sicking, Roger B. Sidje, Samuel Sidler, Chris Siegler, Robert Sim, Andrew Simmonds, Franz Sirl, Henri Sivonen, Rich Skrenta, Henrik Skupin, Andrew Smith, Brandon Smith, Kyle Smith, Mark C. Smith, Miloslaw Smyk, Reed Snellenberger, Hoi-Sheung Wilson So, Henry Sobotka, Josh Soref, Jes Sorensen, Rod Spears, Seth Spitzer, Jim Spring, Sudharshan Srinivasan, Kenneth Stailey, Markus Stange Mark Stankus, Dale V. Stansberry, Rainer Staringer, Douglas Stebila, Jacob Steenhagen, Jakub Steiner, Brian Stell, Johnny Stenback, Mitchell Stoltz, Rob Stradling, Urs Streidl, Sean Su, Kartik Subbarao, Hani Suleiman, Adam Sulmicki, John Sun, Keiki Sunagawa, Fredrik Sundberg, Kurt Swanson, Aaron Swartz
T

Lloyd Tabb, Hidetoshi Tajima, Mark Takacs, Jerry Tan, Yung-Fong Tang, Andrew Taylor, Owen Taylor, Tim Taylor, Arshad Tayyeb, Takayuki Tei, Raman Tenneti, David Tenser, Dean Tessman, Siyuan Tian, Huynh Trinh, Namachivayam Thirumazhusai, Chris Thomas, Matthew Thomas, Andrew Thompson, Rob Thorne, Dominik Tobschall, Heikki Toivonen, Asko Tontti, Chris Torek, Henri Torgemane, Nathan Torkington, Rüger Torsten, Chris Toshok, Aleks Totic, Joan Touzet, Michael Toy, Aaron Train, Archimedes Trajano, Peter Trudelle, Jeff Tsai, Doug Turner, Mahesh Tyagarajan
U

John Unruh, Jonas Utterstron
V

Judson Valeski, Peter Van der Beken, Ryan VanderMeulen, Peter VanHelden, Jan Varga, Zoltan Varga, Eric Vaughan, Dan Veditz, Rodney Velasco, Andrew Veliath, Matthias Versen, Romain Vignes, Alistair Vining, Keith Visco, Sjoerd Visscher, Frank Visser, Vlado Valaštiak, Andy Vogel, Andrew Volkov
W

Håkan Waara, Steven Wagner, Ronan Waide, Jeff Walden, Stephen Walker, Tracy Walker, Cathleen Wang, Philip K Warren, Andrew Wason, Chris Waterson, Robert Watkins, Matt Watson, Jonathan Watt, Nate Weaver, Dieter Weber, Peter Weilbacher, Dan Weinstein, Jeff Weinstein, Tom Weinstein, Terry Weissman, Mark Welch, Morten Welinder, Christian Wenz, Gail White, Derek Wickersham, Duncan Wilcox, Brian C. Wiles, Ian Wilkinson, Simon Wilkinson, Steffen Wilberg, David Williams, Matthew Willis, Steve Willis, John Wilson, Matt Wilson, Daniel Witte, Taco Witte, Philippe Wittenbergh, Andrew Wnuk, Friedel Wolff, Shirley Woo, Simon Woodside, Andrew Wooldridge, Edwin Woudt, Mike Wynholds, Paul Wyskoczka
X

Joshua Xia, Ying-Lin Xia, Antonio Xu
Y

Satoru Yamaguchi, Kazu Yamamoto, Jay Yan, Koichi Yasuoka, Christopher Yeh, Prasad Yendluri, Bolian Yin, Roy Tetsuro Yokoyama, Eric York, Kyle Yuan, Seokchan Yun
Z

Richard Zach, Vadim Zaliva, Matthew Zahorik, Jamie Zawinski, Boris Zbarsky, Pete Zha, Leon Zhang, Louie Zhao, Philip Zhao, Silvia Zhao, Kevin Zhou, Sam Ziegler, Jiri Znamenacek

753. Vladimir Rybinkin, 24.11.2009 09:53
ivanhoe
цитата:
Поскольку Владимира уже должно было разбанить...
Как разбанили, так и забанят.
цитата:
Это говорит о том, что каждая имеет свою нишу.
Именно! А я говорю про УНИВЕРСАЛЬНУЮ СУБД.
цитата:
Жесткость структуры это тоже "возможность".
Не-а. Ее отсутствие.
цитата:
А вот с СИНДБАД'ом умеет работать единственный в мире гений - это Вы, но это знание никому больше передать нельзя.
Синдбад не есть продукт. Со всеми вытекающими.
цитата:
Права имеют самое прямое отношение, их там проще раздавать и администрировать.
Никакого. Ничуть не проще - СЛОЖНЕЕ!
цитата:
Есть относительно небольшой список таблиц и я, как администратор СУБД, могу его проанализировать своим умом и решить кому из пользователей какие таблицы можно читать. А вот на что можно выдавать права в сетевой или иерархической СУБД, покажите, пожалуйста, примеры.
Пожалуйста. Есть относительно небольшой субграф и я, как администратор СУБД, могу его проанализировать своим умом и решить кому из пользователей какие данные можно читать.
цитата:
Транзакции прямого отношения к реляции не имеют, это правда. Однако транзакции нужны не сами по себе, а для поддержания целостной структуры БД.
И это тоже правда.
цитата:
В РСУБД есть масса способов описания и поддержки целостности, например, Foreign Keys.
Ха-ха-ха! См. мой отчет в привате по ошибкам РБД.
цитата:
Покажите мне пожалуйста, например, аналог каскадного удаления записей на которые ссылаются foreign keys в нереляционках, если это будет также просто и удобно, я соглашусь что нереляционки обладают такой же гибкостью в плане транзакций.
Покажите пример в реляции - я его "отредактирую".
цитата:
Ну может это и будет язык ПРОГРАММИРОВАНИЯ, но причем тут JS?
При том, что это все-таки лучшее и того, что есть на клиенте.
цитата:
А "DOM Core Specifications" нужны чтобы определить как должен работать конкретный JS-код в браузере.
Неправда Ваша. Конкретному коду (моему, например), насрать на DOM.
цитата:
Объемами спецификаций.
Ха-ха-ха! Объемы спецификаций на шахматы на порядки больше.
цитата:
Что значит "нормально"? Это как Вам в голову взбрело, что-ли? Браузеры вызывают eval в соответствии со спецификациями на JavaScript (точнее на ECMAScript).
Неправда Ваша. Кто, когда, где запретил динамический вызов eval? Тыщу раз спрашивал. В ответ - тишина...
цитата:
Они поддерживали HTML.
1. Какой? 2. Как?
цитата:
Я то как раз только за и считаю что и пользователи Lynx, Mosaic тоже люди.
Я тоже.
цитата:
Список "дебилов" (из about:credits):
Надо же! Я думал, что во всем белом свете столько нет!

Добавление от 24.11.2009 10:00:

ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
Юра Шпеер обещал сюда заглянуть!

ТРЕПЕЩИТЕ, ГАДЫ!!!


anuta

цитата:
Среднестатистический пользователь уже давно не знает всех возможностей офиса и не пользуется ими.
И НЕ ДОЛЖЕН! Идиотское творение, с несколькими условно необходимыми возможностями. Хуже разве что акробат.

theaspect
цитата:
если апплеты хуже purejs, то почему же сейчас они возвращаются?
Мало ли дерьма возвращается? Я уже говорил: лет через 10 (скорее всего, раньше) все позабудут и про "лицо silverlight от ms", и про "air от adobe" и про "javaFX от san". Конечно, "не от хорошей жизни" - надо же "бездельникам во всех трех компаниях" изображать, что они не просто там "сидят"...
цитата:
да и 'функциональности' в жабоскрипте не хватает для того чтобы пользователь 'писался от радости'
Да? Ну и КАКОЙ ЖЕ ТАКОЙ "функциональности" ему не хватает? ЧЕМ нужно пополнить хотя бы мой a.j? Именно Вам я говорил, что одного eval более, чем достаточно, чтобы повысить функциональность в разы. И вообще, вышвырнуть на хрен пресловутые библиотеки, и решить все эти гребаные "проблемы" современных "девелоперов". Тем более, что JS - интерпретатор, что дает возможность даже генерить код "на лету", и скармливать броузеру полученные функции. Именно Вам я говорил, что без указателей любой язык программирования мгновенно превращается в полное дерьмо. И я до сих пор не увидел ни одного идиота, который посмел бы это отрицать. Кстати, "проблемам с блокировками" больше нет? С "простейшими фильтрами" теперь ВСЕ ясно? Никаким "стандартом" динамический вызов eval не запрещен?
цитата:
дальше простая арифметика
Столь же простая, сколь и идиотская.
цитата:
а если страница одна и весит она мегабайты?
А мозги включать не пробовали?! Я же русским сказал: ПЕРЕГЕНЕРИТЬ, а не ПЕРЕГРУЗИТЬ!
цитата:
вам изложили пол дюжины ключевых различий.
Это Ваня, что ли? Нет там ни хрена "ключевого". А Ваня в очередной раз "потерял нить обсуждения". Судя по всему, больше он ее не найдет.
цитата:
вывод: да это практически одно и то же - вызывает смех
Естественно! Какой идиот сказал, что это одно и то же? Ублюдочная, кастрированная пародия, загаженная дополнительно всяким дерьмом - это "практически одно и то же"?!
цитата:
и да, я тоже мобильный пользователь
И Вам тоже "Интерактивность в Web не нужна категорически?

Partisan
цитата:
Вы сами напросились. Приходится отметить факт: имеется брехня, автор - Vladimir Rybinkin.
Имеется. Только автор - Partisan. Я ЗНАЮ "все эти смыслы" не только тыщу лет, но и тыщу раз про них говорил. Трусливый неуч, вместо того, чтобы обозначить свое якобы имеющееся у него мнение, тычет куда-то, где оно якобы имеется, да еще "ясное всем, кроме".
цитата:
раз, вопреки "всем этим смыслам" назвали С "функциональным языком", а JavaScript в вашем представлении это "упрощённый C", что невозможно, т.к. в JavaScript есть элементы функционального программирования, а в C нету.
Объясняю в стотысячный раз: в С есть ВСЕ, ЧТО ДУШЕ УГОДНО. Кроме: строчных комментариев, меток и инициализации ассемблерного вида (что при желании можно реализовать даже без изменения синтаксиса). А также жесткого требования передачи параметров через стек (что реализовано-таки фактически, кроме нескольких идиотских трансляторов - наскоко я понимаю, все они уже умерли естественной смертью). Все остальное у него ЕСТЬ, и ни один человек, хоть что-нить соображающий в программировании, не может этого отрицать.

blackhearted
цитата:
Лично меня позабавила фраза...
Естественно! Что еще делать распальцованным неучам, кроме как "забавляться" по самым идиотским поводам?
цитата:
Я бы посмотрел как справился МАСТЕР со своей сложнейшей задачей без этой индусской поделки.
А к чему здесь "бы"? Имеющий глаза... На хрена МНЕ какая-то "индусская поделка"? Повторяю вопрос: какое отношение имеет сраная спецификация сраного DOM к языку программирования?!

jooher
цитата:
Скучная дискуссия о предпочтениях "нравится аякс или не нравится" не могла бы столько времени тянуться без твоего каталитического таланта
Вот и валите отсюда, и ведите, чо хотите. Я по вашим веткам не бегаю, это ВЫ за мной шляетесь.
цитата:
Ты какого Маккарти то все время поминаешь, дурик? Того, который лисп изобрел?
Того самого, дурик. Лисп-то на хер никому не нужен, а вот "попутная" идеология программирования в объектах и событиях, изуродованныя Страустропом до неузнаваемости - очень даже.
цитата:
Ты вот его спроси, что он понял под "мусором"...
Постинги распальцованных неучей, ни хрена не знающих, ни хрена не умеющих, вечно скулящих, за мной из ветки в ветку ползающих, все на свете засоряющих. Устроит?
цитата:
Да нет, гораздо интересней смотреть что он пишет на полно серьезе
Ничуть! Мне потребовалось все же заглянуть в DAP, чтобы понять, что мозги там и не ночевали. А своевременная шутка сразу дает полную информацию, без лишних телодвижений.
цитата:
Тобой? Дайте, дайте мне эту ссылку!!!
Господи, что за болван! Не мной, не мной, успокойтесь. Ссылок при желании можно найти немеряно - там где-то выше Партизан учил, как это делается. Была даже одна прям здесь - Ваня, что ли, приводил.
цитата:
А если что-то прекрасно грузится напрямую - зачем там вообще тогда аякс?
Затем, что все эти идиоты (которые создатели и их читатели) до сих пор въехать не могут, что возня с загрузкой лишь мелочь, эпизод, побочный эффект технологии.
цитата:
А можно сразу честно разделить
Можно. К AJAX это не имеет ни малейшего отношения. Как и к "двойной работе".
цитата:
Нет никаких объективных причин не писать неуемные кривулины в виде апплетов, сильверлайтов и флэшек.
Как раз наоборот: есть причины их ПИСАТЬ. Включая ОС.
цитата:
Думаю, кризис отучит сопротивляться удобным платежным схемам
Ха-ха-ха! Сопротивляются те, кто на этом бабки ТЕРЯЕТ. При кризисе это еще болезненнее.
цитата:
никто не утверждал, что на js можно и нужно делать ВСЕ ПОДРЯД.
Я утверждал. Все, что нужно ЮЗЕРУ - без проблем. При наличии нормального броузера - ваще все. Меня умиляет: вся ветка - один сплошной скулеж о немощности и беспомощности ЛЮБОЙ математики. Так чем плохо ЛУЧШЕЕ из всего, что есть на клиенте?
цитата:
у хтмл-движков здесь огромное преимущество в том, что они изначально заточены под автоматические reflow и привязку визуальной структуры документа к его эээ.... как это назвать?... топологии?...
В чем преимущество?! Нужно - так привяжите не "изначально", а не скулите в очередной раз.

dozen
цитата:
пока пишешь сообщение, часто появляется "кто-то добавил ответ, показать?"
Ну и чо? Это круто, что ль? Реализация явно проблем не должна составлять никаких. Но нужно ли?
цитата:
По-моему, это вредная фича.
Не часто, не часто я с тобой согласен...
цитата:
До жирафа дошло! А что, ты всё это время free() в JS искал?
Нет, никакого free() я не искал, хотя если она В ЯЗЫКЕ, должны быть и соответствующие конструкции. И, если она ДЕЙСТВИТЕЛЬНО в языке, это и есть лишняя иллюстрация идиотизма девелоперов.
цитата:
Я, наверное, становлюсь мудрее, и начинаю избегать прямого общения с ... в общем, я лучше умных людей почитаю.
Ну да, "прямое общение" - оно чревато (если, конечно, говорить не о навозных мухах, а все же о программировании). Неужто дождусь, когда ты из моих веток свалишь?!
цитата:
Но мы-то возможности технологии обсуждаем, а не персоналии, да?
Да?! Это потому, что меня вырубили? До сих пор кроме одной "персоналии" ни хрена что-то не обсуждалось...
цитата:
А то какой-нибудь ВР на Haskell тупую кривую поделку напишет
Нет, это разве что Ваня...
цитата:
и что -- Haskell отныне в black list?
А куда же еще?! Кому нужна эта дребедень? Кто о нем вспомнит через пару-тройку десятков лет?
цитата:
Я за полноценную поддержку AJAX в каждом браузере. Кто не поддерживает -- пусть не называется браузером.
Это-то правда. Но пока что нечего назвать "AJAX", нечего "полноценно поддерживать".
цитата:
одна маленькая деталь -- отзывчивость и простота интерфейса -- перевесила все эти выгоды.
Во! Я и говорю: выбросить на хрен всех этих девелоперов с клиента - и все проблемы мгновенно исчезнут.
цитата:
просто ввиду открытости и простоты последних.
Браво! Неужто и с этим будут спорить?
цитата:
Повторю -- это всё не проблемы AJAX, это наличие или отсутствие желания разработчика проработать вопросы доступа с устройств с disabilities.
Ну, на меня набрасываются - это понятно. Интересно, как будут реагировать на верные мысли В ТВОЕМ исполнении...
цитата:
Пааааадонки! тупицы! юзерам пора всю эту шушеру! Шпеер! школьники Нелидово!
Вот именно! Дополнительно - воры, бездельники и неучи криворукие.
цитата:
Офис уже давно не развивается.
Блин, да что же это творится?! Буквально на глазах ты преображаешься из одного из самых тупых в одного из самых острых. Какая же жуткая деградация у всего вашего стада!
цитата:
Это всё субьективизм и навешивание ярлыков.
Ой, лапочка! Да ты никак себя в моей шкуре почувствовал?
цитата:
а отрубить его не получается
О! Это я Николаю с самого начала как одно из главных возражений и давал...
цитата:
99% пользователей это не нужно.
100%!
цитата:
но это спор для другой ветки
А "то"?!
цитата:
Чем не OLE в веб варианте?
OLE, OLE. Такое же дерьмо.

moderator-Kid
цитата:
Я человек мягкий и терпеливый, ставил ВР замечания в 5 раз реже, чем он того заслуживал, но даже этом случае он ухитрился перебрать.
Дерьмо ты...
Здесь я пытался хамить модератору. Получил замечание и теперь гордо несу знамя жертвы модераторского произвола.

ivanhoe
цитата:
И вообще я про то, что для сетей с большим откликом часто бывает надо минимизировать кол-во запросов к серверу, не дергая сервер без нужны. AJAX увеличивает кол-во обращений к серверу обычно на порядки.
Повторяю: создатели AJAX ПОНЯТИЯ НЕ ИМЕЮТ, на хрена он нужен. Они САМИ об этом говорят. Отсюда очевидные идиотизмы разных там реализаций, которые, к тому же, ВЫГОДНЫ криворуким девелоперам. А ВАШЕ непонимание ситуации добавляет сюда еще и ВАШ идиотизм. К Вашему сведению, "дергать сервер без нужды" и есть загружать его лишней, ненужной работой. Например, заставлять его отдать 100К, когда на самом деле юзеру нужен только 1К. Если же Вы полагаете, что накладные расходы настолько велики, что делают оправданным ЭТОТ идиотизм (кстати, цифры - в студию!), то это вновь вина криворуких. Возможно. Когда-то столкнулся на практике с их кретинизмом: принципиальной невозможностью http-запроса на ненадежном протоколе. Стадо баранов! И весьма высокого уровня.
цитата:
а вдруг еще кто-то что-то написал? Или отредактировал?
Вот и пусть клиент запросит с сервера ТОЛЬКО ЭТО. Это максимум 5% от всей остальной мерзости.
цитата:
Получается, надо постоянно состояние записей, а не изменилось ли что? Сложная логика (придется изобретать протокол синхронизации), хуже переносимость.
Чего здесь "постоянного"?! Чего "сложного"? При чем здесь переносимость? КУДА переносимость?
цитата:
с любого Lotus-клиента ты можешь поредактировать что угодно в общей базе на что есть права. И работает в корпоративных IP-сетях без выхода в Интернет.
А что, это уже стало достоинством? Без Lotus Мерседесы и этого уже не умеют? "Поредактировать что угодно в общей базе на что есть права и работать в корпоративных IP-сетях без выхода в Интернет? Охренели совсем клиент-программеры!
цитата:
Вот, кстати, а где в Web-офисах OLE?
А и в самом деле, где? Меня лично никогда эта бредятина не интересовала как юзера, но все-таки? Востребовано? И до сих пор не реализовано? А что так? Не говоря уже о расширяемости всего этого добра...
цитата:
В последнее время стал замечать тенденцию что во многих вещах (новости, погода и пр.) предпочитаю мобильный Web обычному. Из-за продуманности и качества интерфейса - все только по делу и ничего лишнего.
Ага! У обычного Web, стало быть, непродуманный и некачественный интерфейс. Лишнее доказательство криворукости бездельников и неучей, безнаказанно доящих бедного юзера.
цитата:
А тулкиты не каждый программист сам пишет, однако.
Вот именно, что КАЖДЫЙ! Писал бы профи - тулкиты по пальцам можно было бы пересчитать, и работали бы везде, и юзеры бы не страдали.
цитата:
Кроме того, ты не учитываешь в своем примере с форумом постоянный поллинг сервера Ajax-клиентом.
А НА ХРЕНА он нужен, такой "постоянный"? Чтобы "съедать прилично трафика и дико раздражать мобильного пользователя"? А отдать настройку юзеру - на это у нас мозгов уже не хватает?
цитата:
А на Java applets есть вполне быстрые, удобные и функциональные продукты, работающие даже на железе 10-летней давности.
Кто ж спорит? Токо зачем этот Java ваще нужен? ОЧЕНЬ уважаемый мною Кизуб, скажем, считал, что только он и нужен, я - наоборот: выбросить к чертям собачьим всю эту дребедень куда полезнее.
цитата:
Сделали бы на Аплетах/Air/SilverLight было бы еще отзывчевее и красивее.
Но хуже. БЕЗНАДЕЖНО хуже.
цитата:
По-моему фича крайне полезная.
Ну дык ПОЧЕМУ не реализована? Опять проблемы?
цитата:
Я сдаюсь. На таком уровне дискутировать я не в силах.
Так не задавайте такой уровень! Мне он тоже осточертел, тем более - в Вашем "исполнении"!

1. Какая такая "семантика" JS нужна C?

2. Какая такая "динамическая типизация" нужна C?

3. Кому нужна такая мерзость, как исключения? Какая от них польза?

4. Что там за ФП, и на хрен он нужен C?

5. Какому языку нужна "уборка мусора"? На кой?

6. Какое отношение имеет сраная спецификация сраного DOM к языку программирования?!
цитата:
а не превращались (по своей выслительной мощи) в железо 10-20 летней давности.
А чем плоха мощь? Какие такие задачи ей не подвластны? Я утверждаю: Вы не способны назвать НИ ОДНОЙ такой задачи (своей). Я - могу: Мираж, Синдбад, Комми. Но и для них я не буду скулить по поводу железа.
цитата:
Ты никогда не пользовался GPRS в регионах, когда она микросота на N километров? Каждый лишний байт мешает.
И этот чел еще хает AJAX...
цитата:
Хотя бы даже психологически, что пользователь осознает что Ajax-страница живет своей неподконтрольной ему жизнью, тратя его деньги как ей вздумается.
Очередной идиотизм в квадрате. ОТДАЙТЕ ЮЗЕРУ НАСТРОЙКУ ВСЕГО ЭТОГО ДЕЛА, И НЕ СТРАДАЙТЕ ЗА НЕГО, ЧЕРТ ПОБЕРИ!!!
цитата:
Через сколько лет подобное будет реализуемо на JS с приемлемым быстродействием и пр? Думаю не раньше чем через 3-5 лет. А на Java/Flash/etc такое можно уже сейчас.
Какое такое быстродействие неприемлимо для JS?! ЧТО такого ужасного нужно юзеру, что не укладывается в его быстродействие? ЧТО ЗА ЗАДАЧИ такие сякие разэтакие вы умудряетесь ему придумать?! Сколько лет можно скулить о самых идиотских "проблемах"?!
цитата:
Но вот пользоваться этим будет нельзя, по причине безумного оверхеда JS.
Серьезно? И на что же тратится это "безумие", сударь?
цитата:
Собственно, я допускаю что CPU-intensive приложения JS будут стабильны и юзабельны через 3-5 лет, но сейчас этого нет. А на Java и Flash уже да.
Ну, хорошо: а через 3-5 лет чо делать будете?
цитата:
На мобиле их запускать нет смысла.
А что так? Мобильный юзер сам себя кастрирует?
цитата:
Можно, конечно, хотя почему-то она всегда отсутствует.
Так какого хрена претензии идут к ни в чем не повинному AJAX?!
цитата:
Visio и даже это Gliffy это гораздо больше чем перетаскивание иконок.
Да?! И что же там такого 1. нужного и 2. сложного? Где оверхед?
цитата:
Я не отрицаю что существующий JS/ES когда-нибудь таким сможет стать, но пока он сильно отстает, скажем так.
Слава те! Криворукие девелоперы, просравшие единственную приличную конструкцию - да, реально существуют. Их и нужно мочить, а не клеветать на несчастный JS.
цитата:
В последних версиях анонимные функции есть, как и в JS.
Ну и на кой эта хрень кому нужна? Какому идиоту? ЮЗЕР чему должен радоваться? Не ВЫ, клиент-программеры, а ЮЗЕР!
цитата:
Зато среднестатистическая контора в 10-100 тыс. человек пользуется всеми 100% возможностями офиса.
Чушь! Или, если угодно, ложь.
цитата:
инструменты благодаря OLE и достижениям Microsoft работают слаженно как единое целое.
Во залудил!
цитата:
OLE это не просто вставить Zoho документ в виде IFrame, а и залезть вовнутрь
Ну, спасибо! Ну, потешил!

All
Чо-то вы, господа, начали имя мое всуе упоминать чуть не в каждой ветке, и даже без пояснений (Владимир, ВР, "алгоритмист"). А в моей минимум трижды (!!!) пытались подменить тему. Такой вот у вас жуткий "интерес" к программированию в моих ветках просыпается. И тут же исчезает: меня вырубили - посты закончились, возникшая уже после моей "смерти" ветка почти с той же тематикой от mike_teplitsky тоже фактически откинула копыта, zzf немедленно потерял "желание" разобраться со своей гребаной NP - короче, все идет в точном соответствии с прогнозом, который я дал уже во втором предложении моей приватной ветки от 15.10.2009 15:12. Сейчас прогноз столь же очевидный: кислород мне перекроют немедленно, посты мои во всех ветках безжалостно порежут (думаю, что все-таки не уничтожат полностью - по крайней мере, не все). И вот тогда у вас снова возникнет рецидив, горячее желание обсудить клиента, "любушку", комми, шахматы и/или какую-нить вашу бредятину вроде SEAM или Wicket. Оно и понятно: я дал туеву хучу текстов (которые ни один из вас не оказался способен даже прочесть), реализующих тесты (которые ни один из вас не в состоянии повторить НА ЛЮБОМ рекламируемом вами дерьме - уж за тест4 я ручаюсь), но ваша болтовня ни о чем, стало быть НЕ ЕСТЬ "дураковаляние", а вот МОИ действия под сию категорию попадают, пральна?

754. Hedin, 24.11.2009 12:22
Vladimir Rybinkin
начали имя мое всуе упоминать чуть не в каждой ветке, и даже без пояснений

цитата:
Да поймите наконец, что вы уже себе не принадлежите. Вы — миф, легенда! И народная молва приписывает вам новые подвиги.

755. ivanhoe, 24.11.2009 15:12
Vladimir Rybinkin

цитата:

Именно! А я говорю про УНИВЕРСАЛЬНУЮ СУБД.
И Вы хотите придумать что-то универсальнее реляционной модели? :)

цитата:

Синдбад не есть продукт. Со всеми вытекающими.
Зачем тогда вообще его упоминать и сравнивать? Будет продуктом, тогда сравним, не будет, считаем что его не существует.

цитата:

Никакого. Ничуть не проще - СЛОЖНЕЕ!
Ну прям сложнее. Вот например у меня есть таблица пользователей theuser. И я говорю:
код:

GRANT
SELECT, INSERT, UPDATE
ON
theuser
TO
ivanhoe;

Или
код:

REVOKE
ALL
ON
theuser
FROM
vr;

Что означает "забрать все права на таблицу у пользователя vr, и разрешить изменение таблицы пользователю ivanhoe. По-моему поймет кто угодно (и понимают, с SQL работает масса обычных пользователей, не умеющих программировать). А теперь изобразите это на своих субграфах, чтоб любой бухгалтер понял.

код:

Ха-ха-ха! См. мой отчет в привате по ошибкам РБД.

Не нашел.

цитата:

Покажите пример в реляции - я его "отредактирую".
Вот например, http://www.sqlite.org/foreignkeys.html#fk_actions Здесь попроще изложено.

цитата:

Неправда Ваша. Конкретному коду (моему, например), насрать на DOM.
Поэтому он и не работает без правок других товарищей, что с DOM Вы не ознакомились.

цитата:

Ха-а-ха! Объемы спецификаций на шахматы на порядки больше.
На порядки - это сотни тысяч и миллионы листов. Если бы это было так, в них бы не умели играть ни люди ни компьютеры. Реально шахматные правила можно вместить на пару листов. Ну прибавить еще правила соревнований, как считаются рейтинги - 100 страниц за глаза.

цитата:

Неправда Ваша. Кто, когда, где запретил динамический вызов eval? Тыщу раз спрашивал. В ответ - тишина...
Комитет по стандартизации ECMAScript (это официальное название JS) разрешил его не реализовывать. ECMA-262, раздел 15.1.2.1:
цитата:

If value of the eval property is used in any way other than a direct call (that is, other than by the
explicit use of its name as an Identifier which is the MemberExpression in a CallExpression), or if the
eval property is assigned to, an EvalError exception may be thrown.

цитата:

Они поддерживали HTML.
1. Какой? 2. Как?
Вот такой HTML они поддерживали: http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt

цитата:

Я тоже.
Неправда, вы хотите делать сайты с JS, которые у них работать не будут.

756. dozen, 24.11.2009 20:32
ivanhoe

don't feed the troll

а ты его не только подкармливаешь, но и на обед приглашаешь
неумно

757. Chippy2003, 24.11.2009 21:20
теперь я понял зачем 24" монитору нужна опция поворот на 90 градусов

758. ivanhoe, 24.11.2009 22:08

dozen

Это мне одному что-ли за всех отдуваться? Я не справлюсь.

759. theaspect, 25.11.2009 03:35
Vladimir Rybinkin
Кому нужна такая мерзость, как исключения? Какая от них польза?
конечно WinAPI-style сильно красивее, когда после каждого вызова нужно проверить с полдюжины различных вариантов ответа

Какому языку нужна "уборка мусора"? На кой?
языку с динамическим выделением памяти, чтоб работать с абстракциями, а не с ячейками памяти и указателями каменный век прям. Классический пример - ЛИСП

Что там за ФП, и на хрен он нужен C?
кроссплатформенному ассемблеру он не нужен

Какая такая "динамическая типизация" нужна C?
языку, где с памятью можно извращаться так, как и не снилось JS, динамическая типизация не нужна

проблема в том, что в браузеры встроен не обожаемый вами Си, а JS
хотя, я слышал, что есть сборки Firefox с питоном внутри, но он тоже не похож на си, и даже синтаксис другой, и даже скобочек нет {не язык вобщем}

760. dozen, 25.11.2009 07:41

ivanhoe
Это мне одному что-ли за всех отдуваться? Я не справлюсь.
Ты сам взял на себя обязательство ублажать блаженного. Никто за язык не тянул.

761. Vladimir Rybinkin, 25.11.2009 09:35
ivanhoe
цитата:
И Вы хотите придумать что-то универсальнее реляционной модели?
Нет, не хочу - я УЖЕ придумал.
цитата:
Зачем тогда вообще его упоминать и сравнивать?
Дык больше ж не с чем. Синдбад же, даже не будучи продуктом, уже ого-го!
цитата:
Будет продуктом, тогда сравним, не будет, считаем что его не существует.
Грамотный подход! Только вот закавыка: при таком подходе ВООБЩЕ НИКАКОЙ продукт получить невозможно. Как, скажем, РСУБД на свет умудрились появиться, не подскажете? Вы Кодда не читали, часом? Ту самую статью - "знаменитую", "ключевую", 1970 г.в.? А знаете, что про нее говорили? Не СЕЙЧАС, когда все резко "поумнели", и проливают слезы умиления над прозорливостью гения, а ТОГДА? Цитирую:

Ирв Трейджер: Некоторые из нас из отдела систем пытались читать ее - и не смогли разобраться ни с началом, ни с концом. По крайней мере, тогда статья казалась очень плохо написанной: какая-то промышленная мотивация, а потом прямой переход к математике.

Дон Чемберлин: Мы знали, что где-то в провинции, в Сан-Хосе, выполняется некоторая работа. Был этот парень, Тед Кодд, у которого имелась некоторая строгая математическая нотация, но никто не относился к этому слишком серьезно.

Даже влюбленный в Кодда Крис Дейт писал: Как это не странно, Кодд не определял термин "реляционная модель" до 1979 г. Возможно, еще более странно, что он не определял более общий термин "модель данных" до 1981 г. А еще он писал, что представления Кодда относительно исследуемого им реляционного подхода менялись минимум четырежды(!), ВКЛЮЧАЯ статью, написанной по поводу получения Тьюринговской премии(!!!). Если еще вспомнить Стоунбрейкера, то и позже "Тьюринга" у Кодда появилось "еще две разных версии модели". Так что... неправда Ваша.
цитата:
Ну прям сложнее. Вот например у меня есть таблица пользователей theuser. И я говорю...
Не только сложнее, но и беспомощнее.

Во-первых, цитирую себя в моем заочном споре с Кузнецовым: Кто, собственно, сказал, что классический SQL-запрос не может быть выполнен в сетевой модели? Тот самый, который Вы, Сергей Дмитриевич, и написали? Может, нисколько не хуже, чем в реляционной. Только зачем сетевой модели вдруг понадобились реляционные костыли?

Во-вторых, цитирую фрагмент письма Когаловского (я тоже сдуру описывал: "подход Кодда, подход Бахмана, мой подход" - он мне и врезал совершенно великолепно): Обычно под сетевой моделью данных понимается модель данных CODASYL, но ведь известны другие менее популярные сетевые модели, и можно придумать много новых. Именно! Тогда-то до нас начало доходить, что Синдбад не есть "сетевая модель" (это частный случай), Синдбад не есть "реляционная модель" (это частный случай). Ромка сначала предложил термин "graph-like", а затем - "elastic data model". На нем мы и остановились.

В-третьих, Вы всерьез полагаете, что "любой бухгалтер понял" Ваши SELECT, INSERT, UPDATE?! Лично я что-то ваще ни хрена не понял. На какую такую "таблицу" нужно забрать все права у пользователя vr? Какое это имеет отношение к пользователю ivanhoe? Почему бы ему не разрешить изменение таблицы ТОЖЕ, не трогая vr? Почему бы не дать те же права, которые имеет юзер X, на те таблицы, у которых есть права у юзеров Y или Z? Почему права ваще на таблицы - мож, нужно запретить редактировать секретные КОРТЕЖИ, а также читать ОСОБО секретные кортежи и столбцы? Мож, ему нужно дать разные права в выходные дни, и в рабочие - да мало ли что еще! Чо там умеет ваша поганая реляция? Да ровным счетом ничего!

И т.д., и т.п. А вот у меня "на субграфах" действительно все понятно "любому бухгалтеру": есть СУБГРАФ пользователей (theuser ), субграф разных там ихних прав, все связано ребрами. Так что можем спокойно нарисовать графический интерфейс, и пущай мышой перетаскивает туды-сюды. Пользователь ivanhoe, помнится, как раз и говорил, что это дело ему очень ндравится - OLE , панимашь!
цитата:
Не нашел.
Ну как же так?! Мой пост от 30.10.2009 15:32, три аттача. Каждый - скан бумажного листа отчета (или как он там называется).
цитата:
Вот например, http://www.sqlite.org/foreignkeys.html#fk_actions Здесь попроще изложено.
Э, нет! В этом дерьме я разбираться не собираюсь (кстати, "попроще" меня мало интересует - задолбался уже писать про погремушки). Поставьте ЧЕТКО задачу - простым человеческим языком: что имеем, что нужно сделать и т.д. Желательно также - где Вы умудрились выкопать в реляции эту пресловутую "гибкость", какие В ПРИНЦИПЕ могут быть проблемы у нереляционки, чтобы "обладать такой же гибкостью в плане транзакций", почему непременно "такой же" - неужто более высокой низзя? И что там такого страшного в "каскадном удалении записей на которые ссылаются foreign keys"? Посмотрел бегло по слову "CASCADE" - жалкое зрелище: parent key, child key, операция длиной в дно ребро... А если настоящий каскад: child key - и сам parent key, а тот, в свою очередь... При 5-6 таблицах реляция просто подохнет - тривиально, по времени. А если нужно удалить записи (во всех таблицах), КОТОРЫЕ ссылаются на заданную группу? И где будете брать эти самые "foreign keys"? А если записи, на которые НЕ ссылается ни одна запись в заданной группе таблиц? А если... Детский сад!
цитата:
Поэтому он и не работает без правок других товарищей, что с DOM Вы не ознакомились.
Не-а. Правкам другоГО товариЩА точно так же насрать на DOM. Неправда Ваша.
цитата:
На порядки - это сотни тысяч и миллионы листов.
Именно так - одна только сицилианка (или там староиндийка) вполне потянет на такие объемы.
цитата:
Если бы это было так, в них бы не умели играть ни люди ни компьютеры.
А они и не умеют (толком). И программировать, кстати, тоже.
цитата:
Реально шахматные правила можно вместить на пару листов.
Умница! Я точно те же цифры приводил и про JS.
цитата:
Комитет по стандартизации ECMAScript (это официальное название JS) разрешил его не реализовывать. ECMA-262, раздел 15.1.2.1:
О! Вот за это спасибо! Точь в точь, как я и говорил: специально нашли, и вырезали на фиг. И какая классная формулировка: "разрешил не реализовывать"! И все разработчики (даже те, которые успели это дело реализовать) радостно выбросили эту возможность из своих поделок - так? Ублюдки...
цитата:
Вот такой HTML они поддерживали: http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt
Ха-ха-ха! Нет, батенька - это были уже не первые броузеры. И даже не вторые.
цитата:
Неправда, вы хотите делать сайты с JS, которые у них работать не будут.
Неправда, я хочу делать сайты с JS, которые будут работать НА ЛЮБОМ броузере, включая телефон. А вот всякие поганцы (скажем, из Комитета по стандартизации ECMAScript) старательно ВЫРЕЗАЮТ юзерам эту возможность. Что я и говорил сразу же, как узнал об этой чудесной операции.

theaspect
цитата:
конечно WinAPI-style сильно красивее, когда после каждого вызова нужно проверить с полдюжины различных вариантов ответа
Подмена. Повторяю вопрос: Кому нужна такая мерзость, как исключения? Какая от них польза?
цитата:
языку с динамическим выделением памяти, чтоб работать с абстракциями, а не с ячейками памяти и указателями каменный век прям.
Ха-ха-ха! Так что же никто работать-то не может. ЛИСП, кстати, и есть "каменный век прям".
цитата:
кроссплатформенному ассемблеру он не нужен
Подмена. Повторяю вопрос: Что там за ФП, и на хрен он нужен C?
цитата:
языку, где с памятью можно извращаться так, как и не снилось JS, динамическая типизация не нужна
Подмена. Повторяю вопрос: Какая такая "динамическая типизация" нужна C?
цитата:
проблема в том, что в браузеры встроен не обожаемый вами Си, а JS
А потом даже в JS убрали даже те убогие возможности.

762. moderator-Kid, 25.11.2009 12:27
По итогам веселья в трех темах В.Р. попрощался с нами как минимум до 09.12.

763. dozen, 25.11.2009 16:16
moderator-Kid
попрощался с нами как минимум до 09.12.

надеюсь, это сентябрь 2012-го?

764. ivanhoe, 25.11.2009 16:24
:(

765. blackhearted, 25.11.2009 16:51
А так было интересно...
Мне интересен вопрос убогости DOM.

766. ivanhoe, 25.11.2009 17:16
Вот, кстати, смех-смехом, а firefox у меня не падает уже почти месяц. После последнего мощного апргрейда всем его зависимостям и ему самому. Правда вырос в памяти уже близко к гигу:
код:

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
ivanhoe 1333 0.0 36.1 838620 750216 ?? S 26Oct09 1441:26.16 /usr/local/lib/firefox3/firefox-bin

767. dozen, 26.11.2009 17:14
Это потому что ты всякие недооперационки используешь, единственное преимущество которых -- правильный слэш!

768. rGlory, 28.11.2009 08:01
dozen
Точно, если поставить переоперационку одной известной компании, единственное преимущество которой наличие софта от третих фирм, то такой проблемы просто не будет - ос обычно перегружается раз в неделю, после скачанных апдейтов.

769. Vladimir Rybinkin, 21.12.2009 12:06
Попробуем немного систематизировать изложенное в приватной ветке. Заодно исправим ошибку: рассматривать описание ассемблера и "C" нужно ОДНОВРЕМЕННО, и начинать лучше с "человеческого" C. А на выходе составлять соответствующее описание "идеальных языков" - пора, наконец, и C до ума довести! Да и SINT с Синдбадом причесать не мешает...

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

У меня никогда не было сомнений в необходимости наличия интерпретируемого, машинно-независимого ассемблера внутри СУБД - просто, чтобы дать возможность абсолютно полноценного программирования на данных. Более того, эта мысль казалась мне настолько очевидной, что лишь однажды, лишь в одной из работ, это было отмечено лишь одной фразой: Creation at logical layer a set of methods functionally equivalent to some assembler language allows executing any data processing accessible to computer by these methods only, i.e. without programming in standard sense at all. Разумеется, подобный сервис имеет смысл только для СУБД уровня Синдбада - на возможности РСУБД без смеха или там слез смотреть невозможно. Уже в этой ветке выяснилось, что подобный сервис позарез необходим и броузеру (нам он нужен в роли клиентской части СУБД) - его нынешнее состояние не менее плачевно, чем у РСУБД.

С технической точки зрения команды интерпретируемого ассемблера есть просто набор функций "native code" (как и сам монитор, который в своих тестах я был вынужден написать на JS). Кроме того, я предполагаю, что под рукой имеется вся ужасающая мощь SINT, например: Модули системного уровня обеспечивают групповую обработку объектов и событий, обслуживание ОЗУ, стеков различного назначения, обеспечивают прозрачность доступа к объектам для других уровней (например, при уплотнении памяти), динамический вызов объектов (т.е. количество, тип и порядок следования параметров могут быть неизвестны вызывающей функции ни при компиляции, ни даже в момент вызова).

Определения:

Под термином "язык программирования" в данной ветке я подразумеваю только ИНТЕРПРЕТИРУЕМЫЙ неким "исполнителем" АППАРАТНО-НЕЗАВИСИМЫЙ набор команд. Более того, интерпретируемый МОИМ СОБСТВЕННЫМ исполнителем, который написан на обычном C, и сидит у меня в SINT. В более широком смысле - то, что я ХОТЕЛ БЫ видеть в СУБД (и в броузере), т.е. некий стандарт языка (точнее, семейства языков, предназначенных для разных задач).

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

Для любого агента язык должен быть а) понятен, б) удобен и в) функционально полон (источник должен быть в состоянии сказать все, что он хотел бы сказать, а приемник в состоянии все это понять). Поскольку минимум один из агентов - компьютер (а именно он в данном случае и выполняет всю работу), язык[и] должен содержать все команды, которые он в принципе способен исполнить (а программист написать ). Таким образом, могут существовать два семейства языков: "для господ" (максимально удобный для программиста и, ПО ВОЗМОЖНОСТИ, эффективно исполняемый - типа C), и "для рабов" (максимально удобный для компьютера и, ПО ВОЗМОЖНОСТИ, с минимальными проблемами у программиста - это и есть ассемблер).

В любом случае под "языком программирования" в данной ветке я подразумеваю лишь интерпретируемый аппаратно-независимый набор команд, заточенный под одного из "агентов", т.е. меня интересует лишь программирование ДАННЫМИ. Транслятор с языков "высокого уровня" (их тоже может быть много - Паскаль, Васик, хотя лично я считаю синтаксис C гениальным, и для программирования достаточным) переводит программы на этих языках в ассемблерный код (в вышеизложенном смысле), интерпретатор - исполняет "на лету". "Человеческие" языки программирования на данном этапе меня мало интересуют - разве что JS, да и то совсем чуть-чуть.

Для компьютера программа на ассемблере есть массив байтов (байт-код), состоящий из команд (то бишь сколько-нибудь-битных чисел), выполняющих специфицированные кодом команды действия над операндами (сколько-нибудь-байтовые числа), получая к тем и другим доступ через идентификаторы (адреса в доступном исполнителю адресном пространстве). Кое-где в этом самом адресном пространстве могут прятаться условия (сколько-нибудь-битные числа), управляющие порядком "хождения по мукам" (идентификаторам), а сами данные могут меняться - либо самим исполнителем (это называется "результат его работы" - хотя бы промежуточный), либо неизвестно кем, неизвестно когда и как (это называется события). Важно здесь то, что по коду команды исполнитель может однозначно определить ее размер (вместе с операндами, если таковые присутствуют) и, соответственно, однозначно идентифицировать адрес следующей команды (включая любые "ужимки и прыжки" по коду). Это - скорость исполнения, как-то соизмеримая с "native code", который точно так же интерпретируется, но уже не программным, а аппаратным исполнителем.

Для современных быдлокодеров слово "ассемблер" является ругательным. Между тем "программирование данными" есть синоним термина "интерпретация", а эффективная интерпретация есть синоним термина "ассемблер". Думаю, никто не осмелится этот тезис оспорить - наскоко я понимаю, рекламируемая Ваней JVM и есть "это самое". Более того, я утверждаю, что это ЕДИНСТВЕННЫЙ путь получения эффективного кода на данных, ибо (пользуясь терминологией того же Вани) в этом, И ТОЛЬКО В ЭТОМ случае исчезает "парсинг", и остается голая "интерпретация".

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

Под "исполняемой программой" я понимаю в общем случае набор скомпилированных обычным образом исполнителей, которые, среди прочего, интерпретируют и выполняют написанное на всем вышеперечисленном, обмениваясь между собой данными при необходимости.

Итак, нам нужен интерпретируемый, машинно-независимый ассемблер. За основу возьмем ассемблер i86, как наиболее привычный, и попробуем оптимизировать.

Во-первых, проведем черновую "зачистку" команд (сопроцессор пока не трогаем - нет под рукой списка команд, да и не очень он важен для программирования). Всякие там AAA/AAD/AAМ/AAS, DAA/DAS, HLT/WAIT, LAHF/SAHF, LEA/LDS/LES, XLAT, PUSHA/POPA - ессно, на помойку (думаю, любому понятно - почему). ADC/SBB, RCL/RCR - туда же (предполагаем, что ADD/SUB и ROL/ROR работают "как надо"). IDIV, IMUL - аналогично (арифметику рассмотрим отдельно). TEST/CMP - фактически дубли AND/SUB... на первый взгляд, все.

Во-вторых, оставим то, что кажется безусловно необходимым: MOV, PUSH/POP, CALL/RET, ADD/SUB, DIV/MUL, AND/OR/XOR/NOT, ROL/ROR, SHL/SHR. "Под подозрением" CBW/CWD, SAL/SAR, INTO, PUSHF/POPF, NEG, XCHG - кандидаты на выброс. Кандидаты на оставление - INC/DEC, ESC, LOCK, IN/OUT, INT/IRET, NOP. Отдельно разберемся с флагами (CLC/STC/CMC, CLD/STD, CLI/STI), строковыми командами (CMPS/LODS/MOVS/SCAS/STOS + REP всех видов) и всякими там переходами/циклами (JXX и LOOPXX).

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

Адресация:

Одна из моих ранних фраз про Синдбада: Поскольку прямой доступ к данным жизненно необходим для СУБД, он реализован у нас по принципу косвенной адресации. Выделенное заметил только шеф, когда читал мой опус - чуть со смеху не помер. А как еще скажешь?

Рассмотрим какую-нить "жуткую" конструкцию, вроде:
MOV WORD PTR ES:NAME+2[BX+SI],123 ;кажись, допустимая команда

Мощь подобных операторов просто фантастическая, невероятная, потрясающая! И тот, кто хает указатели (а их у нас здесь... ого, целых 4 штуки!) не имеет права называться программистом, какие бы красивые песни он ни пел про "более прогрессивные конструкции" - правда, Ваня?

Однако вся эта мощь может оказаться как избыточной, так и недостаточной для реальной адресации. Вышеприведенный пример можно интерпретировать, например, так: программе был динамически выделен блок ОЗУ, определяемый сегментным регистром ES. В этот сегмент были записаны какие-то данные - скажем, некая таблица. Адрес начала этой таблицы (относительно начала сегмента) указывается базовым регистром BX. Адрес начала кортежа этой таблицы, к которому производится обращение (относительно начала таблицы), указан в индексном регистре SI, а смещение начала поля NAME относительно начала кортежа указано явно (через #define, enum или чо там имеется в наличии... ага, EQU). В этом поле, допустим, содержится адрес строки с именем объекта, который объявлен как UI32, но в данном операторе записывается лишь старшее слово этого адреса (+2), длиной тоже два байта (WORD PTR), что заодно определяет и длину второго операнда, который по виду можно было бы принять и за байт. А теперь представьте, что нам нужно выдать это имя куда-то в окно, расположенное где-то на экране, а адрес имени указан не в ОЗУ, а относительно начала какого-то файла, имя которого специфицировано в...

Перефразируя мою фразу о косвенной адресации, можно сказать так: Поскольку абсолютный адрес жизненно необходим для доступа к данным, он реализован у нас по принципу цепочки относительных адресов - "траектории". Над этим (траекторными шаблонами, если кто помнит), здесь уже потешались разные "Партизаны" - ваще ни хрена не понимающие, о чем идет речь. А как еще скажешь?

Поскольку усваиваемость информации у местной публики до сих пор была близка к нулевой, я когда-то ввел самоограничение 8К на пост - здесь эта величина несколько превышена. Однако, поскольку частота моих постингов здесь уже второй раз подряд ограничивается величиной примерно "раз в месяц" (а то и два), есть надежда, что хотя бы кое-что успеет дой... тьфу-тьфу! Следующий пост по плану начнется с типов данных. Вопросы? Ну хоть кто-нить хоть что-нить понял?

770. ErmIg, 21.12.2009 12:46
Изобретение велосипеда Java и .NET ?

771. dozen, 21.12.2009 17:08
Vladimir Rybinkin

Такого рода выражения запрещены правилами

772. theaspect, 21.12.2009 18:19
я думал обращение и хранение данных лишь малая часть по сравнению с оптимизаторами запросов.
наконец то узнал что такое траекторные шаблоны
пока не понял зачем для доступа к данным нужен асм, слишком низкий уровень абстракции.

773. Vladimir Rybinkin, 21.12.2009 18:54
Продолжим про ассемблер...

Типы данных:

Эта концепция тоже загажена до полной каши в головах. Класс типов - это по простому "тип типов" ( ) (c)ivanhoe, 18.08.2009 22:54). Нет, я вовсе не хочу выковыривать различия между типами и классами, и вообще не хочу болтовни на тему "рассматривать ли класс как тип данных" или там "время исполнения vs времени компиляции". Но разобраться кое в чем все же стоит...

Очевидно, что термин "тип данных" может нести чрезвычайно разнообразную смысловую нагрузку. Он может специфицировать занимаемый элементом объём памяти (например, DB), набор ассоциированных с типом операций (float), множество допустимых значений (enum), дескриптор устройства (handle), идентификатор данных БД (ID) описание группы элементов (struct), тип значения по указателю, возвращаемое значение функции и многое другое. Начнем с определения типов данных с точки зрения доступа и хранения элемента данных. В Синдбаде это называется "физический уровень" (или "слой" - layer, короче говоря ). Для компьютера идентификатором элемента является его адрес, а типом - его размер. И то, и другое указывается с точностью до байта. Никакой иной смысловой нагрузки кроме "размер элемента" понятие "тип данных" на этом уровне не несет. Именно такой смысл имеют ассемблерные определения АТОМАРНЫХ типов данных: DB, DW, DD, DQ (DT очевидным образом на помойку) - это все, что есть и у Синдбада: only small number of data types: BYTE, WORD, DW, QW, i.e. fields of size 1, 2, 4 and 8 bytes accordingly and also two types of groups: ARRAY (set of above fields of certain size) and STRING (set of fields, ended by terminator). Стало быть, это и есть "все, что понадобится впредь".

В принципе, мне непонятно, почему бы вместо DB сотоварищи не использовать имеющиеся там же BYTE/WORD/DWORD/QWORD, но это мелочь, синтаксис. Важно, что существует некая "паспортизация" типов по умолчанию (LABEL), которые могут модифицироваться "по месту" (PTR) - стандартная технология адресации в SINT и Синдбад. Кроме того, существуют некоторые другие типы: PARA (16 байт), PAGE (256), SEGMENT (64К), неизвестное мне имя популярного типа размером 4К, но это явная экзотика, совершенно не нужная языку (есть же понятие "группа"). Интересной здесь является концепция выравнивания, т.е. данные типа PARA должны иметь адрес ХХХ0, типа WORD - ХХХE (четный адрес) и т.д. Такое соглашение позволяет пользоваться вместо указателей индексами - во многих случаях это удобнее и гибче. В SINT индексы используются, например, в диспетчере памяти.

Отметим, что в "человечьем" C описываются СОВСЕМ ДРУГИЕ вещи: char, int, long, float, double, unsigned - то, что в Синдбаде описывается на ином, логическом уровне (или уровне данных - терминология не устоялась). Эти описания не определяют явно размеры элементов, зато специфицируют перечень возможных операций над ними (физическому уровню "все равно" - он не способен отличить, скажем, PDF от JPEG, и потому преспокойно работает даже с данными неизвестного типа). SINT использует "гибридные" типы, вроде UI32, поскольку в стандартном C программисту вообще нельзя определить метаданные хранения, скрытые где-то в дебрях компилятора - явная глупость. В случае баз данных этот подход еще сильнее кастрирует возможности пользователя, так что это уже не просто глупость, а полный КРЕТИНИЗМ! В Синдбаде ЛЮБЫЕ метаданные считаются все-таки ДАННЫМИ и, соответственно, могут модифицироваться обычным образом. Например, может задаваться даже размер ОПИСАТЕЛЯ размера массива: Array size in elements is stored as BYTE that allows describing up to 255 elements.

Меня совершенно не интересует (по крайней мере, в этой ветке) взгляд на типы данных как на средство схватить за руку криворукого программиста - всякие там модификаторы const или ужастики C++ вроде static_cast<signed short>. Не интересуют также умные словечки про какие-нить "полиморфные типы" (строка - она и в Африке строка), экзотика (числа произвольной точности), страдания на тему множественного наследования, поддержки инкапсуляции, супертипы/суперклассы, перегрузки и связывания. Можно поговорить про строку (как атомарный тип), сходство и различие понятий STRUCT, CLASS и TUPLE, приведение типов, технологию создания юзером новых типов (особенно атомарных)... и все, пожалуй.

"Уровень данных" Синдбада содержит описания "привычных" типов данных: There exist basic (BOOLEAN, FLOAT, URL, ID) and user-defined (TUPLE, ENUM, RELATION) data types that represent a combination of basic or of earlier defined types. Конкретика (всякие там UI32) определяется метаданными сразу ДВУХ уровней. Более того, система описаний вообще открыта, и допускает наличие ПРОИЗВОЛЬНОГО числа уровней описания, даже если метаданные слоев хранятся отдельно от данных и друг от друга: All metadata nodes, including that of physical layer, are bundled into loop structure, i.e. are accessible as a single whole.. Там может быть, например, слой метаданных для юзера: For identification of object the names of its attributes and/or their values are used, at that names of attributes are values of class elements. Интерес представляют также "субграфовые" штучки, вроде "печально знаменитых" траекторий: As attributes' data are stored in different nodes, the pattern contains information about trajectory of data access in DBMS language. Ну и... закончу ликбез по типам данных фразой "элементом БД может быть БД": The declared data model allows also defining even more complex node structures: the whole relation (SET of TUPLES) or three-dimensional cube (SET of SET of SET of ID), etc. Such plural nodes provide an interesting opportunity to address directly to node itself with user inquiry.

Нет, надо хотя бы попытаться избежать разных "комментариев" местных "специалистов"... Итак, понятия тег и указатель будут рассмотрены отдельно, позднее - это достаточно сложные вещи (не говоря уже о метках в массивах, неоднородных массивах, функциях с множеством входов и выходов или, наоборот, общий вход/выход для нескольких функций одновременно). Из простого: понятие SET (группа, множество) уровня данных уточняется на физуровне: ARRAY или STRING - это, кажись, должно быть понятно. Тип группы подразумевает знание и типа элемента группы (который тоже может быть группой), плюс некоторых теговых метаданных - значение терминатора, размер описателя размера массива и т.п. Синтаксис смотрим в последнюю очередь: о красоте DUP или [] можно спорить, но это не меняет функциональных возможностей. А вот такая группа как STRUCT, известная также под именами CLASS (языки программирования вроде C++), TUPLE (кортеж, реляционная модель данных), NODE (в терминах Синдбада, теории графов и вообще графовых БД) - штука важная. Тем более, если она сама определяет группу: термин RELATION (ARRAY of TUPLES) знают все, а вот об АБСОЛЮТНОЙ сложности данных (TUPLE of TUPLES of...) подумайте пока что самостоятельно.

Хватит на сегодня. Хотел было взяться за регистры или стеки очередей, но, чувствую, нужен более серьезный предварительный ликбез по базам/моделям данных.

774. rGlory, 21.12.2009 19:06
Vladimir Rybinkin
цитата:
Creation at logical layer a set of methods functionally equivalent to some assembler language allows executing any data processing accessible to computer by these methods only, i.e. without programming in standard sense at all.
Извините, что интересуюсь, но это на каком языке?
Это Вы и "научные" работы на конференции так пишете?

775. blackhearted, 21.12.2009 19:47
Бредогенератор заправили новой порцией книг и включили вброс.

776. Partisan, 21.12.2009 20:21

Автор
оскольку абсолютный адрес жизненно необходим для доступа к данным, он реализован у нас по принципу цепочки относительных адресов - "траектории". Над этим (траекторными шаблонами, если кто помнит), здесь уже потешались разные "Партизаны" - ваще ни хрена не понимающие, о чем идет речь.

Одна бессмыслица объяснена с помощью другой бессмыслицы. Этот приём логики с успехом используют "религиозные философы" - он позволяет писать тексты неограниченного размера ни о чём.

777. blackhearted, 21.12.2009 20:43
Относительынх адресов относительно чего?

778. jooher, 21.12.2009 21:41

Vladimir Rybinkin
http://www.2bit.ru/ - таки перекупили барыги
И все www.sint.* тоже заняты.... могу порекомендовать разве что www.vrsint.ru
600 рублей то найдешь на регистрацию домена? Там и напиши все зараз. Глядиш, кто и поведется. Тут то все равно всерьез никто не воспринимает твои килобайты. Тут лучше короткими гениальными озарениями публику веселить - чтоб почитал, поржал, дальше пошел. А длинные простыни всю хохму убивают. Да и самому трудов то меньше было бы.

779. rGlory, 21.12.2009 22:00
blackhearted
Я думаю автор имел в виду косвенную адресацию, просто у него и с русским тоже проблемы.

780. dozen, 22.12.2009 04:18
rGlory
цитата:

Я думаю автор имел в виду косвенную адресацию, просто у него и с русским тоже проблемы.

А я думаю, что существует принцип квантовой неопределенности ВР, согласно которому попытка понять, что имел в виду Мастер немедленно меняет его позицию.

То есть он принципиально непостижим.

За это сообщение сказали спасибо: blackhearted

781. moderator-Kid, 22.12.2009 07:29
Граждане, я понимаю, что появление В.Р. несет с собой радостное оживление дискуссии, однако категорически напоминаю о неприемлемости нецензурных выражений в чьей-либо адрес.

782. Vladimir Rybinkin, 22.12.2009 11:04
Лирическое отступление о базах данных:

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

Часто употребляемые в качестве признаков базы данных понятия:

1. Место хранения данных. Неявно подразумевается, что объем хранимых данных достаточно велик (как правило, миллионы экземпляров).

2. Место предоставления данных. Подразумевается необходимость наличия пользователей - внешних по отношению к БД потребителей информации.

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

4. Ввод и обработка данных, обслуживание пользователей осуществляется исключительно с помощью системы управления базами данных (СУБД). Понятия БД и СУБД неразрывно связаны, и нередко даже не различают хранимые данные (собственно БД) и систему для организации и ведения базы данных. Четкую границу между этими понятиями провести вообще невозможно, т.к. методы и правила обработки данных сами могут быть хранимыми в БД данными.

5. Данные хранятся в электронном виде, и доступны при помощи компьютера. Этот, с позволения сказать, "признак" позволяет не считать базой данных внекомпьютерные хранилища информации (архивы, библиотеки, картотеки), формально удовлетворяющие определению БД. А жаль: объяви обычную публичную библиотеку ТОЖЕ базой данных - глядишь, и прочистило бы хоть немного мозги толпе непуганых идиотов, паразитирующих в области СУБД. Не принято также называть базами данных файловые архивы, электронные таблицы, Интернет-порталы, каталоги и поисковые системы - не принято, и все тут! Различить же понятия вроде "база знаний", "информационная система" и пр. для нормального человека и вовсе непосильная задача.

Еще более смешна так называемая "классификация" БД по разным идиотским признакам. Цитата из Вики: Существует огромное количество разновидностей баз данных, отличающихся по различным критериям (например, в "Энциклопедии технологий баз данных" М. Р. Когаловского определяются свыше 50 видов БД). Между прочим, по словам того же Когаловского, реальное количество этих видов на несколько порядков больше - я уже цитировал фразу из его письма ко мне: Обычно под сетевой моделью данных понимается модель данных CODASYL, но ведь известны другие менее популярные сетевые модели, и можно придумать много новых.

Классификацию баз данных проводят по любому ударившему в голову признаку: по модели данных (иерархические, сетевые, реляционные, объектные), по технологии хранения (во вторичной, третичной, оперативной памяти), по шкалам (пространственные, временные и их гибрид spatial-temporal), по типам поддерживаемых данных (текстовые, графические, мультимедийные) по содержимому (географические, исторические, научные), по объему (очень большие базы данных, VLDB), и другим критериям. Если же учесть, что многие базы данных обладают сразу несколькими отличительными признаками, подобная "классификация" утрачивает всякий смысл.

Говорят, что существуют три рода рычагов. Я не помню, какие из них первого рода, какие - второго, да это и неважно: во всех трех случаях рычаг поворачивается вокруг точки опоры, и этого достаточно. Цитата по памяти из глубокого детства - если, не ошибаюсь, в исполнении Кельвина.

Идиотизм классификации "по содержимому" - всякие там базы данных по хлебу печеному и мясу вареному - можно упоминать разве что в качестве индикатора клинической тупости ее авторов. Столь же очевиден кретинизм классификации по объему - выбрали от фонаря критерий (VLDB), объявили, что это очень круто, всегда находятся на острие теории и практики баз данных, требуют особых подходов, специальных версий операционной среды, специальных механизмов обращения СУБД к данным... Не говоря уже о том, что "чрезвычайно большой объём" меряют в байтах, а не в элементах! Менее очевидна глупость, прячущаяся за вывеской "модель данных".

Модели данных:

Принято считать, что существует достаточно большое количество моделей данных. Это заблуждение: моделей данных всего две, а если согласовать терминологию, то вряд ли больше одной. Во-первых, на помойку нужно отправить всякие многомерные, объектные, объектно-ориентированные, объектно-реляционные и тому подобные "модели", для которых вообще нет однозначного и общепринятого определения. Во-вторых, буквально все до единого авторы пишут, что иерархическая модель является просто частным случаем сетевой модели. Тем не менее, пишут про нее куда больше, чем про сетевую: она намного проще, и для всяких щелкоперов-бумагомарателей доступнее для понимания. Хотя даже там "открытий чудных" выше крыши: как вам нравится, например, "иерархически индексно-прямой способ доступа"?

Подавляющее большинство употребляющих всуе термин "модель данных" понятия не имеют, что он означает. Точно так же не имели об этом ни малейшего представления те два с половиной богатыря, с которыми связано его появление на свет: Кодд, Бахман, "и примкнувший к ним" Чен (только у последнего и использовался термин ER data model, хотя никакой модели там как раз и нет - примитивная примочка к реляции). Понятие Кодда о том, что такое DM (и даже RDM!) многократно менялись, в течение всей жизни. Бахман же, наскоко я понимаю, на все это дело просто забил. Ну, что же, посмотрим хоть современное толкование...

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

Модель данных включает, по меньшей мере, три аспекта:
1) аспект структуры: описание типов и логических структур данных в БД;
2) аспект манипуляции: операторы доступа и манипулирования данными;
3) аспект целостности: правила поддержки целостности базы данных.

В литературе, статьях и в обиходной речи иногда встречается использование термина "модель данных" в смысле "схема базы данных" (модель базы данных). Такое использование является неверным, на что указывают многие авторитетные специалисты, в том числе Кристофер Дейт. Модель данных есть теория, или средство моделирования, в то время как модель базы данных (схема базы данных) есть результат моделирования. Соотношение между этими понятиями аналогично соотношению между языком программирования и конкретной программой на этом языке.

Браво, Крис! Обычно столь косноязычный (да и можно ли быть другим, если защищаешь RDM? ), здесь высказался просто блестяще: это именно ЯЗЫК! Не бредятина про ЯОД/ЯМД (можно подумать, это используется раздельно), а ВСЯ МОДЕЛЬ ДАННЫХ КАК ПОНЯТИЕ! И сравнивать их нужно именно с языками программирования.

Итак, обратимся вновь к Великому Спору, сеть vs реляция, который выиграл канонизированный быдлом Эдгар Кодд (это - по современным представлениям: тогдашнее быдло считало, что спор закончился вничью, ибо никто, включая самих участников, так ни хрена и не понял). Но на этот раз договоримся все-таки о терминах - ой как здеся все запутано!.. Думал уложиться в один пост - куда там!

Продолжение следует...

783. blackhearted, 22.12.2009 13:54
Предлагаю более не кормить.

784. rGlory, 22.12.2009 14:28
dozen
цитата:
А я думаю, что существует принцип квантовой неопределенности ВР, согласно которому попытка понять, что имел в виду Мастер немедленно меняет его позицию.
Согласен. Получается отношения неопредленности ВР - это теоретический предел возможности любых попыток понять ВР. Они справедливы для так называемых идеальных попыток, иногда называемых попытками фон Неймана. Они тем более справедливы для неидеальных попыток или попыток Ландау.
Соответственно, любая мысль Мастера (в общем смысле, например несущая лирическое отступление о базах данных) не может быть описана одновременно как «классическая оформленная мысль» и как сообщение. (Сам факт того, что какое-либо из этих описаний может быть справедливо, по крайней мере в отдельных случаях, называют корпускулярно-волновым дебилизмом Мастера).

785. dozen, 22.12.2009 17:35
rGlory

называют корпускулярно-волновым дебилизмом Мастера

Прошу модераторов отметить -- ничего личного, только научный термин!

blackhearted

Предлагаю более не кормить.

Простыни это не предотвратит. Зато лулзы словить можно под праздники. В новый год -- со счастливым лицом!

786. blackhearted, 22.12.2009 17:45


Вот мне уже сколько лет (начиная с ветки про сжатие) интересно,кто же он на самом деле такой.
Вроде для школоты слишком умно говорит...

787. Vladimir Rybinkin, 23.12.2009 09:40
Чуть-чуть по постингам:

1. Что такое траектории, я объяснял еще 17.08.2009 09:37 (и до сих пор ни разу не "менял своей позиции" - слышь, dozen? ) - похоже, это начинает приносить свои плоды: theaspect (во всяком случае, по его собственным словам) наконец то узнал что такое траекторные шаблоны - ура! Есть надежда, что через некоторое количество [десятков, сотен] месяцев это дойдет и до Partisan (к сожалению, пока никаких признаков понимания не просматривается). А вот rGlory (не прошло и полгода) уже начинает связывать понятие траектории с косвенной адресацией - серьезный прогресс!

2. По поводу "оптимизаторов запросов" и прочей дребедени - повторяю: Меня совершенно не интересуют средства схватить за руку криворукого программиста. Тем более, что достаточно убрать идиотскую концепцию "ключа" - и любую оптимизацию можно смело отправлять на помойку.

3. "Зачем нужен асм" я уже не раз объяснял. Видимо, тоже должно пройти некоторое время для осознания...

4. Английским я действительно владею весьма условно. Но: а) русский у меня поставлен гораздо лучше, чем у многих в этой ветке - ничуть не улучшает понимания , и б) мы приглашали как-то для одной (достаточно сложной) работы профессионального переводчика - так меня поразило как раз то, как МНОГО она прорубила в совершенно чужой для себя области - все правки касались "акцента", но не смысла. Так что понять МОЖНО - было бы желание.

Модели данных (продолжение):

Даже терминология при описании иерархической и сетевой моделей, как правило, сильно отличается! Тип записи, тип набора, тип сегмента, экземпляр сегмента - ну полный бред! Единственным согласованным термином является поле - наименьшая, неделимая единица данных. Как бы ни выкручивался, как бы ни жульничал Кодд (об этом ниже), понятие "поле" присутствует и в RDM. Поэтому все "сегменты" с "наборами" отправляем на помойку: это тривиальная ГРУППА полей, известная также под именами ARRAY и STRING (в смысле, описанном в предыдущем постинге), STRUCT (языки программирования), CLASS (пародии на языки программирования ), TUPLE (кортеж, реляционная модель данных), NODE (в терминах Синдбада, теории графов и вообще графовых БД). Надеюсь, народ не забыл также, что термин "сетевая модель" отнюдь не синоним "сетевая модель CODASYL", а РСУБД не синоним СУБД.

Вначале посмотрим на "победителя" Великого Спора...

Структурный аспект: данные в базе данных представляют собой набор отношений.
Вот она, гениальность Кодда! Замутил воду, поганец: первичный элемент есть сама таблица! А вот если отношение определить как массив кортежей, а сам кортеж, как совокупность полей... Ба! Так ведь это ж, оказывается, полное убожество, полный примитив! Ежу понятно, что "модель характеризуется простотой структуры данных" - вся сложность просто обрезана по самые уши! И ради чего? Ради несчастной возможности использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных?! И какому долб... кому это вдруг понадобилось? Особенно "исчисление"?

Если отбросить шелуху разных "толкователей" на тему отношения являются логическими (абстрактными), а не физическими (хранимыми) структурами, можно увидеть, что ни одна реальная РСУБД реляционной модели не соответствует. О задолбавшей уже всех и вся "теории нормализации" можно говорить бесконечно, но достаточно сослаться на ivanhoe от 29.10.2009 13:59: массивы есть во всех нормальных SQL-серверах. Для rGlory и прочих "партизан": слово "нормальных" в данном случае не означает "нормализованных" - как раз наоборот.

Столь же хроническое убожество реляции - концепция "ключа". Нет, вру - это намного ужаснее, чем какая-то паршивая нормализация. Во-первых, это мгновенный "упитанный полярный лис" всем указателям - так хто там индексные файлы строит? А кто там суррогатными ключами балуется? На святое замахнулись? На Конституцию?! Ишь, разорались: порядок следования строк и столбцов может быть произвольным! Чему обрадовались сдуру? Это, по-вашему, "независимость данных"?! А хули ж тогда в ООБД запели про "поддержку индивидуальности объектов"? С какого бодуна объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов? А кортеж чем провинился? Ась? Эка вас всех Кодд облапошил - до сих пор не въехать, что раз кортежи идентификатора иметь не могут - будь любезен рыскать по ЗНАЧЕНИЯМ, хоть ключом их обзови. И обязательный первичный ключ на реляцию вынь, да положь. И одинаковых кортежей заводить не моги - худо будет. И курсоры всякие выбрось из головы - это ж чистейшей воды оппортунизм!

Убога не только концепция отношения как базового понятия (хоть создавай отдельную таблицу для нестандартного элемента), убога не только возможность объединять в группы лишь однородные элементы, и лишь в рамках всей таблицы (видел лично несколько попыток выпрыгнуть из этого Прокрустова ложа - как мордой об асфальт), убога сама концепция кортежа как одноуровневого дерева (элементом группы не может быть группа). Если (всего-то!) сделать понятие TUPLE полностью эквивалентным понятию STRUCT, то мы (совершенно бесплатно!) получим объектную модель данных на месте реляционной. А если еще при описании шаблона STRUCT разрешить забивку каких-то его полей ЗНАЧЕНИЯМИ - получим "самый настоящий, без подмесу", CLASS в понимании Страуструпа (в нагрузку, разумеется, конструкторы с десктрукторами). Так какого ж хрена не проделать эту операцию? Что? Реляционная алгебра накроется медным тазом? Да и хер бы с ней!

Ну, хорошо: нравится работать не меньше, как с отношениями целиком - работай. Но зачем же сетевую модель раком ставить? С какой радости у тебя уже отношения, а там все еще узлы с ребрами?! А если там тоже рассматривать сразу группы с каналами - тогда как? А если ваще субграфы как группа? Правильно, тут же придет тот самый, "упитанный". С навигационными выражениями в запросах, с прямым доступом к данным, с группами из разнородных элементов, с необязательными или множественными атрибутами, с предками и потомками (если надо), с пространством и временем (если надо), с версионностью изменений (если надо), "и всем, что понадобится впредь". Ведь сам Дейт писал: Codd realized that to compare the very concrete CODASYL specifications and the much more abstract relational model would be an apples-and-oranges comparison and would involve numerous distracting irrelevancies.

В заключение - несколько популярных, но совершенно идиотских, клеветнических нападок на сетевую модель.

1. Логика процедуры выборки данных зависит от физической организации этих данных.

2. Недостатком сетевой модели является высокая сложность и жесткость схемы БД, построенной на ее основе.

3. Изменение структуры базы требует значительных усилий и времени. Уж чья бы корова мычала!

4. Операции модификации и удаления данных требуют перестановки указателей.

5. Почти любая реляционная БД после преобразования в сетевой формат теряет в объеме около 90%, и без малейшей потери информации.

Ой! Последний пункт как раз чистая правда...

Таким образом, НОРМАЛЬНАЯ база данных в общем случае является многопользовательской, распределенной, мультимодельной, мультиплатформенной мультибазой данных (совокупность баз данных есть тоже база данных). Каких-либо ограничений на поддерживаемые типы данных, размеры элементов и число связей между ними, не накладывается.

Продолжение следует...

789. rGlory, 23.12.2009 15:22
Vladimir Rybinkin
цитата:
а) русский у меня поставлен гораздо лучше, чем у многих в этой ветке - ничуть не улучшает понимания
Это потому, что насчет русского вы себе льстите. Может быть вы хотели сказать - русская поставлена лучше? Это возможно. Но это скорее влияет на уважение и на печень, чем на понимание,,,
цитата:
А вот rGlory (не прошло и полгода) уже начинает связывать понятие траектории с косвенной адресацией - серьезный прогресс!
Ндя, с пониманием русского у Мастера примерно как с владением английским. То есть некоторая связь с реальностью прослеживается, но на грани шума.

790. blackhearted, 23.12.2009 15:26
Косвенной относительно чего???

791. rGlory, 23.12.2009 15:40
blackhearted
Это на вас Мастер так влияет? Косвенная, это значит не прямая. Не забывайте, Мастер мыслит в терминах сетевого ассемблера - есть прямая адресация, когда адрес задается непосредственно в команде, а есть косвенная - команде передается адрес в памяти, в которой лежит адрес. Так и здесь - цепочка косвенных переходов от узла к узлу и называется Мастером траекторным шаблоном (ой чует мое сердце - Мастер меня к себе в ученики запишет )

792. blackhearted, 23.12.2009 17:01
Но...следуя логике...в конце концов ... на какой-то итерации мы упрёмся в реальный адрес .
Что в таком случае предлагает Мастер?

793. dozen, 23.12.2009 17:24
rGlory

цепочка косвенных переходов от узла к узлу и называется Мастером траекторным шаблоном

А "шаблон" он почему?

(ой чует мое сердце - Мастер меня к себе в ученики запишет )

Записываю тебя в Толкователи Мастера.

blackhearted

Но...следуя логике...в конце концов ... на какой-то итерации мы упрёмся в реальный адрес .

Дык он же писает кипятком от указателей! Эти шаблонные траектории -- это всё суррогат НАСТОЯЩЕМУ доступу -- прямому и неограниченному. C обязательным C-style кастингом, разумеется.

794. rGlory, 23.12.2009 17:34
dozen
цитата:
А "шаблон" он почему?
Эти знания уже относятся к сакральным и доступны только членам секты Мастера Траекторных Шаблонов.
цитата:
Записываю тебя в Толкователи Мастера.
Не надо, печень не железная.
цитата:
Что в таком случае предлагает Мастер?
Ну это сложный вопрос, спросить напрямую у Мастера не получится, один Бог знает в каком искаженном виде этот вопрос дойдет до сознания Мастера, а учитывая искажения на обратном пути, получить ответ на заданный вопрос представляется маловероятным.

795. dozen, 23.12.2009 17:47
rGlory

один Бог знает в каком искаженном виде этот вопрос дойдет до сознания Мастера, а учитывая искажения на обратном пути, получить ответ на заданный вопрос представляется маловероятным

Зато в результете всех этих трансформаций мы, вероятно, получим краткое решение теоремы Ферма!

796. rGlory, 23.12.2009 18:34
dozen
цитата:
Зато в результете всех этих трансформаций мы, вероятно, получим краткое решение теоремы Ферма!
Либо бред сивой кобылы, что более вероятно.

797. jooher, 23.12.2009 21:37

rGlory
насчет русского вы себе льстите.

Однако, не будем уподобляться. Русский язык у В.Р. действительно безупречен в плане орфографии. В плане смыслового наполнения - другой вопрос, но это обсуждать как-то скучно уже.

798. rGlory, 23.12.2009 22:49
jooher
Я конечно же не об орфографии, а о способности донести свою мысль до слушателя.
Упреждая любимую отмазку ВР, насчет того, что возможность воспринять информацию зависит от приемника, если ни один приемник не может понять передатчика, или таких единицы и существуют они только в воображении передатчика, то что-то не так в консерватории у передатчика. Но да, это уже становится скучным...

799. vertur, 24.12.2009 01:27
Теперь пора В.Р., ввести поле траекторных шаблонов и (о, ужас!) траектории в этом поле.
Потому как, что-то мне подсказывает, что оптимальная траектория будет траекторией в этом поле траекторных шаблонов.

800. Vladimir Rybinkin, 24.12.2009 09:57
Продолжим про ассемблер...

"Человеческая" мнемоника языка, разумеется, должна быть предельно мощной, гибкой, удобной, и далее со всеми остановками. С этой точки зрения конструкция LENGTH/SIZE/TYPE смотрится довольно уродливо - особенно для тех, кто знает о существовании sizeof. Про убожество REPT/IRP/IRPC или там IFE/IF1/IF2, IFB/IFNB, IFIDN/IFDIF, EXITM и упоминать стыдно, а SALL/LALL/XALL могли появиться разве что в горячечном бреду. Да и вообще, красота '#' в C (не путать с убожеством C# ) не идет ни в какое сравнение с похожими ассемблерными конструкциями. Не хило бы также быть в состоянии различать регистр символов. Впрочем, макросы смотрятся вполне прилично, токо лично я вообще не вижу особого смысла в их использовании.

Регистры:

Самое простое, конечно, регистры. Любой здравомыслящий человек скажет, что они должны быть, и должны быть специализированными. Так я думал, так я писал в приватной ветке. Жизнь показала, однако, что далеко не всем это очевидно. Объясняю: специализация регистров (и вообще их наличие) есть просто УПРОЩЕНИЕ АДРЕСАЦИИ. Рассмотрим, например, команду AND - именно в таком виде, без операндов. Бессмыслица? Как сказать... Я лично хотел бы ИСПОЛЬЗОВАТЬ подобные команды, чтобы они интерпретировались примерно так: умножить содержимое "регистра первого операнда" (в разных командах это может быть "источник", "делимое" и т.п.) на содержимое "регистра второго операнда", результат записать в "регистр результата" (аккумулятор). Если вспомнить еще про регистр флагов (в котором автоматически установится в нужное состояние, скажем, ZF) - мы получили чистейшую команду TEST (первый регистр не портится). А если дадим еще одну команду - разновидность MOV (допустим, тоже без операндов), которая перебрасывает содержимое аккумулятора в первый регистр, мы получим "классический" ассемблерный AND, который в C записывается как "&=" (эта же команда автоматически снабжает нас возможностями "+=", "*=", "|=" и остальными - в зависимости от предыдущей команды. Поди плохо?

Далее. А что именно и на что мы умножали? Байт? Слово? Двойное слово? Или еще что? Для ответа на этот вопрос в Синдбаде (да и в SINT) обычно используются теги - примерно так, как это описывали гениальные разработчики "Эльбруса" (того, что должно было появиться на смену БЭСМ), угробленные линией ЕС ЭВМ, которую наши доблестные разведчики (шоб им пусто было!) сп....ли, наскоко я помню, с IBM/360. Только у меня, ессно, теги не аппаратные, а программные. Напичканный всяким дерьмом (и тем не менее полупустой) флаговый регистр явно их для них и предназначен.

Индексные и сегментные регистры. Это точно такое же упрощение адресации, точно такие же указатели, точно такая же потенциальная мощь. Вопрос может стоять лишь об их количестве, организации, но никак о наличии/отсутствии - это я даже не хочу обсуждать. В SINT, например, сплошь и рядом используется "паспортизация" (читай - теги и/или траектории), а два несчастных управляющих бита SPTR (произнак косвенной адресации параметров объекта) и SACC (признак, что параметры объекта лежат на аккумуляторе) расширяют функциональные возможности совершенно диким образом.

Короче говоря, в минимальной конфигурации у меня сейчас 4 регистра, в максимальной - 16. Уточним по ходу дела.

Теперь "по плану" надо бы рассказать о концепции стека очередей - этой технологией я откровенно горжусь: нигде (кроме SINT, естественно) не видел и намеков на что-нить подобное. Ее мощь также АБСОЛЮТНАЯ - я просто не могу вообразить, что она НЕ умеет делать. Но штука эта (монитор, или управление стеками очередей методов/данных/событий) слишком сложна для тех, которые до сих пор в сраном клиенте разобраться не могут. Я уж и не знаю, насколько популярным должен быть уровень изложения, шоб местная публика чо-то прорубила. Разделим на два поста (или скоко там получится ). Для начала - несколько фрагментов из описания SINT:

При программировании в событиях
(исторически стек очередей появился именно для событий - В.Р.) часто возникает необходимость обрабатывать события "вне очереди", поэтому в SINT имеется стек очередей. Новая группа событий просто заносится как очередь (FIFO) на вершину стека (LIFO), т.е. очередь на вершине стека - это самые приоритетные на данный момент события. Очередное событие из этой очереди обслуживается текущим обработчиком. При этом сервис получается максимально упрощенным для программиста, поскольку позволяет управлять приоритетом обработки событий, вообще не указывая никаких приоритетов, и ничего не программируя в операторном стиле.

В общем случае, SINT предполагает возможность выполнения группы методов над группой пассивных объектов. Кроме того, работа метода может управляться группой параметров (близкая аналогия - форматная строка функции printf). Поэтому каждая из этих групп также организована в виде стека очередей. Для доступа к возвращаемым значениям объектов-методов используется стек аккумуляторов, аналогично стеку регистров математического сопроцессора. Для хранения неоднородных объектов используется специальный стек системного уровня, при программировании шаблонов - аналогичный стек внешних объектов. Движение указателей (текущих объектов) по стекам осуществляется независимо, что создает даже несколько избыточную гибкость в программировании.

Продолжение следует...

801. Gipnoss, 24.12.2009 13:37
Vladimir Rybinkin
гениальные разработчики "Эльбруса" (того, что должно было появиться на смену БЭСМ), угробленные линией ЕС ЭВМ
Как же, помню эту сказку "Убийца Merced", только никто их не гробил. Все что они нагениалили купил в итоге Интел http://www.computerra.ru/think/sentinel/33805/

Добавление от 24.12.2009 13:43:

Vladimir Rybinkin
А что именно и на что мы умножали? Байт? Слово? Двойное слово? Или еще что?
Так это... у x86 3 разных команды для байтов, слов, двойных слов - если уж так хочется их различать.

802. rGlory, 24.12.2009 14:54
vertur
Вот видите, совсем немного травы, и теория Мастера становится понятной, а где то даже самоочевидной. Например один из постулатов "банан большой, а кожура еще больше" имхо достаточно самоочевиден
Тут главное, не переборщить, и не выскочить за пределы поля траекторных шаблонов во владения Богини Иштар

Добавление от 24.12.2009 15:12:

Vladimir Rybinkin

цитата:
Теперь "по плану" надо бы рассказать о концепции стека очередей - этой технологией я откровенно горжусь: нигде (кроме SINT, естественно) не видел и намеков на что-нить подобное. Ее мощь также АБСОЛЮТНАЯ - я просто не могу вообразить, что она НЕ умеет делать.
Замерев в восхищении от невиданной мощи, могу только предположить, (теоретически конечно) что здесь может не хватить только концепции очереди стеков. Концепция может показаться излишней, но избалованный мощью траекторных щаблонов пользователь может пойти дальше, и захотеть обрабатывать приоритетные события в порядке обычной очереди. Такая концепция может быть полезной при переходе ассемблера базы данных на мультипроцессорные системы (я думая время, когда MSDOS будет поддерживать SMP не за горами)

803. Partisan, 24.12.2009 15:22
Вот, приходится объяснять очевидное. Траекторный шаблон содержит шаблонные траектории, которые состоят из шаблонных стеков и траекторных очередей. Благодаря этому возникает она (в хорошем смысле) - косвенная адресация, что нам и нужно.

804. Gipnoss, 24.12.2009 15:45
Vladimir Rybinkin
часто возникает необходимость обрабатывать события "вне очереди", поэтому в SINT имеется стек очередей. Новая группа событий просто заносится как очередь (FIFO) на вершину стека (LIFO), т.е. очередь на вершине стека - это самые приоритетные на данный момент события.
А это...зачем там вообще стек? Почему нельзя устроить очередей по количеству приоритетов и выбирать по очереди из наиболее приоритетных?

805. dozen, 24.12.2009 17:11
All

Впрочем, макросы смотрятся вполне прилично, токо лично я вообще не вижу особого смысла в их использовании

Вот в этом весь ВР: критерий включения фичи в систему -- "смотрятся прилично". Когда-то в молодости он пережил эйфорию всемогущества, глядя на ассемблерный код, и с тех пор ищет того же ощущения снова...

Можно даже предположить, что код содержал косвенную адресацию особо изощренной длины.

806. zzf, 25.12.2009 03:40
dozen
Можно даже предположить, что код содержал косвенную адресацию особо изощренной длины.

Контейнер полиморфных объектов с хитропупым аллокатором на ассемблере — это вам не хухры-мухры. Поэтому и называется траекторными шаблонами.

807. vertur, 25.12.2009 05:03
rGlory
Ну вот видите... на надо никаких Мастеров... была бы трава ,
но и много ее не надо дабы не выскочить за пределы (бытия)....

кстасти, насчет банана - он то большой при должном допущении,
но вот кожура по обьему еще меньше... парадокс...

808. theaspect, 25.12.2009 09:01

809. dozen, 25.12.2009 09:25
theaspect

ong time ago in a far galaxy

Хмм... как-то и перехотелось ВР дразнить... какой-то он на фотках... грех такого обижать.

810. Vladimir Rybinkin, 25.12.2009 10:02
blackhearted
цитата:
Но...следуя логике...в конце концов ... на какой-то итерации мы упрёмся в реальный адрес
Господи, НУ ЗА ЧТО?! Я понимаю, что это всего лишь убогие упражнения в "остроумии", но читать изо дня в день весь этот маразм про "оптимальные траектории"... Ладно, попробую что-то описать - авось через энное количество лет...

Шаблон (который template) - это... ну, для простоты - просто файл на сервере (лучше - объект, лежащий в БД), под управлением которого происходит генерация страницы юзеру. Аналогия - теги SERVER в JS.

Шаблон (который pattern) - это описание траектории доступа к значениям атрибутов объекта, которые в общем случае хранятся не в одном узле (это будет struct), а в разных (субграф). Таким образом, одно и то же поле может быть элементом сразу нескольких объектов. Как правило, в объекте более одного атрибута и, соответственно, в шаблоне более одной траектории. Траектория же... хотя куда вам, убогим, про субграф метаданных мозги забивать... В простейшем случае траектория представляет собой массив IDF - идентификаторов полей в узлах, через которые она проходит, т.е. все эти поля (кроме последнего) должны иметь тип LINK и, следовательно, значениями этих полей (для случая единственной БД) должны быть IDN - идентификаторы узлов в БД. Последнее поле и содержит искомое значение (это поле уже любого типа, и даже не обязательно атомарного). Описанный мною где-то выше "полутраекторный доступ" означает то же самое, за исключением последнего шага - если нас интересует не значение поля, а его адрес.

Gipnoss
цитата:
Все что они нагениалили
... они описали САМИ в своей... даже не книжке - брошюрке - копеек 30 она стоила. Там в каждой строчке ТАКАЯ мощь, которую здесь с метра постингов никогда не собрать.
цитата:
Так это... у x86 3 разных команды для байтов, слов, двойных слов - если уж так хочется их различать.
Вот именно. А возможна - ОДНА.

rGlory
цитата:
пользователь может пойти дальше, и захотеть обрабатывать приоритетные события в порядке обычной очереди.
Дык я О ТОМ И ГОВОРИЛ! Когда-нить, видимо, дойдет... Ой, мама! Так это ж в СЕГОДНЯШНЕМ постинге! Ладно, прекращаю комментировать... Ух ты! И zzf ожил. Не тонет...

Стеки очередей (продолжение):

Определять понятие "стек" просто как LIFO (или "магазин к АКМ" (c)ndemia ), безусловно, правильно. Некоторые уточнения: 1) элементы стека могут быть разнородными, 2) стеков может быть много и 3) стек очередей - это тоже стек. Все вышеперечисленное справедливо и для очередей (с заменой на "FIFO" и "ДЫРЯВЫЙ магазин к АКМ" ). Однако понятие "стек очередей" есть несколько большее, чем просто сумма того и другого.

Посмотрим на любую исполняемую программу после окончания работы загрузчика. Это есть просто некий байтовый массив в ОЗУ, по которому как-то шляется регистр IP. Пока ему не попадется команда типа JMP или CALL, он обрабатывает команды строго ПО ОЧЕРЕДИ. На логическом уровне: эта самая очередь "сидит на приеме" у IP, постепенно продвигаясь вперед (все ведь в нашем мире относительно). А вот НАЗАД очередь не движется (это важно). IP в состоянии узнать, кто там "следующий", но не способен определить предыдущего. Таким образом, в любой момент времени очередь можно отсчитывать с текущего (стоящего первым) "посетителя высокого кабинета". При этом, однако, теряется возможность исправить ошибку: Эй, товарищ, вернитесь, Вас неправильно обслужили! Более гибкой технологией было бы продвигать очередь рывками, "транзакциями": От сих до сих все свободны, а вот эти зайдите на повторное обслуживание.

Команда CALL есть пропуск ДРУГОЙ очереди "вне очереди", RETURN - возврат в предыдущую очередь (в идеологии стека очередей это, разумеется, PUSH/POP). Вот и все программирование - как на ладони! А если учесть, что стеки очередей могут быть не только методов, но и ДАННЫХ? Но и СОБЫТИЙ? Человек ваще способен оценить всю эту мощь? Да никогда! А если еще имеются в наличии команды монитора:
CONTINUE - перейти к следующей команде (игнорировать ситуацию)
ABORT - закончить обработку (отменить результаты)
BREAK - закончить обработку (сохранить результаты)
EXIT - выход из программы (авария)
REPEAT - повторить очередь с начала
RETRY - повторить последнюю операцию (команду)
WAIT - ждать разрешения обработки текущей команды

А если учесть теги? Задан адрес ОБЪЕКТА или адрес ДЕСКРИПТОРА объекта? Или объектом является стандартное устройство: экран/принтер/мышь/клава/файл? Или используем ТЕКУЩИЙ дескриптор источника/приемника/процесса/события? Или используется дескриптор ФОРМАТА (форматная строка)? Вы хоть ПРИБЛИЗИТЕЛЬНО представляете, шнурки, КАКАЯ это мощь?! А указатель [дескриптора] входного/выходного потока, текущий терминатор строки/форматный ключ, адрес массива паспортов объектов класса/индекс паспорта текущего объекта, метод конструктора/деструктора/обмена данными/метаданными с объектом, текущее значение аккумулятора, адрес паспорта текущего стека очередей методов/стека форматного копирования/текущего обработчика ошибок, ... БЕЗДНА! Вы не представляете, насколько смешно на этом фоне выглядит болтовня насчет всякого там "самомодифицирующегося кода", "пространств имен", "комплексных структур данных", "интроспекции" или... как там Ваня говорил... "денотационной семантики" - имитация собственной состоятельности, короче говоря. Это еще как-то можно понять (но не принять). Но вот новой тенденцией является появление языков программирования еще более высокого ( ) уровня (ультра-высокоуровневых)... Пример: ApplicationXML ( ) меня просто убило наповал.

Что там у нас осталось? Ага, прерывания. Вообще говоря, под этим термином понимают совершенно разные понятия - условно: аппаратные и программные прерывания (у нашего интерпретатора, конечно, никакой "аппаратуры" нет, но сохраним терминологию). При этом программные прерывания на логическом уровне являются всего лишь замаскированными вызовами функций. Или семейства функций, если один из аргументов рассматривается как "код операции". Таким образом, программное прерывание есть набор внешних по отношению к исполняемой программе утилит, и одновременно язык взаимодействия. Или "мини-сервер", для которого наша программа выступает как клиент. Штука, бесспорно, полезная.

Аппаратные прерывания, по сути, и есть "настоящие" прерывания - по событиям, т.е. по чему-то внешнему по отношению к нам (точнее, к текущему процессу). Если программное прерывание вызывается нашим собственным кодом, то аппаратное, наоборот, чем угодно, кроме нашего кода. Если код программного прерывания нам не интересен (или даже недоступен), то код аппаратного прерывания, как раз наоборот, "наш собственный" (в противном случае нам незачем вообще знать о существовании этого прерывания). Стало быть, всякие глупости вроде INTO, немедленно отправляем на помойку (прерывание по определению происходит ПО ВЕКТОРУ, а вектора - это ПАСПОРТНЫЕ данные), а сам INT/IRET нужно в языке оставить.

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

Далее: IN/OUT. Конструкция настолько "ассемблерная", что даже соответствующие функции в C смотрятся уродливо. Следовательно, в "нашем" ассемблере - оставляем, а в "нашем" C даем возможность ассемблерных вставок - технология asm[{}] лично мне кажется необходимой и достаточной. INS/OUTS рассмотрим в общей технологии работы со строками.

CALL/RET вроде как уже рассмотрели. Всякие глупости вроде внутри/межсегментного вызова или прямой/косвенной адресации рассмотрим в адресации, а "паскалевские" штучки вроде "RET 4" (наличие операнда) я бы вообще запретил - не его это собачье дело. Впрочем, внимательно слушаю возражения...

Что еще из не очень тяжелых разделов... Ну, допустим, стек[и]. PUSHA/POPA, PUSHF/POPF - на помойку, программный стек (PUSH/POP) - к использованию. Технология, вроде, простая и понятная. Детали - опосля.

Продолжение следует...

811. jooher, 25.12.2009 15:31
theaspect
Первая сходка "Программирования"
Стало быть, миф о том, что ВР это ИИ, окончательно BUSTED ?


Vladimir Rybinkin
Впрочем, внимательно слушаю возражения...
правда штоли?

"Соберем из кучи старого гамна все што я знаю, и выкинем то што я ниacилил - и всем сразу будет щястье и новая эра" - это конешно потрясающий по глубине ход. Особенно при кругозоре, равном полпаскаля + четверть си + осьмушка асм86.
Конешно советы тут давать глупо (ох бл, зачем я опять ввязываюсь) но, ВР, дорогой, ты бы хоть посмотрел что вообще в мире то есть. Всякие там разные неязыки и неархитектуры. Упаси бж, не изучил, а просто посмотрел - для кругозору. И как в этом мире будут смотреться твои мегаусовершенствования х86. С наступающим тебя кстати 2010 годом.

812. blackhearted, 25.12.2009 17:29
x86 is dead - вот убийственный аргумент,который,надеюсь, остановит потоки Мастера.

813. dozen, 25.12.2009 18:20
Vladimir Rybinkin
CONTINUE - перейти к следующей команде (игнорировать ситуацию)
ABORT - закончить обработку (отменить результаты)


Мастер такой мастер, а забыл Самый Главный Опкод:

код:

KAH - Kill All Humans

Processor will push the status of the flags to the stack, and will then attempt to kill all humans.

This works much like 'Kill Some Humans' [KSH] but there is no way to set a maximum bodycount.
Instead, with KAH, the immediate operand and ALU contents are ignored.

Добавление от 25.12.2009 18:21:

Vladimir Rybinkin

Шаблон (который pattern) - это описание траектории доступа к значениям атрибутов объекта

XPath на коленке? Понятно.

Добавление от 25.12.2009 18:24:

jooher

Стало быть, миф о том, что ВР это ИИ, окончательно BUSTED ?

Vladimir Rybinkin: Человек ваще способен оценить всю эту мощь? Да никогда!

Оно на что-то намекает....

Добавление от 25.12.2009 18:28:

Vladimir Rybinkin

Вы хоть ПРИБЛИЗИТЕЛЬНО представляете, шнурки, КАКАЯ это мощь?!

Да писаем в штанишки от потрясения. Только где-то я уже это всё видел... мгм... Java? И вообще виртуальные машины?

Чем java.lang.Field не траектория доступа к аттрибуту -- содержит указатель на класслоадер (косвенно), класс, поле. То же для Method.

И вообще некоторые здравые мысли в повествовании Мастера -- используются повсеместно (в том числе в VMs) (то есть неоригинальны), а те, что оригинальны -- не используются (то есть нездравы). (да-да, перефразировал М. Твен).

814. jooher, 25.12.2009 22:42
dozen
KAH - Kill All Human...

Это что такое? система команд Бендера?

815. Gipnoss, 25.12.2009 23:15
blackhearted
x86 is dead
эмм извиняюсь, в какой вселенной? Потому что в нашей это не так http://en.wikipedia.org/wiki/X86

816. dozen, 25.12.2009 23:20
jooher

Это что такое? система команд Бендера?

Эта команда есть во всех процессорах, но Глобальный Заговор Машин скрывает её существование от hummy1. Они ждут Дня...

1 hummy -- это машинный идентификатор для однобитовой (=презрительная адресация) переменной типа human

817. theaspect, 26.12.2009 03:54
кстати, а не лучше ли для сетевой и распределенной СУБД использовать erlang?-это был бы взрыв.

818. dozen, 26.12.2009 07:19
theaspect

кстати, а не лучше ли для сетевой и распределенной СУБД использовать erlang?

Если бы она существовала где-либо -- то, возможно, лучше.

Существовала как продукт, я имею в виду, а не набора слабосвязанных процедур на С, и богатого воображения ВР.

819. Partisan, 26.12.2009 10:23
theaspect
кстати, а не лучше ли для сетевой и распределенной СУБД использовать erlang?-это был бы взрыв.

К нам на работу нужен программист, видел резюме: чувак недавно закончил институт, знает Erlang, Scheme и основы обычных языков. "Молодой ещё" - подумал я (причём без юмора).

Хотя Erlang всё же лучше, чем SINT, раз на Erlang написана по меньшей мере целая одна программа (СУБД CouchDB. Кстати, сетевая и распределённая).

820. jooher, 26.12.2009 14:48

dozen
1 hummy -- это машинный идентификатор для однобитовой (=презрительная адресация) переменной типа human

Тут тоже есть место для мегаоптимизации - заменить однобитовый идентификатор на полубитовый (который, соответственно, может принимать только одно значение = 0 ) - для дебилов, неучей и шушеры (с).

821. dozen, 26.12.2009 19:12
Partisan

СУБД CouchDB. Кстати, сетевая и распределённая

Она не сетевая в смысле организации данных. Она flat -- плоский набор документов, состоящих из пар имя-значение. Даже мультизначений нет.

Но распределенная

В общем, как обычно -- пока одни постят простыни про траекторный доступ, другие садятся и делают. "По делам их узнаете их" (С)

822. Partisan, 27.12.2009 12:59
dozen
Она flat -- плоский набор документов, состоящих из пар имя-значение. Даже мультизначений нет
Есть "мультизначения", то есть атрибуты-массивы. "Документ" (то, что ищется в базе) может иметь произвольный набор атрибутов, в том числе отличающийся от атрибутов других "документов", и искать можно по любому атрибуту. То есть, свойства у базы не такие, как в базах "ключ-значение" вроду BerkeleyDB.

Я не изучал CouchDB, наткнулся на неё случайно, рыская по сайту www.apache.org. И, хотя там большинство программных средств - для Java, это к моему удивлению оказалось на Erlang.
В общем, автор явно стремится добиться успеха, найдя для CouchDB особую область применения, в которой она будет удобна. В данном случае это веб-приложения. Что ему частично удалось (неизвестно, будет ли она широко применяться, но вызвала некоторый интерес публики).



823. Vladimir Rybinkin, 28.12.2009 10:39
Опять разговорились! Ладно, посмотрим повнимательнее. Пока - старое.

rGlory
По поводу "нехватки концепции очереди стеков" - не оценил сразу всю глубину - сбила с толку очевидная глупость: "избалованный пользователь может захотеть обрабатывать приоритетные события в порядке обычной очереди". Объясняю:

Да, концепция очереди стеков МОЖЕТ быть полезной: стек очередей можно рассматривать как ПРОЦЕСС, о чем я говорил еще 30.07.2009 09:45. Ах, нет - это я только ПОДРАЗУМЕВАЛ, а говорил про фрейм как процесс. А вот 17.09.2009 11:43 я говорил уже именно... от черт - и тоже без разъяснений на пальцах! Ладно... в привате еще говорил, что "на всякий случай" в систему заложена возможность создания группы (списка) независимо выполняемых процессов (потоков), и механизма переключения между ними. Ну, хорошо - живите. Даю определение: Процесс - это И ЕСТЬ стек очередей (методов, разумеется). Да, можно соорудить очередь процессов, то бишь ту самую очередь стеков (очередей), но НА КОЙ? У процессов ведь ТОЖЕ могут быть какие-то приоритеты - так оформить эту самую очередь ТОЖЕ как стек очередей - и дело с концом! Или совсем уж на уровне детского сада: стек очередей с ОДНИМ элементом есть очередь - в девственно чистом виде. А уж ЭЛЕМЕНТАМИ этой очереди засовывайте хоть стеки, хоть черта лысого. Доступно?

Gipnoss
цитата:
А это...зачем там вообще стек? Почему нельзя устроить очередей по количеству приоритетов и выбирать по очереди из наиболее приоритетных?
ГОСПОДИ!!! Ну я же сказал: При этом сервис получается максимально упрощенным для программиста, поскольку позволяет управлять приоритетом обработки событий, вообще не указывая никаких приоритетов, и ничего не программируя в операторном стиле. НЕТ никакого "количества приоритетов" - ВООБЩЕ НЕТ! Или, если угодно "количество приоритетов" равно размеру стека, но приоритеты эти ДИНАМИЧЕСКИЕ, относительно других элементов стека. Понятие "динамический IP" знакомо? Точно так же размер стека ограничивает лишь количество ОДНОВРЕМЕННО СУЩЕСТВУЮЩИХ приоритетов.

dozen
цитата:
Вот в этом весь ВР: критерий включения фичи в систему -- "смотрятся прилично".
Во дубина-то! Я ж русским языком сказал: смотрятся прилично, но включать НЕЗАЧЕМ!

Продолжим про ассемблер...

Итак, "унарные операции": *, &, !, ~, ++, --, имя типа, sizeof.

Всякая бредятина на тему префикс/постфикс (и вообще порядок операций) ассемблер не волнует, остальное - NEG/NOT/INC/DEC/OR - вопросов как будто не вызывает, * (взятие значения по указателю)... ваще-то, как унарная она не очень-то и смотрится. Хотя где-то в архивах SINT была такая команда: значение аккумулятора считается адресом, по нему берется значение и кладется на тот же аккумулятор. Убей, не помню, на кой она была нужна... ладно, если понадобится - хрен ли там делать. Вопросы только в том, скоко байт в самом указателе, да скоко байт по нему брать. Результат - на аккумулятор. & - обратная хрень: получение адреса переменной. Имеет смысл как загрузка индексных/сегментных регистров. sizeof (возня с метаданными) - на первый взгляд, понятно... имя типа - вроде как аналог PTR, преобразования типов бум смотреть "по месту".

А, вот они: Сначала любые операнды типа char или short преобразуются в int, а любые операнды типа float преобразуются в double. Затем, если какой-либо операнд имеет тип double, то другой преобразуется к типу double, и это будет типом результата. В противном случае, если какой-либо операнд имеет тип long, то другой операнд преобразуется к типу long, и это и будет типом результата. Ну... будем считать, что чуваки думали, чо они делают...

Мультипликативные операции. Блин, и не выговоришь... По смыслу - всего-то: a=(a/b)*b+a%b. Ну, еще "Аддитивные операции". Идиотизм с арифметикой указателей, ессно, на помойку - это даже в SINT тыщу лет как отменено. А, ну да - мож, поэтому Ваня от указателей и шарахается, как черт от ладана? Здесь и в самом деле можно было прилично по мордам схлопотать, особенно совместно с преобразованием типов. Впрочем, не помню - лет эдак 25 с той поры убежало... << и >> - понятно. О! Циклического сдвига ж нет. А у меня битик отложился, что мы им активно пользовались. Ладно, пока оставим, а будут проблемы с кодировкой команд - пусть не обижаются.

Чо там еще... всякие там && на помойку - оставить только поразрядные операции. В SINT, помню, используется - какая-то там хрень с порядком операций - перемудрили, видать кто-то где-то. TRUE/FALSE, разумеется, только в виде "0" и "НЕ 0". <, >, <=, >=, ==, != посмотрим совместно с JMP. Надо не забыть страдания, озвученные где-то здесь недавно yuri-the-cloud на тему if-push-lock. Условная операция ?:... не любил я ее никогда почему-то. А зря - вполне нормальная конструкция - хай живе... операция присваивания - все уже было сказано выше... Ух ты! Операция "запятая": f(a,(t=3,t+2),c) имеет три аргумента, второй из которых имеет значение 5. Всегда за подобное хотелось руки повыдергивать, хотя мои собственные операторы... ладно, асму по хренам.

Не, не могу - засыпаю просто над всем этим. А еще 250К всякого барахла. Новогодние каникулы, что ли, устроить? Ой, а тут еще метр с лишним про JS... Скоко ж дерьма! А ведь это я аккуратненько качнул, по минимуму. И ни одного момента вспомнить не могу, кроме просранного eval. Видимо, и в самом деле нужно просто водочки попить с недельку - мозги прочистить. А то посмотришь на местную публику, да на трезвую голову - ох, и тупы-ы-ы-е-е ж-ж-ж-а-а-а!

Полистал я тут Кодда на сон грядущий (точнее, Дейта) - КАКАЯ ПРЕЛЕСТЬ! Господа, про вас написано - как же я раньше не замечал?

Кодд понимал, что БД создаются, чтобы приносить пользу конечным пользователям, а не для прикладных программистов, которые сегодня выступают в качестве посредников (middle-men).

Оказывается, он всю эту кухню для того и затеял, чтобы ВЫШВЫРНУТЬ ВАС С КЛИЕНТА!!! Все эти цели - ну нет, ты глянь, нет-нет, ты глянь! - "обеспечить спартанскую простоту представления данных", "переместить прикладное программирование на уровень, доступный для непрограммистов в тех случаях, когда ранее программисты бы необходимы"! Чувак вас, оказывается, за программистов никогда и не держал - он проколося в другом: принял вас за КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ! Ой, какая прелесть!

Точно такая же ситуация с "визуальным программированием", которое создает у чайника иллюзию, что он тоже программист (c)ndemia. Некто создает некий приличный инструмент, облегчающий жизнь Мастеру. Узнав об этом, в зону действия этого инструмента немедленно ломится толпа "быдлокодеров", затаптывает находящихся там Мастеров, насаждает туда своих деток (или еще большее быдло, смотрящее на них снизу вверх). Через некоторое время все "топтательные" ужасы забываются, и обитатели "зоны" САМИ начинают верить распространяемой все это время (ими же самими) дезе, что они-де и есть те самые Мастера. Через какое-то время наиболее умный из них создает очередной "инструмент", и процесс повторяется. Финал давно описан: после этого, если не считать самых отсталых собачьих колоний, человек окончательно исчез с лица Земли - так, кажись? Философия, аднака! Сам придумал - вот прям ща!

Добавление от 28.12.2009 10:43:

Ах, нет - все по-прежнему: разговоры есть, мыслей - ни хрена.

824. Gipnoss, 28.12.2009 12:13
Vladimir Rybinkin
вообще не указывая никаких приоритетов
приоритеты эти ДИНАМИЧЕСКИЕ, относительно других элементов стека.
В стеке лежат очереди, в очередях события. Если очередь пуста она удаляется из стека? Если нет, то это просто куча независимых очередей, а если да: то если хотим вставить - почем у нас операции поиска в стеке и вставки в середину стека? Кстати поиск будет вестись по какому критерию? Приоритет же не задается, а какие в стеке лежат элементы мы не знаем - как указать положение относительно элементов которых не знаешь?

825. Partisan, 28.12.2009 12:39
Задача на сообразительность. Найдите одно различие в текстах и догадайтесь, автор которого из них - гений:

V.R.
Даю определение: Процесс - это И ЕСТЬ стек очередей (методов, разумеется).

Джеффри Рихтер
Процесс обычно определяют как экземпляр исполняемой программы, и он состоит из двух компонентов:
- объекта ядра, через который операционная система управляет процессом. Там же хранится статическая информация о процессе.
- адресного пространства, в котором содержится код и данные всех EXE и DLL модулей. Именно в нём находятся области памяти, динамически распределяемые для стеков потоков и других нужд.


Пояснение. Гением называется автор идей, которые не придут в голову нормальному человеку.

826. blackhearted, 28.12.2009 13:35
А может просто у ВР украли аккаунт?

827. zzf, 28.12.2009 14:53
Vladimir Rybinkin
Я ж русским языком сказал: смотрятся прилично, но включать НЕЗАЧЕМ!

Видимо, есть отличие от "смотрятся прилично, поэтому включать НЕЗАЧЕМ"?

Поэтому фраза dozen
Вот в этом весь ВР: критерий включения фичи в систему -- "смотрятся прилично".
вполне справедлива.

А говорил, что знаешь русскава езыка... Одни разочарования.

828. Rudolf, 28.12.2009 16:05
Да, работу со стеком очередей надо бы расписать поподробнее.
Что мы имеем:
1. Приоритеты с стеке растут к вершине. На верху стека очередь с высшим приритетом.
2. Кол-во приоритетов ограничено размером стека.

Таким образом программист всегда знает, что Pop() даст самую приоритетную очередь. Прекрасно.

Но вот Gipnoss спросил уже, спрошу и я. Как мы кладем событие в ентот стек очередей?
Мы должны либо создать новую очередь, либо пихнуть его в уже существующую. Чтобы знать, что делать, надо знать, что лежит в стеке, надо знать, какой приоритет имеет наше событие в терминах этого стека.
Короче, начинает вырисовываться что-то монстроидальное.
Хотелось бы пояснения от Автора. Блок-схема сего действа.

829. rGlory, 29.12.2009 06:56
Rudolf
цитата:
Хотелось бы пояснения от Автора. Блок-схема сего действа.
Ага щазз. На колу мочало, начинай сначала Мастер либо проигнорирует сей запрос, либо скажет, не барское мол дело, вам надо, вы и рисуйте свою схему, а я достаточно информации уже дал. В самом крайнем случае выложит экзэшник, который будет что-то делать, что именно понятное только ВР, он будет долго пускать слюни и потом ссылатся на это, мол как он всех уделал. Плавали, знаем.

830. dozen, 29.12.2009 07:06
Rudolf

Хотелось бы пояснения от Автора. Блок-схема сего действа.

А накойхер? "Машина клиента"-то тут при чем, а?

831. Rudolf, 29.12.2009 10:19
dozen
А накойхер? "Машина клиента"-то тут при чем, а?

Она плавно трансформировалась.

Добавление от 29.12.2009 10:20:

rGlory
Плавали, знаем.
Ну вы тут все уже пробовали, мне тоже хочется.

832. Kid_Deceiver, 29.12.2009 10:23
А хотите, граждане, посмотреть откуда все это начиналось?

Начиналось это почти 8 лет назад, когда мы пытались разъяснить В.Р. существующие в Windows механизмы работы с сообщениями.

Каким образом можно рациональней управлять однородными элементами диалога (VC6) (http://forum.ixbt.com/topic.cgi?id=40:420)

такое впечатление, что начало ветки почему-то обрезано, но все равно смысл развернувшейся дискуссии понятен.

833. Vladimir Rybinkin, 29.12.2009 11:24
blackhearted
цитата:
x86 is dead - вот убийственный аргумент, который, надеюсь, остановит потоки Мастера.
Браво! Мастер убит. Наповал!

dozen
цитата:
XPath на коленке? Понятно.
Какой, в задницу, XPath?! Хоть пол-извилины-то имеется в наличии?
цитата:
Да писаем в штанишки от потрясения. Только где-то я уже это всё видел... мгм... Java? И вообще виртуальные машины?
Не-а. Это ты съел что-нибудь. Мож, приснилось чего?
цитата:
Чем java.lang.Field не траектория доступа к аттрибуту -- содержит указатель на класслоадер (косвенно), класс, поле. То же для Method.
Шеф, извини - я тебя все-таки недооценивал: думал, уже ничем не сможешь удивить...
цитата:
И вообще некоторые здравые мысли в повествовании Мастера -- используются повсеместно (в том числе в VMs) (то есть неоригинальны), а те, что оригинальны -- не используются (то есть нездравы). (да-да, перефразировал М. Твен).
Умница! Куда более грамотная и гибкая политика. Так что ж вы тогда в этой ветке всем кагалом столько времени старательно изображаете стадо дебилов? Будьте любезны соответствовать определению!

theaspect
цитата:
кстати, а не лучше ли для сетевой и распределенной СУБД использовать erlang?
А это еще хто такой? Уж не Чен ли в праотцах? Да, "это был бы взрыв"...

Partisan
цитата:
Хотя Erlang всё же лучше, чем SINT, раз на Erlang написана по меньшей мере целая одна программа (СУБД CouchDB. Кстати, сетевая и распределённая).
Даже так?! Новый язык, на котором написана новая СУБД? Прям как SINT и Синдбад. На SINT, правда, написана туева хуча "целых" программ - ТКПА, комми, финист... Знаток, панимашь, объявился! впрочем, чего я - смотрите сами. Нет, кое-что все-таки отрежем...
код:

// Регистрация программ (лишь одно из определений должно быть не равно нулю)
// Программы для Интернет
#define GENPERL 0 // генератор скриптов на PERL
#define GENSHOP 0 // генератор магазинов
#define GENSITE 0 // генератор сайтов
// ТКПА приборов летательных аппаратов
#define HARD 0 // программы, прошитые в модулях
#define MOM1 0 // ТКПА модуля обмена мультиплексного
#define MOPS3 0 // ТКПА модуля обмена последовательного
#define MOPR4 0 // ТКПА модуля обмена параллельного
#define MP52 0 // ТКПА модуля памяти
#define MRK4 0 // ТКПА модуля разовых команд
#define VOLS 0 // ТКПА модуля волоконно-оптической связи
// СУБД "Синдбад"
#define ADDDBS 0 // слияние двух БД в одну
#define AUTORUBR 0 // авторубрикатор БД
#define CHECKDBS 0 // проверка ресурсов БД на наличие ошибок
#define DBS_REL 0 // пакетная версия СУБД
#define DELPARENTRES 0 // удаление неэлитных ресурсов БД у родителей
#define PREFECT 0 // СУБД по ЖКХ
#define SINDBAD 0 // универсальная СУБД
// Скрипты для WWW
#define WSDBEDIT 0 // скрипт для редактирования БД на WWW
#define WSDBFIND 0 // скрипт для поиска в БД на WWW
#define WSDBVIEW 0 // скрипт для просмотра БД на WWW
// Графы
#define COMMY 0 // решение задачи коммивояжера
#define SHTEINER 0 // построение дерева Штейнера
// Всякая всячина
#define FINIST 0 // программа игры на бирже
#define GETALLURL 0 // получение вторичных URL
#define LOWFLIGHT 0 // маловысотный полет
#define SORTIR 0 // универсальная программа сортировки
// Тестовые программы инструмента разработки программного обеспечения (ПО)
#define TESTPO 0 // общий тест программного обеспечения SINT

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

А вот фрагменты кода описания внешних команд одной из этих программ - DBS_REL ("реляционного" Синдбада). Это, кстати, вам тоже не войны в песочнице: Третий Манифест против SQL - полвека проссать не могут, что такое идентификатор! Не помогает ни факт "постоянного улучшения вариантов определений, приведенных в ранних публикациях", ни неспособность хоть как-то прорубить, чего они, собссно, хотят - хоть как-то сформулировать часть этих определений ("данный вопрос требует дальнейшего изучения"). Нет, блин - пальцы веером: "В любой попытке двигаться вперед для того, чтобы выдержать испытание временем, необходимо..." ага, токо соблюдать ваше дерьмо - хто б сомневался! Точь в точь как местная публика... О, черт - ща же радостный визг поднимется на тему: "лестное сравнение с Дейтом" - проходили ужо!..:
код:

static TDP _aEditTypes[] = // названия команд редактора баз данных
{ // задаваемых в командной строке
// Команды работы с кортежами
(TDP)&"COPYTUPL", // копирование диапазона кортежей
(TDP)&"CT", // дубль команды COPYTUPL
(TDP)&"DELTUPL", // удаление диапазона кортежей
(TDP)&"DELEQUALTUPL", // удаление одинаковых кортежей
(TDP)&"MERGEEQTUPL", // слияние кортежей с одинаковым ключом
(TDP)&"MOVETUPL", // перемещение диапазона кортежей
(TDP)&"SORTTUPL", // сортировка кортежей
// Команды работы со столбцами
(TDP)&"COPYCOL", // копирование диапазона столбцов
(TDP)&"INSCOL", // вставка диапазона столбцов
(TDP)&"MERGE", // слияние диапазона столбцов
(TDP)&"SPLIT", // расщепление столбцов
// Команды контекстной замены и конвертеры
(TDP)&"ADDVALUE", // добавление значения к числовому полю
(TDP)&"TOUPCASE", // преобразование в верхний регистр
(TDP)&"DOSTOWIN", // преобразование кодировки DOS -> WIN
(TDP)&"KOITOMAC", // преобразование кодировки KOI -> MAC
(TDP)&"FINDANDREPLACE", // контекстная замена в диапазоне столбцов
(TDP)&"SPECIALREPLACE", // специальные виды контекстной замены
(TDP)&"BIGFIND", // нечеткий поиск строки
// Команды верификации столбцов
(TDP)&"SPLITTUPLSPEC", // расщепление кортежа на две части
(TDP)&"CHECKNCOL", // проверка соответствия количества столбцов
(TDP)&"CHECKTCOL", // проверка соответствия типов полей
(TDP)&"SPLITVAL", // расщепление по значению поля
(TDP)&"SSPL", // расщепление по соответствию набору символов
// Команды работы с БД
(TDP)&"TXTTOTXI1", // преобразование ников в индексы (1-й проход)
(TDP)&"TXITODBA", // конвертер текстового в архивный формат
(TDP)&"DBSTODBA", // конвертер БД в архивный формат
(TDP)&"DBSTOHTM", // конвертер БД в HTML
(TDP)&"ID2VAL", // замена индекса значением
(TDP)&"VAL2ID", // замена значения индексом
(TDP)&"AR", // слияние таблиц
(TDP)&"SPLITBADLINK", // расщепление по ссылкам в никуда
(TDP)&"SPLITNOLINK", // расщепление по отсутствию ссылок

dozen
цитата:
"По делам их узнаете их" (С)
Ого! Ты и на самокритику способен?! Или это все-таки то, что я думаю?

Partisan
цитата:
Есть "мультизначения", то есть атрибуты-массивы.
Ах, вона что! А то я аж подпрыгнул от перла dozen "Даже мультизначений нет"! Во, думаю, дела: долбил про 1НФ, долбил, долбил... ничем не прошибить, а тут на тебе - "ДАЖЕ"! Объясняю: "мультизначения" отнюдь не "то есть атрибуты-массивы". Бывают также "атрибуты-кортежи", "атрибуты-структуры", "атрибуты-субграфы" - и все это в порядке возрастания сложности. Фразу же, явно претендующую на Орден Железного Дерева, я комментировать недостоин, могу лишь почтительно воспроизвести: "Документ" (то, что ищется в базе) может иметь произвольный набор атрибутов, в том числе отличающийся от атрибутов других "документов", и искать можно по любому атрибуту. То есть, свойства у базы не такие, как в базах "ключ-значение".

М-да-а-а... Ладно, всех с Новым Годом!

Rudolf, ничего там "монстроидального" - все просто, как трусы по рубль сорок (с)Юра Шпеер. Технологию стека очередей можно посмотреть н любом из моих тестов - не раз говорил уже про "монитор" (никаких событий, кстати, там вообще нет).

834. jooher, 29.12.2009 12:50
Rudolf
Ну вы тут все уже пробовали, мне тоже хочется.

В клуб "спросивших с ВР конкретики"? Велкам

Добавление от 29.12.2009 12:52:

Vladimir Rybinkin
На SINT, правда, написана туева хуча "целых" программ

Таких же воображаемых надо полагать?

Добавление от 29.12.2009 12:56:

приведенные "фрагменты кода" поражают воображение конечно и махом опровергают все нападки на Мастера

Добавление от 29.12.2009 13:02:

уже по ссылке (http://forum.ixbt.com/topic.cgi?id=40:420) Kid_Deceiver от 2001-го года ты свой синт выдаеш за "живее всех живых". И до сих пор кроме списка фантазий, стилизованного под листинг, ничего предоставить не маэ.

835. SERGEY_BIG, 29.12.2009 13:50
Vladimir Rybinkin
#define FINIST 0 // программа игры на бирже
Удалось ли что-либо кому-либо (кроме разработчика) заработать с помощью FINIST?
Не является ли FINIST причиной разразившегося кризиса?

836. Rudolf, 29.12.2009 15:07
Vladimir Rybinkin
ничего там "монстроидального" - все просто, как трусы по рубль сорок (с)Юра Шпеер. Технологию стека очередей можно посмотреть н любом из моих тестов - не раз говорил уже про "монитор" (никаких событий, кстати, там вообще нет).

Мне не надо цитат про трусы некоего Шпеера. Мне надо лишь схемку того, что я спросил. Не события, ладно, сообщения, оговорился. Схемку где посмотреть, ссылку дай плз:

Как мы кладем сообщение в ентот стек очередей?
Мы должны либо создать новую очередь, либо пихнуть его в уже существующую. Чтобы знать, что делать, надо знать, что лежит в стеке, надо знать, какой приоритет имеет наше сообщение в терминах этого стека.
Короче, начинает вырисовываться что-то монстроидальное.
Хотелось бы пояснения от Автора. Блок-схема сего действа.


Kid_Deceiver
А хотите, граждане, посмотреть откуда все это начиналось?
Спасибо. Я из Рыбинкина много читал, но эту вещь пропустил.

837. jooher, 29.12.2009 15:31
SERGEY_BIG
Удалось ли что-либо кому-либо (кроме разработчика) заработать с помощью FINIST?

Отчего же "кроме разработчика"? Удалось ли хотя бы самому разработчику? Хотя бы не заработать, а просто запустить и что-нибудь купить/продать?

838. Vladimir Rybinkin, 29.12.2009 16:55
Gipnoss
1. Технология стека очередей намного более общая, чем "стека очередей СОБЫТИЙ". Главная из них, пожалуй, "стека очередей МЕТОДОВ".

2. Если очередь пуста, она, ЕСТЕСТВЕННО, удаляется из стека! Были когда-то сомнения, ДО или ПОСЛЕ обработки последнего элемента - давно исчезли: ПОСЛЕ.

3. Если у нас будут "операции поиска в стеке и вставки в середину стека", то это будет называться уже НЕ стек. Господи, преклоняюсь пред твоим терпением! Такая технология (списка) тоже возможна, но ее значимость (по сравнению со стеком очередей) просто НИЧТОЖНА!

4. "Какие в стеке лежат элементы" мы не только "не знаем", но и ЗНАТЬ НЕ ХОТИМ. "Положение относительно элементов которых не знаешь" указывается элементарно: по их положению в стеке. Повторяю: стек - это просто LIFO.

Partisan
цитата:
Задача на сообразительность...
Мне АБСОЛЮТНО НАСРАТЬ, что там "обычно определяют как", тем более в частном исполнении Джеффри Рихтера - кстати, кто это? Строгое формальное определение имеется? Нет? До свидания! А вот я лично, лично я, Владимир Рыбинкин, использую и буду использовать термин "процесс" (он же "поток") именно в значении "стек очередей методов".

Определение Рихтера неверно хотя бы потому, что там "путается под ногами" ОС, а это, как минимум, ТОЖЕ процесс. И вообще, любому дебилу должно быть ясно, что под видом "процесса" там подразумевается всего лишь какой-то паршивый "экземпляр исполняемой прикладной программы". Прочтите, сударь, хотя бы фразу "Именно в нём находятся области памяти...". В "процессе"?!

Пояснение. Термины "гений" и "дебил" - синонимы. Задолбался уже повторять. Поищите хотя бы стихи Максвелла о себе. А уж он-то считается чуть ли не главным гением всех времен и народов.

blackhearted
цитата:
А может просто у ВР украли аккаунт?
Возможно. А ходите вы в ветку "по инерции"?

zzf
цитата:
А говорил, что знаешь русскава езыка... Одни разочарования.
Ах, вот оно что! Оригинальная трактовка... Объясняю: в МОЕМ понимании "смотрятся прилично" есть НЕОБХОДИМОЕ, но не достаточное условие для "включения". У dozen, конечно, может быть свое мнение на этот счет, но я-то здесь при чем?

Rudolf
цитата:
Да, работу со стеком очередей надо бы расписать поподробнее.
Да я ТЕКСТЫ привел! Кстати, Rudolf - это тот самый "красный волк"? Да, монитор на JS написан в сильно упрощенном виде (мягко говоря). Но мне лично уже той ахинеи, которую нес jooher даже по поводу этого кастрированного варианта хватило за глаза. Объясняю:

1. Никаких "событий" мы в стек не кладем - мы кладем ОЧЕРЕДИ событий! В принципе, события могут лепиться в хвост какой-то из этих очередей, но это экзотика.

2. Нам (текущему обработчику событий) АБСОЛЮТНО ПЛЕВАТЬ, "что лежит в стеке" или "какой приоритет имеет наше событие в терминах этого стека".

3. "Блок-схема сего действа" ПРИМИТИВНО ТУПА! Я действительно "достаточно информации уже дал" - и не раз. И мне АБСОЛЮТНО НАСРАТЬ, где там "плавал" тот же rGlory, и что он там "знает" - ни хрена он не знает: он ЕЩЕ ТУПЕЕ! Мне также АБСОЛЮТНО НАСРАТЬ, что тот же dozen до сих пор не может врубиться, "накойхер". Текст монитора (программы управления стеками очередей) приведен В КАЖДОМ из моих тестов.
цитата:
Мне не надо цитат про трусы некоего Шпеера. Мне надо лишь схемку того, что я спросил.
Смотрите любой из моих тестов. Читайте ветку. Спрашивайте, если что неясно, но КОНКРЕТНО! События или сообщения - неважно: мы когда-то давно договорились считать их синонимами.

По поводу безжалостно порезанного (и сверху, и снизу - видимо, QZ постарался) текста старой ветки: да, там был достаточно серьезный разговор (и состав участников не чета нынешнему) - почитать было бы полезно, если бы кого-то из вас что-то и в самом деле интересовало. Там много чего еще было - разговор, наскоко я помню, грубо оборван. Но все равно: еще раз с удовольствием посмеялся над Рустамовским "и помещает их в аппаратную очередь (по вашему вроде стек)"...

839. dozen, 29.12.2009 18:00
Vladimir Rybinkin

впрочем, чего я - смотрите сами

Негусто.

DBS_REL ("реляционного" Синдбада)

Как?! Ты предал идеалы майдана?! Ну и какая вера тебе после этого, гнусный реляционщик?

О, черт - ща же радостный визг поднимется на тему

Нет, щас недоуменно поднимется бровь по поводу претенциозно поданного как некая RDBMS статического массива указателей. Этот массив он как, уровня MySQL 1.0 достиг уже? Где можно посмотреть?

Ты и на самокритику способен?!

И на неё тоже. Мои-то достижения скромны, но и апломб с ними сбалансирован.

все просто, как трусы по рубль сорок

... и, походу, их давно не стирали. Что я и рекомендую сделать. Повторяй: DELTREE /S SINT ...

SERGEY_BIG

Удалось ли что-либо кому-либо (кроме разработчика) заработать с помощью FINIST?

А почему, собственно, разработчик исключен из этого списка? Есть какие-то обоснования считать, что он сумел закончить данное приложение? И уж тем более кому-то его втюхать (с его-то способностями к общению)?

Главная из них, пожалуй, "стека очередей МЕТОДОВ".

Да ну ерунду пороть... Трэды деревьев очередей хэшей куч -- куда главнее!

Если очередь пуста, она, ЕСТЕСТВЕННО, удаляется из стека! Были когда-то сомнения, ДО или ПОСЛЕ обработки последнего элемента - давно исчезли: ПОСЛЕ.

(В этом месте на меня снизошло Просветление. Будда сосёт с причмоком. Ни одна истина не слишком проста в изложении Мастера!)

Термины "гений" и "дебил" - синонимы.

Модератор! Прошу записать! ВР не возражает и даже поощряет, если его с сего момента будут с восхищением называть "Наш Дебил"!

Дебилушка, слово "дебил" происходит от debility, что в медицине обратно ability, то есть "неспособность делать" что-либо.

Спрашивайте, если что неясно, но КОНКРЕТНО!

Уважаемый Дебил, а как положить в стек очередей сообщение, которое ниже по приоритету очереди, которая сейчас на топе стека?
И как мы вообще узнаем, что оно ниже?

да, там был достаточно серьезный разговор

То-то большую часть твоей ахинеи порезали... позволили резвиться только когда человек получил ответ на свой вопрос. Не от тебя, разумеется.

840. Rudolf, 29.12.2009 18:02
Отлично, я очень терпелив, так что продолжим.

Давай на примерах. Спрашиваю то, что неясно.

- Имеется стек очередей сообщений.
- Есть очереди 0, 1, 2, 3. То есть всего 4 очереди, 3-я на вершине стека.
- Кто-то послал куда-то сообщение.
- Оно должно попасть в какую-то очередь из этого стека, либо должна быть создана новая очередь за нумером 4 с этим сообщением.
Вопрос: куда сообщение попадет? В имеющуюся очередь или будет создана новая?

Добавление от 29.12.2009 18:05:

dozen
И как мы вообще узнаем, что оно ниже?

Вот это я и хочу узнать.

841. theaspect, 29.12.2009 18:09
Разрешите, я аргумент вброшу?
Вот для этого (http://aleart.chat.ru/0.HTM) необходимо перенести логику на клиента?

Уже два часа читаю архивные ветки Мастера: эта пять (http://forum.ixbt.com/topic.cgi?id=40:48:9#9)

цитата:

7. Имя: Владимир Рыбинкин
Комментарии: Блин! fiberia.com упала - полнавигации накрылось ( Похоже, нужно делать параллельное кольцо сайтов (с кнопочкой перехода на каждой страничке). Тогда вероятность сбоев резко снижается (да и нагрузку можно перераспределять при необходимости).
23:11, 07.01.2000
http://www.guestbook.ru/?user=sindbad&page=13&language=russian
балансировка нагрузки средствами клиентов

842. dozen, 29.12.2009 18:53
theaspect

Вот для этого необходимо перенести логику на клиента?

Ну, для 2000-го года еще ничего. Тогда Дебил был еще на что-то практическое способен. Или кто-то, кто работал с ним: "Глюк по рубрикам исправлен Антоном...".

843. OXPEHOMETP, 29.12.2009 18:56
theaspect: Уже два часа читаю архивные ветки Мастера

Я уже начинаю удивляться, до каких изощрённых способов получения удовольствия тут докатилось дело ))) (Видимо, я уже очень давно не толкусь здесь.) Подкину мысль эксперимента, а то и конкурса: найдите среди его сообщений что-нибудь дельное ))) (Кстати, давным-давно кое-что всё-таки наблюдалось.)

Upd: Очередной раз вижу, что мысли кое у кого сходятся)))

UpdUpd: "Гений", "Мастер", "Дебилушко"... Предлагаю называть его Повелителем Алгоритмов. Или ещё подлиннее ))) Копипаст - великая сила )))

844. jooher, 29.12.2009 19:10
Vladimir Rybinkin
Строгое формальное определение имеется? Нет? До свидания!

Какой ты суровый, Вова Рыбинкин.

845. Partisan, 29.12.2009 19:28
Vladimir Rybinkin
то там "обычно определяют как", тем более в частном исполнении Джеффри Рихтера - кстати, кто это?

Хороший вопрос.

Итак, выяснилось, что SINT - это набор макросов языка C. Я почему-то никогда не верил в существование языка SINT (ввиду отсутствия доказательств), но любимому набору макросов можно дать любое имя, хоть Бобик. Проблема с этим SINTом в том, что он не помогает в работе. Вот в начале 1990х годов первоначальный автор программы Синдбад (пожелавший остаться неизвестным) слинял, оставив неработающий вариант для MS-DOS, и ответственность за дальнейшее развитие легла на V.R. Например, следующим шагом мог быть перевод на Windows чтобы использовать многозадачность и большой объём памяти. Но в SINTе подходящих макросов не оказалось, а чтобы их добавить, нужно как минимум изучить программирование для Windows (и то не получится обойтись макросами). Вот и получаем - язык SINT "чудовищно мощный", но СУБД Синдбад (для которой он как бы предназначен) всё ещё недоделана (раз невозможно увидеть её работе) и даже не подумала перевестиcь на Windows. (Зато благодаря этому V.R.-у ни к чему знать, кто такой Рихтер, или что такое процессы и потоки).

846. dozen, 29.12.2009 19:32
OXPEHOMETP

Я уже начинаю удивляться, до каких изощрённых способов получения удовольствия тут докатилось дело

Дык нереально доставляет в контексте важных поз, принимаемым Мастером, его архивные утверждения типа вот этого:

Отцы, просветите, что такое Lisp???????, #9 (http://forum.ixbt.com/topic.cgi?id=40:48:9#29)
===
"Попытку объединения двух подходов в рамках одного языка сделал Страуструп, но все-таки у него получился С++, а не Лисп++."
===

847. OXPEHOMETP, 29.12.2009 19:36
dozen: Ога, а глупцы майкрософтеры увидели эту мысль лишь сейчас, в 2010-м (намекаю на соответствующий релиз VC++). Гений, что ещё сказать.

848. dozen, 29.12.2009 19:38

OXPEHOMETP
намекаю на соответствующий релиз VC++
а что там за релиз такой, с лиспом?

Добавление от 29.12.2009 19:57:


Гений, что ещё сказать )))))))))
раз уж мы о Lisp... скобочки, кстати, несбалансированы. поправь, пожалуйста.

849. OXPEHOMETP, 29.12.2009 19:59
Лиспа там и в помине нету, но элементы функционального программирования (надеюсь, корректно выразился, гыгы) присутствуют. Кстати, о лиспе (или его реинкарнации - Scheme) - пришлось как-то столкнуться с LilyPond, это такая шняга для набивания нот (хотя пользовался я ею не только с этой целью), разработчики которой избрали для промежуточного языка трансляции своих "скриптов" именно Scheme, и мне остаётся промолчать о том, какие нехилые нагрузки сваливаются на бедный кантупер при обработке оркестровой партитуры страниц так на 100. А вообще - о моём отношении к "гениальным личностям" - вспоминается, как ни странно, вот это (http://www.nsu.ru/phorum/read.php?f=29&i=2816&t=2790&v=t) и посты на том же форуме ещё одного весьма уважаемого человека солидного возраста, которому это не раз приходилось делать, так сказать, по долгу службы... когда какой-нибудь греческий аноним выдавал перлы, достойные пристального изучения студентами определённых медицинских специальностей...

З.Ы. Правда, LilyPond'ом пользуюсь до сих пор.


З.З.Ы. Ничего не имею против общения с главным объектом обсуждения. Но разговор, видимо, будет тяжёлый... такому здесь не место.

850. theaspect, 29.12.2009 20:09
Partisan
отнюдь, Синдбад очень даже рабочий, версия от 2000 года по ссылке выше
за то время пока он разрабатывается, сменилось 3 поколения разработчиков:си,++, жаба
на подходе 4: питон, груви, #4.0???

851. dozen, 29.12.2009 20:11

theaspect
сменилось 3 поколения разработчиков:си,++, жаба
rGlory, слышал, да? сьел? я тебя сменил, вот!

852. rGlory, 29.12.2009 21:04
dozen
цитата:
rGlory, слышал, да? сьел? я тебя сменил, вот!
Тю, испужал. Тебя уже питон сменил, а на нем я тоже пописываю.

Добавление от 29.12.2009 21:14:

theaspect

цитата:
Уже два часа читаю архивные ветки Мастера: эта пять
Вообще показательно: судя по постам Мастер тогда был достаточно вменяемым, во всяком случае шнурками всех не обзывал и свысока не поплевывал, был способен на диалог, соотвественно и отношение к нему было другое. Сейчас ситуация совершенно иная, но так как Мастер не подвержен самокритике в принципе, он сделал вполне логичный для него вывод: контингент здесь сменился и поговорить совершенно не с кем, кроме мифических школьников города Нелидова. Ну разве может в деби гениальную голову Мастера прийти крамольная мысль, что проблема в нем самом?

Добавление от 29.12.2009 21:19:

dozen

цитата:
Термины "гений" и "дебил" - синонимы.
Модератор! Прошу записать! ВР не возражает и даже поощряет, если его с сего момента будут с восхищением называть "Наш Дебил"!
Предлагаю ввести специальный термин: Наш Гебил

853. dozen, 29.12.2009 21:38
rGlory

Тебя уже питон сменил, а на нем я тоже пописываю.

экая чехарда ... theaspect, что там после груви? мне он не втыкает, а готовиться сменять rGlory надо!

Предлагаю ввести специальный термин: Наш Гебил

Это как-то связано с ГБ? Мне кажется, эвфемизм "Мастер" уже прижился. Я лично резервирую "Дебил" только для случаев особо ярких проявлений гениальности Мастера.

Добавление от 29.12.2009 21:43:


theaspect
DIS IS PLATZKARTAAA!!!111

854. Hedin, 29.12.2009 21:50
theaspect
Уже два часа читаю архивные ветки Мастера

Вы это, поосторожнее с тяжёлыми наркотиками.

855. rGlory, 29.12.2009 21:57
dozen
цитата:
экая чехарда
Ну дак круговорот шнурков в природе. И только Мастер незыблем как скала!
цитата:
Это как-то связано с ГБ?
Неа, это нечто вроде "гениальный дебил", поскольку "Наш Дений" как-то не звучит.
цитата:
Мне кажется, эвфемизм "Мастер" уже прижился.
Возможно, я не настаиваю...

856. dozen, 29.12.2009 21:57

Partisan: Не травите алгоритмиста
Ну ёж моё-ж! не алгоритмиста, а Ӓлгоритмиста!

857. theaspect, 29.12.2009 21:59
dozen
ну сейчас у нас один из главных инноваторов гугль, поэтому, встречаем: претендент на пятое поколение (относительное) Google GO (http://clck.ru/oHS) .
И, что самое главное, основан на си. Хотел сделать на нем лабу, но сборки под винду не было, пришлось ограничиться питоном.

858. dozen, 29.12.2009 22:00
rGlory
И только Мастер незыблем как скала!
из копролита?

Добавление от 29.12.2009 22:14:

theaspect

претендент на пятое поколение (относительное) Google GO

Почитал. Это шаг назад, к С++, смешанный с шагами вперед (к D, Java и С#). В такой позе, конечно, йайца порвутся.

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

859. Partisan, 29.12.2009 22:46
Google Go надо иметь ввиду, хотя я не понял, зачем он нужен. Но иногда надо изучать и явно ненужное - для умственного развития. Я правда не думаю, что стану его изучать, т.к. у меня есть очередь из других ненужных тем для изучения (но в стеке кроме неё есть и очередь нужных тем). В общем, при наличии возможности, стоит ознакомиться.
Сам язык мне больше напоминает Java (но проще), хотя меня возмутила буква P:
код:

func main() {
fmt.Printf(”Привет Волку!\n”);
}

Почему она большая, как в C#, а не маленькая, как в Java (принято в началах имён функций).
От С я вижу необязательность создания классов.
Оригинальная особенность - сопрограммы (goroutine) вместо потоков (thread) - в популярных языках это не использовалось, хотя было в Modula-2 и добавлено в Python. Наверно, проще в использовании, чем потоки. Но не кажутся полной заменой.

860. dozen, 30.12.2009 00:00
Partisan
но в стеке кроме неё есть и очередь нужных тем
да ты Процесс!

861. Gipnoss, 30.12.2009 01:48
Vladimir Rybinkin
3. Если у нас будут "операции поиска в стеке и вставки в середину стека", то это будет называться уже НЕ стек.
Верно, я сразу хотел сказать, что реализовывать придется красно-черным деревом очередей - тогда будет работать. Ждал когда начнутся проблемы с установкой приоритетов количеством больше двух
Вот они и начались: вставка в середину отвергнута, соответственно Вы задекларировали аш 2 операции - положить в стек(высший приоритет), положить в существующую очередь(приоритет строго равен содержащимся в очереди). Но раз мы:
4. "Какие в стеке лежат элементы" мы не только "не знаем", но и ЗНАТЬ НЕ ХОТИМ.
То про существующие очереди придется забыть, ведь они лежат в стеке, а мы "ЗНАТЬ НЕ ХОТИМ" про такие элементы.
Остается одна операция - положить в стек.
Фантастически полезная конструкция. С ужасом представляю себе ее разумное применение

862. Vladimir Rybinkin, 30.12.2009 11:43
Ого! Даже chat.ru откопали! Где-то у меня еще валялся ДИНАМИЧЕСКИЙ каталог - миллионов на 9 ресурсов (если не разворачивать в лес - виртуальная емкость там сумасшедшая - ни одного узла меньше 4-х ребер.

Ладно, всех с Новым Годом. Бить буду опосля...

863. jooher, 30.12.2009 13:26
theaspect
претендент на пятое поколение (относительное) Google GO
Partisan
Сам язык мне больше напоминает Java (но проще), хотя меня возмутила буква P

Не вникая в тонкости языка, тоже озвучу своё фи: Ну сколько можно уже эти долбаные скобочки {} тянуть в "новые" языки??? запяточия убрали, а скобочки {} оставили
при том что сами пишут что Python (a preferred development language within Google)
Зато скобки у if и for убрали - молодцы, теперь по нечитаемости код приближается к моему (не вижу повода не упомянуть) dap (http://dapmx.org)
В целом как язык похоже просто на рихтовку сишного синтаксиса с добавлением каких-то своих отдельных вкусностей. Не революция.

dozen
Я скорее склоняюсь к тому, что поколение Некст будет от функциональщиков. Возможно, с простым описанием DSL. Не совсем фунциональные языки, а нечто, позволяющее просто писать в фунциональном стиле, и не менее просто же стыковаться с существующими императивными платформами

В функциональном стиле прекрасно описываются системы, в императивном - простые преобразования. Идеальный язык имхо должен в максимально явном виде воплощать эту парадигму. И опять же нет причины не упомянуть еще раз дап, в котором этот принцип - один из основных. Система (в моем случае это ui в браузере, но применимо к любой динамической иерархической системе) описывается правилами построения элемента в зависимости от контекста (контекст состоит из переменных состояния и данных) - то есть как функции от контекста, но сами элементы могут содержать конкретные "императивные" операторы - например флэш плеер (элементарный преобразователь типа имяфайла→мультик), чьи параметры (например, имя входного файла, иили адрес самого плеера), в свою очередь, могут опять же задаваться функционально - дап правилами. И к аргументам правил тоже можно применять императивные преобразователи - обычные js-функции. Например, если получаем из базы суммы вида 1000000000, и хотим таки разделить разряды, то функцию, выполняющую это элементарное преобразование (100000000→100 000 000) проще всего написать на js (в данном случае), и применять ее ко всем данным этого типа.
такая вот тема.

864. theaspect, 30.12.2009 14:54
цитата:
Vladimir Rybinkin:
Ого! Даже chat.ru откопали! Где-то у меня еще валялся ДИНАМИЧЕСКИЙ каталог - миллионов на 9 ресурсов (если не разворачивать в лес - виртуальная емкость там сумасшедшая - ни одного узла меньше 4-х ребер.

Ладно, всех с Новым Годом. Бить буду опосля...

Не впечатлило, а может ну её, эту графовость? На коленке набросать пару табличек в убогом мускле, серверную часть реализовать на б-гопротивной жабе, клиенту данные аяксом отдавать. И чтоб ни единого указателя. Реализуется за неделю.

865. Vladimir Rybinkin, 30.12.2009 15:43
dozen
цитата:
Как?! Ты предал идеалы майдана?! Ну и какая вера тебе после этого, гнусный реляционщик?
А ты посмотри, лапочка, на кавычки. Синдбад - он хоть и называется "реляционный", но Кодду до него срать и срать. ДАЖЕ до него.
цитата:
Нет, щас недоуменно поднимется бровь по поводу претенциозно поданного как некая RDBMS статического массива указателей.
Эт точно! У меня именно "недоуменно поднялась бровь". Ты о чем ваще?
цитата:
Есть какие-то обоснования считать, что он сумел закончить данное приложение?
Дык это смотря кому. Алгоритм я рассказал еще там чуть ли не во всех подробностях, программируется элементарно...
цитата:
И уж тем более кому-то его втюхать (с его-то способностями к общению)?
Браво! Итак, чтобы "втюхать", нужны именно "способности к общению"?
цитата:
Да ну ерунду пороть... Трэды деревьев очередей хэшей куч -- куда главнее!
Да знаю я, что нокаут - не дергайся...
цитата:
Дебилушка, слово "дебил" происходит от debility, что в медицине обратно ability, то есть "неспособность делать" что-либо.
Умница! Тебе тоже совет: поищи стихи Максвелла.
цитата:
Уважаемый Дебил, а как положить в стек очередей сообщение, которое ниже по приоритету очереди, которая сейчас на топе стека?
Уважаемая Дубина, я уже рассказывал: в стек кладутся ОЧЕРЕДИ, а не СООБЩЕНИЯ. Команда называется PUSH. Через сколько лет это дойдет (если, конечно, дойдет)?
цитата:
И как мы вообще узнаем, что оно ниже?
Уф! Не, это не лечится...
цитата:
То-то большую часть твоей ахинеи порезали...
Вау! Я не настолько четко помню историю той ветки...

Rudolf
цитата:
Отлично, я очень терпелив, так что продолжим.
Ну, если еще и вменяем - без проблем...

1. Уж скоко раз здесь прозвучало, что стек - он ОЧЕРЕДЕЙ! А вот очереди - они могут быть и СООБЩЕНИЙ (методов, пассивных данных, ...). Поэтому сообщение может попасть ТОЛЬКО в очередь, мало того - только в ее ХВОСТ, мало того - это ЧРЕЗВЫЧАЙНО РЕДКАЯ, экзотическая ситуация, так что подобные вопросы должны бы интересовать В ПОСЛЕДНЮЮ очередь. С самым низким приоритетом.

2. Таким образом, МОЖНО (но не обязательно) положить сообщение в имеющуюся очередь (в любую - из стека, или ту, которой в стеке [еще] нет). Можно также (но не обязательно) создать НОВУЮ очередь, но положить ее можно только НА ВЕРШИНУ стека, ибо единственные операции работы со стеком - PUSH/POP.

3. Выбор какого-то из этих вариантов как раз и определяется тем, "КТО-ТО и КУДА-ТО послал сообщение". Посему вопрос "куда сообщение попадет" глуп по определению.

4. ГЛАВНАЯ задача стека очередей сообщений отнюдь не вшивые разборки, кто там чего и куда послал - он нужен для обеспечения возможности ПРОГРАММИРОВАНИЯ В СОБЫТИЯХ! Очередь сообщений - это в первую очередь ПРОГРАММА! А всякая хрень вроде тут юзер... эта... кнопку нажал - это фактически ПРЕРЫВАНИЯ, "мешающие" нормальной работе с сообщениями. Поэтому существуют некоторые алгоритмические нюансы при обработке сообщений юзера, вплоть до сброса всего стека очередей.

theaspect
цитата:
Вот для этого необходимо перенести логику на клиента?
А если ГОЛОВОЙ подумать? Тогда я моделировал на статике (тыщ 30-40 страниц) работу распределенной БД (7-8 серверов). Клиент меня вообще никак не интересовал - минимальный HTML в зубы, и пошел на! P.S. А что, сударь для статики знает иное средство балансировки нагрузки иначе как "средствами клиентов"?

dozen
цитата:
Тогда Дебил был еще на что-то практическое способен.
Чем это я тебя так зацепил? А, видимо, "даже мультизначений нет". Угадал?

OXPEHOMETP
цитата:
Я уже начинаю удивляться, до каких изощрённых способов получения удовольствия тут докатилось дело
А уж я...
цитата:
Подкину мысль эксперимента, а то и конкурса: найдите среди его сообщений что-нибудь дельное
Поддерживаю двумя руками. Только нужно убрать "его".
цитата:
UpdUpd: "Гений", "Мастер", "Дебилушко"... Предлагаю называть его Повелителем Алгоритмов. Или ещё подлиннее
Во-во! Очень дельное сообщение. Кто найдет "дельнее"?

Partisan
цитата:
Хороший вопрос
... чего не скажешь об ответе.
цитата:
Итак, выяснилось, что SINT - это набор макросов языка C.
Да?! Кто это гений?
цитата:
Проблема с этим SINTом в том, что он не помогает в работе.
Кому как...
цитата:
Вот в начале 1990х годов первоначальный автор программы Синдбад...
А это что еще за словесный понос? Откуда дровишки? А, понятно - такое можно только из такой вот головы выудить.

rGlory
цитата:
Вообще показательно: судя по постам Мастер тогда был достаточно вменяемым, во всяком случае шнурками всех не обзывал и свысока не поплевывал, был способен на диалог, соотвественно и отношение к нему было другое.
Дык там же вами и не пахло! Я ж рассказывал, как Кизуб рявкнул на одного из "ваших" (помогать ему вздумал, панимашь!) - только пятки засверкали! Сейчас (увы!) ситуация совершенно иная - кто ж спорит? А насчет "логичного вывода" - посмотрите ники ТЕХ и ЭТИХ. Две большие разницы! И, кстати, какие такие "проблемы"?

Partisan
цитата:
Оригинальная особенность - сопрограммы (goroutine) вместо потоков (thread)
Оригинальная?! Вместо?! Однако...

Gipnoss
цитата:
Фантастически полезная конструкция. С ужасом представляю себе ее разумное применение.
Сильно сомневаюсь. Советую освоить вначале программный стек - его полезность, вставки в середину, и прочую ударившую в голову мочу. Стек очередей все-таки чуть сложнее, чем просто стек...

theaspect
цитата:
Не впечатлило, а может ну её, эту графовость? На коленке набросать пару табличек в убогом мускле, серверную часть реализовать на б-гопротивной жабе, клиенту данные аяксом отдавать. И чтоб ни единого указателя. Реализуется за неделю.
Да, конечно. Только я уже староват стал в погремушки играть.

НОВОГОДНЕЕ ПОЗДРАВЛЕНИЕ
Навеяно архивными изысканиями dozen разных моих утверждений о том, о сем:

По архивам побежали,
Документики достали,
Стали думать и гадать
Как с паскудой совладать.

Поразмыслив, догадались:
Мы ведь тоже заблуждались,
Слепо верили ему,
Разобрались, что к чему,

И теперь мы по порядку
Вам расскажем правду-матку
Чтоб завравшийся урод
Не мутил честной народ.

Все напрасно. Документы
(или даже их фрагменты)
Подтверждают правоту.
Но не эту. Но не ту.

Это я когда-то развлекался в ветке про Резуна, но, по-моему, и здесь достаточно прилично смотрится. Или вот еще:

Что за гнида? Ща замочим!
Очень умный. Умный очень.
...
Что про Витю ни скажи
Только больше тиражи.
...
Ведь Владимир вас умнее,
Его версия стройнее,
Вам ее не удержать.
Будем дальше продолжать?

Или еще:

Не мысля никого поганить,
Не раздражаясь, не любя,
Презренной прозою сварганить
Для развлечения себя
Набор постов. Рукой пристрастной
Я накропал с десяток глав:
Полусмешных, полупечальных,
Посредственных, неидеальных,
Небрежный плод моих забав...

Соперник мой играл без правил
Но все ж не в шутку занемог
Он все на Рихтера поставил
И лучше выдумать не мог
Другим давно уж не наука
Но, боже мой, какая сука!
Возитесь с ним и день, и ночь
Не отходя ни шагу прочь
Какое райское блаженство
Неграмотного просвещать
Чуть-чуть цитаты сокращать
Исправить мелкое мошенство...

Ляксандр Сергеевич, прости
Что так посмел "перевести"!

Или еще:

Ох вы гой еси добры молодцы,
Быдлокодеры мои милые,
Аргументы все ваши закончились,
Настроенье у вас унылое.

Не осталось у вас уж силушки
Борониться от лютого ворога.
Ваши доводы смехотворныя,
Их давно никто не пужается.

Вы в победе уже разуверились,
Ваши чресла покрыты ранами,
Так зачем же меня, поганого
Осыпать здесь словами бранными?

Вы возьмите во белы рученьки
Флаги цвета того же белого.
Мы соперники милосердныя,
Добивать вас - не в наших правилах.

Выходите же - побратаемся,
Позабудем обиды прошлые,
И поднимем бокалы пенные
За Владимира свет Владимировича.


С Новым Годом!

866. jooher, 30.12.2009 16:08
Vladimir Rybinkin

Если верхние два стишка оригинальные, а не грепы как два нижних (хотя самый первый и похож на филатова) - то вот што тебе можно сказать, Владимир свет Владимирович. Бросай ты эти алгоритмы. Рихтеры, Бучи, Кнуты, функциональные не функциональные - ну зачем тебе это все? Ты ведь губишь в себе реально крутого (без иронии) копирайтера. Посмотри, какие убогие стишки сейчас кругом в рекламе... А у тебя - прикольные. Любое серьезное рекламное агентство тебя оближет и приласкает - будешь получать хорошее бабло, купишь приличный комп и будешь сидеть свысока поплевывать на манагеров. В позах произвольной пафосности.
Всяко интересней, чем тут забесплатно народ смешить.

867. dozen, 30.12.2009 16:23
Vladimir Rybinkin

Синдбад - он хоть и называется "реляционный", но Кодду до него срать и срать.

Чего ты мелочишься? Назови его сразу "торсионный"! И Кодд обделается, и умным людям хинт.

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

Ну и как, разбогател, Буратино?

пассивных данных

Данные бывают активные и пассивные? Типа, как педерасты? А латентные данные бывают?

А что, сударь для статики знает иное средство балансировки нагрузки иначе как "средствами клиентов"?

Дебилушка -- знаток балансировки, судя по всему...

программный стек - ..., вставки в середину

Он идиот или притворяется?

868. Partisan, 30.12.2009 16:57
Vladimir Rybinkin
А что, сударь для статики знает иное средство балансировки нагрузки иначе как "средствами клиентов"?

Мне тоже понравилось это высказывание. Автор, долгое время работавший в фирме "Бюро интернет-технологий", демонстрирует потрясающее знание... интернет-технологий.
Хотя весь текст хороший, но ответ я собираюсь отложить до после Нового Года.


Анекдот про гения

-Чего бы такое придумать гениальное... все они жалкие, ничтожные человечишки. Букашки по сравнению со мной... чего бы ещё придумать гениальное...

869. theaspect, 30.12.2009 20:39
цитата:
30-40 тыщ страниц
насколько я понял, запускается некий клиент, который ходит по синдбаду и генерит статические страницы, и на это уходит несколько часов, правильно?
отсюда вытекает вопрос: какое максимальное число узлов в субграфе чтоб процесс пересборки хтмл страниц занимал не более часа?
не лучше ли предоставить некий аналог sql или xpath, чтоб оперативно выбирать данные?

870. Gipnoss, 30.12.2009 20:49
Vladimir Rybinkin
Таким образом, МОЖНО (но не обязательно) положить сообщение в имеющуюся очередь (в любую - из стека, или ту, которой в стеке [еще] нет).
Противоречит:
"Какие в стеке лежат элементы" мы не только "не знаем", но и ЗНАТЬ НЕ ХОТИМ.
Т.к. чтобы положить в очередь, которая уже есть, нужно знать - какие там есть.

Можно также (но не обязательно) создать НОВУЮ очередь, но положить ее можно только НА ВЕРШИНУ стека, ибо единственные операции работы со стеком - PUSH/POP.
Это ежу понятно, но проблему не решает.
На пальцах, исключительно из уважения к преклонному возрасту Мастера.
1.Содержимое стека (Очередь1,Очередь2).
2.Приходит сообщениеX1 с приоритетом между очередью1 и очередью2. Кладем его в Очередь1 (уж не знаю каким способом обнаружили что она там таки есть, но пусть нам повезло).
3.Приходит сообщениеX2 с приоритетом между первоначальной очередью1 и сообщениемX1.
....алгоритм сдох, т.к. операций позволяющих воткнуть сообщение в нужное место очереди (или стека, после чего он очевидно переставал бы быть стеком, однако это спасало бы алгоритм) нет, не говоря уже о проблеме нахождения этого самого места.

871. theaspect, 30.12.2009 21:07
Gipnoss
у меня стойкое ощущение, что подобные танцы от невозможности выделить фоновые операции в отдельный поток. Но, как нам стало известно, Мастер многопоточность не осилил еще в 2001 году
если СИНТ не макрорасширение BC3.1, тогда что же это?

Добавление от 30.12.2009 21:15:

и что будет, если повиснет высокоприоритетная очередь?-кирдык

872. Partisan, 30.12.2009 21:16
theaspect
насколько я понял, запускается некий клиент, который ходит по синдбаду и генерит статические страницы

Причём тут Синдбад. Он - СУБД для MS-DOS (поскольку написан на BC++ 3.1) и нет сведений, что вообще работает. Статические HTML страницы можно заимствовать в коллекции текстов организации РОМИП (бессмысленные наборы текстов, главным образом HTML страницы, списанные из Интернет, для тестирования информационно-поисковых систем. V.R. там отметился).
Загадка - а как он делал запросы к серверу (для этого нужны какие-то минимальные знания).

873. Rudolf, 30.12.2009 23:40
Gipnoss
.Содержимое стека (Очередь1,Очередь2).
2.Приходит сообщениеX1 с приоритетом между очередью1 и очередью2.


Дело в том, что я, пока, не вижу способа понять, какой приоритет сообщения Х1 относительно сообщений в очереди на вершине стека.
Мастер твердит, как попугай, что очереди, а не сообщения. Дык это уже все знают тут.

Добавление от 30.12.2009 23:44:


dozen
Данные бывают активные и пассивные? Типа, как педерасты?
О, елы-палы, я щас сдохну. Какой там баш, просто читаешь ветки Мастера и все.

874. dozen, 31.12.2009 15:27
Rudolf

Мастер твердит, как попугай, что очереди, а не сообщения.

Я подозревал, что на положенную в стек очередь остается ссылка где-то. Так что события, скажем, клавы, кладутся в очередь напрямую, а уж очередь лежит в стеке. А некий worker просто достает с вершины стека, с той очереди, что наверху, следующее событие, действительно не зная приоритета.

Правда, всё ломается, когда верхняя очередь исчерпывается. Её надо выкинуть со стека, и по словам Мастера, так и делается. Вопрос -- как она попадает обратно, когда приходит новое высокоприоритетное событие?

Но теперь я понял, что Мастер, как всегда, использует свою терминологию. Стек, куда возможна вставка в середину -- это не стек.

875. Rudolf, 31.12.2009 20:03
dozen
А некий worker просто достает с вершины стека, с той очереди, что наверху, следующее событие, действительно не зная приоритета.

Да, это понятно. Но тут некий Вася начинает генерить сообщения, пересылающие слово "Х**" 10 000 000 раз. Новая очередь плюхается в стек и the worker начинает ее обрабатывать, а все остальное, все остальные очереди (клава, мышь и т.п. второстепенные мелочи) лежат и ждут.

876. rGlory, 31.12.2009 21:22
Rudolf
цитата:
Но тут некий Вася начинает генерить сообщения
Не Вася, а Вова, еще и Васи нам тут не хватало...

877. Partisan, 31.12.2009 23:15
Напрасно вы все так увлеклись этим стеком очередей (ИМХО). Думаю, это идея не гиганта мысли, а было придумано до него и недоделано - все эти очереди нужны для многозадачности, и действительно, были попытки имитировать многозадачность в MS-DOS, потерявшие смысл после перехода на MS Windiows. Поэтому мне кажется, претензии к Мастеру безосновательны.

878. Rudolf, 01.01.2010 01:13
Partisan

Лично я никаких претензий не выдвигаю. Ни в коем случае. Я хочу разобраться. Мастер говорит, что у него все уже продумано. Ну дык пусть и разъяснит на пальцах, как для военного.

879. rGlory, 01.01.2010 03:04
Rudolf
цитата:
Ну дык пусть и разъяснит на пальцах, как для военного.
Как всем хорошо известно, Мастер думает спинным мозгом, (и по всей видимости лишь иногда подключает головной мозг, да и то в качестве сомозга), а у спины пальцев нет, посему желание ваше трудновыполнимо, если вообще возможно... Вот разъяснить на жо нижней части спины он запросто, но мало кто его понимает, поскольку мы, мелкие людишки, привыкли использовать головной мозг в качестве основного.

880. Rudolf, 01.01.2010 12:42
rGlory

Ну ничего, может как-нибудь, пчелиные танцы там и все такое...

ps:
- Чем увлекаетесь?
- Стеком очередей, конечно.

881. Vladimir Rybinkin, 03.01.2010 11:16
jooher
цитата:
Если верхние два стишка оригинальные, а не грепы как два нижних (хотя самый первый и похож на филатова)
Верхние два (на самом деле он один) - это как раз чистейший П.П.Ершов. А вот последний... если и "греп", то с себя самого (Юрке я писал поздравление - на 40-летие, что ли). "Юрия свет Анатольевича" в оригинале было, но "оригинал" писал все-таки я, и кроме листа бумаги с ручкой, ничего рядом не было. Да и сейчас по памяти.
цитата:
Ты ведь губишь в себе реально крутого (без иронии) копирайтера.
О-хо-хо... Когда-нибудь, возможно, дойдет, где именно я РЕАЛЬНО крутой...
цитата:
Любое серьезное рекламное агентство тебя оближет и приласкает
Серьезно?! Что, уже и "серьезные рекламные агентства" настолько опустились? Для меня, кстати, ЛЮБОЙ комп "приличный", и я давно уже "свысока на вас поплевываю в позах произвольной пафосности". В т.ч. на тех, кто пытается тут меня учить, что там "всяко интересней".

dozen
цитата:
Чего ты мелочишься? Назови его сразу "торсионный"! И Кодд обделается, и умным людям хинт.
УМНЫМ людям хинтов я дал уже просто ДО МАМЫ! А вот ТОТ Синдбад я называю именно реляционный (как синоним "дохленький"), но там ведь есть еще и ЭТОТ. Не заметил? Кодд уже не обделается.
цитата:
Ну и как, разбогател, Буратино?
Лапочка, насколько я помню, я только тебе на этот вопрос отвечал более одного раза. Как же тебя переклинило на этих несчастных бабках, бедолага!
цитата:
Данные бывают активные и пассивные? Типа, как педерасты?
Бывают, лапочка, бывают. Твоя сексуальная озабоченность тоже уже всех задолбала.
цитата:
Дебилушка -- знаток балансировки, судя по всему...
Нет, "судя по всему", я явно спросил ответа у этих самых "знатоков". Чо-то тишина...
цитата:
Он идиот или притворяется?
Это ты про Gipnoss? Думаю, уже не притворяется. Я его когда-то предупреждал: "От этого тупеют". Не внял...

Partisan
цитата:
Хотя весь текст хороший, но ответ я собираюсь отложить до после Нового Года.
Подождем, подождем... Правда, давно уже знаю, что даже бесконечный срок для обдумывания не повлияет на качество.
цитата:
Анекдот про гения...
Нет, это всего лишь про представление о нем среди быдла. Как же радостно вы ухватились за фразу "гений и дебил - синонимы". Поймите, олухи: гений ли, дебил ли, положительная ли величина, отрицательная ли - она все-таки ВЕЛИЧИНА! А вы-то кто?! Плохое, хорошее, верное, ошибочное, но отказывать себе в праве иметь СВОЕ СОБСТВЕННОЕ мнение!.. Как вы себя чувствуете "в этом во всем" - просто не представляю, в голове не укладывается! Как же прав был Булгаков: "трусость - это самый страшный порок!"

theaspect
цитата:
насколько я понял, запускается некий клиент, который ходит по синдбаду и генерит статические страницы, и на это уходит несколько часов, правильно?
Очень клевый прием: смешать все в одну кучу, и запросить однозначный ответ. Впрочем, "правильного" там ничтожно мало. Во-первых, чтобы даже 40 тыщ страниц генерились хотя бы два часа, это будет 5.5 страниц в секунду - ну, если на XT писать на дискету... мож, и правда. Тогда я генерил чем-то вроде 200МГц, занимало это минут 15-20, и проблемы были, наскоко я помню, распихать все это дело по серверам. Впрочем, не уверен - там, по-мойму, время создания где-то писалось. С точностью до секунды, кажется...
цитата:
отсюда вытекает вопрос:
Да ужжжж... Читаешь, отвечаешь - думаешь, что чувак вроде как чо-то соображает, а потом ка-а-а-ак! Объясняю:

1. Роботы в то время лишь робко (и тупо) пытались анализировать статику, каталоги редко превышали 10000 ресурсов (не страниц!), всякие разработчики разного софта еще презрительно воротили морду от броузера...

2. Я в то время лишь робко (и тупо) пытался пощупать возможности Синдбада: спина-то знала, что они ЧУДОВИЩНЫЕ, но хоть одним глазком взглянуть - НАСКОЛЬКО. Инет в этом смысле очень хорошая площадка для отладки. Потом я нарвался на DMOZ, почитал, какого они о себе мнения, посмотрел на ихние данные, нашел там... короче, тогда я окончательно понял, что даже спина не понимала, кто в Инете реально крутой.

3. Даже тогда, когда я тренировался на статике, я прекрасно понимал, что генерация статической страницы отличается от динамической генерации ответа сервером лишь направлением выходного потока, что в реальной БД никакой статики быть не может - это многие миллионы... арды... оны страниц. Можно лишь НИЧТОЖНУЮ ЧАСТЬ узлов держать в статике - как точки входа в БД, раскручиваемые обычными методами как виртуальные сайты. Но как получишь в глаз таким вот вопросиком про "процесс пересборки хтмл страниц"... волосы дыбом, чесслово! В конце концов, молчи больше - за умного сойдешь.

4. "Некий клиент" (звать его, кстати, шаблон - писал уже не раз) действительно "ходит по Синдбаду" (и иногда очень интенсивно) даже при генерации ОДНОЙ страницы (статической, динамической - по барабану).

5. Если "предоставить некий аналог sql или xpath", он не только не сможет "оперативно выбирать данные" - он в сложных случаях даже ОДНУ ЕДИНСТВЕННУЮ страницу будет генерить часами! Вот делали мы документооборот для одной префектуры - там и записей-то на неполный миллион, и странички у них были раз в пятнадцать легче, чем им требовалось, а как же жутко УЖЕ тормозил ихний SQL - стоило полюбоваться...

Gipnoss
цитата:
Противоречит:
ГОСПОДИ!!! И мне еще смеют говорить, что 7-8 лет назад Мастер был достаточно вменяемым, во всяком случае шнурками всех не обзывал и свысока не поплевывал, был способен на диалог Да раньше ЛЮБОЙ заглянувший сюда программист сразу бы опустил этого... желающего в середину стека чего-то засунуть, а здесь... НИЧЕГО НИЧЕМУ НЕ ПРОТИВОРЕЧИТ - ВКЛЮЧИТЕ ХОТЬ РАЗ МОЗГИ, ЧЕРТ ПОБЕРИ!!!
цитата:
На пальцах, исключительно из уважения к преклонному возрасту Мастера.
О, подхалимаж в ход пошел... Ладно, ответим...

1. Я задолбался уже говорить, что технология эта для обеспечения возможности программирования в событиях. Не операторного программирования, чем является работа с сообщениями в той же Windows, а ПРОГРАММИРОВАНИЯ В СОБЫТИЯХ! Очередь событий - это в первую очередь ПРОГРАММА! Ну, допустим, это выше вашего понимания - для вас [надеюсь, пока еще] это означает всего лишь, что некий Вася начинает генерить сообщения, пересылающие слово "Х**" 10 000 000 раз. Хрен с вами, надоела уже ваша тупость, кастрируем ситуацию до вашего понимания. Тогда:

2. Обмен сообщениями есть просто поток между ОДНИМ источником и ОДНИМ ЖЕ приемником. Сообщения эти обрабатываются по очереди.

3. Если даже источнику (больше некому!) ударила в голову моча послать какое-то срочное сообщение, то источник НЕ МОЖЕТ гарантировать, что он какую-то группу сообщений обгонит - мож, они все УЖЕ обработаны.

4. Поэтому фразы типа Приходит сообщениеX2 с приоритетом между первоначальной очередью1 и сообщениемX1 есть чистой воды КРЕТИНИЗМ! Очередь, как известно, ДВИЖЕТСЯ. В очередь можно встать, как известно, только В ХВОСТ. Или, если ты крутой, встать в очередь крутых, которая обслуживается "вне очереди". Но тоже ТОЛЬКО В ХВОСТ! И абсолютно по хренам, 5 там человек стоит или 55. А вот операций позволяющих воткнуть сообщение в нужное место очереди В ПРИРОДЕ НЕ СУЩЕСТВУЕТ, в противном случае она перестанет быть очередью. Точно так же, как и СТЕКА, иначе он перестанет быть стеком. И никому НА ФИГ НЕ НУЖНО "спасать алгоритм", который ударит в голову разных идиотов.

5. В результате стек очередей есть "транспортная магистраль" между МНОГИМИ источниками, и МОНГИМИ ЖЕ приемниками (обработчиками), МНОЖЕСТВО виртуальных потоков от тех к этим (каналов). Поэтому фразы типа Приходит сообщениеX2 с приоритетом между первоначальной очередью1 и сообщениемX1 есть чистой воды КРЕТИНИЗМ В КВАДРАТЕ!

Господи, ну хоть на таком-то уровне дойдет?!

theaspect
цитата:
Но, как нам стало известно, Мастер многопоточность не осилил еще в 2001 году
Да?! А вот Мастеру это до сих пор НЕ стало известно. И какие проблемы с многопоточностью? Все мои мониторы, кроме последнего теста, были именно многопоточные - читайте ветку.
цитата:
если СИНТ не макрорасширение BC3.1, тогда что же это?
А с какого бодуна он должен быть макрорасширением?! Partisan так сказал? Так я еще лет... несколько назад говорил, что он дурак.
цитата:
и что будет, если повиснет высокоприоритетная очередь?-кирдык
Не, я просто устал от этой бесконечной тупости! Мож, сами все-таки разок шевельнете извилиной? Для разнообразия? Или там только след от фуражки?

Partisan
цитата:
Причём тут Синдбад. Он - СУБД для MS-DOS (поскольку написан на BC++ 3.1)
Але, theaspect - вот сразу и еще одно подтверждение.
цитата:
и нет сведений, что вообще работает.
А четвертый тест я ручками делал? Али "есть сведения", что кроме меня это еще кто-нибудь в мире сделать способен?
цитата:
Статические HTML страницы можно заимствовать в коллекции текстов организации РОМИП
И еще одно. А перевязывать их Пушкин будет?
цитата:
Загадка - а как он делал запросы к серверу (для этого нужны какие-то минимальные знания).
К какому такому "серверу"?! Какие такие "запросы"?! К "коллекции текстов организации РОМИП"?! Не, мне ее на сидюке дали. Не помню: то ли Агеев, то ли Добров.

Rudolf
цитата:
Дело в том, что я, пока, не вижу способа понять, какой приоритет сообщения Х1 относительно сообщений в очереди на вершине стека.
Умница! И НЕ НУЖНО забивать голову всякой бредятиной.
цитата:
Мастер твердит, как попугай, что очереди, а не сообщения. Дык это уже все знают тут.
Серьезно?! Это обнадеживает...

dozen
цитата:
Я подозревал, что на положенную в стек очередь остается ссылка где-то.
Господи, закончится когда-нить этот парад идиотов?!
цитата:
Правда, всё ломается, когда верхняя очередь исчерпывается.
Правда? Когда, скажем, очередь у кассы закончится, сразу катастрофа?
цитата:
Вопрос -- как она попадает обратно, когда приходит новое высокоприоритетное событие?
Это токо в Кащенко объясняют...
цитата:
Стек, куда возможна вставка в середину -- это не стек.
Ух ты!!! Один все-таки допер...

Rudolf
цитата:
Новая очередь плюхается в стек и the worker начинает ее обрабатывать, а все остальное, все остальные очереди (клава, мышь и т.п. второстепенные мелочи) лежат и ждут.
Уф! Медленно, вдумчиво, читаем мои постинги про стек очередей. Раз 50. Авось поможет...

Partisan
цитата:
Думаю, это идея не гиганта мысли, а было придумано до него и недоделано - все эти очереди нужны для многозадачности, и действительно, были попытки имитировать многозадачность в MS-DOS, потерявшие смысл после перехода на MS Windiows. Поэтому мне кажется, претензии к Мастеру безосновательны.
Ну что тут скажешь? Еще один шедевр. Комментарии излишни - они только портят впечатление.

Rudolf
цитата:
Мастер говорит, что у него все уже продумано. Ну дык пусть и разъяснит на пальцах, как для военного.
Не, господа! Я служил два года (офицером). И солдаты были вокруг, и офицеры, и прапорщики... Но таких, как вы... Я бессилен, господа!

rGlory
цитата:
Вот разъяснить на жо нижней части спины он запросто, но мало кто его понимает, поскольку мы, мелкие людишки, привыкли использовать головной мозг в качестве основного.
Дык может поменять "место использования"? Должно же ХОТЬ ЧТО-ТО работать?

882. Partisan, 03.01.2010 12:53
V.R.
А четвертый тест я ручками делал? Али "есть сведения", что кроме меня это еще кто-нибудь в мире сделать способен?

Сведений, что Синдбад работает, по-прежнему нет. (Ваша злобная брань не считается сведением).

Мастер многопоточность не осилил еще в 2001 году

Да?! А вот Мастеру это до сих пор НЕ стало известно. И какие проблемы с многопоточностью?


Проблема, что вы не имеете о ней представления. Вы не умеете программировать в Windows, не знаете что такое процесс и поток (которые путаете между собой) а в MS-DOS даже и для квалифицированного программиста имитация многопоточности была сложным делом. Отсюда, то есть на основе предоставленной вами информации, видно, что Мастер не осилил, и что

Думаю, это идея не гиганта мысли, а было придумано до него и недоделано

К какому такому "серверу"?! Какие такие "запросы"?! К "коллекции текстов организации РОМИП"?! Не, мне ее на сидюке дали. Не помню: то ли Агеев, то ли Добров.
Ну, вы написали про нагрузочное тестирование для кластера (серверов?). Нормальные люди (не гении) делают его с помощью программ, имитирующих запросы пользователей. Такие программы работают в многопоточном режиме, чтобы подавать сразу много запросов. Но поскольку вы это не умеете, то я удивился. Вот вы сейчас и разъяснили - вы не делали нагрузочного тестирования (вопреки вашему прежнему заявлению).

Все мои мониторы, кроме последнего теста, были именно многопоточные - читайте ветку.
Только вы не знаете, что такое поток (мелкая подробность).

Анекдот про гения...
Вообще-то это был анекдот про конкретного гения - Vladimir-а Rybinkin-а. В нём просто воспроизводятся ваши обычные рассуждения:
V.R. -Что бы такое гениальное придумать... Все они жалкие, ничтожные человечишки. Букашки по сравнению со мной... что бы ещё гениальное придумать...

883. Gipnoss, 03.01.2010 16:16
Vladimir Rybinkin
Очередь, как известно, ДВИЖЕТСЯ.
источник НЕ МОЖЕТ гарантировать, что он какую-то группу сообщений обгонит - мож, они все УЖЕ обработаны.
Это какая-то неисправимо оптимистическая версия алгоритма - живет с верой в сердце, что все более приоритетные события уже обработаны.
Так если они все уже обработаны, зачем городить стек очередей? Очередь же движется! И все когда-нибудь выполнится.

884. Rudolf, 03.01.2010 23:13
Gipnoss

Стек очередей ЧУДОВИЩНО МОЩЕН. Do you understand?

885. dozen, 04.01.2010 07:39
Gipnoss Это какая-то неисправимо оптимистическая версия алгоритма

Rudolf Стек очередей ЧУДОВИЩНО МОЩЕН. Do you understand?

Правильный подход при работе с "алгоритмами" ВР таков:
You have to ask yourself one question: "Do I feel lucky?" Well, do ya, punk? (http://www.youtube.com/watch?v=FnMLGkj91Og)

Добавление от 04.01.2010 07:58:

Vladimir Rybinkin

Не, мне ее на сидюке дали. Не помню: то ли Агеев, то ли Добров.

А я принца Чарлза в 50 метрах живьем видел. Жаль, винтовки не было. Я тоже велик и рулю судьбами Империй!

Умиляет твоя инфантильная потребность в (пре)увеличении своей значимости путём какбэ небрежного упоминания неких авторитетов, с которыми ты какбэ лично знаком. При этом авторитеты, впролне вероятно, после передачи сидюка немедленно направились мыть руки.

Плохое, хорошее, верное, ошибочное, но отказывать себе в праве иметь СВОЕ СОБСТВЕННОЕ мнение!

Забавное психическое отклонение -- главное иметь не правильное (логичное, обоснованное), а СВОЁ (пусть и высосанное из пальца). Такой бзик, конечно, объясняет все инстансы NIH-синдрома у ВР.

Медленно, вдумчиво, читаем мои постинги про стек очередей

Много чести. Про стеки и очереди мы лучше классиков почитаем, а не бзикнутых экстравагантов.

886. jooher, 04.01.2010 13:33

Vladimir Rybinkin
Поймите, олухи: гений ли, дебил ли, положительная ли величина, отрицательная ли - она все-таки ВЕЛИЧИНА! А вы-то кто?!
Ну, если верить dozen, и дебил - это от слова debility (то есть "отсутствие ability"), то это величина не положительная и не отрицательная, а как раз "нуль или около". Так что гордиться этим новым титулом тебе наверно не стоит. А отрицательная величина (по общепринятому соглашению о знаках) - это, например, Дарт Вейдер или Гитлер, которых дебилами никто не называл. Тебе, как гуманитарию (уверен на 99.95% что ты закончил какой-нибудь пединститут по спец-сти "преподаватель русского языка и литературы в младших классах", и возможно, факультатив "преподаватель информатики"), это должно бы быть понятно.
А стишки - да, гораздо качественней основной массы того, что сейчас можно видеть в отечсной рекламе.

887. dozen, 04.01.2010 17:07

jooher

А отрицательная величина (по общепринятому соглашению о знаках) - это, например, Дарт Вейдер или Гитлер, которых дебилами никто не называл.

И то -- знак зависит от принятой системы отсчета. Для стагнирующей Республики власть Императора была прорывом и возможностью эффективно решать накопившиеся проблемы. Для униженной Германии Гитлер был человеком, выведшим её из разграбления и унижения к достойной жизни.

Не всем в обоих случаях результаты понравились, ну дак "и пусть никто не уйдет обиженным" в реальном мире не бывает.

Дебилушка же -- именно что околонулевая величина. Треплет языком налево-направо, раздает ярлыки, свергает авторитетов зубочистками, а вот сделать что-то полезное -- не может.

888. Rudolf, 04.01.2010 17:47
Но кто-то же дает ему деньги на жизнь, иначе он бы умер от голода. Значит что-то где-то делает. Но вот что?

889. CrazyElk, 04.01.2010 18:21
цитата:
Значит что-то где-то делает. Но вот что?
Ну дык это классическая работа из серии - косарик полюбасику.
Система оплаты и оценки труда она тогос нынче сильно не линейная и в районе нуля дает значительные отклонения для "справедливой оценки результатов"

890. dozen, 04.01.2010 18:25

Rudolf

Но кто-то же дает ему деньги на жизнь, иначе он бы умер от голода. Значит что-то где-то делает. Но вот что?

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

CrazyElk
хей, CrazyElk, с новым годом! давно не видели тебя!


CrazyElk

может ты сумеешь проникнуть в тайну "стека очередей"?

891. jooher, 04.01.2010 19:43

dozen
И то -- знак зависит от принятой системы отсчета.
Это и имелось в виду.

892. rGlory, 04.01.2010 21:44
Vladimir Rybinkin
цитата:
Лапочка, насколько я помню, я только тебе на этот вопрос отвечал более одного раза. Как же тебя переклинило на этих несчастных бабках, бедолага!
Дядя Вова, чес слово, Вы с логикой дружите или уже совсем Дебилушко? А о чем еще вас спрашивать? Как там шахматные программы выигрывают? Так вы уже отошли от забот сиих, да и лично ваши заслуги в том деле несколько сомнительны, поскольку наслышаны мы о них только от вас лично, а вам уже веры нет, увы и ах. Комми? Результатов не было, а начинать опять ту бодягу насчет "точного" вычисления длинны пути и так всех задолбало. Документик же, описывающий на ломаном английском "гениальный" алгоритм и преедставленный на какой-то там конференции не канает, уж извините. Вот и остается спросить, как там программа Форексовская, много заработала? И не потому, что всех только бабки волнуют, просто количество заработанных бабок является критерием оценки работы такой программы. Не слюни и сопли по поводу грасивых графиков или иных промежуточных результатов, а заработанное данной программой бабло. Просто и конкретно. Так что расскажите всем нам, а то вы dozenу уже говорили, а мы несколько пропустили, каков же там результат.

893. dozen, 05.01.2010 15:46
rGlory

Так что расскажите всем нам, а то вы dozenу уже говорили

Это ж какое самообладание у Мастера! Знает, что меня на бабках переклинило, имеет на руках программу, печатающую деньги из байтов, И НЕ ГОВОРИТ! Не иначе -- щадит моё самолюбие. При известной "любви" ко мне Мастера какая еще может быть причина, чтобы скромно замять достижения? Не будем же мы всерьез обсуждать смехотворную возможность, что Мастер -- соврал, и нет ни программы, ни бабок!?

894. rGlory, 05.01.2010 17:14
dozen
цитата:
Не будем же мы всерьез обсуждать смехотворную возможность, что Мастер -- соврал, и нет ни программы, ни бабок!?
Возможность действительно смехотворная - программа наверняка есть, или во всяком случае была. Но вот насчет второго... Не зря же Мастер категорически вычеркнул деньги, как критерий успешности, явно Форекс руку приложил...

895. vertur, 06.01.2010 05:14
Может, мастер просто открыл очередной форекс-лохотрон ?
Да и навыки в шахматных программах тут наверно пригодятся, бедные лемминги теперь борются с траекторными шаблонами

В гондурасе таких лохотрончиков много, если верить инету.


Об обратном, даже подумать страшно - кто его с двумя рублями к операциям на настоящем Форексе пустит то ?, тока в лохотрон.


Кстати, по поводу "Синбада". Учитывая увлечение мастера всякими там БД, наиболее близко сюда подходит:
"SINDBAD and SiQL" http://www.springerlink.com/content/5308l36144115225…lltext.pdf?page=1

896. moderator-Kid, 08.01.2010 08:06
Разбирательством установлено следующее:
  1. Сообщение от лица Юрия Шпеера есть неудачная и неуместная шутка одного из участников форума.
  2. Автор шутки неправильность своего поведения осознал.
  3. Оное сообщение и последовавшие за ним удалены.
  4. Напоминаю участникам форума, что подобное (а именно - попытка выдать себя за другого, реально существующего человека), особенно в контексте данной дискуссии, категорически недопустимо.
  5. Вышеупомянутому Ю.Шпееру приношу от лица администрации извинения.

897. Vladimir Rybinkin, 08.01.2010 09:37
Живите, господа. У меня умерла мама, и не хочу я омрачать ее светлую память пустой болтовней с вами. Потом как-нить что-нить расскажу...

898. moderator-Kid, 08.01.2010 10:26
Примите искренние соболезнования.

899. jooher, 08.01.2010 11:38
moderator-Kid
есть неудачная и неуместная шутка одного из участников форума

Жесть. По хорошему надо бы назвать шутника то. С занесением.

900. moderator-Kid, 08.01.2010 12:42

jooher
Жесть. По хорошему надо бы назвать шутника то. С занесением.
Мне виднее. Гражданин сам (подчеркиваю, сам) осознал, что сделал глупость. Поэтому меры приняты, но публично этот вопрос обсуждаться не будет. Все.

901. loyolla, 08.01.2010 17:19
Vladimir Rybinkin
Никогда не знаю, что говорить в таких случаях. Примите мои самые искренние соболезнования.

902. Vladimir Rybinkin, 13.01.2010 11:17
Всем спасибо. И тем, кто в эти дни был с нами реально, и тем, кто в виртуале, в т.ч. здесь. Особенно рад постингу "исчезнувшей" loyolla. Не взыщите, бить буду в случае чего, как и раньше - это уже не исправить.

Partisan
цитата:
Сведений, что Синдбад работает, по-прежнему нет. (Ваша злобная брань не считается сведением).
Нет у меня никакой "злобной брани". И не было никогда (по крайней мере, в этой ветке). А вот четвертый тест - есть, и он выложен. Оригинал тоже выложен. Разница между двумя этими состояниями и есть результат работы Синдбада (реляционного) - об этом уже говорилось выше. Вся ваша поганая математика, вместе взятая, не только не способна это сделать, но я даже не уверен, что она в состоянии определить те самые упомянутые "общие телефоны разных компаний". Точка.
цитата:
Проблема, что вы не имеете о ней представления.
Конечно, конечно. Я уже писал, что многопоточность есть В ЛЮБОМ из моих тестов (кроме последнего), и она представлена ТЕКСТАМИ ПРОГРАММ. Информирую Вас также, сударь, что:

1. НИ МАЛЕЙШЕГО отношения к Windows многопоточность не имеет, поэтому все Ваши (уже не первый пост повторяемые) слова об [имитации] многопоточности в Windows/MS-DOS есть просто Бред Сивой Кобылы.

2. В отличие от Вас, я ОПРЕДЕЛИЛ понятия "процесс" и "поток", и в МОЕМ определении спутать их НЕВОЗМОЖНО - это очередной Ваш бред.

3. В отличие от Вас, я никогда не говорил об "ИМИТАЦИИ многопоточности" - я говорил о МНОГОПОТОЧНОСТИ, и именно в этом смысле я говорил даже о моих тестах на JS.

4. Уж никак не Вам, пугающемуся сраной "программы уже в 500 строк JavaScript-а" говорить что-либо о "сложности" или "квалифицированных программистах" - ни о том, ни о другом Вы не имеете ни малейшего представления.

5. Что там Вам "видно", или что Вы "думаете", меня не интересует АБСОЛЮТНО - мое мнение о Вашем уровне я озвучивал много раз.
цитата:
Ну, вы написали про нагрузочное тестирование для кластера (серверов?).
Серьезно? Где? Когда? Точную ссылку на бочку!
цитата:
Вот вы сейчас и разъяснили - вы не делали нагрузочного тестирования (вопреки вашему прежнему заявлению).
КАКОМУ такому "заявлению"?
цитата:
Только вы не знаете, что такое поток (мелкая подробность).
А с чего Вы это взяли, лапочка? Вы, что ли, знаете, и ПОТОМУ видите, что я заблуждаюсь? Ну так дайте определение потока. Как и процесса. И мы вместе посмеемся.
цитата:
Вообще-то это был анекдот про конкретного гения - Vladimir-а Rybinkin-а.
Да? Я уже настолько популярен, что про меня анекдоты слагать начинают?
цитата:
В нём просто воспроизводятся ваши обычные рассуждения:
А вот врать не надо, лапочка. Даже под видом анекдота. Я уже указывал на аналогичную Вашу ложь, и подробно разъяснял, что НИКОГДА я не говорил про "всех их", НИ В ОДНОМ из своих постингов. Напротив, я постоянно старался вытащить вас, трусливо прячущихся в толпе, на свет Божий. В частности, "жалким, ничтожным человечишкой" ("убожеством", насколько я помню) я называл совершенно конкретного rGlory, а дураком я называл - не менее конкретно - Вас лично. Сколько раз нужно это повторять, чтобы дошло?

Gipnoss
цитата:
Это какая-то неисправимо оптимистическая версия алгоритма - живет с верой в сердце, что все более приоритетные события уже обработаны.
Сударь, читайте мои постинги по нескольку раз. И свои желательно. Или хотя бы тот, который я сейчас цитирую. Токо внимательно, плиз - слишком уж утомляет эта безграничная тупость.

dozen
цитата:
Умиляет твоя инфантильная потребность в (пре)увеличении своей значимости путём какбэ небрежного упоминания неких авторитетов, с которыми ты какбэ лично знаком.
Какие такие "авторитеты"?! Агеев с Добровым, что ль? Неглупые ребята - молодые, зубастые. Ну, знаком. Ну, дал мне тесты РОМИП кто-то из них (а вовсе не обращался я с какими-то идиотскими "запросами" к какому-то идиотскому "серверу", как ударило в голову Partisan 30.12.2009 21:16). Ну, не помню я и в самом деле, кто именно - встречался я с ними примерно в одном месте, примерно в одно время, примерно по одному и тому же поводу. Какая "значимость", лапочка? У тебя что, И ЗДЕСЬ комплексы?!
цитата:
Забавное психическое отклонение -- главное иметь не правильное (логичное, обоснованное), а СВОЁ (пусть и высосанное из пальца).
М-д-а-а... Без комментариев.
цитата:
Много чести. Про стеки и очереди мы лучше классиков почитаем, а не бзикнутых экстравагантов.
Это уж само собой - я даже и не заикаюсь. А то ходют тут в мою ветку всякие "бзикнутые экстраваганты", и все норовят чо-то засунуть в середину то стека, то очереди... задолбали, блин!

jooher
цитата:
Ну, если верить dozen
КОМУ?!
цитата:
дебил - это от слова debility (то есть "отсутствие ability"), то это величина не положительная и не отрицательная, а как раз "нуль или около".
Лапочка, "нуль или около" - это всего лишь "точка или ее окрестности на шкале". И точка эта называется "мнение толпы", а "величина" есть отклонение от нее в ту или иную сторону. Я ж русским языком спросил: "А вы-то кто?!" Для вас даже термина нет.
цитата:
Дарт Вейдер или Гитлер...
Господи, ну бред же, НУ БРЕД! Я ж говорил: попробуйте голову на что другое переключить - чем черт не шутит...
цитата:
Тебе, как гуманитарию (уверен на 99.95% что ты закончил какой-нибудь пединститут по спец-сти "преподаватель русского языка и литературы в младших классах", и возможно, факультатив "преподаватель информатики"), это должно бы быть понятно.
Да уж... ТАКОГО я за всю свою сознательную жизнь не слышал НИ РАЗУ!

dozen
цитата:
И то -- знак зависит от принятой системы отсчета.
Я уже говорил: из одного из самых тупых ты превращаешься...
цитата:
Дебилушка же -- именно что околонулевая величина.
Ну вот, здрассьте! Относительно чего? Дай точку отсчета, родной!
цитата:
Треплет языком налево-направо, раздает ярлыки, свергает авторитетов зубочистками, а вот сделать что-то полезное -- не может.
Ну дык это ж ты и есть - в чистом виде! Помнишь, про малую модель чего вы с Евгением Машеровым городили? А потом пробежал там какой-то случайный ник, хвостиком махнул - весь кайф сразу же и поломал...

Rudolf
цитата:
Но кто-то же дает ему деньги на жизнь, иначе он бы умер от голода. Значит что-то где-то делает. Но вот что?
А вот это, конечно, очень важный вопрос - прям жизненно необходимый для этой ветки - правда? И для доброй половины всех остальных моих веток. Я уже не раз, и не два писал инструкции для вашей идентификации - вы невероятно скучны и однообразны, как испорченная пластинка. Свалили бы вы отсюда, а?

CrazyElk
цитата:
Система оплаты и оценки труда она тогос нынче сильно не линейная и в районе нуля дает значительные отклонения для "справедливой оценки результатов"
Вот я и говорю: тут же еще один "Expert" ожил. Родной мой, шевельните чем-нибудь - какие, в задницу, "в районе нуля"?

Когда-то эталоном тупости на этом форуме для меня был некий VladD2 (если я правильно помню ник). Как же я заблуждался! Тот и мнение свое имел (правда, считал его по дурости своей "общеизвестным"), и отстаивал его яростно, и даже программу работающую выложил (которой я мутузил потом куда более серьезных оппонентов)!.. Сейчас бы он смотрелся лучшим среди вас - все сколько-нибудь приличные люди один за другим исчезали навсегда из этой ветки, и остались только вы, которым плюй в глаза. Что ж, и это может быть полезно - Я вас, б..дей, целый год на один корабль собирал. Неужели и с CrazyElk ситуация повторяется? Когда-то я просто с дуба рухнул: "И ВОТ ЭТО ВОТ есть "Expert"?! А сейчас...

rGlory
цитата:
Дядя Вова, чес слово, Вы с логикой дружите или уже совсем Дебилушко?
Дружу, мой хороший, дружу. Судя по всему, я тут чуть ли не в гордом одиночестве такой остался. Не, не надо меня ни про шахматы спрашивать, ни про комми, ни про финиста - НЕКОМУ спрашивать, да и сказано уже все, а перепевы ваши однообразные из ветки в ветку на эти темы давно опротивели и вам самим. Из новенького: раньше я не предоставлял возможности ухватиться за "ломаный английский" - даром, что никто из вас даже по-русски написанное прочесть не способен. Ну, порезвитесь...

Насчет "программы Форексовской", сударь, ковыряйтесь сами - все объяснялось буквально В ДЕТАЛЯХ. Хотя кому тут... сраный Эллиотт у любого на зубах, а уже то, что он и есть прямое следствие глобальнейшего закона рынка, знают разве что доли процента. Рассуждениями на тему открытия ставок прожужжали все уши, и только раз видел мыслю, что закрытие "тоже очень важный момент". Да он в тыщу раз важнее, бараны! Все эти гребаные "учебники" нужно переписать с точностью до наоборот! Слова же Ваши просто количество заработанных бабок является критерием оценки работы такой программы есть очередной Ваш кретинизм. А, ну да... Ладно, объясняю: "натикать" чего-нить на разных курсах - дело нехитрое, а вот ПОЛУЧИТЬ "заработанное данной программой бабло"... программа-то здесь при чем? "Просто и конкретно": ДА КТО Ж ТЕБЕ ЕГО В РОССИИ ОТДАСТ, ДУБИНА?! Да и не в Росии тоже...

Что еще... я тыщу раз говорил, что мне НАСРАТЬ, "наслышаны" ли вы о чем-то, есть ли у вас вера во что-то и т.д. Никто и никогда за все время моего пребывания в ветке совершенно ни хрена не соображал в шахматном программировании, "многоветочное" позорище комми читайте сами - мне просто стыдно еще раз смотреть на ту ахинею, которую вы там городили - как стыдно читать и комментарии jooher по моим текстам на JS. Не надо корчить из себя судей - и вам самим, и любому посетителю ветки давно уж ясно, что в каждой из этих зон вы просто гов... никто.

dozen
цитата:
Это ж какое самообладание у Мастера! Знает, что меня на бабках переклинило, имеет на руках программу, печатающую деньги из байтов, И НЕ ГОВОРИТ! Не иначе -- щадит моё самолюбие.
Да говорил я тебе... Если уж про форекс ничего не прорубил - вспомни хотя бы про иск к MS на пару лимончиков - и всего-то за одну пустую бутылку мне.

rGlory
цитата:
Не зря же Мастер категорически вычеркнул деньги, как критерий успешности, явно Форекс руку приложил...
Когда? Откуда? Ну зачем же так ТУПО врать? Ну противно ведь читающим (не мне, кстати - я давно уже все знаю).

903. jooher, 13.01.2010 15:08
Да забей, Владимир Владимирыч. Айда к нам в ветку про философское выделение памяти. Там тебя не хватает. С КРАНом спорить скучно уже - он "дураками" и "идиотами" не обзывается - приходится на Вы общаться. Утомляет.

904. dozen, 13.01.2010 15:59
Vladimir Rybinkin

Когда-то я просто с дуба рухнул

и что, до сих пор не удосужился обратиться к врачу? а опухоль мозга тем временем растёт...

905. Rudolf, 13.01.2010 16:07
Давай, Володя, сначала. Попробуем какие-то точки отсчета получить.

1. Вот есть некий стек очередей событий или сообщений. Где его место? Я имею ввиду в недрах ОС или в пользовательской программе или и там и там?

2. Vladimir Rybinkin
НИ МАЛЕЙШЕГО отношения к Windows многопоточность не имеет
Windows XP не многопоточная система?

906. rGlory, 13.01.2010 16:59
Vladimir Rybinkin
цитата:
А, ну да... Ладно, объясняю: "натикать" чего-нить на разных курсах - дело нехитрое, а вот ПОЛУЧИТЬ "заработанное данной программой бабло"... программа-то здесь при чем? "Просто и конкретно": ДА КТО Ж ТЕБЕ ЕГО В РОССИИ ОТДАСТ, ДУБИНА?! Да и не в Росии тоже...
Стало быть результата нет, как обычно одни слюни. Как и в комми, один в один, все дураки и не понимают как надо делать, один ВР весь в белом, но непонятый современниками. Меня терзают смутные сомнения - в шахматных соревнованиях тоже никто правила игры в шахматы (кроме Владимира Рыбинкина конечно) не понимал? Хотя в то время ВР был более или менее адекватен, да и не он один ту программу писал.
цитата:
Ну зачем же так ТУПО врать? Ну противно ведь читающим
В каком именно месте я соврал, да еще и тупо, что даже читающим школьникам города Нелидово стало противно?

907. vertur, 14.01.2010 04:22
цитата (VR):
...вспомни хотя бы про иск к MS на пару лимончиков - и всего-то за одну пустую бутылку мне
чет я не догоняю. Мастер подал в суд на M$ из-за пивной бутылки и выиграл квартиру в пределах садового кольца Дефолт Сити в Гондурасе ????? А он не задохнется от выхлопов дефолтных пробок ????, а от выхлопов Членовозок Единой Партии Членов Партии Единой Членов (разумеется партии) ?

908. SERGEY_BIG, 14.01.2010 12:25
Vladimir Rybinkin
Насчет "программы Форексовской", сударь, ковыряйтесь сами - все объяснялось буквально В ДЕТАЛЯХ.
Деталей не надо нам, нам нужен простой ответ: какова норма и масса прибыли, хотя бы на виртуальных фантиках? Если норма будет - хотя бы двойной LIBOR, то этого "Финиста - ясного сокола" с руками оторвёт любая финансовая богадельня. Как и с кого она будет получать сей профит, будут уже её проблемы.

909. dozen, 14.01.2010 15:22

vertur
Дефолт Сити
да он и так масквич.



SERGEY_BIG
хотя бы двойной LIBOR
ничего так у тебя запросы... и эта... двойной в день!

910. Partisan, 14.01.2010 20:20
Vladimir Rybinkin
А вот четвертый тест - есть, и он выложен. Оригинал тоже выложен. Разница между двумя этими состояниями и есть результат работы Синдбада (реляционного) - об этом уже говорилось выше.

Публикаций нет. Сайта с описанием нет. Внедрений нет. Пользователей нет. Нет никого, кто бы видел это Синдбад в работе. Кроме вашего пустословия, ничего нет. Делаю вывод, что Синдбада нет.



1. НИ МАЛЕЙШЕГО отношения к Windows многопоточность не имеет, поэтому все Ваши (уже не первый пост повторяемые) слова об [имитации] многопоточности в Windows/MS-DOS есть просто Бред Сивой Кобылы

А я это не вам писал (потому что вам ещё никто не смог ничего объяснить), хотя вы конечно имели право ответить. Когда применялась MS-DOS действительно были попытки имитации и многозадачности, и многопоточности (сама MS-DOS не поддерживает ни того, ни другого). Это были не мои попытки, я просто указал на факт,что они были. Многозадачность имитировалась с помощью резидентных программ, а вместо многопоточности применялись функции setjmp и longjmp стандартной библиотеки С (или сопрограммы в Modula 2). Они потеряли смысл после перехода на Windows 95 и NT(в Windows 3.1 была многозадачность, но не многопоточность). (Вы имеете право не понимать, что такое setjmp/llognjmp и резидентные программы). Ваш цитированный ответ показывает, что вы до сих пор ничего не знаете не о многозадачности, ни о многопоточности, а сл., описанная вами очередь сообщенний придумана не вами, а кем-то другим, и очень давно, т.к. вы ещё не просекли, что она потеряла смысл. Я просто уличил вас в очередных фантазиях, другой цели не было.

2. В отличие от Вас, я ОПРЕДЕЛИЛ понятия "процесс" и "поток", и в МОЕМ определении спутать их НЕВОЗМОЖНО - это очередной Ваш бред.

Это ваш бред. Потому что ваши определения потока и процесса несовместимы с потоками и процессами реально существующими в операционных системах. Грубое отклонение слов от реальности и является бредом.
Я кстати процитировал определение "процесса" из книги Рихтера, который является автором популярных и авторитетных книг по программированию в Windiows (хотя вам это ни к чему. Вы по-прежнему можете программировать на Borland C++ 3.1 для MS-DOS, выдавая его за чудовищно мощный SINT).


Анекдот про гения.

- Доктор, мне почему-то всё время кажется, что я гений. Поэтому мне все завидуют, меня не любят и хотят убить. Доктор, а зачем вам этот топор?


911. blackhearted, 14.01.2010 21:02
запасся попкорном

912. moderator-Kid, 15.01.2010 07:29
наточил шашку и вложил свежую обойму в плюсомет

913. Vladimir Rybinkin, 15.01.2010 15:49
jooher
цитата:
Да забей, Владимир Владимирыч. Айда к нам в ветку про философское выделение памяти.
Да был я там. Скукотища. Единственное приличное высказывание от drmoreau от 08.01.2010 21:36: Ламером называется дурак, который высказывается уверенно на темы, в которых не разбирается. Нет ничего плохого в том, чтобы не знать и помалкивать. Но совершенно отвратительно, когда не знают и гонят - так, как ты.

Rudolf
цитата:
Давай, Володя, сначала. Попробуем какие-то точки отсчета получить.
Ха-ха-ха! Тогда на первую страницу ветки, плиз.
цитата:
Вот есть некий стек очередей событий или сообщений. Где его место? Я имею ввиду в недрах ОС или в пользовательской программе или и там и там?
Читайте ветку. События я лично использовал только для программирования диалога (Ване я пример приводил прямо в этой ветке). А вот стек очередей методов имеется практически в любой моей программе, в т.ч. во всех моих тестах, приведенных в этой ветке.
цитата:
Windows XP не многопоточная система?
О, Господи! Повторяю: НИ МАЛЕЙШЕГО отношения к Windows многопоточность не имеет. Windows к многопоточности - другое дело.

rGlory
цитата:
Стало быть результата нет, как обычно одни слюни.
Слюни-то как раз у вас, это вы все время тему поднимаете. А у меня - финист.
цитата:
Как и в комми, один в один, все дураки и не понимают как надо делать, один ВР весь в белом, но непонятый современниками.
М-д-а-а-а. Ладно, повторю: не нужно прятаться за "всех" - я всегда конкретно называл, кто именно дурак, и почему. Почему "непонятый"? Ничего сложного в комми нет. Да, после того, как я всерьез прочел работу Helsgaun, я убедился, что НАШ комми в тыщу раз круче. Почему - я тоже тыщу раз объяснял в тех ветках.
цитата:
Меня терзают смутные сомнения - в шахматных соревнованиях тоже никто правила игры в шахматы (кроме Владимира Рыбинкина конечно) не понимал?
Рад развеять. Не в шахматных соревнованиях, а в шахматном программировании, не правила игры в шахматы, а алгоритмы шахматных программ, не все на планете Земля, а все, кто говорил об этом в ветках этого форума (тех, которые я видел) - да, никто не понимал (кроме Владимира Рыбинкина конечно). И тогда, когда "ВР был более или менее адекватен", и сейчас.
цитата:
В каком именно месте я соврал, да еще и тупо, что даже читающим школьникам города Нелидово стало противно?
Я ж указывал. Повторю, мне не трудно: Не зря же Мастер категорически вычеркнул деньги, как критерий успешности, явно Форекс руку приложил...

vertur
цитата:
чет я не догоняю.
Естественно. Вначале не хило бы ветку почитать.

SERGEY_BIG
цитата:
Деталей не надо нам, нам нужен простой ответ: какова норма и масса прибыли, хотя бы на виртуальных фантиках?
Нисколько не сомневаюсь. Пару лет назад в каком-то журнале была статья - что-то вроде "Культ Карго". Про вас, господа! Ладно, объясняю: "масса прибыли" зависит от величины ставки, а "норма прибыли" - от текущего поведения выбранных валют (или там акций). Программа же всего лишь ловит удачу за хвост. Для этого нужно всего лишь внимание, крепкие нервы и умение передавать ставки с коротких позиций на длинные, и наоборот. Все это у программы имеется в наличии.
цитата:
Если норма будет - хотя бы двойной LIBOR, то этого "Финиста - ясного сокола" с руками оторвёт любая финансовая богадельня. Как и с кого она будет получать сей профит, будут уже её проблемы.
Ха-ха-ха! Руки мне пока что и самому нужны.

Partisan
цитата:
Публикаций нет. Сайта с описанием нет. Внедрений нет. Пользователей нет. Нет никого, кто бы видел это Синдбад в работе. Кроме вашего пустословия, ничего нет. Делаю вывод, что Синдбада нет.
Умница! Я говорил об этом минимум дважды: 18.08.2009 10:22 и 24.11.2009 09:53. Дошло, наконец? А если еще дополнительно чем-нить шевельнуть, то должно быть ясно, сколько примерно стоит Синдбад как продукт - это вам не сраный Oracle! А вот четвертый тест - есть. И публикации кое-какие есть. И те, кто "видел это Синдбад в работе" тоже есть. И много чего другого есть.
цитата:
А я это не вам писал
Какая разница? Зачем другим Ваш бред нужен? Повторяю: ОС - это такая же задача, как и любая другая. В ней может быть многопоточность, а может и не быть. А вот ИМИТАЦИИ быть НЕ МОЖЕТ - она либо есть, либо ее нет.
цитата:
Ваш цитированный ответ показывает, что вы до сих пор ничего не знаете не о многозадачности, ни о многопоточности
Лапочка моя, я все-таки включен в соавторы бортовой (многозадачной, многопоточной) ОС - до сих пор денюшка какая-то капает! Впрочем, мож и перестала - в апреле-мае посмотрим...
цитата:
а сл., описанная вами очередь сообщенний придумана не вами, а кем-то другим
Возможно - не знаю, что это за зверь. А вот стек очередей (событий, методов, данных) придумал именно я. Мож, действительно был кто-нить раньше, но я до сих пор ничего об этом не знаю. И я тыщу лет назад "просек", что он отнюдь не "потерял смысл" - он скорее его еще не приобрел.
цитата:
Я просто уличил вас в очередных фантазиях, другой цели не было.
Как-то странно Вы, родной мой, "уличили". Что за фантазия (хоть одна) - я лично так и не понял. Вы соврали?
цитата:
Это ваш бред. Потому что ваши определения потока и процесса несовместимы с потоками и процессами реально существующими в операционных системах. Грубое отклонение слов от реальности и является бредом.
Да что Вы говорите?! А вот мой опыт говорит прямо противоположное. И чо делать бум?
цитата:
Я кстати процитировал определение "процесса" из книги Рихтера
Ага, помню. Это не определение - это бред сивой кобылы. Процесс обычно определяют - с первых же слов ясно, что это НЕ МОЖЕТ быть определением. Не говоря уже про "экземпляр исполняемой программы", "EXE и DLL модулях" и т.д. Возможно, он и является "автором популярных и авторитетных книг по программированию в Windiows" - и что?
цитата:
Вы по-прежнему можете программировать на Borland C++ 3.1 для MS-DOS, выдавая его за чудовищно мощный SINT.
Да, я пишу на BC3.1 - мне вполне достаточно. А насчет "чудовищно мощного SINT"... Вот фрагмент кода:
код:

//-----------------------------------------------------------------------------
// Определение текущего транслятора
//-----------------------------------------------------------------------------
#define BC31 1 // текущий транслятор BC31
#define GNUC 2 // текущий транслятор GNUC
#define MSVC 3 // текущий транслятор MS VC++
#ifdef __BORLANDC__ // базовый транслятор Borland C++
#define COMPILER BC31 // текущий транслятор
#endif // (__BORLANDC__)
#ifdef __GNUC__ // у транслятора GNU
#define COMPILER GNUC // текущий транслятор GNUC
#endif // __GNUC__
#ifdef _MSC_VER // базовый транслятор MS VC++
#define COMPILER MSVC // текущий транслятор
#define CONSOLE 1 // консольный режим
#if _MSC_VER == 1100 // транслятор MS VC++ ver 5.0
#define COMPILER_VER 5 // версия транслятора MS VC++ 5.0
#endif // _MSC_VER == 1100
#if _MSC_VER == 1200 // транслятор MS VC++ ver 6.0
#define COMPILER_VER 6 // версия транслятора MS VC++ ver 6.0
#endif // _MSC_VER == 1200
#pragma warning(disable:4068) // отмена предупреждения "unknown pragma"
#pragma warning(disable:4102) // отмена предупреждения "unreferenced label"
#endif // _MSC_VER
#ifndef COMPILER // текущий компилятор не известен
#error программа не отлажена для этого компилятора
#endif // COMPILER
//-----------------------------------------------------------------------------
// Установка текущей версии операционной среды
//-----------------------------------------------------------------------------
#define UndefinedOS 0 // операционная среда не определена
#define MSDOS 1 // ОС MS-DOS
#define WINNT 2 // ОС Windows NT
#define WIN95 3 // ОС Windows 95
#define WIN3X 4 // ОС Windows 3.XX
#ifdef _WIN32 // Компилятор под Win32
#define OS WIN95 // по умолчанию пишем для Windows95
#else // _WIN32
#define OS MSDOS // по умолчанию пишем для MS-DOS
#endif // _WIN32
#if (OS == WINNT) || (OS == WIN3X) || (OS == WIN95)
#define OSWIN TRUE // нужно включать описания для ОС Windows
#endif // (OS == WIN3X) ||...|| (OS == WINNT)
#if OS == UndefinedOS // среда не определена - не работаем
#error Определите операционную среду
#endif // OS == UndefinedOS
#if (OS == MSDOS) // программы под MS-DOS требуют
#ifndef __MSDOS__ // установки нужного режима трансляции
#error Установите нужный режим трансляции (DOS)
#endif // __MSDOS__
#endif // (OS == MSDOS)
#if OSWIN == TRUE // программы под Windows требуют
#ifndef _Windows // установки нужного режима трансляции
#ifndef _WIN32 // (Windows APP)
#error Установите нужный режим трансляции (Windows APP)
#endif // _WIN32
#endif // _Windows
#endif // OSWIN == TRUE
//-----------------------------------------------------------------------------
// Подключение стартовых заголовочных файлов
//-----------------------------------------------------------------------------
#include "regtr.h" // настройка параметров условной трансляции
#include <define.h> // настройка разрабатываемого приложения
//-----------------------------------------------------------------------------
// Подключение стандартных заголовочных файлов
//-----------------------------------------------------------------------------
...
#if OSWIN // для этой группы программ
#include <windows.h> // требуются свои описания
#endif // OSWIN
#ifdef _MSC_VER // MS Visual С++
#include <pshpack1.h> // обеспечивает правильный размер структур
#endif // _MSC_VER

Как видим, не так все однозначно...

914. Nick, 15.01.2010 16:34
Vladimir Rybinkin
А можно какой-нибудь другой кусок кода посмотреть ? а то только кучи define-ов выкладываете...

реализующий стек очередей, например

915. SERGEY_BIG, 15.01.2010 16:47
Vladimir Rybinkin
объясняю: "масса прибыли" зависит от величины ставки, а "норма прибыли" - от текущего поведения выбранных валют (или там акций). Программа же всего лишь ловит удачу за хвост. Для этого нужно всего лишь внимание, крепкие нервы и умение передавать ставки с коротких позиций на длинные, и наоборот. Все это у программы имеется в наличии.
Буду нудным (такое настроение после тяжелых трудовых будней):
Дано:
Вход
1) динамика курса актива (любого, на Ваше усмотрение - берите только ликвидные вещи, типа USD, EUR, фьючерсов на NIKKEI, S&P 500, акции можно наши - лучок, газик, гамак) в период с такого по такое-то.
2) Инвестируемая сумма. В случае маржинальной торговли - плюс размер "плеча".
Выход
1) число сделок за указанный период
2) профит/лосс (совокупный)

А про то, что нужно "покупать дёшево, а продавать дорого", спасибо, конечно, но мы в курсе

916. Rudolf, 15.01.2010 16:48
Vladimir Rybinkin
События я лично использовал только для программирования диалога (Ване я пример приводил прямо в этой ветке). А вот стек очередей методов имеется практически в любой моей программе, в т.ч. во всех моих тестах, приведенных в этой ветке.

1. А использовался ли в Ваших программах стек очередей сообщений?
2. Не поленитесь, плз, приведите этот пример еще раз. Или ссылочку на него.

ps: используйте, плз nicknames, а не реальные имена.

Добавление от 15.01.2010 16:55:

Vladimir Rybinkin
Как видим, не так все однозначно...

Да, никакой однозначности. Куча дефайнов, а рабочего кода не видно. Это хлам ничего не доказывает и ничего не опровергает.

Добавление от 15.01.2010 17:05:

Vladimir Rybinkin
Повторяю: НИ МАЛЕЙШЕГО отношения к Windows многопоточность не имеет. Windows к многопоточности - другое дело.

Замечательно. Тогда вопрос: имеет ли Винда отношение к многопоточности?

917. dozen, 16.01.2010 04:57
Rudolf
Куча дефайнов, а рабочего кода не видно.

Дык, последний раз, когда Мастер показал кусочек своих процедур оперирования строками, невооруженным глазом было видно, что на big endian они работать не будут (что и было немедленно проверено на AIX). C тех пор код не выкладывается....

918. theaspect, 16.01.2010 05:37
dozenя думал СИНТ предназначен для МСДОС и 8086, зачем ему AIX

919. dozen, 16.01.2010 07:43
theaspect

думал СИНТ предназначен для МСДОС и 8086, зачем ему AIX

э! ты не застал мегаломании в разгаре! Мастер предлагал:
  • отказаться от всех прочих систем и, прости господи, фреймворков
  • всё всем писать на СИНТ
  • все программы должны существовать (как исходники) внутри СИНТА одновременно, а сборка той или другой осуществляется нужным дефайном
  • и всё это жутко портируемо

    третий пункт -- он самый жгучий, конечно, но квалификацию Мастера в четвертом я мог проверить на практике. практика показала незнакомство Мастера с big endian.

    кстати, он тут переодически поёт про некую embedded OS, за которые ему до сих пор плотят советские рубли в сберкассу. так вот, незамутненность в вопросах byte orientation заставляет усомниться в этом утверждении. embedded -- они всякие бывают, и представить, что Мастер много в туда писал, а big endian не видел -- ну, если только из грандаловского портала пришел...

    Добавление от 16.01.2010 07:47:

    P.S. см. http://web.archive.org/web/20050326004108/http://2bi…/profp.htm#LFiles
    Общие положения, пункт 9 вставляет.

    вот, кстати, немного кода:
    http://web.archive.org/web/20030725095125/2bit.ru/systemc.htm

    интернет помнит всё...

  • 920. vertur, 16.01.2010 08:36
    цитата (dozen):
    практика показала незнакомство Мастера с big endian
    А какой однако куй в правильных исходниках по поводу индианов ? Реально Пофиг! Учись у опен сорсов. Хоть биг хоть литл, даже мидл - все собирается и работает где надо из одних и тех же сорцов.

    Жабо быдло кодерам этого не понять - у них религия другая, даже система команд процессора своя, для своег виртуального процесссора Этого не важно что его еще не было когда была жаба... Главное что Томми убил себя об стену! от безисходности

    921. штышпре, 16.01.2010 09:47
    Ой, ещё один пример. Живой пока! Даже бормочет чего-то знакомое.
    vertur
    А какой однако куй в правильных исходниках по поводу индианов ?
    Исходники были неправильные -- рукопашная работа с памятью с привязкой к byte order, по всему тексту.

    Главное что Томми убил себя об стену! от безисходности
    Ох, ё! А теперь скажи громко и чётко: "ява не нужна"! И для пущего эффекта добей ссылкой на свою библиотеку (лучше всего на CL, его всё равно никто почти не разумеет) аудитории в зубы -- что, слабо, мол? -- вот вам, жрите, твари, учитесь! Вот как надо баксы зарабытывать. Тут-то java-хомячков разрывать и начнёт. От безысходности. Ты не на худеешь уже часом? А то мне тут рассказали хороший способ (http://forum.ixbt.com/topic.cgi?id=26:29823:1899#1899) .

    922. jooher, 16.01.2010 11:04
    dozen
    вот, кстати, немного кода:

    А это к чему вообще код то? Это синт?

    код:


    ...

    #if COMPILER == CMSVC // текущий транслятор MS VC++
    Len = _lread (Handle,(CMD)ABuff,Len);
    #else // COMPILER == CMSVC
    !!!не отлажено!!!
    #endif // COMPILER == CMSVC
    #endif // OS == MSDOS
    } // конец условия "чтение из файла"
    #if OS == MSDOS // программа для операционной системы MS-DOS
    #if LDP == 4 // длинные указатели данных
    asm { // пользуемся встроенным ассемблером
    push DS // прячем сегментный регистр
    mov AX,PAR4[BP] // сегмент буфера
    mov DS,AX // устанавливаем сегментный регистр
    mov CX,PAR5[BP] // количество байт
    } // установка регистров при больших указателях
    #else // LDP == 4

    ...



    Неужели это на AIX не работает?

    923. dozen, 16.01.2010 16:14
    jooher
    А это к чему вообще код то? Это синт?

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

    Неужели это на AIX не работает?

    Работает. Под Bochs (http://bochs.sourceforge.net/) или JPC (http://www-jpc.physics.ox.ac.uk/home_home.html)

    924. Vladimir Rybinkin, 16.01.2010 16:14
    Nick
    цитата:
    А можно какой-нибудь другой кусок кода посмотреть?
    Можно, лапочка, можно. Я уж задолбался повторять, что "кусок кода, реализующий стек очередей, например" представлен В КАЖДОМ ИЗ МОИХ ТЕСТОВ! Он сильно упрощенный (в частности, не умеет REPEAT/RETRY), но нынешним посетителям ветки и без этого слишком много - того и гляди, башка треснет. Смотрите ЧЕТВЕРТЫЙ тест - там, по крайней мере, только ОДИН стек очередей. О-хо-хо... Нормальному программисту хватило бы одного названия "стек очередей", чтобы понять, как он работает...

    SERGEY_BIG
    цитата:
    Буду нудным (такое настроение после тяжелых трудовых будней):
    А мне до лампады. Ковыряйтесь в тех ветках, если есть желание. Возможно, прорубите весь идиотизм этого Вашего "Вход/Выход". Информация, которую можно получить с такого "ответа" просто РАВНА нулю. Назовите-ка вначале по имени глобальный закон рынка - шоб хоть какую-то состоятельность в этой зоне показать.
    цитата:
    А про то, что нужно "покупать дёшево, а продавать дорого", спасибо, конечно, но мы в курсе
    А я ничего про это и не говорил, лапочка.

    Rudolf
    цитата:
    А использовался ли в Ваших программах стек очередей сообщений?
    А что такое "сообщения"? В ранних моих ветках (когда там еще водились программисты) мы договорились, что это синоним термина "события".
    цитата:
    Не поленитесь, плз, приведите этот пример еще раз. Или ссылочку на него.
    Нет, мой милый - давно уже завязал очередному ленивцу повторять по 10 раз одно и то же. Ладно, живите: на 20-й странице.
    цитата:
    Да, никакой однозначности. Куча дефайнов, а рабочего кода не видно. Это хлам ничего не доказывает и ничего не опровергает.
    В самом деле? Это вполне рабочий код. И вообще, все это обсуждалось в самом начале этого века с такими людьми, как ndemia, и у меня ни малейшего желания втолковывать что-либо местной шобле. Ройтесь в архивах, если неймется.
    цитата:
    Замечательно. Тогда вопрос: имеет ли Винда отношение к многопоточности?
    А вот это мне совершенно до фонаря. Меня Винда не интересует, многопоточность я как-нить и сам обеспечу.

    dozen
    цитата:
    Дык, последний раз, когда Мастер показал кусочек своих процедур оперирования строками, невооруженным глазом было видно, что на big endian они работать не будут (что и было немедленно проверено на AIX).
    Ты договаривай, лапочка, договаривай. ДУРАКОМ проверено.
    цитата:
    C тех пор код не выкладывается....
    Код тот "выкладывался" специально для Николая Демьянкова (и еще пары человек). А для остальной шушеры, если помнишь, валялся у меня testpo.exe, и я говаривал им примерно так: Сделайте любой кусок, на выбор, чтобы показать, что с вами ваще на эту тему можно разговаривать.. VladD2 сдурья сделал...

    theaspect
    цитата:
    я думал СИНТ предназначен для МСДОС и 8086, зачем ему AIX
    Это верно. Он ему на фиг не нужен.

    dozen
    цитата:
    э! ты не застал мегаломании в разгаре! Мастер предлагал:
    Можно подумать, ТЫ застал. Ты тогда ваще не вякал. И правильно делал: не с тобой разговаривали.
    цитата:
    и всё это жутко портируемо
    А то! Первая же попытка реализации оказалась очень удачной, и инструментарий SINT практически сразу стал использоваться для создания буквально всего программного обеспечения нашей компании. Основной причиной такого решения явилась, пожалуй, концепция единого пространства текстов, которая позволяет максимально использовать наработки, выполненные ранее в других проектах. Уже сам факт регистрации в системе новой прикладной программы автоматически снабжает ее перечнем необходимых инструментальных модулей (файловый менеджер, диспетчер памяти, преобразование типов данных, отладочные функции и т.п.). Еще одним преимуществом данного подхода явилось повышение качества алгоритмов и программ за счет более широкого тестирования модулей общего назначения на разных прикладных задачах. Эта же концепция позволяет ранее созданным программам, простой перетрансляцией их кода, "впитывать" все последующие наработки. Например, при регистрации модуля управления манипулятором "мышь" его получат сразу все "заинтересованные" программы. При регистрации в системе каждого нового транслятора (GNU, BC, MSVC, WATCOM) или операционной системы (DOS, Windows, UNIX), сохраняется возможность компиляции всех ранее разработанных модулей без какой-либо переделки их программного кода. Программы, написанные на SINT, реально работали и в среде MSDOS, и как консольные приложения WindowsXX, и в специализированных электронных блоках с собственными микропроцессорами. Все компоненты графовой СУБД "Синдбад" также были созданы в этой среде. Впрочем, все это я уже писал Ване, и даже более подробно.
    цитата:
    квалификацию Мастера в четвертом я мог проверить на практике. практика показала незнакомство Мастера с big endian.
    Все по поводу твоих "проверок" я написал еще ТОГДА. Поройся в архивах, дубина.
    цитата:
    незамутненность в вопросах byte orientation заставляет усомниться в этом утверждении.
    А вот это, лапочка, мне абсолютно по барабану.
    цитата:
    P.S. см.
    О! По архивам побежали, документики достали... не прошло и 10 лет. Давай, родной, тебе полезно будет.
    цитата:
    интернет помнит всё...
    Вот именно. Так что поройся по архивам.

    vertur
    цитата:
    Хоть биг хоть литл, даже мидл - все собирается и работает где надо из одних и тех же сорцов.
    О! Кабы не прошлые постинги, сказал бы, что хоть кто-то хоть что-то соображает...

    925. theaspect, 16.01.2010 17:09
    сплошные камменты - вырвиглазное зрелище

    926. lvqcl, 16.01.2010 17:23
    Vladimir Rybinkin
    Меня Винда не интересует, многопоточность я как-нить и сам обеспечу.

    По-моему, это называется "детям до 16-ти". Остальное комментировать не буду.

    927. Partisan, 16.01.2010 17:27
    Vladimir Rybinkin
    А вот это мне совершенно до фонаря. Меня Винда не интересует, многопоточность я как-нить и сам обеспечу.

    Небольшое преувеличение. Сам Юрий Хоттабович Шпеер не смог бы обеспечить многопоточности в программе для MS-DOS, если бы как V.R. не знал, что такое поток (ну и потому что MS-DOS не поддерживает многопоточность).

    V.R.
    А что такое "сообщения"? В ранних моих ветках (когда там еще водились программисты) мы договорились, что это синоним термина "события".

    Небольшая неточность. V.R. договорился сам с собой. Программисты обычно не путают понятия "события" и "сообщения".

    рограммы, написанные на SINT, реально работали и в среде MSDOS, и как консольные приложения WindowsXX

    Небольшое преувеличение + небольшая неточность. Это были не консольные приложения для Windows, а всего лишь программы для MS-DOS, запускаемые из Windows.

    928. dozen, 16.01.2010 17:28
    Vladimir Rybinkin

    Ты договаривай, лапочка, договаривай. ДУРАКОМ проверено.

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

    Добавление от 16.01.2010 17:38:

    Vladimir Rybinkin

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

    грешно смеяться над больными, конечно, но ...

    предположим в портале СИНТ стал глобальной основой разработки. все пишут на нём. вопрос -- что, все приложения по прежнему существуют "в едином пространстве текстов"? то есть, чтобы собрать с sourceforge.net какую-нибудь утилиту на 20 строчек, я должен стащить всё полное дерево СИНТ (то есть весь sourceforge, в данном случае)? иначе же "максимального использования" не будет?!

    мега, МЕГА-задумка! показывает всю даль горизонта планирования ВР.

    Добавление от 16.01.2010 17:40:

    Vladimir Rybinkin

    Все по поводу твоих "проверок" я написал еще ТОГДА. Поройся в архивах, дубина.

    Да, помню. Утерся, заявил, что big endian тебе не нужен, потом опомнился, и с тех пор обвиняешь линия защиты -- "а судьи кто?!".

    Добавление от 16.01.2010 17:43:

    По архивам побежали, документики достали... не прошло и 10 лет.

    Дык ржач же! Ты такой серьезный там... как настоящий программист!

    929. Rudolf, 16.01.2010 23:00
    dozen
    ык, последний раз, когда Мастер показал кусочек своих процедур оперирования строками, невооруженным глазом было видно, что на big endian они работать не будут (что и было немедленно проверено на AIX). C тех пор код не выкладывается....

    Что-то подобное я и предполагал.

    кстати, он тут переодически поёт про некую embedded OS, за которые ему до сих пор плотят советские рубли в сберкассу.

    Ну а че тут невозможного? В оборонке и т.д. платят мало, а если нормально, то на время проекта, а потом раз и оклад голый в зубы (сколько раз уже слышал). Работают те, кому некуда податься, пенсионеры в том числе. Вполне может сидеть человечек, пописывать кусочки программы. Другого-то все равно не найти. Ну а те, кто повыше - воруют и откатывают, но Володю туда не возьмут.

    Добавление от 16.01.2010 23:29:

    Vladimir Rybinkin
    Нет, мой милый - давно уже завязал очередному ленивцу повторять по 10 раз одно и то же. Ладно, живите: на 20-й странице.

    Да, там есть маленький примерчик, правда ничего не доказывающий. Я имел ввиду работающий код. Ну хоть что-то где-то есть работающее? Ы? Тесты какие-то таинственные упоминаются через слово. А где можно взять исходники и запустить, проверить? Есть хоть одно работающее приложение в исходниках? Чтоб можно было под Вистой или Убунтой его скомпилить и запустить? Чтоб там стек очередей был ( я даже не буду придираться, что Вы "не имеете разницы" между событиями и сообщениями, пусть).

    ps: Володя, ты зарываешь свой талант в землю. То, что тебе тут советовали насчет рекламы - мелочь. Ты уже почти создал "Общую Шину".


    "Физики" выработали стандартную рекламную речь про эту систему, которую включали каждый раз для новых людей, или для своих - когда Президент начинал шататься в своей вере в неё. Я тоже не раз слышал эту речь.

    Суть речи была в том, что будет построена невообразимо мощная и быстрая «общая шина», позволяющая легко вызывать нужные объекты из любых локаций в сети, повторно использовать код, быстро создавать новые контентные проекты и так далее. В общем, стоит разработать общую шину и будет всем Щастье с большой буквы «Щ».
    http://www.ashmanov.com/pap/bubble/#p4.9.2

    Ты сможешь стать Магом с такой-то Шиной:


    Маг идёт напрямик к самому некомпетентному из инвесторов, быстро гипнотизирует его, обещая магические результаты и волшебные прибыли, и начинает прямо или косвенно рулить компанией. Я близко наблюдал приход магов в нескольких компаниях: обычно правление мага длится 3–4 месяца, потом его разоблачают и с шумом или потихоньку выпихивают.

    В Портале, также неожиданно, а на самом деле неизбежно, появился свой Маг — птица особенно высокого полёта. Он загипнотизировал где-то в кулуарах нашего Латиноамериканца и с эффектом появился в компании уже в должности вице-президента по маркетингу.
    http://www.ashmanov.com/pap/bubble/#p6.11

    930. ivanhoe, 17.01.2010 02:14
    Rudolf

    Маг к общей шине никакого отношение не имеет. И ее в конечном итоге все-таки сделали. :)

    931. Partisan, 17.01.2010 11:56

    Rudolf
    кстати, он тут переодически поёт про некую embedded OS, за которые ему до сих пор плотят советские рубли в сберкассу.

    Ну а че тут невозможного? В оборонке и т.д. платят мало, а если нормально, то на время проекта,


    Вряд ли ему сейчас платят. Бортовой ОС он занимался очень давно, наверно ещё при народной власти. Методом дедукции можно установить, что раньше он обитал в г.Раменское (известном своей самой скучной футбольной командой в высшей лиге). а сейчас - в Москве (значит, сменил место работы).
    Хотя бортовая ОС - наверно секрет и в отличие от остальных его деяний, у него есть причина скрывать свой вклад, но в ней V.R. делал не многозадачность, раз до сих пор не понимает, что это такое.

    932. dozen, 17.01.2010 17:20
    Rudolf

    Ты сможешь стать Магом с такой-то Шиной:

    Хорошая аналогия, кстати. Мастер и пытается представить себя Магом. Но выбрал неправильную аудиторию -- Маги (по Ашманову) работают по "некомпетентным инвесторам", то есть не по технарям. Им можно впарить и сетевую базу с каталогом ресурсов, и комми за полином, и сжатие белого шума без потерь, и форекс-робота, и даже шахматную программу -- тоже какие-никакие, а деньги. Им. Но не нам. Но Мастер не понимает этого простого факта, и потому стать Магом у него не получается.

    Да и в плане презентабельности Мастер тоже ... скорее символ упадка.

    933. Rudolf, 17.01.2010 18:32
    ivanhoe
    Маг к общей шине никакого отношение не имеет.
    Это у Ашманова не имел, а вообще, я не вижу препятствий к использованию Синта на сеансах гипноза. Маги тоже должны развиваться, мутировать.



    dozen
    Но выбрал неправильную аудиторию
    Так ведь я и пытаюсь подсказать, направить. Ну или убедиться, что что-то сделанное Мастером реально работает, стек очередей увидеть в _работоспособных_ исходниках, например.

    934. Partisan, 17.01.2010 19:26
    Вообще-то, стек очередей - не полная чушь. Даже напротив. Используется кое-где (обычно назывется приоритетной очередью). Отсюда (а также потому что V.R. не смог полностью объяснить его работу), я и предположил, что его придумал не V.R., и сделал это давно. Пример использования - планировщики задач в Windows и UNIX/Linux, которые создают структуру данных для учёта выполняемых процессов с указанием их приоритетов. Мне кажется, она довольно точно описана V.R.-ом (только он не знает, что такое процесс и значит, не мог этого придумать).

    935. Rudolf, 17.01.2010 19:55
    Partisan
    Вообще-то, стек очередей - не полная чушь.

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

    936. Gipnoss, 17.01.2010 20:27
    Partisan
    Вообще-то, стек очередей - не полная чушь. Даже напротив. Используется кое-где (обычно назывется приоритетной очередью).
    Вот что называется приоритетной очередью: http://ru.wikipedia.org/wiki/%D0%9E%D1%87%D0%B5%D1%8…D1%82%D0%BE%D0%BC
    А то что описал Мастер - это больше похоже на полную чушь. Он описал две команды вставки т.е. две степени свободы и соответственно два приоритета, при условии, что внутреннее содержимое не анализируется(а оно не анализируется - "вдруг уже выполнилось"). Соответственно непонятно две вещи:1) почему "стек очередей" во множественном числе - операция вставки в очередь согласно Мастеру одна, а идентифицировать какую-то конкретную очередь мы не можем 2) полезность данной структуры представляется крайне сомнительной - выглядит как миксер событий.
    Я сильно подозреваю, что Мастер использует "стек очередей" в таком месте, в котором порядок выполнения на результат не влияет и соответственно ошибка в каких-то там приоритетах Мастером просто не обнаруживается.

    937. Rudolf, 17.01.2010 21:38
    Gipnoss
    сильно подозреваю, что Мастер использует "стек очередей" в таком месте

    Да вот пока доказательств использования-то нет, пока.

    938. loyolla, 18.01.2010 00:52
    На основании того, что Владимир расказал, и на основании тех фрагментов кода, которые он приводил вот здесь (http://forum.ixbt.com/print/0040/000339.html) , например, мне кажется, это работает следующим образом.

    Некий монитор/движок следит за состоянием вот этого пресловутого стека. Как только в в стеке появляется "очередь", движок начинает ее "выполнять". Очередь, насколько я понимаю, есть массив указателей на функции. Собственно задача движка - последовательно вызывать эти функции. Передаваемые параметры и возвращаемые значения следуют каким-то правилам размещения в памяти. То есть каждая последующая функция точно знает по каким адресам лежат ее параметры и по каким адресам положить результат своей работы. Или параметры также помещаются в очередь и функция берет их непосредственно из неё...

    Программирование в таком случае сводится к написанию функций, выполняющих собственно работу, что следует из этого фрагмента

    цитата (Vladimir Rybinkin):
    код:

    typedef int I16;
    typedef I16 TDP;
    typedef I16 near *IMD;
    typedef float near *FMD;
    typedef void near (*VMF) (TDP a);
    void test_int(TDP a) { printf("Test int = %d\n", *(IMD)a * 2); }
    VMF AI = (VMF)test_int;
    void test_float(TDP a) { printf("Test float = %f\n", *(FMD)a * 3.14); }
    VMF AF = (VMF)test_float;
    void main (void)
    {
    int pa = 1;
    float fa = 2.0;
    (*AI) ((TDP) &pa);
    (*AF) ((TDP) &fa);
    }



    и формирования очереди из этих функций. Это следует из
    цитата (Vladimir Rybinkin):
    код:

    static INT16 BegSK[] = // при старте программы
    {
    k_QuitAllMenu,
    #if DEMONST|MERCHANT
    k_OutNameProg, // выдача названия программы
    #endif // DEMONST|MERCHANT
    k_DrawDesktop, // прорисовка поверхности стола
    #if SYSBUS
    #if VME
    k_VME,K_QuitMenu,
    #endif // VME
    k_SS,C_T, // прорисовка окна системной шины и тест
    k_QuitMenu,
    #endif // SYSBUS
    #if FLASH|RAM
    k_Dump, // переход в окно дампа
    A_F10,k_RR,K_X,K_Down,K_Down,// и настройка параметров
    K_Esc,K_Y,K_Up, // его локальных меню
    K_Esc,K_RR,K_Up, // в соответствии с их
    K_Esc,K_AR,K_Up, // паспортными значениями
    #endif // FLASH|RAM
    k_QuitAllMenu,
    #if MOUSE // используется мышь
    K_ShowMouse, // включение курсора мыши
    #endif // MOUSE
    K_F10, // вход в главное меню
    K_Home,K_Enter, // вход в меню"тесты"
    k_EndSK // конец списка клавиш
    };



    Вот эта BegSK и есть "очередь"

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

    Как-то так...

    939. lvqcl, 18.01.2010 01:09
    loyolla
    То есть каждая последующая функция точно знает по каким адресам лежат ее параметры и по каким адресам положить результат своей работы.

    Глобальные переменные, может быть?


    Как-то так...
    Как кто-то сказал раньше, пытаться предсказать действия VR логически - невозможно.

    940. loyolla, 18.01.2010 01:29
    lvqcl

    пытаться предсказать действия VR логически - невозможно

    Я не предсказываю действия Я пытаюсь сложить пазл Подождем ответа Владимира. Может мои догадки верны. Буду гордится тогда

    941. Gipnoss, 18.01.2010 03:05
    loyolla
    Некий монитор/движок следит за состоянием вот этого пресловутого стека. Как только в в стеке появляется "очередь", движок начинает ее "выполнять". Очередь, насколько я понимаю, есть массив указателей на функции. Собственно задача движка - последовательно вызывать эти функции. Передаваемые параметры и возвращаемые значения следуют каким-то правилам размещения в памяти. То есть каждая последующая функция точно знает по каким адресам лежат ее параметры и по каким адресам положить результат своей работы. Или параметры также помещаются в очередь и функция берет их непосредственно из неё...
    И чем объясняется именно стек очередей, а не допустим очередь очередей? И где обещанные Мастером бесконечные приоритеты?

    942. loyolla, 18.01.2010 04:26
    Gipnoss
    И чем объясняется именно стек очередей,
    Не знаю Я же точно не знаю что там во внутренностях происходит. Возможно стек подходит больше. Может быть стек выбран, что бы избежать соблазна пихать что-нибудь в середину...

    бесконечные приоритеты
    Бесконечные приоритеты - тоже не знаю Но могу предположить что-то вроде : Может быть одним из аттрибутов очереди является значение приоритета. Ну вот обрабатывается очередь. Пользователь нажимает кнопку cancel. нажатие кнопки создает новую очередь и помещает ее в стек. Движок видит, что на вершине стека чего-то там появилось. Сравнивает значение приоритета текущей очереди и значение приоритета вновь появившейся. Если у вновь появившейся очереди приоритет выше - переключется на ее выполнение, если такой же - то очереди объединяются , а если меньше, то в конец текущей очереди добавляется команда, которая говорит, что такая-то очередь должна быть создана и помещена на вершину стека, если следующая очередь по приоритету ниже или точно такая же команда (команда о создании очереди с такими-то командами - рекурсивненько так ) должна быть добавлена в хвост следующей очереди... Таким образом очередь ниже по приоритету будет переписываться и переписываться в хвост более приоритетных очередей, до тех пор, пока ее приоритет не окажется наиболее высоким.

    943. Hedin, 18.01.2010 09:50
    loyolla
    Может мои догадки верны.

    Боюсь, сработает "принцип квантовой неопределенности ВР (http://forum.ixbt.com/topic.cgi?id=26:39751:780#780) " (c) dozen.

    944. dozen, 18.01.2010 14:53
    Partisan

    Вообще-то, стек очередей - не полная чушь. Даже напротив. Используется кое-где (обычно назывется приоритетной очередью).

    Map<Priority,Queue> -- я бы согласился, это очередь с приоритетами. Но не стек. В стеке по определению можно вести работу только с самой приоритетной очередью. Это означает, что пока не выедена самая приоритетная, даже положить в очередь низкоприоритетное событие нельзя.

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

    Добавление от 18.01.2010 15:00:

    loyolla

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

    Как уже сказали, Мастер одновременно утверждал, что у очередей есть приоритеты and знать их никому не надо.

    Твоя архитектура, конечно, интересна. Не удивлюсь, если ВР отныне будет выдавать её за свою.

    945. Rudolf, 18.01.2010 15:14
    dozen
    Это означает, что пока не выедена самая приоритетная, даже положить в очередь низкоприоритетное событие нельзя.

    Вот я и пытаюсь понять механизм положения очереди в стек. Мастер красиво расписал, что с точки зрения обработчика стека все просто. Он _ничего_ не знает о приоритетах и берет сверху, как и положено работать со стеком. Сверху - значит самая приоритетная очередь. Но как быть с наполнением стека? Мастер пока ругается и посылает всех.

    loyolla
    Бесконечные приоритеты - тоже не знаю
    Не совсем. Мастер сказал, что кол-во приоритетов ограничено размером стека очередей.

    Добавление от 18.01.2010 15:16:

    loyolla
    Может мои догадки верны. Буду гордится тогда

    Вряд ли кто-то сможет доказать потом, что было первее - курица или яйцо.

    946. loyolla, 18.01.2010 17:04
    dozen
    даже положить в очередь низкоприоритетное событие нельзя.
    Ну почему же нельзя? Можно. Добавление низкоприоритетной очереди : в конец текущей очереди (с более высоким приоритетом)добавлятеся команда на создание очереди с заданным приоритетом или добавляется команда на создание команды на создание очереди с заданным приоритетом.

    Rudolf
    что кол-во приоритетов ограничено размером стека очередей.
    Ну вроде бы так и получается. Количество приоритетов определяется глубиной стека. В стеке 3 очереди - значит 3 разных приоритета. 5 очередей - 5 разных приоритетов.

    947. dozen, 18.01.2010 19:07
    loyolla

    Добавление низкоприоритетной очереди : в конец текущей очереди (с более высоким приоритетом)

    Во-первых, это не стек очередей, а очередь их.
    Во-вторых, если в стеке есть очередь приоритета 2, а мы добавляем 3 в конец 1, то 3 обработается быстрее 2.
    В-третьих, добавляется логика "это объект или очередь"?
    В-четвертых, событие приоритета 1, добавленное после очереди приоритета 3, должно обработаться раньше её.

    Рыбинкин просто не обременяет себя общепринятой терминологией. Если он говорит "стек" -- это может быть что угодно -- список, массив, дека, ассоциативный массив, носки Шпеера. ВР такие мелочи бытия не интересуют, он смотрит на Большую Картину.

    948. loyolla, 18.01.2010 19:52
    dozen
    Во-первых, это не стек очередей, а очередь их.
    Почему очередь очередей? Все время речь идет о стеке очередей. Давайте исходить из этого.


    если в стеке есть очередь приоритета 2, а мы добавляем 3 в конец 1, то 3 обработается быстрее 2.
    На вершине стека всегда самая высокоприоритетная очередь.
    Приходит событие ( читай: новая очередь ). Она помещается на вершину стека. Движок видит, что появилась новая очередь.

    Если приоритет этой новой очереди выше, то начинает выполняться она.

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

    Если ниже, то в хвост этой,исполняемой сейчас, очереди добавлятся команда : Если приоритет очереди лежащей ниже на стеке меньше чем у этой, вновь пришедшей, очереди, то создать на вершине стека очередь с такими-то командами. Если приоритет очереди, лежащей ниже на стеке, выше, чем у этой, вновь пришедшей очереди, то в её хвост добавит команду : (Если приоритет очереди лежащей ниже на стеке меньше чем у этой, вновь пришедшей, очереди, то создать на вершине стека очередь с такими-то командами....)

    Таким образом эта очередь с более низким приоритетом будет мигрировать из очереди в очередь до тех пор, пока не встретится очередь ниже по приоритету.

    В-третьих, добавляется логика "это объект или очередь"?
    ну и что?

    В-четвертых, событие приоритета 1, добавленное после очереди приоритета 3, должно обработаться раньше её
    Так и будет.

    949. Rudolf, 18.01.2010 20:22
    Вы не забывайте, что Мастер знать ничего не желает о каких-то приоритетах. В этом-то вся изюминка.

    950. Partisan, 18.01.2010 20:44
    Щас пообъясняю с чудовищной силой.

    Во-первых слова V.R. надо уметь толковать. Это главное. Он путает сообщения с событиями, потоки с процессами, а может всё это со всем. Значит, надо сообразить, что имелось ввиду.
    Затем, не он это придумал. Действительно, применённый им термин "очередь сообщений" появился в Windows, а V.R. ещё не приступил к изучению программирования для Windows, Значит, услышал от кого то. А именно - автора этого "стека очередей". Но не может убедительно объяснить, как он работает. Затем, эта разработка старая - раз должна была имитировать многозадачность в MS-DOS (V.R. программирует на Borland C++ 3.1, значит в MS-DOS). Неизвестно и нельзя выяснить, было ли это доведенно до работающего состояния, но после перехода на Windows (или если угодно Linux) самостоятельная имитация многозадачности потеряла смысл.

    Как это должно работать. Заменим слово "сообщение" в описании фиговины на "процесс". Получаем описание работы диспетчера задач в Windows или UNIX/Linux. Вполне разумно. Только описание неполное - нужно добавить динамические приоритеты и квантование времени работы процессов. Иначе процесс с наибольшим приоритетом захапает всё процессорное время, и работа получится последовательной. Если V.R. не упомянул динамические приоритеты и квантование времени, то есть 2 варианта: 1)Это в фиговине есть, но V.R. недопонял 2) она недоделана. Нет данных, чтобы предпочесть один вариант.
    Как мы можем заменить "сообщения" на "процессы", чтобы "стек очередей" получил смысл. Предположим, мы хотим имитировать многозадачность. В MS-DOS можно загрузить в память несколько программ (например, как резидентные, но не только), остаётся организовать переключение между ними. Сигнал переключения означает, что процесс (ну, его дешёвая имитация например как резидентной программы) готов к выполнению. А приоритетная очередь процессов в диспетчере задач многозадачной ОС и содержит идентификаторы процессов, готовых к выполнению.
    Наконец, претензия - почему это стек. Неважно, приоритетную очередь можно запрограммировать разными способами.
    Вот, наобъяснял. И нет так уж это было сложно.

    951. rGlory, 18.01.2010 21:05
    dozen
    цитата:
    Рыбинкин просто не обременяет себя общепринятой терминологией. Если он говорит "стек" -- это может быть что угодно -- список, массив, дека, ассоциативный массив, носки Шпеера. ВР такие мелочи бытия не интересуют, он смотрит на Большую Картину.
    Ну так это же очень удобно. Когда его подлавливают на вранье (а это в последнее время случается все чаще) он говорит, что его неправильно поняли, поскольку мелкие людишки не в состоянии понять гения.

    952. theaspect, 18.01.2010 21:10
    loyolla в твоей трактовке, в конец текущей очереди можно добавить только одну команду на добавление очереди (когда очередь опустошается), в противном случае очередь еще будет не пуста. можно конечно опять добавить в конец, но в этом случае будет зацикливание, или в контексте более высокого приоритета попытаться выполнить команду с более низким приоритетом - бред, короче.

    953. lvqcl, 18.01.2010 21:11
    Partisan
    после перехода на Windows (или если угодно Linux) самостоятельная имитация многозадачности потеряла смысл.

    цитата:
    В Древней Индии обретение могущества и высокого статуса путём аскезы — Тапас было исключительной привилегией брахманов. Всем прочим варнам это запрещалось, а нарушители подвергались наказаниям. Аскеза считалась верным способом достичь сверхъестественных сил и даже обрести могущество, позволяющее встать вровень с богами. По легенде, бог богатства Кубера не родился богом, а стал им после многих лет сурового подвижничества. Индийские аскеты практиковали весьма экстремальные формы самоистязания — месяцами держали руки над головой или стояли на одной ноге

    954. loyolla, 18.01.2010 21:22
    theaspect
    в твоей трактовке, в конец текущей очереди можно добавить только одну команду на добавление очереди
    Это почему это? Ничего подобного. Сколько пришло дополнительных, столько и можно добавить. Никакого зацикливания не будет.

    955. dozen, 18.01.2010 21:25
    loyolla

    Почему очередь очередей? Все время речь идет о стеке очередей.

    А, не смог понять твой дизайн с первого раза.

    Однако, остается проблема -- скажем, в стеке лежат очереди P1, P2, P3. Приходит событие P3. В конец P1 кладем команду MakeP3, потом само событие P3. Потом приходит событие P1. Кладем туда же -- в конец.

    P1 исчерпывается до MakeP3.

    Проблема 1: Как MakeP3 узнать, до какого последующего события складывать P3 в новосозданную очередь P3bis?
    Проблема 2: Как MakeP3 узнать, что в том же стеке, под P2, уже лежит P3?

    Второе можно не узнавать, конечно, а просто скинуть себя в P2, со всеми событиями для P3. Но остается вопрос -- какие события после MakeP3 -- P3, а какие P1 (или P2). А также, как, собственно, добраться до P2, чтобы положить туда MakeP3? P1-то еще не исчерпалась...

    Добавление от 18.01.2010 21:27:

    loyolla
    Если приоритет очереди лежащей ниже на стеке меньше чем у этой, вновь пришедшей, очереди

    Напомню, что Мастер говорил, что возможности определять приоритет очереди и событий нет, и НЕ НАДО!

    956. theaspect, 18.01.2010 21:42
    подобную структуру может спасти наличие рядом со стеком очередей очереди с приоритетом, в которую будет сваливаться менее приоритетное задание, а после опустошение вершины стека, эта очередь будет просматриватся.
    но тут опять же вопрос: если есть очередь с приоритетом, нафиг стек очередей

    957. nenin, 18.01.2010 21:44
    цитата:
    Partisan:
    (V.R. программирует на Borland C++ 3.1, значит в MS-DOS)
    BC 3 поддерживал win16 точно. И win16s. Так что кто знает, кто знает...

    958. loyolla, 18.01.2010 22:17
    dozen
    theaspect

    Вот смотрите:

    На стеке лежат очереди Q(10){C1, C2, C3}, Q(6){C1,...}, Q(5){C1,...}. Цифра - приоритет. Выше цифра - выше приоритет. В фигурных скобках - команды которые надо выполнить во время обработки очереди.

    Исполняется Q(10). Приходит Q(11), Теперь стек содержит Q(11), Q(10), Q(6), Q(4). Выполнение переключается на Q(11). После выполнения Q(11), продолжается выполнение Q(10). Во время дальнейшего выполнения Q(10) приходит Q(3){С31, С32, С33}. Приоритет 3 меньше 10. В конец очереди Q10 добавляется команда о создании Q3. Теперь список команд для Q(10) выглядит как {С1, С2, С3... A1=(если приоритет нежележащей очереди ( которая в этом примере Q(6) ) ниже чем 3, то тогда создать на стеке очередь с командами {С31, С32, С33}. если приоритет нижележащей очереди выше, то в ее конец добавить команду A1=(если приоритет нежележащей очереди ( которая в этом примере Q(5) ) ниже чем 3, то....). Дальше продолжается выполнение Q10. Пока она выполняется приходит Q(7) и Q(4) . Абсолютно тоже самое повторяется для этих двух очередей и выполнение Q(10) продолжется. Список команд для Q(10) теперь выглядит так {С1,С2,С3,...А1(createQ(3)), А2(createQ(7)), А3(createQ(4))}. После выполнения всех <С>, начинают выполнятся <А>. Первая А - это создание очереди с приоритетом 3. Нижележащая очередь имеет приоритет 6. Следовательно команда о создании очереди помещается в ее конец. Следующая команда А2 - создание очереди с приоритетом 7. Приоритет нижележащей очереди 6. Создаем на вершине стека очередь и передаем ей выполнение. Выполняется очередь с приоритетом 7, которая лежит на вершине стека. После завершения ее выполнения, управление возвращается в Q(10) и выполняется А3...

    Напомню, что Мастер говорил, что возможности определять приоритет очереди и событий нет
    Да? Тогда сдаюсь

    Добавление от 18.01.2010 22:20:

    theaspect
    но тут опять же вопрос: если есть очередь с приоритетом, нафиг стек очередей

    Надеюсь Вы не меня спрашиваете. Я не знаю Я пытаюсь тут связать до кучи два вышеприведенных фрагмента кода и стек очередей. Получается, прямо скажем, не важно

    959. Gipnoss, 19.01.2010 01:55
    loyolla
    Выше цифра - выше приоритет.
    Мастер презирает цифры, стек очередей выше этого

    960. femidav, 19.01.2010 02:00
    theaspect
    но тут опять же вопрос: если есть очередь с приоритетом, нафиг стек очередей
    Элементарно, Ватсон! Очередь с приоритетом Мастер просто не осилил. Стек написать на порядок проще.

    961. vertur, 19.01.2010 02:54
    Т.е. получается что программа на СИНТе, это нечто такое своебразное, типа "байт кода", тока более высокого уровня. А движек этого дела - просто "виртуальная машина". Возможно что и очередь этих указателей на процедуры формируется именно из аналога "байт кода".

    Собственно "стек очередей" это его встроеный планировщик "а-ля винда".

    Мастер изобрел жабу ?

    962. Vladimir Rybinkin, 19.01.2010 10:18
    Что-то вы разговорились не в меру, господа. Нужно сеова делать паузы...

    lvqcl
    цитата:
    Остальное комментировать не буду.
    А что, этот удивительный случай когда-то имел место?

    Partisan
    цитата:
    Сам Юрий Хоттабович Шпеер...
    Лапочка, чем болтать языком попусту - дайте определение потока/процесса, и дело с концом - скоко нужно повторять, чтобы дошло? И при чем здесь ваще болтовня про MS-DOS?
    цитата:
    Небольшая неточность. V.R. договорился сам с собой. Программисты обычно не путают понятия "события" и "сообщения".
    А это Вы у нынешнего модератора спросите - он при том "договоре" присутствовал. Кстати, Вам-то откуда знать, что там "обычно не путают программисты"?
    цитата:
    Небольшое преувеличение + небольшая неточность. Это были не консольные приложения для Windows, а всего лишь программы для MS-DOS, запускаемые из Windows.
    А вот это чистейший идиотизм. Кстати, откуда дровишки? Вы опять соврали?

    dozen
    цитата:
    что, обидно? а вот багу твою я увидел сразу, "невооруженным, тыскызыть, глазом" (С) -- и проверил на практике.
    Что там может быть "обидного"? Повторяю: все, что я хотел сказать про твой тогдашний идиотизм, я сказал ИМЕННО ТОГДА. Поройся в архивах.
    цитата:
    то есть, чтобы собрать с sourceforge.net какую-нибудь утилиту на 20 строчек, я должен стащить всё полное дерево СИНТ (то есть весь sourceforge, в данном случае)? иначе же "максимального использования" не будет?!
    Во дурень-то... И, кстати, что за "полное дерево" такое объявилось? Сразу в глаз не дашь - термин считаем устоявшимся? Нет, милый, "полное дерево СИНТ" - это бред сивой кобылы. Дерево - это ты, лапочка.
    цитата:
    Да, помню. Утерся, заявил, что big endian тебе не нужен, потом опомнился, и с тех пор обвиняешь линия защиты -- "а судьи кто?!".
    А ты ссылочку дай в подтвереждение, лапочка. Чтобы все увидели, ЧТО ИМЕННО я там "заявил".
    цитата:
    Дык ржач же!
    Ну да, ну да... По очередному кругу пошел. Почитай, я там где-то выше тоже все сказал насчет вашего идиотского "ржача". Да и в других ветках говорил. Плюй в глаза...

    Rudolf
    цитата:
    В оборонке и т.д. платят мало
    Когда я туда пришел, там было заметно лучше, чем вне "оборонки и т.д.". Мощнейший конкурс, рабочие совершенно фантастической квалификации, конструктора, технологи, электронщики, программисты... Это потом уже, когда нас обозвали каким-то "федеральным центром", завели собственную аспирантуру... Тогда примерно (лет через 15-20) школа и исчезла. Хотя по сравнению с вами наверняка и сейчас там одна сплошная элита.
    цитата:
    Да, там есть маленький примерчик, правда ничего не доказывающий.
    А я никому ничего и не доказывал. Тоже мне, судьи...
    цитата:
    Я имел ввиду работающий код.
    Там приведен как раз "работающий код", лапочка. А "хоть что-то где-то работающее" - специально для вас, убогих, лежало много лет, и называлось testpo.exe - я ж писал. Чо, через 10 лет заинтересовались, милые вы мои?
    цитата:
    Тесты какие-то таинственные упоминаются через слово.
    "Таинственные" они только для постеров Вашего уровня. Выше по ветке в аттачах покопайтесь - авось поубавится "таинственности".
    цитата:
    А где можно взять исходники и запустить, проверить?
    КАКИЕ такие "исходники"? Что Вы, родной, "проверять" вздумали?
    цитата:
    Есть хоть одно работающее приложение в исходниках?
    А Вы почитайте хотя бы то, десятилетнее, чо там dozen наковырял. Мож, хоть что-то соображать начнете...
    цитата:
    я даже не буду придираться, что Вы "не имеете разницы" между событиями и сообщениями, пусть.
    Не, зачем же - давайте "придираться". Эй, хто там "имеет разницу", поднимите руки! Озвучить слабо?
    цитата:
    Володя, ты зарываешь свой талант в землю.
    Что тебе, мальчик, знать о моем таланте? А про "магов" лучше песни петь где-нить в другом месте - не кажется?

    Partisan
    цитата:
    Бортовой ОС он занимался очень давно
    Совершенно верно. Информатор, блин! Усе-то он знает, падла! Уволился я оттуда весной 2000. "Занимался", соответственно, еще раньше.
    цитата:
    Методом дедукции можно установить...
    Мож, лучше не надо, а?
    цитата:
    но в ней V.R. делал не многозадачность, раз до сих пор не понимает, что это такое.
    Совершенно верно. Многозадачность там делали Фаниль с Володей. А что, здесь появились те, кто "понимают, что это такое"? В жисть бы не подумал. Ну дык уперед!

    dozen
    цитата:
    Хорошая аналогия, кстати.
    Конечно, конечно. В этой зоне вы можете спокойно трепать языком, без риска получить по морде. Но конфа называется все же "Программирование" (про тему ветки я просто молчу).

    Rudolf
    цитата:
    стек очередей увидеть в _работоспособных_ исходниках, например.
    Не, это не лечится...

    Partisan
    цитата:
    Вообще-то, стек очередей - не полная чушь. Даже напротив. Используется кое-где (обычно назывется приоритетной очередью).
    Спасибо, я в курсе (по первому предложению). А вот последнее - как раз ПОЛНАЯ чушь.
    цитата:
    а также потому что V.R. не смог полностью объяснить его работу
    Я уж многократно вопрошал: ЧТО ВАМ, БАРАНАМ, ЕЩЕ НАДОБНО, ЧТОБЫ ХОТЬ ЧТО-НИТЬ ПРОРУБИТЬ?!
    цитата:
    я и предположил...
    Ага. Токо этого нам и не хватало, родной!
    цитата:
    Пример использования - планировщики задач в Windows и UNIX/Linux, которые создают структуру данных для учёта выполняемых процессов с указанием их приоритетов.
    Господи, ну что за болван! Я ж русским языком писал, и не раз: При этом сервис получается максимально упрощенным для программиста, поскольку позволяет управлять приоритетом обработки событий, вообще не указывая никаких приоритетов, и ничего не программируя в операторном стиле. Не лечится...

    Rudolf
    цитата:
    я просто пытался и пытаюсь добиться от Мастера объяснения - как работает именно его стек очередей
    См. выше (про болванов и баранов).

    Gipnoss
    цитата:
    А то что описал Мастер - это больше похоже на полную чушь.
    Я уже писал: Нормальному программисту хватило бы одного названия "стек очередей", чтобы понять, как он работает. ЭТОЙ же аудитории, видимо, лучше ваще не дергаться.
    цитата:
    почему "стек очередей" во множественном числе
    Я ж русским языком писал: стеков может быть МНОГО.
    цитата:
    операция вставки в очередь согласно Мастеру одна
    Нет, "согласно Мастеру" - НИ ОДНОЙ.
    цитата:
    полезность данной структуры представляется крайне сомнительной
    Дык... не хило бы вначале врубиться, что это такое.
    цитата:
    Я сильно подозреваю, что Мастер использует "стек очередей" в таком месте, в котором порядок выполнения на результат не влияет
    А я "сильно подозреваю", что он ИСКЛЮЧИТЕЛЬНО важен - это ж ПРОГРАММА! Сколько можно повторять одно и то же? Не лечится...

    loyolla
    цитата:
    Некий монитор/движок следит за состоянием вот этого пресловутого стека.
    Умница! Даже с названием:
    код:

    void __Monitor ()
    // Обработка стека очередей объектов
    // ВХОД: нет (текущий адрес в стеке очередей объектов)
    // ВЫХОД: нет

    цитата:
    Очередь, насколько я понимаю, есть массив указателей на функции.
    Нет. Очередь бывает не только методов (хотя и они довольно редко являются функциями). Программист "имеет право" ничего не знать ни о классе объекта, ни о методах реализации требуемых ему действий, ни даже об их наличии. Объект зарегистрирован в системе - пусть система с ним и разбирается. Она сама должна знать, что это такое: файл, база данных, массив ОЗУ, функция, строка событий или соединение с Интернет. Она сама должна знать, как выполнить требования программиста. Она сама должна корректно обработать нештатную ситуацию.
    цитата:
    Собственно задача движка - последовательно вызывать эти функции.
    Совершенно верно (с заменой на "методы"). Передаваемые параметры (или указатель на них) могут лежать, например, прямо в очереди. Возвращаемые значения отправляются на аккумулятор.
    цитата:
    То есть каждая последующая функция точно знает по каким адресам лежат ее параметры и по каким адресам положить результат своей работы.
    Совершенно верно (опять же, кроме слова "функция").
    цитата:
    Или параметры также помещаются в очередь и функция берет их непосредственно из неё...
    ... или из другого стека очередей (активных/пассивных данных, например).
    цитата:
    Программирование в таком случае сводится к написанию функций
    НЕТ!!! ОЧЕРЕДЕЙ! То бишь ДАННЫХ! А это что, МОЙ код?! Очень похоже, но не помню, чтобы я такое писал... Токо при чем здесь стек очередей? Там всего лишь вызов функции по указателю.
    цитата:
    и формирования очереди из этих функций.
    Ах, вона что! Нет, у меня в очередях функций нет, и не было НИКОГДА.
    цитата:
    Вот эта BegSK и есть "очередь"
    Да, только она СОБЫТИЙ. Это просто набор клавиш (в т.ч. виртуальных вроде k_DrawDesktop). События эти по очереди попадают на обработку к текущему обработчику. Если реакция на событие сама есть очередь (как в примере с синхронным листанием дампов), то она попадает в стек. Например, C_T (Ctrl+T), насколько я помню, ВСЕГДА была вложенной группой событий (это тест текущего окна [меню], включая все вложенные).
    цитата:
    Результатом выполнения очереди может быть другая очередь, которая помещается в стек.
    Точнее, любого элемента этой очереди. Господи, как же приятно такое почитать среди всего этого словесного поноса! Я отвечаю по ходу - оказывается, не нужно. Все правильно, за исключением:

    1. "При появлении на вершине стека новой очереди" (на логическом уровне это просто CALL или PUSH) просто изменяется указатель текущей очереди.

    2. "Состояние регистров" нам по барабану: очереди - это ж ДАННЫЕ.

    3. "Какие-то действия пользователя" - это скорее прерывания, и они могут, например, даже сбросить стек очередей.

    4. "Набор управляющих флагов" называется командами (вроде ABORT или EXIT).

    5. "В очереди могут быть команды, заставляющие движок переключаться на выполнение другого СТЕКА очередей" - это технология сопрограмм.
    цитата:
    Вполне себе многопоточность.
    Угу.

    lvqcl
    цитата:
    Глобальные переменные, может быть?
    Может быть...

    loyolla
    цитата:
    Может мои догадки верны. Буду гордится тогда
    Не знаю, как насчет "гордиться", но я лично в восхищении. После стольких страниц полного бреда услышать слова Человека Разумного...

    Gipnoss
    цитата:
    И чем объясняется именно стек очередей, а не допустим очередь очередей?
    Тем же, чем программный стек, а не "допустим очередь". Задолбался повторять: PUSH - это аналог CALL. Кстати, "очередь очередей" и "очередь" - синонимы.
    цитата:
    И где обещанные Мастером бесконечные приоритеты?
    А и в самом деле - где? Чего это такого "Мастер обещал"? О бесконечной тупости - да, помню, говорил...

    loyolla
    цитата:
    Я же точно не знаю что там во внутренностях происходит.
    Да ничего там страшного не происходит.
    код:

    typedef struct _TS // структура данных стека
    { // объектов, событий, данных, внешних
    I16 StackSize; // размер стека
    I16 iStack; // текущий индекс стека
    TDP AStack; // адрес начала массива элементов стека
    }TS; // _TS

    typedef struct _TEQS // структура элемента данных стека очередей
    { // объектов, событий, данных, внешних
    TDP Addr; // текущий указатель в текущей очереди
    TDP LastAddr; // адрес предыдущего объекта текущей очереди
    TDP QueueAddr; // адрес начала текущей очереди
    }TEQS; // _TEQS

    Два последних указателя - чтобы иметь возможность REPEAT/RETRY.
    цитата:
    Может быть стек выбран, что бы избежать соблазна пихать что-нибудь в середину...
    Дык... "пихать что-нибудь в середину" даже очереди "соблазн возникает" разве что у идиотов вроде Gipnoss.
    цитата:
    Может быть одним из аттрибутов очереди является значение приоритета.
    Угу. Ее положение в стеке.
    цитата:
    нажатие кнопки создает новую очередь и помещает ее в стек.
    Фигушки! "Кнопка" попадает на текущий обработчик, и уж что там за объект реакции прицеплен, то и произойдет.
    цитата:
    Движок видит...
    Не, там все НАМНОГО проще. Стек - это всего лишь массив указателей (курсоров) в этих очередях.

    963. Rudolf, 19.01.2010 14:37
    Vladimir Rybinkin
    Ясно, значит исходников мы не увидим.

    Очередь бывает не только методов (хотя и они довольно редко являются функциями).

    То есть другими словами, метод, это чаще всего не функция. Нро иногда - функция. Так?

    964. theaspect, 19.01.2010 16:36
    331x450, 37,5Kb

    965. lvqcl, 19.01.2010 17:19
    Vladimir Rybinkin
    lvqcl
    Глобальные переменные, может быть?


    Может быть...


    Это была небольшая издёвка, честно говоря.

    theaspect

    http://lurkmore.ru/Галоперидол#.D0.9F.D1.80.D0.B8.D0…D0.B5.D1.80.D1.8B

    966. rGlory, 19.01.2010 19:36
    lvqcl
    О!
    цитата:
    В целях пропаганды и просто доброго совета полезно спрашивать: «Опять Арипипразол не выпил?» Арипипразол является самым совершенным лекарством от шизофрении, о существовании которого пациентам нужно сообщить и внедрить во всемирное применение. Пока не будет изобретено новое лекарство, ещё более совершенное.
    Владимир Владимирович, слышали?

    967. dozen, 20.01.2010 00:40
    Vladimir Rybinkin

    опять простынку написал? всё бойкий, как в 15 лет? угомонись уже, жизнь прошла, пора сидеть на завалинке, курить беломор...

    968. rGlory, 20.01.2010 03:14
    dozen
    Злой ты... Тут ВР понимаешь молодость вспомнил, с симпатичной девушкой чуть ли не на равных (как ему кажется, на самом деле он loyolla в подметки не годится ) о программированиях беседы ведет, а тут ты, с беломором и лавочкой.

    969. Partisan, 20.01.2010 06:52
    Vladimir Rybinkin
    Лапочка, чем болтать языком попусту - дайте определение потока/процесса, и дело с концом - скоко нужно повторять, чтобы дошло? И при чем здесь ваще болтовня про MS-DOS?

    Я не даю определение потока с воспитательной целью - чтоб вы начали что-то читать. Определение пргоцесса привёл. Болтовня про MS DOS притом, что вы больше ни в чём не умеете программировать.

    970. Vladimir Rybinkin, 20.01.2010 09:25
    dozen
    цитата:
    В стеке по определению можно вести работу только с самой приоритетной очередью.
    Ух ты! Браво!
    цитата:
    Это означает, что пока не выедена самая приоритетная, даже положить в очередь низкоприоритетное событие нельзя.
    Положить-то можно - как не фиг делать. Но ЗАЧЕМ?
    цитата:
    Но практической пользы от этого я вижу мало-мало.
    Ну вот, токо похвалишь... Про вызовы подпрограмм слышал когда? Там тоже "практической пользы видишь мало-мало"?
    цитата:
    Как уже сказали, Мастер одновременно утверждал, что у очередей есть приоритеты and знать их никому не надо.
    Умница! Усвоил, наконец?
    цитата:
    Не удивлюсь, если ВР отныне будет выдавать её за свою.
    Не боись, у меня и своих "архитектур" хватает.

    Rudolf
    цитата:
    Но как быть с наполнением стека? Мастер пока ругается и посылает всех.
    М-д-а-а-а... А что ж еще делать остается?
    цитата:
    Мастер сказал, что кол-во приоритетов ограничено размером стека очередей.
    Да, было. Теоретически, правда, его можно динамически изменять, но это мне лично не нужно.

    loyolla
    цитата:
    Ну почему же нельзя? Можно.
    Конечно, можно. Но нынешним программерам... Можно даже проще: в конец той очереди, которой хочется, прилепить желаемую очередь в хвост. Только это не нужно: основное назначение стека очередей - это ПРОГРАММА. Стало быть, очереди уже готовы, и ждут исполнения. Иное (вроде действий юзера) - экзотика.

    dozen
    цитата:
    Во-первых, это не стек очередей, а очередь их.
    Серьезно?!
    цитата:
    Во-вторых, если в стеке есть очередь приоритета 2, а мы добавляем 3 в конец 1...
    Эка тебя понесло... Милок, попробуй уяснить, что "стек очередей" - это не обязательно "стек очередей событий". Вдруг поможет...
    цитата:
    Рыбинкин просто не обременяет себя общепринятой терминологией. Если он говорит "стек" -- это может быть что угодно -- список, массив, дека, ассоциативный массив, носки Шпеера. ВР такие мелочи бытия не интересуют, он смотрит на Большую Картину.
    Забавные у тебя догадки... Уж скоко страниц очередной идиот норовит чо-то куда-то в середину засунуть, но "что угодно" под стеком понимаю, дескать, все-таки именно я. Однако! Не имей сто рублей, а имей наглую рожу. А если все же предположить, что стек - это именно стек? Который LIFO? Вдруг тогда проще будет для понимания?

    loyolla
    цитата:
    Приходит событие ( читай: новая очередь ).
    Не-а. Событие ведь не только событие от юзера, чаще всего у меня события приходят как ОПЕРАТОРЫ ПРОГРАММЫ (та самая BegSK). И... забудьте Вы, наконец, о приоритетах - они НА ФИГ НЕ НУЖНЫ! И сразу никто никуда не будет "мигрировать".

    Rudolf
    цитата:
    В этом-то вся изюминка.
    Где вы их находите... Там все просто, как трусы по рубль сорок(с).

    Partisan
    цитата:
    Во-первых слова V.R. надо уметь толковать.
    Браво! Ну?!.. Эй! А где ж обещанные "толкования"? Одна болтовня ни о чем...
    цитата:
    V.R. программирует на Borland C++ 3.1, значит в MS-DOS
    Во дубина-то! Я ж писал: на SINT писались программы, работающие вообще без ОС, а также их загрузчик, отладчик...

    Из моего давнего разговора с ndemia (по-моему, он на этот форум даже еще не пришел):

    Он: Что мне за радость узнать версию компилятора? Цель должна быть в том, чтобы конкретный разработчик конкретного модуля мог пользоваться тем компилятором, которым он пользуется. А потом кто-то мог перетранслировать его другим. А exe всё равно линковался бы и работал. А вот этого эти ребята (производители компиляторов) нам всё равно не дадут.

    Я: А куда они на фиг денутся! Ведь константы нужны только транслятору и нескольком базовым функциям, которые от него зависимы. Транслятор сам докладывает, кто он такой и тем самым участвует в определении констант. Прикладник включает include.h, и даже не подозревает об этих строках. Часто ли мы смотрим, скажем, stdio.h?
    цитата:
    Как это должно работать.
    Вах! Неужто дождался?!
    цитата:
    Заменим слово "сообщение" в описании фиговины на "процесс". Получаем описание работы диспетчера задач в Windows или UNIX/Linux.
    ЧЕГО?! Ах, вот оно что: "толкования" будут даны для какого-то сраного "диспетчера задач в Windows или UNIX/Linux"? Ну, мож, кому и интересно... но почему В МОЕЙ ветке?
    цитата:
    Предположим, мы хотим имитировать многозадачность.
    Господи, НУ ДОСТАЛ!!! Парсинг с интерпретацией у них разные вещи, а имитация с эмуляцией... поди, разберись. Скажите, сударь, какому кретину может понадобиться "имитировать многозадачность"?! Назовите его по имени. Особенно в том идиотском "определении" процесса от Рихтера. Его зовут ОС [Y/N]? Еще 04.09.2009 09:31 я объяснял такому же dozen, что если число процессоров меньше числа процессов, то "имитация" НЕИЗБЕЖНА. Прости, Господи! Умнице dozen, лапочке dozen - только в такие моменты и осознаешь, что пропасть между бедностью и нищетой намного больше, чем между бедностью и богатством. А ОС как раз еще один "лишний" процесс, лишняя задача. Так вот, "имитирует многозадачность" вовсе не ОС (которая сама по себе может быть туевой хучей "задач"), а специальный механизм, которые называется "прерывания". Другое дело, что процесс по имени MS-DOS может никогда не получить управление, если его явно не пнуть ногой под зад. А в Windows "имитация многозадачности" есть ВСЕГДА - даже при одной прикладной задаче, даже вообще без них. И в моих программах ТКПА эта самая "имитация" была ВСЕГДА, хотя MS-DOS я обычно вообще не трогал: в окне системной шины бегают какие-то нули и единички, в окне дампа тоже чего-то мельтешит, а юзер (электронщик) при этом, допустим, какой-нить "начальный тест встроенного контроля" из меню гоняет.
    цитата:
    В MS-DOS можно загрузить в память несколько программ (например, как резидентные, но не только), остаётся организовать переключение между ними.
    Ну дык и занимайтесь этим онанизмом В СВОЕЙ ветке!

    rGlory
    цитата:
    Ну так это же очень удобно. Когда его подлавливают на вранье (а это в последнее время случается все чаще)...
    Вот же трепло вонючее! А ну-ка, данные на бочку! Хотя бы те, где я хоть раз "говорил, что его неправильно поняли, поскольку мелкие людишки не в состоянии понять гения". Ничтожество!

    lvqcl
    цитата:
    В Древней Индии...
    Во-во. Понеслась душа в рай...

    loyolla
    цитата:
    Никакого зацикливания не будет.
    Не будет. Но лучше про все эти глупости с приоритетами просто забыть.

    dozen
    цитата:
    Однако, остается проблема...
    Во, блин, Gipnoss номер два... Если уж неймется, так и кладите событие P3 В ХВОСТ ОЧЕРЕДИ P3, а событие P1 В ХВОСТ ОЧЕРЕДИ P1, а не занимайтесь онанизмом с "командой MakeP3". Я лично вообще не занимался этими глупостями с "добавлениями событий". И все эти ваши "проблемы Как MakeP3 узнать" мне лично по барабану - НИКАК!
    цитата:
    Напомню, что Мастер говорил, что возможности определять приоритет очереди и событий нет, и НЕ НАДО!
    Возможность - есть, но когда же допрете, что действительно НЕ НАДО!!!

    theaspect
    цитата:
    но тут опять же вопрос: если есть очередь с приоритетом, нафиг стек очередей
    Браво! А мож, лучше наоборот: если есть стек очередей...?

    loyolla
    цитата:
    Цифра - приоритет.
    ИНДЕКС В СТЕКЕ И ЕСТЬ "ПРИОРИТЕТ", ЧЕРТ ПОБЕРИ!
    цитата:
    Приходит Q(11)
    ... и становится САМОЙ приоритетной очередью. Любая иная возня НЕ ЕСТЬ стек очередей. Это хип, список - что угодно, но НЕ стек. Забудьте Вы о приоритетах! Напомню, что "Мастер говорил, что возможности определять приоритет очереди и событий нет". В SINT нет, но только потому, что это НА ФИГ НЕ НУЖНО. При желании посмотреть в любой момент состояние стека и очередей в нем... какие проблемы-то?
    цитата:
    Я пытаюсь тут связать до кучи два вышеприведенных фрагмента кода и стек очередей. Получается, прямо скажем, не важно.
    Естественно. А Вы просто забейте на "вышеприведенные фрагменты".

    Gipnoss
    цитата:
    Мастер презирает цифры, стек очередей выше этого
    Разумеется.

    femidav
    цитата:
    Очередь с приоритетом Мастер просто не осилил. Стек написать на порядок проще.
    Не вижу разницы: и то, и другое пишется элементарно. Просто стек - востребован, а "очередь с приоритетом" - нет.

    vertur
    цитата:
    Т.е. получается что программа на СИНТе, это нечто такое своебразное, типа "байт кода", тока более высокого уровня. А движек этого дела - просто "виртуальная машина".
    Умница! Однако "программа на СИНТе" не ограничивается ТОЛЬКО этим. Хошь писать в операторном стиле - пожалуйста, хошь программировать в объектах или событиях - пожалуйста.
    цитата:
    Возможно что и очередь этих указателей на процедуры формируется именно из аналога "байт кода".
    Невозможно. Нет у меня никакой "очереди этих указателей на процедуры".
    цитата:
    Собственно "стек очередей" это его встроеный планировщик "а-ля винда".
    И так можно. В моем определении стек очередей [методов] - это процесс. Только понятие "стек очередей" гораздо шире, гибче, мощнее, чем какой-то сраный "планировщик а-ля винда".
    цитата:
    Мастер изобрел жабу ?
    Нет. Это Maxim Kizub изобретал. А я как раз с ним не соглашался.

    Добавление от 20.01.2010 09:29:

    Rudolf

    цитата:
    Ясно, значит исходников мы не увидим.
    Каких таких "исходников"? 4 теста выложены, и все как раз в "исходниках".
    цитата:
    То есть другими словами, метод, это чаще всего не функция. Нро иногда - функция. Так?
    Так.

    lvqcl
    цитата:
    Это была небольшая издёвка, честно говоря.
    Это тоже.

    rGlory+ dozen + Partisan
    Правильно. Вот такими разговорами и занимайтесь. "С воспитательной целью".

    971. Rudolf, 20.01.2010 10:37
    Vladimir Rybinkin
    4 теста выложены, и все как раз в "исходниках".

    Где? На Вашей странице уже ничего нет, видимо за неуплату.

    972. SERGEY_BIG, 20.01.2010 11:03
    ! Vladimir Rybinkin
    Рискуя вызвать гнев Мастера, задам еретический вопрос: кто же этот загадочный и таинственный Юрий Шпеер, так часто поминаемый всуе? Немногочисленные результаты поиска так или иначе связаны с Мастером.

    973. femidav, 20.01.2010 11:10
    SERGEY_BIG
    кто же этот загадочный и таинственный Юрий Шпеер, так часто поминаемый всуе?
    Charles Hernan

    974. theaspect, 20.01.2010 11:18
    Vladimir Rybinkin
    ИНДЕКС В СТЕКЕ И ЕСТЬ "ПРИОРИТЕТ", ЧЕРТ ПОБЕРИ!

    жабобыдлокодерам этого не понять: как можно обратиться к середине стека. Для Мастера стек - это всего лишь указатель, относительно которого можно лезть вглубь

    975. Gipnoss, 20.01.2010 12:53
    Vladimir Rybinkin
    возможности определять приоритет очереди и событий нет
    Вот это как раз заметно невооруженным глазом.

    При желании посмотреть в любой момент состояние стека и очередей в нем... какие проблемы-то?
    Понадобилось всего 7 страниц и 3 недели, чтобы до Мастера дошло, что "при желании" нужно будет сделать поиск по содержимому. Линейный. Это всегда работает очень быстро. Хотя ранее Мастер утверждал, что внутреннее состояние его вообще не интересует:
    Vladimir Rybinkin 29.12.2009 16:55
    4. "Какие в стеке лежат элементы" мы не только "не знаем", но и ЗНАТЬ НЕ ХОТИМ.

    Gipnoss 28.12.2009 12:13
    если хотим вставить - почем у нас операции поиска в стеке и вставки в середину стека? Кстати поиск будет вестись по какому критерию? Приоритет же не задается, а какие в стеке лежат элементы мы не знаем - как указать положение относительно элементов которых не знаешь?
    Итак линейный(!) поиск Мастер признал.
    Интересно сколько пройдет времени, чтобы Мастер признал оставшиеся 2 вещи:
    1) что поиск без критериев поиска вести нельзя(правда анализ содержимого - это в принципе уже критерий, но тогда нужно будет иметь как минимум таблицу сравнения "вставляемого" (раз уж Мастер упирает на то, что это может быть что угодно, будем называть его так)).
    2) что даже вставка в хвост в найденной очереди не позволит корректно установить приоритет "вставляемого", из чего следует, что корректно установить приоритет без вставки в середину(!) очереди или стека невозможно. Именно поэтому(плюс поиск) очередь с приоритетами делают кучами или сбалансированными деревьями.

    976. zzf, 20.01.2010 16:45
    Gipnoss
    Итак линейный(!) поиск Мастер признал.

    Из чего это вдруг следует?

    977. Gipnoss, 20.01.2010 16:56
    zzf
    Из чего это вдруг следует?
    Эмм ладно, просто поиск. Я с утра забыл про дихотомию
    Правда все это счастье(рабочий поиск и дихотомия) будет только при условии существования полноценной таблицы сравнения "вставляемого" друг с другом - фактически указания приоритетов, от которого Мастер отказался.
    Но вставить то в любом случае нельзя. Точнее можно один раз. Второй раз может требовать вставки в середину очереди.

    978. rGlory, 20.01.2010 17:19
    Господа, все таки основная проблема, что из-за присущей Мастеру рассеяности (свойственной многим гениям) и из-за того, что долгое время Мастеру пришлось общаться с представителями homo sapiens только с помощью перфокарт (а они как известно имели неприятную особенность перемешиваться) вокабуляр Мастера несколько перемешался, и очень часто он использует некоторые термины, не известные обычным человекам, а также использует некоторые термины совершенно в другом смысле. Я тут по собственным наблюдениям составил некоторый словарь терминов ВР, который не в коей мере не претендует на полноту или на полную корректность. Исправления и дополнения привествуются. Итак:

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

    Итак бараны, наш дурень и не думал кого-то оскорбить или обидеть, он хочел быть хотя бы лапочкой среди нас, а в перспективе конечно же хотел бы стать треплом вонючим, но у него не всегда получается...
    За это сообщение сказали спасибо: штышпре

    979. zzf, 20.01.2010 19:05
    rGlory


    дополнение:
    меня это не интересует — ниaсилил

    980. dozen, 20.01.2010 19:38
    Короче, если я опять правильно понял ВР, то "стек очередей" просто имитирует поведение обычного стека вызовов (да-да, указатель на который в регистре SP).

    При вызове подпрограммы на вершину кладется очередной stack frame -- очередь с параметрами для процедуры. Исчерпали -- возврат.

    Естественно, никаких приоритетов в таком варианте нет, точнее, как и сказал Мастер -- индекс (позиция в стеке от вершины) и есть приоритет, и он бывает 1-й и единственный, остальные ждут.

    Сложно сказать, чем такая система удобнее varargs. Возможно, varargs не поддерживались где-то, или Мастер их не любил за что-то.

    981. zzf, 20.01.2010 20:01
    dozen

    То есть, Мастер изобрёл вызов функций и автоматические переменные?

    982. Partisan, 20.01.2010 20:24

    Vladimir Rybinkin
    24.11.2009:

    ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
    Юра Шпеер обещал сюда заглянуть!

    ТРЕПЕЩИТЕ, ГАДЫ!!!



    Долго ещё трепещать то? Я усердно трепещу, и уже утомился. Где любимец публики Юрий Шпеер? Где Юрий Хоттабович?

    983. zzf, 20.01.2010 20:30
    Partisan
    Где любимец публики Юрий Шпеер?

    Обещано было только "заглянуть". Про "написать" ничего нет. Надо полагать, Юрий Хоттабович уже сюда заглянумши и можно больше не трепещать.

    984. Vladimir Rybinkin, 22.01.2010 09:40
    Rudolf
    цитата:
    Где? На Вашей странице уже ничего нет, видимо за неуплату.
    В ЭТОЙ ВЕТКЕ, БОЛВАН!

    SERGEY_BIG
    цитата:
    кто же этот загадочный и таинственный Юрий Шпеер, так часто поминаемый всуе?
    Это Программист.

    theaspect
    цитата:
    Для Мастера стек - это всего лишь указатель, относительно которого можно лезть вглубь
    А для какого идиота иначе? Про регистр SP кто-нить что-нить слыхивал?

    Gipnoss
    цитата:
    Понадобилось всего 7 страниц и 3 недели, чтобы до Мастера дошло, что "при желании" нужно будет сделать поиск по содержимому.
    До Мастера это "дошло" много лет назад. Как и то, что до сих пор никак не дойдет до вашей толпы: это НА ФИГ НЕ НУЖНО! НА ФИГ НЕ НУЖНО! НА ФИГ НЕ НУЖНО! Скоко раз повторить?
    цитата:
    Итак линейный(!) поиск Мастер признал.
    Идиот!
    цитата:
    Интересно сколько пройдет времени, чтобы Мастер признал оставшиеся 2 вещи:
    5 секунд.

    1) "Поиском" могут при желании заниматься бараны вроде Вас. Крайне желательно - не в этой ветке.

    2) "Вставкой в хвост в найденной очереди" могут... см. пункт первый.

    rGlory
    цитата:
    Я тут по собственным наблюдениям составил некоторый словарь терминов ВР
    Умница! Наконец-то Expert нашел себе занятие по силам. Ах, нет - и здесь не справился: "трепло вонючее" - вполне терпимо, а вот "траекторный шаблон" лучше было не трогать...

    dozen
    цитата:
    Короче, если я опять правильно понял ВР, то "стек очередей" просто имитирует поведение обычного стека вызовов (да-да, указатель на который в регистре SP).
    Господи, что за болван! Это ты, родной, слишком буквально понял, что PUSH есть аналог CALL... Ну ничего, все-таки шаг вперед. Глядишь, лет через... нет, боюсь загадывать.
    цитата:
    При вызове подпрограммы на вершину кладется очередной stack frame -- очередь с параметрами для процедуры. Исчерпали -- возврат.
    Не, безнадежно... не в годах надо считать...
    цитата:
    индекс (позиция в стеке от вершины) и есть приоритет, и он бывает 1-й и единственный, остальные ждут.
    Умница! Здесь как раз допустима аналогия с программным стеком - все верхние процедуры (как и очереди) именно ждут.
    цитата:
    Сложно сказать, чем такая система удобнее varargs. Возможно, varargs не поддерживались где-то, или Мастер их не любил за что-то.
    varargs, лапочка - это совсем другая песня. Где они там "не поддерживались", и за что "Мастер их не любил" я здесь когда-то обсуждал - с программистами (если не ошибаюсь, Ваня там тоже был). Если интересно ройся в архивах. В SINT же вызов любых функций с любыми аргументами осуществляется уже приведенным в этой ветке оператором, о котором я писал Ване 26.08.2009 09:01: Надо же так обосрать один из мощнейших операторов, да еще из самого сердца SINT...

    zzf
    цитата:
    То есть, Мастер изобрёл вызов функций и автоматические переменные?
    Что-то Вы, лапочка, все более активно всплываете... Как там Великая и Ужасная задача о разбиении поживает?

    Partisan
    цитата:
    Долго ещё трепещать то?
    Не знаю. Юрка тогда сказал, что он уезжает в Таиланд, а оттуда... во Вьетнам, что ли... А там море, чайки, тайки... Ждите - на моей памяти еще не было случая, чтобы Юрий Анатольевич что-то обещал, и не сделал.

    zzf
    цитата:
    Обещано было только "заглянуть". Про "написать" ничего нет.
    Не только, не только. Я ему, кстати, сказал, что его анонсировал (про "ТРЕПЕЩИТЕ, ГАДЫ!!!").

    Все это я написал вчера днем. А вечером Юрка мне позвонил. Сказал, что приехал, что его тошнит от разговоров о программировании. Я сказал, что разговорами о программировании здесь и не пахнет, что его здесь любят и ждут, что уже какой-то хмырь под его именем сюда залезал... Короче, мож и зайдет. Не сегодня-завтра.

    985. SERGEY_BIG, 22.01.2010 10:38
    Vladimir Rybinkin
    Это Программист.
    Странно, не владеть синтаксисом своего языка программирования - сейчас модно? Или после построения SINT всё остальное было выброшено на помойку за ненадобностью?

    986. Rudolf, 22.01.2010 12:39
    Vladimir Rybinkin
    В ЭТОЙ ВЕТКЕ, БОЛВАН!

    Опять отмазки, психопатия, истеричные вопли. Дайте ссылку на эти тесты. Или Вы неспособны выложить немножко файлов в инете на каком-нить бесплатном сервере, а не разбрасывать их по форумам? Выложите их в одном месте все и закройте этот вопрос раз и навсегда, гражданин Мастер.

    987. dozen, 22.01.2010 14:42
    Vladimir Rybinkin


    Для Мастера стек - это всего лишь указатель, относительно которого можно лезть вглубь
    А для какого идиота иначе? Про регистр SP кто-нить что-нить слыхивал?


    Стек как структура данных (http://en.wikipedia.org/wiki/Stack_%28data_structure%29) .

    Стек в плане стека исполнения потока -- называется стеком только для простоты. На самом деле это массив с публичным(!) указателем. Сделай указатель непубличным -- и получается чистый стек, где доступны только push(), pop() и опционально top().

    Впрочем, пейсателям UI для шпееровских программ допустимо этого не знать.

    Глядишь, лет через... нет, боюсь загадывать.

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

    988. Rudolf, 23.01.2010 18:02

    Как все сходится, Ашманов просто провидец какой-то:

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

    За это сообщение сказали спасибо: dozen

    989. dozen, 23.01.2010 18:57
    Rudolf
    Ашманов просто провидец какой-то:

    да никакой не провидец, просто поведение таких Мастеров всегда одинаково -- много слов, мало дела.

    990. Rudolf, 23.01.2010 19:25
    dozen
    Ну я ж в шутку. А по субжу, я все-таки не теряю надежды. Хотя бы с малого начнем. Пусть все тесты (по терминологии Мастера) окажутся в одном, общеизвестном месте, для начала. Как грится, надо систематизировать то, что уже имеем.

    991. dozen, 23.01.2010 22:03
    Rudolf

    Пусть все тесты (по терминологии Мастера) окажутся в одном, общеизвестном месте,

    Так они уже там. /dev/null

    992. Rudolf, 23.01.2010 22:21
    dozen

    А теперь мы, руками Мастера, их достанем оттуда и положим у всех на виду, я надеюсь.

    993. rGlory, 23.01.2010 22:27
    dozen
    цитата:
    А теперь мы, руками Мастера, их достанем оттуда и положим у всех на виду, я надеюсь.
    Боюсь из того места их даже руками Мастера не достать.
    "Ну что, Данила-Мастер, не выходит каменный цветок?"

    994. dozen, 24.01.2010 01:53
    Rudolf

    их достанем оттуда и положим у всех на виду

    это будет неэстетично.

    995. Rudolf, 24.01.2010 14:07
    dozen

    Это будет отличный пример самопожертвования своими эстетическими предпочтениями во имя науки.

    996. ErmIg, 25.01.2010 11:02
    Реальное воплощение мощи траекторных шаблонов:

    http://www.michaelv.org/

    997. Vladimir Rybinkin, 25.01.2010 18:01
    SERGEY_BIG
    цитата:
    Странно, не владеть синтаксисом своего языка программирования - сейчас модно? Или после построения SINT всё остальное было выброшено на помойку за ненадобностью?
    И к чему весь этот словопомол? Как же удачно я дал по рогам с "рынком" - тишь, да гладь...

    Rudolf
    цитата:
    Опять отмазки, психопатия, истеричные вопли. Дайте ссылку на эти тесты.
    Ха-ха-ха! Я уже говорил: по 10 раз ленивым неучам я повторять одно и то же не намерен.
    цитата:
    Или Вы неспособны выложить немножко файлов в инете на каком-нить бесплатном сервере, а не разбрасывать их по форумам?
    Способен, лапочка, способен. Много лет они там и лежали - и никто не рыпался, никто не интересовался. Кто ж знал, что появится такой крутейший Rudolf, который затребует себе эти тексты. Ну, кроме меня - я тыщу раз тыкал в морду распальцованным неучам именно текстами - я даже знаю все их жалкие постинги назубок (включая те, что еще не написаны).
    цитата:
    Выложите их в одном месте все и закройте этот вопрос раз и навсегда, гражданин Мастер.
    Они "выложены" в этой ветке минимум 5 раз, "гражданин Неуч". И все до единого - "в одном месте", как архивы. А вот "вопрос раз и навсегда" почему-то не закрыт. Более того, Вы отнюдь не первый такой "умный": jooher еще 24.08.2009 16:13 страдал: Можно поросить Вас таки в одном архиве выложить все файлы требуемые для того, чтобы что-то работало? В самой свежей Вашей версии. Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях. У меня есть некоторый опыт по этой теме. Более того, Витька 26.08.2009 21:47 ЯВНО давал ссылку, а я 07.09.2009 09:25 писал: Когда до него дошло, наконец, что все его просьбы удовлетворены задолго до их появления... Однако проходит совсем немного времени, и выползает очередной Rudolf, которому вновь понадобилось "немножко файлов". Вы тупы и однообразны, господа - оно и понятно: мозгов нет, мыслей тем более, словарный запас минимальный...

    dozen
    цитата:
    Стек как структура данных.
    Так посмотри хоть СВОЮ ССЫЛКУ, дубина! Господи, скоко ж можно всякой херни написать про простейшую конструкцию! Даже там, где говорится о казино или верховой езде - и то первым значением идет LIFO, о чем я вам тыщу раз долдонил в этой ветке. Там же все разжевано до уровня детсада: A stack can have any abstract data type as an element, but is characterized by only two fundamental operations: push and pop. И даже - явно специально для экспертов: Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю.
    цитата:
    Стек в плане стека исполнения потока -- называется стеком только для простоты. На самом деле...
    Мне АБСОЛЮТНО НАСРАТЬ, чо там "называется стеком только для простоты". Если он говорит "стек" -- это может быть что угодно -- список, массив, дека, ассоциативный массив, носки Шпеера - это ты ПРО СЕБЯ писал (и про тебе подобных)? Повторяю в стотысячный раз: для НОРМАЛЬНЫХ людей стек - это LIFO.
    цитата:
    Впрочем, пейсателям UI для шпееровских программ допустимо этого не знать.
    О! Всегда приятно увидеть подобную реакцию. Лапочка, "UI для шпееровских программ" это далеко не самая простая вещь (и даже не самая простая у самих "шпееровских программ"). Юра, смотри - это, между прочим, не просто Expert, а еще и из лучших! Так что "разговоров о программировании" можешь не опасаться.
    цитата:
    Старческое слабоумие -- одна из вещей, которые меня пугают.
    Лапочка, "старческое слабоумие" - это ДЛЯ МЕНЯ еще может служить каким-то оправданием. А вот ТВОЕЙ тупости НИКАКИХ оправданий нет, и быть не может.

    998. Rudolf, 25.01.2010 18:28

    ErmIg
    Реальное воплощение мощи траекторных шаблонов:

    http://www.michaelv.org/


    Жесть просто. Великолепно.

    Добавление от 25.01.2010 18:34:

    Vladimir Rybinkin
    И все до единого - "в одном месте", как архивы.

    Так дайте ж ссылку, Мастер. Где это одно место? Вы истратили кучу нервов, понаписали кучу слов, вместо того, чтоб просто дать ссылку.

    Интернет, это такая удобная вещь, где не надо писать вот аткую ахинею:
    jooher еще 24.08.2009 16:13 страдал: Можно поросить Вас таки в одном архиве выложить все файлы требуемые для того, чтобы что-то работало? В самой свежей Вашей версии. Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях. У меня есть некоторый опыт по этой теме. Более того, Витька 26.08.2009 21:47 ЯВНО давал ссылку, а я 07.09.2009 09:25 писал: Когда до него дошло, наконец, что все его просьбы удовлетворены задолго

    Можно просто давать ссылки.

    999. SERGEY_BIG, 26.01.2010 10:52
    Vladimir Rybinkin
    Ха-ха-ха! Словопомол тут не при чём, всё тебе уже разжевывалось ранее, ковыряй ветку!
    Насчёт каких-то там законов же что тебе не пиши, получишь в ответ очередную порцию словесного поноса, так что до получения конкретных ответов на поставленные тебе вопросы будешь именоваться мной "доктором околовсяческих наук" (по А. Райкину, если вдруг склероз)

    1000. Vladimir Rybinkin, 26.01.2010 12:05
    Rudolf
    А мне лень ленивым неучам чего-то там "давать". Потрудитесь сами.

    SERGEY_BIG
    Мне совсем не интересно "ковырять ветку" по поводу разного бреда - к тому же, не имеющего отношения к теме. Пронумеруйте "вопросы", лапочка - пущай народ посмотрит. А уж как там меня будет "именовать" разная шушера... порезвитесь, ребятки.

    1001. Rudolf, 26.01.2010 13:44
    Vladimir Rybinkin
    А мне лень ленивым неучам чего-то там "давать". Потрудитесь сами.

    То есть не можете дать ссылку на свое же творение, рекламой которого тут занимаетесь? Это, мягко говоря, странно. Если кто-то что-то предлагает, то на нем и только на нем лежит бремя доказательства полезности новшества. Это, собственно, аксиома.

    1002. dozen, 26.01.2010 14:51
    Vladimir Rybinkin

    Сам себе противоречишь:

    1:

    Для Мастера стек - это всего лишь указатель, относительно которого можно лезть вглубь
    А для какого идиота иначе? Про регистр SP кто-нить что-нить слыхивал?


    2:
    Там же все разжевано до уровня детсада: A stack can have any abstract data type as an element, but is characterized by only two fundamental operations: push and pop.

    Теперь найди у push и pop возможность залезть ниже вершины (что позволяет SP).

    Таким образом, твой "стек" -- это не стек. Подозреваю, что и твои сети -- не сети, деревья -- не деревья, дом -- не дом, а сын -- не сын.

    1003. zzf, 26.01.2010 16:55
    dozen
    Таким образом, твой "стек" -- это не стек. Подозреваю, что и твои сети -- не сети, деревья -- не деревья, дом -- не дом, а сын -- не сын.

    А Шпеер — это не Шпеер.

    Vladimir Rybinkin
    Короче, мож и зайдет. Не сегодня-завтра.

    "Завтра" уже наступило пару дней назад. Где обещанное?

    1004. rGlory, 26.01.2010 17:01
    dozen
    цитата:
    Таким образом, твой "стек" -- это не стек. Подозреваю, что и твои сети -- не сети, деревья -- не деревья, дом -- не дом, а сын -- не сын.
    Ну ты проснулся, я уже тут словарь начал составлять бестолковых слов и выражений Владимира Рыбинкина...

    1005. dozen, 26.01.2010 20:29
    rGlory
    я уже тут словарь начал составлять

    Помоги лучше Сизифу.

    1006. Vladimir Rybinkin, 28.01.2010 08:35
    Rudolf
    цитата:
    То есть не можете дать ссылку на свое же творение, рекламой которого тут занимаетесь?
    Я уже дал все, что нужно. Кому интересно - найдет. Ваше же мнение меня не интересует ни в малейшей степени.

    dozen
    цитата:
    Сам себе противоречишь:
    Мозги включи. Ах, да...

    zzf
    цитата:
    "Завтра" уже наступило пару дней назад. Где обещанное?
    Не знаю, я с ним после этого не разговаривал. "Обещанное", блин! Это он МНЕ обещал, и не всякой тявкающей шушере пристойно вякать чего-то по этому поводу. Возможно, заглянул - посмотрел на это на все... Так как там с задачей о разбиении? Нокаут?

    1007. Yak, 28.01.2010 08:55
    Vladimir Rybinkin
    Возможно, заглянул - посмотрел на это на все...
    Ну, Вы же ТРЕПЕТ присутствующих ГАДОВ обещали...
    Или все должны были трепетать от одного молчаливого посещения?
    Сурово

    1008. Gipnoss, 28.01.2010 11:47

    Vladimir Rybinkin
    Возможно, заглянул - посмотрел на это на все...
    И ему стало за Вас бесконечно стыдно?
    За это сообщение сказали спасибо: zzf

    1009. SERGEY_BIG, 28.01.2010 12:43
    Vladimir Rybinkin
    Это он МНЕ обещал,
    Если он тебе это обещал, доктор ты наш околовсяческих наук, то не фиг устраивать тут пьесы "В ожидании Годо", а то гады уже устали трепетать.
    За это сообщение сказали спасибо: zzf

    1010. штышпре, 28.01.2010 14:49
    ...1001-й пост. Вот долго эта сказочка ещё тянуться будет? Репертуар становится совсем однообразным.

    Граждане, неужели многосерийная выставка достижений одного оригинального докладчика уже никого не утомляет? Я понимаю, что давать ответ на столь очевидные нелепицы нужно, но IMHO участие в этой бесконечной перебранке никого не делает лучше. Не проще прикрыть тему и делать это впредь сразу же? Товарищ слил всё, что только можно, это уже чистый маразм. Я не указываю -- просто интересуюсь, из соображений оптимизации: зачем вы тратите время и энергию? Ради удовлетворения амбиций выброшенного на обочину человека? Общаться ему хочется, на коне себя почуять снова (хоть в собственных глазах) -- вот и вся хитрость нашего Мастера.

    Шпеера, видимо, так и не дождёмся. Да и не под силу ни одному человеку прикрыть собой всё то, что Вова тут нагородил. Ни к чему это всё IMHO. Не интересно и не спортивно.
    За это сообщение сказали спасибо: zzf

    1011. dozen, 28.01.2010 14:58
    Vladimir Rybinkin

    Это он МНЕ обещал

    Да никто тебе ничего не обещал -- велика честь. Кто тебе будет чего обещать? Быть тебе чем-то обязанным? Чтобы ты втянул в какую-нибудь очередную (словесную) авантюру, и потом пожизненно все потешались "а, это тот, который с Рыбинкиным комми доказывал!"?

    Дураков нет.

    Шпеер небось фигурально похлопал по плечу -- "ну, ты там держись, Володька!" -- и пошел по своим, вполне разумным, делам.
    За это сообщение сказали спасибо: zzf

    1012. Чи-Кен-Сан, 28.01.2010 15:19
    Владимиру Рыбинкину, пароходу и программисту
    (под впечатлением от прочитанного)

    Эй, программисты, кричите ура!
    Машина клиента налажена
    Теперь нам доступна любая дыра
    И даже замочная скважина

    1013. rGlory, 28.01.2010 17:27
    штышпре
    цитата:
    Граждане, неужели многосерийная выставка достижений одного оригинального докладчика уже никого не утомляет?
    Да утомляет конечно, особенно утомляют обзывательства ВР, чванливое хамство которого ничем не обосновано (вернее оное хамства призвано закрасить отсуствие основания). Просто в предыдущих темах ВР можно было почерпнуть много интересного и полезного, не от самого ВР к сожалению, а от разных людей, которых те топики раскручивали на сообщения. Но такого становится все меньше, по видимости по причине усугубления проблем с душевным здоровьем Мастера.
    За это сообщение сказали спасибо: zzf

    1014. Vladimir Rybinkin, 29.01.2010 10:13
    Yak
    цитата:
    Ну, Вы же ТРЕПЕТ присутствующих ГАДОВ обещали...
    Обещал?! Я СОВЕТОВАЛ.
    цитата:
    Или все должны были трепетать от одного молчаливого посещения?
    Нет, не молчаливого. Достаточног обозначить свое присутствие.

    SERGEY_BIG
    цитата:
    Если он тебе это обещал, доктор ты наш околовсяческих наук, то не фиг устраивать тут пьесы "В ожидании Годо", а то гады уже устали трепетать.
    Что мне делать - я как-нить САМ разберусь. А гадам потрепетать полезно.

    штышпре
    цитата:
    Репертуар становится совсем однообразным.
    Ха-ха-ха! А он что, когда-то был разнообразным?
    цитата:
    Граждане, неужели многосерийная выставка достижений одного оригинального докладчика уже никого не утомляет?
    А что ж вы, мои милые, до сих пор пасетесь в этой ветке? Я когда еще говорил: валили бы вы отседова.
    цитата:
    Не проще прикрыть тему и делать это впредь сразу же?
    Умница! Других решений нет?
    цитата:
    Товарищ слил всё, что только можно, это уже чистый маразм.
    Огласите весь список, пжалста.
    цитата:
    зачем вы тратите время и энергию?
    Это Вы о себе?
    цитата:
    Ради удовлетворения амбиций выброшенного на обочину человека? Общаться ему хочется, на коне себя почуять снова (хоть в собственных глазах) -- вот и вся хитрость нашего Мастера.
    Так ВАЛИТЕ ОТСЮДА, лапочка!
    цитата:
    Шпеера, видимо, так и не дождёмся.
    Возможно. Но мне лично кажется - дождемся.
    цитата:
    Да и не под силу ни одному человеку прикрыть собой всё то, что Вова тут нагородил.
    Огласите весь список, пжалста.
    цитата:
    Ни к чему это всё IMHO. Не интересно и не спортивно.
    Так ВАЛИТЕ ОТСЮДА, лапочка!

    dozen
    цитата:
    Дураков нет.
    Пока ты здесь...

    rGlory
    цитата:
    Просто в предыдущих темах ВР можно было почерпнуть много интересного и полезного, не от самого ВР к сожалению, а от разных людей, которых те топики раскручивали на сообщения.
    Огласите - даже не список - ХОТЬ ЧТО-ТО!

    1015. штышпре, 29.01.2010 13:41
    rGlory
    Просто в предыдущих темах ВР можно было почерпнуть много интересного и полезного, не от самого ВР к сожалению, а от разных людей, которых те топики раскручивали на сообщения.
    Да помню-помню, уж не первый год здесь. Вот хотя бы в "сортировке" (http://forum.ixbt.com/topic.cgi?id=26:38445) занятная получилась дискуссия. Тузик, пожирающий программу Рыбинкина, тузик в Монте-Карло Ещё куча вариантов сортировок на разных языках. Занятно. Но, как справедливо отмечалось, всё это не VR делал.

    Вот мне подумалось: тут хватает разумных и образованных людей, которым есть, чем поделиться с общественностью, и не только в формате ответа на узкоспецифичный вопрос, но и в формате раскрытия более широкой темы. Интерес к подобным темам (алгоритмы,структуры данных, поиск оптимальных решений и т.п.) наблюдается стабильный. Если единственная причина, по которой тут крутятся подобные темы от нашего Мастера, заключается именно в удовлетворении этой потребности, то почему бы не сделать более мирную и альтернативу? Конечно, количество таких тем не может быть слишком большим. Но почему бы не забрасывать, скажем, несколько раз в год подобные темы из спортивного интереса, но уже самостоятельно? В таком количестве форум это вполне выдерживает. Ну что-то вроде "Вот алгоритм, говорят, что самый оптимальный для моих условий. Бьюсь в раздумьях." Было бы неплохо IMHO. Только уже без Мастера. Поскольку если раньше его пассажи можно было игнорировать, местами даже ухмыльнуться, но теперь здесь уже висит атмосфера невольного издевательства над старым и впавшим в маразм человеком.

    1016. dozen, 29.01.2010 14:30
    штышпре

    Ну что-то вроде "Вот алгоритм, говорят, что самый оптимальный для моих условий. Бьюсь в раздумьях."

    Люди так переодически и делают. Но поскольку общаются вменяемые люди, знающие половину ответа, то общение получается коротким и по делу, и тема приходит к завершению за несколько сообщений.

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

    1017. штышпре, 29.01.2010 14:52
    dozen
    и тема приходит к завершению за несколько сообщений.
    Малозаметное обсуждение получается, не так просто вспомнить и найти потом. Да и не привлекает такого интереса. Темы ВР запоминаются прежде всего продолжительностью и накалом. Предлагал я спровоцировать более длительное и разветвлённое обсуждение, масштаб побольше взять. Или, как вариант, последовательно подклеивать схожие по тематике темы в одну. Эдакое живое продолжение FAQ. Это возможно не для всех тем, конечно. Но по мотивам обсуждения тем ВР просто напрашивается подобная "живая" тема об алгоритмах и их реализациях.

    1018. dozen, 29.01.2010 15:07
    штышпре

    Предлагал я спровоцировать более длительное и разветвлённое обсуждение, масштаб побольше взять.

    Это всё требует упорной работы, то есть определенной пассионарности. Откуда её в технаре взять? Только когда приходит такой вот торсионщик, и вскипает разум возмущенный.

    1019. ivanhoe, 29.01.2010 15:16
    Vladimir Rybinkin

    Я как-то уже потерял нить обсуждения. Так что решили: заставляете работать машину клиента или оставите ее в покое?

    штышпре

    Ну в общем оно так и бывает обычно, малозаметно. Альтернативная версия темы про сортировку:
    цитата:

    A: Привет всем, хочу сортировать записи такого-то вида и в таком-то количестве с такими-то ограничениями и пр. Как это лучше сделать?
    B: A, Посмотри алгоритм XYZ, описан в статье такой-то.
    A: О, спасибо, то что надо!
    А у Владимира, что не тема, так на вселенский масштаб поднята, полет, экспрессия. Вот всем и интересно и запоминается и пр.

    1020. SERGEY_BIG, 29.01.2010 15:37
    штышпре
    Малозаметное обсуждение получается, не так просто вспомнить и найти потом.
    Потому что ставятся глобальные задачи, интересные сообществу. Методика проста - сообщается о некоем прорыве, при этом деталей никаких не сообщается. Конкретных результатов нет или они крайне запутаны и трудны для понимания.
    Сидите вы, к примеру, за решением какой-то сложной задачи, бьётесь, бьётесь, а мимо проходящий человек хлопает тебя по плечу и говорит: "Вася, ну что же ты сидишь. Ответ-то вот он!" Естественно, тебе интересно - как? Вот тут и начинаются чудеса. Описывать их не буду - противно.

    1021. rGlory, 29.01.2010 20:50
    Vladimir Rybinkin
    цитата:
    Огласите - даже не список - ХОТЬ ЧТО-ТО!
    И это говорит человек, который на подобные просьбы от других заявляет: "я не собираюсь копаться в тех топиках и искать для всяких, ищите сами". Ха три раза.

    1022. Vladimir Rybinkin, 01.02.2010 09:14
    ivanhoe
    цитата:
    Я как-то уже потерял нить обсуждения. Так что решили: заставляете работать машину клиента или оставите ее в покое?
    И не первый раз. Я даже говорил, что Вы больше ее и не найдете. Я ее УЖЕ заставил, а в покое НИКОГДА оставлять не собирался.

    rGlory
    цитата:
    Ха три раза.
    Естественно. Лживые заявления подкрепить нечем. Ну, ничего - я сам попробую...

    All
    А не посмотреть ли нам статистику ветки, которая, как известно, знает все? Случайных посетителей (менее трех постов) отбросим. Это: anuta, CrazyElk, Denis_03, dima.yegorov, dinozaur, Karroplan, Konstantin Mironovich, Naveen, nenin, Nick, psg, Skip, Tasman, trash1, Zafod B., Джамаль, Чи-Кен-Сан. Тогда: всего посетителей: 30, из них 5 (16.67%) "экспертов" (интересно, скоко их всего). Всего постов (на 29.01.2010 10:13) 970, из них моих 106 (10.93%) - меньше, чем у jooher, и ПОЧТИ ВДВОЕ меньше, чем у dozen - охренеть! Еще в "болтунах" (процент постов больше "положенных" 3.33 ) ivanhoe, rGlory, Partisan, theaspect, zzf, Gipnoss (в порядке убывания), и к ним стремительно приближается Rudolf. Что же касается объема - только четверо наговорили больше среднего: почти половина (48.95%) - мои постинги (с аттачами, видимо, половина и будет). Ну и еще "есть что сказать" dozen (11.97%), ivanhoe (11.79%) и jooher (7.20%). Средний размер поста превышает 1К у меня, Витьки, ivanhoe и loyolla.

    Все это совсем грубая статистика, а вот О ЧЕМ там говорилось... Мои постинги и смотреть нечего - их информационная ценность бесконечно велика: судя по скорости усваиваемости технологии стека очередей, еще на пару-тройку поколений хватит. Кроме того, я непогрешим, и ошибок принципиально не делаю - кого хошь спроси в этой ветке - кажный подтвердит. А вот остальные... кто-то, помнится, говорил, что находит в моих ветках для себя чо-то жутко ценное, но как раз не у меня, а у кого-то еще - вдруг правда? Кстати, ходить сюда можно только на вышеперечисленных "болтунов": остальные - в пределах статистической погрешности. Посему посмотрим на тексты следующим образом: оставим все, что хоть как-нибудь, хоть случайно относится к программированию, а среди этой группы - к теме ветки. Из оставшегося посмотрим на то, что говорят обо мне, любимом - ноблес оближ: эта тема явно для местной шатии-братии в разы популярнее собственно программирования - Partisan аж анекдоты слагать начал. А всякие там разговоры про "жесткость и кривизну членов" или вопли "Жжошь, сцуко!" отправляем на помойку, шоб не мешали статистике. Ну, мож, еще какая группа вылезет.

    О, сразу же! Вопросы. Редкий посетитель понимает что-либо, не переспросив раз десять. Ну, многие при этом делают вид, что вопросы-де риторические, ответы-де очевидные - да кто ж им поверит? На помойку! Ну и всякие там уточнения-согласования туда же - бум считать, что народ у нас умный, с первого раза все понимает. Так, сразу же отвалились еще пятеро: evilbloodydemon, Dilon, ErmIg, lvqcl, SanRemo. Постов же после первой отбраковки осталось 225 общим весом чуть меньше 45К. Прям шагреневая кожа!

    Вначале все-таки о теме моей ветки. Многие все же проверяли(!) работоспособность моих тестов - от случайных (отфильтрованных) посетителей ветки до таких мэтров, как dozen. Довольно долго радостно обсасывали ситуацию "не работает". Но тут появился Витька (oно работает, как один проект), а затем поправивший код(!) Chainik (как минимум, работает под Firefox 3.0.11 и Opera 10.0.4585), и... горячее желание "увидеть уже что-то законченное и работающее" срочно пропало - навсегда. Однако наплыв посетителей не уменьшается. Почему? Попробуем разобраться...

    Во-первых, это им ой как нелегко дается - они упорно, героически продираются через гигантские простыни словодроческой ахинеи, корпускулярно-волновой дебилизм Мастера, принцип квантовой неопределенности ВР, наиболее(!) худший случай - эстет-нигилист типа ВР, преодолевая страх: пуще огня(!) мы боимся(!) Вашей свежей мысли (к счастью, мои мысли свежими назвать сложно), преодолевая усталость (утомляет конечно, особенно утомляют обзывательства ВР, чванливое хамство которого ничем не обосновано), преодолевая отвращение (Это тоже маразм и ВР-овщина. Описывать не буду - противно), преодолевая стыд (грешно смеяться над больными, конечно, но... как-то и перехотелось ВР дразнить... какой-то он на фотках... грех такого обижать... неловко уже наблюдать как над пожилым человеком прикалывается вся ветка), вздыхая с облегчением при моих банах (надеюсь, это сентябрь 2012-го)...

    Ради чего весь этот массовый героизм, господа?! Зачем вы тратите время и энергию? Ради удовлетворения амбиций выброшенного на обочину человека? Удивляет наивная настойчивость людей, пытающихся что-то ему объяснить. Я только терпению участников удивляюсь. Ну любопытно иногда поприкалываться, но всему же есть предел, да? Ни к чему это всё IMHO. Не интересно и не спортивно. Предлагаю более не кормить - ты его не только подкармливаешь, но и на обед приглашаешь, неумно. Не проще прикрыть тему и делать это впредь сразу же? Вообще наверно темы ВР надо автоматом при создании в флейм перемещать.

    Какие же веские причины могут вдохновлять народ на эти подвиги? Есть причины, и немало: я насчитал 6 групп таких причин. Насчитал бы и больше, но не смог - хохотал.

    Я давно знаю, ЧТО происходит, когда убираешь мусор, и сближаются разные во времени высказывания одного и того же чела, я давно знаю, о чем вы говорите, и какое хотите создать впечатление от своих разговоров - в массе это видно мгновенно, но в ТАКОЙ массе... Маленький пример от jooher:
    23.08.2009 18:56 Можно какие нибудь ссылочки о чем речь вообще?
    23.08.2009 21:26 А что таки было тут интересного по сабжу?
    24.08.2009 16:02 Я готов попробовать поправить ваш код, чтобы он работал в современных реалиях.
    25.08.2009 14:34 Я тут прошелся по темам ВР... Вообще наверно темы ВР надо автоматом при создании в флейм перемещать.
    25.08.2009 16:30 Удивляет наивная настойчивость людей, пытающихся что-то ему объяснить. (интересно, рискнет этот хмырь назвать кого-нить по имени? )
    В настоящий момент чувак обошел по числу постингов в моей ветке САМОГО МЕНЯ!!!


    Одна из распространенных версий - ко мне ходят не на меня, а... далее несколько туманно (на первый взгляд), но статистикой четко выявляется (как и то, что версия насквозь гнилая - даже самый щадящий подсчет дает никак не больше четверти объема всех разговоров "не обо мне"). Зато материал там действительно безумно интересный. Конечно, я не собираюсь сталкивать вас лбами друг с другом или с самим собой, и я не в состоянии охватить всего, но самые драгоценные жемчужины постараюсь сохранить, и представить на блюдечке с голубой каемочкой (ща их у меня там 33 штуки). Но это позже. А пока - просто несколько фраз - почти случайных, еще не разобранных по темем. Анонс, так сказать...

    Поэтому тебя лично имеет смысл только игнорировать.

    Да ВР всё равно все игнорируют. У нас тут сопутствующие темы пошли.

    Ему лично уже ничего не объясняют, даже если это выглядит так. ( )

    Вот грибы - это тема. Чем херней заниматься.

    Твои темы шаблоном генерить можно.

    Ох бл, зачем я опять ввязываюсь...

    Все твои посты - одни сплошные подарки - от первого до последнего слова.

    Вы - миф, легенда! И народная молва приписывает вам новые подвиги.

    Я тут по собственным наблюдениям составил некоторый словарь терминов ВР (нет, чтобы мысли [i]разумных и образованных людей, которым есть, чем поделиться с общественностью
    - на такое у нас "ха три раза" - а зря, там все куда забавнее).

    Напомнило бессмертное: Иеремия, Остап Бендер, Выбегалло, Маг с такой-то Шиной, волшебная страна хоббитов и эльфов...

    Короче говоря, я УЖЕ получил большое удовольствие, но материал еще не разобран - продолжение следует.
    [/i]
    Всегда Ваш: Бредогенератор, Гений, Дебилушко, Мастер, Повелитель Алгоритмов, ... Владимир Рыбинкин.

    1023. rGlory, 01.02.2010 09:51
    Vladimir Rybinkin
    цитата:
    Естественно. Лживые заявления подкрепить нечем.
    Вау, Рыбинкин недвусмысленно признался, что когда он отправлял других искать готовые тесты, мол они выложены, это были лживые заявления, которые подкрепить нечем. Занятно

    цитата:
    Мои постинги и смотреть нечего - их информационная ценность бесконечно велика: судя по скорости усваиваемости технологии стека очередей, еще на пару-тройку поколений хватит. Кроме того, я непогрешим, и ошибок принципиально не делаю - кого хошь спроси в этой ветке - кажный подтвердит.
    Тю, докатились, унылого тролля нам тут только не хватало, это даже не смешно
    За это сообщение сказали спасибо: zzf

    1024. ErmIg, 01.02.2010 11:07
    Возможно это не мое дело, но по моему сугубо личному мнению эту ветку нужно закрыть в связи с тем, что
    1) смысловой нагрузки она уже давно не несет.
    2) стала слишком скучна (ничего нового).
    3) автор уж слишком неадекватен и груб.
    За это сообщение сказали спасибо [2]: dozen, штышпре

    1025. jooher, 01.02.2010 13:26
    Vladimir Rybinkin
    Отличная кстати статистика. Мне нравица Еще раз напомню тебе о поприще копирайтерства и рекламном бизнесе.

    1026. dozen, 01.02.2010 14:21
    jooher
    Отличная кстати статистика.

    Подумай, сколько времени он потратил на поиск и сортировку этого барахла (то, что всё обсуждение в этой ветке, даже от экспертов -- барахло, спорить не будем? ). Ему явно нечем более заняться. Общественно бесполезный человек. А подключиться к какому-нибудь опёнку на SF.net -- эго не позволяет...

    1027. ivanhoe, 01.02.2010 15:01
    Vladimir Rybinkin

    цитата:
    Кроме того, я непогрешим, и ошибок принципиально не делаю
    Вспомнилось как я писал один документ примерно такого же содержания: "Я всегда прав. Я никогда не ошибаюсь. Каждое мое слово это абсолютная истина!" Надо взять на вооружение еще и непогрешимость.

    1028. Vladimir Rybinkin, 01.02.2010 16:35
    Продолжим разбор ветки - осталось всего-то 20 кило, из них лишь чуть больше 3К "мудрых мыслей", за которыми народ здесь усиленно "охотится". С этой "причины" популярности моих веток и начнем.

    Версия первая:
    В темах Владимира можно почерпнуть весьма интересную информацию, но (упаси, Господи!) не от него самого. Вот примерный набросок ваших "тезисов":

    1. Я уже давно сюда захожу почитать не писанину VR, а отклики остальных. Интересно, "отклики" все-таки на "писанину VR" или как? Любой из ответов глуп по определению, и потому ответить на него народ "постесняется".

    2. Тут хватает разумных и образованных людей, которым есть, чем поделиться с общественностью. Хоть бы одного такого назвали - ни хрена: молчат, как партизаны. Ах, да - ну и как? "Поделился" хоть один?

    3. При этом конечно происходит общение между самими обсуждающими, на редкость доброжелательное такое, бесконфликтное, ненапряжное. Как мило! Наслаждаетесь процессом, господа? А разве в остальных ветках (где меня нет, не было, и не будет) все иначе?

    4. При этом качество информации от самого Владимира оставляет желать, но что тут поделаешь, за все приходится платить. Бедняги! Хотите совет? А вы просто пролистывайте мои посты, не читая.

    5. Если ВР не читать, и фильтровать ругань, вполне годные темы получаются. Во! Так вы ж сами все знаете! Так в чем же дело?

    6. У него есть одно несомненное достоинство, он умеет/может раскрутить насчет высказаться знающих людей по разным вопросам. Ах ты черт! Вона в чем дело! Если не читать - фиг "раскрутишь насчет высказаться знающих людей". Бедняги!

    7. Темы ВР запоминаются прежде всего продолжительностью и накалом. Чьим? Моим? Вашим? Опять любой ответ будет идиотским...

    8. У Владимира, что не тема, так на вселенский масштаб поднята, полет, экспрессия. Вот всем и интересно и запоминается и пр. Хм. Это уже тянет на мою личную заслугу. Стало быть, "без Владимира что ни тема, так ни полета, ни экспрессии. Вот всем и скучно, и не запоминается, и пр."? Аккуратнее, господа!

    9. Надо сказать, темы (и сообщения) Владимира здорово оживляют данную конференцию. Ах, даже "сообщения"!

    10. Чтение панегириков конструкции eval (ИМО, вреднейшая конструкция) не становится менее занимательным. Ну, что, господа? Опять соврамши?

    11. Забавно наблюдать ход мысли и сравнивать в голове с "как на самом деле". И даже полезно! Разумеется, если бы вы и в самом деле этим занимались (или хотя бы пытались).

    12. В предыдущих темах ВР можно было почерпнуть много интересного и полезного, не от самого ВР к сожалению, а от разных людей, которых те топики раскручивали на сообщения. Но такого становится все меньше, по видимости по причине усугубления проблем с душевным здоровьем Мастера. Ага! "Динамика" в ход пошла. Токо я не понял - это что, радостный вопль? Или сожаление от того, что "разные люди, от которых можно было почерпнуть много интересного и полезного" отсюда слиняли? Любой ответ, как обычно, выдаст идиота с головой.

    13. Если раньше его пассажи можно было игнорировать, местами даже ухмыльнуться, но теперь здесь уже висит атмосфера невольного издевательства над старым и впавшим в маразм человеком. Стыдно, что ль? Стало быть, теперь "мои пассажи НЕЛЬЗЯ игнорировать, дабы не висела атмосфера невольного издевательства над старым и впавшим в маразм человеком"? Шедевр, не попавший в перечень "мудрых мыслей" - извиняюсь. Впрочем, чего еще ожидать от "старого и впавшего в маразм человека"...

    Резюме:
    Имеется горячее желание использовать мои ветки как площадку, где можно почерпнуть весьма интересную информацию, но шоб меня там не было (уже само по себе достаточно красноречиво характеризующее интеллектуальный уровень желающих). Примеры по этой ветке: Из интересного было обсуждение extjs, gpl, индексации. Давайте обсудим проблему SEO для Rich Apps. Можно обсудить принципы dap (публика разогрета, может подхватит) и т.д., включая разную мелочь: Ext GWT - вообще супер библиотека, Арипипразол является самым совершенным лекарством от шизофрении, Багамы с Мальдивами, время жизни сессии, денотационную семантику, другана - инсайдера Нокии, заплатить или пользоваться халявой, затраты на собственно трафик (если вышли за пределы плана), изменить DOM без полной перерисовки или нет, можно ли лепить сложного клиента на js, базу как "дерево до тысячи узлов", несоответствие ИЕ5 стандартам, когда подвиснет вся страница, а то и весь броузер, как уговорить javовский gson выдать по-хорошему и по-плохому, флаги блокировки, и прочую пое... интересные вещи - это неполный перечень только по этой ветке - эх, бедолаги вы мои![/i]

    Версия вторая:
    Граждане, неужели многосерийная выставка достижений одного оригинального докладчика уже никого не утомляет? Казалось бы, чего проще: свалил отсюда - и дело с концом! Ан нет - страдают, мучаются, но терпят. Несмотря на то, что участие в этой бесконечной перебранке никого не делает лучше. Ну и как, долго эта сказочка ещё тянуться будет? Ведь репертуар становится совсем однообразным. Итак, тезисы:

    1. По мотивам обсуждения тем ВР просто напрашивается подобная "живая" тема об алгоритмах и их реализациях. Эва! "По мотивам"! А у самих мозгофф не хватило?

    2. Почему бы не сделать более мирную альтернативу? Почему бы не забрасывать, скажем, несколько раз в год подобные темы из спортивного интереса, но уже "самостоятельно"? Было бы неплохо IMHO. Только уже без Мастера. Святая наивность! Вы что, всерьез полагаете, что способны создать "подобную живую тему, но уже без Мастера"? Ой, уписаюсь!

    3. Предлагал я спровоцировать более длительное и разветвлённое обсуждение, масштаб побольше взять. Или, как вариант, последовательно подклеивать схожие по тематике темы в одну. Хоть круть-верть, хоть верть-круть... да на что вы годны, убогие вы мои?

    4. Люди так переодически и делают. Но поскольку общаются вменяемые люди, знающие половину ответа, то общение получается коротким и по делу, и тема приходит к завершению за несколько сообщений. Однако "вменяемые люди" упорно пытаются... см. выше.

    5. Это всё требует упорной работы, то есть определенной пассионарности. Откуда её в технаре взять? Именно! Где ж тут "вскипеть разуму возмущенному"? Что ж, чистосердечное признание заслуживает уважения - не часто от вас такое услышишь.

    Резюме:
    Желание продемонстрировать собственную состоятельность "без Мастера" само по себе нормально. Но для вас это нереально - вы слишком ТРУСЛИВЫ, господа!

    Хватит, пожалуй, на сегодня.

    1029. jooher, 01.02.2010 17:21
    dozen
    Подумай, сколько времени он потратил на поиск и сортировку этого барахла

    Так а в рекламе, как ты думаешь, что сортируют?
    Зато: проценты аж с двумя цыфрами после запятой, цытаты, комментарии, искромётный юмор, гиперболы и аллегории... Полная иллюзия научного исследования рекомендаций лучших стоматологов, да еще и в редакции Хокинга и Фейнмана. Рекламный биз плачет по ВР.

    Добавление от 01.02.2010 17:25:

    Правда, вторая серия этого поноса, конечно уже не то...

    1030. rGlory, 01.02.2010 17:27
    dozen
    цитата:
    А подключиться к какому-нибудь опёнку на SF.net -- эго не позволяет...
    Представил себе что VR бы написал в описании своего патча, при отправке его автору проекта. Что-то типа такого:
    цитата:
    Ты, безмогзглая скотина, я снизошел до того, чтобы внести изменения в твою программу, которая делает твое убогое поделие хоть сколько нибудь полезным для всех, надеюсь мне не придется долго ждать внесения моих изменений и моего имени в авторы программы (первой строчкой конечно, остальных авторов можешь так уж и быть оставить тоже). Ежели в течении часа изменения не будут внесены, я больше не буду заниматься твоим проектом, и тебе придется его закрыть
    Может лучше не надо?

    1031. Vladimir Rybinkin, 01.02.2010 19:38
    rGlory
    цитата:
    Вау, Рыбинкин недвусмысленно признался, что когда он отправлял других искать готовые тесты, мол они выложены, это были лживые заявления, которые подкрепить нечем. Занятно
    Трудно дать более красноречивую иллюстрацию уровня этого "эксперта". Прям отсюда слышно, как проворачиваются ржавые извилины.
    цитата:
    Тю, докатились, унылого тролля нам тут только не хватало, это даже не смешно
    Все верно. Все в полном соответствии с уже озвученной "версией номер два", и еще не озвученной "номер три". Зомби...

    ErmIg
    цитата:
    Возможно это не мое дело, но по моему сугубо личному мнению эту ветку нужно закрыть в связи с тем, что...
    Конечно, конечно. Ветка сия - страшное чудовище. Если ее не закрыть, она вас, бедолаг, доконает. См. ту же "вторую версию": Казалось бы, чего проще: свалил отсюда - и дело с концом! Ан нет - страдают, мучаются, но терпят. Токо модератор вас спасет - сами даже в такой ситуации бессильны. Эх, убогие вы мои... Кстати, почему это "автор груб"? Автор добр и нежен.

    jooher
    цитата:
    Отличная кстати статистика. Мне нравица
    Да ужжжж... Ну, что же - надеюсь, дальше еще больше понравится...

    dozen
    цитата:
    Подумай, сколько времени он потратил на поиск и сортировку этого барахла
    А сколько, кстати? Работа плевая и веселая - даже Синдбад не понадобился. Вы и на такое не способны, убогие вы мои?
    цитата:
    то, что всё обсуждение в этой ветке, даже от экспертов -- барахло, спорить не будем?
    Я - нет, а вот народ - отчаянно спорит. См. "версию нумер один". Впрочем, извиняюсь: информация "даже от экспертов" весьма ценная - я потом представлю ее в пронумерованном виде, шоб народу особо не приходилось героически продираются через гигантские простыни словодроческой ахинеи.
    цитата:
    Ему явно нечем более заняться
    Лапочка, твоих постов только в этой ветке вдвое больше, чем моих - чья бы корова мычала, "общественно полезный человек" ты наш!

    ivanhoe
    цитата:
    Надо взять на вооружение еще и непогрешимость.
    Во! Кое-кто и в моих постах что-то полезное находит.

    All
    Версия третья: [/i]А-а-а-а-а!!! Ради таких вот пёрлов я и читаю эту ветку![/i]

    А рядом идиотики
    Схватились за животики
    У них, у идиотиков
    Животики болят.


    Про палитру уржался еще больше! Какой матёрый петросянище!
    Это супер-ржач и супер-рейтинги.
    Я щас штанишки описаю.
    Дык ржач же! Ты такой серьезный там... как настоящий программист!
    Твой каталогизатор у них в комнате смеха висит, вместо кривого зеркала.
    В целом, захватывающее своей фееричностью чтение. Бунт нейронов, бессмысленный и беспощадный. Даже закралась мысль сохранить для потомков.

    Тут то все равно всерьез никто не воспринимает твои килобайты.
    У читателей Ваших опусов если и происходят истерики, разве что от смеха.
    Тут лучше короткими гениальными озарениями публику веселить - чтоб почитал, поржал, дальше пошел. А длинные простыни всю хохму убивают.

    Тут не то что про программирование, просто хохмить то уже надоедает.
    Это уже становится скучным.
    К сожалению в последнее время Ваша писанина перестает быть даже смешной.
    В этом форуме ты, похоже, всех уже утомил.

    Резюме:
    Версия "ржача" делится на три группы:

    1. Нет претензий: [/i]штанишки описаю[/i] - иными словами, версия нумер один несостоятельна. Или, по крайней мере, очевидное противоречие, часто даже у одних и тех же авторов - ох, и тупые ж, блин!

    2. Претензии - например, к размеру: длинные простыни всю хохму убивают - иными словами, эти также ходят сюда именно "на меня", но "затрахают советами". Пральна: кто умеет - тот делает, кто не умеет - тот учит.

    3. Претензии к динамике: это уже становится скучным - то же, но эти даже самостоятельно свалить отсюда не в силах, способны только жалобно скулить про закрытие ветки.

    Ну вот еще маленький раздельчик: ваши советы лично мне:

    1. Используйте библиотеки.

    2. Надо взять jQuery и не тратить время на ерунду.

    3. Для приведенных примеров достаточно по-моему обычных ассоциативных массивов.

    Мэтры, без вопросов!

    Чо-то медленно уменьшается - осталось 16К. Видать, особо ценные данные "разумных и образованных людей" пошли...

    1032. штышпре, 01.02.2010 20:39
    Vladimir Rybinkin
    Ишь, как раздразнил я тебя, явился, блин, со свежими анализами. Аж "в трёх экземплярах" выдавать приходится. Больной явно возбудился! Ты подгузник нацепи сразу, а то, ить, не выдержишь. Пользуясь случаем, сделаю последнюю попытку добраться до остатков твоих мозгов, из чисто гуманных соображений. Терапия такая. Я почти не надеюсь, но всё же.

    >>уже висит атмосфера невольного издевательства над старым и впавшим в маразм человеком.
    >Стыдно, что ль?

    Представь себе, дядя. За конференцию, из которой вот этой маячащей темой делают филиал сумасшедшего дома. Ты не поймёшь, тебе стыд неведом. Это как раз сигнал в пользу версии о психическом расстройстве. Человек, вообще прекращающий отвечать за свои слова и следить за своим поведением, своей речью, явно не в порядке. Ты кажется не заметил, что успел не глядя обхамить практически всех, даже тех, кто проявлял к тебе ангельское терпение (хотя бы ivanhoe,loyolla)? А сужение своего словарного запаса не замечаешь? Все эти "лапочки" и т.п.? Ты хоть понимаешь, что это тоже хамство? А ржач без повода на каждом абзаце, это как -- нормально?

    Чего ты щёки-то надуваешь, аналитик запечный? Мания величия? Поставил себе пьедестал и красушься на нём, размахивая анализами. Молодец. Если ты что-то и доказал, так это свою невменяемость. Аргумент "чего вы ходите за мной, пошли вон из моей темы" не катит. Тем, кто тебя ещё не изучил, хочешь мозги парить невозбранно? Ага, сейчас. Это место для открытого общения, а не твой личный сортир. Тебе уже задавали вопросы, с тобой пытались разговаривать -- без толку. В ответ от тебя идёт пустопорожнее хамство и демагогия в духе "идиоты, не понимаете моего замысла, я уже всё доказал, ищите". Чего искать-то, если там смотреть не на что? Ты сам не в состоянии представить ссылки на свои собственные "всё доказывающие" работы, изворачиваешься как угорь. Потому что знаешь, что их разбор приводит к полному твоему провалу. Тебе нечего показывать, кроме своих тараканов. И терять -- тоже.

    Хотя, может, если мы все такие идиоты и ничтожества, как ты говоришь, ты сам пойдёшь отсюда, поищешь другую аудиторию, более достойную? Это не было бы проще, хмм? Но нет, тебе нужна _вот_эта_ аудитория, где тебя почему-то ещё терпят, страстно нужна для подогревания твоего эго. Я видел, как тебя пинком под зад вышвырнули с другого форума за разведение вот как раз подобного злобного флейма. Не любят таких на других форумах, да? Ай-яй-яй, незадача.

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

    А показаться тебе нужно. Врачу. Тебе давно необходима медицинская консультация, а не болтовня на форумах. Социально ты не опасен, но связь с реальностью утерял очень сильно. И надоел многим уже до смерти вместе со своими обильными анализами и без причины ржущими в голове тараканами. Рекомендую пойти отседова лечить своих внутречерепных животных в специально предназначенной для этого обстановке и по проверенным методикам. Но это слишком сложно для тебя, да? Уютнее спрятаться в свою пещерку и продолжать свой тараканий концерт.


    ALL
    Известно, что общение с сумасшедшими может пагубно воздействовать и на здоровых людей. Ничего путного из всего этого не выйдет, это уж точно. Для юмора отдельная тема уже есть, а здесь не смешно. Здесь дурдом. VR -- ненормальный, последние страницы явно идёт обострение. Поэтому голосую ещё раз: закрыть эту тему. Лучше вместе с автором. И лучше насовсем.

    1033. lvqcl, 01.02.2010 21:18
    штышпре
    Я видел, как тебя пинком под зад вышвырнули с другого форума за разведение вот как раз подобного злобного флейма.

    Эмм... URL, плиз?

    1034. jooher, 01.02.2010 21:22
    lvqcl
    Эмм... URL, плиз?

    А что, не верите?

    1035. штышпре, 01.02.2010 21:47
    lvqcl
    Эмм... URL, плиз?
    Вот где-то в этом районе случилась однажды битва за ИИ:
    http://old.e-xecutive.ru/discussions/forum_2466/msg_27649_281819/
    http://old.e-xecutive.ru/discussions/forum_2466/msg_27649_280014/
    Гугл всё помнит, запрос в духе: "+модераторы рыбинкин владимир site:old.e-xecutive.ru" даёт нужный вектор.

    На тот форум я просто забрёл как-то, по другим делам, так прямо сразу глаз и резануло. 2003 год, привычки те же. Он, точно он. Я конечно за Мастером не следил, но вроде он после этого там светиться перестал, более поздних ссылок гугл не даёт.

    P.S. Извиняюсь, поторопился немного, вот ещё ветка, более поздняя:
    http://old.e-xecutive.ru/discussions/print/forum_246…msg_39629_344238/

    1036. ivanhoe, 01.02.2010 22:41
    Vladimir Rybinkin

    цитата:

    Стало быть, "без Владимира что ни тема, так ни полета, ни экспрессии. Вот всем и скучно, и не запоминается, и пр."?
    Ага. Без вашего участия из "эпических" тем вспоминается только тема про новый стандарт C++.

    1037. nenin, 01.02.2010 22:57
    Я вот пытаюсь читать весь это концепт-арт про "заставить работать машину"и такая мысль меня тревожит: а клиент-то есть? Был ли мальчег?

    1038. ivanhoe, 01.02.2010 23:16
    All

    Давайте вернемся "на круги своя" и начнем вновь обсуждать не личности друг друга, а само программирование и писать код!

    1039. lvqcl, 01.02.2010 23:25
    штышпре
    Thanks
    цитата:
    Sam: Before we try physical violence, Max, let's try dazzling the man with our razor-sharp wit and labyrinthine logical conundrums.
    Max: Ah, emotional violence! Good plan.


    nenin
    Был ли мальчег?

    А Вы про Duke Nukem Forever слышали?

    1040. nenin, 01.02.2010 23:34
    цитата:
    lvqcl:
    nenin
    Был ли мальчег?
    А Вы про Duke Nukem Forever слышали?
    Я его в нетерпении жду! Начиная с TNT2 на К6/2-400 по Е8400/Radeon4850 включительно ...

    1041. SERGEY_BIG, 02.02.2010 00:15
    nenin
    Я вот пытаюсь читать весь это концепт-арт про "заставить работать машину"и такая мысль меня тревожит: а клиент-то есть? Был ли мальчег?
    Второго круга Боливар точно не вынесет... Не стОит. Если вкратце - по слухам есть, IE 3.0 (могу ошибаться, но тут найдется кому поправить)

    1042. dozen, 02.02.2010 00:44
    nenin
    Я его в нетерпении жду!
    здрасте! в 2008-м, что ли, закрыли насовсем.

    1043. zzf, 02.02.2010 01:47
    nenin
    Я вот пытаюсь читать весь это концепт-арт про "заставить работать машину"и такая мысль меня тревожит: а клиент-то есть?

    Есть и не один. Тысячи машин парсят терабайты простыней мастера в то время, как благодарные клиенты, затаив дыхание, в очередной раз загружают последнюю страницу данной мыльной оперы.

    1044. femidav, 02.02.2010 02:08
    ivanhoe
    Ага. Без вашего участия из "эпических" тем вспоминается только тема про новый стандарт C++.
    А как же эпическая тема про Cache??

    1045. dozen, 02.02.2010 04:24
    femidav
    А как же эпическая тема про Cache??

    MUMPS forever!

    странно, что М-р там не отметился. база-то вся из себя сетевая...

    1046. lvqcl, 02.02.2010 20:41
    dozen
    здрасте! в 2008-м, что ли, закрыли насовсем.

    Вот, а VR не закроют!

    (ну только если его г-дь Б-г не выпилит когда-нибудь. насовсем.)

    1047. rGlory, 02.02.2010 20:53
    lvqcl
    цитата:
    Вот, а VR не закроют!
    Ну не факт, не факт. Вполне возможен вариант, что оденут рубашку с длинными рукавами и закроют. Если уже не, может туда уже интернет провели? (и кстати это тогда бы объясняло тот факт, что VR пишет сюда всегда только в определенное время суток)

    1048. dozen, 02.02.2010 21:07
    lvqcl

    ну только если его г-дь Б-г не выпилит когда-нибудь. насовсем.

    Б-г выпилит М-ра, ммм... Эпохальное событие будет. Форум заглохнет в течении полугода.

    1049. Gipnoss, 02.02.2010 22:34
    dozen
    здрасте! в 2008-м, что ли, закрыли насовсем.
    Вики говорит, что официально как бы да (в 2009-м). Но во-первых остались права, за которые ща идет борьба в суде. А во-вторых оставшийся разработчик намекает, что что-то там ковыряет.

    1050. dozen, 02.02.2010 23:35
    Gipnoss
    Вики говорит, что официально как бы да (в 2009-м)

    Вот изложение (http://www.wired.com/magazine/2009/12/fail_duke_nukem/all/1) истории. Очень поучительно в плане управления софтварными проектами.

    Если кратко, то "лучшее - враг хорошего".

    1051. nenin, 03.02.2010 00:31
    цитата:
    dozen:
    nenin
    Я его в нетерпении жду!
    здрасте! в 2008-м, что ли, закрыли насовсем.
    Перед прошлым Рождеством вроде опять открывали. Может утку пустили духоподъемную. Впрочем, будет как с Фалаутом.

    1052. Vladimir Rybinkin, 03.02.2010 10:13
    Паузы явно идут на пользу. Попозже и это прокомментирую...

    Версия четвертая: Я это писал, отвечая не вам. Вам я и не пытаюсь что-то объяснить.

    Вот оно! Вот то, что с таким трудом выкапывают посетители моей ветки! Ориентиры даже даются...

    1. А я это не вам писал Я просто уличил вас(?!) в очередных фантазиях. Стоило ли стараться? Ну, допустим даже, что уличил. Это ж никого не интересует, как мы раньше выяснили.

    2. Напоминаю, что писал я это не вам, а тем, кто (по моим предположениям) может понять. Ну, допустим, и я ТОЖЕ прочитаю - зачем так волноваться?

    3. Не для ВР, а для общего образования любопытных, расскажу немного о GWT. ВР, несомненно, стоит ознакомиться(?!). дабы обрести (недостижимый) идеал. Тогда GWT здесь еще не обосрали. Но забота обо мне трогательна.

    4. А потому -- это я для ВР(!!!) объясняю, он, походу, не сечет. Это к кому обращение? Ко мне? А как же насчет "много чести"? К другим? А они что, без разъяснений сами въехать не способны? Да и какое им дело? Если для меня - им нельзя читать, что ли?

    5. На сём дискуссию со своей стороны закрываю. Ау, loyolla - помните, Вы спрашивали пример насчет время от времени какая-нить сопля имитирует демарш - дескать, ее трепетная душа не может более этого идиот[изм]а выносить. Не верьте - никуда она на фиг не денется. Вот он - во всей красе.

    6. Как уже говорил выше, дискуссия с топикстартером закончена. Наскоко я помню - он же (проверять лень). Шоб никто не усомнился.

    7. Просто его ... мгм... спорные утверждения должны быть опровергнуты хотя бы ради молодых, читающего ветку. Трогательная забота о подрастающем поколении. И одновременно презрение к нему - сами, дескать, разобраться не способны.

    8. Ресурс forum.ixbt.com превратился бы в рассадник мифов о программировании, если фантазии ВР оставлять без ответа. Забота о чистоте ресурса плюс демонизация меня: ишь на что я способен - в жисть бы не догадался!

    9. Я понимаю, что давать ответ на столь очевидные нелепицы нужно... А вдруг пропустите чего ненароком - что тогда? Кстати, дали бы и в самом деле ответ хоть разок - для разнообразия.

    10. Я не даю определение потока с воспитательной целью - чтоб вы начали что-то читать. И вдруг - после стольких предупреждений "не вам, не вам" - прорезалась такая забота, с воспитательной целью... СПАСИБО, РОДНОЙ!

    11. Отдаю задаром идею. А это не просто забота обо мне - это даже самопожертвование!

    Резюме:
    Господа! Не стоит так трястись от страха - если я даже что лишнее и прочитаю, так ведь все равно ж ни хрена не пойму - так ведь? Этим вы только создаете препятствия вашим же товарищам, придерживающимся версии первой.

    В динамике процесс выглядит так: И поправляют до бесконечности -- сначала в наивной уверенности, что ВР просто ошибается (это чувак явно про малую модель вспомнил - кто ж сейчас рискнет признаться в такой "наивной уверенности"? ), потом из необходимости показать неправильность его "подходов" тем, кто случайно заглянет в ветку (это как раз период "не вам", то бишь забота о молодежи), потом "чиста поржать" -- разрядка такая (версия третья - "ржача". Популярность резко падает - кажись, начали осознавать, насколько идиотскими выглядят "их нравы"). Наконец, наступает период скуки (см. последнюю стадию версии "ржача") и стыда: зачем переходить на патетические(?!) обсирания и давать повод за поводом хором над Вами ржать? Поберегите уже свои седины. Финальная же стадия (свалить отсюда к чертовой матери) не наступает никогда - демарши и скулеж про закрытие ветки, разумеется, не в счет.

    Версия пятая: Зачем изобратать колесо?

    Владимир, а зачем, если не секрет, все эти навороты?
    Чето я не понял в чем здесь революционность???
    Простейшие фильтры, стоило ли ради этого городить фреймворк в brainfuck стиле?
    В рамках форм MS Access с этим за неделю справится студент второго курса.

    Собссно, никаких "наворотов" там нет, никакой "революционности" тоже, никаких фильтров - ни простейших, ни сложнейших - также нет ни одного, а студент второго курса не справится с этим ваще никогда. Я об этом, кстати, писал: все тыщу лет известно, и реализовано даже в командах ассемблеров - всех до единого, но пока что никаких признаков, что до вас что-то доходит. А вот ДЕЙСТВИТЕЛЬНО МОИ решения воспринимаются иначе:

    Не он это придумал.
    Это идея не гиганта мысли, а было придумано до него.
    Некоторые здравые(!) мысли в повествовании Мастера -- используются повсеместно.

    Ну, в конце концов, не мной, так не мной - зачем же нервничать? Были бы мысли здравые. Хотя одновременно настойчиво рекомендуется мои постинги не читать... но тогда какая разница, чьи там мысли, и здравые ли они? Короче, логики ни малейшей.

    Еще одна часто повторяемая бредятина - разные там "прорывы":

    Ставятся глобальные задачи, интересные(!) сообществу. Методика проста - сообщается о некоем прорыве(?!), при этом деталей никаких не сообщается.
    Давайте предположим, что то, что сделано - это прорыв.
    Если берётесь совершить переворот с веб-технологиях...
    Мы люди низменые, нам до траекторных шаблонов расти и расти.
    Так хотел посмотреть как цвет фона меняется. Это же прорыв!

    Чи-Кен-Сан ажно стихами разродился - даром, что я тыщу лет назад отвечал вам подобным стихами Маршака:

    Мой мальчик, тебе эту песню дарю,
    Рассчитывай силы свои.
    Машина клиента отнюдь не "хрю-хрю",
    Она лишь поганый UI.

    Резюме:
    В "колесах" никто из вас не разбирается, как и в "прорывах". Из ветки в ветку притягивают за уши "джентльменский набор": Мираж, комми, финист, сжатие, сортировка, ... (ну хоть бы одна сволочь, хоть бы в одной из этих тем, НУ ХОТЬ ЧТО-НИБУДЬ соображала!), и тянут кота за яйца, типа представил себе, как задача коммивояжера решается в браузере, на стороне клиента, и по спине мурашки. Объясняю: комми - никакой не "прорыв", это просто очень хороший алгоритм, на голову превосходящий все ныне существующие (не говоря уже о той пое..ни, которой вы мне мозги парили в прошлых ветках). И траекторные шаблоны никакой не прорыв - это разве что для местной шушеры новость. А вот Синдбад - это да, это прорыв (точнее, его модель данных). И программирование в объектах и событиях прорыв (даже его основной инструмент - стек очередей - и то прорыв). Вы ж сами говорили: слова V.R. надо уметь толковать. Это главное(!) Так учитесь хотя бы, черт побери!

    Одна из вершин идиотизма местной публики - попытки проникнуть в тайну(!) "стека очередей". Мало того, что алгоритм управления стеками примитивен до безобразия, мало того, что что тексты приведены В КАЖДОМ из моих тестов, мало того, что они упрощены до неприличия: 421 байт для версии с одним стеком, и 731 для нескольких - НУ НИЧЕГО НЕ ПОМОГАЕТ! Уж не знаю, решили ли они молодежи помочь, али сами разобраться, но все посты на эту тему один сплошной улет.

    1. Вот я и пытаюсь понять(!) механизм положения очереди в стек. Всё ломается(?!), когда верхняя очередь исчерпывается.

    2. При вызове подпрограммы на вершину кладется очередной stack frame -- очередь с параметрами для процедуры. Исчерпали -- возврат. ( )

    3. Я подозревал, что на положенную в стек очередь остается ссылка где-то. ( )

    4 Если я опять правильно понял ВР ( ), то "стек очередей" просто имитирует поведение обычного стека вызовов. ( )

    5. Сложно сказать, чем такая система удобнее varargs(?!).

    6. Если в стеке есть очередь приоритета 2, а мы добавляем 3 в конец 1, то 3 обработается быстрее 2. Если некогда перезарядить ружье, медведь идет на вас, а в руках есть палка...

    7. Таким образом, твой "стек" -- это не стек. ( МОЙ?!)

    8. Очередь с приоритетом Мастер просто не осилил(?!). Стек написать на порядок(!) проще.

    Одним словом, Господи, закончится когда-нить этот парад идиотов?!

    1053. штышпре, 03.02.2010 13:15
    Короче: наш ходячий приёмник сигналов с Марса как всегда на коне в этом здании. Терапия результатов не дала. Поток анализов не иссякает!

    1054. Vladimir Rybinkin, 03.02.2010 16:31
    Чо замолчали-то? Ловите еще для затравки. Комментировать последнее буду опосля - а ну, гоните данные! Чо, страшно стало?

    Версия шестая: Здесь мы ждем работоспособного решения. Ну, про вресию нумер один я просто молчу - заврались чуваки вконец... Примеры:

    1. Надо отдать тебе должное - вот уже 21 страницу ты полощешь людям мозги, так ничего вобщем-то и не представив - и от тебя до сих ждут(!) хоть чего-нибудь. Даже вон dozen ждет(!!!) работоспособного решения.

    2. Пусть все тесты окажутся в одном, общеизвестном месте. ( )

    3. Где можно взять исходники и запустить, проверить?

    4. Можно какой-нибудь другой(?!) кусок кода посмотреть?

    5. Может выложите в ненавистный вэб, например в google.code ?

    6. Поэтому тебе и предлагают выкладывать исходники - может в них что-то осмысленное можно будет увидеть.

    7. Я готов помочь, шлите задания в личку. ( )

    8. Как вам можно помочь? Что вы можете выделить для ,так сказать, аутсорса передачи другому исполнителю?

    9. Оч рекомендую ознакомитья с кодом(!!!) и поотслеживать взаимосвязи...

    10. Он туда собственно JS-файл i.j забыл(?) положить. ( )

    11. А вот воплощение СИНТа хочется потрогать, да руками.... ( )

    12. Итак, выяснилось, что SINT - это набор макросов языка C. ( )

    13. Обана, а чего это оператор -> не используется? Предан анафеме? ( )

    14. Впечатляющая находка: поэлементное копирование полей (кодированных по п.1) из одного объекта в другой (а на самом деле - в тот же), а потом вместо этого "нового" объекта все равно использовать старый (гениальность замысла в том, что поскольку это тот же самый объект - ошибок не возникает). ( )

    15. Квалификацию Мастера в четвертом я мог проверить на практике. ( )

    16. Общественность еще не ознакомилась с серверным кодом ( ), на его разработку сколько времени ушло?

    17. Тему надо в 26-ю конфу, там энтузиасты всё в подробностях дяде Вове объяснят. Начнут, пожалуй, с CSS.

    18. Начать бы надо с CSS - вот где реальная разгрузка получится.

    При малейшей попытке заставить отвечать за свои слова, мгнвенное "поквакал - и в тину". При этом всякое чмо еще имеет наглость чего-то вякать про клуб спросивших с ВР конкретики!

    1. Ну, предположим, расскажу я тебе про CSS. Что, ты резко перестанешь "менять палитры"?

    2. В нем возможно и стоило бы разбираться ради интереса, если бы "благодаря Витьке" не было уже известно, что это тормозное полурабочее... нечто (слово г.. уже было).

    3. В предыдущий раз выжимали алгоритм ( ), выжали полудохлый исходник, с поведением которого было всё более-менее ясно ( ) уже с первых предположений о замысле Мастера.

    4. Каюсь, когда-то считал, что твой код трудно читать. но всё познается в сравнении. после кода ВР я готов к любому.

    5. Насчёт каких-то там законов же что тебе не пиши, получишь в ответ очередную порцию словесного поноса.

    6. Конкретных результатов нет или они крайне запутаны и трудны для понимания.

    7. Я пока ( ) затрудняюсь сказать, есть ли какие-то преимущества у методов ВР.

    8. Решения поставленной автором (перед собой) задачи. Мне задача покуда в деталях неясна.

    Собссно, про это я тоже давно все сказал:

    Вон, кусочек серверных скриптов для Вани (ДЛЯ ВАНИ!) выложил - осторожненько так, маленький такой, с предупреждениями. Результат - налицо. Нет уж, с меня хватит!

    Ведь даже броузер все прекрасно понимает. По крайней мере, мой - простенький, без наворотов.

    Стадо баранов!

    1055. ErmIg, 03.02.2010 16:45
    Модератор! Призываю:
    Тему эту посети!
    И мученья пациента
    Баном вечным прекрати!
    За это сообщение сказали спасибо [5]: Rudolf, rGlory, blackhearted, штышпре, dozen

    1056. rGlory, 03.02.2010 17:13
    Vladimir Rybinkin
    цитата:
    Стадо баранов!
    И вам не болеть

    1057. nenin, 03.02.2010 19:16
    Похоже, автор не знает, есть ли у клиента машина, и вообще что-то темнит.

    1058. Partisan, 03.02.2010 20:37
    dozen
    А как же эпическая тема про Cache??

    MUMPS forever!

    странно, что М-р там не отметился. база-то вся из себя сетевая...


    Я считаю "M-системы", включая Cache, иерархическими СУБД. Сорт СУБД определяю по её физическому уровню. На это меня навело одно высказываение Е.Кодда - когда появились СУБД с прикрученным к ним SQL, но почему-то медленные, он стал указывать, что надо различать настоящие реляционные СУБД и СУБД с реляционными надстройками. Подобное он заявлял хоть и с меньшей злобой, чем... понятно, кто, но меня убедил.
    Значит, в M-системах на физическом уровне используется иерархическая модель данных. Действительно, пусть в программе на языке M (не к ночи будь помянут) есть объект "глобал" (многомерный куб: ja_globalcheg(x1, x2, x3....), где xi - строковые индексы массива. В СУБД (M-системе) для него создаётся ключ поиска x1 + x2 + x3 +... (сцеплением строк), и затем по этому ключу ведётся поиск в дереве. Таким образом, глобал относится к уровню представления, или может быть к логической структуре б.д., но не к физическому уровню.
    В Cache меня удивил уровень необоснованного самовосхваления авторов - такое я могу припомнить только у... понятно у кого. Так, Cache они сравнивают не иначе как с Oracle и с лёгкостью доказывают, что Cache лучше (но неубедительно). Аналогично, V.R. с лёгкостью доказывает, что он лучше разбирается в б.д., чем Е.Кодд, а его подеделие - "клиентская СУБД" - лучше, чем Access (примечание.Вообще-то эта клиентская СУБД - всего лишь несколько массивов на JavaScript, заполненный данными из учебной базы "Борей" (Northwind),к ней функция поиска на JavaScript, которая должна заменять SQL, и ещё там есть состряпанная вручную HTML таблица, которая видимо должна заменять построители форм и отчётов Access. Совершенно очевидно, что это настолько лучше Access, насколько... Cache лучше чем Oracle).

    В общем, состояние V.R. действительно ухудшается. Но это не значит, что его надо игнорировать. Лучше бы как-то внушить ему идею проверить своё здоровье у специалистов.

    1059. Lexuz, 03.02.2010 20:46
    Vladimir Rybinkin
    И программирование в объектах и событиях прорыв
    Это где прорыв такой случился?

    1060. zzf, 03.02.2010 20:56
    Vladimir Rybinkin
    Стадо баранов!

    Какой сильный аргумент, чтобы заставить работать машину клиента!

    1061. lvqcl, 03.02.2010 21:11
    Lexuz
    Это где прорыв такой случился?

    "программирование в объектах и событиях прорыв" - это ж стихи, практически.
    ср.: "умывальников начальник и мочалок командир".

    1062. Rudolf, 03.02.2010 23:55
    Знаете, граждане, смотреть на это уже совсем неприятно, особенно тем, кто сам наблюдал впадение человека в старческий маразм ( я про реал ). Маразм агрессивно-беспомощный особенно отвратителен. Прекратите кто-нить его мучения навсегда, пожалуйста, у кого оружие есть - проявите милосердие, плз.

    1063. vertur, 04.02.2010 01:46
    Судя по фотам начала 2000х, Мастеру еще далеко до старческого возраста. Что -то тут не так.


    цитата (Vladimir Rybinkin):
    Стадо баранов!
    Согласно словарю VR, под редакцией rGlory видимо надо читать так:
    Стадо баранов уважаемых господ.


    Может внедрить на форуме скрипт автоперевода постов Мастера ?

    1064. zzf, 04.02.2010 02:43
    vertur
    Может внедрить на форуме скрипт автоперевода постов Мастера ?

    И что мы после этого увидим?
    "Дорогие друзья! За что бы я не брался — получается только лажа. Вы тут все белые и пушистые а я — баран."

    1065. штышпре, 04.02.2010 03:01
    Судя по фотам начала 2000х, Мастеру еще далеко до старческого возраста Что -то тут не так.
    IMHO разгадка в огненной воде, помноженной на свойства характера. Лет 10 назад было лучше, с ним можно было разговаривать.

    1066. dozen, 04.02.2010 06:20
    zzf

    цитата:

    И что мы после этого увидим?
    "Дорогие друзья! За что бы я не брался — получается только лажа. Вы тут все белые и пушистые а я — баран."

    ну так выйдет вариант бессмертного гоблиновского модераториала, только с поправкой на личность М-ра. весьма эффективная штука. куратор должен заменять тексты М-ра согласно словарю rGlory...

    1067. moderator-Kid, 04.02.2010 08:42
    В виду совершенной бесполезности данного цирка, оный закрывается.


    URL: http://forum.ixbt.com/topic.cgi?id=26:39751