Redis란 ✔️ 메모리 기반의 데이터 저장소로, 높은 성능을 제공하는 NoSQL 데이터베이스입니다. Key, Value 구조의 비정형 데이터를 저장하고 관리할 수 있습니다. 규모가 작은, 사용자가 많지 않은 서비스의 경우에는 WEB - WAS - DB의 구조로 모든 정보를 데이터베이스에 저장합니다. 하지만 사용자가 늘어나 조회의 빈도가 늘어난다면, 데이터베이스가 과부하될 수 있고, 또한 성능 저하가 일어날 수 있습니다. 그래서 이를 개선하고자, 캐시 서버를 도입하여 데이터베이스 서버의 과부하를 줄여주는데 이때 사용할 수 있는 캐시 서버 중 하나가 Redis입니다. 캐시란 ✔️ 캐시는 한번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때는 빠르게 결괏값을 받을 수 있도록 도와주는 공간입니다. 같은..
Optional 클래스란 ✔️ Java에서 Optional 클래스는 값이 있을 수도 있고 없을 수도 있는 상황을 다루기 위해 사용하는 컨테이너 클래스입니다. 이를 통해 값이 없음을 명시적으로 나타낼 수 있습니다. Optional을 사용하는 가장 큰 이유는 NullPoitnerException을 방지할 수 있습니다. Optional.ofNullable 메서드란 ✔️ ofNullable 메서드는 주어진 값이 null 인지 아닌지를 확인합니다. 값이 null이 아니면 해당 값을 가지는 Optional 객체를 반환하며, 갑이 null이면 빈 Optional 객체를 반환합니다. public class NullableExample { public static void main(String[] args) { Stri..
Stream이란 ✔️Java에서의 Stream은 데이터 컬렉션을 다루는 데 사용되는 사용 합니다. 컬렉션을 for, for-each 형태보다 더 가독성 좋게 함수형 스타일로 다룰 수 있게 도와주며, 데이터를 원하는 형식으로 변환하거나 조작하는데 효율적입니다. Filter 연산자 ✔️'filter()' 연산자는 이름 그대로 컬렉션을 돌면서 주어진 조건에 따라 스트림 요소를 필터링해주는 역할입니다. List words = Arrays.asList("apple", "banana", "cherry", "date"); List filteredWords = words.stream() .filter(word -> word.startsWith("b")) .collect(Collectors.toList()); // 결과..
유튜브 메타코딩님의 강의를 듣고 중요한 내용을 기록하고자 합니다. (좋은 강의 감사합니다. 메타코딩님) 로컬 컴퓨터에서 개발한 서버 프로그램을 배포 환경에서 실행시키는 과정에 대해 기록하고자 합니다. 해당 방법은 CI/CD를 적용하지 않는 방법으로 다른 컴퓨터에 서버 프로그램을 돌리는 방법입니다. Spring boot를 기준으로 작성합니다. AWS 배포 과정 이해하기 1. JDK Install하기 java 파일을 실행시키기 위해서는 JDK를 설치해 주어야 합니다. # apt 목록 업데이트 sudo apt update # JDK 검색 sudo apt-cache search jdk | grep openjdk-17 # JDK 설치 sudo apt install openjdk-17-jdk 2. Github에 저..