Computer Science 17

[MySQL] 데이터 중복 삽입 방지하기

데이터 삽입 시 필요에 따라 중복 삽입을 방지해줘야 하는 경우가 있다. 지금 수행하고 있는 프로젝트에서 해당 문제에 직면했고, 어떤 방법을 적용하는 것이 좋을지 궁금해서 찾아봤다. FROM DUAL NOT EXISTS INSERT INTO User (userEmail, userPassword) SELECT ?, ? FROM DUAL WHERE NOT EXISTS (SELECT * FROM user WHERE userEmail = "a@a.com", userPassword = 1234); User 테이블에 해당 이메일과 패스워드를 가진 행이 없을 경우에 삽입해준다. INSERT IGNORE INSERT IGNORE INTO User (userEmail, userPassword) VALUES ("a@a.co..

[MySQL] DATE_FORMAT으로 날짜 및 시간 형식 변경하기

MySQL에서 아래와 같이 DATE_FORMAT 함수를 이용하면 날짜나 시간 표기를 원하는 형식으로 바꿀 수 있다. DATE_FORMAT(DATE, FORMAT); 홈페이지에 굉장히 많은 포맷이 있는데, 자주 다룰법한 몇 가지를 정리해봤다. %Y : 4자리 연도 ex) 2021 %y : 2자리 연도 ex) 21 %M : 긴 월 ex) January %b : 짧은 월 ex) Jan %m : 긴 숫자 월 ex) 06 %c : 짧은 숫자 월 ex) 6 %d : 긴 일 ex) 08 %e : 짧은 일 ex) 8 %W : 긴 요일 ex) Monday %a : 짧은 요일 ex) Mon %I : 시간 (12시간 기준) ex) 12 (자정) %H : 시간 (24시간 기준) ex) 00 (자정) %i : 분 %s : 초 ..

[네트워크/Network] HTTP 상태 코드 파헤치기

REST API 포스팅에서 HTTP 상태 코드에 대해 간략하게 정리했는데 복기하는 마음으로, 조금 더 자세히 알아봤다. HTTP status code HTTP 상태 코드는 클라이언트가 보낸 요청(request)이 성공적으로 완료되었는지 응답(response)을 통해 알려준다. 이러한 응답은 5개의 그룹으로 나뉘어진다. 상태 코드는 3자리 수로 나타내는데, 가장 앞자리 수가 바로 응답의 종류를 의미한다. 상태 그룹 역할 1XX Informational 현재 요청까지 처리했다는 임시적인 응답 2XX Success 클라이언트의 요청을 성공적으로 처리 3XX Redirection 요청을 완료하기 위해 추가적인 동작 필요 4XX Client Error 클라이언트의 요청 내용이 잘못된 경우 5XX Server Er..

[네트워크/Network] RESTful한 API 설계하기

이전 포스팅에서 API가 무엇인지 간략하게 알아봤다. 소프트 스퀘어드 4주차 과제는 이러한 API를 REST하게 설계하는, 즉 RESTful API를 만드는 것이다. 설계에 앞서 REST API 가 무엇인지 제대로 알고 싶어 정리했다. REST API REpresentational State Transfer 의 약자로 2000년도에 Roy Fielding 박사 논문에서 최초로 소개되었다. 로이 필딩은 HTTP 주요 저자 중 한 사람으로 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 한다. REST 구성 자원(Resource) : URI 행위(Verb) : HTTP Method 표현(Representations) 쉽게 말해 REST는 URI를 통해 자원을 표시하고, HTTP Meth..

[데이터베이스/DB] SQL 세 종류 - DDL / DML / DCL

SQL (Structured Query Language) SQL 명령어는 크게 세 가지로 분류할 수 있다. SQL이 무엇인지는 이전 포스팅에서 DBMS와 함께 정리해놨다. DDL DDL은 Data Definition Language의 약자로 데이터베이스를 정의하는 언어이다. 스키마(데이터베이스)나 테이블을 생성, 수정, 삭제하는 등 데이터 전체의 골격을 결정한다. CREATE : 테이블 혹은 데이터베이스 생성 ALTER : 테이블 수정 DROP : 테이블 혹은 데이터베이스 삭제 TRUNCATE : 테이블 초기화 DML DML은 Data Manipulation Language의 약자로 데이터 조작어이다. DDL을 통해 정의된 데이터베이스에 존재하는 레코드를 조회, 수정, 삭제하는 등 글자 그대로 데이터를 ..

1 2 3