BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
Оператор объединения словарей

В Python есть много разных способов объединить несколько словарей. На картинке работает оператор |, с помощью которого можно это делать проще всего.
Forwarded from Блог*
#prog #rust #article

How much does Rust's bounds checking actually cost?

What is the actual cost of all this extra bounds checking, though? There’s a little bit of prior art here <...> On the other hand, I wasn’t able to find an extensive analysis of the cost of pervasive bounds checking on a real, large, production Rust codebase with high performance sensitivity. I happen to work on one of those, so I figured it might be interesting to take a look at the cost of bounds checks in the hot path.

TL;DR: выкидывание всех этих проверок — даже с использованием запатченного rustc, который не генерирует инструкции с проверками индексации (что вообще-то unsound) — не делает программу быстрее и даже может сделать несколько медленнее.
Forwarded from Just code IT
Как компьютерная графика подняла сетевой протокол

Один из наших авторов однажды участвовал в проекте, в котором надо было передавать по Wi-Fi видеопоток в DVD-качестве (5-7 мегабит) с устройства, которое не являлось точкой доступа, сразу на несколько принимающих PC.

А надо сказать, в стандартном Wi-Fi все ходит через точку доступа. То есть любой пакет от станции к станции занимает эфир два раза. Вдобавок Wi-Fi был старомодный, 54 мегабита, что с учетом всех зазоров между пакетами давало где-то 22 реальных мегабита по TCP между станцией и точкой доступа, или половину этого между двумя станциями (автор, конечно, использовал UDP, но цифры по TCP уместны для оценки).

В общем, пришлось изобретать метод, как передавать данные между станциями напрямую, минуя точку доступа ни ничего при этом не ломая. Как следствие, пришлось изобретать механизм подбора оптимальной скорости модуляции.

Допустим, можно среди пакетов, которые передаются на выбранной скорости, подмешать некоторое количество пробных пакетов на других скоростях, посчитать по ним статистику и выбрать скорость, которая кажется наиболее многообещающей, с учетом теоретической скорости доставки и статистики потерь.

Но как среди N пакетов послать M пробных, более-менее равномерно размазав их среди общего потока?

Для этой цели автор применил графический алгоритм Брезенхема, рисующий линии на дискретном экране: мысленно рисуем диагональ прямоугольничка NxM и там, где линия меняет высоту, вставляем пробный пакет.

Так, графический алгоритм, придуманный для рисования на экране прямых, нашел свое применение в сетевом протоколе :)

#digest
Forwarded from Just code IT
Не искушайтесь аудит-логами

На многих системах во имя безопасности появляется сущность аудит-лога. Аудит-лог предназначен для хранения информации о событиях безопасности (например: «пользователь залогинился», «пользователь 3 раза подряд не смог залогиниться», «пользователь удалил бэкап» и так далее).

Аудит-лог, как правило, сделан добротно и аттестован всеми аттестатами. И тут возникает искушение писать в него не только события безопасности, но и общесистемные события, которые кажутся важными (к примеру, когда пофейлилась аллокация в ядре). Оставим за скобками что важных-как-кажется-событий будет становится больше и решительно осудим такой подход с самого начала.

1. Как правило, у аудит-лога и обычного лога разные настройки конфиденциальности. Обычные логи может читать администратор системы или даже простой пользователь во имя debug-ability и возможности самостоятельно решать часть проблем. Аудит-лог читает только аудитор, так как он содержит сенситивную информацию.

2. Аудит-лог и обычный лог чаще всего имеют разные политики целостности. В обычный лог пишут и обычные приложения, и самые разные части системы. А произвольная запись в аудит-лог должна быть ограничена — только TCB-of-TCB может перезаписать данные. Если вообще может.

3. Аудит-лог и обычный лог имеют разные retention policies. Обычные логи ротируются и обрезаются. Аудит-лог хранится долго, и его ротация – это важное событие, которое благословляется высокими кредами, а иногда сопровождается записью на другой носитель.

Вывод: используйте концепты по прямому назначению и не используйте их всуе. А если хотите переиспользовать концепт вне домена, четко представляйте ограничения в моменте и их будущее развитие.

#digest
тема с макросами и мета пограмированием для запросов это оч хорошо. представить бы не именно скул а сразу скомпилированный запрос который попадал бы в базу, аля хранимка для прилаги - прямо до старта уже былап бы там это былобы просто круто. что бы не гонять эти строки по сети впринципе а скомпилированный запрос вообще шикарно бы отрабатывал.... эх мечты-мечты... или не?

== Разработка макроса Rust для автоматического написания шаблонного кода SQL
https://nuancesprog.ru/p/16570/
👍1
мдя... зеро толеранс во всей красе. не доверяет вообще даже собственным кнопкам, шифруя все... но не панацея

запустить компьютинг под айфоном что бы сломать айфон, использовав только код зацикливания гифки) ОГОНЬ !!!! 🔥🔥🔥🔥

== БЕЗОПАСНОСТЬ APPLE - МИФ? | РАЗБОР
https://youtu.be/YoAy9QV3TR4
Forwarded from Заработок онлайн 💰NOSCAM
Please open Telegram to view this post
VIEW IN TELEGRAM
немного картинок про лужи/озера/болота данных

в бронзе - лежит все как попало от провайдера
в сильвере - четко и по полкам, чисто и в одном формате
в голде - агрегированно уже под конкретные цели

а. ну и файлики лучше ложить по такому адресу
/zone/project/data-type/year/month/day/hour/minute
👍1
немного картинок про БигДата архитектуры

в Лямбде делится на два. один догоняет другой. запросы идут одновременно в оба, в зависимости от того какие данные надо сейчас

в Каппе все воспринимаем как поток
хорошая напоминалочка про Fault tolerance

https://en.wikipedia.org/wiki/Fault_tolerance
Идеальней комикса, объясняющего eventual consistency наверное нет

https://twitter.com/randomazer/status/1607357737645608960
🤩5