전체보기 238

[Software Engineering] 소프트웨어 개발 생명 주기

소프트웨어 개발 생명 주기는 아는 데, SDLC(Software Development Life Cycle)정보처리기사에서도 쉬운 문제로 등장한다. 1. 주먹구구식크기가 매우 작은 소프트웨어 개발에 사용된다. 첫번째 버전 연구 -> 제품개발 ->운영모드/유지보수 2. 폭포수 모델순차적으로 개발하는 전형적인 개발 모델 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 3. 원형 모델Proto type을 만들어서 고객과 사용자가 함께 요구사항을 정제하면서 만들어가는 방법 요구사항 정의 -> 원형 설계 -> 원형 개발 -> 고객평가 -> 원형정제 -> (요구사항 수정) -> 엔지니어 제품 -> 제품개발 4. 나선형 모델위험 분석을 추가한 점진적인 개발 방법 계획 및 정의 -> 위험 분석 -> 개발 ..

[Computer]가상화

가상화는 컴퓨터에서 컴퓨터 리소스의 추상화을 일컫는 광범위한 용어이다. "물리적인 컴퓨터 리소스의 특징을 다른 시스템, 응용 프로그램, 최종 사용자들이 리소스와 상호 작용하는 방식으로부터 감추는 기술"로 정의할 수 있다. 이것은 다중 논리 리소스로서의 기능을 하는 것처럼 보이는 서버, 운영 체제, 응용 프로그램, 또는 저장 장치와 같은 하나의 단일 물리 리소스를 만들어 낸다. 아니면 단일 논리 리소스처럼 보이는 저장 장치나 서버와 같은 여러 개의 물리적 리소스를 만들어 낼 수 있다. 출처 : http://ko.wikipedia.org/wiki/가상화

[Guitar] 서른즈음에 - 김광석

김광석 - 서른즈음에 (카포 - 2플렛) Intro : Em Bm C G/B / Am7 D7 G Em(add9) Am /G D7또 하루 멀어져간다 내 뿜은 담배 연기처럼Em Bm C G/B Am7 /G D작기만한 내 기억속에 무얼 채워 살고있는지 G Em(add9) Am /G D7점점 더 멀어져간다 머물러있는 청춘인줄 알았는데Em Bm C G/B Am7 /G D비어가는 내 가슴속엔 더 아무것도 찾을수 없네. C D/C Bm Em Am D7 G G7계절은 다시 돌아오지만. 떠나간 내 사랑은 어디에C C#dim Bm Em Am D7내가 떠나보낸 것도 아닌데. 내가 떠나온 것도 아닌데. G Em(add9) Am /G D7조금씩 잊혀져간다. 머물러 있는 사랑인줄 알았는데G Em(add9) 또 하루 멀어져 간다...

Guitar 2013.04.27

[Computer]CISC와 RISC

CISC(Complex Instruction Set Computer) 모든 고급언어 문장들에 대해 각각 기계 명령어가 대응되도록 하는것 RISC(Reduced Instruction Set Computer) CISC의 많은 명령어중 주로 쓰이는것만을 추려서 하드웨어로 구현하는 것 이것이 핵심 개념인데요.. 구체적으로 장단점을 따져보겠습니다. CISC의 단점이자 RISC의 장점은 CISC의 경우 하드웨어의 회로가 복잡해져서 RISC에 비해 가격이 비싸지고 발열이 많고 전력소모가 많게 됩니다. CISC는 고급언어의 컴파일러의 번역과정을 간단하게 해줍니다. 즉, CISC 각각의 명령어는 머신코드는 길지만 전체 프로그램 사이즈는 RISC보다 작습니다. 따라서 코드를 수행할 때 RISC가 메모리를 더 많이 참조해야..

[C/C++]함수 포인터

1 함수포인터의 사용 1.1 함수포인터란 요즘 C 하는 개발자를 찾기가 힘들던가요 ? 여기 저기 C언어 개발자를 소개시켜 달라는데, 사람이 없어서 난리입니다. C언어 하면 떠오르는게 포인터죠. 데이터의 위치를 가리키는 데이터 타입라고 생각하면 간단한 개념이긴 한데, 개념이 단순할 뿐 잘 다루기는 쉽지 않습니다. 커널이 관리하는 메모리를 낮은 수준에서 직접 건드리기 때문입니다. 툭하면 다른 프로세스의 메모리 영역을 침범해서 프로그램이 뻗어 버리고, 좀 잘 돌아간다 싶으면 메모리를 해제하지 않아서 모든 메모리를 다 써버리는 문제가 발생합니다. 전혀 추상화 되 있지 않다는 얘기죠. 그러니 사람이 직접 추상화 해줘야 합니다. 예컨데 할당한 메모리를 초과하지 않게 하거나, 메모리 해제를 관리하는 코드를 추가하거나..

Programming/C, C++ 2013.04.18

[VI] VI/VIM 명령어 정리

VIM 명령어 정리 1. 저장 및 종료a커서 위치 다음칸부터 입력A커서 행의 맨 마지막부터 입력i커서의 위치에 입력I커서 행의 맨 앞에서 부터 입력o커서의 다음행에 입력O커서의 이전 행에 입력s커서 위치의 한글자를 지우고 입력cc커서위치의 한 행을 지우고 입력 3. 이동x 또는 dl커서 위치의 글자 삭제X 또는 dh커서 바로 앞의 글자 삭제dw현재 위치부터 스페이스 까지 삭제diw현재 위치에 있는 단어 삭제dd커서가 있는 행을 삭제[n]dd현재 커서 부터 아래 n번째 줄까지 삭제dj현재 커서와 아래 줄 삭제[n]dj현재 커서 부터 아래 n+1번째 줄까지 삭제dk현재 커서와 윗로 n+1번째 줄까지 삭제[n]dk현재 커서와 윗 줄 삭제D 또는 d$현재 커서가 있는 위치부터 행 끝까지 삭제d0 또는 d^현재 ..

Programming/Tool 2013.04.18

[C/C++]전처리기 Pre-Processor

컴파일을 시도할 경우 컴파일이 실행되기 전에 전처리기 명령부터 처리된다.전처리기는 # 로 시작하고 ; 를 붙이지 않으며 보이지 않게 소스 코드를 변경하며컴파일러에게 지시를 내릴 수도 있다. 각각은 여기서는 명령어라는 용어를 사용했지만 정확하게는 directive(지시자) 라고 하는 것이 나을 지 모르겠다. #include 가장 흔히 볼 수 있는 전처리기이다. 해당 파일을 찾아서 컴파일러가 그 파일이 마치 현재 컴파일하는 소스 코드에 포함되어 있는 것같이 해준다. 는 표준 헤더 파일일 경우에 설정되어 있는 폴더에서 헤더 파일을 찾으며 “” 는 그 외 폴더에서 찾을 수 있는데 최우선으로 현재 프로젝트 폴더에서 찾게 된다. #define define 문은 여러 경우에 사용될 수 있는데 일반적으로 문자열 대치에..

Programming/C, C++ 2013.04.18