Search
Write a publication
Pull to refresh
3
0
Send message

Что быть богатым и здоровым, надо иметь много денег и не болеть.

Слово ´гуглить´ не на пустом месте появилось.

В utf8 коды меньше 128 занимают 1 байт, а не меньше 256.

Работает sticky для thead в хроме.

Что такое length в этих примерах? Загрязнение кода?

Ну не знаю, какой длины слово должно быть. Или компоновка неудачная (несколько колонок на мобильном не делают). При минимальной ширине на мобильнике 360 (может и бывает меньше, но давно не встречались) И высоте шрифта 14px - в строке помещается 36-40 символов. Ну не знаю я таких слов. На мобильных обычно делается выравнивание по левому краю и разрешение переносов. Все более-менее получается. Лесенка, но это же смартфон. Большего от него требовать трудно.

Там у меня примерно такой код

const reprednbs = /((?<![^\s\(«'"])(с|со|см\.|в|во|вне|у|к|ко|на|не|ни|над|по|под|про|при|за|о|от|об|обо|до|для|и|из|им\.|без|а|или|\/\/)(\s+|$))/ig;
const rechastnbs = /\s+(же|ли|бы)(?=[\s\)\.,\:;»'"$])/ig;
const redefis = /([^\s\u2002])([\-\u{2010}\u{2011}\u{2012}\u{2013}\u{2014}])([^\s\u2002])/ug;
const retire = /(\s+)([-\u{2010}\u{2011}\u{2012}\u{2013}\u{2014}])(\s+)/ug;


let rep = false
let text = node.data; // node - текстовый узел

/* Ставим неразрывный пробел после предлогов и частиц*/
if (reprednbs.test(text)) {
	text = text.replaceAll(reprednbs, '$2\u00a0');
	rep = true;
}
/* Ставим неразрывный пробел перед частицами бы ли же*/
if (rechastnbs.test(text)) {
	text = text.replaceAll(rechastnbs, '\u00a0$1');
	rep = true;
}
/* Ставим неразрывный  дефис*/
if (redefis.test(text)) {
	text = text.replaceAll(redefis, '$1\u2011$3');
	rep = true;
}
/* Ставим тире и неразрывный пробел перед ним*/
if (retire.test(text)) {
	text = text.replaceAll(retire, '\u00a0\u2014 ');
	rep = true;
}
//.... Еще всякие варианты
if (rep) {
	node.data = text;
}

Как ни странно, с предварительной проверкой ( if (re.test()) ) работает хоть и немного (3-5%) но быстрее.

У нас там на страницах бывает много формул, которые обрабатываются МathJаx. Так он может работать 3-5 сек. Да и грузится он не быстро. Пока он грузится (async), все это успеет обработаться.

Про высокопосещаемые ресурсы - непонятно. Они дают нагрузку на сервер. А обработка идет в браузере. Ему то все равно высоко это посещаемый ресурс или нет.

Нет. Свой. Никаких массивов, все на регулярках.

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

Ну без тестов нельзя утверждать. У меня подобная вещь работает на странице. Текст длинной около 19К обрабатывается примерно за 110 мс.

Браузер Хром, Проц i5 12100

На мозиле немного дольше - 150 мс.

А работа это только it?

Токари, пекари лекари не работают?

Нет. Никакой транспиляции, и никаких проверок. Проверять придется отдельно. Только стирание информации о типах (Type stripping). Именно поэтому ts поддерживается не в полном объеме. Не поддерживается то, что требует изменения кода js - типа перечислений или декораторов.

https://nodejs.org/api/typescript.html#type-stripping

Сам js во время работы и компиляции (в байткод) никаких проверок этой типизации не делает и не будет делать. Только ide (типа VSCode) этим будет заниматься. А движок js (пока только в Node) просто удаляет информацию о типах (заменяет ее пробелами).

И какие проблемы устранятся с типизацией? Типизации в самом js не будет никогда. Это все только для ide.

Как работать с датами до нашей эры?

Как работать с временм в разных часовых поясах?

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

А отоларинголог должен все осмотреть, а хирург ощупать ....

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

Information

Rating
7,928-th
Registered
Activity