목록Study/정리 (7)
DevGang
Redundant Array of Inexpensive/Independent Disk 저장장치 여러 개를 묶어 고용량·고성능 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법이다. 초기에는 업그레이드 후 '폐기하기엔 아깝고, 그렇다고 단독으로 쓰기에는 성능이 부족한'(Inexpensive) 저장장치를 재활용할 목적으로 사용하였다. 저장장치 기술이 발전한 현재는 Inexpensive보다는 Independent로 해석하는 추세이다. RAID의 주 사용 목적은 크게 무정지 구현(안정성)과 고성능 구현으로 구분된다. 무정지 구현을 극도로 추구하면 RAID 1, 고성능 구현을 극도로 추구하면 RAID 0이 되며, RAID 5, 6은 둘 사이에서 적당히 타협한 형태. RAID 10이나 RAID 01과 같이 두..
배열(Array) 배열은 많은 수의 항목을 메모리에 저장할 때 사용할 수 있는 방법 가운데 가장 단순하고 기본적인 방법이다. 배열은 메모리에 연속적인 공간을 할당하여 만든다. 배열 속에 저장하려는 항목은 그 메모리 공간 속에 순차적으로 기록한다. 장점 - 프로그래밍하기 쉽고 접근시간이 상수 시간이다. 단점 - 연속적으로 이어진 메모리 공간에만 저장할 수 있다. 중간 항목을 제거하려면 제거하는 항목 이후의 모든 항목을 한 칸씩 앞으로 당기거나 죽은 공간으로 표시해야 한다. 연결 리스트(linked list) 저장한 칸들을 쇠사슬처럼 연결한 구조이다. 장점 - 배열과 달리 연속적인 메모리 주소로 구성될 필요가 없다. 처음부터 필요한 모든 메모리를 할당해 둘 필요가 없다. 리스트 중간에 추가, 삭제가 간단하다..
절차 지향(Procedural oriented) 프로그래밍 이란? 절차 지향 프로그래밍은 단순히 순서대로 명령을 수행하는 것을 의미하는 것이 아닌 프로시저 호출의 개념을 바탕으로 하는 구조적 프로그래밍의 일종이다. 영문 표기 "Procedural Programming"을 한국어로 번역하면 "절차" 혹은 "절차적"이 되기 때문에 "절차"를 사전적 의미 그대로 해석해서 순차적 프로그래밍 또는 함수형 프로그래밍과 유사하거나 같은 부류에 속하는 것으로 오해하기 쉬우나, 여기서 말하는 "절차"는 프로시저 혹은 함수로 해석해야 한다. 절차적 프로그래밍은 명령형, 구조적 프로그래밍의 일종으로 프로시저 콜이라는 함수 호출을 통해 추상화와 재사용성을 얻어내는 것에 초점을 맞추고 있기 때문에 선언형, 비구조적 프로그래밍과..
최선의 경우를 바라되, 최악의 경우를 대비하라. 최상의 경우 : 오메가 표기법 (Big-Ω Notation) 평균의 경우 : 세타 표기법 (Big-θ Notation) 최악의 경우 : 빅오 표기법 (Big-O Notation) 평균인 세타 표기를 하면 가장 정확하고 좋겠지만 평가하기가 까다롭다. 일반적으로 가장 중요한 경우는 최악의 경우 입니다. 최소한의 기준점이 되기 때문이죠. 최악의 상황을 상정하면 더 나쁜 상황은 있을 수 없는 거니까요. 상황에 대한 설명이 주어지지 않았다면, 최악의 상황을 상정해야 하는 겁니다. - 한 권으로 그리는 컴퓨터과학 로드맵 중에서 아래는 대표적인 Big-O의 복잡도를 나타내는 표이다.
컴포넌트 개념의 유래 많은 하드웨어 제품들은 각각 독립된 기능을 가진 모듈로 만들어진다. 이 제품들은 회사 상관없이 서로 조합하여 하나의 제품이 만들어진다. 이러한 제품들의 부품은 문제가 발생했을 시, 해당 부품만 다른 부품으로 바꾸어도 제품은 문제없이 작동한다. 컴퓨터와 스마트폰과 같은 제품들을 상상해보면 금방 이해가 갈 것이다. 반면에, 소프트웨어에서는 상황이 틀리다. 소프트웨어를 독립적으로 개발되지 않은 경우가 많을뿐더러, 독립적으로 개발되어도 다른 모듈과의 호환을 생각하지 않고 개발한다. 이는 결국 소프트웨어의 재사용을 어렵게 하고 유지보수 비용이 크게 증가하는 원인이 된다. 이러한 상황에서 소프트웨어의 재사용의 중요성과 필용성을 위해 나온 기술이 컴포넌트 기술이다. 컴포넌트는 독립적인 단위 모듈..
Tomcat 설정하기 위해 톰캣 공식 홈페이지에서 톰캣을 다운해주세요. tomcat.apache.org/ Apache Tomcat® - Welcome! The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications ar tomcat.apache.org 자신의 프로젝트에 맞는 톰캣 버전을 클릭해주세요. 자신의 운영체제에 맞..
* Intellij 2020.3 버전에서 진행했습니다. 먼저, Open을 클릭하셔서 프로젝트를 열어줍니다. 기존 프로젝트가 있으시다면 File > New > Project from Existing Sources... 을 선택해주시면 됩니다. 프로젝트 오픈 후, 자바 컴파일러 설정을 위해 File > Settings을 클릭해주세요. java compiler을 검색하셔서 프로젝트에 맞는 java버전을 설정해주세요. 컴파일러를 설정하셨다면, File > Project Structure... 을 클릭해주세요. 빨간색 동그라미를 클릭하셔도 동일합니다. java 버전에 맞게 설정되어 있는지 확인해주세요. Modules에서 다시 한번 java 버전 확인과 src파일 설정이 되어있는지 확인해주세요. Sources 파일..