#prog #go линтер, который вообще-то должен быть частью компилятора.
github.com/GaijinEntertainment/go-exhaustruct
github.com/GaijinEntertainment/go-exhaustruct
GitHub
GitHub - GaijinEntertainment/go-exhaustruct: golang analyzer that finds structures with uninitialized fields
golang analyzer that finds structures with uninitialized fields - GaijinEntertainment/go-exhaustruct
👍6
#prog #rust #article
С одной стороны, многие из изложенных принципов справедливы и вне Rust. С другой, с некоторыми соображениями я не согласен.
Designing error types in Rust
С одной стороны, многие из изложенных принципов справедливы и вне Rust. С другой, с некоторыми соображениями я не согласен.
Designing error types in Rust
#prog #haskell #article
Why 'Functor' Doesn't Matter
Names can’t transmit meaning. They can transmit a pointer, though, which might point to some meaning. If that meaning isn’t the right meaning, then the recipient will misunderstand. <...>
Object Oriented Programming is littered with terrible names, precisely because they mislead and cause a false familiarity. Object, Class, Visitor, Factory, Command, Strategy, Interface, Adapter, Bridge, Composite. All of these are common English words with a relatively familiar understanding to them. And all of them are misleading.
Why 'Functor' Doesn't Matter
Names can’t transmit meaning. They can transmit a pointer, though, which might point to some meaning. If that meaning isn’t the right meaning, then the recipient will misunderstand. <...>
Object Oriented Programming is littered with terrible names, precisely because they mislead and cause a false familiarity. Object, Class, Visitor, Factory, Command, Strategy, Interface, Adapter, Bridge, Composite. All of these are common English words with a relatively familiar understanding to them. And all of them are misleading.
www.parsonsmatt.org
Why 'Functor' Doesn't Matter
Alternative, less click-baity title: Names Do Not Transmit Meaning
👍3
#prog #rust #article
Rust at scale: packages, crates, and modules
<...>The team learned that code organization that works just fine for relatively small projects might start dragging you down over time. In this article, we shall evaluate code organization options that Rust gives us and look at how to use them well.
В статье также есть доводы в пользу того, чтобы передавать логгеры и сборщики метрик явно
Rust at scale: packages, crates, and modules
<...>The team learned that code organization that works just fine for relatively small projects might start dragging you down over time. In this article, we shall evaluate code organization options that Rust gives us and look at how to use them well.
В статье также есть доводы в пользу того, чтобы передавать логгеры и сборщики метрик явно
rusta::mann
< мем из профунктора Я сгорел, ведь правильно приготовленный type-driven design оберегает от кучи логических ошибок, особенно связанных с проверками инвариантов (пресловутый is_initialized() вместо типа, который гарантирован находиться в валидном состояннии…
dusted.codes
The type system is a programmer's best friend
Programming Adventures
Блог*
Осторожно, если вы оставляете комментарии под моими постами — я могу найти ваш публичный блог и что-то с него репостнуть
Или если вы репостите из Блог*а (что я и продемонстровал выше)
🤔3
Forwarded from Ascii Moth (Андрей)
Gitconf - оверлейная утилита для удобного управление конфигом git'a.
Git сам по себе имеет достаточно богатые возможности конфигурации, которые можно применять, как для отдельных репозиториев так и для групп. Но изменение настроек все еще требует либо ручного ввода команд
Gitconf же позволяет создать т.н. профили конфигурации, между которыми в отдельно взятом репозитории можно переключаться в одну команду.
#mycode #CC0 #rust #oldproject
Git сам по себе имеет достаточно богатые возможности конфигурации, которые можно применять, как для отдельных репозиториев так и для групп. Но изменение настроек все еще требует либо ручного ввода команд
git config ...
, либо правки .gitconfig
или .git/config
.Gitconf же позволяет создать т.н. профили конфигурации, между которыми в отдельно взятом репозитории можно переключаться в одну команду.
#mycode #CC0 #rust #oldproject
👍2😁1
Forwarded from SoFCheck
Интересный факт: GitHub умеет парсить
Cargo.toml
для Rust и понимать, кто использует какие репозитории в качестве зависимостей. Так я узнал, что у моего owlchess появились пользователи, кроме меня :) Первому пользователю я вручил pull request с исправлениями, которые делают использование owlchess
более простым и идиоматичным👍8
#prog
Немного о возможностях jq, программы для обработки JSON в командной строке.
t.iss.one/brain_dump_etc/440
Немного о возможностях jq, программы для обработки JSON в командной строке.
t.iss.one/brain_dump_etc/440
Telegram
brain_dump_etc
Есть такая программка — jq. Используется для работы с JSON, делает выборки данных из глубоко вложенных структур, может что-то подменять на лету. Применяется, как правило, в сценариях автоматизации. Думаю, что слышали про неё многие. Казалось бы, ну что тут…
👍3
#prog #typescript #abnormalprogramming
Assembly interpreter inside of TypeScript's type system
Автору пришлось повысить лимиты внутри исходников компилятора Typescript, чтобы это заработало и не падало из-за слишком глубокого инстанцирования.
(thanks @randomstuffilike)
Assembly interpreter inside of TypeScript's type system
Автору пришлось повысить лимиты внутри исходников компилятора Typescript, чтобы это заработало и не падало из-за слишком глубокого инстанцирования.
(thanks @randomstuffilike)
🔥3😁1🥴1
Forwarded from Alexander
Блог*
if (Math.random() >= 0.5) print(chooseRandomWarning())
Похожим образом работает борроу чекер по мнению неосиливших Rust
😁24🤣1