Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Ivan Denisov

Страницы: 1 [2] 3 4 5
16
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 04:26:57 pm »
Влад, а тут Comdiv интересовался, почему проверка индексов так много времени занимает?
Он пример накидал, что разница в 10 раз получается:
https://models.molpit.org/model/59

17
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 04:21:42 pm »
Мне кажется я перемудрил. Достаточно простого encodeURIComponent для кода и он нормально передается через ajax запрос... а опыт сегодняшнего дня с base64 забуду как страшный сон

18
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 03:49:42 pm »
Вот вроде есть рецепт тут, и тоже не работает :(
https://scotch.io/tutorials/how-to-encode-and-decode-strings-with-base64-in-javascript

19
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 03:13:19 pm »
Не работает все равно :(

function Draw(){
D.SetFont("Times New Roman");
D.String("Это высказывание ложно", 50, 100, 40);
D.String("ЭтЈ4,</script>

20
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 03:12:19 pm »
вот так заработало!

function b64EncodeUnicode(str) {
    return btoa(unescape(encodeURIComponent(str)));
}

Сейчас еще проверю на задачке Дагаева.

21
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 03:05:47 pm »
Может кто-то знает метод?!

Ты гуглил? ;) Из общих соображений и для проверки правильного понимания концепций: base64 это кодировка для бинарей, перед тем как ее использовать надо текст перегнать в бинарь, чтобы текст перегнать в бинарь надо определиться в какой кодировке будет этот текст будучи в бинаре (UTF8?).
Да, много часов потратил на эти поиски. UTF8 подойдет, да.

encodeURIComponent как раз вроде перегоняет в бинарь.
http://ecmanaut.blogspot.ru/2006/07/encoding-decoding-utf8-in-javascript.html

22
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 12:18:23 pm »
Ох уж эти web технологии. Стоит добавить букву o или число Пи, как программы перестают нормально кодироваться в base64.

Может кто-то знает метод?!

Пока лучшее, что я нашел это вот такая функция.
function b64EncodeUnicode(str) {
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
        return String.fromCharCode('0x' + p1);
    }));
}

23
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 09:31:04 am »
С проблемой зависания вроде разобрался, не совсем корректно передаю JS через ajax. Поэтому ++ в цикле пропал.

24
Общий раздел / Re: OberonJS
« : Февраль 21, 2017, 09:09:27 am »
Создал тебе issue на GitHub. А обновлять надо с Ctrl+F5, чтобы весь кэш обновился.

Фикснул. Но возможно еще будут какие-то похожие штуки вылазить - сообщай плз.
А с кэшем надо что-то делать - иначе у других пользователей такая же проблема будет.
Спасибо, обновил компилятор. Вот еще проблема есть. Не понимаю почему в режиме публикации зависает скрипт...
https://models.molpit.org/ready/52
В режиме редактирования все нормально работает при этом. И дерево нормально работает:
https://models.molpit.org/ready/51
Такое ощущение, что проблема возникает с теми модулями, где используются шрифты.

С кэшем кажется была проблема из-за такого конфига сервера:
        location ~* \.(html|jpg|jpeg|gif|png|ico|css|js)$ {
                expires       30d;
                add_header    Cache-Control public;
        }

Закомментировал пока эти инструкции.

25
Общий раздел / Re: OberonJS
« : Февраль 20, 2017, 03:10:01 pm »
Можно заголовки у страницы настроить.
<meta http-equiv="Cache-Control" content="no-cache">

Или заголовки у http-ответа указать.
Это плохая идея, так как компилятор пол мегабайта весит :)

26
Общий раздел / Re: OberonJS
« : Февраль 17, 2017, 12:46:34 am »
Возможно ли вернуть результат без создания переменной res?

В текущей реализации нельзя. Можно сделать что-то типа "JS.cast(value, type)". Как там принято в обероновском SYSTEM - SYSTEM.VAL?
А в качестве value нельзя будет подставить "Math.sin(x)" ?

Дополнительные переменные, это ведь получается лишние затраты на оперативную память. Лучше сразу вернуть значение как-то.

27
Общий раздел / Re: OberonJS
« : Февраль 16, 2017, 12:42:21 pm »
Вот такой еще вопрос.

PROCEDURE Sin* (x: REAL): REAL;
  VAR res: REAL;
BEGIN
JS.do("res = Math.sin(x)");
RETURN res
END Sin;

Возможно ли вернуть результат без создания переменной res?

Например так как-то сделать возможно?
PROCEDURE Sin* (x: REAL): REAL;
BEGIN
RETURN JS.doReturn("Math.sin(x)")
END Sin;

28
Общий раздел / Re: OberonJS
« : Февраль 15, 2017, 04:18:21 pm »
Создал тебе issue на GitHub. А обновлять надо с Ctrl+F5, чтобы весь кэш обновился.

29
Общий раздел / Re: OberonJS
« : Февраль 15, 2017, 07:22:45 am »
А у тебя похоже moduleLog не может найти, поскольку в кэше старый main.js. Обнови страницу, пожалуйста.

30
Общий раздел / Re: OberonJS
« : Февраль 15, 2017, 07:22:00 am »
У меня нет клавиши Break не клавиатуре :(
Я сделал префиксы mod и doc, поскольку подумал, что проблема в том, что стандартная библиотека JavaScript называется Math. Именно с этим модулем Math проблема. Если его закомментировать то этот модуль нормально компилируется.

Страницы: 1 [2] 3 4 5