목록💡 백엔드 (147)
코딩마을방범대
Repository를 이용해 Redis를 활용하는 예제 코드에 JpaRepository가 아닌 CrudRepository를 활용해서 도대체 CrudRepository는 뭔가.. 싶어서 찾아보았다! CrudRepository 애플리케이션에 필요한 모든 기본 쿼리 추상화를 제공하는 저장소 인터페이스 메소드 설명 save(…) 엔터티 의 Iterable 을 저장 ( 여러 개체를 전달하여 일괄적으로 저장할 수 있음 ) findOne(…) 전달된 기본 키 값을 기반으로 단일 엔터티 가져오기 findAll() 데이터베이스에서 사용 가능한 모든 엔터티 의 Iterable 가져오기 count() 테이블의 총 엔터티 수를 반환 delete(…) 전달된 개체를 기반으로 엔터티를 삭제 exists(…) 전달된 기본 키 값을..
Redis - (1) 기본 개념 Redis - (2) 우분투 서버에 Redis 세팅하기 Redis - (4) Java에서 Redis 사용하기(Jedis) Redis - (5) Java에서 Redis 사용하기(Lettuce) 5에서는 RedisTemplate를 통해 직접 Redis에 접근했다면 이번엔 RedisTemplate를 통해 RedisRepository에서 접근해서 사용하는 방식이다. build.gradle implementation('org.springframework.boot:spring-boot-starter-data-redis') application.yml !! 트랜잭션을 사용하지 않는 경우 pool 옵션은 줄 필요 없음 !! spring: redis: # 레디스 서버 주소 (local일 ..
Redis - (1) 기본 개념 Redis - (2) 우분투 서버에 Redis 세팅하기 Redis - (4) Java에서 Redis 사용하기(Jedis) Jedis보단 Lettuce가 선호되는 추세이니 Lettuce를 사용하도록 하자! 다만 Jedis보다 사용이 조금 어렵다는 단점이 있다. 레터스는 레디스 서버와 단일 커넥션으로 멀티 스레드 요청에 대해 처리가 가능하다. ( 내부적으로 논-블럭킹 + 비동기로 구현되어 있으며 스레드 세이프하다. ) 레디스 서버가 어차피 싱글 스레드 기반이기 때문에 어차피 다중 커넥션이 단일 커넥션에 비해 성능상 이점이 있는 것도 아니다. 따라서 레터스를 사용한다면 굳이 커넥션 풀을 만들지 않고 단일 커넥션을 공유하도록 하는 것이 좋다. 그럼에도 불구하고 커넥션을 공유하면 ..
Redis - (1) 기본 개념 Redis - (2) 우분투 서버에 Redis 세팅하기 Java 의 Redis Client 는 크게 두 가지가 있다. 원래 Jedis 를 많이 사용했으나 여러 가지 단점 (멀티 쓰레드 불안정, Pool 한계 등등..) 과 Lettuce 의 장점 (Netty 기반이라 비동기 지원 가능) 때문에 Lettuce 로 추세가 넘어가고 있었으며, 그러다 결국 Spring Boot 2.0 부터 Jedis 가 기본 클라이언트에서 deprecated 되고 Lettuce 가 탑재되었다. build.gradle Jedis 의존성을 추가해준다 dependencies { ... // https://mvnrepository.com/artifact/redis.clients/jedis implemen..
FCM 무료로 메시지를 전송할 수 있는 교차 플랫폼 메시징 솔루션 Why Use 플랫폼에 종속되지 않고 푸쉬 메시지를 전송할 수 있음 IOS, Android, Web 각 플랫폼에서 푸쉬 메시지를 보내려면 각 플랫폼 환경별로 개발해야하는 불편함이 있는데 이를 하나로 통합하는 솔루션 클라우드 메시징 서비스를 사용할 경우의 이점 서버를 경유해서 실시간으로 푸쉬 메시지를 받으려면 사용자는 항상 서버에 접속해있어야하는데 이는 사용자 기기의 배터리 및 네트워크 리소스를 크게 낭비한다. 클라우드 메시징 서버를 중간에 둠으로써, 사용자는 낮은 배터리와 네트워크의 사용만으로도 메세지를 실시간으로 송수신 처리를 할 수 있다. 위와 같은 이유로 대부분의 어플리케이션 서비스들은 클라우드 메시징 서버를 경유해서, 실시간으로 유..
Redis - (1) 기본 개념 Redis - (2) 우분투 서버에 Redis 세팅하기 레디스 CLI 접근(내부접속, 외부접속) 내부접속은 레디스가 설치된 서버에서 직접 접속하는 방법 apt로 redis-server 를 설치하면서 CLI 관련 패키지도 함께 설치 되기 때문에 접근이 쉬움 $ redis-cli 외부접속은 접속하고자 하는 레디스 서버 및 프로세스 포트에 대한 추가적인 입력이 필요 # 외부접속(비밀번호 X) $ redis-cli -h [접근 서버 IP] -p [레디스 실행 프로세스 포트] # 외부접속(비밀번호 O) $ redis-cli -h [접근 서버 IP] -p [레디스 실행 프로세스 포트] -a [비밀번호] 데이터 조회 키(Key) 확인 방법 모든 키(Key) 리스트 출력 > keys *..
Redis - (1) 기본 개념 1. 패키지 관리 툴(apt) 최신화 작업 $ sudo apt-get update 2. Redis 설치 $ sudo apt-get install redis-server 설치된 버전 확인 $ redis-server --version 3. redis.conf 파일 수정 $ sudo vi /etc/redis/redis.conf ※ vi 편집기에서 문자열 검색하는 방법 : 를 눌러 명령어 모드 진입 /문자열 : 현재 커서 아래 방향으로 탐색 ?문자열 : 현재 커서 윗 방향으로 탐색 ( ^문자열 : 해당 문자열로 시작하는 텍스트를 찾을 때 ) 계속 탐색은 n, 이전 탐색은 N 내용 # 최대 메모리 사양 # -> 최대 사용 메모리 사양을 256mb로 설정한다. 단위는 mb나 g 등 ..
Apache와 Nginx의 차이점 포스트 우분투에서 Nginx 구축하기 포스트 웹서버(Apache)와 미들웨어(Tomcat) 연동하기 연동 방법 세가지 AJP Apache 웹서버가 외부 시스템과 연동하기 위한 프로토콜 연결 방식 장점 단점 mod_jk - Tomcat Connector를 사용하는 방식 - 가장 많이 사용해온 방식 - mod_jk 관련 자료가 많음 - JKMount 옵션을 이용하면 URL이나 컨텐츠 별로 유연한 설정 가능 - 별도의 모듈 설치 필요 - 설정이 어려움 - Tomcat 전용 - apache와 tomcat간의 2진 패킷 전송 크기가 64kb mod_proxy - Reverse Proxy 기능을 사용하는 방식 - 별도 모듈 설치를 필요로 하지 않음 - 특정 WAS에 의존적이지 않음..