кроссплатформенная компиляция в #rust огнище 🔥🔥🔥🔥🔥 вот только чтото с
https://cloudwafer.com/blog/installing-openssl-on-ubuntu-16-04-18-04/ неплохой ман по тому как скомпилировать
openssl не получилось скомпилировать. но думаю что получится скоро. https://cloudwafer.com/blog/installing-openssl-on-ubuntu-16-04-18-04/ неплохой ман по тому как скомпилировать
openssl под убунтуCloudwafer Blog
Installing OpenSSL on Ubuntu 16.04/18.04
install the latest version of openssl ubuntu
how to install openssl on linux ubuntu
how to install openssl on linux ubuntu
https://medium.com/@qertoip/how-to-generate-an-array-of-random-bytes-in-rust-ccf742a1afd5 обана. незадокументированная мелочь генерации массива рандомных значений в #rust при помощи
randMedium
How to generate a random byte array in Rust 2018?
It’s very simple (but not documented) for byte arrays of 1 to 32 elements:
Можно сжать ссылки в #jvm за счет разделения хипа на несколько. https://habr.com/ru/post/440166/
Хабр
Сжатие указателей в Java
В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 6...
https://www.youtube.com/watch?v=iTJpGa3W0xc оч хорошо рассказал.
* меньше хип - меньше паузы GC. GC останавливает все потоки. поэтмоу лучше разделить #Jvm на несколько.
* мидеанная задержка меньше 1мксек. изза этого не дюрабл, и зза этого только асинхронная репликация.
* вариант 1 = общение через syscall, лупбэк и сокеты (это поход в ОС и это около 100нс*4) = дорого. лишние копирования (2+) и непредсказуемые задержки.
* вариант 2 = общение через разделяемую память. всеже есть перекопирования. минусов меньше, но есть.
* контекст свич это дорого.
* репликации без логов. просто флаг на данных, и отдельно воркер ходит и перекладывает с одной базы на другую
* асинхронная репликация нарушает консистентность мультикей обновлений.
* меньше хип - меньше паузы GC. GC останавливает все потоки. поэтмоу лучше разделить #Jvm на несколько.
* мидеанная задержка меньше 1мксек. изза этого не дюрабл, и зза этого только асинхронная репликация.
* вариант 1 = общение через syscall, лупбэк и сокеты (это поход в ОС и это около 100нс*4) = дорого. лишние копирования (2+) и непредсказуемые задержки.
* вариант 2 = общение через разделяемую память. всеже есть перекопирования. минусов меньше, но есть.
* контекст свич это дорого.
* репликации без логов. просто флаг на данных, и отдельно воркер ходит и перекладывает с одной базы на другую
* асинхронная репликация нарушает консистентность мультикей обновлений.
YouTube
Chronicle Map — key value хранилище для трейдинга на Java / Роман Левентов (Chronicle Software)
Приглашаем на конференцию Saint HighLoad++ 2025, которая пройдет 23 и 24 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
HighLoad++ 2015
Презентация и тезисы:
http://www.highload.ru/2015/abstracts/1922.html…
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
HighLoad++ 2015
Презентация и тезисы:
http://www.highload.ru/2015/abstracts/1922.html…
https://www.youtube.com/watch?v=g6mso3BiMuQ голопом по европам
* #kdb. ну оооочень шустрая вещь, но дорогущая (20к в год).
* MOM. Informatica Ultra Messaging. Multicast, Hub&Spot. Store&Forward. двухфазный коммит. доставка только раз. - эта очередь умеет оба варианта. UDP multicast, UDP unicast, TCP.
* ИЛИ сквозная нумерация сообщений. Reliable Multicast. - доставка хотябы раз. потребитель отвечает что обработается только однажды. - самая популярная тема
* надежность: иерархический кворум. сиквенирование сообщений.
* тотальный EventDriven. нет статических данных, только ивент
* [спорный] способ представления фронтенда через реляционный язык.
* CEP - Continues Event Processing - не канает. так как не "мгновенно гибко"
* #kdb. ну оооочень шустрая вещь, но дорогущая (20к в год).
* MOM. Informatica Ultra Messaging. Multicast, Hub&Spot. Store&Forward. двухфазный коммит. доставка только раз. - эта очередь умеет оба варианта. UDP multicast, UDP unicast, TCP.
* ИЛИ сквозная нумерация сообщений. Reliable Multicast. - доставка хотябы раз. потребитель отвечает что обработается только однажды. - самая популярная тема
* надежность: иерархический кворум. сиквенирование сообщений.
* тотальный EventDriven. нет статических данных, только ивент
* [спорный] способ представления фронтенда через реляционный язык.
* CEP - Continues Event Processing - не канает. так как не "мгновенно гибко"
YouTube
Секретные технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
HighLoad++ 2015
Презентация и тезисы:
http://www.highload.ru/2015/abstracts/1888.html
Как правило, такое базовое ПО, как языки программирования, системы управления базами данных, брокеры сообщений, используется в разных индустриях и не имеет ярко выраженной…
Презентация и тезисы:
http://www.highload.ru/2015/abstracts/1888.html
Как правило, такое базовое ПО, как языки программирования, системы управления базами данных, брокеры сообщений, используется в разных индустриях и не имеет ярко выраженной…
https://www.youtube.com/watch?v=5DDEIyfw0RU
забавная база LMDB -> MDBX
* COW
* без лога транзакций, без востановления
* ACID/MVCC (https://ru.wikipedia.org/wiki/ACID, https://ru.wikipedia.org/wiki/MVCC)
* Multi Consumer Single Producer
* можно читать в режиме ядра ОС. работа с указателями - нет копирования вообще
* LIFO оч крутое решение для этой базы. снижает нагрузку, увеличивет производительность
забавная база LMDB -> MDBX
* COW
* без лога транзакций, без востановления
* ACID/MVCC (https://ru.wikipedia.org/wiki/ACID, https://ru.wikipedia.org/wiki/MVCC)
* Multi Consumer Single Producer
* можно читать в режиме ядра ОС. работа с указателями - нет копирования вообще
* LIFO оч крутое решение для этой базы. снижает нагрузку, увеличивет производительность
YouTube
Движок LMDB — особенный чемпион / Леонид Юрьев (Петер Сервис R&D)
HighLoad++ 2015
Презентация и тезисы:
http://www.highload.ru/2015/abstracts/1831.html
Lightning Memory-Mapped Database (LMDB) представляет собой интересный, во многом уникальный движок базы данных класса Berkeley DB и Level DB с ребус-подобным исходным…
Презентация и тезисы:
http://www.highload.ru/2015/abstracts/1831.html
Lightning Memory-Mapped Database (LMDB) представляет собой интересный, во многом уникальный движок базы данных класса Berkeley DB и Level DB с ребус-подобным исходным…
https://www.youtube.com/watch?v=f9EbD6iY9zI
как работает SHA-256
https://github.com/in3rsha/sha256-animation
как работает SHA-256
https://github.com/in3rsha/sha256-animation
YouTube
How Does SHA-256 Work?
An explanation of how SHA-256 works, with animations of the operations used inside the hash function.
I'm not a cryptographer though, so I can't explain the reasons behind the design (at the moment).
00:00 - Introduction
↳ 02:20 - Bitcoin Mining
05:05…
I'm not a cryptographer though, so I can't explain the reasons behind the design (at the moment).
00:00 - Introduction
↳ 02:20 - Bitcoin Mining
05:05…
https://www.youtube.com/watch?v=j9tlJAqMV7U
просто афигенный доклад про корутины которые могут переключаться за наносекунду. много кода на #cpp
* переключение между потоками дорого
* префетч наше все
* negative overhead abstraction, again ??? =)
просто афигенный доклад про корутины которые могут переключаться за наносекунду. много кода на #cpp
* переключение между потоками дорого
* префетч наше все
* negative overhead abstraction, again ??? =)
YouTube
CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
http://CppCon.org
“Memory Latency Troubles You? Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Are you doing…
“Memory Latency Troubles You? Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Are you doing…
https://www.chromium.org/Home/chromium-security/memory-safety
к слову про ансэйф и почему #rust может помочь в этом очень сильно. абсолютно все части с
к слову про ансэйф и почему #rust может помочь в этом очень сильно. абсолютно все части с
unsafe убрать нельзя, так как оно нужно иногда. но я бы сказал, что >80% - легко. и весь ансэйф станет явным и инкапсулированнымhttps://github.com/paulkernfeld/global-data-in-rust небольшой гайд по работе с данными в #rust которые генерируются для конфигурации или описания, меняются редко
GitHub
GitHub - paulkernfeld/global-data-in-rust: This guide explains how you can use "global data" in Rust
This guide explains how you can use "global data" in Rust - paulkernfeld/global-data-in-rust
https://nick.groenen.me/posts/rust-error-handling/ отличное овервью удобной обработки ошибок в #rust. обзор двух пакетов
https://crates.io/crates/anyhow
https://crates.io/crates/thiserror
thiserror и anyhow. пожалуй заменю у себя старый пакет custom_error на thiserror, лучше инспекция в IDE так как просто делает дерайв со пропертями, используя стандартный инамhttps://crates.io/crates/anyhow
https://crates.io/crates/thiserror
nick.groenen.me
Rust: Structuring and handling errors in 2020
After working through “the book” on the Rust programming language and getting started with the first non-trivial, real-world application I found myself faced with a question I didn’t yet feel well-equipped to handle: “How should you structure error handling…
https://dev.to/cad97/try-fn-without-special-casing-result-4m5b вот уж не уймутся никак. счет идет уже на символы) хотят совсем сахарный #rust
DEV Community
"try fn" without special-casing Result
There has been much talk recently about "try fn" in Rust. This is to add some fuel to the fire and ad...
https://notes.iveselov.info/programming/time_it-a-case-study-in-rust-macros хороший обзор того как написать свой собственный макрос на #rust
notes.iveselov.info
time_it: a Case Study in Rust Macros
My adventures in Declarative Macros Land
https://dev.to/citizen_stig/converting-bits-to-integers-in-rust-using-generics-2nfg когданибудь мне вновь придется пописать драйверы. но точно знаю что выберу в этот раз #rust. ну а статья рассказывает как конвертить данные с пинов оч удобно
DEV Community
Converting bits to integers in Rust using generics
Let’s imagine there’s input from some device, that produces only zeros and ones and it needed to be...
http://jamesmcm.github.io/blog/2020/05/06/a-practical-introduction-to-async-programming-in-rust/#en эх гдеже ты была раньше, статья ? про асинхронность в #rust сразу с кодом
http://lbrandy.com/blog/2013/02/c11s-six-dots/ оказывается в #cpp есть возможно сделать шесть точек подряд и это валидно
......https://github.com/novacrazy/numeric-array пакет для простоты использования SIMD в #rust
GitHub
GitHub - novacrazy/numeric-array: Wrapper around generic-array that adds efficient numeric trait implementations
Wrapper around generic-array that adds efficient numeric trait implementations - GitHub - novacrazy/numeric-array: Wrapper around generic-array that adds efficient numeric trait implementations
https://www.youtube.com/watch?v=d8BcCLLX4N4 ты крутой если у тебя все быстро, но даже если ты суперкрутой и оптимизировал весь канал связи и драйверы и даже связался с биржей по свч, ты всеравно нарвешься на физические ограничения. специально для того что бы уровнять человеческих трейдеров с HFT трейдерами - на бирже (Nasdaq для примера) есть входные 60км кабеля
https://www.sec.gov/files/07feb18_hu_iex_becoming_an_exchange.pdf
https://www.sec.gov/files/07feb18_hu_iex_becoming_an_exchange.pdf
YouTube
How to slow down a stock exchange
High-frequency traders have a few tactics on stock exchanges: but simply put, they gather price information faster than anyone else, sometimes even faster than the markets themselves, and use that to make a tiny profit many, many, many times. There are all…