본문 바로가기

백엔드기술106

Spring Boot 3.0 무엇이 달라질까? Spring Boot 3 (Spring Framework 6) 무엇이 달라질까? 지난 10월 20일 Spring Boot 3.0.0 RC1 가 릴리즈 되었습니다. 정식 버전 릴리즈는 11월 말 예정입니다. "We are not expecting any more features to be added at this point, and we will only be making API changes if we find issues." "현재로서는 더 이상 기능이 추가되지 않을 것이며 문제가 발견되는 경우에만 API를 변경할 것입니다." 많은 서버 개발자분들은 Spring Boot 3 에는 무엇이 추가되고 달라질지 궁금하실텐데요. 더 이상 기능이 추가되진 않을 것 같아 RC1 기준으로 새로운 내용들을 정리해 보았.. 2022. 11. 1.
Apple Silicon MackBook 셋팅 Dock 정리 - Dock에서 사용하지 않는 아이콘 전부 제거 Homebrew 설치 - brew.sh : https://brew.sh/index_ko /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Xcode Command Line Tools 설치 - brew shell 환경 설정 (homebrew 설치 중 스크립트 나옴) - 터미널 재시작 후 아래 명령어 수행된다면 설치 완료 % brew Homebrew 로 Application 설치 - visual-studio-code 의 경우 오래 걸렸음 % brew install -cask firefox visual-studio-code .. 2022. 8. 24.
JDK17 이제는 AdoptOpenJDK 대신 Eclipse Temurin 사용 바쁘신분들을 위한 링크 AdoptOpenJDK (8, 11, 16) - https://adoptopenjdk.net/ Eclipse Temurin (8, 11, 16, 17, 18) - https://adoptium.net/temurin/releases/ 지난 2021년 9월 14일 JAVA LTS(Long Term Support)인 JDK 17 GA 가 릴리즈되었다. JDK17은 향후 최대 2029년 9월까지 업데이트가 제공될 예정이다. 참고로 다음 LTS는 JDK21 (2023년 9월)이 될 것으로 예상된다. 2018년 오라클의 정책 변경에 따라 Oracle JDK 바이너리에 적용되던 BCL 라이선스가 바뀌어 이를 사용하려면 라이선스 구독이 필요하다. 따라서 대안으로는 OpenJDK 레퍼런스 소스 코.. 2021. 10. 17.
Spring Boot 2.4 이후 적용된 버전 체계 이번에 Spring Boot 2.4.3 을 사용하게 되면서, 버전체계가 바뀌었다는 것을 알았다. 기존에는 OSGi Semantic Versioning 과 호환되는 동일한 버전을 사용했었는데, 2.4.x 이후부터는 버전 체계가 개발자들에 친숙한 Semantic Version 으로 변경이 있었다. 변경된 버전 체계는 아래와 같다. Major : 이 번호가 올라가면 매우 큰 변화가 있음을 의미하며, 업그레이드 하는데 상당한 작업이 필요할 수 있다. Minor : 이 번호가 올라가면 기능들이 추가되지만 업그레이드 작업시 영향이 적다. Patch : 이 번호가 올라가면 업그레이드시 추가 작업이 필요하지 않다. Modifier : 아래와 같은 케이스별로 사용이 되며, 추가 배포시 정수값이 증가합니다. - 마일스톤의.. 2021. 2. 20.
Netflix DGS (Domain Graph Service) 시작하기 최근 Netflix 에서 Spring Boot에서 GraphQL 사용을 위한 DGS(Domain Graph Service) Framework 를 공개했다. GraphQL은 페이스북에서 공개한 API Query Language이다. 기존 Rest API 의 단점들을 보완하고 새로운 패러다임을 제시하여 현재 GitHub API 등 널리 쓰이고 있다. GraphQL은 단일 접점(End Point) 제공을 하며, 클라이언트가 원하는 데이터를 정확하게 응답해주는 방식이다. 예를 들어, 게시글 정보를 조회하려고 할 때 아래와 같은 Query를 요청하면 API서버는 요청에 맞는 정보만 내려주는 방식이다. query { articles(count: 20, offset: 0) {// 가장 최신의 20개 게시글 요청 id.. 2021. 2. 7.
Container Driven Development 시작하기 Container Driven Development 는 컨테이너화 된 환경 내에서 코드를 작성, 실행 및 테스트하는 개발 Flow이다. 컨테이너를 사용하면 애플리케이션의 빌드 및 패키징에 적용하며 자동화된 테스트를 비롯해 개발, Stage, Production에 단일 된 Artifact를 제공함으로써 전통적인 work flow에서 발생할 수 있는 많은 문제를 해결한다. 특히 환경차이 때문에 발생하는 문제와 버그가 최소화된다. 또한 빌드, 테스트, 배포 전반에 걸쳐 자동화된 프로세스 구축이 가능해지는데 이는 더 빠른 속도로 지속적 배포가 가능하게 한다. 컨테이너는 OS 수준에서 CPU, 메모리, Storage, 네트워크 리소스를 가상화한다. 민감한 프로세스는 하나의 논리적 Sandbox로 격리될 수 있으며.. 2021. 1. 30.