Интересные обсуждения

темы заинтересовавшие velkin

Почему вы лоханётесь с упрощёнными разметками

vsb vsb
Работаю над системой, в которой работают пользователи. Тут всё как у всех — тормоза, десять метров жаваскрипта грузят текста 300 байт и тд.

Иногда по своей инициативе исправляю некоторые особенно яркие проблемы. К примеру есть одна пдфка, которую пользователи грузят по несколько десятков раз на день. Она формировалась примерно минуту, там был адский стек из генерации SVG -> PNG; HTML + PNG -> PDF, в какой-то момент эта процедура была самой ресурсо-затратной во всей системе с большим отрывом. Помимо прочего SVG -> PNG уничтожал векторность, а также у сгенерированной PDF был относительно большой размер (несколько мегабайтов). А векторность там в теории важна — там что-то вроде графиков.

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

Ещё прикрутил сжатие жаваскрипта. Почему-то отдавался в несжатом виде. В итоге сайт грузит не 3 мегабайта жаваскрипта, а где-то 300 килобайтов гзипа. С кешированием, конечно, оно не так заметно, но всё же. Причём у многих пользователей интернет не суперский.

И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.

Обидно!

А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.
rosencrantz
rosencrantz На скорость всем пофиг
02.04.2024 03:03
Здравствуйте, vsb, Вы писали:

vsb>Обидно!


А расскажите как теперь это повлияет на вашу дальнейшую работу? Вот например не будете чинить такие проблемы. Или будете чинить когда "скажут". Или решите изучить — как выяснять что чинить, чтобы пользователи спасибо сказали — и уже потом чинить.
LaptevVV
LaptevVV На скорость всем пофиг
02.04.2024 03:44
vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.
vsb>Обидно!
Если тебе платят деньги, и ты еще от этого удовольствие получаешь, то супер!
А чего там пользователи гворят/не говорят — абсолютно пофиг!
rFLY
rFLY
02.04.2024 03:10
Здравствуйте, LaptevVV, Вы писали:

LVV>от этого удовольствие получаешь, то супер!

Атож. Недавно переписал какую-то древнюю хранимку в скуле, вместо 40-50 секунд стала выполняться за 3 (уменьшить наврятли получится, так как там линкедсерверы и все с этим связанное). Никто не отметил, зато сам получил удовольствие от того как работает.
CreatorCray
CreatorCray
03.04.2024 12:16
Здравствуйте, rFLY, Вы писали:

LVV>>от этого удовольствие получаешь, то супер!

FLY>Атож. Недавно переписал какую-то древнюю хранимку в скуле, вместо 40-50 секунд стала выполняться за 3 (уменьшить наврятли получится, так как там линкедсерверы и все с этим связанное). Никто не отметил, зато сам получил удовольствие от того как работает.

Я тут внезапно (слоупок, да) обнаружил что VTune оказывается совсем бесплатный стал.
СкОчал, поставил, от нефиг делать натравил на проект где и так всё неплохо было.
Нашёл в нём пару довольно неочевидных узких мест, поправил, стало вместо 90ms пересчитывать большой граф за 47ms
Вообще хрен заметишь, но на душе приятно!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
rFLY
rFLY
04.04.2024 01:15
Здравствуйте, CreatorCray, Вы писали:

CC>Я тут внезапно (слоупок, да) обнаружил что VTune оказывается совсем бесплатный стал.

О, надо будет попробовать

Хех, только Intel санкции наложил Ладно, чуть освобожусь, найду какой-нибудь бесплатный vpn и скачаю.
Marty
Marty
06.04.2024 10:06
Здравствуйте, rFLY, Вы писали:

CC>>Я тут внезапно (слоупок, да) обнаружил что VTune оказывается совсем бесплатный стал.

FLY>О, надо будет попробовать

FLY>Хех, только Intel санкции наложил Ладно, чуть освобожусь, найду какой-нибудь бесплатный vpn и скачаю.


Ты потом выложи где-нибудь, не отсвечивая, и кинь мне ссылку в личку
rFLY
rFLY
07.04.2024 06:11
Здравствуйте, Marty, Вы писали:

M>Ты потом выложи где-нибудь, не отсвечивая, и кинь мне ссылку в личку

Что-то не отправляется в личку, пишет "Failure sending mail."
Скачал профайлер отдельно (870Мб) и в составе тулкита (около 3Гб), но только для винды и пока ничего из этого не ставил. Если еще нужно, напиши ты (может от тебя почта уйдет), что и куда закинуть.
Marty
Marty
07.04.2024 11:58
Здравствуйте, rFLY, Вы писали:

FLY>Скачал профайлер отдельно (870Мб) и в составе тулкита (около 3Гб), но только для винды и пока ничего из этого не ставил. Если еще нужно, напиши ты (может от тебя почта уйдет), что и куда закинуть.


amart собака mail.ru
serg_joker
serg_joker
04.04.2024 04:58
Здравствуйте, CreatorCray, Вы писали:

CC>Я тут внезапно (слоупок, да) обнаружил что VTune оказывается совсем бесплатный стал.

Это я удачно зашёл. Спасибо!
CreatorCray
CreatorCray
04.04.2024 09:36
Здравствуйте, serg_joker, Вы писали:

CC>>Я тут внезапно (слоупок, да) обнаружил что VTune оказывается совсем бесплатный стал.

_>Это я удачно зашёл. Спасибо!
Носи на здоровье!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Nuzhny
Nuzhny На скорость всем пофиг
02.04.2024 03:55
Здравствуйте, vsb, Вы писали:

vsb>Обидно!

vsb>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.

Одно из правил инженера: "Хорошо делай — хорошо будет."
Не важно, что скажут пользователи, потому что хорошо — это норма, за которую хвалить не надо. Надо ругать за плохо. Типа как не красть — это тоже норма.
Михаил Романов
Михаил Романов
02.04.2024 01:21
Здравствуйте, Nuzhny, Вы писали:

N>Не важно, что скажут пользователи, потому что хорошо — это норма, за которую хвалить не надо. Надо ругать за плохо. Типа как не красть — это тоже норма.

Хотя я сам жил (да и до сих пор живу) в схожей парадигме, тем не менее поспорю.

В данном случае коллега vsb сделал нечто большее, чем "закрыл очередной продуктовый цикл". Может быть это прозвучит несколько пафосно, но в каком-то смысле он вложил в эту работу душу.
И желать чтобы эта работа была кем-то замечена — мне кажется вполне естественным.

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

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

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

Имхо, здесь задача собрать этот позитивный отклик — лежит целиком на руководстве. Это просто отличный (и относительно недорогой) способ мотивации.

P.S. Я не руководитель и даже не лид, может быть и потому еще, что тоже не особо умею хвалить.
rFLY
rFLY
02.04.2024 04:15
Здравствуйте, Михаил Романов, Вы писали:

МР>P.S. Я не руководитель и даже не лид, может быть и потому еще, что тоже не особо умею хвалить.

Где-то в середине 2000-х нам на работе всем настоятельно предложили посетить одну комнатку. Там женщина показывала всякие картинки и задавала странные вопросы. По итогу по каждому сотруднику было сделано заключение (оно не раскрывалось, но узнали): этот готов работать за спасибо предпочитает когда его хвалят, а тот лучше деньгами возьмет. Не знаю, были сделаны какие либо выводы, но некоторых стали хвалить чаще.
SkyDance
SkyDance
02.04.2024 05:22
МР>Имхо, здесь задача собрать этот позитивный отклик — лежит целиком на руководстве. Это просто отличный (и относительно недорогой) способ мотивации.

Правильно. Вот только... а что может сказать руководство? Похвалить? Похлопать по плечу? Да, это важно и ценно.
Но. После пятого похлопывания по плечу, шестого не последует. Потому что это стало нормальным. Он инженера стали ожидать, что он будет еще и это делать.
Pzz
Pzz На скорость всем пофиг
02.04.2024 07:34
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.


vsb>Обидно!


Ты молодец. Я не подкалываю, правда так думаю.
ArtDenis
ArtDenis На скорость всем пофиг
02.04.2024 07:42
Здравствуйте, vsb, Вы писали:

vsb>Вообще всем пофиг. Никто ничего не написал.

vsb>Обидно!

Добро пожаловать в клуб
rFLY
rFLY На скорость всем пофиг
02.04.2024 08:08
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.

Напомнило:

Наша служба и опасна и трудна
И на первый взгляд, как будто не видна



vsb>Обидно!

Но-но, держать строй!
Osaka
Osaka На скорость всем пофиг
02.04.2024 08:25
vsb>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.

если что-то общепринято — значит, оно верно. Как бы плохо им не было, но если формально "всё, как у людей" — значит, с их точки зрения, так оно и должно быть.

Чтобы хвалило большинство "общепринятых", надо быть модным и хорошо продаваться.
rm2
rm2 На скорость всем пофиг
02.04.2024 09:05
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.


если пользователи пользуются программой на работе в рабочих целях — им может быть даже не пофиг, у них может быть даже негатив, т.к. пауза где они могли подумать "о своем" пропала.
Alekzander
Alekzander На скорость всем пофиг
02.04.2024 12:14
Здравствуйте, vsb, Вы писали:

vsb>Обидно!


vsb>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.



Иди, обниму.

Если серьёзно, такие вещи как ненужная растеризация я бы тоже удалил. Качество улучшилось, а кода стало меньше — это же круто. Главное, это потом не вылезет при переходе на UUUUUHD-мониторы или ещё где-то. Такую особенность правильного кода часто недооценивают.
karbofos42
karbofos42 На скорость всем пофиг
02.04.2024 12:26
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.


Сам много кому благодарности высказывал?
У пользователей вообще есть инструмент для этого? Или в баг-трекере каком должны карточку завести как стало всё замечательно?
Serginio1
Serginio1 На скорость всем пофиг
02.04.2024 02:46
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.


vsb>Обидно!


vsb>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.

Пользователь скажет спасибо не за скорость, а за улучшение функционала. Там где экономятся не секунды и даже не минуты, а десятки минут и часы!
Ну и не написали, это не значит, что не заметили. Просто они ждут постоянного улучшения!
student__
student__ На скорость всем пофиг
04.04.2024 11:42
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.


Так они раньше эту минуту тратили на то, чтобы сходить за кофе, а теперь у них ощущение, что ты их лишил паузы, и они, как ослики должны работать.
Codealot
Codealot
12.05.2024 04:54
Здравствуйте, student__, Вы писали:

__>Так они раньше эту минуту тратили на то, чтобы сходить за кофе, а теперь у них ощущение, что ты их лишил паузы, и они, как ослики должны работать.


Кстати да, раньше такая мысль не приходила мне в голову.
gandjustas
gandjustas На скорость всем пофиг
04.04.2024 11:55
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.

Пишут только когда работает плохо. Если все работает хорошо — все молчат.
Философия unix в действии
Константин Л.
Константин Л. На скорость всем пофиг
04.04.2024 10:22
Здравствуйте, vsb, Вы писали:

[]

vsb>Я это всё переписал с нуля, генерируя PDF низкоуровневой библиотекой. В результате процедура генерации работает доли секунды, PDF стала занимать несколько сотен килобайтов, все графики стали кристально чистые и чёткие при любому масштабе.


что за либа?

[]
vsb
vsb
05.04.2024 12:17
Здравствуйте, Константин Л., Вы писали:

vsb>>Я это всё переписал с нуля, генерируя PDF низкоуровневой библиотекой. В результате процедура генерации работает доли секунды, PDF стала занимать несколько сотен килобайтов, все графики стали кристально чистые и чёткие при любому масштабе.


КЛ>что за либа?


https://pdfkit.org/
Константин Л.
Константин Л.
06.04.2024 06:28
Здравствуйте, vsb, Вы писали:

[]

КЛ>>что за либа?


vsb>https://pdfkit.org/


аа, я думал интересное что. зачем он нужен, если все равно нужен браузер и есть Puppeteer?
vsb
vsb
06.04.2024 07:18
Здравствуйте, Константин Л., Вы писали:

КЛ>>>что за либа?


vsb>>https://pdfkit.org/


КЛ>аа, я думал интересное что. зачем он нужен, если все равно нужен браузер и есть Puppeteer?


Ничего не понял.

Он нужен, чтобы генерировать PDF. При чём тут браузер? При чём тут Puppeteer?
Константин Л.
Константин Л.
06.04.2024 09:47
Здравствуйте, vsb, Вы писали:

vsb>Здравствуйте, Константин Л., Вы писали:


КЛ>>>>что за либа?


vsb>>>https://pdfkit.org/


КЛ>>аа, я думал интересное что. зачем он нужен, если все равно нужен браузер и есть Puppeteer?


vsb>Ничего не понял.


vsb>Он нужен, чтобы генерировать PDF. При чём тут браузер? При чём тут Puppeteer?


ну я не виноват, что тексты пишут там не очень

PDFKit is a PDF document generation library for Node and the browser


то есть на голой ноде работает. это хорошо. но чет апи не секси на вид, нормальный отчет на нем сделать анрил
vsb
vsb
07.04.2024 03:51
Здравствуйте, Константин Л., Вы писали:

КЛ>>>>>что за либа?


vsb>>>>https://pdfkit.org/


КЛ>>>аа, я думал интересное что. зачем он нужен, если все равно нужен браузер и есть Puppeteer?


vsb>>Ничего не понял.


vsb>>Он нужен, чтобы генерировать PDF. При чём тут браузер? При чём тут Puppeteer?


КЛ>ну я не виноват, что тексты пишут там не очень

КЛ>

КЛ>PDFKit is a PDF document generation library for Node and the browser


Ну почти любой JS работает на ноде и в браузере, если спец-API не нужны. В моём случае на ноде.

КЛ>то есть на голой ноде работает. это хорошо. но чет апи не секси на вид, нормальный отчет на нем сделать анрил


АПИ там практически соответствует формату PDF, поэтому и написал, что низкоуровневый. Там есть некоторые удобные обёртки, а также есть обработка текста (к примеру кернинг, переносы), но в целом это всё мелочи.

Для моих целей вполне хватило. Да, на HTML конечно было удобней, но и так — нормально.
CreatorCray
CreatorCray
09.04.2024 10:28
Здравствуйте, vsb, Вы писали:

КЛ>>что за либа?

vsb>https://pdfkit.org/

Кстати, может попадалось, есть ли какой нормальный тул для очистки говна от примесей PDF от лишних шрифтов и прочего мусора? Родной акробатовский тул часто упорно оставляет мусор, в частности некоторые безымянные шрифты, которые реально можно выкинуть.
Ручками вычищать мне надоело да и геморно: преобразуешь в PS, выковыриваешь оттуда блоб, правишь рефы, преобразуешь обратно.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
vsb
vsb
10.04.2024 09:21
Здравствуйте, CreatorCray, Вы писали:

КЛ>>>что за либа?

vsb>>https://pdfkit.org/

CC>Кстати, может попадалось, есть ли какой нормальный тул для очистки говна от примесей PDF от лишних шрифтов и прочего мусора? Родной акробатовский тул часто упорно оставляет мусор, в частности некоторые безымянные шрифты, которые реально можно выкинуть.

CC>Ручками вычищать мне надоело да и геморно: преобразуешь в PS, выковыриваешь оттуда блоб, правишь рефы, преобразуешь обратно.

Тут не помогу, к сожалению. Руками как-то формат разбирал интереса ради, но инструменты не изучал.
CreatorCray
CreatorCray
10.04.2024 10:17
Здравствуйте, vsb, Вы писали:

vsb>Руками как-то формат разбирал интереса ради, но инструменты не изучал.

Это я тоже делал, и если заморочиться то можно и самому написать, но это слишком долго а мне такое надо слишком редко чтоб сесть и заняться.
Думал может уже есть что готовое.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Privalov
Privalov
11.04.2024 10:09
Здравствуйте, CreatorCray, Вы писали:

CC>Думал может уже есть что готовое.


Взгляни на это.

https://www.pdfcompressor.net/index.html
https://www.verypdf.com/app/pdftoolbox/pdf-compressor-command-line.html

Я несколько лет назад пробовал. В принципе работает, но иногда портило файлы. Может, с тех пор что-то изменилось.
BSOD
BSOD На скорость всем пофиг
05.04.2024 12:42
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.

vsb>Обидно!

Когда плохо работает — люди жалуются. Когда починишь — так и должно быть.
Такова селяви.
velkin
velkin На скорость всем пофиг
07.04.2024 02:59
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.

vsb>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.

Не пофиг


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

Шаблон template.html

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="css/highlight/styles/github-dark.min.css">
  <script src="css/highlight/highlight.min.js"></script>
  <script>hljs.highlightAll();</script>
  <title>template</title>
</head>
<body>

<header>
  <nav>
    <a href="../index.html">главная</a> /
    ... /
    шаблон
  </nav>
</header>

<main>
  <h1>Шаблон (Template)</h1>

  <p>...</p>
</main>

<footer>
  &nbsp;
</footer>

</body>
</html>

Стиль css/style.css

body {
  color: LightGray;
  background: Black;
}

h1,h2,h3,h4,h5,h6 {
  color: LightYellow;
}

p {
  text-indent: 25px;
  text-align:justify;
}

a {
  color: DeepSkyBlue;
}

p a {
  color: Wheat;
}

ul {
  list-style-type: disc;
}

pre {
  margin-left: 15px;
  display: block;
  border: 1px
  solid LightGray;
}

code {
  color: Wheat;
}

Пример programming/book/the_cpp_programming_language_3s/1_1_the_structure_of_this_book.html

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="../../../css/style.css">
  <link rel="stylesheet" href="../../../css/highlight/styles/github-dark.min.css">
  <script src="../../../css/highlight/highlight.min.js"></script>
  <script>hljs.highlightAll();</script>
  <title>1_1_the_structure_of_this_book</title>
</head>
<body>

<header>
  <nav>
    <a href="../../../index.html">главная</a> /
    <a href="../../../programming.html">программирование</a> /
    <a href="../../book.html">книга</a> /
    <a href="../the_cpp_programming_language_3s.html">язык программирования c++ 3c</a> /
    <a href="../the_cpp_programming_language_3s.html#1_1_the_structure_of_this_book">1.1. Структура книги ... 37</a>
  </nav>
</header>

<main>
  <h1>1.1. Структура книги</h1>

  <p>Книга состоит из шести частей:</p>

  <ul>
    <li>Введение: В главах 1-3 дается обзор языка C++, поддерживаемых им стилей программирования и стандартной библиотеки C++.</li>
    <li>Часть I: В главах 4-9 изучаются встроенные типы языка C++ и базовые средства построения программ.</li>
    <li>Часть II: Главы 10-15 содержат учебный материал по объектно-ориентированному и обобщённому программированию на C++.</li>
    <li>Часть III: В главах 16-22 представлена стандартная библиотека языка C++.</li>
    <li>Часть IV: В главах 23-25 рассматриваются проблемы, связанные с проектированием и разработкой программ.</li>
    <li>Приложения: Приложения A-E содержат технические детали языка C++.</li>
  </ul>

  <p>В главе 1 даётся обзор книги, рекомендации по её чтению, а также общие сведения о языке и способах его применения. Вы можете бегло ознакомиться с ее содержимым, задержавшись лишь на интересных местах, а позднее вернуться к ней снова, после прочтения других частей данной книги.</p>

  <p>Главы 2 и 3 содержат обзор основных концепций и свойств языка C++ и его стандартной библиотеки. Цель этих глав — обратить ваше внимание на важность понимания фундаментальных концепций и базовых свойств языка, демонстрируя то, что может быть выражено полным набором языковых средств. По крайней мере, эти главы должны убедить читателя в том, что язык C++ — это не C, и что он прошел большой путь со времени первого и второго изданий этой книги. Глава 2 посвящена знакомству с высокоуровневыми чертами языка C++: поддержкой абстракции данных, объектно-ориентированным и обобщенным программированием. В главе 3 представлены базовые принципы и основные средства стандартной библиотеки. Это позволит мне применять стандартную библиотеку в последующих главах, а вам — использовать в упражнениях, вместо того, чтобы полагаться исключительно на встроенные низкоуровневые средства языка.</p>

  <p>Вводные главы демонстрируют основной способ представления материала, принятый в данной книге: для того, чтобы обеспечить предметное и реалистичное изучение конкретного вопроса, я вначале коротко излагаю лишь основы концепции, а подробное и углублённое рассмотрение выполняю позже. Такой подход позволяет мне обращаться к конкретным примерам до того, как будут изучены все детали. Можно сказать, организация книги соответствует положению, что мы лучше обучаемся, если продвигаемся от конкретного к абстрактному — даже там, где абстрактные идеи кажутся в ретроспективе простыми и очевидными.</p>

  <p>В части I рассматривается подмножество C++, поддерживающее стили программирования, характерные для языков C или Pascal. Эта часть книги охватывает фундаментальные типы, выражения и управляющие конструкции программ на C++. Модульность в той части, что поддерживается пространствами имён, исходными файлами и обработкой исключений, также рассматривается. Я предполагаю, что вы знакомы с фундаментальными основами программирования, излагаемыми в части I. Поэтому, например, хоть я и рассматриваю рекурсию и итерацию в этой части книги, я не трачу много времени на прояснение вопроса о реальной пользе этих концепций.</p>

  <p>Часть II посвящена средствам C++ для определения и использования новых типов. Здесь представлены (глава 10, глава 12) конкретные и абстрактные классы (интерфейсы), а также перегрузка операций (глава 11), полиморфизм и иерархии классов (глава 12, глава 15). В главе 13 представлены шаблоны, то есть средства для определения семейств типов и функций. Она также демонстрирует способы создания контейнеров (например, списков) и приёмы обобщенного программирования. В главе 14 рассматриваются обработка исключений, методы обработки ошибок и общая стратегия создания устойчивых и надёжных программ. Я предполагаю, что вы или не слишком хорошо знакомы с объектно-ориентированным и обобщённым программированием, или вам не хватает подробных объяснений того, как именно эти базовые абстракции поддерживаются средствами языка C++. Поэтому я рассматриваю не только сами абстракции, но также и технику их применения. В части IV эта тема развивается далее.</p>

  <p>Часть III посвящена стандартной библиотеке языка C++. В ней объясняется, как пользоваться библиотекой, каков её дизайн и техника применения, а также показано, как расширить ее возможности. Библиотека предоставляет контейнеры (такие как list, vector и map; глава 16, глава 17), стандартные алгоритмы (такие как sort, find и merge; глава 18, глава 19), строки (глава 20), ввод/вывод (глава 21) и поддержку вычислений (глава 22).</p>

  <p>Часть IV затрагивает вопросы, актуальные для ситуаций, когда C++ используется в проектировании и реализации больших программных систем. В главе 23 рассматриваются вопросы проектирования и управления ходом выполнения проектов. В главе 24 обсуждается связь между языком программирования и приемами проектирования. Глава 25 демонстрирует некоторые способы применения классов в проектировании.</p>

  <p>Приложение A содержит грамматику C++ с некоторыми комментариями. В приложении B обсуждается связь между C++ и С, а также между стандартным C++ (называемым также ISO C++ или ANSI C++) и предыдущими его версиями. В приложении C представлены некоторые технические детали языка C++. В приложении D рассматриваются средства стандартной библиотеки, предназначенные для локализации программного обеспечения. В приложении E обсуждаются вопросы гарантии возбуждения исключений и соответствующие требования стандартной библиотеки.</p>
</main>

<footer>
  <nav>
    <a href="1_notes_to_the_reader.html">предыдущая</a> /
    <a href="1_1_1_examples_and_references.html">следующая</a>
  </nav>
</footer>

</body>
</html>

Проблемы пользователей программного обеспечения


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

Я вижу два варианта.
1. Мучиться пользуясь тормознутой программой, ждать, ждать и ещё раз ждать.
2. Уйти к конкурентам или даже в никуда, лишь бы не видеть тормознутое говноподелие.

И что можно сказать по поводу проблемы в производительности, которой изначально не должно было быть. По идее и тормознутых говноподелок на рынке не должно быть, но кто их запретит делать. Здесь вопрос скорее нужен ли данный функционал вроде динамической генерации svg. Может хватило бы статической генерации svg. Может стоит обойтись без svg.

В производстве современного программного обеспечения говорят есть проблема бесплатных клиентов. Многие привыкли работать на них, а не на платных клиентов. А бесплатные клиенты в основном якобы хотят свистоперделки, а не то, что реально помогает сэкономить время в работе. То есть оно свестит, пердит, кружится, а скорость и качество работы не увеличивается, или даже уменьшается.
flаt
flаt
08.04.2024 06:41
V>Для примера я упёрся в возможности структурных редакторов Индексация в личных базах знаний, в итоге пришлось переходить на html5.

Markdown не поможет? Писать на голом html заметки — такое себе развлечение.

Ну, или https://notes.sciter.com глянуть.
velkin
velkin
08.04.2024 03:16

Разметки


Здравствуйте, flаt, Вы писали:
V>>Для примера я упёрся в возможности структурных редакторов Индексация в личных базах знаний, в итоге пришлось переходить на html5.
F>Markdown не поможет? Писать на голом html заметки — такое себе развлечение.

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

Из популярных.
1. Html.
2. BBCode
3. Markdown.
4. Wiki-разметка.

Из специальных.
1. Ascii-doctor.
2. Doxygen.
И множество других.

И есть неочевидные новичку факты, пока тот не попробует создать огромное количество документов.

Простота


Когда топят за "не html" часто упирают на простоту. Но давайте разберём, что такое простота и так ли это на самом деле.

Текст без разметок называется простым — простой текст. Разметки это по сути вставки в этот текст. Хотя иногда приходится менять спец. символы, например, в html "<" на "&lt;" или ">" на "&gt;".

Заголовки


Простой текст
Заголовок 1

Заголовок 6

Html
<h1>Заголовок 1</h1>
<h6>Заголовок 6</h6>

BBCode
[h1]Заголовок 1[/h1]
[h6]Заголовок 6[/h6]

Wiki-разметка
= Заголовок 1 =
====== Заголовок 6 ======

Или наоборот типа Zim
====== Заголовок 1 ======
= Заголовок 6 =

Markdown
# Заголовок 1
###### Заголовок 6

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

Параграф (абзац)


Простой текст
Параграф 1.

Параграф 2.

Html
<p>Параграф 1.</p>

<p>Параграф 2.</p>

BBCode
Параграф 1.

Параграф 2.

Wiki-разметка
Параграф 1.

Параграф 2.

Markdown
Параграф 1.

Параграф 2.

И казалось бы html проигрывает всем упрощённым разметкам, ведь нужно набрать больше текста. Но уже можно говорить о том, что html пока что однообразен, тогда как остальные разметки нет.

В html есть простое правило, все теги имеют шаблоны <></> или <>. Пока тегов немного кажется, что можно смухлевать. Как здесь, использовать для разделения параграфов по сути отсутствие форматирования и оставить простой текст.

Выделение текста


Простой текст
жирный
курсив
подчёркнутый
зачёркнутый

Html
<b>жирный</b>
<i>курсив</i>
<u>подчёркнутый</u>
<s>зачёркнутый</s>

BBCode
из-за движка rsdn не отобразить, но это калька html, где вместо <> используется []

Wiki-разметка
**жирный**
//курсив//
__подчёркнутый__
~~зачёркнутый~~

Markdown
**жирный** __жирный__
*курсив* _курсив_
подчёркнутый
~~зачёркнутый~~

1. Html по прежнему однообразен в использовании и это огромный плюс к простоте.
2. BBCode просто тупо копирует html.
3. Wiki-разметка, которую я взял с Zim, использует слишком много символов, которые бы пригодились в тексте.
3. Markdown оказался недоделанным по подчёркиванию и имеет несколько повторений по синтаксису.

Кто ещё думает, что запомнить теги bius и вложить их в шаблон <></> сложнее, чем какую-то ерунду из знаков.

Вложение выделения текста


Простой текст
жирный курсив подчёркнутый зачёркнутый

Html
<b><i><u><s>жирный курсив подчёркнутый зачёркнутый</s></u></i></b>

BBCode
из-за движка rsdn не отобразить, но это калька html, где вместо <> используется []

Wiki-разметка
//**__~~жирный курсив подчёркнутый зачёркнутый~~__**//

Markdown
а хрен его знает


Дальше не буду приводить примеры, потому что мне надоело.

Списки


Списки в html чуть сложнее, чем в "упрощённых разметках".

Многоуровневые списки


Синтаксис многоуровневых списков в html сильно сложнее.

Таблицы


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

Гиперссылки


Возможности гиперссылок и установки якорей в html с атрибутом id в разы лучше любых упрощённых разметок. Это киллер фича, которая делает другие разметки попросту бесполезными. Более того, упрощённые разметки к этому времени уже совсем попутали берега со сложностью набора. Сложность заключается в том, что вместо всё тех же шаблонов <></> и <> я должен выучить ещё что-то.

Изображения


Здесь html на мой взгляд как проще выглядит, так и гораздо более функционален.

Видео, аудио


Html5 поддерживает файлы на локальном диске video, audio, так и вставку iframe с того же youtube.

Для пример.

С диска.
<video src="songa.mp4" height="240px" controls></video>

С youtube
<iframe src="https://www.youtube.com/embed/uQotvEi4-Zw"></iframe>

Эти конструкции очень просты, а результат великолепен. Упрощённые разметки, зачем?

Код в параграфе


Выделение кода в параграфе, тех же идентификаторов и прочего, чтобы он отличался от остального текста.
<code></code>

Код с синтаксической подсветкой


Для примера подсветка highlight.js c++.
<pre><code class="cpp"></code></pre>

Ключевая ошибка новичков в использовании html5


Собственно главная ошибка в переусложнении. Люди видят множество тегов и начинают из них генерировать франкенштейна.

Они не могут понять, что
1. используй они html5 с минимальным функционалом соответствующий упрощённым разметкам,
2. причём с точно такими же отступами для удобного просмотра как в упрощённых разметках,
3. то и простота работы была бы даже лучше, чем в упрощённых разметках за счёт однообразия.

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

Тот пример, который я привёл в предыдущем комментарии в DreamWeaver выглядит так.

http://files.rsdn.org/99832/dreamweaver_01.png

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

http://files.rsdn.org/99832/dreamweaver_02.png

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

Почему вы лоханётесь с упрощёнными разметками


Здесь надо бы написать полноценную статью с полноценным сравнением разметок. Что пытались сделать и что в итоге получилось. Мне надоело писать, я упустил важные моменты, вроде масштабирования изображений, или якоря ссылок. Всё то, что в упрощённых разметках не просто раздражает, а вообще не даёт реализовать задумку в html5 делается элементарно, это базовый функционал.

Я даже не говорю про какое-то сложное форматирование сайтов или ещё чего. Речь именно о личных заметках. Мне тоже в своё время промыли мозги. Да я знал, что есть html4, а потом и html5, но начитался про markdown. И сам ходил такой, о ребята, смотрите, что я обнаружил, markdown, это круто и просто.

Markdown много где есть, в веб-движках, особенно его любят рубисты, вроде GitHub (Markdown) или Redmine (Markdown). Между прочим нет чёткого всемирного стандарта Markdown и его любят мешать с html, когда чего-то не хватает.

А есть ещё генераторы статических сайтов вроде Jekyll_. Типа берёшь Markdown и начинаешь фигачить заметки. Можно даже скачать специализированный редактор чисто под Markdown. Конечно, ведь написать на Markdown якобы проще, чем на html5?

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

Это получается у всех на виду html и в частности html5. На чём построен интернет с точки зрения данных? Понятно же, на html. Но люди смотрят в книгу, видят фигу. Причём я не говорю, что я умный, сразу догадался, что html5 это лучшее решение на рынке.

Нет, меня точно так же развели упрощёнными разметками, в том числе и Markdown. Может быть в каком-нибудь веб-движке для "защиты" и есть смысл в упрощённых разметках, чтобы не внедрили sql-инъекцию, или какой-нибудь html код взламывающий сайт. Но на собственных заметках, которые по сути являются готовым статическим сайтом это всё не нужно.

Да, хотя html4, а потом html5 был всегда у меня на виду, мне понадобилось лохануться и не раз чтобы понять мощь этой технологии в том числе в частном использовании. Что не нужны упрощённые разметки, и что они сложнее в использовании. Что не нужны генераторы в html, это лишнее звено, проще сразу использовать html.

Пока у людей 100 или даже 1000 заметок, они могут этого не замечать. Но практически любой заметит проблему по достижении условных 10'000 заметок. Люди начинают спрашивать, я дошёл до такого-то числа заметок или гиперссылок, почему у меня всё тормознуло в структурном редакторе вроде Zim, как это исправить. Или в Obsidian с его Markdown загружается куча времени.

Ну как это исправить? Перейти на html5. А что вы хотели? И нельзя не лохануться, потому что люди топящие за упрощённые разметки никогда не работали с 10'000 заметок. Вот у меня книга Страуструпа "Язык программирования C++" вышла на 850 html страниц. Не печатных страниц, а это просто главы.

А у меня больше сотни книг по программированию, которые я хотел прочитать и не прочитал, в основном по C++. Если создавать заметки по программам или библиотекам алгоритмов, там в одной только библиотеке может быть больше 10'000 заметок, а интересных программ и библиотек может быть сотни или тысячи. В сумме заметок может быть миллионы или десятки миллионов, но замороченные на этом люди обычно доcтигают до 100'000 .

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

Никогда не говори никогда


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

Лучший язык программирования C++.
Лучший язык разметок Html5.


Да та же самая ня, только в профиль. Что я только не изучал .NET, или Delphi, или Pascal, или QuickBasic и ещё куча других. Это всё тупое разводилово, даже C#. Кто не верит тот может одеть на себя значок "Я не лох".

Лох это судьба


https://www.youtube.com/watch?v=iTnaQd-EKbA
m2user
m2user
09.04.2024 04:12
Вот мне тоже простой html представляется намного более понятным, чем разнообразные типы markdown.
В том числе, потому что стандартизирован и легко конвертируется в xhtml, а это значит, что можно использовать все XML инструменты, типа XPath, XSLT. Или в JSON например конвертировать.

Впрочем я для хранения заметок использую простой plain text. Мне больше не надо, а из преимуществ: легко положить в source control и diff смотреть.
velkin
velkin
09.04.2024 05:26
Здравствуйте, m2user, Вы писали:

M>Вот мне тоже простой html представляется намного более понятным, чем разнообразные типы markdown.

M>Впрочем я для хранения заметок использую простой plain text. Мне больше не надо, а из преимуществ: легко положить в source control и diff смотреть.

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

А без взаимосвязи ссылками или гиперссылками связь останется только в мозгу. Мне каждый раз придётся читать текст, разбирать его на части, потом вспоминать где ещё это упоминалось и вручную туда переходить. Я об этом писал ещё в Новая эра личных баз знаний (14.01.2022).

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

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

Самое интересное меня люди спрашивают, зачем ты пишешь то, что пишешь. А я вот сейчас читаю статью Новая эра личных баз знаний (14.01.2022) в связи с тем, что я вспомнил о ней, когда писал этот ответ и интересно даже сколько там мной уже продумано о чём я давно забыл. Начитался себя же, сейчас опять придётся всё переосмысливать
_FRED_
_FRED_ На скорость всем пофиг
09.04.2024 08:01
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.

vsb>Обидно!
vsb>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.

Точно не пофиг и наверняка многие заметили и улучшения в скорости и в качестве PDF

Но с точки сзения пользователя, стало [наконец-то] "как надо", "как хотели", а не медленно и не красиво. Поэтому, наверное, и не пишут. Хоть и довольны.
Совершенно не стоит на это обращать внимание и продолжать пилить дальше
trop
trop
11.04.2024 04:05
Здравствуйте, _FRED_, Вы писали:
vsb>>А вы жалуетесь на то, сколько там винда занимает. Да пофиг на это всем.
_FR>Точно не пофиг и наверняка многие заметили и улучшения в скорости и в качестве PDF

скорее всего просто никто не знает кто это исправил,
так обычно и происходит с личными инициативами,
когда узнают кто лишил их гемора — зауважают
johny5
johny5 Конечно заметили
13.05.2024 02:10
Да, тоже хотел написать, конечно заметили, просто благодарность уходит в общее "облако" компании, что всё всё у них работает и идёт к улучшению.
Хотите личной — ходите общайтесь, притирайтесь к вашим клиентам чтоб ваше лицо примелькалось. Заодно узнаете настоящие проблемы что их на тот момент коробят, но им некому пожаловаться.
Ник
Ник На скорость всем пофиг
13.05.2024 06:23
vsb>Обидно!
Психологию надо знать... чтобы все вас завалили благодарностями, надо было постепенно доводить эту проблему до нестерпимого ужаса, а вот потом хренакс — и поправить.
Артём
Артём На скорость всем пофиг
14.05.2024 10:14
Здравствуйте, vsb, Вы писали:

vsb>И вот хоть бы один пользователь сказал — как же хорошо стало. Вообще всем пофиг. Никто ничего не написал.


Когда молчат, но ты точно знаешь, что используют- это хорошо. Когда не используют, тогда действительно всем пофиг.
Когда используют, колются, плачут- тогда очень даже громко не молчат в call support.