- 1
- 2
- 3
- 4
- 5
# PowerShell
if ($a2[$j] -Match $a1[$i] -and $a1[$i] -notin $r -and $a1[$i] -ne "ohio") {
$r += $a1[$i]
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
# PowerShell
if ($a2[$j] -Match $a1[$i] -and $a1[$i] -notin $r -and $a1[$i] -ne "ohio") {
$r += $a1[$i]
}
https://www.codewars.com/kata/reviews/5be8395356b146add7000017/groups/5f4a316915fbdc0001e1c60b
Когда в тестах есть один случай, который может не пропустить твоё решение
из-за "ohio", кто-то просто решил добавить эту строку в исключении в условии.
// ТРЕБУЮ ДОБАВИТЬ PowerShell В СПИСОК GOVNOKOD.RU!
+1
https://core.telegram.org/constructor/passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow
Какой багор )))
+1
Я вот смотрю на Ричарда Столлмана... Вижу, как он всю жизнь рвёт на себе жопчик за халявное ПО...
И думаю: а что сделал ОН? Он написал "Photoshop"? Создал "Windows"? Разработал хоть что-то?
Знает ли он, что такое многочасовой, многодневный, многомесячный, а иногда и многолетний труд разработки?
Всё его достижение - это ТЕКСТ лицензии "GNU". Всё.
В чём смысл Ричарда Столлмана?
И, кстати, нахуй вообще нужны лицензии на халявное ПО?
+1
pub struct Vec { x: u32, y: u32, z: u32, }
pub extern "C" fn sum_c(a: &Vec, b: &Vec) -> Vec {
return Vec {x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
}
pub fn sum_rust(a: &Vec, b: &Vec) -> Vec {
return Vec {x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
}
Выхлоп:
example::sum_c:
mov eax, dword ptr [rsi]
add eax, dword ptr [rdi]
mov ecx, dword ptr [rsi + 4]
add ecx, dword ptr [rdi + 4]
mov edx, dword ptr [rsi + 8]
add edx, dword ptr [rdi + 8]
shl rcx, 32
or rax, rcx
ret
example::sum_rust:
mov ecx, dword ptr [rdx]
mov r8d, dword ptr [rdx + 4]
add ecx, dword ptr [rsi]
add r8d, dword ptr [rsi + 4]
mov edx, dword ptr [rdx + 8]
add edx, dword ptr [rsi + 8]
mov rax, rdi
mov dword ptr [rdi], ecx
mov dword ptr [rdi + 4], r8d
mov dword ptr [rdi + 8], edx
ret
«Дак йаже как Сишка!», «Даёшь пuтушатню в Ядро!»
https://godbolt.org/z/Tcnz75
rustc 1.46 (latest)
+2
Function/method calling convention. Here’s a simple example:
struct Foo { a: i32 }
impl Foo { fn bar(&mut self, val: i32) { self.a = val + 42; } }
fn main() {
let mut foo = Foo { a: 0 };
foo.bar(foo.a);
}
For now this won’t compile because of the borrowing but shouldn’t the compiler be smart enough to create a copy of foo.a before call?
I’m not sure but IIRC current implementation first mutably borrows object for the call and only then tries to borrow the arguments.
Is it really so and if yes, why?
Update: I’m told that newer versions of the compiler handle it just fine but the question still stands (was it just a compiler problem or the call definition has been changed?).
The other thing is the old C caveat of function arguments evaluation. Here’s a simple example:
let mut iter = “abc”.chars();
foo(iter.next().unwrap(), iter.next().unwrap(), iter.next().unwrap());
So would it be foo('a','b','c') or foo('c','b','a') call. In C it’s undefined because it depends on how arguments are passed on the current platform
(consider yourself lucky if you don’t remember __pascal or __stdcall).
In Rust it’s undefined because there’s no formal specification to tell you even that much.
And it would be even worse if you consider that you may use the same source for indexing the caller object like
handler[iter.next().unwrap() as usize].process(iter.next().unwrap()); in some theoretical bytecode handler
(of course it’s a horrible way to write code and you should use named temporary variables but it should illustrate the problem).
https://codecs.multimedia.cx/2020/09/why-rust-is-not-a-mature-programming-language/
+1
Зачем в базах данных нужны несколько вариаций одного и того же типа?
Например, "tinyint", "mediumint", "smallint" и "bigint". Зачем они нужны, если
можно было бы просто сделать один "int", причём равнозначный нынешнему
"bigint"? Что даёт этот искусственно раздутый выбор целочисленных типов?
−1
https://foren.germany.ru/elecronics/f/20343575.html
Математики из раш-ки изобрели бесконечные ноутбуки:
«Если магазин предоставляет опцию возврата, если товар не понравился, то почему мне должно быть стыдно?
Наоборот приятно - попользовался 3мя разными ноутами в течение месяца, не заплатив ни цента. Если бы им не нравилось это - они такую опцию не ввели бы, т.к. закон не обязывает.
Я гляжу, на форуме тут мало кто знает о бесплатном 14-дневном прокате техники в Сатурне. :)»
+1
В России запретят хэтэтэпээс:
https://hi-tech.mail.ru/news/zapretit_shifrovanie/
В России предложили запретить шифрование в интернете.
Министерство цифрового развития, связи и массовых коммуникаций РФ предлагает запретить все инструменты шифрования данных в интернете, потому что они мешают поиску запрещенных материалов и блокировке сайтов.
Ведомство уже опубликовало законопроект для публичного обсуждения, в нем предлагается запретить «использование на территории Российской Федерации протоколов шифрования, позволяющих скрыть имя (идентификатор) Интернет-страницы или сайта в сети 'Интернет'».
В пояснительной записке объясняют, что речь идет о конкретных протоколах шифрования данных TLS 1.3, ESNI, DNS over HTTPS и DNS over TLS. Большинству людей известен протокол HTTPS, потому что это сокращение многие видели в адресной строке браузера — это значит, что загруженный сайт обменивается данными с вашим устройством в зашифрованном виде. Только Минцифры предлагает запретить DNS over HTTPS, в котором используется тот же протокол шифрования на уровне системы доменных имен (DNS).
Минцифры считает, что подобные технологии шифрования вредят развитию интернета в России, потому что эти протоколы «значительно затрудняют выявление ресурсов в сети интернет, содержащих информацию, распространение которой в Российской Федерации ограничено или запрещено».
Также в пояснительной записке говорится, что шифрование мешает блокировке сайтов в интернете — и это правда. Технологии Роскомнадзора не позволяют заблокировать отдельную страницу с запрещенной информацией на сайте, который защищен протоколом HTTPS. В таком случае под блокировку попадает весь сайт целиком или отдельный набор IP-адресов, из-за чего могут пострадать другие ресурсы.
0
-module(server).
-export([start/0]).
start() ->
rooster:start(#{port => 8080},
#{routes => [hello()]}).
hello() ->
{'GET', "/hello", fun(_) -> {200, #{message => <<"hello world">>}} end}.
https://github.com/fbeline/rooster
Rooster
Simplistic REST framework that runs on top of mochiweb.
0
Питушня #8
#1: https://govnokod.ru/26692 https://govnokod.xyz/_26692
#2: https://govnokod.ru/26891 https://govnokod.xyz/_26891
#3: https://govnokod.ru/26893 https://govnokod.xyz/_26893
#4: https://govnokod.ru/26935 https://govnokod.xyz/_26935
#5: (vanished) https://govnokod.xyz/_26954
#6: (vanished) https://govnokod.xyz/_26956
#7: https://govnokod.ru/26964 https://govnokod.xyz/_26964