Информация
- В рейтинге
- 1 143-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Зарегистрирован
- Активность
Специализация
Бэкенд разработчик
Средний
От 250 000 ₽
Java
Java Spring Framework
Spring Boot
PostgreSQL
Kubernetes
Apache Kafka
Greenplum
ETL
SQL
RabbitMQ
Благодарю, приятно слышать. Стараюсь увлечь и себя, и читателя. Есть куда расти. Кроме того, мне всегда можно предложить тему, в которой есть заинтересованность и приятно было бы почитать)
Под каждым паттерном есть блок «Сценарии неприменимости» и вот небольшая вырезка про Посредник:
В целом, большое спасибо за комментарий, приятно слышать
Чуть не забыл.
Ссылка на репозиторий: https://github.com/br0mberg/GOF-patterns-java
Привет, спасибо за приятные слова. Я рад что тебе нравится) К сожалению или к счастью, мой основной язык java, поэтому я стараюсь его затрагивать. Про памятку отлично подметил, нужно сделать в следующий раз)
Composite не требует неограниченной вложенности. Достаточно представить приложение доставки еды, где сотни ресторанов и их меню, где в каждом разное количество узлов, листьев и разная глубина дерева. Один интерфейс под произвольные деревья.
Очередной академический пример со структурой папок и файлов специально не приводил.
Пример с драйвером устройства реально академически хороший, но только для разработчика на плюсах. Потому что процент людей, которые занимаются на Java подобным ничтожно мал. Гораздо ближе был бы JDBC-драйвер (адаптирует конкретную БД под единый
java.sqlапи) раз уж на то пошло, как пример из стандартных библиотек. При внимательном прочтении можно заметить близкий к нему пример прямо в этой статье — удалённый вызов процедур. Хоть его можно обозвать формально, ещё и Proxy.У всех свои любимые примеры, ваши ничем не хуже. Спасибо за комментарий.
Завтра выйдет)
Вы правы, в Java многое можно свести к лямбдам и возвращать из фабрики просто функцию. В примере хотелось сформировать, так скажем, ментальную модель, более явную. Я пожалуй, добавлю в статью реальный пример с функциональными интерфейсами. Спасибо большое за комментарий
Большое спасибо за комментарий, могу вынести общее замечание к своему материалу: более ясно выразить глубину "копания" в обозначенном направлении. Действительно, указав в разделе "сети" DNS, подразумевается скорее понимание роли и применение протокола в области. Как и с connection pool, почему его раздувание — плохо, и какая роль у HikariCP — что и как он оптимизирует.
В целом, тем, согласен, много, но выше в комментариях, я описал что есть такое сеньор и нехватка хардов для специалиста — это не всегда главное узкое горлышко для повышения грейда. Да и рынок диктует свои правила, требования всегда росли и продолжают расти.
Полностью разделяю вашу позицию по поводу километровых книг, среднестатистическому разработчику читать их скорее вредно, чем полезно.
Хороший вопрос, сеньор — эксперт предметной области, он и в бизнесовое обсуждение может внести лепту, и организовать работу команды, и оценить нужно ли функционал реализовывать в целом, если подобное уже реализовано или есть подходящие для этого технологии. Junior и Middle — это про ответственность за задачи, а сеньор - про ответственность за разработку в проекте в целом.
Сеньор — это про опыт решения бизнес проблем, большую ответственность, и в меньшей мере про харды.
Чек-лист для движения от младшего специалиста к Миддлу. То есть Junior разработчик, который подтянет темы и навыки описанные в статье — смело может считаться средним специалистом Java-разработки.
Сами материалы и ресурсы, которые я собрал в формате дорожной карты, разместил по ссылке.
Статью можно интерпретировать как чек-лист с темами и обоснованием их изучения, понимание которых в наших реалиях неплохо бы сформировать. Знаю множество людей для которых подобный формат был бы полезен, я и сам сталкивался с проблемой нечёткости картины движения на этом пути.
LLM при написании статьи не использовалось в качестве источника информации. И отмечу, что цели ужать в одну статью в рассказ о каждой технологии не было, это получилась бы летопись.
Вместо этого, планируется выпускать небольшие статьи на каждую из тем, чтобы "магические" названия технологий, превратились в знакомые инструменты каждому.
Большое спасибо за комментарий
Теперь выложил, время публикации сдвинулось — не уследил) Приятного прочтения!
Лишь бы у Unfrozen всё успелось и мы поиграли в Olden Era в этом году)
Попробуй воспользоваться методами повышения качества приведёнными в статье, гибридный поиск - тоже хороший вариант, тот же самый elasticsearch можно использовать
Обучить и дообучить сложновато и дорого, для меня пока эта задача покрыта мраком.
В целом, rag отличная вещь, за свою ресурсную стоимость must have.
Возможно, попробую когда-нибудь doctovec, а так - альтернатив море
Spring AI умеет работать и on-prem через Ollama или интеграцию с локальными моделями, кроме того в qdrant есть свой трансформер, но он уступает в качестве. Либы вроде ml4j подключать не нужно, достаточно готовых адаптеров. По требованиям к железу не подскажу, зависит от модели. Параллелится без проблем на большинстве компонентов.
Просто на этот вопрос не ответить, слишком много переменных. Необходимо глянуть разные лидерборды, и оценить свою систему. Подумать над "перспективами" выбранной модели. Для локального размещения хороши последние версии Ollama и Mistral, из облачных выбирать из всего что на слуху и к чему есть доступ)
Большое спасибо, согласен, что нюансы от системы к системе бывают разительны.
Лучшим донатом за статью для меня - рассказать своим коллегам и друзьям о ней:)
Косвенно изобразил разбиение на чанки в схеме с порядком обработки документа, а так, согласен с вами полностью
В планах покрыть эту тему целиком, но в ближайшее время будет статья на другую тему, не менее интересную)