Pull to refresh
12
0.1
Максим @SabMakc

User

Send message

Rate limitations announced for Projects, Groups, and Users APIs

Откуда в заголовке "в тарифах" взялось? В статье вообще тарифы не упоминаются.

GitLab объявил ограничения в тарифах по доступу к API проектов, групп и пользователей

Не сравнивал потребление, но под капотом там eclipse (или какие-то его части), так что сильно меньше потреблять и не будет по идее.
Но в VSCode отзывчивость на действия сильно лучше, по моему опыту. IDEA теперь кажется крайне тормозной...

Скорее не заменить, а дополнить запуском скриптов в контейнере )
Для замены - можно tasks использовать, но это тоже будет VSCode-only, так что скрипты универсальнее.

Вообще через maven можно автоматизировать многие вещи - тоже достаточно универсально получается, особенно с maven-wrapper. Но для запуска maven зачастую уже свои скрипты нужны )))

Да, им и спасаюсь (впрочем, есть и другие аналоги, а при необходимости и консоль в моем распоряжении). Но в IDEA его реализация кажется как-то эталоннее и удобнее )

Да и сам GitLens (amodio.gitlens) мне не нравится - уж слишком впихивают платный функционал. Использую GitLess (maattdd.gitless) - форк GitLens "до того, как он испортился премиумом".

Да, devContainers - очень мощный инструмент.
Правда я по итогу перешел к запуску контейнера под стек и ssh-сервера в контейнере.

Очень уж раздражал постоянный сброс кеша зависимостей - после обновления базового образа надо собирать образ, качать code-server и все зависимости заново. А если у тебя хреновый интернет - то это все может не с первого раза еще и отработать.

А если посреди дебага перезапустил IDE и пошло обновление - то совсем грустно становилось...

JetBrains, что называется, "собаку съели" на рефакторинге. Так что да, IDEA в этом лучше будет.
Но базовых возможностей и в VSCode хватает: https://code.visualstudio.com/docs/java/java-refactoring

Уже несколько лет как перешел на VSCode для java-разработки. Из главных минусов - IDEA теперь кажется крайне тормозной.

Автодополнение несколько хуже работает в VSCode, все для List предлагает на 1й строчке что-то из сторонней библиотеки, а не java.util.List. По факту это самое большое мое замечание к Java в VSCode (не использую ИИ-ассистентов).

Года 3 назад (а может и больше) были проблемы с многомодульными проектами, но уже все исправили и они работают прекрасно (maven).

С eclipse-java-google-style.xml в свое время игрался, но так и не подружился полностью - всплыли проблемы с форматированием, возможно уже исправили - надо будет еще поиграться (уже и не помню в чем именно были проблемы). Но я итоге google-java-format подключил в maven (форматирование и валидацию).

Как резюме могу сказать, что с VSCode прекрасно живется java-разработчику. Про IDEA и не вспоминаю. Максимум - по интерактивному git rebase еще скучаю иногда. Уж очень он удобен в IDEA был.

За пределами докера есть огромный мир - не спорю, есть.

А вот про непрегодность докера для продакшена - поспорил бы. Уже лет 10 активно и успешно в продакшене он используется. И очень-очень-очень много где. Скажи мне кто, что он docker (или аналоги) совсем не использует - я скорее удивлюсь (речь, разумеется, про бекенд).

Так что эра docker-а (и/или аналогов) в продакшен пришла, и каких-либо предпосылок для ее завершения я не вижу.

Ну и у HighLoad-адептов может быть свой взгляд на пригодность docker к продакшену. Но опять же, не поверю, что они совсем от docker отказались.

Ну и не глядя на прод, разработчику, тем более бекенд-разработчику - docker очень и очень полезен.
Разные СУБД можно гонять локально, практически не заморачиваясь их конфигурацией. Можно развернуть пачку микросервисов локально для отладки. Можно много чего еще полезного сделать - да даже IDE в контейнере запустить.

P.S. Для embeded-разработки и системной разработки тоже можно использовать docker периодически (например, Lakka для сборки образов может использовать специально подготовленный docker-образ).

Серьезный / несерьезный проект - это несерьезная классификация )

Большой / небольшой проект - да, еще можно оценивать. Сложный / несложный - тоже можно (и не сказать, что это к размеру привязано сильно, хотя некая корреляция и есть).

Ну а сложность Dockerfile - не сказал бы что сильно от размера проекта зависит. Да, можно предположить, что большой и более сложный проект будет иметь и более сложный Dockerfile. Но это не точно. Просто потому что все эти десятки env заменяется простым конфиг-файлом. А в Dockerfile остается сборка да команда запуска. И даже для больших и сложных проектов этого может быть достаточно (а может быть и недостаточно, не спорю).

