Forwarded from Блог*
#prog #rust #article
Обстоятельное эмпирическое изучение ошибок в реальных программах на Rust. Деление на safe/unsafe код действительно помогает, но все баги с излишней блокировкой были найдены в safe коде. Особенности Rust делают некоторые паттерны ошибок более вероятными, чем в других языках. Изучение этих паттернов позволило создать статические анализаторы, которые вскрыли ранее незамеченные ошибки.
Читайте, когда найдётся свободное время, статья объёмная.
cseweb.ucsd.edu/~yiying/RustStudy-PLDI20.pdf
Обстоятельное эмпирическое изучение ошибок в реальных программах на Rust. Деление на safe/unsafe код действительно помогает, но все баги с излишней блокировкой были найдены в safe коде. Особенности Rust делают некоторые паттерны ошибок более вероятными, чем в других языках. Изучение этих паттернов позволило создать статические анализаторы, которые вскрыли ранее незамеченные ошибки.
Читайте, когда найдётся свободное время, статья объёмная.
cseweb.ucsd.edu/~yiying/RustStudy-PLDI20.pdf
Forwarded from Блог*
#prog #rust #article
Офигенная статья о заблуждениях касательно лайфтаймов. Очень хорошее подспорье новичкам. Как пишет автор в своём первом посте:
While learning Rust I was struggling with certain concepts so I tried to organize my thoughts by writing them down in markdown files and well... I soon had several markdown files. I thought "Maybe I should start a blog?" but then I realized "I probably shouldn't, my posts will never be as good as anything written on Rust by Niko Matsakis, Saoirse Shipwreckt, Huon Wilson, David Tolnay, Alexis Beingessner, Daniel Keep, Carl Fredrik Samson, Aleksey Kladov, Amos Wegner, Pascal Hertleif, Dimitri Sabadie, Daniel Henry-Mantilla, Steve Klabnik, Jake Goulding, or Carol Nichols". That list isn't even exhaustive, there's easily dozens of people I left out! There's lots of super smart folk who are already writing about Rust. However, I have one unique advantage that none of those people have: I'm dumb. Super smart people tend to write super smart articles that only other super smart people understand. There's a gap in the market for us dummies, and it's that gap I intend to fill with my writing.
Советую приглядывать за этим блогом, это явно что-то многообещающее.
github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
Офигенная статья о заблуждениях касательно лайфтаймов. Очень хорошее подспорье новичкам. Как пишет автор в своём первом посте:
While learning Rust I was struggling with certain concepts so I tried to organize my thoughts by writing them down in markdown files and well... I soon had several markdown files. I thought "Maybe I should start a blog?" but then I realized "I probably shouldn't, my posts will never be as good as anything written on Rust by Niko Matsakis, Saoirse Shipwreckt, Huon Wilson, David Tolnay, Alexis Beingessner, Daniel Keep, Carl Fredrik Samson, Aleksey Kladov, Amos Wegner, Pascal Hertleif, Dimitri Sabadie, Daniel Henry-Mantilla, Steve Klabnik, Jake Goulding, or Carol Nichols". That list isn't even exhaustive, there's easily dozens of people I left out! There's lots of super smart folk who are already writing about Rust. However, I have one unique advantage that none of those people have: I'm dumb. Super smart people tend to write super smart articles that only other super smart people understand. There's a gap in the market for us dummies, and it's that gap I intend to fill with my writing.
Советую приглядывать за этим блогом, это явно что-то многообещающее.
github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
GitHub
rust-blog/posts/common-rust-lifetime-misconceptions.md at master · pretzelhammer/rust-blog
Educational blog posts for Rust beginners. Contribute to pretzelhammer/rust-blog development by creating an account on GitHub.
Forwarded from Блог*
#prog #go #menacingopensource
Для Go есть пакет filter. Это реализация некоторых FP-like примитивов, написанных самим Робом Пайком. Как он сам пишет в README:
"I wanted to see how hard it was to implement this sort of thing in Go, with as nice an API as I could manage. It wasn't hard.
Having written it a couple of years ago, I haven't had occasion to use it once. Instead, I just use "for" loops.
You shouldn't use it either."
Внутри есть всё то, что мы так любим в Go:
github.com/robpike/filter
Для Go есть пакет filter. Это реализация некоторых FP-like примитивов, написанных самим Робом Пайком. Как он сам пишет в README:
"I wanted to see how hard it was to implement this sort of thing in Go, with as nice an API as I could manage. It wasn't hard.
Having written it a couple of years ago, I haven't had occasion to use it once. Instead, I just use "for" loops.
You shouldn't use it either."
Внутри есть всё то, что мы так любим в Go:
interface{}
, рефлексия, отсутствие ленивости, захардкоженность слайсов. Но, конечно, вишенка на торте — это единственный PR, который так и не был смержен, и реакция Пайка на него.github.com/robpike/filter
Forwarded from Блог*
#prog #rust #article
На этот раз — статья про концепцию разномерности типа в Rust.
github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md
На этот раз — статья про концепцию разномерности типа в Rust.
github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md
GitHub
rust-blog/posts/sizedness-in-rust.md at master · pretzelhammer/rust-blog
Educational blog posts for Rust beginners. Contribute to pretzelhammer/rust-blog development by creating an account on GitHub.
Forwarded from Блог*
#prog #rust #article #моё
Как я и обещал, я... Так, погодите, я не писал об этом в блоге? Впрочем, ладно, напишу сейчас: я планировал написать перевод этой статьи и выложить его на Хабре. Собственно, сегодня я это и сделал.
Как я и обещал, я... Так, погодите, я не писал об этом в блоге? Впрочем, ладно, напишу сейчас: я планировал написать перевод этой статьи и выложить его на Хабре. Собственно, сегодня я это и сделал.
Хабр
Распространённые заблуждения о временах жизни в Rust
(прим. переводчика: времена жизни (lifetimes) — это одна из самых запутанных вещей в Rust, которая часто вызывает затруднение у новичков, даже несмотря на официа...
Forwarded from Блог*
#prog #amazingopensource
Библиотека, которая позволяет визуализировать частично пересекающиеся множества в достаточно наглядном виде. В отличие от традиционных диаграмм Венна, прекрасно масштабируется на большое количество множеств.
https://github.com/gecko984/supervenn
Библиотека, которая позволяет визуализировать частично пересекающиеся множества в достаточно наглядном виде. В отличие от традиционных диаграмм Венна, прекрасно масштабируется на большое количество множеств.
https://github.com/gecko984/supervenn
GitHub
GitHub - gecko984/supervenn: supervenn: precise and easy-to-read multiple sets visualization in Python
supervenn: precise and easy-to-read multiple sets visualization in Python - gecko984/supervenn
Антон "Амперсанд Звёздочка" написал отличную статью (из трёх постов) про HRTB:
https://t.iss.one/dereference_pointer_there/911
https://t.iss.one/dereference_pointer_there/912
https://t.iss.one/dereference_pointer_there/913
По-видимому, запахло новой клёвой статьёй на Хабре ;-)
https://t.iss.one/dereference_pointer_there/911
https://t.iss.one/dereference_pointer_there/912
https://t.iss.one/dereference_pointer_there/913
По-видимому, запахло новой клёвой статьёй на Хабре ;-)
Telegram
Блог*
#prog #rust #моё
Хроники замыканий
Есть ещё кое-что, что можно сказать про замыкания.
Пожалуй, первое, с чего надо начать — так это с того, что, несмотря на то, что замыкания — это автоматически генерируемые структуры, реализующие определённые трейты,…
Хроники замыканий
Есть ещё кое-что, что можно сказать про замыкания.
Пожалуй, первое, с чего надо начать — так это с того, что, несмотря на то, что замыкания — это автоматически генерируемые структуры, реализующие определённые трейты,…
Forwarded from Блог*
#prog #math
Визуализатор преобразований комплексной плоскости. Даже если не нужно, можно просто делать рандомные формулы и залипать на анимацию. На телефоне, к сожалению, пашет не очень, чуть лучше в режиме версии для десктопа.
dynamicmath.xyz/complex-mapping
Визуализатор в действии: twitter.com/PonceCampuzano/status/1304683933779415041
Визуализатор преобразований комплексной плоскости. Даже если не нужно, можно просто делать рандомные формулы и залипать на анимацию. На телефоне, к сожалению, пашет не очень, чуть лучше в режиме версии для десктопа.
dynamicmath.xyz/complex-mapping
Визуализатор в действии: twitter.com/PonceCampuzano/status/1304683933779415041
Forwarded from Блог*
#prog #rust #article
Статья о внутреннем устройстве BTreeMap из стандартной библиотеки Rust. Старая, вышла ещё до Rust 1.0, но она даёт хороший обзор принципиального устройства этой структуры данных вкупе с обзором различных трюков для локализации небезопасных операций. Эти трюки применяются и в современной реализации BTreeMap
Статья о внутреннем устройстве BTreeMap из стандартной библиотеки Rust. Старая, вышла ещё до Rust 1.0, но она даёт хороший обзор принципиального устройства этой структуры данных вкупе с обзором различных трюков для локализации небезопасных операций. Эти трюки применяются и в современной реализации BTreeMap
Forwarded from Блог*
#prog #cpp #article
C++20: удивить линкер четырьмя строчками кода — или сказ о том, как код студента вскрыл ошибку в компиляторе.
C++20: удивить линкер четырьмя строчками кода — или сказ о том, как код студента вскрыл ошибку в компиляторе.
Хабр
C++20: удивить линкер четырьмя строчками кода
Представьте себе, что вы студент, изучающий современные фичи C++. И вам дали задачу по теме concepts/constraints. У преподавателя, конечно, есть референсное реше...
Forwarded from Блог*
#prog #rust #моё
Здрасьте. Сегодня поста не будет — но только потому, что я решил написать статью для Хабра. Собственно, вот она.
И напоминаю: если вам это понравилось — поддержите копеечкой автора, я вам благодарен буду: 4274 3200 5402 8520.
Здрасьте. Сегодня поста не будет — но только потому, что я решил написать статью для Хабра. Собственно, вот она.
И напоминаю: если вам это понравилось — поддержите копеечкой автора, я вам благодарен буду: 4274 3200 5402 8520.
Хабр
Как написать FizzBuzz на собеседовании
Здравствуй, Хабр. Недавно я проходил собеседование в одну солидную айтишную контору. Когда мы разобрались с формальностями, начался технический этап, на котором мне поручили написать fizzbuzz. По не...