-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
15 lines (15 loc) · 12.3 KB
/
Copy pathindex.html
File metadata and controls
15 lines (15 loc) · 12.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!doctype html><html lang=en dir=auto data-theme=auto><head><meta name=generator content="Hugo 0.165.0"><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>b8u Blog</title><meta name=keywords content="cpp,templates,programming"><meta name=description content="Personal b8u Blog"><meta name=author content="b8u"><link rel=canonical href=https://b8u.github.io/><link crossorigin=anonymous href=/assets/css/stylesheet.cd9298b33628769aa1bc1acebbbfd7aa11ce81dfe03484d479e1907760249a1d.css integrity="sha256-zZKYszYodpqhvBrOu7/XqhHOgd/gNITUeeGQd2Akmh0=" rel="preload stylesheet" as=style><link rel=icon href=https://b8u.github.io/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://b8u.github.io/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://b8u.github.io/favicon-32x32.png><link rel=apple-touch-icon href=https://b8u.github.io/apple-touch-icon.png><link rel=mask-icon href=https://b8u.github.io/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link rel=alternate type=application/rss+xml href=https://b8u.github.io/index.xml title=rss><link rel=alternate hreflang=en href=https://b8u.github.io/><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51);color-scheme:dark}.list{background:var(--theme)}.toc{background:var(--entry)}}</style></noscript><script>localStorage.getItem("pref-theme")==="dark"?document.querySelector("html").dataset.theme="dark":localStorage.getItem("pref-theme")==="light"?document.querySelector("html").dataset.theme="light":window.matchMedia("(prefers-color-scheme: dark)").matches?document.querySelector("html").dataset.theme="dark":document.querySelector("html").dataset.theme="light"</script><meta property="og:url" content="https://b8u.github.io/"><meta property="og:site_name" content="b8u Blog"><meta property="og:title" content="b8u Blog"><meta property="og:description" content="Personal b8u Blog"><meta property="og:locale" content="ru"><meta property="og:type" content="website"><meta name=twitter:card content="summary"><meta name=twitter:title content="b8u Blog"><meta name=twitter:description content="Personal b8u Blog"><script type=application/ld+json>{"@context":"https://schema.org","@type":"Organization","name":"b8u Blog","url":"https://b8u.github.io/","description":"Personal b8u Blog","logo":"https://b8u.github.io/favicon.ico","sameAs":[]}</script></head><body class=list id=top><header class=header><nav class=header-nav><div class=logo><a href=https://b8u.github.io/ accesskey=h title="b8u Blog (Alt + H)">b8u Blog</a><div class=logo-switches><button id=theme-toggle class=theme-toggle accesskey=t title="(Alt + T)" aria-label="Toggle theme">
<svg class="moon" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg>
<svg class="sun" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></div></div><ul id=menu class=menu><li><a href=https://b8u.github.io/ title=blog><span class=active>blog</span></a></li><li><a href=https://b8u.github.io/posts/ title=archive><span>archive</span></a></li><li><a href=https://b8u.github.io/tags/ title=tags><span>tags</span></a></li><li><a href=https://b8u.github.io/about/ title=about><span>about</span></a></li></ul></nav></header><main class=main><article class=first-entry><header class=entry-header><h2 class=entry-hint-parent>Что-то о чем-то</h2></header><div class=entry-content><p>Это больше вопрос про “что мы имеем” или “чем мы обладаем”. Я помню, как детстве, находя интересный мне сайт я хотел его распечатать. Я тогда не знал о закладках, да и не помогли бы они (нужен доступ в интернет). Тут есть 2 идеи, которые были присущи интернету тех лет:
Интересная информация - бесплатная. Ты можешь обладать этой информацией. Правда, для полной картины нужно что-то еще, а именно - в нем есть интересная информация и она может исчезнуть в любой момент (страницы умирают постоянно и слава архиву).
...</p></div><footer class=entry-footer><span title='2026-08-12 16:10:21 +0100 +0100'>12 августа 2026 г.</span> · <span>b8u</span></footer><a class=entry-link aria-label="post link to Что-то о чем-то" href=https://b8u.github.io/posts/something-1/></a></article><article class=post-entry><header class=entry-header><h2 class=entry-hint-parent>Структура передачи последнего стейта потоку</h2></header><div class=entry-content><p>Intro и постановка задачи Возникла у меня задача передавать данные между потоками со следующими условиями:
Любой пакет не зависит от предыдущего. Новый пакет отменяет значение предыдущего. Пакет может быть сформирован лишь в определенный момент времени (не по запросу потребителя). Другими словами есть некоторый снепшот состояния подсистемы, который уникален для каждого отрезка времени. Другой подсистеме нужно получать последнее доступное состояние (в любой момент времени). Решение получилось достаточно интересным, чем и решил поделиться с общественностью.
...</p></div><footer class=entry-footer><span title='2019-10-29 20:01:32 +0100 CET'>29 октября 2019 г.</span> · <span>b8u</span></footer><a class=entry-link aria-label="post link to Структура передачи последнего стейта потоку" href=https://b8u.github.io/posts/concurent-last-state/></a></article><article class=post-entry><header class=entry-header><h2 class=entry-hint-parent>Генерация обертки XMVector на шаблонах</h2></header><div class=entry-content><p>Intro В библиотеке DirectXMath есть тип XMVector, который использует SIMD инструкции, для обеспечения большей производительности. Есть у него один недостаток - это упакованные данные и для получения привычного представления вектора (как скажем в glm), необходима конвертация через функции XMStore*/XMLoad*. Таких типов достаточно много и писать обертки к каждому дело утомительное, но можно поупражняться в шаблонах для автоматической генерации оберток.
Следует отметить, что использование кода ниже может привести к падению производительности вашего приложения.
...</p></div><footer class=entry-footer><span title='2019-08-05 21:18:48 +0200 CEST'>5 августа 2019 г.</span> · <span>b8u</span></footer><a class=entry-link aria-label="post link to Генерация обертки XMVector на шаблонах" href=https://b8u.github.io/posts/xmvector-wrapper-generation-ru/></a></article><article class=post-entry><header class=entry-header><h2 class=entry-hint-parent>Рекурсивный шаблонный тип</h2></header><div class=entry-content><p>Intro Довелось мне столкнуться со странной структурой данных (похожей на JSON). Она представляет собой гетерогенное дерево, каждый узел которого содержит некоторые данные и множество дочерних узлов. Особенность заключается в том, что это множество может быть как простым контейнером (std::vector) так и ассоциативным (std::map). Получается, если узел хранит дочерние узлы в мапе - это JSON Object, а если вектор - JSON Array.
В реализации этой структуры данных меня смущала сложная иерархия классов и то, что класс, который должен храниться в этом контейнере, обязательно должен реализовывать некий интерфейс.
...</p></div><footer class=entry-footer><span title='2019-06-09 16:01:23 +0800 +0800'>9 июня 2019 г.</span> · <span>b8u</span></footer><a class=entry-link aria-label="post link to Рекурсивный шаблонный тип" href=https://b8u.github.io/posts/template-recursion-type-ru/></a></article><article class=post-entry><header class=entry-header><h2 class=entry-hint-parent></h2></header><div class=entry-content><p></p></div><footer class=entry-footer><span>b8u</span></footer><a class=entry-link aria-label="post link to " href=https://b8u.github.io/posts/slackware_install/></a></article></main><footer class=footer><span>© 2026 <a href=https://b8u.github.io/>b8u Blog</a></span> ·
<span>Powered by
<a href="https://gohugo.io/?utm_source=papermod" rel=noopener target=_blank>Hugo</a> &
<a href=https://github.com/adityatelange/hugo-PaperMod/ rel=noopener target=_blank>PaperMod</a></span></footer><a href=#top id=top-link class="top-link hidden" aria-label="go to top" title="Go to Top (Alt + G)" accesskey=g><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevrons-up"><polyline points="17 11 12 6 7 11"/><polyline points="17 18 12 13 7 18"/></svg>
</a><script>let menu=document.getElementById("menu");if(menu){const e=localStorage.getItem("menu-scroll-position");e&&(menu.scrollLeft=parseInt(e,10)),menu.onscroll=function(){localStorage.setItem("menu-scroll-position",menu.scrollLeft)}}document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();var t=this.getAttribute("href").substr(1);window.matchMedia("(prefers-reduced-motion: reduce)").matches?document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView():document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView({behavior:"smooth"}),t==="top"?history.replaceState(null,null," "):history.pushState(null,null,`#${t}`)})})</script><script>var toplink=document.getElementById("top-link");window.onscroll=function(){const e=window.innerHeight;document.body.scrollTop>e||document.documentElement.scrollTop>e?toplink.classList.remove("hidden"):toplink.classList.add("hidden")}</script><script>document.getElementById("theme-toggle").addEventListener("click",()=>{const e=document.querySelector("html");e.dataset.theme==="dark"?(e.dataset.theme="light",localStorage.setItem("pref-theme","light")):(e.dataset.theme="dark",localStorage.setItem("pref-theme","dark"))})</script></body></html>