12-ого выступаю с докладом на митапе GDG Berlin про FerretDB. Что бы вы хотели на нём узнать?
Meetup
Login to Meetup | Meetup
Not a Meetup member yet? Log in and find groups that host online or in person events and meet people in your local community who share your interests.
👍5
Казалось бы, разумно хотеть
go help environment
и go env
показывать все переменные окружения, влияющие на Go? https://github.com/golang/go/issues/50444GitHub
cmd/go: `GORACE`, `GOGC`, `GOMAXPROCS`, `GOTRACEBACK` are not documented in `go help environment` · Issue #50444 · golang/go
What version of Go are you using (go version)? Both 1.17.5 and the current tip. What did you do? Run go help environment. What did you expect to see? Documentation for all environment variables tha...
Кстати, вы знаете, что не так с кучей кода, делающей
edit: То, что
os.Getenv("GOPATH")
?edit: То, что
go env -w
влияет на команду go
и рантайм, но не на код, который забыл про этот флаг.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