понедельник, 19 апреля 2021 г.

Что там в новом блоге – 1...

Небольшой подводный камень в Rust

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

Опасность подстерегает нас, когда мы читаем данные из файла посредством std::fs::File.read()1, не используя при этом std::io::BufReader2, а самостоятельно выделяя блок памяти и читая в него.

Подводный камень тут вот в чем, цитирую документацию:

if n is 0, then it can indicate one of two scenarios:

  • This reader has reached its “end of file” and will likely no longer be able to produce bytes. Note that this does not mean that the reader will always no longer be able to produce bytes.
  • The buffer specified was 0 bytes in length.

Подчеркивание мое. Итак, если мы передаем методу read() буфер нулевой длины, то результат будет ровно тот же самый, что и если мы достигли конца файла, т.е. Ok(0).

Читать далее на shikhalev.org »

Ввод «типографских» символов с клавиатуры (ed. 2021)

Раскладка клавиатуры с третьим и четвертым уровнями

Оригинал этого поста в «Технобложике» оказался самым популярным материалом — на него заходят и заходят из поисковиков, ссылаются на форумах и так далее. Поэтому к его переносу я подошел максимально ответственно, перепроверив все рекомендации в современных дистрибутивах и внеся дополнения. Таким образом, этот пост получил некоторую добавочную ценность к оригиналу. Особенно совершенно новый раздел о том, как можно добавить свои собственные символы в раскладку.

На эту тему в интернетах написано немало. Я лишь хочу в этом посте собрать и обобщить некоторую часть информации, чтобы рекомендовать друзьям – новичкам в Linux. Итак, этот пост для тех, кто работает с текстом в Linux, дабы они поняли свое счастье.

Вообще говоря, ввод каких бы то ни было символов с клавиатуры можно организовать разными путями, некоторые из которых (например, определение собственной раскладки) доступны и в оффтопичной системе от MS. Однако, удобных способов существенно меньше. Собственно, я буду говорить о двух, простых как в использовании, так и в настройке: «третий уровень» и Compose Key.

Читать далее на shikhalev.org »

Комментариев нет:

Отправка комментария