1. Redis란? Redis는 Remote Dictionary Server의 약자로 이름 그대로 dictionary 구조, 즉 key-value 형태로 비정형 데이터를 저장하고 관리하기 위한 오프 소스 기반의 비관계형 데이터 베이스 관리 시스템(DBMS)이다. Redis는 문자열, 해시, 목록, 집합, 범위, 쿼리가 있는 정렬된 집합, 비트맵, 하이퍼로그, 자리 공간 인덱스 및 스트림과 같은 컬렉션을 제공한다. Redis는 여러 데이터 형식을 지원하며 크게 String, Set, Sorted Set, Hash, List이 있다. 2. Redis의 특징 영속성을 지원하는 인메모리 데이터 저장소 영속성을 보장하기 위해 데이터를 Disk에 저장 가능 Disk에 저장하는 방식은 크게 두 가지 RDB(Snaps..
1. AWS란? AWS는 Amazon Web Services의 약자로 아마존 닷컴에서 개발한 클라우드 컴퓨팅 서비스이다. AWS는 네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등 다양한 서비스를 제공하고 있다. 2. 클라우드 컴퓨팅(Cloud Computing)이란? 클라우드 컴퓨팅은 IT리소스를 인터넷을 통해 온디맨드(On-Demand)로 제공하고, 사용한 만큼 비용을 지불하는 것이다. 즉, 기존의 물리적인 형태의 실물 컴퓨팅 리소스를 네트워크 기반 서비스 형태로 제공하는 것이다. 클라우드 컴퓨팅의 서비스 유형은 크게 IaaS(Infrastructure as Service), PaaS(Platform as a Service), SaaS(Software as a Serce)로 나눌 수 있..
1. OAuth란? OAuth(Open Authorization)는 인증을 위한 개방형 표준 프로토콜이다. 즉, 이 프로토콜을 사용하면 대부분의 로그인, 개인정보 등과 관련된 관리 책임을 서드파티 애플리케이션에게 위임할 수 있다. 예를 들어서, 자신의 서비스에 카카오톡 간편 로그인 기능을 넣고 싶다고 하자. 이때 OAuth를 이용한다면 안전한 방식으로 카카오톡으로부터 유저의 정보에 접근하기 위한 권한을 위임 받을 수 있다. 2. 주요 용어 1) Authentication 2) Authorization 3) Access Token 4) Refresh Token 3. OAuth 2.0의 구성 요소 1) Resource Owner 2) Client 3) Resource Server 4) Authorizatio..
1. Spring Security란? Spring Security는 스프링 기반 애플리케이션의 보안(인증, 인가 등)을 담당하는 스프링의 하위 프레임워크이다. 만약 이 프레임워크가 존재하지 않았다면 자체적으로 작성해야 할 로직이 많지만, Spring Security는 보안과 관련해서 체계적으로 많은 옵션을 제공해준다는 장점이 있다. * 인증과 인가 인증(Authenticate) : 보호된 리소스에 접근한 대상의 신원 정보를 확인하는 과정(ex. 로그인 과정) 인가(Authorize) : 인증된 사용자가 어떤 리소스에 접근할 수 있고, 어떤 동작을 수행할 수 있는지 검증하는 과정 2. Spring Security의 특징 Servlet API 통합 인증, 인가에 대해 포괄적이고 확장 가능한 지원 필터 기반으..
목차 0. Abstract 1. Introduction 1.1 Goal of Research 1.2 Challenges in Instance Segmentation 1.3 Characteristics of Mask R-CNN Architecture 2. Mask R-CNN 2.1 Faster R-CNN 2.2 Mask R-CNN 2.3 Mask Representation 2.4 RoIAlign 2.5 Network Architecture 3. Experiments: Instance Segmentation 3.1 Main Results 3.2 Ablation Experiments 3.3 Bounding Box Detection Results 4. Mask R-CNN for human Pose Estimat..
브라우저의 주요 기능 브라우저의 주요 기능은 사용자가 서버에 필요한 자원을 요청하면 요청한 자원을 브라우저에 표시하는 것이다. 요청하는 자원은 대부분 HTML 문서 형식이지만, PDF나 이미지 등의 다른 형식일 수도 있다. 브라우저는 HTML, CSS 명세에 따라서 HTML을 해석해서 표시하는데, 이 명세는 웹 표준화 기준인 W3C(World Wide Web Consortium)에서 정해진다. 대표적인 웹 브라우저는 크롬, 파이어폭스, 사파리 등이 있다. 요청과 응답 - 요청(request) : 클라이언트가 웹 서버에게 웹 페이지를 달라고 하는 것 - 응답(response) : 요청한 웹 페이지를 클라이언트에게 제공하는 것 브라우저의 기본 구조 1) 사용자 인터페이스 사용자 인터페이스는 사용자가 접근할 ..
1. RDBMS(Relational Database Management System)란? RDBMS는 관계형 데이터베이스를 만들고 업데이트하고 관리하는데 사용하는 프로그램이다. RDBMS의 테이블은 서로 연관되어 있으며 일반 DBMS보다 효율적으로 데이터를 저장, 구성 및 관리할 수 있다. 또한, 정규화를 통해서 데이터의 중복성을 최소화하며 transaction을 수행하는 것이 더 쉽다. 또한, 데이터의 원자성, 일관성, 격리 및 내구성을 유지하며 데이터 무결성을 높인다. 2. 테이블들의 연관 관계 2.1 Unique Key Unique Key는 테이블의 열에서 중복될 수 없는 값을 지정한다. Primary Key와 유사하게 두 key 모두 테이블 열의 고유성을 보장한다. 다만, 차이점은 Unique K..
1. ORM(Object Relational Mapping)이란? ORM은 객체와 관계형 데이터베이스를 매핑해주는 기술이다. 이는 객체 간의 관계를 바탕으로 SQL 자동 생성하여 객체 지향과 관계형 데이터베이스 간의 패러다임 불일치 문제를 해결해준다. ORM의 장단점은 아래와 같다. 장점 객체지향적인 코드 SQL Query가 아닌 메소드로 데이터 조작 가능하기 때문에 생산성 증가 객체에 대한 코드를 별도로 작성하여 코드 가독성 증가 재사용 및 유지보수 편리성 증가 DBMS에 대한 종속성 저하 RDBMS의 데이터 구조와 객체지향 모델 사이의 간격 좁힐 수 있음 DBMS를 교체하는 큰 작업에도 리스크가 적고 드는 시간이 줄어듦 단점 복잡한 쿼리문의 경우 SQL문으로의 사용이 더 직관적일 수 있음 프로젝트 규..