본문 바로가기

JavaScript33

도메인(Domain) 도메인 비즈니스 프로세스를 개선하거나 자동화 하기 위해 지원하는 활동 도메인 모델 특정 도메인을 개념적으로 정리한 모델 사용할 개체를 기억하기 쉬운 이름(식별자)을 부여해 대상을 쉽게 공유할 수 있게 한다. 도메인 모델링 엔티티(Entity) 실제 DB 테이블과 연관되어 있는 핵심 클래스, 엔티티를 기준으로 테이블이 생성되고 DB 스키마가 변경된다. 엔티티를 요청(Request)이나 응답값(Response)으로 전달하는 클래스로 사용하면 안된다. sequelize 에서는 모델 자체가 클래스로서 구현이 되어있고, 클래스를 이용해서 실제 데이터베이스에 접근한 형태가 아닌 생성되어있는 모델을 가지고 실제 sequelize 메소드들을 사용하는 형태이다. 모델 속성 내부의 값을 변경하더라도 같은 엔티티에 속해있다.. 2022. 12. 10.
객체지향 프로그래밍(OOP, Object Oriented Programming) 객체지향 프로그래밍 프로그램의 처리단위가 객체인 프로그래밍 방법 현실 세계를 모델링하는 대표적인 프로그래밍 패러다임 데이터와 프로세스가 동일한 모듈 내부에 위치하도록 프로그래밍하는 방식 코드를 추상화해 직관적으로 사고할 수 있다. 현실 세계의 객체를 유연하게 표현할 수 있고 각각의 특성을 가지고 있어 특정 기능을 수행할 수 있다. 예를 들어 자동차는 객체이고 출발, 정지, 운행 등과 같은 기능을 수행할 수 있다. 객체지향 프로그래밍을 사용해야 하는 이유 만약 API 를 만들 때 복사-붙여넣기 방식으로 동일한 코드를 여러 군데 분산 시켜 놓는다면, 해당 로직을 수행할 때 복사한 코드를 일일히 찾아가며 수정을 해야하는 상황이 발생한다. 객체지향 프로그래밍을 사용한다면 코드 변경점이 발생하더라도 최소한의 수정.. 2022. 12. 10.
객체지향(Object-Oriented) 객체지향 소프트웨어의 핵심을 기능이 아닌 객체로 삼으며, 누가 어떤 일을 할 것인가에 초점을 맞춘다. 즉 객체를 도출하고 각각의 역할을 정의하는 것에 초점을 맞춘다. 책임과 권한을 가진 객체들이 서로 메시지를 주고받으며 협력해서 필요한 기능을 수행하도록 시스템을 개발하는 것을 객체 지향이라고 한다. 객체지향 vs 절차지향 객체지향적인 소프트웨어가 절차지향적인 소프트웨어와 다른 점은 캡슐화, 다형성, 클래스 상속을 지원하는지의 여부와 데이터 접근 제한을 걸 수 있는지이다. 캡슐화 캡슐화란 객체 내부의 세부적인 사항을 감추는 것을 말한다. 아이들에게 가루약을 먹일 때 아이들은 가루를 보면 쓸 것이라고 생각하고 잘 먹지 않을 것이다. 하지만 캡슐 안에 가루를 숨겨서 삼키게 하면 아이들 도 잘 먹을 수 있는 것.. 2022. 12. 10.
JWT JWT, json web token JWT 란 json 형식으로 사용자의 정보를 복호화가 가능한 암호로 암호화 하는 토큰이다. JWT는 토큰 자체를 정보로 사용하는 방식으로 안전하게 전달한다. JWT가 동작하는 과정은 애플리케이션이 실행될 때 JWT를 static(정적) 변수와 로컬스토리지에 저장하게 된다. 정적 변수에 저장하는 이유는 매번 http 헤더에 담아 보내지 않고, 로컬스토리지에서 불러오게 된다면 오버헤드가 발생하기 때문이다. 클라이언트에서 JWT 를 포함해 요청을 보내면 서버는 허가된 JWT인지를 검사고, 로그아웃을 할 경우 로컬 스토리지에 저장된 JWT 를 제거한다. JWT의 구조 JWT는 Header, Payload, Signature로 이루어져 있고, 각각의 구분자는 . 으로 구분한다... 2022. 12. 8.
반응형