스프링 DI ,IOC, AOP
·
개발 하나둘셋/Java & Spring
개념정리 스프링 DI ,IOC, AOP 스프링의 가장 큰 특징인 제어의 역전(IOC), 의존성 주입(DI), 관점 지향 프로그래밍(AOP). 전에 블로그에 포스팅을 했음에도 면접질문으로 나왔을 때 제대로 대답을 못했던 기억이 있다😥 그래서 다시 한번 정리! IoC(Inversion of Control, 제어의 역전IoC) 1. 개념 Spring 에서는 Container라는 개념이 있는데, 이 컨테이너는 객체를 담는 용기 스프링컨테이너가 필요에 따라 개발자 대신에 bean의 생성부터 소멸까지 생명주기를 관리 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 함 2. 컨테이너(Container) 스프링의 컨테이너는 ..
Spring에서 Redis Sorted set으로 인기검색어 순위 나타내기
·
개발 하나둘셋/Java & Spring
개념정리 Spring에서 Redis Sorted set으로 인기검색어 순위 나타내기 redis의 Sorted set을 이용한 인기검색어 순위 구현. 색인이라던지 다른 기능없이 단순 검색어 순위 나열이다. 기존에는 검색어를 전부 db에 저장하여 가장 개수가 많은 검색어 10개를 출력하는 식으로 구현했었지만 Sorted set을 이용하여 캐시에 검색어를 저장하고, 검색을 할 때마다 검색어별로 score를 하나씩 추가하였다. 그리고 score를 기준으로 상위 10개만 출력하도록 구현하였다. 1. Redis Sorted set 1-1. Sorted set 이란? Redis에서 제공해주는 자료구조 중 하나인 Sorted Set(또는 ZSET, 둘다 동일한 말이다)은, 이름 그대로 Set의 특성을 그대로 가지면서 ..
SpringBoot기반 Redis Cache
·
개발 하나둘셋/Java & Spring
개념정리 SpringBoot기반 Redis Cache 실전프로젝트 시작 후 3주 동안 기본적으로 구상했던 기능들은 모두 구현하였다. 중간발표 후 성능에 대해 깊이 생각하지 않았던 것을 깨닫고 트래픽이 몰렸을 때 성능을 향상시킬 수 있도록 개선 중이다. 여러 부분 중 카테고리와 검색 시 로딩을 빠르게 하기위해 레디스의 캐시를 활용할려고 한다. 또한 검색어 랭킹 부분도 일일이 검색어를 DB에 저장해서 가장 많은 검색을 한 검색어 10개를 뽑아 냈는데 이부분도 캐시를 활용해 고쳐보자한다. 1. Cache의 개념과 특징 캐시란? 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에..
웹소켓(WebSocket)으로 채팅기능 구현하기
·
개발 하나둘셋/Java & Spring
개념정리 웹소켓(WebSocket)으로 채팅기능 구현하기 1. 웹소켓으로 채팅기능 구현 1-1. 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-websocket' 1-2. WebSocket Handler 소켓통신은 서버와 클라이언트가 1:N의 관계를 맺는다. 즉, 하나의 서버에 다수 클라이언트가 접속할 수 있다. 따라서 서버는 다수의 클라이언트가 보낸 메세지를 처리할 핸들러가 필요하다. 텍스트 기반의 채팅을 구현해볼 것 이므로 'TextWebSocketHandler'를 상속받아서 작성한다. Client로부터 받은 ..
웹소켓 개념과 원리
·
개발 하나둘셋/CS
개념정리 웹소켓 개념과 원리 웹소켓(WebSocket)의 개념 웹소켓이란? 웹소켓(WebSocket) 기존의 단방향 HTTP 프로토콜과 호환되어 양방향 통신을 제공하기 위해 개발된 프로토콜 일반 Socket통신과 달리 HTTP 80 Port를 사용하므로 방화벽에 제약이 없으며 통상 WebSocket으로 불림 접속까지는 HTTP 프로토콜을 이용하고, 그 이후 통신은 자체적인 WebSocket 프로토콜로 통신 웹 소켓은 HTTP(Hyper Text Transfer Protocol)를 사용하는 네트워크 데이터 통신의 단점을 보완하는데 그 목적이 있다. HTTP는 HTML이라는 문서를 운반하기 위한 프로토콜로 모든 HTTP를 사용한 통신은 클라이언트가 먼저 요청을 보내고, 그 요청에 따라 웹 서버가 응답하는 형..
python 요소 추가 함수 append( ), extend( ), insert( )
·
개발 하나둘셋/python
개념정리 python 요소 추가 함수 append( ), extend( ), insert( ) 1. append( ) array.append(x) 형태로 사용 append는 덧붙인다는 뜻으로 괄호( ) 안에 값을 입력하면 새로운 요소를 array 맨 끝에 객체로 추가 요소를 추가할 때는 객체로 추가하게 되는데, 입력한 값이 리스트와 같은 반복 가능한 iterable 자료형이더라도 객체로 저장 >>> nums = [1, 2, 3] >>> nums.append(4) [1, 2, 3, 4] >>> nums.append([5, 6]) [1, 2, 3, 4, [5, 6]] # 리스트가 하나의 객체로 추가되었음 2. extend( ) array.extend(iterable) 형태로 사용 입력한 iterable 자료..
유리코딩
'개발 하나둘셋' 카테고리의 글 목록 (4 Page)