TIL
-
[WEB] REST API 설계하기TIL 2024. 2. 24. 01:28
rest api를 만드는데에 정답은 없다. 하지만 더 직관적이게 짤수록 좋다. 남들이 봤을때 바로바로 이해될 수 있어야한다. rest ful한 api를 만드는 방법) 1. URI는 정보의 자원을 표현해야한다 GET /:accountidx/info (X) ㄴ 남들이 볼때 - /5/info ㄴ 이것만 보고는 남들이 보고 직관적으로 이해하기 어렵다 GET /account/:idx/info (O) ㄴ 남들이 볼때 - /account/5/info ㄴ남들이 볼때 5번계정의 info를 요청 하는것이라고 직관적으로 이해할 수 있다 2. 동사를 쓰지않고 명사만 쓴다 GET /account/idCheck (x) ㄴ 동사는 Method(get, put, post, delete)로만 이용한다. 그외 URI내에 동사를 쓰지않는..
-
[postgresSQL] enum 타입TIL 2024. 2. 19. 19:20
DB에서 enum type은 성별(남,녀) , 요일(월화수목금토일) 과 같이 사용자 정의 타입을 만든다고 생각하면 된다. DB에서 해당 속성을 enum type으로 지정할 경우 해당 속성은 정해진 값 내에서만 입력이 가능하다. CREATE TYPE으로 생성한다 예시) mood타입을 생성하고 이 타입에는 sad, ok, happy만 들어갈 수 있게 만들기 CREATE TYPE mood as ENUM ('sad', 'ok', 'happy'); CREATE TABLE person( name text, current_mood mood ); INSERT INTO person values ('kiju', 'happy'); SELECT * FROM person WHERE current_mood = 'happy'; 결..
-
[DB] 식별관계와 비식별관계TIL 2024. 2. 19. 13:43
식별관계와 비식별관계 식별관계 : 부모테이블의 기본키나 유니크 키를 자식 테이블이 자신의 ( 기본키+외래키 )로 이용 ㄴ부모 데이터가 존재해야지만 자식 데이터를 추가할 수 있다 ㄴ부모 테이블의 키를 기본키로 가지고 있어서 부모 테이블의 데이터가 있어야지만 자식 테이블에 데이터를 추가할 수 있다 ㄴ 부모테이블의 키를 자식테이블에서 기본키로 삼으면 식별관계, 외래키로만 삼으면 비식별관계 ㄴ 식별관계에서는 부모테이블의 키를 기본키로 쓰기때문에, 자식테이블에서 부모테이블에 관한 정보가 1개씩만 들어갈 수 있다. 쓰는이유) 예시) 자동차(부모테이블)가 있어야지 자동차바퀴(자식테이블)이 존재할 수 있다 유저, 게시글, 추천 테이블이 있고, 한명의 유저는 하나의 게시글에 대해 "한번만" 좋아요 할 수 있다. ㄴ 이때..
-
[DB] 트랜잭션 (Transaction)TIL 2024. 2. 19. 13:25
트랜잭션이란, 데이터베이스의 상태를 변화시키기위해 수행하는 작업의 단위를 의미한다 . 하나의 논리적 기능을 수행하기위해 DB에서 수행하는 작업단위이다. 작업단위는 SQL 명령문 한문장이 아니다. 여러 명령문들을 합친 사람이 정한 기준을 따르는 단위이다. 예시) 예를 들어 A가 B에게 10만원을 송금을 하는 상황이다 그렇다면 A의 계좌에서 10만원을 뺀 값으로 update 해주고, (인출) B의 계좌에서는 10만원을 추가한 값으로 update 해줘야한다. (입금) 만일, 이러한 상황에서 2가지의 작업중 하나만 성공하고, 나머지가 실패하면 큰 문제가 발생한다. 인출만 성공하고 입금이 실패하면 전체 계좌 금액중 10만원이 사라지는 문제가 생기고, 입금만 성공하고 인출이 실패하면 전체 계좌금액이 10만원이 생겨..
-
[AWS] aws 탄력적IPTIL 2024. 2. 7. 14:23
탄력적 IP 주소 (EIP - Elastic IP) ㄴ고정된 IP사용가능 ㄴ원래 서버 껐다키면 IP 바뀐다. 그래서 푸티, 파일질라, ftp, 포스트맨 모두 ip 수정해줘야한다. ㄴ 이때 인스턴스를 중지했다가 재시작할때 바뀌지 않고 IP를 고정시켜주는 것. 사용법) -탄력적IP 연결: 탄력적 IP 주소 할당 - 탄력적 IP 주소 연결 -탄력적IP 해제, 삭제 : 탄력적 IP 주소연결해제 - 탄력적 IP 릴리스 이용요금) 인스턴스에 연결된 탄력적 IP 1개는 무료이다 하지만 ㄴ 탄력적 IP를 만들어 놓고 사용하지 않거나, 인스턴스에 붙어있지 않을때 과금 ㄴ 인스턴스에 추가 탄력적 IP를 연결하면 과금 ㄴ 탄력적 IP를 연결해둔채로 인스턴스를 중지하면 과금
-
[AWS] aws 특정 EC2, S3에서 하나의 계정에만 접근 허용하기, IAM 정책 JSON, arn 문법구조TIL 2024. 2. 1. 17:07
사용자, 그룹, 역할, 정책 역할과 정책의 차이점) 역할은 일정시간이 지나면 자동으로 역할이 해제된다(임시적) 반면 정책을 부여받았다면 정책을 다시 회수하는 작업이 필요하다 IAM policy JSON 구조) 전체 정책에 대한 Optional top-level elements가 있고, 이에 여러개의 Statement를 추가하는 형태. 하나의 Statement에는 여러개의 permission 정보가 포함되어있다 Optional top-level element) version : iam policy JSON 문서 양식 버전 statement (array) : 권한 부여 규칙의 나열 id : 정책 식별자를 지정 IAM policy 구조) Effect : 명시된 정책에 대한 허용 or 차단 (allow or d..
-
[Postman] Postman 포스트맨 토큰값 자동 갱신하기TIL 2024. 1. 26. 15:22
기존에는 로그인API 실행후 발행되는 토큰 값을 복사해서 API를 이용할때마다 매번 다른 API의 token 키의 value에 토큰값을 붙여넣기 해줘야해서 불편했다 하지만 토큰이 발급될때마다 포스트맨 내 변수 {{token}}에 자동으로 토큰값이 할동되게 만들면 더 편하게 이용할 수 있다. 방법) 1. 우선 토큰이 발급되는 로그인API로 가서 Tests탭으로 이동 Tests 탭에 코드 작성) if(pm.response.code == 200){ // 상태코드 200이라면 token변수에 반환값 할당 pm.globals.set('token', pm.response.json().data.token); } console.log(pm.response.json().data.token); ㄴ crtl + alt + ..