All streams
Search
Write a publication
Pull to refresh
17
0
Иван @sompylasar

Пользователь

Send message
Там еще и предложение не согласовано в письменной речи:
Ввести обязательное употребления буквы ...
чистка пользовательского ввода (sanitize) идет еще до попадания данных в базу

А если данные из стороннего API и не известно, были ли они очищены?

экранируется обычно весь результат

Вместе с нужной разметкой, которая была в переводах? (см. пример с кнопкой)

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

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

Второй пример из жизни: вывод данных, введенных пользователем, в подстановке. Данные пользователя теоретически могут содержать разметку, которую нужно экранировать. На каком уровне вы это делаете? Экранируете ли от разметки всё, что попадает в подстановку? Тогда как избегаете двойного экранирования при вложенных подстановках?

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

Например,
// locale:
{ "inner": "<span class="b-inner">**italic**</span>", "outer": "<span class="b-outer">#{inner}</span>"  }

// translation:
window.t("outer");


или,
// locale:
{ "outer": "<span class="b-outer">#{user_data}</span>" }

// translation:
window.t("outer", { "user_data": "<script>alert(document.cookie)</script>" });

Спасибо. А что-нибудь не облачное и желательно open source? (возможно, потребуется делать доработки)
А инструменты переводчика есть готовые?
Исправьте тогда в преимуществах/недостатках:
Наличии всевозможных коммуникаций (NFC, OTG, MHL, LTE)


ИМХО, это неплохая фича, более полезная, чем беспроводная зарядка.
Можно, например, попробовать еще один прозрачный элемент сверху с pointer-events:none; cursor:default;
Не на картинку, а на Google Chrome :)
Интересно, как поступят с Google Account'ами на Android-планшетах, которыми недавно заменили вражеские iPad'ы…
Спасибо за эту статью.

Вы используете слово «интернет» с маленькой буквы, как, насколько я помню, рекомендует Лебедев. Грамота.ру рекомендует с большой ( gramota.ru/slovari/dic/?word=%E8%ED%F2%E5%F0%ED%E5%F2&all=x ). Не могли бы пояснить свою точку зрения по этому разногласию? Часто приходится упоминать Всемирную сеть в текстах и сообщениях пользователю приложения.
Кодек на AR.Drone 1.0 называется UVLC.

Для него кроме официального SDK, который мне показался достаточно неудобным в практическом использовании, есть вполне работающий сторонний самодельный декодер:
dronecontroller.codeplex.com/SourceControl/latest#Wilke.Interactive.Drone.Control/Helpers/VideoImage.cs
code.google.com/p/javadrone/source/browse/javadrone-api/src/main/java/com/codeminders/ardrone/data/decoder/ardrone10/video/BufferedVideoImage.java

Правда, он, к сожалению, несколько неаккуратно сделан с точки зрения потока данных — ломается, если данные приходят порциями, отличными от тех, которые отправляет AR.Drone (например, буферизуются с меньшим размером буфера до попадания на декодер).
Любую технологию можно использовать как во благо, так и во вред.
Отключайте синхронизацию на время звонка в скайпе.
Спасибо. Теперь понятно, этого алгоритма в тексте поста и не хватало, чтобы понять, что происходит на самом деле и почему конструктор BigDecimal(double), напротив, работает точно.
То есть ошибка в точности представления числа 1.1 в double при использовании valueOf(double) сохранится, поскольку double представляется в IEEE754?

Кстати, в посте еще одна опечатка:
А конструктор BigDecimal(double) напротив работает точно

— должно быть от string:
А конструктор BigDecimal(string), напротив, работает точно

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity