1.84K subscribers
3.26K photos
129 videos
15 files
3.54K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
#prog #cpp #article

unique_ptr–How Unique is it?

Статья от 2009 года, в которой Бартош Милевски сетует на недостатки unique_ptr и предлагает возможные предложения в язык для исправления ситуации... В виде модификаторов типов unique и lent. Да, весьма похоже на Rust.
😁4🤔1
🫡

Жду теперь когда Rust подпишется
🥰16😁11👍3😭1
Очередной #лингво #meme про издевательство над здравым смыслом в английском языке
👎1
Forwarded from Д їде дахом
🤣14😢3🤷2🤯1
С милым рай и в шалаше

В. И. Ленин
😁8🤡4🤯1
Statements dreamed up by the utterly deranged

#rust #quotes
Блог*
А "Ледниковый период" — годом позже, в 2002. То есть 21 год назад.
Не столь впечатляющий пример на фоне предыдущих, но всё же.

"Гадкий я" вышел в июле 2010 года. То есть почти 14 лет назад.
🤯5😭3
Чувак вигадав ДжоДжо
Або Шаман кінг
Або Персона 5
Блог* pinned «Кстати, в Steam на Cultist simulator сейчас скидка 50%, продлится до 1 апреля»
👀
🤣3
😁22🌚6💯1
Блог*
Уход от копирайта в действии
Уход от копирайта в действии, дубль 2
👏2
Блог*
#prog #rust #article ROFL with a LOL: rewriting an NGINX module in Rust
#prog #article

В статье не особо рассказано про то, что именно переписали.

В статье A History of HTML Parsing at Cloudflare: Part 1 рассказывается, как в Cloudflare перешли от отдельных модулей для переписывания ответа серверов (например, замены http на https в ссылках) на отдельный единый фреймворк для потокового парсинга и переписывания HTML, который впоследствии и был опубликован под названием lazyhtml. Также описываются трудности, которые стояли перед этим парсером, и некоторые трюки, которые помогли повысить производительность. В частности, использование своего варианта арифметического кодирования позволило переводить теги в 5-битное число и таким образом сравнивать теги без чувствительности к регистру за констатное время.

В статье A History of HTML Parsing at Cloudflare: Part 2 рассказывается о новой, переписанной версии этого фреймворка, которая получила название LOL HTML (low output latency HTML). Одним из причин переписывания было желание предоставить доступ к выразительному API для динамического переписывания HTML внутри Cloudflare workers. Архитектура lazyhtml предполагала постоянную передачу данных через границу FFI, что было достаточно дорогим, чтобы потенциально свести на нет весь выигрыш в производительности от использования нативного языка.

Переписанный вариант использует синтаксис, схожий с селекторами CSS, для матчинга нужных фрагментов текста, вместо ручного матчинга по нужным свойствам токенов в пользовательских коллбеках, что не только более эргономично, но и позволило провести некоторые оптимизации. Одна из них — деление стейт-машины парсера на подробный парсер, который парсит все теги, и более простой т. н. tag scanner, который на каждый распознанный тег ищет соответствующий закрывающий, игнорируя содержимое документа между ними. За счёт того, что пользователь задаёт паттерны наперёд декларативно, этот подход позволяет безопасно пропускать обработку тех фрагментов текста, в которых пользователь не заинтересован.

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

Обе статьи более подробны, чем я расписал в своём обзоре, так что рекомендую к прочтению.
👍4
Forwarded from ОРУ, СЭР!
В твиттере запустили тренд — спрашивать близких, любили бы их, если бы они были червем