Hello, Kotlin (Основы Kotlin)
56:47
Пікірлер
@anatoliykichuk
@anatoliykichuk 12 күн бұрын
С моей точки зрения, синтаксический сахар хорош для воспитанных программистов, а для нечистых на руку - вреден, которым вечно надо бить по рукам: не пиши в одну строчку, разбей на более простые читабельные выражения, разнеси классы по файлам и т.п.
@mikhailshirokov8464
@mikhailshirokov8464 20 күн бұрын
Для меня киллер-фитчей Котлина стали функциональные типы, которых нет в Джаве. Т.е. если ты хочешь запилить функцию высшего порядка в Java, то вместо функционального типа приходится подсовывать реализацию какого-нибудь интерфейса. По сути придётся для каждой такой функции пилить отдельный интерфейс, где описывать метод, который будет выступать к роли коллбэка.
@andreykolesnikov960
@andreykolesnikov960 29 күн бұрын
при использовании Jmix в больших проектах столкнетесь с проблемами в производительности. для web-админки подойдет, да
@rustam-kuramshin
@rustam-kuramshin 29 күн бұрын
@@andreykolesnikov960 какие есть реальные кейсы из практики? Было бы интересно обсудить.
@user-cz8pg1xf2y
@user-cz8pg1xf2y Ай бұрын
А не подскажите примеры правильного развертывание spring boot в кубере? Через 2.5 недели хакатон, я девопс стажер друг бекендер на джаве, хотим заранее инфраструктуру готовить под хакатон) И поэтому хочется посмотреть примеры в гитхабе с понятным readme
@rustam-kuramshin
@rustam-kuramshin Ай бұрын
Достаточно запустить spring boot в docker-контейнере. Далее его развертывание в kubernetes мало чем отличается от других фреймворков. Почитать про особенности можно здесь docs.spring.io/spring-boot/how-to/deployment/cloud.html А в целом читайте туториалы как деплоить микросервисы в kubernetes. Их очееь много.
@user-pi2pg3nl3n
@user-pi2pg3nl3n Ай бұрын
круто, тебя очень интересно слушать, подача огонь!
@vitya1337
@vitya1337 Ай бұрын
👍 это круто
@sergey_molotoff
@sergey_molotoff Ай бұрын
По-моему, лучший обзор на инструменты Spring Cloud. Спасибо!
@vladuxa2011
@vladuxa2011 Ай бұрын
👍
@socialcatalyst2608
@socialcatalyst2608 Ай бұрын
ребят, а как сваггер прокинуть через gateway?
@rustam-kuramshin
@rustam-kuramshin Ай бұрын
Привет. Это очень общий вопрос. В целом нужно в конфиге указать роут для прокидывания статики свагера с того сервиса кто эту статику раздает.
@vasyay5307
@vasyay5307 Ай бұрын
"отвязать миграцию liquibase от релиза ваших сервисов" , да нет, всё это должно быть в одном релизе. Зачем отвязывать.
@rustam-kuramshin
@rustam-kuramshin Ай бұрын
Не для всех проектов это подходит
@user-gw6df6ns7e
@user-gw6df6ns7e Ай бұрын
Зависит от конкретного сервиса. Иногда достаточно автоматического базового подключения. Часто надо предусматривать скрипты отката.
@vasyay5307
@vasyay5307 Ай бұрын
Возможность отката в идеале всегда, релиз мс + миграция. Если у вас логика вынесена в БД и вы катите миграцию без сервиса, значит у вас что-то не так.
@semzin
@semzin Ай бұрын
Посмотрел примеры Vaadin? На полных щах предлагают ui писать на Java, а не на темплейтах с маркапом?
@rustam-kuramshin
@rustam-kuramshin Ай бұрын
@@semzin vaadin это java-ориентированная фронтенд разработка, да. По сути это всё для бэкендеров сделано. Если есть фронты, то нужно делать на классическом фронтендовом стеке.
@dendr576
@dendr576 Ай бұрын
Классное выступление, много полезной информации. Спасибо
@rustam-kuramshin
@rustam-kuramshin Ай бұрын
@@dendr576 спасибо, стараюсь )
@neonsun6162
@neonsun6162 Ай бұрын
представляю как это всё звучит для людей, которые не в теме, столько английских слов, да еще с такой плотностью)
@rustam-kuramshin
@rustam-kuramshin Ай бұрын
@@neonsun6162 )))
@TheSemenFarada
@TheSemenFarada 2 ай бұрын
Такой вопрос - позволяет ли spring cloud как то показать граф зависимостей между микросервисами? Напермер что сервис1 обращаеться (посылает запросы) к сервису 2 , сервис 2 - к сервису 3 а сервис 3 - к сервису 1 и все они обращаються к сервису 4 ?
@rustam-kuramshin
@rustam-kuramshin 2 ай бұрын
Нет. Для этого нужно идти в observability инструменты. Если говорить про последнии версии проектов в spring'е, то был сделае переход на open telemetry. Далее вы можете взять Jaeger для анализа трейсов OTel и будут вам карты микросервисов как здесь описано www.aspecto.io/blog/jaeger-tracing-the-ultimate-guide/
@rengerxavier2845
@rengerxavier2845 2 ай бұрын
Рустам, очень интересно про buildpacks с настройкой его для спринга, что там можно настроить, и можно ли настроить так, чтобы командой ./gradlew bootBuildImage запускало сборку в контейнере (независимо от окружения), и какие возможности настройки этого хозяйства есть. Искал в интернете, не особо чего нашел, в доке самого билдпакса, только как создавать свои билдеры, но как конфигурировать дефолтные и т.п. не видел...
@rustam-kuramshin
@rustam-kuramshin 2 ай бұрын
Есть в доках 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/ В итоге есть очень много параметров для настройки.
@rengerxavier2845
@rengerxavier2845 2 ай бұрын
Спасибо друг, очень во время! Надо было собрать jmix приложение в докер образ, но хост корпоративного докер-дева старый (18 убунта) и новый nodeJs для сборки туда просто не встает, но с билдером, да еще и со слоями, чутка модифицировал Dockerfile, чтобы JAVA_OPTS пробрасывать в ентрипоинт и всё получилось! Лайк и подписка🤗🤗
@roman_biller
@roman_biller 2 ай бұрын
респект!
@armenarz4062
@armenarz4062 2 ай бұрын
у меня всегда primefaces
@rustam-kuramshin
@rustam-kuramshin 2 ай бұрын
По описанию интересный. Надо глянуть.
@swenbomwollen4263
@swenbomwollen4263 2 ай бұрын
Спасибо за видео! Из доклада не очень понял, а какие в итоге преимущества по сравнению с использованием чистого Ваадина? На сайте jmix в качестве преимуществ тоже в основном перечисляют фичи Ваадина, и с бутом+секьюрити Ваадин уже дружит.
@rustam-kuramshin
@rustam-kuramshin 2 ай бұрын
Скорость разработки. Jmix не равен Vaadin + Spring Boot. Потому что jmix очень многое реализует за разработчика. На jmix можно за одну минуту нашелкать таблицу в дизайнере моделей и уже сразу автоматический к ней можно сгенертровать UI со списком и всеми формами. И это меньше что можно делать. На оф сайте в доках и примерах можно почитать.
@viktor_fadeev
@viktor_fadeev 2 ай бұрын
Команда Jmix подготовила специальный раздел документации docs.jmix.ru/jmix/concepts/index.html с разъяснениями концепции фреймворка, принципов и ключевых фичей. Посмотрите раздел - там ответы
@user-ct3eh3tb7q
@user-ct3eh3tb7q 2 ай бұрын
Ну че то пример на реакте написан как будто намеренно плохо что бы показать какой он якобы не читаемый . особенно блок try/catch внутри flatmap, есть же адекватные инструменты у данного апи для этих манипуляций которые читаемы и лаконичны
@user-ct3eh3tb7q
@user-ct3eh3tb7q 2 ай бұрын
В остальном информации достаточно , много и достаточно подробно )
@ConfidenceGold
@ConfidenceGold 2 ай бұрын
Хз, если чисто админку накинуть наверное пойдет. Но прям для Энтерпрайза будет дешевле фронт на реакте для гибкости и бэк на спринг буте заебенить
@rustam-kuramshin
@rustam-kuramshin 2 ай бұрын
Как же дешевле, если больше кода писать нужно. Jmix используют в достаточно крупных компаниях.
@ascar66
@ascar66 2 ай бұрын
просто для банквоского внутреннего приложения не нужна красота потому что это скорее рабочий инструмент. Да даже 1с предприятие к примеру его задача быть надежным инструментом а не быть красивым
@volk_alen
@volk_alen 2 ай бұрын
Очень подробно, понятно! Спасибо большое!
@maximtronin4510
@maximtronin4510 2 ай бұрын
Я использую jmix на многих проектах, крутой инструмент.
@rustam-kuramshin
@rustam-kuramshin 2 ай бұрын
Согласен )
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
deferred [dɪˈfɜːd] отсроченный, отложенный, замедленный. defer [dɪˈfɜː] отсрочить, отложить.
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
MDC (Mapped Diagnostic Context)[mæpt][daɪəgˈnɒstɪk][ˈkɒntekst] - Среда Отображаемого Выявления
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
unconfined [ʌnkənˈfaɪnd] неограниченный
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
Intercepted [ɪntəˈseptɪd] перехваченный. Unintercepted - не перехваченный. Intercept [ˈɪntəsept] останавливать, прерывать, перехватывать, задерживать.
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
intrinsic [ɪnˈtrɪnsɪk] присущий; встроенный, внутренний, собственный
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
resume [rɪˈzjuːm] продолжить, возобновить, восстановить
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
continuation passing [ˈpɑːsɪŋ] style - способ переходящего продолжения
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
continuation [kəntɪnjʊˈeɪʃn] продолжение
@konstantinchvilyov9602
@konstantinchvilyov9602 3 ай бұрын
promise [ˈprɒmɪs] обещание, обязательство
@viktor_fadeev
@viktor_fadeev 3 ай бұрын
Ох, красиво ввернули про Jmix. Респект и уважуха от всей нашей дружной команды!
@user-ei8xn2bx2i
@user-ei8xn2bx2i 3 ай бұрын
очень доступное видео/ Спасибо
@roman_biller
@roman_biller 4 ай бұрын
круто! )
@viktor_fadeev
@viktor_fadeev 4 ай бұрын
Выставочная зона в этом году клево организована. Места всем хватает
@rustam-kuramshin
@rustam-kuramshin 4 ай бұрын
Эт точно
@konstantinchvilyov9602
@konstantinchvilyov9602 6 ай бұрын
Future [ˈfjuːʧə] - Будущее
@alexeis628
@alexeis628 6 ай бұрын
43:50 ну вообще у программиста есть возможность написать коммент. Пишите комменты чаще, чтобы понимать какой тип Вы ожидаете получить
@frednekrasov7019
@frednekrasov7019 6 ай бұрын
Мне кажется или тут почти все из пальца высасывают минусы.
@user-br4gt7xu2j
@user-br4gt7xu2j 7 ай бұрын
глядя на котлин, чувство что его придумали программисты, которым не давали говнокодить на джаве, но им очень сильно хотелось
@qrthack
@qrthack 7 ай бұрын
Такое ощущение, что Антон не особо любит Java, а Kotlin тем более
@rustam-kuramshin
@rustam-kuramshin 7 ай бұрын
:)
@qrthack
@qrthack 7 ай бұрын
@@rustam-kuramshin что посоветуете для того, чтобы легче было устроиться на работу, Java, C#, Golang? если знать на достойном уровне
@rustam-kuramshin
@rustam-kuramshin 7 ай бұрын
@@qrthack читать книги и писать код. Курсы и прочее не советую. По java и go много хороших книг. Остальное - практика. Сейчас из-за перегретого рынка любой человек, который мало мальски что-то знает, будет замтен на интервью.
@AntonArhipov
@AntonArhipov 5 ай бұрын
Видимо Антон просто не любит программировать :)
@lonchakovav
@lonchakovav 7 ай бұрын
"(Kotlin) Более выразительный язык, больше возможностей отстрелить ногу" - э, погодите, стрелять в ногу, это фишка С++ :)
@user-dx9yq5js2c
@user-dx9yq5js2c 7 ай бұрын
Спасибо!
@devprototype
@devprototype 7 ай бұрын
Спасибо большое! Очень полезно!
@devprototype
@devprototype 7 ай бұрын
Спасибо большое! Очень полезно!
@aiislive
@aiislive 7 ай бұрын
А почему не Clojure?
@rustam-kuramshin
@rustam-kuramshin 7 ай бұрын
Видимо из-за его уровня популярности. Kotlin всё-таки сильно популярен. Про Clojure ничего не могу сказать, не изучал его.
@flowname
@flowname 8 ай бұрын
21:15, год-полтора спустя, JDK21 выкатил Loom, имеет вложенный паттерн-матчинг, рекорды используются во все концы, а Котлин отстаёт по фичам. Что и требовалось доказать. И да, для null-safety давно существуют бибилиотечные функциональные интерфейсы вроде Vavr.
@gregandark8571
@gregandark8571 4 ай бұрын
Ny i cho?
@AlexJPep
@AlexJPep 8 ай бұрын
ого, ещё довоенное время...
@yantasheiko58
@yantasheiko58 9 ай бұрын
XD
@yantasheiko58
@yantasheiko58 9 ай бұрын
Супер понятно, спасибо! Отличный митап.