개발(9)
-
트랜잭션(Transaction)이란??
트랜잭션 트랜잭션은 데이터베이스에서 수행되는 여러 작업을 하나의 논리적 단위로 수행하는 것. # 예시)사용자 A가 사용자 B한테 100,000을 입금한다. # 1. 사용자 A의 계좌에서 100,000원을 차감한다. UPDATE accounts SET money = money - 100000 WHERE user = "A"; # 2. 사용자 B의 계좌에 100,000원을 추가한다. UPDATE accounts SET money = money + 100000 WHERE user = "B"; DB에서는 트랜잭션이라는 선언을 통해 위 예시 과정을 한 가지 작업으로 묶을 수 있다. 이때 만약 오류 없이 모든 작업이 성공적으로 마치게 되면 DB에 반영하게 되는데, 이것을 트랜잭션 연산에서는 COMMIT이라고 한다. ..
2023.10.30 -
객체 지향 프로그래밍(OOP)이란?
객체 지향 프로그래밍(Object Oriented Programming) 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 상호작용을 통해 프로그램을 만드는 것이다. 즉 기능이 아닌 객체가 중심이며 누가 어떤 일을 할 것 인가?가 핵심이다. 특징으로는 추상화, 상속, 다형성, 캡슐화 등이 있다. 1. 추상화(Abstraction) 객체의 공통적인 속성과 기능을 추출하여 정의하는것이다. 예시로 자동차와 오토바이를 생각해보자. 자동차와 오토바이는 이동 수단이며 모든 이동 수단은 전진과 후진을 할 수 있다는 공통점이 있다. 이것을 자바 문법 요소를 사용하여 표현하면 자동차와 오토바이의 공통적인 기능을 추출하여 이동수단 이라는 인터페이스에 정의한다. 인터페이스는 어떤 ..
2023.10.27 -
HTTP 메서드 GET, POST 차이 PUT, PATCH 차이 정리
GET : 데이터를 읽다. url을 기반으로 데이터를 요구하는 방법. url을 기반으로 하기 때문에 길이 제한(2000자 미만)이 있다. 성공시 HTTP 상태코드 200을 반환 캐싱이 가능함 url을 기반으로 요청하기 때문에 해당 요청의 파라미터가 브라우저 기록에 남음 url을 기반으로 요청하기 때문에 요청할 때 ASCII문자열만 보낼 수 있음. 사용자 이름, 비밀번호 등 민감한 정보를 전달할 때 사용 X POST : 데이터를 생성 url이 아닌 HTTP message body를 통해 데이터를 전달함 HTTP message body를 통해 전달되기 때문에 길이 제한이 없음 성공적으로 데이터를 생성할 경우 HTTP 상태코드 201을 반환함. 캐싱이 불가능함 url을 기반으로 요청하지 않기 때문에 해당 요청..
2023.06.30 -
HTTP 상태코드(status code) 정리
1xx(정보) 서버가 요청을 잘 받았고 해당 프로세스를 계속 이어가며 처리하는 것을 의미한다. 100 : 계속함을 의미함. 2xx(성공) 서버가 요청을 잘 받았고 이를 기반으로 클라이언트에게 성공적으로 데이터를 보낸 것을 의미한다. 200 OK : 요청이 성공적으로 되었습니다. 201 Created : 요청이 성공적이였으며 그 결과로 새로운 리소스가 생성되었습니다. 202 Accepted : 요청은 접수되었지만, 처리는 완료되지 않음을 의미한다. 203 Non- Authoritative Information : 요청이 성공적으로 수행되었으나, 요청에 대한 검증이 되지 않음을 의미한다. 204 No Content : 요청이 성공적으로 수행되었고, 응답 payload에 보낼 데이터가 없음을 의미한다. 205..
2023.06.30 -
Local Storage, Session Storage, Cookie 정리
로컬스토리지(Local Storage) 로컬스토리지는 웹 스토리지 객체로 브라우저 내에 { key : value} 형태로 오리진에 종속되어 저장되는 데이터를 말함. (오리진이 같은 브라우저 내에서 공유 가능) 하나의 키에 오로지 하나의 값만 저장됨. 데이터는 사용자가 브라우저에서 수동으로 삭제하지 않는 한 평생 로컬 저장소에 저장되며 만료날짜가 없음.(사용자가 브라우저를 닫거나, 컴퓨터를 종료해도 만료되지 않음) 최대 저장용량은 5MB 보통 사용자의 행위를 기억하거나, 로그인 유지를 위한 값 등으로 사용되며 로컬스토리지 데이터는 자동으로 서버로 전송되지 않음.(쿠키는 자동 전송됨) 로컬스토리지 사용법 설정 :localStorage.setItem(key, value); key에 해당하는 value 가져오기..
2023.06.29 -
디자인 패턴(Design Pattern) 개요
디자인 패턴은 일종의 설계 기법이며, 설계 방법이다. 디자인 패턴의 목적 SW 재사용성, 호환성, 유지 보수성을 보장한다. 디자인 패턴의 특징 디자인 패턴은 특정한 구현이 아닌 아이디어임. 프로젝트에 항상 적용해야 하는 것은 아니지만, 추후 재사용, 호환, 유지 보수시 발생하는 문제 해결을 예방하기 위해 패턴을 만들어 둔 것이다. 디자인 패턴의 원칙 - SOLID (객체지향 설계 원칙) (여기서는 간단하게 설명하고 나중에 따로 SOLID만 정리) SRP(Single Responsibility Principle, 단일책임 원칙) 하나의 클래스는 하나의 역할만 해야한다. OCP(Open Close Principle, 개방폐쇄 원칙) 확장(상속)에는 열려있고, 수정에는 닫혀 있어야 한다. LSP(Liskov ..
2023.02.06