Прочел про парное программирование, никогда такого раньше не видел. Поделитесь — кто в России такое практикует, не хочется ли прихлопнуть чем-нибудь человека за неделю работы?:)
Какие плюсы и минусы дает такой подход?
а можно сказать, почему не был выбран salt? я когда в неком хостинге работал и хотел слезть с chef, тоже выбирал между ansible/salt. И выбор пал на salt, из-за возможности ивентов и реакции на них, а также возможности выбора — агент или ссш для настройки.
Да, суть в следующем:
1) Есть продакшен, который работает
2) Есть сервис который шлет трейс данные с семплингом каким-то
3) Все трейсы и логи имеют сквозной реквест айди
4) Имея айди можно связать спаны трейсинга с логами
В случае проблем, тормозов и тп — легко все совместить. В дополнение в случае ошибки спан тегается будевым значением.
Ну смотри, я например как софтописатель, хочу иметь возможность взять чужой код и сделать продукт коммерческий. При этом не думать про то, что я кому-то что-то должен. Но с другой стороны — я не сторонник просто взять скопировать и все. Я заинтересован в том, чтобы если я взял чужой код к себе, то вносить свои переделки и улучшения в основной проект. Пока не начнутся непреодолимые разногласия с автором проекта.
Но как найти в этом баланс? MIT/Apache-2/BSD все они никак не обяжут не вести только свою версию даже если нет разногласий.
GPL и тп коммерческий софт брать не будет…
Я думаю, что основная проблема в том, что разработчик ожидает стандартного опенсурс подхода в разработке. Типа амазону надо — он и контрибьютит. Очень странно взять чужой проект, скопировать репу к себе и начать там пилить. Это не по опенсурсному выглядит.
ну и что — вот у меня самсунг с рутом — гугл пей говорит иди в опу, девайс не сукурный. в итоге надо заниматься тем, что еще с бубном плясать. а хочется просто — включил и пользуешься и без говноприложений от производителя
про шестую — не нужно своими руками ничего делать. это делает автоматика обновляя используемую библиотеку фреймворка в модулях и пересобирая бинарник в ci/cd
Шестую задачу мы стараемся решить тем, что во фреймворке (который содержит абстракции поддерживает трейсинг метрики и тп) добавляем функционал.
Все сервисы создаются грубо говоря xx.NewService, тем самым простое использование renovate бота заставляет его сделать пул реквесты во всех репах как только либа с фреймворком обновилась. (он и мерджить может такое автоматом если тесты прошли успешно)
Читал текст и думал — вот тут circuit breaker нужен, тут opentracing, тут еще что-то… Вопрос — вы же в курсе технологий, почему не просто микросервисы с нужными (стандартизированными) фишками?
цепочки сделаны по example (я там в issue еще спрашивал, мне отвечали). У меня была проблема в том, что часть месаджей шла на рабочий адрес с другого одного рабочего адреса. Но при этом нужно было класть в разные папки 0 типа мониторинг, jira, и тп.
А также сложно было раскладывать письма из lkml с патчами для разных веток (я занимался бекпортом в 4.14 стабильных патчей в свою ветку из дебиан)
я перешел на такое github.com/mbrt/gmailctl у меня и раньше все было фильтровано, только бесило что нельзя фильтры нормально выстроить в цепочку. Но с этой штукой можно не парится.
А кто сказал что я именно на перле экономил? я просто сносил все то, что любят использовать для шеллкодов, бекдоров и тп, а также то, чем лично я не пользуюсь. Вы просто пытаетесь развести холивар, что кто-то выступил против perl. А я лишь высказал свою мысль, что в текущих реалиях мне перл не нужен и это не мой вариант.
П.С. Да и в целом я думаю что на rust будет работать быстрее и с меньшим числом ошибок.
Дурость какая-то. Я не собираюсь этим заниматься, просто выразил свое мнение. Что тащить ради одной утилиты перл с какими-то еще небось зависимостями не хочется.
Какие плюсы и минусы дает такой подход?
1) Есть продакшен, который работает
2) Есть сервис который шлет трейс данные с семплингом каким-то
3) Все трейсы и логи имеют сквозной реквест айди
4) Имея айди можно связать спаны трейсинга с логами
В случае проблем, тормозов и тп — легко все совместить. В дополнение в случае ошибки спан тегается будевым значением.
Но как найти в этом баланс? MIT/Apache-2/BSD все они никак не обяжут не вести только свою версию даже если нет разногласий.
GPL и тп коммерческий софт брать не будет…
Все сервисы создаются грубо говоря xx.NewService, тем самым простое использование renovate бота заставляет его сделать пул реквесты во всех репах как только либа с фреймворком обновилась. (он и мерджить может такое автоматом если тесты прошли успешно)
А также сложно было раскладывать письма из lkml с патчами для разных веток (я занимался бекпортом в 4.14 стабильных патчей в свою ветку из дебиан)
П.С. Да и в целом я думаю что на rust будет работать быстрее и с меньшим числом ошибок.