본문 바로가기

반응형

Computer Science

(55)
웹 브라우저 에서의 양방향 통신 방법 웹 브라우저 에서의 양바향 통신 방법 Polling 클라이언트에서 일정 주기마다 요청을 보내고 서버는 현재 상태를 바로 응답하는 방식입니다. 이 방식은 실시간으로 반영되는 것이 중요한 서비스에는 별로 좋지 않고 서버에서 변화가 없더라도 매 요청마다 응답을 내려주기 때문에 불필요한 트래픽이 발생하게 됩니다. Long Polling 클라이언트에서 요청을 보내고 서버에서는 이벤트가 발생했을 때 응답을 내려주고 클라이언트가 응답을 받았을때 다시 다음 응답을 기다리는 요청을 보내는 방식입니다. 실시간 반응이 가능하고 polling에 비해서 불필요한 트래픽은 유발하지는 않지만 오히려 이벤트가 잦다면 순간적으로 과부하가 걸리게 됩니다. Streaming 이벤트가 발생했을때 응답을 내려주는데 응답을 완료시키지 않고 계..
Redis란 ChatSocekt에 공부하던 중 Redis를 알게되어 정리하고자 한다. Redis가 필요한 이유는 ChatSocket을 지원하는 여러서버에서 실시간으로 빠르게 사용할 수 있다고 한다. NOSQL 이란? RDBMS는 관계형 데이터베이스 라고 하며 NOSQL은 비관계형 데이터베이스 이다. (RDBMS가 아닌 다른 형태로 데이터를 저장하는 기술이라고 한다.) Redis란? REDIS(REmote Dictionary Sever)는 메모리 기반의 "키-값" 구조 데이터 관리 시스템 이다. 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 NOSQL 이다. Redis 특징 - 영속성을 지원하는 인메모리 데이터 저장소 - 읽기 성능 증대를 위한 서버 측 복제를 지원한다. - 마스..
Socket 정리 Socket 소켓(Socket)은 1982년 BSD(Berkeley Software Distribution) UNIX 4.1에서 처음 소개되었으며 현재 널리 사용되는 것은 1986년의 BSD UNIX 4.3에서 개정된 것입니다. 소켓은 소프트웨어로 작성된 추상적인 개념의 통신 접속점이라고 할 수 있는데 네트웍 응용 프로그램은 소켓을 통하여 통신망으로 데이터를 송수신하게 된다. 소켓은 응용 프로그램에서 TCP/IP를 이용하는 창구 역할을 하며 응용 프로그램과 소켓 사이의 인터페이스 역할을 하고 있습니다 Socket VS Port 소켓을 설명하려면 Port와 차이점을 알아야 한다. 데이터를 주고 받기 위해서는 Host 주소 이외에도 실제로 데이터를 받을 프로세스가 필요하다. 이들을 식별하느 정보가 portN..
클라이언트 token 보안 전략 Access Toekn 만 사용 사용자가 로그인 할 때 클라이언트에게 AccessToken을 발급한다. 이때 AccessToken은 서버에서 관리할 필요가 없고 메모리상에서 미리 정의 된 비밀키를 이용해서 AccessToeken의 유효성을 검증한다. 짧은 만료 시간으로 설정 (30 분 내외) 장점 - 기기나 AccessToken이 탈취되더라도 빠르게 만료됩니다. 단점 - 사용자는 자주 로그인을 해서 인증 받아야한다. 한 사용자가 오랫동안 사용하는 서비스일경우 서비스를 이용하다 도중에 인증이 만료되어 다시 로그린해야하는 불편함을 겪는다. 긴 만료 시간을 설정(2주 에서 한달) 장점 - 사용자가 로그인을 자주 할 필요가 없다 편하다 단점 - 기기나 AccessToken이 탈취되면 공격자가 오랫동안 제약 없이..
REST API / Spring hateoas REST API REST API를 공부하면서 이응준님의 "그런 REST API로 괜찮은가"를 참조했다. https://tv.naver.com/v/2292653 Day1, 2-2. 그런 REST API로 괜찮은가 NAVER Engineering tv.naver.com REST API란 지금까지 client가 api요청을 보내면 그 값을 JSON, XML로 반환해주는 api정도?? 로만 인식하고 있었다. 영상을 들어보니 REST API라는 말이 맞을 수도 있고 틀릴 수도 있다는데 REST API를 만든 로이필딩씨께서는 self-descriptive messages, HATEOAS를 충족하지 못하면 REST API가 아니라고 한다..? REST API이기 위한 몇가지 조건이 있다. Uniform Interfa..
CSRF, CORS 개념 두가지 단언가 이름도 비슷하고 자꾸 혼동이와서 정리할려고 한다. CORS(Cross-Origin Resource Sharing) CORS는 한국어로 직역하면 교차 출처 리소스 공유라고 해석된다. 여기서 교차출처란 "다른출처"를 의미한다. 출처란 무엇인가? 이때 출처는 Protocol과 Host를 나타낸다 (:8080 , :433 포트 번호까지 포함) 즉 서버의 위치를 찾아 가기 위한 기본적ㅇ니 것들을 합쳐놓은 주소이다. SOP(Same-Origin Policy) 웹 생태계에는 다른 출처로의 리소스 요청을 제한하는 것과 관련된 두 가지 정책이 존재한다. 한 가지는 이 포스팅의 주제인 CORS, 그리고 또 한 가지는 SOP(Same-Origin Policy)이다. SOP는 지난 2011년, RFC 6454에..
Mybatis VS Hibernate SQL Mapper SQL Object 필 SQL Mapper는 SQL 문장으로 직접 데이터베이스 데이터를 다룬다. 즉, SQL Mapper는 SQL을 명시해줘야 한다. EX) Mybatis, JdbcTemplates 등 ORM(Object-Relational Mapping) , 객체 - 관계 매핑 데이터베이스 데이터 Object 필드 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다. 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로 데이터를 조작할 수 있다. 객체 간의 관계를 바탕으로 SQL을 자동으로 생성한다. JPA(Java Persistent API) java ORM 기술에 대한 API 표준 명세로..
git flow, git hub flow , git lab flow ujuc.github.io/2015/12/16/git-flow-github-flow-gitlab-flow/ Git flow, GitHub flow, GitLab flow Git flow, GitHub flow, GitLab flow 에대해서 좀 알아보자. 머리아프다. ujuc.github.io

반응형