본문 바로가기

TIL139

디자인 패턴 디자인 패턴이란 객체 간의 상호 관계 등을 하나의 규약 형태로 만들어 놓은 것을 의미한다. 1. 싱글톤 패턴 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있으나 의존성이 높아진다는 단점이 있다. 싱글톤 패턴은 데이터베이스 연결 모듈에 많이 쓰인다. 하나의 인스턴스를 기반으로 생성하면 데이터베이스 연결에 관한 인스턴스 생성 비용을 아낄 수 있다. 실제로 Node.js에서 mongoose, MySQL 데이터베이스를 연결할 때도 싱글톤 패턴이 쓰인다. TDD(테스트케이스를 작성한 후 실제 코드를 작성하는 개발 프로세스)를 할 때에는 주로 단위 테스트.. 2023. 10. 11.
DBMS의 기능과 종류 DBMS - 데이터를 한 곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근하여 저장 및 관리를 할 수 있도록 환경을 제공하는 소프트웨어 프로그램을 뜻한다. DBMS 용어 튜플 테이블의 행 (= 레코드, row) 튜플은 릴레이션에서 중복되는 값을 가질 수 없다. 튜플의 수 = Cardinality 어트리뷰트 테이블의 열 (= column) 어트리뷰트의 수 = degree 릴레이션 관계형 데이터베이스의 정보를 구분하여 저장하는 기본 단위 (= table) 키 테이블의 행의 식별자로 이용되는 테이블의 열 식별자 - 여러개의 객체를 담고 있는 하나의 테이블에서 각각을 구분할 수 있는 논리적인 이름 주키(PK) - 현재 테이블에서 행을 식별하는 식별자 외래키(FK) - 현재 테이블과 연관되어 있는 외부 .. 2023. 8. 30.
DI, IoC DI = 의존성 관계 주입 객체를 직접 생성해 의존관계를 만드는 것이 아니라 외부에서 객체를 생성한 뒤 setter나 생성자를 통해 외존관계를 주입하는 방식이다. 이렇게 함으로서 유연성은 높이고, 결합도를 낮출 수 있다. 스프링에서는 객체를 Bean이라고 부르며 프로젝트가 실행될 때 사용자가 Bean으로 관리하는 객체들의 생성과 소멸에 관련된 작업을 자동적으로 수행해주는데 객체가 생성되는 곳을 스프링에서는 Bean 컨테이너라고 부른다. IoC = 제어의 역전 메소드나 객체의 호출방법을 개발자가 아니라 외부에서 결정하는 것 의존성을 역전시켜 DI와 마찬가지로 유연성을 높이며 결합도를 낮추며, 가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 해준다. 객체의 생성과 실행 순서를 객체 생성 - 의존성 객.. 2023. 8. 28.
http, https 차이점 http 인터넷에서 하이퍼텍스트를 교환하기 위한 통신규약으로, 80번 포트를 사용하고 있다. http의 구조 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동 무상태성을 가짐 Method, Path, Version, Headers, Body로 구성 암호화를 하지 않고 데이터를 주고받기 때문에 제 3자가 개인정보를 조회할 수 있음 이 단점을 극복하고자 https가 나타남 https http에 데이터 암호화가 추가된 프로토콜로 443번 포트를 사용하고 있다. https는 대칭키 암호화와 비대칭키 암호화 방식 모두 사용해 안정성과 빠른 연산 속도를 모두 얻음 대칭키 암호화 서버와 클라이언트가 동일한 키를 사용해 암호화/복호화를 진행 키가 노출되면 위험한 대신 연산이 빠름 비대칭키 암호화 1개의 쌍으로 구.. 2023. 8. 26.