Блог*
#prog #rust #article Лодочник пишет о Pin. Именно, в первой статье — Pin — автор объясняет, для чего нужен Pin и почему решения, предлагаемые на замену, не подходят и были в конечном счёте отброшены при дизайне async/await. В конце автор расписывает проблемы…
#prog #rust #article
What is a place expression?
Раз уж Лодочник оперирует термином place, имеет смысл прочитать текст от Ральфа о том, что это из себя представляет. Заодно он отвечает на вопрос, почему
является UB, а
— не является.
If you only remember one thing from this blog post, then remember that * dereferences a pointer but does not load from memory; instead, all it does is turn the pointer into a place—it is the subsequent implicit place-to-value conversion that performs the actual load.
What is a place expression?
Раз уж Лодочник оперирует термином place, имеет смысл прочитать текст от Ральфа о том, что это из себя представляет. Заодно он отвечает на вопрос, почему
let _x = *std::ptr::null::<i32>();
является UB, а
let _ = *std::ptr::null::<i32>();
— не является.
If you only remember one thing from this blog post, then remember that * dereferences a pointer but does not load from memory; instead, all it does is turn the pointer into a place—it is the subsequent implicit place-to-value conversion that performs the actual load.
www.ralfj.de
What is a place expression?
One of the more subtle aspects of the Rust language is the fact that there are actually two kinds of expressions: value expressions and place expressions. Most of the time, programmers do n...
👍3
Самое тяжёлое животное в мире — это Felis catus.
Потому что невозможно встать, когда кошка лежит у тебя на коленях.
Потому что невозможно встать, когда кошка лежит у тебя на коленях.
🥰14💯1
Дано:
У kubernetes aka k8s есть REST API.
API при успешном выполнении запроса возвращает JSON.
JSON-ы могут быть большими, хочется запрашивать только нужные поля, чтобы меньше гонять трафика по сети.
k8s написан на Go, в котором есть рефлексия, что позволяет получать доступ к полям структур по рантайм-именам.
Вопрос: почему, не смотря на всё вышеперечисленное, в k8s до сих пор можно выборочно запрашивать только очень ограниченный набор полей у каждого вида ресурса?
#бомбёжкипост
У kubernetes aka k8s есть REST API.
API при успешном выполнении запроса возвращает JSON.
JSON-ы могут быть большими, хочется запрашивать только нужные поля, чтобы меньше гонять трафика по сети.
k8s написан на Go, в котором есть рефлексия, что позволяет получать доступ к полям структур по рантайм-именам.
Вопрос: почему, не смотря на всё вышеперечисленное, в k8s до сих пор можно выборочно запрашивать только очень ограниченный набор полей у каждого вида ресурса?
#бомбёжкипост
Kubernetes
Field Selectors
Field selectors let you select Kubernetes objects based on the value of one or more resource fields. Here are some examples of field selector queries:
metadata.name=my-service metadata.namespace!=default status.phase=Pending This kubectl command selects all…
metadata.name=my-service metadata.namespace!=default status.phase=Pending This kubectl command selects all…
#prog #article
Why I Threw Away Perfectly Good Code
One of my recent responsibilities was to improve how Dolt stores JSON documents internally, in order to speed up complicated queries. <...>
And then we scrapped the whole thing. The PR never got merged. We replaced it instead with a different design that shared a lot of the same high-level ideas, but had almost no code reuse. We spent a lot of engineer-hours on the original design, just to throw it all out. Where did we go wrong?
Except... I don't think we did go wrong. I believe that designing and implementing the original prototype was the right call.
I believe that scrapping it was also the right call.
<...>
Scrapping the prototype code and building the final implementation from scratch freed us from any constraints that the old code imposed and kept us from being locked into undesirable trade-offs.
Кстати, как оказалось, несмотря на то, что представление JSON в виде таблицы с JSON-путями в качестве ключей, строго говоря, довольно расточительно, на практике из-за сжатия для формата на диске это не было проблемой.
Why I Threw Away Perfectly Good Code
One of my recent responsibilities was to improve how Dolt stores JSON documents internally, in order to speed up complicated queries. <...>
And then we scrapped the whole thing. The PR never got merged. We replaced it instead with a different design that shared a lot of the same high-level ideas, but had almost no code reuse. We spent a lot of engineer-hours on the original design, just to throw it all out. Where did we go wrong?
Except... I don't think we did go wrong. I believe that designing and implementing the original prototype was the right call.
I believe that scrapping it was also the right call.
<...>
Scrapping the prototype code and building the final implementation from scratch freed us from any constraints that the old code imposed and kept us from being locked into undesirable trade-offs.
Кстати, как оказалось, несмотря на то, что представление JSON в виде таблицы с JSON-путями в качестве ключей, строго говоря, довольно расточительно, на практике из-за сжатия для формата на диске это не было проблемой.
Dolthub
Why I Threw Away Perfectly Good Code
Throwing out code doesn't mean that it wasn't worth writing.
Типа про IT
Dolt is a SQL database that you can fork, clone, branch, merge, push and pull just like a git repository. Connect to Dolt just like any MySQL database to run queries or update the data using SQL commands. Use the command line interface to import CSV files…
#prog #article
В Dolt используется вероятностная структура данных под названием prolly trees. Они похожи по строение и по характеристикам производительности на B-trees, но, в отличие от них, prolly trees:
1. Имеют строение, не зависящее от порядка вставки ключей.
2. Для них можно эффективно подсчитать разницу, и сложность этой операции будет пропорциональна количеству отличающихся значений.
3. Автоматически переиспользуют хранилище: если у двух prolly trees есть общие части в структуре, то общие части будут использовать одну и ту же память.
Статья Prolly Trees рассказывает об их устройстве и о некоторых нюансах реализации, используемой в Dolt.
В Dolt используется вероятностная структура данных под названием prolly trees. Они похожи по строение и по характеристикам производительности на B-trees, но, в отличие от них, prolly trees:
1. Имеют строение, не зависящее от порядка вставки ключей.
2. Для них можно эффективно подсчитать разницу, и сложность этой операции будет пропорциональна количеству отличающихся значений.
3. Автоматически переиспользуют хранилище: если у двух prolly trees есть общие части в структуре, то общие части будут использовать одну и ту же память.
Статья Prolly Trees рассказывает об их устройстве и о некоторых нюансах реализации, используемой в Dolt.
🤔5
Forwarded from Алиса копается
#dev
https://purplesyringa.moe/blog/i-sped-up-serde-json-strings-by-20-percent/
Последний месяц я занималась оптимизацией serde_json. Подумала, что почитать про мой опыт может быть интересно: одно дело код, другое — мыслительные процессы, backstory и прикольные трюки и подвохи, которые просто так кодом не опишешь. Я часто нахожу интересное на lemire.me; решила попробовать написать что-то в том же стиле.
https://purplesyringa.moe/blog/i-sped-up-serde-json-strings-by-20-percent/
Последний месяц я занималась оптимизацией serde_json. Подумала, что почитать про мой опыт может быть интересно: одно дело код, другое — мыслительные процессы, backstory и прикольные трюки и подвохи, которые просто так кодом не опишешь. Я часто нахожу интересное на lemire.me; решила попробовать написать что-то в том же стиле.
purplesyringa's blog
I sped up serde_json strings by 20%
I have recently done some performance work and realized that reading about my experience could be entertaining. Teaching to think is just as important as teaching to code, but this is seldom done; I think something I’ve done last month is a great opportunity…
🔥11💩3
#prog #rust #article
Doctests - How were they improved?
TL;DR: rustdoc компилировал каждый док-тест в отдельный процесс, но начиная с edition 2024 объединяет док-тесты в один файл для тестов, для которых это возможно
Doctests - How were they improved?
TL;DR: rustdoc компилировал каждый док-тест в отдельный процесс, но начиная с edition 2024 объединяет док-тесты в один файл для тестов, для которых это возможно
blog.guillaume-gomez.fr
Doctests - How were they improved?
Blog of Guillaume Gomez (Doctests - How were they improved?)
👍6
Forwarded from Kedr to Earth | Земля, я Кедр (✅ Yuri Ammosov)
Прислали читатели вот такой скриншот. Что-то эта новость мне смутно припомнила. Призадумался я, и вспомнил.
На шестой день Бородавкин хотел было продолжать бомбардировку, но уже заметил измену. Аманатов ночью выпустили и многих настоящих солдат уволили вчистую и заменили оловянными солдатиками.
– А это что? – спросил он, указывая на оловянных солдатиков.
– Для легости, ваше благородие! – отвечали ему, – провианту не просит, а маршировку и он исполнять может!
Бородавкин ... вдруг остановился как пораженный перед оловянными солдатиками.
Постепенно, в глазах у всех солдатики начали наливаться кровью. Глаза их, доселе неподвижные, вдруг стали вращаться и выражать гнев; усы, нарисованные вкривь и вкось, встали на свои места и начали шевелиться; губы, представлявшие тонкую розовую черту, оттопырились и изъявляли намерение нечто произнести. Появились ноздри, о которых прежде и в помине не было, и начали раздуваться.
– Избы… избы… ломать! – невнятно, но как-то мрачно произнесли оловянные солдатики.
🤡6❤🔥3🤔3😁1
Forwarded from Технологический Болт Генона
Хронология событий
- YouTube стали замедлять
- Пользователи начали делать мозги провайдерам и ливать от них + писать жалобы на провайдеров
- РКН никак не помогал провайдерам решать их проблемы
- Провайдеры самостоятельно стали "ускорять" YouTube за свой счёт
https://www.kommersant.ru/doc/6919868
- РКН пришёл сразу к провайдерам и запретил это делать
https://www.kommersant.ru/doc/6921420
ЗЫ ГРЧЦ подчиняется РКН
- YouTube стали замедлять
- Пользователи начали делать мозги провайдерам и ливать от них + писать жалобы на провайдеров
- РКН никак не помогал провайдерам решать их проблемы
- Провайдеры самостоятельно стали "ускорять" YouTube за свой счёт
В отсутствие официального заявления Роскомнадзора о замедлении YouTube в России операторы связи начали устанавливать на своих сетях решения, которые делают сервис доступным для абонентов. Операторы пытаются привлечь новых абонентов, и так как сервис в РФ не внесен в реестр запрещенных и официально не заблокирован, их действия совершенно законны, отмечают юристы.
https://www.kommersant.ru/doc/6919868
- РКН пришёл сразу к провайдерам и запретил это делать
Роскомнадзор потребовал от операторов связи перестать искажать и подменять интернет-трафик, чтобы не препятствовать работе технических средств противодействия угрозам.
. . .
До 2 сентября операторы должны предоставить в ГРЧЦ отчёты о принятых мерах.
https://www.kommersant.ru/doc/6921420
ЗЫ ГРЧЦ подчиняется РКН
🤡23😁7