
포스팅 내용은 강대명님의 우아한 테크 세미나 내용을 정리 하였습니다 Redis 를 소개하기 전에 Cache 란? Cache 의 정의 Cache 는 나중에 요청올 결과를 미리 저장해두었다가 빠르게 서비스 해주는 것을 의미 Cache 구조 #1 - Look aside cache Web Server 는 데이터가 존재하는지 Cache 를 연계 확인 Cache 에 데이터가 있으면 Cache 에서 가져온다 Cache 에 데이터가 없다면 DB에서 얻어온다 DB 에서 얻어온 데이터를 Cache 에 다시 저장한다 Cache 구조 #2 - Write Back Web Server 는 모든 데이터를 Cache 에 저장 Cache 에 특정 시간동안의 데이터가 저장 Cache 에 있는 데이터를 DB에 저장한다. DB에 저장된 데..

intellij-java-google-style.xml 다운로드 해당 링크 로 이동하여 intellij-java-google.style.xml 을 클릭합니다. 페이지 우측 중단에 Raw 를 클릭합니다. 페이지의 빈 공간에 마우스 우측을 클릭하여 저장하고 싶은 경로에 다른 이름으로 저장합니다. intellij-java-google-style.xml 이 적용되어있지 않은 IDEA 에서도 언제든지 Git Repository 에서 Clone을 받으면 쉽게 적용할 수 있도록 프로젝트 내부로 이동해줍니다. Intellij 설정 좌측 상단의 File > Setting > Editor > Code Style 탭으로 이동합니다. 톱니바퀴 버튼을 선택하고 Import Schema > Intellij IDEA code st..

기존 애플리케이션에 적용된 조회 API의 Cache 기능 이외에 조회마다 일어나는 조회수의 기능도 Cache 기능이 필요하다고 생각하였고, TTL 설정을 다르게 주어 유연하게 Cache 기능을 사용하고 싶었다. TTL 설정 Redis 는 기본적으로 RedisCacheManager 의 아래의 메소드들을 통해 RedisCacheConfiguration 를 전달해서 설정할 수 있다. cacheDefaults(RedisCacheConfiguration defaultCacheConfiguration) withInitialCacheConfigurations(Map cacheConfigurations) Configuration 설정 default 설정과 config 설정은 각각 작성하였고, withInitialCac..

Spring boot + Redis 연동 및 Cache 예제 Redis 소개 Redis는 데이터베이스, 캐시 또는 메시지 브로커로 사용할 수 있는 오픈소스 인메모리 키-값 형태의 비 관계형 데이터베이스 입니다. Redis 설치 Redis의 설치는 링크 에서 가능합니다 의존성 추가 Maven org.springframework.boot spring-boot-starter-data-redis 2.3.3.RELEASE Gradle implementation 'org.springframework.boot:spring-boot-starter-data-redis'사용자 설정 파일 수정 application.yml에 redis 기본 설정을 합니다. spring: redis: host: 127.0.0.1..

주석 어떤 프로그램이든 가장 기본적인 단위가 함수다. 이 장은 함수를 잘 만드는 법을 소개한다. 작게 만들어라 함수를 만드는 규칙은 '작게' 이다. 이 규칙은 근거를 대기가 곤란하다. 함수가 작을수록 더 좋다는 증거나 자료를 제시하기도 어렵지만,오랜 시행착오를 바탕으로 작은 함수가 좋다고 확신한다. 블록과 들여쓰기 if문 / else 문 / while 문 등에 들어가는 블록은 한 줄이어야 한다는 의미다. 그러면 바깥을 감싸는 함수가 작아질 뿐 아니라, 블록 안에서 호출하는 함수 이름을 적절히 짓는다면, 코드를 이해하기도 쉬워진다. 함수에서 들여쓰기 기준은 1단이나 2단을 넘어서면 안 된다. 그래야 함수는 읽고 이해하기 쉬워진다. 한 가지만 해라 함수는 한 가지를 해야 한다. 그 한가지를 잘 해야 한다. ..

1. Nginx YUM repository 추가 YUM Repository에 Nginx 패키지가 존재하지 않기 때문에 수동으로 추가해준다. sudo vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=https://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 name : 저장소의 이름 baseurl : 패키지 저장소의 url gpgcheck : 패키지의 GPG 서명여부(1-사용,0-미사용), '1'로 설정할 경우 반드시 gpgkey 항목을 설정해야한다 enabled : 저장소 설정여부 (1-사용,0-미사용) 2. Nginx 설치 sudo yum install -y nginx -y는 ..

네트워크 관리사 2급 필기 & 실기 후기 필기 준비기간 : 3일 실기 준비기간 : 2일 네트워크 관리사 2급 필기 필기 검정과목 네트워크일반 전자문제집 CBT 문제풀이&오답노트 반복 TCP/IP 전자문제집 CBT 문제풀이&오답노트 반복 NOS 전자문제집 CBT 문제풀이&오답노트 반복 네트워크 운용기기 전자문제집 CBT 문제풀이&오답노트 반복 필기시험은 다른 자격증 필기시험과 비슷하게 문제은행으로 출제됩니다. 실제로 필기시험의 경우 이전에 출제되었던 문제유형이 그대로 출제되는 경우가 많아 시간이 촉박하다면 최근 5년치 문제와 답을 암기하는 식으로 공부하면 되고, 시간이 여유롭다면 문제를 풀고 오답을 찾아 공부하는 방식으로 공부하는 것을 추천드립니다. 시험에서 자주 출제되고 강조하는 부분이 매년 중복되기 때..

소프트웨어에서 이름은 어디나 쓰인다. 우리는 변수에도 이름을 붙이고, 함수에도 이름을 붙이고, 인수와 클래스와 패키지에도 이름을 붙인다. 이렇듯 많이 사용하므로 이름을 잘 지으면 여러모로 편하다. 이 장에서는 이름을 잘 짓는 간단한 규칙 몇 가지 소개한다. 의도를 분명히 밝혀라 "의도가 분명하게 이름을 지으라"고 말하기는 쉽다. 여기서는 의도가 분명한 이름이 정말로 중요하다는 사실을 거듭 강조한다. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 그러므로 이름을 주의깊게 살펴 더 나은 이름이 떠오르면 개선하기 바란다. 그럼 코드를 읽는 사람이 좀 더 행복해지리라. 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다. 다음 코드는 무엇을 할까? public Li..