Telegram Web Link
В этом году мы проводим конференцию GopherCon Russia онлайн 23-25-ого апреля. Планируются бесплатные доклады и платные воркшопы. Если вы хотите узнать больше про конференцию или податься спикером – приходите в наш ClubHouse через 37 минут: https://www.joinclubhouse.com/event/M5G7Ag3v Может быть, мы даже поболтаем в лучших традициях GolangShow 😉
How to Go wrong pinned «Всем привет, это Алексей Палажченко. Вы можете знать меня по русскоязычному Go сообществу, московским митапам, конференциям GopherCon Russia и подкасту GolangShow. Вот и я решил завести канал. Буду писать короткие заметки и давать ссылки про Go, разработку…»
В прошлую пятницу был мой последний день в Percona. За почти 4 года компания выросла в 2,5 раза, а моя команда разрослась до четырёх. Когда я только пришёл, мы делали первые версии PMM на основе закрытых Percona Cloud Tools, а сейчас Percona Monitoring and Management 2 – большой самостоятельный open-source продукт. Сейчас большая часть компании работает над возможностью поднять собственный приватный database-as-a-service при помощи PMM и Kubernetes операторов, потому ищет людей. Писать open-source на Go, получать зарплату в долларах, работать удалённо даже после COVID’а – что может быть лучше? Открытые вакансии:
* Backend Architect – на моё место, развивать PMM;
* Software Engineer – писать операторы;
* и другие.
После ухода из компании нужно было удалить всё рабочее с бывшего корпоративного Mac mini, который я выкупил. Решил переустановить macOS целиком. Привычно скачал последнею версию из App Store, сделать загрузочную флешку, зажал ⌥ для загрузки с неё – и получил непривычное сообщение о «необходимости обновить программное обеспечение для использования выбранного загрузочного диска». Обновил, попытался загрузиться ещё раз – «загрузка запрещена настройками безопасности». Быстрое гугление показало, что это фича чипа T2 – и правда, первый раз переустанавливаю ОС на таком компьютере. Нужно было перезагрузиться с ⌘+R – окей, перезагружаюсь, средство восстановления грузится через интернет, но дальше показывает такую же ошибку.

Убил на это несколько часов.

В итоге оказалось, что комбинация ⌘+R на самом деле не работала – средство восстановления грузилось просто потому, что на встроенный диск был полностью чистый (это, видимо, сделало «обновление программного обеспечения»). А не работала она из-за… внешней механической клавиатуры. Как я понял, она после включения секунду-две работает в режиме Windows, где ⌥ работает как Alt (и это нормально), а ⌘ – как кнопка 🪟, и 🪟+R не распознаётся загрузчиком. Подключение старой клавиатуры Apple решило проблему.

Надеюсь, кто-то в подобной ситуации это вспомнит и спасёт себе пару часов.
Если у вас iPhone с Apple Watch или каким-то другим гаджетом, совместимым с Apple Health, то вы можете и не подозревать сколько он знает про ваше здоровье. Стандартное приложение на телефоне позволяет делать только базовые операции (например, посмотреть график набора веса за год самоизоляции 😢), но в нём есть экспорт сырых данных. Я написал Go модуль для их анализа привычными средствами. Пользуйтесь на здоровье.
Несколько лет назад Mat Ryer, известный в Go сообществе человек, написал крутое приложение для macOS – BitBar. Оно всего-навсего запускает скрипты, парсит их вывод и отображает его в строке меню. Но мощность и гибкость скриптов в сочетании с сообществом сделало проект очень популярным. Через некоторое время проект был подзаброшен – возможно, из-за того, что Мэт стал больше писать на Go и забывать Objective C 😄 Однако, всё это время популярность BitBar’а росла – про него часто писали и говорили в подкастах; например, в моём любимом ATP. Мэт же искал волонтёра на поддержку или желающего переписать проект на Swift, но не мог найти.

В ноябре прошлого кода появилась-таки версия на Swift – SwiftBar. В декабре Мэт предложил автору SwiftBar’а объединить усилия, но, благодаря третьим людям, развернувшаяся дискуссия как-то быстро скатилась не туда. (Серьёзно, не нужно так себя вести с авторами open source, да и вообще с людьми.)

