oleg_log
Привязывать зависимости на тулинг?
Точно, тут еще 1 сбалансированный опрос был.
Вот вроде бы правильно - привязались к тулингу (читайте как дев-зависимость в js ecosystem как заметили некоторые), и ты точно знаешь, что с этой версией оно работало (если автор не убегал от ответственности).
Но вот некоторые идут слишком далеко и закидывают тулзы в обычные (реальные) зависимости. Оно уже странно звучит.
Часто многие в мире #go делают
А ведь сделать
Вот вроде бы правильно - привязались к тулингу (читайте как дев-зависимость в js ecosystem как заметили некоторые), и ты точно знаешь, что с этой версией оно работало (если автор не убегал от ответственности).
Но вот некоторые идут слишком далеко и закидывают тулзы в обычные (реальные) зависимости. Оно уже странно звучит.
Часто многие в мире #go делают
go get foo.bar/baz в директории проекта, го гет пытается помочь и сразу добавляет это как зависимость (чаще го гет о зависимости, чем о тулзе) и....все это потом пушится в всетерпящий мастер, после чего у некоторых от этого портятся нервы.А ведь сделать
go mod tidy и выкинуть все лишнее не так уж и сложно. Есть пропозал, чтобы добавить флажок -g для этого, но не уверен, что выйдет в 1.14, скорее 1.15. В любом случае - следить надо лично. Да, го гет/модули тут перемудрены :(Прикрутил к личной страницу Google Analytics, и не впихиванием жс в страницу, а через Cloudflare.
Если не ошибаюсь, то уже с полгода у них есть маркет с приложениями: всякие аналитики, кеширования, социальные штуки и прочие свистелки.
Для использования нужно быть их клиентов (кэп, но там бесплатно) и вроде все. Круто.
https://www.cloudflare.com/apps/
PS: если хочется подудосить, то сюда olegk.dev
PS: превью ссылки в телеге конечно топовое
Если не ошибаюсь, то уже с полгода у них есть маркет с приложениями: всякие аналитики, кеширования, социальные штуки и прочие свистелки.
Для использования нужно быть их клиентов (кэп, но там бесплатно) и вроде все. Круто.
https://www.cloudflare.com/apps/
PS: если хочется подудосить, то сюда olegk.dev
PS: превью ссылки в телеге конечно топовое
Это постирония?
https://techcrunch.com/2019/12/03/aws-codeguru-uses-machine-learning-to-automate-code-reviews/
https://techcrunch.com/2019/12/03/aws-codeguru-uses-machine-learning-to-automate-code-reviews/
TechCrunch
AWS’ CodeGuru uses machine learning to automate code reviews
AWS today announced CodeGuru, a new machine learning-based service that automates code reviews based on the data the company has gathered from doing code reviews internally. Developers write the code and simply add CodeGuru to the pull requests. It supports…
перемога™ под вечер
https://twitter.com/SlackHQ/status/1201955273667158023
https://twitter.com/SlackHQ/status/1201955273667158023
logging.level:
foo.bar: DEBUG
foo.bar.baz.qux: INFO
Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class java.util.Map (java.lang.String and java.util.Map are in module java.base of loader 'bootstrap')
Короч фишка в том, что десериализатор foo.bar обозначает как строку, а потом пытается трактовать как мэп и привет исключению.
еее, 83 страницы стандарта
https://yaml.org/spec/1.2/spec.pdf
Вы всё еще любите naked return в #go ? В общем зря, ой зря.
(ни разу такой ошибки не видел, прям новое нашел, спасибо Искандеру)
https://play.golang.com/p/zm61gMAH5XA
В golangci-lint есть nakedret и пропозал чтобы выкинуть в го2 https://github.com/golang/go/issues/21291
func duh() (x int) {
{
x := 10
return
}
}./prog.go:6:3: x is shadowed during return(ни разу такой ошибки не видел, прям новое нашел, спасибо Искандеру)
https://play.golang.com/p/zm61gMAH5XA
В golangci-lint есть nakedret и пропозал чтобы выкинуть в го2 https://github.com/golang/go/issues/21291
А вот это очень-очень-очень хороший пост про копипасту и её последствия.
ТЛДР: самый популярный сниппет кода (жавы) с SO был с багом (и это ток по данным гитхаба).
Проблема с плавающей точкой, ha-ha, classic!
Но проблема была в граничных случаях, поэтому бояться нечего, но довольно показательно, и дотошно расписано, прикольно, что автора это так волнует (он и автор кода и автор поста)
https://programming.guide/worlds-most-copied-so-snippet.html
ТЛДР: самый популярный сниппет кода (жавы) с SO был с багом (и это ток по данным гитхаба).
Проблема с плавающей точкой, ha-ha, classic!
Но проблема была в граничных случаях, поэтому бояться нечего, но довольно показательно, и дотошно расписано, прикольно, что автора это так волнует (он и автор кода и автор поста)
https://programming.guide/worlds-most-copied-so-snippet.html
programming.guide
The most copied StackOverflow snippet of all time is flawed! | Programming.Guide
In a recent study titled Usage and Attribution of Stack Overflow Code Snippets in GitHub Projects, an answer I wrote almost a decade ago was found to be the most copied snippet on Stack Overflow. Ironically it happens to be buggy.
HackerOne breach lets outside hacker read customers’ private bug reports.
Company security analyst sent session cookie allowing account take-over.
https://arstechnica.com/information-technology/2019/12/hackerone-breach-lets-outside-hacker-read-customers-private-bug-reports/
Company security analyst sent session cookie allowing account take-over.
https://arstechnica.com/information-technology/2019/12/hackerone-breach-lets-outside-hacker-read-customers-private-bug-reports/
Кому скучно - напишите гошный RWMutex на одних каналах. Если хотете, то можете решение в лс слать.
Forwarded from HN Best Comments
Re: Generating a Java program with 90% less code
> We define the UserProvider interface
I'm strongly against creating interfaces for non-library (not shared) code, that will only ever have one concrete implementation. I see it all the time in internal service code, code that will never have a second implementation. It makes code hard to navigate, harder to understand, and tedious to manage as instead of updating one file, now you'll need to update two.
ronnier, 3 hours ago
> We define the UserProvider interface
I'm strongly against creating interfaces for non-library (not shared) code, that will only ever have one concrete implementation. I see it all the time in internal service code, code that will never have a second implementation. It makes code hard to navigate, harder to understand, and tedious to manage as instead of updating one file, now you'll need to update two.
ronnier, 3 hours ago
Некоторые наверное видели серию постов Расса о модулях в го, и вчера вышел собирательный пост обо всем (минимум воды, но все равно много, хотя читается легко).
Вот оно https://research.swtch.com/vgo-principles
Но меня привлекла другая ссылка, про похожий эксперимент с использованием минимально-поддерживаемой версии в Rust (июнь 2018) и...попытка не совсем успешная, но показательная, советую глянуть
https://illicitonion.blogspot.com/2018/06/rust-minimum-versions-semver-is-lie.html
Вот оно https://research.swtch.com/vgo-principles
Но меня привлекла другая ссылка, про похожий эксперимент с использованием минимально-поддерживаемой версии в Rust (июнь 2018) и...попытка не совсем успешная, но показательная, советую глянуть
https://illicitonion.blogspot.com/2018/06/rust-minimum-versions-semver-is-lie.html