분류 전체보기
로그
로그 로그란 IT 에서 발생되는 모든 이벤트 정보를 시간에 따라 남기는 데이터를 지칭합니다. 유저가 특정 사이트에 접속했을 때 어떤 루트를 통해 어떻게 접속하고 어떤 이벤틀르 발생시켰는지 그리고 그런 이벤트의 시간 등을 모두 기록으로 남깁니다. 사용 이유 로그를 사용하는 가장 큰 이유는 개발 도중 사고나 장애가 발생했을 때 원인들을 파악하고 대처할 수 있는 근거가 되기 때문입니다.

알고리즘
알고리즘 알고리즘은 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차입니다. 계산을 실행하기 위한 단계적 절차를 의미하기도 합니다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻합니다. 프로그램명령어의 집합을 의미하기도 합니다. 알고리즘의 표현 자연어 알고리즘 자연어 알고리즘을 쉽게 표현하면 자연어 표현법, 일상 언어 표현법이라고도 합니다. 이 방법은 일상적으로 사용하는 말로써 문제를 해결하는 과정을 순서대로 나열하는 것입니다. 일상적인 언어를 사용하기 때문에 매우 쉽게 표현할 수 있지만 모호하게 표현될 수 있다는 단점이 있습니다. 라면 조리법으로 알고리즘 예시를 들어보겠습니다. 냄비에 물을 넣는다. 물을 끓인다. 면, 스프 등을 넣는다. 조리가..
정렬 알고리즘
정렬 알고리즘 컴퓨터 과학과 수학에서 정렬 알고리즘(sorting algorithm)이란 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘을 말합니다. 이런 정렬 알고리즘에도 여러가지 알고리즘이 존재합니다. 선택 정렬 1번째 원소부터 끝까지 훑어서 가장 작은 게, 1번째, 2번째 원소부터 끝까지 훑어서 가장 작은 게 2번째…해서 (n-1)번 반복합니다. 구현 코드 import java.util.Arrays; public class Test { public static void main(String[] args) { int[] nums = { 3, 1, 5, 4, 2 }; for(int i = 0; i < nums.length; i++) { int minNum = i; for(int ..
프레임워크, 라이브러리
프레임워크 프레임워크란 프로그램을 만들 때 필요한 여러 기능을 쉽게 구현하도록 도와주는 도구입니다. 예를 들어 웹 프레임워크로는 로그인이나 댓글처럼 자주 쓰는 기능을 제공해 개발자가 웹 사이트를 쉽게 만들도록 도와줍니다. 대표적인 프레임워크 종류 설명 관련 사이트 노드제이에스(Node.js), 익스프레스(Express) 노드제이에스는 서버에서 자바스크립트를 실행할 수 있는 환경, 즉 플랫폼이라고 생각하면 됩니다. nodejs.org/ko,` expressjs.com 자바(Java), 스프링(spring) 자바는 오랫동안 백엔드 개발용으로 사랑받는 언어이고, 그만큼 관련 커뮤니티나 오픈 소스가 많습니다. 자바를 사용하면 안드로이드 앱을 개발할 수도 있고, 셋톱 박스나 하드웨어용 애플리케이션을 만들 수도 있..
결합도와 응집도
결합도와 응집도에 대해 알아보기 전에 먼저 알아야 할 것들이 있습니다. 바로 모듈과 모듈화입니다. 모듈 모듈이란 프로그램을 구성하는 구성 요소로, 관련된 데이터와 함수를 하나로 묶은 단위를 의미합니다. 보통 하나의 소스 파일에 모든 함수를 작성하지 않고, 함수의 기능별로 따로 모듈을 구성합니다. 이러한 모듈을 합쳐 하나의 파일로 작성하는 방식으로 프로그램을 만들게 됩니다. 위처럼 프로그램 코드를 기능별로 나눠서 독립된 파일에 저장하여 관리하는 방식을 모듈화 프로그래밍이라고 합니다. 모듈의 사용 이유 모듈로 나누면 코드 작성과 관리가 쉬워집니다. 이미 작성된 코드를 재사용할 수 있습니다. 공동 작업이 편리해집니다. 모듈화 프로그램을 제작시 생산성과 최적화, 관리에 용이하게 모듈 단위로 분할하는 것을 말합니..
OOP
객체와 객체 지향 프로그래밍 OOP란 Object-Oriented Programming의 약자로 객체 지향 프로그래밍을 의미합니다. 객체란 여기서 객체란 ‘의사나 행위가 미치는 대상’ 이라는 뜻을 가지고 있는데, 주위에 있는 객체들을 생각해 보면 컴퓨터, 선풍기 등 눈에 보이는 사물들은 모두 객체라고 할 수 있습니다. 눈에 보이지 않아도 주문, 생산, 관리 등 어떤 행동을 나타내는 단어도 객체가 될 수 있습니다. 객체 지향 프로그래밍이란 이런 객체들을 기반으로 하는 프로그램을 객체 지향 프로그래밍이라고 합니다. 프로그래밍에서의 객체는 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹이라고 볼 수있습니다. 컴퓨터(PC)로 예를 들어보겠습니다. 컴퓨터(PC) = 데이터(본체, 모니터, 키보드, 마..

컬렉션 프레임워크
컬렉션 프레임워크(collection framework) 프로그램을 개발할 때 사용하는 자료를 어떤 구조로 관리할 것인지 매우 중요합니다. 그래야 프로그램의 기능을 효과적으로 구현할 수 있기 때문입니다. 이때 사용하는 것이 자료 구조(data structure)입니다. 자료 구조는 프로그램 실행 중 메모리에 자료를 유지·관리하기 위해 사용합니다. 자바에서는 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하고 있는데, 이를 컬렉션 프레임워크(collection framework)라고 합니다. 자료 구조는 개발자가 필요할 때 직접 만들어 사용할 수도 있습니다. 하지만 자바 컬렉션 프레임워크를 사용하면 직접 개발하는 수고를 덜 수 있을 뿐만 아니라 잘 만들어진 자료 구조 클래스를 활용할 수..