본문 바로가기

전체 글

(116)
프로그래밍 패러다임 개발자의 입장에서 바라봤을 때, 어떤 방식으로 프로그램을 구현해야 할까? 이걸 프로그래밍 패러다임이라고 표현함. 사용하던 구현 방식의 단점을 극복, 보완하기 위한 순서임. 절차 지향 → 객체 지향 → 함수형 과정에 집중하느냐, 결과에 집중하느냐 따라서 두 분류로 나뉨. 1. 명령형 프로그래밍 절차지향 프로그래밍 : 절차의 연속 객체지향 프로그래밍 : 객체 + 객체 2. 선언형 프로그래밍 함수형 프로그래밍 : 순수함수 + 일급객체 비교를 하자면... 명령형 : 구현을 위한 알고리즘을 명시하되 목표는 명시하지 않음. (How) 명령형 : 프로그램은 명령의 수행이며, 어떻게 구현하는지 그것이 중요하다. 선언형 : 목표만 명시하고 알고리즘은 명시하지 않음. (What) 선언형 : 프로그램은 함수의 계산이며, 무..
자바 변수는 일곱 가지가 있음 자바 공부, 혹은 자바 면접을 준비하면 반드시 접하는 게 자바 변수의 종류 및 정의임. 영어로 적으면 명확하지만 한글로 적으면 하나의 변수를 다른 명칭으로 표현하기도 해서 잠깐 살펴볼 필요가 있음. 그냥 1~7번 외우는 것은 내 취향이 아니니 기준을 잡고 암기했음. 데이터 타입 기본형 변수 참조형 변수 선언 위치 멤버 변수 (=전역 변수) 지역 변수 기준점은 크게 두 개로 볼 수 있음. 데이터 타입에 따른 변수는 두 개 있으며, 선언 위치에 따른 변수가 두 개 있음. 데이터 타입에 따른 변수는 위에서 언급한 것이 끝임. 반면에, 선언 위치에 따른 변수에는 하위 변수가 존재함. 멤버 변수 (=전역 변수) 클래스 변수 인스턴스 변수 지역 변수 매개 변수 멤버 변수 하위에 둘, 지역 변수 하위에 하나. 앞선 ..
Container는 왜 필요할까? 애플리케이션을 쉽게 공유하고 배포할 수 있도록 한 곳에 모으자! 목적은 간결하다. 다만 과정에서 얻는 이득은 자세히 알아볼 필요가 있다. 가상화와 비교를 통한 장점, 개발환경에서 얻는 이점을 눈여겨 봐야 한다. vs 가상화 호스트 OS를 사용하여 파일 크기가 적다. 여러 개의 컨테이너를 하나의 OS로 처리하므로 고밀도화가 가능하다. 응용 프로그램과 미들웨어만 실행하면 되므로 실행 시간과 종료 시간이 빠르다. vs 환경 다른 어플리케이션과 분리된 최적화된 환경을 생성할 수 있다. Linux, Windows, Mac OS, 가상머신, 데이터 센터, 퍼블릭 클라우드 등 사실상 어느 환경에서나 구동이 가능하다. 컨테이너를 그대로 퍼블릭 클라우드에서 실행이 가능하므로 마이크로 서비스 방식의 기능 확장에 적합하다...