Вот это «зоопарк» микросервисов. У меня столько вопросов, что не знаю даже с чего начать.
Попробую с двух.
1. Сколько команд разрабатывали эти сервисы? У каждого сервиса своя команда или одна команда разрабатывает несколько?
2. Сколько из этих сервисов stateful? Где они хранят данные?
Англоязычные?
Я подписан на golangweekly.com, слежу за reddit.com/r/golang, ну и статьи про Go часто проскакивают на Hacker News.
Еще можно следить за каналом News на российском Golang коммюнити Slack-е.
Мало какие вещи в мире можно назвать абсолютно новыми.
Geohash использует похожие алгоритмы для превращения двумерной координаты в одномерную. В этом они похожи. В многих вещах отличаются.
S2 дает вам еще функции для работы с геометрией, например. Клетки S2 имеют похожий размер, в отличие от клеток Geohash. Скачки точности в geohash при переходе на другой уровень сильно больше, чем в S2 и т.д. Боюсь я не настолько хорошо знаю тонкости обеих «либ», чтобы тут все досконально рассказать.
Да. Все примерно так, как вы описали.
По статистике вижу что у нас около 400к полигонов. Хранится все на диске в RocksDB. Занимает единицы гигабайт. При старте загружаем с диска в память полностью.
Частично из openstreetmap, частично сделали вручную.
Полигоны на уровне их построения — это по сути набор точек. Часть, как я сказал, взяты из openstreetmap, а часть созданы вручную в веб-редакторе. Т.е. на этом этапе никаких cell-ов нет.
Уже на этапе geoborder идет покрытие cell-ами. Используются разные уровни cell-ов.
В дополнение к этому geoborder имеет понятие z-индекса. Т.е. какие-то полигоны могут покрываться другими полигонами. Примером является город и университет в нем. Полигон университета находится внутри полигона города.
Привет! Записи пока нет, но будет в ближайшее время. Добавим как появится обязательно.
Слайды и код здесь: github.com/mkevac/gophercon-russia-2018
Эта ссылка есть в статье.
Я очень давно сижу на Youtube. Слежу за каналами. И там все понятно. Видео выложено — ты его смотришь. Когда хочешь. Или смотришь любое историческое видео. Просто.
Но в какой-то момент многие люди перешли на Twitch. И я чувствую себя дедушкой, который не понимает что за новые игрушки у внучат. Как вообще им пользоваться? Я ведь не готов сидеть и смотреть что-то 5 часов подряд. Я может хочу скачать и смотреть в ускоренном темпе, например. Или посмотреть какие-то подборки (плейлисты). А всего этого нет. Многие люди вообще не сохраняют исторические видео. А если и сохраняют, то это какое-то месиво.
PRD до нас доходит редко. Нам чаще всего ставят задачи уже эти вот самые проджект менеджеры, описанные в статье uyga. Это связано с тем, что наш результат не является тем, что видит пользователь. Наш результат используется другими программистами, чтобы сделать то, что видит пользователь.
Но с продактами общаться нам тоже приходится. В основном когда изменение связано с какими-то внутренними вещами, алгоритмами, поведением, которое не требует изменения со стороны «клиента».
Не вижу в этом ничего плохого. Мы же делаем продукт все вместе, а не сидим и слепо пишем код по разжеванному описанию.
Попробую с двух.
1. Сколько команд разрабатывали эти сервисы? У каждого сервиса своя команда или одна команда разрабатывает несколько?
2. Сколько из этих сервисов stateful? Где они хранят данные?
Я подписан на golangweekly.com, слежу за reddit.com/r/golang, ну и статьи про Go часто проскакивают на Hacker News.
Еще можно следить за каналом News на российском Golang коммюнити Slack-е.
А это вообще легально? Ставить ОС от Synology на кастомные серверы.
Geohash использует похожие алгоритмы для превращения двумерной координаты в одномерную. В этом они похожи. В многих вещах отличаются.
S2 дает вам еще функции для работы с геометрией, например. Клетки S2 имеют похожий размер, в отличие от клеток Geohash. Скачки точности в geohash при переходе на другой уровень сильно больше, чем в S2 и т.д. Боюсь я не настолько хорошо знаю тонкости обеих «либ», чтобы тут все досконально рассказать.
Посмотрите вот тут, например, обсуждение разницы между S2 и Geohash: blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/#comment-40370
И чуть-чуть здесь, хотя на гораздо более обывательском уровне: blog.nobugware.com/post/2016/geo_db_s2_geohash_database
По статистике вижу что у нас около 400к полигонов. Хранится все на диске в RocksDB. Занимает единицы гигабайт. При старте загружаем с диска в память полностью.
Полигоны на уровне их построения — это по сути набор точек. Часть, как я сказал, взяты из openstreetmap, а часть созданы вручную в веб-редакторе. Т.е. на этом этапе никаких cell-ов нет.
Уже на этапе geoborder идет покрытие cell-ами. Используются разные уровни cell-ов.
В дополнение к этому geoborder имеет понятие z-индекса. Т.е. какие-то полигоны могут покрываться другими полигонами. Примером является город и университет в нем. Полигон университета находится внутри полигона города.
Слайды и код здесь: github.com/mkevac/gophercon-russia-2018
Эта ссылка есть в статье.
Или вы на что-то еще ссылку имели в виду?
Но в какой-то момент многие люди перешли на Twitch. И я чувствую себя дедушкой, который не понимает что за новые игрушки у внучат. Как вообще им пользоваться? Я ведь не готов сидеть и смотреть что-то 5 часов подряд. Я может хочу скачать и смотреть в ускоренном темпе, например. Или посмотреть какие-то подборки (плейлисты). А всего этого нет. Многие люди вообще не сохраняют исторические видео. А если и сохраняют, то это какое-то месиво.
Как? Как им пользоваться?
Но ведь это очень важно. Разве большинство из упомянутых вами решений умеют нагружать какие-либо кастомные протоколы? Да хоть что-то отличное от HTTP?
PRD до нас доходит редко. Нам чаще всего ставят задачи уже эти вот самые проджект менеджеры, описанные в статье uyga. Это связано с тем, что наш результат не является тем, что видит пользователь. Наш результат используется другими программистами, чтобы сделать то, что видит пользователь.
Но с продактами общаться нам тоже приходится. В основном когда изменение связано с какими-то внутренними вещами, алгоритмами, поведением, которое не требует изменения со стороны «клиента».
Не вижу в этом ничего плохого. Мы же делаем продукт все вместе, а не сидим и слепо пишем код по разжеванному описанию.