백엔드
Gradle1) 자바와 같은 언어로 작성된 프로젝트의 빌드를 자동화하기 위한 도구2) 프로젝트의 구조와 의존성을 정의하는 build.gradle 파일을 사용하여 프로젝트를 구성3) build.gradle을 기반으로 빌드 스크립트를 실행하고 프로젝트를 빌드4) 쿠버네티스 환경에서는 Groovy나 Kotlin과 같은 스크립트 언어를 사용하여 빌드 스크립트를 작성(유연성)할 수 있어 Maven보다 더 많이 사용되고 있음5) 쿠버네티스와 관련된 작업을 자동화하기 위한 플러그인을 사용하여 쿠버네티스 리소스를 빌드 및 배포하기 위한 작업을 간편하게 수행할 수 있음6) 병렬 빌드와 캐시 기능을 통해 더 빠른 빌드를 제공. 쿠버네티스와 같이 빠른 개발 및 배포 사이클이 필요한 환경에서는 빌드 성능이 매우 중요함 Gr..
Optional 1) JDK 8에서 도입된 클래스. 함수형 프로그래밍 2) 값이 있을 수도 있고 없을 수도 있는(Nullable) 객체를 감싸고 있는 Wrapper 클래스 3) NullPointerException을 방지 코드의 안정성과 가독성을 높일 수 있음 4) 메소드의 리턴값이나 컬렉션 등에서 사용되며 값이 없을 수도 있는 상황에서 명시적으로 처리할 때 유용함 Optional.findAny 1) parallelStream(병렬 스트림)에서 주로 사용 2) 여러 개의 요소를 가진 Stream에서 무작위 값을 리턴 3) 여러 스레드가 동시에 작업할 때 유용 Optional.findFirst 1) Stream(순차 스트림/일반적)에서 주로 사용 2) Stream의 첫번째 값을 리턴 3) parallelS..
HTTP 통신 1) 하이퍼텍스트 전송 프로토콜. 웹에서 데이터를 전송하고 검색하는 데 사용되는 프로토콜 중 하나 2) 애플리케이션에서 데이터를 주고받는 데 핵심적인 역할 3) Java에서 HTTP 통신을 수행하기 위해서는 주로 HttpURLConnection 또는 HttpClient와 같은 라이브러리를 사용 HTTP 메소드 1) GET: 리소스를 가져오기 위해 사용됨 2) POST: 서버에 데이터를 제출하기 위해 사용됨 3) PUT: 리소스를 업데이트하기 위해 사용됨 4) DELETE: 리소스를 삭제하기 위해 사용됨 ※그 외 다른 메서드도 있지만 주로 GET/POST가 일반적으로 가장 많이 사용됨 JSON 1) "JavaScript Object Notation"의 약어로, 데이터 교환을 위한 경량의 형식..
JSON 1) "JavaScript Object Notation"의 약어로, 데이터 교환을 위한 경량의 형식 2) 주로 웹에서 데이터를 주고받거나 저장하는 데 사용 3) 키-값 쌍의 집합으로 구성되며, 중괄호 {} 안에 각 키-값 쌍이 위치 JSON 예시 { "name": "John", "age": 30, "isStudent": false, "hobbies": ["reading", "swimming", "painting"], "address": { "street": "123 Main St", "city": "New York", "country": "USA" }, "favoriteNumbers": [7, 21, 45], "car": null } ObjectMapper 1) Jackson 라이브러리의 일부로..
Optional 1) JDK 8에서 도입된 클래스. 함수형 프로그래밍 2) 값이 있을 수도 있고 없을 수도 있는(Nullable) 객체를 감싸고 있는 Wrapper 클래스 3) NullPointerException을 방지 코드의 안정성과 가독성을 높일 수 있음 4) 메소드의 리턴값이나 컬렉션 등에서 사용되며 값이 없을 수도 있는 상황에서 명시적으로 처리할 때 유용함 Optional.of / Optional.ofNullable 1) Optional.of(value): 주어진 값으로 Optional 객체를 생성. 주어진 값이 Null이라면 Exception 발생 2) Optional.ofNullable(value): 주어진 값으로 Optional 객체를 생성. 주어진 값이 Null이라면 빈 Optional ..
Stream 1) JDK 8에서 추가된 데이터 컬렉션을 다루는 데 사용되는 인터페이스 2) 함수형 프로그래밍 스타일을 지원하여 간결하고 효과적인 처리방법을 제공 3) 기존의 컬렉션 API와 함께 사용됨 4) 코드를 간결하고 가독성 있게 작성할 수 있도록 도와줌 Stream.map() 1) Stream의 요소들을 특정 함수에 매핑하여 새로운 스트림을 생성 2) 각 요소를 변환하거나 다른 형태로 매핑할 수 있음(캐스팅) Stream map(Function