Не "сделать на микросервисах", а "работать будет так же как микросервисы". Передача сообщений будет например через Го каналы. Или через вызов функции с паттерном observer.
Абсолютно совершенно так же как работают любые микросервисные системы.
Вместо спагетти из наследуемых классов, вместе меняющих shared state - детерминированный АПИ системы плагинов, который получает от плагина команды и выполняет их.
В моей реализации плагин пошлет дтошку "создать новый тридэ обьект там-то и там-то" в основную систему в нужный момент в ответ на такую же дтошку "мышкой нажали вот в этих координатах, когда был активен инструмент Х (относящийся к плагину)". Возможно по дороге он еще дернет пару апишек основной системы чтбы узнать свои настройки.
Получается среди 6угольников будут 12 пятиугольников. Но даже если бы был один - игровые механики могут быть завязаны на то что карта состоит из одинкаковых тайлов. Как это преодолевать?
Можно ограбить свой собственный банк, да. Если правильно это сделать. Например нанять брата "предоставлять маркетинговые услуги" по цене в 100500 раз больше чем рынок. (чуть менее открыто)
Я испытываю стресс только когда играю в шахматы. Когда тильтую. Разбил два монитора, стол и кулак за последний год. Ни в какую видео-игру у меня так не полыхает проигрывать.
Во первых могу поднять окружение с новым языком сам
Могу попросить написать простой алгоритм любую Copilot.
Мне не надо учить синтаксис нового языка - я могу его в крайнем случае загуглить.
Мне нужно знать экосистему и распространенные паттерны программирования. Те самые, которые показывают в твоем коде на Go, пришел ты из мира Java или из PHP.
Ни того ни другого, как я понимаю, тут нету. Вот и напрашивается риторический вопрос: ...?
Да в общем-то любой современный язык лучше, и их делают люди, которые умеют в теорию языков программирования и много думают прежде чем принимать решения. Rust, Kotlin, Swift, можно перечислять дальше
Не надо путать причину и следствие. Наличие обработки исключений и некоторые другие элементы (например ключевое слово return) в большинстве современных языков программирования говорит лишь о том, что они нарушают принципы структурного программирования, а вовсе не о том, что без этих принципов нельзя писать программы. Можно!
Вместо исключений - монады maybe|result как в Расте или просто err как в Го, вместо return - возвращаем последнее значение из функции как в том же Расте. Удобно ли так писать? Вопрос открытый. Но то что так можно делать реальный софт - это факт
Исходя из моего опыта: если вы делаете межсервисное взаимодействие через graphql - вы делаете что-то не то. Более того: если ОБА сервиса - ваши, а не third party.
Heroku, Render, Fly.io, Coolify - тысячи их.
В хероку меня все устраивает. А вот инвестиции в 5 миллионов в его клон вызывают недоумение
Очередная Херока? Ну, удачи
TLDR в эпоху искусственного интеллекта
Я хотел чтобы он сделал summary.
Ну фишлабс сперва сделали deep, а потом galaxy on fire 1 / 2.
GoF2 считаю лучшей мобильной Java игрой
Сейчас они делают для компа Everspace / 2
Не "сделать на микросервисах", а "работать будет так же как микросервисы". Передача сообщений будет например через Го каналы. Или через вызов функции с паттерном observer.
Абсолютно совершенно так же как работают любые микросервисные системы.
Вместо спагетти из наследуемых классов, вместе меняющих shared state - детерминированный АПИ системы плагинов, который получает от плагина команды и выполняет их.
В моей реализации плагин пошлет дтошку "создать новый тридэ обьект там-то и там-то" в основную систему в нужный момент в ответ на такую же дтошку "мышкой нажали вот в этих координатах, когда был активен инструмент Х (относящийся к плагину)". Возможно по дороге он еще дернет пару апишек основной системы чтбы узнать свои настройки.
Можно туториал - как это сделать?
Получается среди 6угольников будут 12 пятиугольников. Но даже если бы был один - игровые механики могут быть завязаны на то что карта состоит из одинкаковых тайлов. Как это преодолевать?
Можно ограбить свой собственный банк, да. Если правильно это сделать.
Например нанять брата "предоставлять маркетинговые услуги" по цене в 100500 раз больше чем рынок. (чуть менее открыто)
Починить баг - можно. Откатить - нельзя. Потому что наверх написаны коммиты которые задействуют контракт между сервисами A и B
Я испытываю стресс только когда играю в шахматы. Когда тильтую. Разбил два монитора, стол и кулак за последний год. Ни в какую видео-игру у меня так не полыхает проигрывать.
Так что наблюдение из статьи не подтверждено
Будучи сеньором, я:
Во первых могу поднять окружение с новым языком сам
Могу попросить написать простой алгоритм любую Copilot.
Мне не надо учить синтаксис нового языка - я могу его в крайнем случае загуглить.
Мне нужно знать экосистему и распространенные паттерны программирования. Те самые, которые показывают в твоем коде на Go, пришел ты из мира Java или из PHP.
Ни того ни другого, как я понимаю, тут нету. Вот и напрашивается риторический вопрос: ...?
В общем случае это не так и для Раста
#[derive(Default)]
FooBar { foo: 42, ..Default::default() };
И добавление поля так же закончится нулем или что еще хуже -
false
, потому что строка 2 спокойненько скомпилируетсяИменно. Вопрос не в том сколько ошибок компилятор найдет. Достаточно одной, которую он не найдет...
Да в общем-то любой современный язык лучше, и их делают люди, которые умеют в теорию языков программирования и много думают прежде чем принимать решения. Rust, Kotlin, Swift, можно перечислять дальше
Может я пропустил, но по-моему в статье нету: что не так с Kubeflow?
Это шаблон для генератора карт, генерирующий ее по определенным правилам.
Фактически это аналог просто карты в непошаговой стратегии.
Не надо путать причину и следствие. Наличие обработки исключений и некоторые другие элементы (например ключевое слово
return
) в большинстве современных языков программирования говорит лишь о том, что они нарушают принципы структурного программирования, а вовсе не о том, что без этих принципов нельзя писать программы. Можно!Вместо исключений - монады maybe|result как в Расте или просто err как в Го, вместо return - возвращаем последнее значение из функции как в том же Расте. Удобно ли так писать? Вопрос открытый. Но то что так можно делать реальный софт - это факт
Исходя из моего опыта: если вы делаете межсервисное взаимодействие через graphql - вы делаете что-то не то. Более того: если ОБА сервиса - ваши, а не third party.