Мне тоже кажется вам стоит как-то разделить — Local от Development, и не надо будет ангуляр-нод сервер в контйенер пихать. Например выкатывать можно staging, а локально использовать Development. Я почему-то не могу спать спокойно, когда знаю что в контейнере есть что-то лишнее :)
Тогда нужно больше деталей. Для чего нужен приведенный в примере докер файл — для деплоя на тетсинг? Зачем dotnet publish делается в отдельном стейдже? Зачем в контейнере запускать if (env.IsDevelopment()) нельзя ли обойтись без него (запускать тестинг или стейджинг)? Какого размера получется dev контейнер? Нужно ли отдельно запускать RUN npm install angular/cli -g ведь для билда вроде должно быть достаточно RUN npm install, который запускается позже.
В итоговом образе конечно не должно быть ноды. Ангуляр приложение — это скомпилированная статика, которая раздается веб сервером и делает вызовы к АПИ, для какой цели нам там нода?
Надо взять контейнер с нодой, сбилдить в нем ангуляр приложение (АСП для этого не нужен), потом полученную статику переложить в контейнер с веб сервером, который ее будет раздавать — это вообще может быть отдельный контейнер от бекенда. Плюс делаем конейнер с беком (АСП приложением). Можно и объеденить АСП + статику в один контейнер, но тогда деплоиться будут всегди фронт и бек, а это не всегда удобно.
Но золотое правило такое — в итоговых контейнерах не должно быть ничего, кроме минимума необходимого для его работы (например, никаких тулзов для сборки).
Вы бы показали код на GO человеку, умеющиму писать на GO.
Зачем на каждый чих вызывать newDb()? DB.Close
It is rare to Close a DB, as the DB handle is meant to be long-lived and shared between many goroutines.
Вы бы и в джаве тогда BankPostgresRepository сконфигурили бы как per call.
А что значит документно-ориентированная?
Есть строчка «Поддержка общих форматов данных (MongoDB) JSON (Document), Key-Value, XML — (Postgres) JSON (Document), Key-Value, XML». Или вы что-то большее вкладываете в это понятие?
А сколько коммитов у гугла в ядре windows? или сколько коммитов у гугла в internet explorer?
Если из двух дерущихся один — сволочь, это не значит, что второй автоматически хороший человек. Возможно, дерутся две сволочи.
Я и не утверждаю, что гугл тогда был прав.
Но дело то в другом, что другого способа получить развитие невозможно, для этого и придуман антимонопольный закон.
А вот это спорно. Десктопный Chrome в России — 30%, это при том, что в России винда не предлагает выбора, а втюхивает всем ИЕ по умолчанию. Просто хороший продукт + реклама + продвижение.
Я за то, чтобы компании делали новые хорошие, продукты, фичи и за счет этого двигались вперед. А не за счет адвокатов и маркетинга.
Если быть честным, то нам надо быть благодарным яндексу
Нам надо быть благодарным Яндексу, за то что они сделали в России технологичную компанию с нуля, показали, что возможен прибыльный, растущий бизнес не только по добыванию чего-то из земли. Они ведут образовательные и стртап программы, они дают работу многим моим друзьям и знакомым. Они сделали маркет! И т.д. т.п. Но это не значит, что их не надо критиковать.
По закону, действительно оба могут зарабатывать, но мне кажется, это не честно. Я вложил, я зарабатываю, Вы не вложили, вы не зарабатываете.
От конкуренции выигрывают все
Обычно это действительно так. Но в этом конкретном случае, я не вижу для себя плюсов от установки на мой телефон кучи софта от Яндекса.
Тут сложный вопрос — с одной стороны конкуренция в перспективе даст пользователям благо, но с другой корпорации перестанут вкладываться в открытые проекты, чтобы не делиться своим софтом с конкурентами — это минус.
Я очень люблю Яндекс. Но! Сколько комитов от Яндекса в андроиде? Сколько денег он вложил в эту платформу? А сколько, вложил Гугл? А зарабатывать теперь на андроиде все должны на конкурентной основе?
Гугл сделал ошибку на открытии Андроида и Яндекс его на этом подловил, больше такого не будет, в следующий раз Гугл сделает полностью проприетарную ОС, будет раздавать ее только вендорам и Яндекс не подкопается. А мы не увидим цианогена, МИЮИ, ОМНИ и других форков.
Ну так надо же на себе тестировать. В реальных кейсах. Пусть вся команда разработки, перед релизом, поставит себе программку на свои телефоны и поедет домой по навигатору. А потом снимет дампы, посмотрит сколько памяти жрала, сколько ЦПУ обсудит на обеде ощущения от пользования своим софтом)
Еще интересно, а вы говорили менеджеру в лицо — «Релиз надо отложить, есть проблемы босс!»?
Разница в том можете ли Вы при общении с родителями или коллегами употреблять это слово или попытаетесь его заменить. Если вы свободно его употребляете — то для Вас нет, а есть люди для которых это не допустимо — значит неприлично.
Я вот попробовал такой пример:
И в дизассемблированном варианте я копирования не вижу
Есть только выделение массива на стеке, его обнуление и цикл по самому массиву — не по копии.
Надо взять контейнер с нодой, сбилдить в нем ангуляр приложение (АСП для этого не нужен), потом полученную статику переложить в контейнер с веб сервером, который ее будет раздавать — это вообще может быть отдельный контейнер от бекенда. Плюс делаем конейнер с беком (АСП приложением). Можно и объеденить АСП + статику в один контейнер, но тогда деплоиться будут всегди фронт и бек, а это не всегда удобно.
Но золотое правило такое — в итоговых контейнерах не должно быть ничего, кроме минимума необходимого для его работы (например, никаких тулзов для сборки).
А разве спринг по дефолту не синглтоны делает?
Зачем на каждый чих вызывать newDb()?
DB.Close
It is rare to Close a DB, as the DB handle is meant to be long-lived and shared between many goroutines.
Вы бы и в джаве тогда BankPostgresRepository сконфигурили бы как per call.
Есть строчка «Поддержка общих форматов данных (MongoDB) JSON (Document), Key-Value, XML — (Postgres) JSON (Document), Key-Value, XML». Или вы что-то большее вкладываете в это понятие?
Если из двух дерущихся один — сволочь, это не значит, что второй автоматически хороший человек. Возможно, дерутся две сволочи.
Я и не утверждаю, что гугл тогда был прав.
А вот это спорно. Десктопный Chrome в России — 30%, это при том, что в России винда не предлагает выбора, а втюхивает всем ИЕ по умолчанию. Просто хороший продукт + реклама + продвижение.
Я за то, чтобы компании делали новые хорошие, продукты, фичи и за счет этого двигались вперед. А не за счет адвокатов и маркетинга.
Нам надо быть благодарным Яндексу, за то что они сделали в России технологичную компанию с нуля, показали, что возможен прибыльный, растущий бизнес не только по добыванию чего-то из земли. Они ведут образовательные и стртап программы, они дают работу многим моим друзьям и знакомым. Они сделали маркет! И т.д. т.п. Но это не значит, что их не надо критиковать.
Обычно это действительно так. Но в этом конкретном случае, я не вижу для себя плюсов от установки на мой телефон кучи софта от Яндекса.
Тут сложный вопрос — с одной стороны конкуренция в перспективе даст пользователям благо, но с другой корпорации перестанут вкладываться в открытые проекты, чтобы не делиться своим софтом с конкурентами — это минус.
Гугл сделал ошибку на открытии Андроида и Яндекс его на этом подловил, больше такого не будет, в следующий раз Гугл сделает полностью проприетарную ОС, будет раздавать ее только вендорам и Яндекс не подкопается. А мы не увидим цианогена, МИЮИ, ОМНИ и других форков.
Еще интересно, а вы говорили менеджеру в лицо — «Релиз надо отложить, есть проблемы босс!»?