기술 개념 3

도커와 가상머신

- 도커란? 도커란 어플리케이션을 패키징 할 수 있는 툴이다. 컨테이너라고 불리는 소프트웨어 유닛 안에 어플리케이션과 그에 필요한 시스템툴, 리소스들, 환경설정, 환경변수 등 모든 디펜던시를 하나로 묶어서 다른 서버, 다른 pc 등 어떤 곳에도 쉽게 배포하고 안정적으로 구동할 수 있게 도와주는 툴이다. 한마디로 어플리케이션을 구동하는 데에 필요한 런타임 환경에 필요한 모든 것들을 어떤 pc 에서도 동일하게 구동할 수 있도록 도커 컨테이너 안에 담을 수 있다. 도커 - 컨테이너를 만들고, 배포하고, 구동한다. 컨테이너를 만들기 위해서는 세가지가 필요하다. 먼저 도커파일을 만들어야 한다. 어플리케이션을 구동하기 위해 꼭 필요한 파일들, 어떤 프레임워크나 라이브러리를 설치해야 하는지, 외부 디펜던시에 대해서 ..

기술 개념 2023.03.12

객체와 클래스, 쿠키와 세션, 오버로딩과 오버라이딩, 싱글톤패턴, 접근제어자

- 객체와 클래스의 차이 객체와 클래스는 객체 지향 프로그래밍(OOP)에서 중요한 개념이다. 클래스는 객체를 만들기 위한 청사진(blueprint)이라고 볼 수 있다. 즉, 객체를 만들기 위한 필드와 메서드를 정의하는 일종의 틀이라고 생각할 수 있다. 예를 들어, 자동차 클래스는 자동차 객체를 만들기 위한 필드와 메서드를 가지고 있다. 객체는 클래스의 인스턴스(instance)라고 볼 수 있다. 클래스를 바탕으로 실제로 만들어진 것이 객체이다. 예를 들어, 자동차 클래스에서 만들어진 객체는 실제 자동차이다. 객체는 클래스에서 정의한 필드와 메서드를 가지고 있으며, 필드는 객체의 상태(state)를 나타내고, 메서드는 객체의 동작(behavior)을 나타낸다. 따라서, 클래스는 객체를 만들기 위한 틀이고,..

기술 개념 2023.03.12

데이터베이스 개념

- 데이터베이스 정규화란? 데이터베이스의 정규화는 중복을 최소화하도록 설계하는 것이고, 비정규화는 읽는 시간을 최적화 하도록 설계하는 것이다. 데이터베이스를 설계할 때 최소한의 데이터 중복, 최대한의 데이터 유연성을 위해 불필요한 데이터를 제거하고 중복을 최소화하여 데이터를 구조화하는 프로세스를 정규화라고 한다. 정규화는 저장공간을 최소화 하고 데이터 구조의 안정성 및 무결성을 유지할 수 있지만, Relation의 분해로 인해 Relation 간의 연산(JOIN 연산)이 많아져서 질의에 대한 응답 시간이 느려질 수 있다는 단점이 있다. 이를 극복하기 위해 부분적으로 비정규화를 사용하기도 한다. - 비정규화는? 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상 및 개발과 운영의 단순화를 위해 중복 통합,..

기술 개념 2023.03.12