Мне очень нравится clickhouse, но работаю я с ним не так давно.
И вот, у Avito Tech вышла целая статья с ответами на “продвинутые” вопросы о Clickhouse.
Отвечает на вопросы один из главных разработчиков кликхаус.
https://habr.com/ru/company/avito/blog/500678/
И вот, у Avito Tech вышла целая статья с ответами на “продвинутые” вопросы о Clickhouse.
Отвечает на вопросы один из главных разработчиков кликхаус.
https://habr.com/ru/company/avito/blog/500678/
Хабр
ClickHouse для продвинутых пользователей в вопросах и ответах
В апреле инженеры Авито собирались на онлайн-посиделки с главным разработчиком ClickHouse Алексеем Миловидовым и Кириллом Шваковым, Golang-разработчиком из компании Integros. Обсуждали, как...
Не знаю, приходилось ли кому-то пользоваться graphql в связке с го.
Есть один пакет, скорее всего хороший пакет, буду делать на него миграцию.
Так вот, дока там абсолютно так себе, но, в самом конце есть введения написанные другими людьми.
И это настолько круто, что какой-то из пользователей пакета написал своё введение и автор добавил его в ридми.
Хотя, конечно, минус автору - хорошей доки нет.
https://github.com/graph-gophers/graphql-go - сам пакет.
https://github.com/codex-zaydek/graphql-go-walkthrough - гайд от пользователя.
Есть один пакет, скорее всего хороший пакет, буду делать на него миграцию.
Так вот, дока там абсолютно так себе, но, в самом конце есть введения написанные другими людьми.
И это настолько круто, что какой-то из пользователей пакета написал своё введение и автор добавил его в ридми.
Хотя, конечно, минус автору - хорошей доки нет.
https://github.com/graph-gophers/graphql-go - сам пакет.
https://github.com/codex-zaydek/graphql-go-walkthrough - гайд от пользователя.
GitHub
GitHub - graph-gophers/graphql-go: GraphQL server with a focus on ease of use
GraphQL server with a focus on ease of use. Contribute to graph-gophers/graphql-go development by creating an account on GitHub.
Forwarded from Not Boring Tech
This media is not supported in your browser
VIEW IN TELEGRAM
Нейросети пошли и в настольный теннис — одна японская нейросеть научилась предсказывать точку падения мяча в реалтайме ещё до того, как ракетка коснулась мяча. Ей всего нужно видеть положение тела игрока и она выдаст своё верное предсказание с вероятностью 75% процентов.
Здесь можно почитать об этой нейросети по подробнее. Видео выше кстати прямиком отсюда.
Здесь можно почитать об этой нейросети по подробнее. Видео выше кстати прямиком отсюда.
Forwarded from Not Boring Tech
Обожаю разные забавные проекты с дообученными GPT-2 из серии чё-то.там_does_not_exist — вот один из них, который совсем недавно дико развирусился в соседних каналах. Эта идея уже старая, её наконец-то превратили в реальность: дообученная GPT-2 на UrbanDictionary.com придумывает слова, их часть речи, падежи, слоги и определения к ним. Если обновить страницу, сгенерируется другое слово. Также можно получить определение слова, которое вы сами придумали. В код лезть я не стал, ибо не сильно разбираюсь, можете сами посмотреть исходники, они тут. А вот сам сайт: http://www.thisworddoesnotexist.com/
Сейчас пишу очень много тестов, в основном - это интеграционные тесты.
То есть, нужно проверить взаимодействие разных частей приложения между собой.
Столкнулся с такой проблемой:
Есть структура, в которой есть дата, мне нужно запушить её в MongoDB и позже проверить правильность данных из Mongo.
Так вот, формат даты в монго не такой же, как в го, монго обрезает миллисекунды, из-за чего, в итоге структуры не одинаковы по DeepEqual.
Я пока что присваиваю ожидаемой структуре дату из полученной и сравниваю.
Конечно же, в контексте тестов этот подход не совсем правильный, т.к вдруг что-то будет не так с датой - тесты этого не проверят.
Кто-то сталкивался с таким, как с этим бороться?
То есть, нужно проверить взаимодействие разных частей приложения между собой.
Столкнулся с такой проблемой:
Есть структура, в которой есть дата, мне нужно запушить её в MongoDB и позже проверить правильность данных из Mongo.
Так вот, формат даты в монго не такой же, как в го, монго обрезает миллисекунды, из-за чего, в итоге структуры не одинаковы по DeepEqual.
Я пока что присваиваю ожидаемой структуре дату из полученной и сравниваю.
Конечно же, в контексте тестов этот подход не совсем правильный, т.к вдруг что-то будет не так с датой - тесты этого не проверят.
Кто-то сталкивался с таким, как с этим бороться?
В общем, с датой ничего не решилось, но понял, что с помощью прекрасного go-cmp(адвансед альтернатива DeepEqual), можно исключать поля, которые не желательно проверять. Это мой инсайт номер один.
А второй инсайт - это потрясающий тул go-spew, с помощью которого можно очень красиво логировать структуры для дебага(со значениями, типами и т.д). Так я вспомнил, что нулевое значение слайса - nil, а Mongo, когда она сканирует результат запроса в структру, создаёт пустой слайс, а не nil. Так и получается, что в итоге эти две структуры, которые хранят в себе слайсы - не равны по DeepEqul и cmp.Equal.
Столько боли в этих тестах, столько боли …
А вот и сами тулы:
https://github.com/davecgh/go-spew
https://github.com/google/go-cmp
А второй инсайт - это потрясающий тул go-spew, с помощью которого можно очень красиво логировать структуры для дебага(со значениями, типами и т.д). Так я вспомнил, что нулевое значение слайса - nil, а Mongo, когда она сканирует результат запроса в структру, создаёт пустой слайс, а не nil. Так и получается, что в итоге эти две структуры, которые хранят в себе слайсы - не равны по DeepEqul и cmp.Equal.
Столько боли в этих тестах, столько боли …
А вот и сами тулы:
https://github.com/davecgh/go-spew
https://github.com/google/go-cmp
GitHub
GitHub - davecgh/go-spew: Implements a deep pretty printer for Go data structures to aid in debugging
Implements a deep pretty printer for Go data structures to aid in debugging - davecgh/go-spew
Я уже знаю, о том, что есть hub. Но вот что.
Github запустил свою command line утилиту для управления репозитириями.
Приятно, что они решили эту утилиту написать на Go.
Пока что это бета и функционал немного урезан по сравнению с тем, что есть в hub.
В будущем обещают поддержку Github Enterprise Server и больше функционала.
Но, по моему скромному мнению, функционала более чем достаточно, чтобы пользоваться в работе.
https://github.com/cli/cli
Github запустил свою command line утилиту для управления репозитириями.
Приятно, что они решили эту утилиту написать на Go.
Пока что это бета и функционал немного урезан по сравнению с тем, что есть в hub.
В будущем обещают поддержку Github Enterprise Server и больше функционала.
Но, по моему скромному мнению, функционала более чем достаточно, чтобы пользоваться в работе.
https://github.com/cli/cli
GitHub
GitHub - cli/cli: GitHub’s official command line tool
GitHub’s official command line tool. Contribute to cli/cli development by creating an account on GitHub.
Если вкратце, я работаю в компании, сервисы которой тесно связаны с криптовалютой.
И по долгу службы, как бы формально это не звучало, мне нужно знать, как устроен блокчейн и апи разных блокчейн платформ.
В процессе ознакомления я прочитал очень известный документ(Satoshi Nakamoto Paper) - https://bitcoin.org/bitcoin.pdf
Впринципе понял, как это устроено в теории. Но на этом решил не останавливаться, ведь намного лучше всё понимается на практике.
Так вот, в итоге я нашел интересную серию статей на медиуме, в которых показывают как сделать свой простой блокчейн и внедрить имплементации разных алгоритмов(майнинг, proof-of-work и т.д).
Пока что еще не написал его, но совсем скоро - поделюсь репо на гитхабе.
Вот ссылка на первую статью, там внизу ссылки на все остальные из серии.
https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc
И по долгу службы, как бы формально это не звучало, мне нужно знать, как устроен блокчейн и апи разных блокчейн платформ.
В процессе ознакомления я прочитал очень известный документ(Satoshi Nakamoto Paper) - https://bitcoin.org/bitcoin.pdf
Впринципе понял, как это устроено в теории. Но на этом решил не останавливаться, ведь намного лучше всё понимается на практике.
Так вот, в итоге я нашел интересную серию статей на медиуме, в которых показывают как сделать свой простой блокчейн и внедрить имплементации разных алгоритмов(майнинг, proof-of-work и т.д).
Пока что еще не написал его, но совсем скоро - поделюсь репо на гитхабе.
Вот ссылка на первую статью, там внизу ссылки на все остальные из серии.
https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc
Forwarded from oleg_log (Oleg Kovalov)
Стало интересно собрать статистику по Cloud & SaaS. Кто и что использует на работе или просто для себя. На текущем месте работы, а так же и на прошлом.
Даже если вы с этими вещами не работаете (в силу специализации), но знаете, что есть в вашей фирме используется - попрошу вас ответить :)
Результаты выложу на след неделе, думаю за 3-4 дня будет собрано достаточно ответов. Репост приветствуется, или хотя бы ссылку на опрос киньте покидайте другим.
https://forms.gle/v4wppXeC1thfHJ4J9
Спасибо.
Даже если вы с этими вещами не работаете (в силу специализации), но знаете, что есть в вашей фирме используется - попрошу вас ответить :)
Результаты выложу на след неделе, думаю за 3-4 дня будет собрано достаточно ответов. Репост приветствуется, или хотя бы ссылку на опрос киньте покидайте другим.
https://forms.gle/v4wppXeC1thfHJ4J9
Спасибо.
Google Docs
Cloud & SaaS questionnaire
See: https://telegram.me/oleg_log
Forwarded from oleg_log (Oleg Kovalov)
Последние 2 или 3 недели решил пожить в Goland (который IDE от JetBrains) и...я так-то не много потерял, когда жил без него.
Конечно рефакторинг по F6 это прикольно, и вот все эти менюшки, но как показывает практика, бОльшая часть времени тратится в простом наборе кода и перепрыгиванию между файлами/определениями.
Что сильно выбешивает, так это время отклика, когда по привычке ставишь {} и быстренько хочешь поставить курсор внутри и нажать Enter, а в итоге проваливаешься на строку ниже, а скобки висят на месте. Да и другие телодвижения чувствуются в натяжку (сейчас в лс набегут со словами, что РАМУ РАМУ НАДО БЫЛО ПОДДАТЬ, но факт такой, mbp15 не дотягивает)(и да, кроме как телеги и хрома с 4 вкладками ничего нет, цпу нулевой).
В итоге с июня возвращаюсь в VSCode 🎉
Конечно рефакторинг по F6 это прикольно, и вот все эти менюшки, но как показывает практика, бОльшая часть времени тратится в простом наборе кода и перепрыгиванию между файлами/определениями.
Что сильно выбешивает, так это время отклика, когда по привычке ставишь {} и быстренько хочешь поставить курсор внутри и нажать Enter, а в итоге проваливаешься на строку ниже, а скобки висят на месте. Да и другие телодвижения чувствуются в натяжку (сейчас в лс набегут со словами, что РАМУ РАМУ НАДО БЫЛО ПОДДАТЬ, но факт такой, mbp15 не дотягивает)(и да, кроме как телеги и хрома с 4 вкладками ничего нет, цпу нулевой).
В итоге с июня возвращаюсь в VSCode 🎉
Интересная статья про монорепо Uber. Здесь приводится много примеров использования Bazel и много интересной статистики.
https://eng.uber.com/go-monorepo-bazel/
https://eng.uber.com/go-monorepo-bazel/
И вот, после прочтения статьи сверху мне стало интересно чуть глубже копнуть в тему монорепо, и тут есть статья о том, почему это плохо.
https://link.medium.com/UaYr3uIeV6
https://link.medium.com/UaYr3uIeV6
Medium
Monorepos: Please don’t!
Here we are at the beginning of 2019 and I’m engaged in yet another discussion on the merits (or lack thereof) of keeping all of an…
Релизнули Go 1.14.4
Там несколько фиксов для пакета os, райнтайма и go doc.
Не знаю, стоит ли писать анонсы для майнор версии, но всё же.
https://twitter.com/golang/status/1267589808529997825?s=20
Там несколько фиксов для пакета os, райнтайма и go doc.
Не знаю, стоит ли писать анонсы для майнор версии, но всё же.
https://twitter.com/golang/status/1267589808529997825?s=20
Twitter
Go
😷 Go 1.14.4 and 1.13.12 are released! 📡 Announcement: https://t.co/0101AhDmAq ⬇️ Download: https://t.co/iJdDLCvMkl #golang
Небольшая документация о 12-и факторных приложениях. https://12factor.net/
Много где встречал этот термин раньше, но как-то не доходили руки почитать.
А этот материал обещает быть хорошим, т.к написан сооснователем Heroku, Adam Wiggins.
Много где встречал этот термин раньше, но как-то не доходили руки почитать.
А этот материал обещает быть хорошим, т.к написан сооснователем Heroku, Adam Wiggins.
12factor.net
The Twelve-Factor App
A methodology for building modern, scalable, maintainable software-as-a-service apps.
Forwarded from Komfy 🔐
We completed migrating from graphql-go/graphql to graph-gophers/graphql-go because the original package had a number of issues we couldn't solve. Now the GraphQL API works and further development can continue.
Решил попробовать использовать vim какое-то время.
Очень много разговоров вокруг этого зверюги.
Оказалось, что всё не так сложно и из vim’a есть выход.
Vim очень хорошо документирован, у него есть свой интерактивный(насколько это возможно в окне терминала) туториал, который пошагово объяснянт всю навигацию и функционал.
Решил установить nvim, следуя этому гайду.
Было бы круто услышать от вас о вашем опыте использования vim, если такой есть.
https://octetz.com/docs/2019/2019-04-24-vim-as-a-go-ide/
Очень много разговоров вокруг этого зверюги.
Оказалось, что всё не так сложно и из vim’a есть выход.
Vim очень хорошо документирован, у него есть свой интерактивный(насколько это возможно в окне терминала) туториал, который пошагово объяснянт всю навигацию и функционал.
Решил установить nvim, следуя этому гайду.
Было бы круто услышать от вас о вашем опыте использования vim, если такой есть.
https://octetz.com/docs/2019/2019-04-24-vim-as-a-go-ide/
Octetz
Vim as a Go IDE
Vim as a Go (Golang) IDE using LSP and vim-go It is 2019 and there are many great ways to write Go. Goland is available for Intellij users, Visual Studio Code (VSCode) is an incredibly enjoyable editor / IDE, and of course, Vim. I am no Vim-purist, I think…