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
👨‍💻Способ решить мучающий вас вопрос

1. Формулируете вопрос.
2. Меняете все слова в нем на аналогичные

Например, вопрос: как мне дальше развивать блог?

Меняем слова:
как = что именно
мне = нам
дальше = в ближайшие недели
развивать = делать
блог = социальные сети

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

Вопрос: как мне зарабатывать больше денег
как = чем именно
мне = моему мозгу
зарабатывать = получать
больше = значительнее
денег = ресурсов

О, интересно вышло. Этот вопрос у меня четвертая попытка. И вот тут круто переворачивает фокус с того, как зарабатывать деньги, на то, что делать, после чего мозг будет больше в ресурсе. А тогда полагаю, и денег будет больше.

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

== ЗАВЫШЕННАЯ ПЛАНКА? Реальный список требований к junor, middle, senior и stаff программистам в США
https://youtu.be/-xyPR8uHAkA
как упороться по мелочам =)
https://youtu.be/w7TURoGE7To
== может ли ChatGPT заменить программиста
https://tproger.ru/articles/mozhet-li-chatgpt-zamenit-bjekend-razrabotchikov/

А ChatGPT больше похоже на игрушку, используя которую можно узнать хорошую начальную базу по какой-то теме, но не более того.
господа. поделитесь хорошими книжками в EPUB (инг или рус)
Оператор объединения словарей

В 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