이산적인 데이터와 연속적인 데이터를 구분할 수 있다.문제해결 과정에 사용되는 용어들을 도구, 기법, 방법론으로 구분할 수 있다.추상화의 의미를 이해할 수 있다.알고리즘을 기술하기 위한 의사코드의 사용법을 이해하고 올바르게 사용할 수 있다.수학에는 대수학, 해석학, 기하
데이터의 단위를 살펴보자.bit: 0,1을 나타내는 가장 작은단위byte: bit \* 8KB(kilobyte): 우리가 흔히 사용하는 작은 썸네일MB(megabyte)GB(gigabyte): 저화질의 영화, 클래식 음악 등TB(terabyte): 고화질의 영화 100
API(API, Application Programming Interface)란?컴퓨터 프로그램끼리 통신하는 방법이다. 즉, 컴퓨터와 컴퓨터 사이에 있는 중계 계층.A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 할 때 어떻게 통신할 것인지, 어떠한 데이터를
물리적인 컴퓨터 한 대(하드장비)에 하나의 OS를 깔고 여러가지 프로그램을 설치하는 방식. 계정을 나눠 여러명의 사용자가 이용할 수 있도록 할 수 있으나 프로그램을 설치하는 경우 다른 앱에 영향을 미친다.가상머신을 기반으로 배포하는 방식이다. 가상머신이란 컴퓨터의 하드
온프레미스와 오프프레미스는 기업의 IT 인프라스트럭처 관리 방식의 두 가지 주요 형태다. 이 둘의 차이를 이해하는 것은 기업의 비즈니스 요구와 목표에 가장 적합한 솔루션을 선택하는 데 중요하다.온프레미스는 기업이 자체 데이터 센터에 하드웨어와 소프트웨어를 배치하고 관리
클라우드 컴퓨팅은 현대 기업이 IT 자원을 효율적으로 활용할 수 있는 방법을 제공한다. IaaS, PaaS, SaaS는 클라우드 서비스의 세 가지 기본 모델로, 각각의 특징과 장단점이 있다. 백엔드 개발자로서 이를 이해하는 것은 중요하다.IaaS는 인프라형 클라우드 서
컨테이너란, 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성(환경설정)을 패키징 하는 소프트웨어 표준 단위다.컨테이너는 OS를 공유하기 때문에 빠르고 경량화 되어있으며 격리성도 뛰어나다는 장점이 있지만, OS에 문
'문제해결 방법론'이라고 할 수 있다. 소프트웨어 설계에서 반복적으로 발생하는 특정 문제들을 해결하기 위한 검증된 해결책이나 지침이다.디자인 패턴은 크게 3가지로 나뉜다.생성패턴 객체 생성 방법이 들어간 디자인패턴이다. 싱글톤, 팩토리패턴 등이 있다.구조패턴객체, 클래
싱글톤 디자인 패턴은 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 패턴이다. 여기서는 자바에서 싱글톤 패턴을 구현하는 7가지 대표적인 방법을 살펴본다.즉시 초기화는 클래스 로딩 시점에 인스턴스를 생성한다.정의: 클래스가 로딩될 때 인스턴스가 생성된다. 메모리와
인스턴스가 아닌 클래스에 속하며 클래스의 변수, 메서드 등을 공유하는데 사용된다. 따라서 해당 클래스로 만들어지는 객체마다 중복되는 메서드, 속성을 효율적으로 정의할 수 있다.단순히 전역변수가 아니라 클래스의 객체들 끼리 사용되는 메서드 또는 속성이라는 것을 나타내는
팩토리패턴이란 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴이다.상위 클래스에서는 객체 생성방식에 대해 알 필요가 없어져 유연성을 갖게 되며 객체 생성 로직은 하위클래스에서만 관리
메인 모듈이 직접 다른 하위 모듈에 대한 의존성을 주지 않고 중간에 의존성 주입자가 이 부분을 가로채 메인모듈이 간접적으로 의존성을 주입하는 방식이다.메인모듈과 하위모듈간의 의존성을 느슨하게 만들어 쉽게 교체 가능한 구조로 만든다는 장점이 있다. 💡A가 B에 의존한다
전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 디자인 패턴이다.예를들어, 회원가입을 하기위해 LocalStrategy를 사용할 수 있지만 OAuth2처럼 구글이나 카카오, 페이스북 등으로 가입하는 방법도 있다.아래의 코
한 번에 하나의 프로그램만 사용CPU 사용률이 좋지 않음프로세스가 돌아가는 동안 I/O를 만나게 되면 CPU는 아무 일도 하지 못함 따라서 프로그램 종료 시간이 늘어남.여러 개의 프로그램을 메모리에 올려놓고 동시에 실행시키자!I/O작업이 발생하면 다른 프로세스가 CPU