Pull to refresh
38
0.9
Dmitry @domix32

Жопа котика

Send message

Как-то смешались в кучу кони люди. Статья должна быть о параллелизме тогда, а не о многопоточности. Ну и про Arc всего лишь крошечный абзац, а про Send/Sync так и вовсе ничего не рассказали. Про каналы, как способ общения между тредами тоже ноль.

потому что там двойное заимствование окажется. Одно от итератора, второе от потока, судя по всему. Чтобы внутри лямбды работать со значениями, а не со ссылками явным образом обозначаем сигнатуру, а дальше сахаратор языка самостоятельно сделает разыменование до значения. Либо можно сделать это ручками

|x| **x % 2 == 0

Но если функция окажется сложнее и значение x понадобиться несколько раз, то придётся каждый раз разыменовывать.

Так расту уже 10+ лет, а Саттеровскому cpp2 всего ничего. Если не работать в каком-нибудь Thinkcell, то фронтистов и не сыскать.

это SSH2, который работает по протоколу HTTP/3 <..>

Значительно более быстрое установление сеанса

Я не понимаю как оно может быть быстрее если оно в HTTP (который plain text) заворачивает бинарный трафик SSH2? Я б понял если бы речь шла за обычный QUIC+TLS, но у вас оно "И", да ещё и с Http Auth. Также непонятно какой профит от более быстрого установления сессии, если всё остальное не меняется.

За секурити решения тоже вопросы. В репе есть кучка дисклеймеров по теме, но нет в статье.

AFL

Речь за AFLPlusPlus или вы прям тот самый старый AFL используете?

Мне интересно, а как вообще происходит прогон фаззинга. Ну, то есть написали тест, а дальше с ним что? Как вы его запускаете, когда останавливаете? По критериям ФСТЭК?

А есть что-нибудь про формальную верифицированные программы, которые были сформированы из пруфов на каком-нибудь Coq/Lean/Idris?

Преимущества перед растом - собственно тесная интеграция с плюсовой же кодовой базой. То есть постепенно переписать проект на это заметно проще ибо оно в итоге все равно в плюсы превратится.

не такого понятия как UB

Ну и зря.

  • A send to a nil channel blocks forever

  • A receive from a nil channel blocks forever

  • A send to a closed channel panics

  • A receive from a closed channel returns the zero value immediately

DoS тоже вполне себе атака.

У ржавых про это хотя бы запариваются. Поди найди кулибинов, которые так жаба или шарповые пакеты так проверяли да ещё и собирали их бд и автоматом проверяли их присутствие в проекте.

Это как-то связано с Пенроузовскими эонами?

Тут есть другая крайность - можно попасть под прицел Rust Evangelism Strikeforce и распевать с ними гимны про blazing fast, empowering и fearless concurrency.

Rust-friendly,

"Идиоматичнее", наверное хотели сказать. В общем на производительность такое никак не повлияет и можно жить и с циклами, но чтобы уменьшить цикломатическую сложность - то что доктор прописал. В некоторых ситуациях можно даже параллелизм прикрутить, но вам оно пока вроде не сильно нужно, т.к. bevy под капотом вроде что-то похожее проворачивает.

Намного, это сколько в парсеках?

Подставьте в формулу рассчёта замедления времени массу нейтрона и посчитайте с какой скоростью ему надо двигаться. Ну и про парсеки вы загнули, конечно.

И как именно ускоряется нейтрон до околосветовой скорости

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

Реликтовые черные дыры

А что это?

Я в курсе. Речь про автоматическую дедукцию, сигнатуры, как комментатор выше спрашивал.

for (mut commands) in commands_query.iter_mut() {
	if check_in_progress(&commands)	{
		continue;
	}
	set_current_command(&mut commands_query);
}

Такие штуки просто замечательно писать через всякие filter / map / for_each, чтобы количество вложенности уменьшать. Код выше превращается во что-то такое.

commands
  .iter_mut()
  .filter(|com| !check_in_progress(com))
  .for_each(set_current_command);

Тут просто возникает вопрос "а к какому из них кастить?". iter/ iter_mut / into_iter - соотвественно иммутабельная ссылка, мутабельная ссылка, поглощающий итератор - значения контейнера будут перемещены. А если тут какой-нибудь кастомный итератор по странной структуре, то как его кастить если ты забыл какой-нибудь IterMut ему прописать?

Когда-то Рим захватил половину Ойкумены, где та латынь ныне?

начинают искать замену на ваше место

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

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

Система приоритетов для башен

С точки зрения игрока задание приоритетов ручками в большинстве случае духота, а не весёлый геймплей. Ещё и окошко под это дело рисовать. Обычно в TD делают специализацию на тип юнитов (какой-нибудь наземный, воздушный, водоплавающий) и приоритет отдаётся всегда ближайшему к башне/ядру юниту.

Information

Rating
1,388-th
Date of birth
Registered
Activity