oleg_log
1.72K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
oleg_log
Привязывать зависимости на тулинг?
Точно, тут еще 1 сбалансированный опрос был.

Вот вроде бы правильно - привязались к тулингу (читайте как дев-зависимость в 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://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 ? В общем зря, ой зря.

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
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/
This media is not supported in your browser
VIEW IN TELEGRAM
Кому скучно - напишите гошный 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
Некоторые наверное видели серию постов Расса о модулях в го, и вчера вышел собирательный пост обо всем (минимум воды, но все равно много, хотя читается легко).

Вот оно https://research.swtch.com/vgo-principles

Но меня привлекла другая ссылка, про похожий эксперимент с использованием минимально-поддерживаемой версии в Rust (июнь 2018) и...попытка не совсем успешная, но показательная, советую глянуть
https://illicitonion.blogspot.com/2018/06/rust-minimum-versions-semver-is-lie.html
unrolled loop❤️
я бы прост назвал Jetbrains Atlassian.

Конечно замахнулись круто, и слак, и гугл календарь, и бейзкамп, и конфлюенс. лол, даже мобайл сразу.

Как бы по швам не разошлись от напряжения