Forwarded from Ender Eyre
программирование и программисты не нужны в программирования, они могут только ныть, жаловаться, нихуя не делать и требовать денег.
#prog #amazingopensource
# Human injectionИз сборника Big list of naughty strings — списка строк, которые приведут к проблемам для софта, который небрежно обрабатывает пользовательский ввод, конкретно здесь
#
# Strings which may cause human to reinterpret worldview
If you're reading this, you've been in a coma for almost 20 years now. We're trying a new technique. We don't know where this message will end up in your dream, but we hope it works. Please wake up, we miss you.
GitHub
GitHub - minimaxir/big-list-of-naughty-strings: The Big List of Naughty Strings is a list of strings which have a high probability…
The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. - minimaxir/big-list-of-naughty-strings
#prog #article
Турецкий тест: будет ли ваша программа корректно работать в турецкой локали? Если да, велик шанс, что программа адекватно обрабатывает локали. Почему именно турецкая? Там полно граничных случаев, которые отличают её от английской.
...Правда, для меня главным выводом было "не используйте функции с неявными глобальными зависимостями".
moserware.com/2008/02/does-your-code-pass-turkey-test.html
Турецкий тест: будет ли ваша программа корректно работать в турецкой локали? Если да, велик шанс, что программа адекватно обрабатывает локали. Почему именно турецкая? Там полно граничных случаев, которые отличают её от английской.
...Правда, для меня главным выводом было "не используйте функции с неявными глобальными зависимостями".
moserware.com/2008/02/does-your-code-pass-turkey-test.html
Moserware
Does Your Code Pass The Turkey Test?
Over the past 6 years or so, I’ve failed each item on “The Turkey Test.” It’s very simple: will your code work properly on a person’s machine in or around th...
Блог*
Является ли это единственным достоинством нового варианта? Отнюдь. Оригинальный код собирает промежуточный слайс — в моём варианте собирается только конечный результат (причём память выделяется заранее). Оригинальный код дважды делает поиск в мапе по итоговым…
Как мне совершенно правильно сообщил подписчик,
iterated
можно выкинуть и проверять длину idsForSearch
. Впрочем, моя позиция остаётся прежнейForwarded from codingteam@cjr
Minoru
бранч предиктор такой «да не ссы, всё образуется, фигачь в then-ветку!»
бранч предиктор такой «да не ссы, всё образуется, фигачь в then-ветку!»
#prog #rust #article
Как известно, в Rust (почти) нет higher-ranked polymorphism. Тем не менее, иногда его можно эмулировать довольно простым образом.
leshow.github.io/post/cheat_rank_n
Как известно, в Rust (почти) нет higher-ranked polymorphism. Тем не менее, иногда его можно эмулировать довольно простым образом.
leshow.github.io/post/cheat_rank_n
Esoterically Typed
Cheating Higher Ranks with Traits
I ran into this a little while ago and thought it would be helpful to share a possible solution.
Imagine you have an enum that describes a set of possible branches, for each branch there is a type …
Imagine you have an enum that describes a set of possible branches, for each branch there is a type …
#prog #rust
Одним из пунктов снижения размера исполняемого файла скомпилированной программы на Rust является обработка бинаря strip. Недавно это стало возможным делать с помощью cargo. Да, это пока nightly, но это значит, что, скорее всего, на stable попадёт скоро.
(thanks @MikailBag)
Одним из пунктов снижения размера исполняемого файла скомпилированной программы на Rust является обработка бинаря strip. Недавно это стало возможным делать с помощью cargo. Да, это пока nightly, но это значит, что, скорее всего, на stable попадёт скоро.
(thanks @MikailBag)
GitHub
Add option to strip binaries by GabrielMajeri · Pull Request #8246 · rust-lang/cargo
This PR adds a Cargo option for stripping symbols from generated binaries.
This is based on the -Z strip flag for rustc, which has been recently implemented.
Notes for reviewers: I'm not entire...
This is based on the -Z strip flag for rustc, which has been recently implemented.
Notes for reviewers: I'm not entire...
#prog #rust #go #article
Во многих языках есть отдельный тип данных для символов (я смотрю на тебя, Python). В Rust это
christianfscott.com/rust-chars-vs-go-runes
Во многих языках есть отдельный тип данных для символов (я смотрю на тебя, Python). В Rust это
char
, в Go это rune
. Эти типы, казалось бы, одинаковы: оба хранят юникодные символы, оба занимают 32 бита. Тем не менее, в плане диапазона приемлемых значений они заметно отличаются. Чем именно — подробно рассказывается в статье.christianfscott.com/rust-chars-vs-go-runes