P.S. смотрю первый попавшийся в IDE проект - 3 Dockerfile + docker-compose. Но проект не сказать что сложный или большой.
Хотя... Сложный - еще можно назвать. Просто потому что бекенд на Golang, статичный фронт через NodeJS генерируется, а документация генерируется через Python. Ну и 60+ параметров, которые бекенду через env/флаги/конфиг задаются (в минимуме, правда, можно ничего не задавать).

По той же логике:
Если писать docker-файлы для "простых" приложений, то ты никогда не научишься их писать для "сложных".

В генерации ничего плохого не вижу - при условии, что разработчик тщательно вникнет в результат генерации.

Тот, что в корне проекта ) Или тот, что в ReadMe упоминается.
Но я ни разу не видел 20 Dockerfile в проекте (если не брать проекты-сборники Dockerfile или монорепы какие).
Несколько - да, бывает. Но в них можно разобраться при желании )

Админ может накрутить в Dockerfile не хуже разработчика. Но исправлять будет сложнее - потому как нужны согласованные изменения в проекте и там, где лежит его Dockerfile.

Если же бекенд-разработчик со стажем отказывается работать с Dockerfile и docker - то это крайне хреново.
Начинающему еще можно простить. И начать изучать новое - как раз есть повод (компиляция через IDE и отсутствие Dockerfile ;) ) Без docker сейчас никуда не деться.

P.S. Если над проектом работают только начинающие разработчики - то отсутствие Dockerfile и компиляция через IDE были бы далеко не самыми главными моими проблемами )

Ты или сам разбираешься во всех этих нюансах, или работаешь с тем, кто в них разбирается. Или в самый неожиданный момент получишь много-много проблем, которые и не знаешь как решать или куда вообще смотреть.

Так что если надежность не важна - да, можно не париться.

Как программист со стажем скажу, что Dockerfile от разработчика - это очень хорошая и правильная практика. Просто потому, что он описывает в нем "а как вообще собрать мое приложение".

Это не трата времени, а его экономия - на выяснение "почему не собирается" или "почему не работает как надо" уйдет гораздо больше времени, чем на поддержку разработчиком Dockerfile-а.

А если есть нюансы - то ни кто не мешает DevOps или еще кому поработать над этим Dockerfile вместе с разработчиком, чтобы учесть все эти нюансы.

Так что Dockerfile от разработчика в корне проекта - это очень и очень хорошая практика. И очень полезная - неоднократно выяснял "а как это собрать" через изучение Dockerfile, не отвлекая расспросами других разработчиков.

И Dockerfile - это не конфиги докера, k8s или прочая "обвязка".

Из "обвязки" для разработчика хорошо владеть docker-compose (помимо docker) - чтобы уметь запускать все сервисы проекта в изолированной среде. Ну а большее - уже по желанию/возможностям/необходимости.

Да, несколько раз с btrfs натыкался на подобное. В целом решение простое - удалить старые снепшоты. Но пару раз пришлось с бубном поплясать - о проблемах становится известно когда места уже совсем нет и ФС переходит в режим read-only.

Но справился - и данные не пострадали. Но все равно крайне неприятно.

А разве здесь возня с GitHub обязательна?
Да и фишка с "работает через GitHub Pages" лично мне нравится )

Можно затестить: https://chitchatter.im/public/habrahabr
Как понимаю, одна вкладка - одна комната. И пока вкладка открыта хоть у кого-либо - беседа существует.

А одинаковые приватные комнаты с уникальным паролем образуют уникальные комнаты )
Правда идет ли трафик между всеми "одинаковыми" комнатами (и потом расшифровывается по паролю) или трафик идет с учетом пароля - вопрос отдельный.

Был SOAP, были другие методы и подходы к удаленному вызова процедур (и удаленного выполнения кода в целом).
Сам по себе подход "вызов сервиса из другого сервиса" был известен намного раньше появления термина "микросервисы" и популяризации такой архитектуры.

"Большой монолит" когда-то был достаточно безальтернативной практикой )
Микросервисный подход получил популярность "всего лишь" лет 10 назад... Лишь с появлением и развитием Docker он стал популярен - когда управлять кучей сервисов стало сильно проще.

Впрочем, и сейчас монолит может сильно выиграть в плане производительности - так что его век может еще и вернется...

В плане артефактов сборки - проблема усугубляется тем, что под разные версии компилятора и под разные версии зависимостей - зависимости компилируются в отдельные файлы. Поэтому со временем target только растет. А уж если использовать свежие ночные сборки компилятора...

P.S. а еще есть очень холиварный вопрос - когда микросервис перестает быть микро?

1
23 ...

Information

Rating
2,758-th
Location
Россия
Registered
Activity