TIL, мысли вслух, интересные находки — слишком коротко для полноценного поста.
В Rust можно писать if let цепочки через && начиная с 1.64.
Раньше приходилось вкладывать if let внутрь if let, было некрасиво.
// теперь так:
if let Some(a) = foo() && let Some(b) = bar(a) {
println!("{}", b);
}
Обнаружила, что ssh -L 8080:localhost:8080 user@server пробрасывает порт
прямо в локальный браузер. Знала, конечно, но почему-то никогда не использовала
регулярно. Теперь использую постоянно для разработки на удалённых серверах.
Хорошая документация — это не описание того, что делает код. Это объяснение того, почему он делает именно так, а не иначе. Комментарии «что» бесполезны рядом с читаемым кодом. Комментарии «почему» бесценны.
В Python dict.get(key, default) — это не просто удобство.
В горячих путях это быстрее, чем if key in dict + обращение,
потому что делает только один поиск по хэшу.
git log --oneline --graph --all --decorate — просто сохраните как алиас.
Лучшая визуализация истории веток в терминале без доп. утилит.
git config --global alias.lg \
"log --oneline --graph --all --decorate"
Заметила, что пишу лучший код поздно вечером, но нахожу в нём больше ошибок утром. Теперь у меня правило: сложные задачи — вечером, код-ревью своего же кода — утром следующего дня.
В Go, если вам нужна переменная только ради side effect импорта, используйте blank identifier. Это идиоматично и не вызывает ошибку компилятора:
import _ "image/png" // регистрирует PNG decoder
Лучший способ понять язык — написать на нём что-то полезное для себя лично. Не туториал, не «Hello, World» — именно то, чем будешь пользоваться каждый день. Тогда вы будете мотивированы дочитать документацию до конца.