web mess – Telegram
web mess
130 subscribers
85 photos
1 video
2 files
163 links
go, vim and some other random stuff
appreciate your feedback :)
Download Telegram
Указатели как поля в структуре.

Наткнулся на код, в котором для полей используются ссылочные типы, например, *bool, *string и т.д
Какой-то явной необходимости в этом нет, всё было работало и без этого.
Уточнил, оказалось, что это такая конвенция, потому что поинтер можно проверить v != nil и т.д
А для каждого другого типа нужно сравнивать с нулевым значением.

Плюс к этому всему в коде куча конструкций вроде:
isTrue := true
a.someFlag = &isTrue
Они мне не кажутся красивыми.
Лучше уж написать ф-цию, которая возвращает поинтер на конкретный тип.

Ну, я решил немного изучить вопрос и наткнулся на вот этот тред.
Если коротко:
Есть смысл использовать *T как поле в случае маршалинга, когда нужно передавать нулевое значение не смотря на omitempty. Например, поле int и нам нужно передавать 0, в случае с указателем, значение в json смаршалится как 0.
В случае с nil - поля не будет в json'e.
Таким образом, можно разделять случаи когда поле не было передано и когда поле имеет нулевое значение.

Но мне кажется, что это нужно настолько редко :)
Интересно было бы начать здесь тред по этому вопросу и услышать ваше мнение.
Forwarded from Мемы Для Друзей (Danil Stepin)
Нашел интересную дырку в монге.
Ну, скорее всего это предсказуемое поведение, но неочевидное.
Если пытаешься конкурентно апдейтнуть один и тот же документ с upsert:true (в случае если документа не существует) - создаётся два документа.
Происходит так из-за того, что операции в монге атомарны в пределах одного документа.
А если документа нет - то нет и атомарности :)
Предыдущее актуально для старых версий монги.
Начиная с версии 4.16 - это поведение исправили.
Clubhouse (таск менеджер) меняет название на Shortcut.
Наконец на меня перестанут смотреть испуганным взглядом, когда я говорю, что мы трекаем таски в клабхаусе 😂

https://clubhouse.io/blog/clubhouse-changing-our-name-to-shortcut
С переходом на удалёнку я понял, насколько важно правильно обустроенное рабочее место.
Первым делом купил нормальное кресло для работы. Работать стало удобнее, но болела шея из-за того, что постоянно смотрел вниз на ноут. В итоге купил вчера монитор и наконец стало правда комфортно.
В планах купить еще отдельную клавиатуру. Смотрю на что-то вроде этой и отдельный тачпад, поставить его между частями клавиатуры (должно быть удобно).
Делитесь своим сетапом в комментах, интересно посмотреть.
Короче, упс 🙈
Не очень подходит под тематику канала. Но, очень интересная статья на тему онлайн рекламы и того, почему эта ниша - новый пузырь доткомов.

Очень длинная, но правда крутая и местами забавная(из-за старых фейлов огромных корпораций с рекламой)

https://thecorrespondent.com/100/the-new-dot-com-bubble-is-here-its-called-online-advertising
А давайте будем булевы флаги передавать строками yes/no
Forwarded from LEFT JOIN
Совершенно кайфовый ресурс — визуальное введение в машинное обучение. К сожалению, по-русски у меня почему-то выдает ошибку 500. Но очень красиво и понятно сделано 😍
Очень сильно смешно
Forwarded from Мемы Для Друзей (Maxim Rjakhovskiy)