ar
Feedback
Блог*

Блог*

الذهاب إلى القناة على Telegram

Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here

إظهار المزيد
1 924
المشتركون
-124 ساعات
-17 أيام
-130 أيام
أرشيف المشاركات
#prog #rust #cpp #article Type Inference in Rust and C++ <...>My feeling is that literally everything above is indicative of a trade-off pattern. If you want to have a fancy, bespoke modern type checker with Hindley-Milner type inference semantics, you need to accept one of the following: 1. Bad performance for your type checker with a risk of exponential blow-up. 2. No features that look anything like “the compiler picks the best option out of several ones”. No function overloading, implicit conversions, etc. Надо отдельно отметить, что deref coercion под "pick the best option out of several ones" не подпадает — Target является у трейта ассоциированным типом, а не параметром, поэтому реализаций Deref у каждого конкретно взятого типа не более одной

#prog #rust #article Branchless UTF-8 Encoding Can you encode UTF-8 without branches? Yes.

#prog #article SemVer Is Not About You Или немного о том, что из себя SemVer представляет на практике

Repost from Neural Machine
У тебя проблемы, а у меня нет.

photo content

#prog #db #article

Repost from N/a
TL;DR статьи Anthony Accomazzo о проблемах разбиения на части результатов запросов к PostgreSQL (ничего нового, но натолкнуло на окончание этого поста): - limit/offset подход медленный (индексация не спасает) и может "терять" результаты при активных удалениях или вставках в таблицу - Разбиение результатов по набору ключей помогает обходить эти проблемы, но не бесплатно (нужно выбирать правильный набор, запоминать вернувшийся уникальный идентификатор последней строки) - Разбиение результатов по набору ключей, не является "постраничным" - вы можете ходить только на один шаг далее, но не можете сразу открыть седьмую страницу - Сложности при необходимости обхода в обе стороны, потому-что начинается путанница с идентификаторами ("курсорами") Читая статью (мне кажется она из this week in rust), вспомнил что где-то видел более интересный разбор методов разбиения результатов в PostgreSQL и использование реальных курсоров. Так и есть, нашёл ту статью от 2016 года, получается #oldbutgold 🥇.

#prog #article When to prefer inheritance to composition <...>So, here's when you want to use inheritance: when you need to instantiate both the parent and child classes and pass them to the same functions. That's it. That's the use case. <...>Inheritance is a useful tool if we need to run our program under the supervision of other code, for the purpose of querying or analysing the original program. That's probably the way I use it the most, and the situation in which I miss having inheritance the most. I don't think it'll forever be the right tool for doing this. Someone will eventually come up with a better way, and we'll generally prefer that to inheritance. The same thing happened with code reuse, subtyping, namespacing, and specialization. Inheritance was the first feature that did any of these things, all of the better approaches we now use came after.

#этотравля
#этотравля

#prog #article Files are hard (от Dan Luu) <...>that's equivalent to saying that as an application developer, writing to files safely is hard enough that it should be done via some kind of library and/or database, not by directly making syscalls. Настоятельно рекомендую к прочтению целиком. Статья ссылается на исследовательские статьи, которые, к сожалению, как правило, сильно устарели в плане того, софт каких версий они проверяют, и при этом почти всегда не имеют современных воспроизведений.

Хот #prog тейк: набор примитивов, предоставляемый файловыми системами, абсолютно неадекватен для написания надёжных программ

#нуя
#нуя

А тем временем число папищеков перевалило за 1800. Прекрасно

Repost from _| ̄|○
photo content

#prog #amazingopensource DWARF Explorer (dwex) A cross-platform GUI utility for visualizing the DWARF debugging information in executable files, built on top of pyelftools and filebytes. Runs on Windows, MacOS X, and Linux. Ввиду того, что написано на Python, пользоваться этим может быть не очень удобно, особенно на Windows.

#prog #article The hunt for error -22 Детективная история про гейзенбаг и его фикс. Железо, на котором был баг — модем с двумя ядрами. Одно может использовать пользовательское firmware (в данном случае написанное на Rust), а второе может использовать только пропиетарную прошивку от производителя. Прошивка поставляется исключительно в виде набора интерфейсных заголовочных файлов и блоба скомпилированного сишного кода. TL;DR: "No way to prevent this, says only language where this regularly happens"

#prog #db DBReader — программа для чтения файлов баз данных напрямую, без поднятия сервера БД

#rust #meme про gcc-rust
#rust #meme про gcc-rust