1.83K subscribers
3.3K photos
132 videos
15 files
3.58K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Forwarded from ozkriff.games 🦀 (Andrey @ozkriff Lesnikóv)
Когда твоя жена - ветеринар, то это не только много живности в доме, но и, внезапно, крабоугодные иконы от её коллег ветеринаров-художниц.

Я теперь, видимо, сертифицированный Rust-евангелист.

Клац-клац! 🦀
Редкие эпизоды из абсурдной жизни программиста.

"Две пиццы — это не про размер команды, а про размер фонда оплаты труда"

@topizza #blogrecommendation
#prog #meme #rust

Коротко про то, как большинство видят мой канал
Плюсы и минусы калькулятора

Плюсы:
Минусы:
👍2😁1
Пока что самая оригинальная открытка, которую видел
Forwarded from 🇺🇦 Go for two :)
Happy New Year’; DROP TABLE 2020;--
Эт самое
С Новым Годом
Не ждите ни развёрнутых новогодних представлений — их вы и так уже услышали достаточно, чтобы они смешались в однородную массу счастьяздоровьябогаствавсегонаилучшего — ни итогов года, потому что, во-первых, они переоценены, а во-вторых, я уже суммировал всё, что мне было важно, на дне рождения Блог*а (https://t.iss.one/dereference_pointer_there/1405), и с тех пор ничего нового не прибавилось
Forwarded from мне не нравится реальность (вафель 🧇🍓)
ah yes день "и тебя тоже"
Блог*
Лучший пост?
Опрос завершён (с всего 89 голосов — где вы все?!). Не буду проходится по всем пунктам — иначе это слишком уж походит на самолюбование — хочу отметить лишь наиболее популярный вариант.

Пост про регулярные выражения. Честно говоря, я удивлён. Ну то есть, я писал о куда как более продвинутых вещах, а здесь я даже кода никакого не привёл. В чём же дело? Я вижу две возможные причины.

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

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

А что вы можете сказать по этому поводу? Серьёзно, почему?
#prog #rust #rustreleasenotes

А тем временем вышла версия Rust 1.49.0 🎉. Конечно, вы можете прочитать пост в официальном блоге, но там по традиции пишут не всё, а я, как обычно, нововведения обозреваю выборочно.

Наиболее значимое с точки зрения кровавого энтерпрайза изменение — это поднятие уровня поддержки таргета aarch64-unknown-linux-gnu до tier 1, то есть компилятор гарантированно собирает исполняемые файлы для данной платформы, и для этой платформы обязательны прохождения полного набора тестов. Это изменение значимо не только из-за того, что убирает одно из препятствий на пути к использованию Rust на всё растущем количестве ARM-устройств, но и потому, что это первая не-x86 платформа, которая добралась до tier 1. Это не единственный ARM-таргет, получивший внимание — до tier 2 подняли поддержку aarch64-apple-darwin (да, это M1) и aarch64-pc-windows-msvc.

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

let [foo, ref bar] = [String::from("foo"), String::from("bar")];

Неразмеченные объединения (union) теперь могут реализовывать Drop. Стабилизирована эта фича именно так, как и предполагалась: в объединении всё так же не разрешается иметь поля, реализующие Drop, так что их надо заворачивать в ManuallyDrop. Для конечных пользователей языка это означает главным образом то, что всякие SmallVec/SmallString, хранящие элементы на стеке при небольшом их количестве, теперь могут переиспользовать память при помощи union на стабильной версии компилятора и не хранить тег, то есть простое обновление компилятора и библиотеки срежет несколько байт с размеров этих типов вообще без каких-либо дополнительных телодвижений. Ну, в идеале.

Массивы всех размеров теперь реализуют Index{, Mut}<всё, чем можно индексировать слайс>. Казалось бы, мелочь, поскольку индексация работала и до этого через deref coercion, но до влития этого PR реализация для массива индексации собственным типом ломала индексацию через usize и всякие Range*.

Ну и наконец, как я уже писал, наконец-то стабилизировали select_nth_unstable{, _by{, _key}}, ю-ху! Теперь можно на изи извлекать n наименьших/наибольших элементов без аллокаций. Дупликации кода тут нет, поскольку это те же алгоритмы, которые и так использовались внутри реализации нестабильных сортировок (что, впрочем, лишь усиливает вопросы о причине долгого срока стабилизации).

Короче — хороший, годный релиз.

P. S.: так как я тоже писал не всё — вот полные записи о релизе.
std::collections::linkedin_list
Forwarded from Tester of QA
Краткое пособие по эффективному мотивационному менеджменту в картинках.
std::iter::Irritator
#prog #meme #haskell

Для тех, кто в теме