어떤 영역에서 Java가 여전히 유일한 솔루션입니까?
가까운 미래에 Java는 엔터프라이즈 애플리케이션( 즉, 대기업이 돈을 벌기 위해 사용하는 기업 애플리케이션. 이러한 애플리케이션은 대규모 코드 기반과 높은 안정성 요구 사항을 갖습니다. ) 및 백엔드를 개발하기 위한 주요 플랫폼 중 하나로 남을 것입니다. Java는 마이크로서비스 작성을 위한 유일한 대안은 아니지만 마이크로서비스 아키텍처에 잘 맞습니다.Java와 비교하여 다른 JVM 언어, 특히 Kotlin의 전망은 어떻습니까?
Groovy 및 Scala 언어에 대한 과대광고 이후 Kotlin은 현재 최고의 JVM 언어입니다 . 이는 이미 Android 개발의 표준이 되었지만 Java 기업 세계에서는 아직 그 자리를 차지하지 못했습니다. 많은 인기 프레임워크( Spring , Vert.x , gRPC , RSocket )도 이에 의존하므로 자체적으로 사용할 수 있습니다.
Kotlin은 Java Virtual Machine 위에서 실행되며 JetBrains에서 개발한 정적으로 유형이 지정된 객체 지향 프로그래밍 언어입니다. 또한 LLVM 인프라를 통해 다양한 플랫폼에서 JavaScript 및 실행 코드로 컴파일됩니다. Kotlin 기능: JVM 바이트코드 또는 JavaScript, 오픈 소스, 읽기 쉬운 구문으로 컴파일되며 Kotlin 프로그램은 기존 Java 프레임워크 및 라이브러리를 사용할 수 있습니다. |
릴리스 간격이 짧아지면 Java 품질이 저하됩니까?
그렇지는 않을 것입니다. 이전의 경우처럼 다음 릴리스까지 몇 년을 기다리지 않고 언어의 혁신이 준비되면 릴리스될 것입니다. 일부 릴리스는 매우 인기 있는 혁신을 가져오지 않기 때문에 개발자가 눈치채지 못할 수도 있습니다.Spring 프레임워크: 다양한 요구에 맞게 생태계를 계속 확장할 예정인가요?
Spring 생태계는 계속해서 활발하게 발전하고 있으며, 나는 이전에 들어본 적이 없는 또 다른 하위 프로젝트를 주기적으로 발견합니다. Spring의 하위 프로젝트로 등장한 Project Reactor와 r2dbc가 이제는 Reactive 접근 방식의 표준이 되었다고 할 수 있다는 점도 주목할 만하다.
Project Reactor는 반응형 프로그래밍 모델을 구현하는 Java 8 라이브러리입니다. 이는 반응형 애플리케이션 구축을 위한 표준인 Reactive Streams 사양을 기반으로 구축되었습니다. R2DBC(Reactive Relational Database Connectivity)는 SQL용 반응형 프로그래밍 전용 오픈 소스 프로젝트입니다. |
클라우드 인프라 IaaS, SaaS, PaaS 개발 동향은 무엇입니까? 클라우드를 사용하면 어떻게 인프라를 더 쉽게 개발, 배포, 유지 관리 및 확장할 수 있나요?
여기서 주요 추세는 계속해서 Kubernetes와 서비스 메시 형태의 주변 인프라입니다. 자존심이 강한 모든 클라우드 제공업체는 Kubernetes 클러스터를 사용할 수 있는 기회를 제공합니다. Kubernetes에서 실행되도록 애플리케이션을 작성하면 배포 및 확장이 훨씬 쉬워집니다.
Kubernetes(K8s)는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 소프트웨어입니다. Kubernetes는 보다 쉬운 관리 및 검색을 위해 애플리케이션을 구성하는 컨테이너를 논리 단위로 그룹화합니다. Kubernetes는 다수의 호스트에서 컨테이너를 관리 및 실행하며 다수의 컨테이너를 공동 배치하고 복제할 수 있습니다. 이 프로젝트는 Google에서 시작되었으며 현재 Microsoft, RedHat, IBM 및 Docker를 포함한 많은 회사에서 지원됩니다. |
2021년에 주목할 만한 다른 개발 트렌드는 무엇입니까?
여전히 증가하고 있는 흥미로운 추세 중 하나는 GraalVM 네이티브 이미지입니다. 이를 통해 기존 Java 애플리케이션을 JVM 및 관련 라이브러리가 작동하지 않아도 되는 바이너리 애플리케이션으로 전환할 수 있습니다. 이러한 바이너리 파일은 애플리케이션의 새 인스턴스를 매우 빠르게 시작할 수 있고 JVM을 "워밍업"할 필요가 없기 때문에 마이크로서비스 아키텍처 및 서버리스 접근 방식에 매우 적합합니다.최근 Java 개발로 인해 젊은 개발자에 대한 요구 사항이 변경되었나요?
개발자가 최신 버전의 Java를 사용하더라도 대부분의 프로젝트에는 여전히 Java 8 혁신이 포함되어 있습니다. 따라서 주요 요구 사항은 Stream API 및 기능적 프로그래밍 요소에 대한 지식 입니다 . 현대 프로젝트에서는 초보 개발자가 이를 즉시 처리해야 하기 때문에 마이크로서비스 아키텍처 , Docker 및 Kubernetes 에 대해 이해하는 것도 좋습니다 .
Stream API는 기능적 스타일로 데이터 구조를 사용하는 새로운 방법입니다. 스트림 API(한 컴퓨터 프로그램이 다른 프로그램과 통신할 수 있는 방식에 대한 설명)는 기본적으로 데이터 스트림입니다. Java 8의 출현으로 Stream API를 사용하면 프로그래머는 이전에 많은 코드 줄이 필요했던 작업, 즉 데이터 세트 작업, 특히 필터링, 정렬 및 기타 데이터 조작 작업을 단순화하기 위해 훨씬 더 간략하게 작성할 수 있었습니다. 중간 작업이 없으면 스트림 없이도 할 수 있고 해야 하는 경우가 많습니다. 그렇지 않으면 스트림 없이 코드가 더 복잡해집니다. Docker는 컨테이너화된 환경에서 애플리케이션 배포 및 관리를 자동화하는 소프트웨어입니다. |
GO TO FULL VERSION