Forwarded from ☕️ Мерлин заваривает τσάι 🐌
Готовьтесь обновлять гошечку на проде
https://github.com/golang/go/milestone/240
https://github.com/golang/go/milestone/240
Дженерики крутые, можно написать любую дженерик функцию. Давайте напишем дженерик функцию сравнения двух объектов через
Полчаса спустя…
И даже этого недостаточно для сравнения
Equal(T) bool
(если есть) или ==
.Полчаса спустя…
type Equaler[T any] interface { Equal(T) bool }
func Equal[T comparable](expected, actual T) bool { ... }
func EqualEqualers[T any](e1 Equaler[T], e2 T) bool { ... }
func EqualSlices[T comparable](s1, s2 []T) bool { ... }
func EqualMaps[M1, M2 ~map[K]V, K, V comparable](m1 M1, m2 M2) bool { ... }
И даже этого недостаточно для сравнения
map[string]net.IP
: net.IP
– слайс, а слайсы не comparable.LIBERTY LIBERTY LIBERTY, или о пользе Minimal Version Selection и Go Module Proxy
https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
BleepingComputer
Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps
Users of popular open-source libraries 'colors' and 'faker' were left stunned after they saw their applications, using these libraries, printing gibberish data and breaking. Some surmised if the NPM libraries had been compromised, but it turns out there's…
How to Go wrong
LIBERTY LIBERTY LIBERTY, или о пользе Minimal Version Selection и Go Module Proxy https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
Reuters
New York man arrested after apartment fire; explosive materials found
A New York City man was arrested early on Wednesday after he was injured in a fire at his apartment, where authorities later found chemicals that could be used to make bombs and instructions on how to make them, police said.
👍3😱2
Последние несколько недель в части интернета не прекращается дискуссия, косвенно связанная с новостями выше: как зарабатывать / нужно ли платить за open source. Хотел поделиться с вами постом, которые очень чётко отражает мою позицию и как мейнтейнера, и как CTO open source startup’а, и как автора канальчика в Telegram:
https://apenwarr.ca/log/20211229
(Если сравнение с коммунизмом вызывает у вас рвотные рефлексы, то можно эту часть пропустить без больших потерь)
https://apenwarr.ca/log/20211229
(Если сравнение с коммунизмом вызывает у вас рвотные рефлексы, то можно эту часть пропустить без больших потерь)
apenwarr.ca
The Gift of It's Your Problem Now
Recently a security hole in a certain open source Java library resulted in a worldwide emergency kerfuffle as, say, 40% of the possibly hund...
👍3
Forwarded from oleg_log (Oleg Kovalov)
The right path forward for NPM and package managers like it is to stop preferring the latest possible version of all dependencies when installing a new package. Instead, they should prefer to use the dependency versions that the package was actually tested with, or versions as close as possible to those. I call that a high-fidelity build.
https://research.swtch.com/npm-colors
https://research.swtch.com/npm-colors
👍5
Через несколько часов (в 19 UTC+1, 21 MSK) буду рассказывать про FerretDB, generic’и и fuzzing. Если слайды успею доделать.
UPD: доделал за 20 минут до начала.
UPD: доделал за 20 минут до начала.
Meetup
Вход в Meetup | Meetup
Ещё не участник Meetup? Войдите в систему и найдите группы, которые проводят онлайн или офлайн мероприятия и встречайтесь с людьми в вашем регионе, которые разделяют ваши интересы.
Несколько дней назад вместе со всеми угорал над Object, Object, Object, […], а сегодня для доклада написал такое:
func MakeDocument3[T1, T2, T3 BSONType](key1 string, value1 T1, key2 string, value2 T2, key3 string, value3 T3) *Document
😱5👍2
Мой стартап, FerretDB Inc., нашёл денег и нанимает двух senior разработчиков на Go, чтобы вместе со мной писать FerretDB: полный remote, open source, $$$. Формальное описание вакансии у нас на сайте и в Go Get a Job.
Неформально хочу сказать, что пока ищу людей не только сильных технически, но и близких по культуре и опыту. Очень не хотелось бы сейчас тратить время на непродуктивные и плохо аргументированные споры про чистую архитектуру и предметно-ориентированное проектирование.
Как предложить себя написано на сайте. В комментариях можно задать вопросы. Флудить лучше в Go Get a Job. В личку просьба не писать – ответы на общие вопросы будут интересны и другим людям.
Неформально хочу сказать, что пока ищу людей не только сильных технически, но и близких по культуре и опыту. Очень не хотелось бы сейчас тратить время на непродуктивные и плохо аргументированные споры про чистую архитектуру и предметно-ориентированное проектирование.
Как предложить себя написано на сайте. В комментариях можно задать вопросы. Флудить лучше в Go Get a Job. В личку просьба не писать – ответы на общие вопросы будут интересны и другим людям.
👍30🎉11
Я не подался/подалась на вакансию, потому что…
(множественный выбор)
(множественный выбор)
Anonymous Poll
19%
Мало денег для меня
32%
Не хочу уходить с текущей работы
49%
Нет стольких лет опыта c Go
15%
Не подхожу под другое требование
40%
Не считаю себя senior
15%
Чего-то боюсь
5%
Нипочему, скоро подамся
👍1
How to Go wrong
Я не подался/подалась на вакансию, потому что…
(множественный выбор)
(множественный выбор)
Короткое обновление для 50%, испугавшихся 5+ лет опыта на Go – теперь мы просим только 3+.
В принципе, если вы не уверены, что senior, но уж точно middle – подавайтесь, пообщаемся. 🙂
Завтра подробнее напишу как и почему так решили.
P.S. Подалось меньше, чем 17 человек, проголосовавших за последний пункт. Давайте-давайте, вакансия не вечная 🙂
В принципе, если вы не уверены, что senior, но уж точно middle – подавайтесь, пообщаемся. 🙂
Завтра подробнее напишу как и почему так решили.
P.S. Подалось меньше, чем 17 человек, проголосовавших за последний пункт. Давайте-давайте, вакансия не вечная 🙂
Dgraph — всё.
(много мыслей про open source стартапы и потерю контроля при привлечении инвестиций)
Update: 🔥 в комментариях на Hacker News.
(много мыслей про open source стартапы и потерю контроля при привлечении инвестиций)
Update: 🔥 в комментариях на Hacker News.
😢6👍1
При всех минусах онлайн-митапов, у них есть и плюсы. Один из них – возможность выступить на двух в один день, прямо как Фил Коллинз на Live Aid. Вот и я буду выступать в субботу сначала в виртуальной Казани (на русском), а потом в виртуальном Брюсселе на FOSDEM (на английском).
Из менее хороших новостей, в процессе подготовки сейчас нашёл баг в фаззинге.
Из менее хороших новостей, в процессе подготовки сейчас нашёл баг в фаззинге.
😱6🔥4👍3❤2
Тут конференция HighLoad++ объявила накрутку голосование за лучшие Open Source-решения, победители которого выступят с короткими докладами. В настоящий момент у самого накрученного лучшего проекта 117 голосов. Давайте накрутим проголосуем за FerretDB, чтобы на конференции было ещё больше нашего любимого Go и любимой базы данных.
https://opensource.highload.ru/vote
https://opensource.highload.ru/vote
👍14👎1
How to Go wrong
GitHub документирует проблемы своего собственного UX. Это прекрасно. https://docs.github.com/en/packages/guides/pushing-and-pulling-docker-images#authenticating-to-github-container-registry
Нашёл почти такое же прекрасное:
Types of status checks on GitHub
There are two types of status checks on GitHub:
• Checks
• Statuses
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks#types-of-status-checks-on-github
Правду говорят, что придумывание названий – одна из двух самых сложных вещей в программировании.
Types of status checks on GitHub
There are two types of status checks on GitHub:
• Checks
• Statuses
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks#types-of-status-checks-on-github
Правду говорят, что придумывание названий – одна из двух самых сложных вещей в программировании.
GitHub Docs
About status checks - GitHub Docs
Status checks let you know if your commits meet the conditions set for the repository you're contributing to.
Что мы узнали из этого тикета:
1. Роб и Расс использую Маки.
2. Apple уже не торт.
3. Авторы
1. Роб и Расс использую Маки.
2. Apple уже не торт.
3. Авторы
go env
не знают что в нём тормозит.GitHub
cmd/go: 'go env' takes 5+ seconds on my Mac · Issue #50982 · golang/go
I don't know why, but 'go env' regularly takes 5+ seconds on my MacBook Pro, and it's really annoying. A second 'go env' shortly thereafter is quick....