TIL141 예상 질문 Q. 옵저버 패턴을 어떻게 구현하나요? A. 여러가지 방법이 있으나 제가 아는 방법으로는 프록시 객체를 사용하는 방법이 있습니다. 어떠한 대상의 기본적인 동작의 작업을 가로챌 수 있는 프록시 객체를 통해 객체의 속성이나 메서드 변화 등을 감지하고, 이를 미리 설정해놓은 옵저버들에게 전달하는 방법으로 구현합니다. Q. 프록시 서버를 설명하고 사용 사례에 대해 설명해보세요. A. 프록시 서버란 캐싱, 로깅, 데이터 분석을 서버보다 먼저 하는 서버를 말합니다. 이를 통해 포트 번호를 바꿔서 사용자가 실제 서버의 포트에 접근하지 못하게 할 수 있으며, DDOS 공격을 차단하거나 CDN을 프록시 서버로 달아서 캐싱 처리를 용이하게 할 수 있습니다. nginx로 Node.js로 이루어진 서버의 앞단에 둬서 버퍼 오.. 2023. 10. 12. 프로그래밍 패러다임 프로그래밍 패러다임이란 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론을 말한다. 예를 들어 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호 작용하는 객체들의 집합으로 볼 수 있게 하고, 함수형 프로그래밍은 상태 값을 지니지 않는 함수 값들의 연속으로 생각할 수 있게 해준다. 프로그래밍 패러다임의 분류 선언형 '무엇을' 풀어내는가에 집중하며, "프로그램은 함수로 이루어진 것이다"라는 명제가 담겨있다. 함수형 작은 순수 함수들을 블록처럼 쌓아 로직을 구현하고, 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임이다. 순수 함수 : 출력이 입력에만 의존하는 것 고차 함수 : 함수가 함수를 값처럼 배개변수로 받아 로직을 생성할 수 있는 것 고차 함수를 쓰기 위해서는 해당 언어가 일.. 2023. 10. 12. 디자인 패턴 디자인 패턴이란 객체 간의 상호 관계 등을 하나의 규약 형태로 만들어 놓은 것을 의미한다. 1. 싱글톤 패턴 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있으나 의존성이 높아진다는 단점이 있다. 싱글톤 패턴은 데이터베이스 연결 모듈에 많이 쓰인다. 하나의 인스턴스를 기반으로 생성하면 데이터베이스 연결에 관한 인스턴스 생성 비용을 아낄 수 있다. 실제로 Node.js에서 mongoose, MySQL 데이터베이스를 연결할 때도 싱글톤 패턴이 쓰인다. TDD(테스트케이스를 작성한 후 실제 코드를 작성하는 개발 프로세스)를 할 때에는 주로 단위 테스트.. 2023. 10. 11. DBMS의 기능과 종류 DBMS - 데이터를 한 곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근하여 저장 및 관리를 할 수 있도록 환경을 제공하는 소프트웨어 프로그램을 뜻한다. DBMS 용어 튜플 테이블의 행 (= 레코드, row) 튜플은 릴레이션에서 중복되는 값을 가질 수 없다. 튜플의 수 = Cardinality 어트리뷰트 테이블의 열 (= column) 어트리뷰트의 수 = degree 릴레이션 관계형 데이터베이스의 정보를 구분하여 저장하는 기본 단위 (= table) 키 테이블의 행의 식별자로 이용되는 테이블의 열 식별자 - 여러개의 객체를 담고 있는 하나의 테이블에서 각각을 구분할 수 있는 논리적인 이름 주키(PK) - 현재 테이블에서 행을 식별하는 식별자 외래키(FK) - 현재 테이블과 연관되어 있는 외부 .. 2023. 8. 30. 이전 1 ··· 4 5 6 7 8 9 10 ··· 36 다음