AWS S3( Simple Storage Service ) 이란? ■ 업계 최고의 확장성, 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스이다. ■ 웹 사이트, 모바일 어플리케이션, IoT 디바이스, 빅데이터 분석등 다양한 사용 사례에서 원하는 만큼 데이터를 저장및 보호가능하다. ■ 사용하기 쉬운 관리 기능을 제공한다. ■ 특정 비즈니스 조직 및 규정 준수 요구 사항에 따라 데이터를 조직화, 세부적인 액세스 제어를 구성 ■ Bucket이라는 단위로 구분한다 ■ 99.99999%의 데이터 내구성을 가지고 있어 장애나 오류, 위협에 강하. S3 사용 목적 ● 용량을 추가하거나 성능을 높이는 작업이 필요없이 저장 용량이 무한대이고 파일저장에 최적화한다. ● EC2와 EBS등에 비해 훨씬 저렴(저..
동시성(Concurrency)이란? • 여러 클라이언트가 동시에 하나의 데이터를 사용 및 공유하는 것을 뜻합니다. • 다수의 사용자가 동일한 시스템을 공유하면서 발생하는 동시 접근 문제를 해결해야합니다. 동시성문제 (Concurrency Issue) 동시성 문제는 여러 클라이언트가 동시에 같은 데이터를 접근하려고 할때 발생합니다. 🔖 예시 철수가 은행에 가서 총잔액 10,000인 A계좌를 통해 1,000원을 인출하였습니다. (10,000원 → 9,000원 커밋X) 같은시간 민수가 은행에가서 철수와 같은시간에 A계좌에서 1000원을 인출하였습니다. (9,000원 → 8,000원) 철수가 인출했을 당시에는 9,000원이였지만 8,000원으로 되어 있는 에러가 발생하여 Rollback하였습니다.(10,000원..
트랜잭션(Transaction)이란? 데이터베이스에서 하나의 논리적인 기능을 수행하기 위한 작업단위이며, 데이터베이스 관련연산의 가장 기본적인 단위입니다. 즉, 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위입니다. 데이터베이스의 상태를 변화시킨다 라는 말은 SQL 질의어를 이용해 데이터베이스를 접근하는 것을 의미합니다. SQL질의어 - SELECT, INSERT, DELETE, UPDATE 작업의 단위는 질의어 한문장이 아닙니다. 작업의 단위를 하나의 쿼리에 종속하는 것이 아닌 작업 단위는 많은 질의어 명령문들을 사람이 정하는 기준에 따라 정하는 것을 의미합니다. 즉, 여러개의 작업(쿼리)을 묶어 하나의 작업 단위로 그룹화 하여 처리하는 작업을 뜻합니다. ex) 게시판 사용자는 게시글을 작..
Access Token Access Token은 사용자의 인증이 완료된 후 해당 사용자를 인증하는 용도로 발급하는 토큰입니다. Access Token에는 사용자인증의 필요한 모든 Secret 한 정보가 JWT형태로 들어있습니다. 만약 탈취를 당하게 된다면 서버는 탈취된 토큰인지 알지못해 피해가 커질수 있습니다. 그렇기 때문에 피해를 최소화 하기위해 만료시간을 최소화 해야합니다. Refresh Token Refresh Token은 Access Token을 발급받기 위한 목적으로 사용하는 토큰입니다. Refresh Token은 사용자의 인증 정보를 검증하는데 사용되며, 이를 서버에서 관리합니다. 서버는 Refresh Token을 디코딩하여 사용자의 정보를 확인하고 사용자의 인증상태를 언제든지 서버에서 제어할..
비동기처리란? 프로그램이 특정작업을 동기적으로 처리하지 않고, 해당 작업이 완료될 때 까지 기다리지 않고 다른 작업을 수행할 수 있는 프로그래밍 패러다임을 의미합니다. I/O작업, 네트워크 통신, 데이터베이스 조회와 같이 시간이 소요되는 작업을 효율적으로 처리하기 위해 사용됩니다. 위와 같은 작업을 동기적으로 처리할 경우 전체 프로그램이 대기상태에 빠질수가 있습니다. 그렇기 때문에 비동기 처리를 통해 다른작업을 수행하면서도 효율적으로 대응할 수 있습니다. 특정 로직의 실행이 끝날 때 까지 기다려주지 않고 나머지 코드를 먼저 실행하는 것을 비동기 처리라고 합니다. JavaScript에서의 비동기처리는 settime함수, 이벤트처리, AJAX요청과 같은 경우에 주로 사용됩니다. 콜백함수 비동기 작업이 완료되..
인증 (Authentication) - 서비스를 이용하려는 사용자가 인증된 신분을 가진 사람이 맞는지 검증하는 작업. (신분증 검사, 로그인(id, pw)) 인가 (Authorization) - 이미 인증된 사용자가 특정 리소스에 접근하거나 특정 작업을 수행할 수 있는 권한이 있는지를 검증하는 작업. (인증된 사용자 즉, 로그인된 사용자만 게시글을 작) 해싱(Hashing) - hash의 단어를 보면 저미다, 다지다, 잘게 썰다 || 감자 === 해쉬브라운 (재료와 맛은 같지만 모양이 같이 않다) - 123같은 text가 주어지면 특정 알고리즘을 통해 ffewewu787ew이런식으로 인간이 해독하지 못하는 문자열로 변형하는 것. - 감자를 해쉬브라운으로 만들순 있지만 해쉬브라운을 감자로 만들수 없는것처럼..
JWT(Json Web Token)란? • 두 당사자 간의 청구를 JSON개체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 업계 표준 RFC7519방법입니다. • 이 정보는 디지털 서명이 되어 있으므로 확인하고 신뢰할 수 있는 정보입니다. • JWT는 공개 / 개인 키 쌍을 사용하여 서명할 수 있습니다. • 서명된 토큰은 그 안에 포함된 청구의 무결성을 확인할 수 있는 반면, 암호화된 토큰은 이러한 청구를 다른 당사자로부터 숨깁니다 . • 공개/개인 키 쌍을 사용하여 토큰에 서명하는 경우, 서명은 개인 키를 보유하고 있는 당사자만이 서명한 사람임을 인증 할 수 있습니다. JWT (Json Web Token)는 언제 사용 하는가? ● 승인 • JWT를 사용하는 가장 일반적인 경우입니다..
P r o b l e m S3를 사용해서 이미지를 업로드하는 테스트를 하고 있었다. 해당 코드 로직을 다 짠뒤 인섬니아로 테스트를 하는데 this.client.send is not a function 이라는 에러메세지와 함께 에러가 생겼다. T r y 1. 버킷에 문제가 있나 싶어서 버킷을 뜯어봤다. • 구글링을 해보면서 버킷에 무슨 문제가 있는지 보니 AWS S3연결할때에 어떤 사람은 버킷을 생성한뒤 정책생성기로 정책을 생성한뒤 정책 편집기에 설정해 주는 방법을 사용했다. 자세히 알고 있진 않지만 그 과정이 퍼블릭액세스 차단 설정을 활성화하여 퍼블릭 액세스권한을 부여하지 않는 과정인데 처음 시작할때 모든 퍼블릭 액세스 차단을 했기 때문에 하지 않아도 되는것 같았다.(같은 맥락이니까) 버킷은 문제 없이 ..