Почему я всё это пишу в канал про Go? Да потому, что Мэт пару дней назад переименовал BitBar в xbar и выпустил бету второй версии, написанной… на Go и JS. При этом используется не Electron, как можно было бы подумать, а проект Wails, который не использует браузерный движок, так что результатом является полностью нэйтивное приложение. Очень советую посмотреть на xbar – проект крутой, полезный, да и контрибьютить теперь в него проще.

P. S. Ну и посмотрите на мой плагин для Docker’а. Внутри он страшный, но работает.
Новые версии Go с исправлениями безопасности: https://groups.google.com/g/golang-announce/c/MfiLYjG-RAw/m/zzhWj5jPAQAJ
В комментариях спрашивали почему я ушёл из Percona и куда. Ушёл, по большому счёту, по двум причинам. С одной стороны, заскучал – PMM 2.x задизайнена, SaaS платформа начата, и даже DBaaS (on-prem и SaaS) уже в разработке. С другой, как я писал, компания сильно выросла, а я не очень люблю работать в больших компаниях и командах, где даже с самыми настроенными процессами оверхед на коммуникацию довольно большой.

После двух недель отпуска (и даже короткой поездки к морю), в понедельник я начал работать в Talos Systems – маленьком стартапе (я – десятый сотрудник), создающим операционный систему для нод Kunernetes кластеров. Скучать тут не приходится уже с самого первого дня – очень много нового и сложного, с чем я раньше никогда не работал. Синдром самозванца вернулся в полный рост🤪. Но, в целом, ради этого я и менял работу: выйти из зоны комфорта и делать что-то новое.
type StringableSignedInteger interface {
~int | ~int8 | ~int16 | ~int32 | ~int64
String() string
}

proposal: spec: generics: use type sets to remove type keyword in constraints
GitHub документирует проблемы своего собственного UX. Это прекрасно. https://docs.github.com/en/packages/guides/pushing-and-pulling-docker-images#authenticating-to-github-container-registry
Сделал автосборку активных веток разработки Go в Docker образы. Теперь можно гонять тесты на CI с tip/master не пересобирая его каждый раз, да и играться с дженериками и фаззингом проще. https://github.com/AlekSi/golang-tip
How to Go wrong
Сделал автосборку активных веток разработки Go в Docker образы. Теперь можно гонять тесты на CI с tip/master не пересобирая его каждый раз, да и играться с дженериками и фаззингом проще. https://github.com/AlekSi/golang-tip
Образ сделан в рамках подготовки к воркшопу “Fuzz против и Property-Based тесты в Go”, который я и Валера Мелешкин из подкаста DevZen проведём на конференции GopherCon Russia уже в конце следующей недели. Сама конференция с крутыми спикерами бесплатна, но воркшопы стоят (надеюсь, небольших) денег. Регистрация ещё открыта, но долго не тяните.
Forwarded from oleg_log (Oleg Kovalov)
We want to provide a low-noise, reliable way for Go developers to be alerted of known security vulnerabilities that affect their applications.

We aim to build a first-party, curated, consistent database of security vulnerabilities open to community submissions, and static analysis tooling to surface only the vulnerabilities that are likely to affect an application, minimizing false positives.

The primary consumer of the database and the protocol will be a Go tool, tentatively go audit, which will analyze a module and report what vulnerabilities it’s affected by.

https://github.com/golang/go/issues/45519

https://go.googlesource.com/proposal/+/master/design/draft-vulndb.md
GopherCon Russia 2021 стартует уже через полчаса, и бесплатная регистрация ещё открыта! Все на https://www.gophercon-russia.ru !

А ещё там можно купить билет на крутейшие воркшопы в субботу и воскресенье. Булат Замалутдинов и Николай Маржан расскажут как писать Kubernetes-операторы, чтобы всё работало и не ломалось; Искандер Шарипов расскажет как крафтить линтеры, чтобы самим всё не сломать; а Валерий Мелешкин и я расскажем как применять property-based тесты и фаззинг, чтобы самим ломать свой код до production. Места ещё есть!
This media is not supported in your browser
VIEW IN TELEGRAM
Опубликовано закулисное видео первого дня GopherCon Russia 2021
2025/07/04 22:20:54
Back to Top
HTML Embed Code: