С моей точки зрения, синтаксический сахар хорош для воспитанных программистов, а для нечистых на руку - вреден, которым вечно надо бить по рукам: не пиши в одну строчку, разбей на более простые читабельные выражения, разнеси классы по файлам и т.п.
@mikhailshirokov846420 күн бұрын
Для меня киллер-фитчей Котлина стали функциональные типы, которых нет в Джаве. Т.е. если ты хочешь запилить функцию высшего порядка в Java, то вместо функционального типа приходится подсовывать реализацию какого-нибудь интерфейса. По сути придётся для каждой такой функции пилить отдельный интерфейс, где описывать метод, который будет выступать к роли коллбэка.
@andreykolesnikov96029 күн бұрын
при использовании Jmix в больших проектах столкнетесь с проблемами в производительности. для web-админки подойдет, да
@rustam-kuramshin29 күн бұрын
@@andreykolesnikov960 какие есть реальные кейсы из практики? Было бы интересно обсудить.
@user-cz8pg1xf2yАй бұрын
А не подскажите примеры правильного развертывание spring boot в кубере? Через 2.5 недели хакатон, я девопс стажер друг бекендер на джаве, хотим заранее инфраструктуру готовить под хакатон) И поэтому хочется посмотреть примеры в гитхабе с понятным readme
@rustam-kuramshinАй бұрын
Достаточно запустить spring boot в docker-контейнере. Далее его развертывание в kubernetes мало чем отличается от других фреймворков. Почитать про особенности можно здесь docs.spring.io/spring-boot/how-to/deployment/cloud.html А в целом читайте туториалы как деплоить микросервисы в kubernetes. Их очееь много.
@user-pi2pg3nl3nАй бұрын
круто, тебя очень интересно слушать, подача огонь!
@vitya1337Ай бұрын
👍 это круто
@sergey_molotoffАй бұрын
По-моему, лучший обзор на инструменты Spring Cloud. Спасибо!
@vladuxa2011Ай бұрын
👍
@socialcatalyst2608Ай бұрын
ребят, а как сваггер прокинуть через gateway?
@rustam-kuramshinАй бұрын
Привет. Это очень общий вопрос. В целом нужно в конфиге указать роут для прокидывания статики свагера с того сервиса кто эту статику раздает.
@vasyay5307Ай бұрын
"отвязать миграцию liquibase от релиза ваших сервисов" , да нет, всё это должно быть в одном релизе. Зачем отвязывать.
@rustam-kuramshinАй бұрын
Не для всех проектов это подходит
@user-gw6df6ns7eАй бұрын
Зависит от конкретного сервиса. Иногда достаточно автоматического базового подключения. Часто надо предусматривать скрипты отката.
@vasyay5307Ай бұрын
Возможность отката в идеале всегда, релиз мс + миграция. Если у вас логика вынесена в БД и вы катите миграцию без сервиса, значит у вас что-то не так.
@semzinАй бұрын
Посмотрел примеры Vaadin? На полных щах предлагают ui писать на Java, а не на темплейтах с маркапом?
@rustam-kuramshinАй бұрын
@@semzin vaadin это java-ориентированная фронтенд разработка, да. По сути это всё для бэкендеров сделано. Если есть фронты, то нужно делать на классическом фронтендовом стеке.
@dendr576Ай бұрын
Классное выступление, много полезной информации. Спасибо
@rustam-kuramshinАй бұрын
@@dendr576 спасибо, стараюсь )
@neonsun6162Ай бұрын
представляю как это всё звучит для людей, которые не в теме, столько английских слов, да еще с такой плотностью)
@rustam-kuramshinАй бұрын
@@neonsun6162 )))
@TheSemenFarada2 ай бұрын
Такой вопрос - позволяет ли spring cloud как то показать граф зависимостей между микросервисами? Напермер что сервис1 обращаеться (посылает запросы) к сервису 2 , сервис 2 - к сервису 3 а сервис 3 - к сервису 1 и все они обращаються к сервису 4 ?
@rustam-kuramshin2 ай бұрын
Нет. Для этого нужно идти в observability инструменты. Если говорить про последнии версии проектов в spring'е, то был сделае переход на open telemetry. Далее вы можете взять Jaeger для анализа трейсов OTel и будут вам карты микросервисов как здесь описано www.aspecto.io/blog/jaeger-tracing-the-ultimate-guide/
@rengerxavier28452 ай бұрын
Рустам, очень интересно про buildpacks с настройкой его для спринга, что там можно настроить, и можно ли настроить так, чтобы командой ./gradlew bootBuildImage запускало сборку в контейнере (независимо от окружения), и какие возможности настройки этого хозяйства есть. Искал в интернете, не особо чего нашел, в доке самого билдпакса, только как создавать свои билдеры, но как конфигурировать дефолтные и т.п. не видел...
@rustam-kuramshin2 ай бұрын
Есть в доках Spring Boot раздел про maven и gradle плагины spring'а: docs.spring.io/spring-boot/gradle-plugin/packaging-oci-image.html и docs.spring.io/spring-boot/maven-plugin/build-image.html Там можно почитать про работу с buildpacks. Про packeto buildpacks для Java проектов можно почтить тут paketo.io/docs/howto/java/ В итоге есть очень много параметров для настройки.
@rengerxavier28452 ай бұрын
Спасибо друг, очень во время! Надо было собрать jmix приложение в докер образ, но хост корпоративного докер-дева старый (18 убунта) и новый nodeJs для сборки туда просто не встает, но с билдером, да еще и со слоями, чутка модифицировал Dockerfile, чтобы JAVA_OPTS пробрасывать в ентрипоинт и всё получилось! Лайк и подписка🤗🤗
@roman_biller2 ай бұрын
респект!
@armenarz40622 ай бұрын
у меня всегда primefaces
@rustam-kuramshin2 ай бұрын
По описанию интересный. Надо глянуть.
@swenbomwollen42632 ай бұрын
Спасибо за видео! Из доклада не очень понял, а какие в итоге преимущества по сравнению с использованием чистого Ваадина? На сайте jmix в качестве преимуществ тоже в основном перечисляют фичи Ваадина, и с бутом+секьюрити Ваадин уже дружит.
@rustam-kuramshin2 ай бұрын
Скорость разработки. Jmix не равен Vaadin + Spring Boot. Потому что jmix очень многое реализует за разработчика. На jmix можно за одну минуту нашелкать таблицу в дизайнере моделей и уже сразу автоматический к ней можно сгенертровать UI со списком и всеми формами. И это меньше что можно делать. На оф сайте в доках и примерах можно почитать.
@viktor_fadeev2 ай бұрын
Команда Jmix подготовила специальный раздел документации docs.jmix.ru/jmix/concepts/index.html с разъяснениями концепции фреймворка, принципов и ключевых фичей. Посмотрите раздел - там ответы
@user-ct3eh3tb7q2 ай бұрын
Ну че то пример на реакте написан как будто намеренно плохо что бы показать какой он якобы не читаемый . особенно блок try/catch внутри flatmap, есть же адекватные инструменты у данного апи для этих манипуляций которые читаемы и лаконичны
@user-ct3eh3tb7q2 ай бұрын
В остальном информации достаточно , много и достаточно подробно )
@ConfidenceGold2 ай бұрын
Хз, если чисто админку накинуть наверное пойдет. Но прям для Энтерпрайза будет дешевле фронт на реакте для гибкости и бэк на спринг буте заебенить
@rustam-kuramshin2 ай бұрын
Как же дешевле, если больше кода писать нужно. Jmix используют в достаточно крупных компаниях.
@ascar662 ай бұрын
просто для банквоского внутреннего приложения не нужна красота потому что это скорее рабочий инструмент. Да даже 1с предприятие к примеру его задача быть надежным инструментом а не быть красивым
@volk_alen2 ай бұрын
Очень подробно, понятно! Спасибо большое!
@maximtronin45102 ай бұрын
Я использую jmix на многих проектах, крутой инструмент.
intrinsic [ɪnˈtrɪnsɪk] присущий; встроенный, внутренний, собственный
@konstantinchvilyov96023 ай бұрын
resume [rɪˈzjuːm] продолжить, возобновить, восстановить
@konstantinchvilyov96023 ай бұрын
continuation passing [ˈpɑːsɪŋ] style - способ переходящего продолжения
@konstantinchvilyov96023 ай бұрын
continuation [kəntɪnjʊˈeɪʃn] продолжение
@konstantinchvilyov96023 ай бұрын
promise [ˈprɒmɪs] обещание, обязательство
@viktor_fadeev3 ай бұрын
Ох, красиво ввернули про Jmix. Респект и уважуха от всей нашей дружной команды!
@user-ei8xn2bx2i3 ай бұрын
очень доступное видео/ Спасибо
@roman_biller4 ай бұрын
круто! )
@viktor_fadeev4 ай бұрын
Выставочная зона в этом году клево организована. Места всем хватает
@rustam-kuramshin4 ай бұрын
Эт точно
@konstantinchvilyov96026 ай бұрын
Future [ˈfjuːʧə] - Будущее
@alexeis6286 ай бұрын
43:50 ну вообще у программиста есть возможность написать коммент. Пишите комменты чаще, чтобы понимать какой тип Вы ожидаете получить
@frednekrasov70196 ай бұрын
Мне кажется или тут почти все из пальца высасывают минусы.
@user-br4gt7xu2j7 ай бұрын
глядя на котлин, чувство что его придумали программисты, которым не давали говнокодить на джаве, но им очень сильно хотелось
@qrthack7 ай бұрын
Такое ощущение, что Антон не особо любит Java, а Kotlin тем более
@rustam-kuramshin7 ай бұрын
:)
@qrthack7 ай бұрын
@@rustam-kuramshin что посоветуете для того, чтобы легче было устроиться на работу, Java, C#, Golang? если знать на достойном уровне
@rustam-kuramshin7 ай бұрын
@@qrthack читать книги и писать код. Курсы и прочее не советую. По java и go много хороших книг. Остальное - практика. Сейчас из-за перегретого рынка любой человек, который мало мальски что-то знает, будет замтен на интервью.
@AntonArhipov5 ай бұрын
Видимо Антон просто не любит программировать :)
@lonchakovav7 ай бұрын
"(Kotlin) Более выразительный язык, больше возможностей отстрелить ногу" - э, погодите, стрелять в ногу, это фишка С++ :)
@user-dx9yq5js2c7 ай бұрын
Спасибо!
@devprototype7 ай бұрын
Спасибо большое! Очень полезно!
@devprototype7 ай бұрын
Спасибо большое! Очень полезно!
@aiislive7 ай бұрын
А почему не Clojure?
@rustam-kuramshin7 ай бұрын
Видимо из-за его уровня популярности. Kotlin всё-таки сильно популярен. Про Clojure ничего не могу сказать, не изучал его.
@flowname8 ай бұрын
21:15, год-полтора спустя, JDK21 выкатил Loom, имеет вложенный паттерн-матчинг, рекорды используются во все концы, а Котлин отстаёт по фичам. Что и требовалось доказать. И да, для null-safety давно существуют бибилиотечные функциональные интерфейсы вроде Vavr.