반응형

프로그램 8

[미디 분석 프로그램 만들기] 3. 미디 파일 열기 및 청크로 분할하기

[미디 분석 프로그램 만들기] 3. 미디 파일 열기 및 청크로 분할하기 안녕하세요. 언제나 휴일, 언휴예요. 이전 글에서 미디 분석 프로그램 프로젝트를 생성하고 자식 컨트롤을 배치했어요.[미디 분석 프로그램 만들기] 2. 프로젝트 생성 및 Layout[미디 분석 프로그램 만들기] 1. 구현할 프로그램 소개 이번에는 미디 파일을 열고 청크로 분할하는 작업을 하기로 할게요. 이미 앞에서 소개한 것처럼 미디 파일은 청크들로 이루어져 있습니다. [미디 파일] 미디 파일 구조 분석 및 프로그래밍 1 - 청크 목록 [그림] 청크 구조 먼저 파일 메뉴 아이템에 클릭 이벤트 핸들러를 등록하세요. 이제 파일 메뉴 클릭 이벤트 핸들러를 작성합시다. private void fileMenuItem_Click(object se..

[미디 파일] 미디 파일 구조 분석 및 프로그래밍 6 - Track 청크 4, 미디 이벤트 분할

[미디 파일] 미디 파일 구조 분석 및 프로그래밍 6 - Track 청크 4, 미디 이벤트 분할 안녕하세요. 언제나 휴일, 언휴예요. 앞에서 우리는 미디 파일은 청크들의 집합이라는 것과 청크에는 Header 청크와 Track 청크가 있다는 것을 확인하였습니다. 그리고 Track 청크에는 이벤트 정보들이 있고 이벤트 정보에는 메타 이벤트, 미디 이벤트, 시스템 이벤트가 있다는 것도 소개하였습니다. 바로 이전 글에서는 메타 이벤트에서의 정보에 관한 사항을 언급했었죠.[미디 파일] 미디 파일 구조 분석 및 프로그래밍 1 - 청크 목록[미디 파일] 미디 파일 구조 분석 및 프로그래밍 2 - Head 청크, Mthd[미디 파일] 미디 파일 구조 분석 및 프로그래밍 3 - Track 청크 1, delta time ..

[미디 파일] 미디 파일 구조 분석 및 프로그래밍 4 - Track 청크 2, Meta Event

[미디 파일] 미디 파일 구조 분석 및 프로그래밍 4 - Track 청크 2, Meta Event 안녕하세요. 언제나 휴일, 언휴예요. 이전 게시글에서 미디 파일에서 Track 청크의 기본 구조와 delta time을 구하는 것에 관하여 다루었어요. [미디 파일] 미디 파일 구조 분석 및 프로그래밍 1 - 청크 목록 [미디 파일] 미디 파일 구조 분석 및 프로그래밍 2 - Head 청크, Mthd [미디 파일] 미디 파일 구조 분석 및 프로그래밍 3 - Track 청크 1 이번에는 Track 청크의 Meta 이벤트에 관하여 알아보고 분석하는 소스 코드를 소개할게요. Track 청크의 이벤트는 delta time과 이벤트 정보로 이루어져 있다는 것을 이전 게시글에서 얘기했어요. 또한 이벤트 정보는 Meta..

[C++] 68. 최종 실습 - 개발 공정 및 시나리오

[C++] 68. 최종 실습 - 개발 공정 및 시나리오 전산 기술은 하루가 다르게 발전하고 새로운 기술이 나오고 있습니다. 그리고 프로젝트의 규모가 점점 늘어나고 있으며 다른 산업 분야와 접목하는 형태로 발전하고 있습니다. 프로그램의 규모가 커지고 많은 인력이 필요한 형태로 변하면서 효과적인 개발 공정과 많은 이해 관계자에게 프로그램의 구조를 설명하고 개발자 사이에 의사 소통할 수 있는 방법들이 생기고 있습니다. 여기에서는 여러 가지 개발 방법론 중에 많은 이들이 사용하는 CBD 개발 방법론을 적용해서 마지막 실습을 진행할게요. 일반적인 CBD 개발 방법론에서는 요구 분석 및 정의 단계, 아키텍쳐 단계, 설계 단계, 구현 단계, 배포 단계로 나누고 있습니다. 이 중에 아키텍쳐 단계는 프로그램을 컴포넌트 ..

[운영체제] 프로그램

프로그램 이번에는 정보처리기사 필기 과목인 운영체제의 프로그램에 관해 알아보아요. 프로그램 컴퓨터가 수행할 수 있는 논리의 집합 프로그래밍 언어로 작성하며 컴파일러와 인터프리터, 어셈블러로 번역합니다. 저급언어 기계어와 어셈블리어로 구분합니다. 기계어는 컴퓨터가 이해할 수 있는 언어이며 어셈블리어는 기계어와 1:1 대응하여 니모닉(Mnemonic)언어라고 부릅니다. 고급언어 인간이 사용하는 자연어와 비슷한 형태 및 구조를 갖습니다. 컴파일러나 인터프리터로 번역합니다. 컴파일러 고급 언어로 작성한 원시 프로그램을 소스 코드 단위로 목적 프로그램으로 번역 한 번 번역하면 다시 번역할 필요가 없어서 실행 속도가 빠릅니다. *컴파일러가 번역한 목적 프로그램은 링커에 의해 실행 프로그램을 생성합니다. 인터프리터 ..

54. 프로세스 메모리 구조

이번에는 간단하게 프로그램 개발자들이 알아야하는 프로세스(실행 중인 프로그램) 메모리 구조를 알아볼게요. 프로세스의 주요 메모리는 크게 Text, Data, BSS, Stack, Heap으로 구분할 수 있어요. 프로그램의 코드는 Text 영역에 잡히고 전역 변수는 Data 영역에 잡히죠. 이 두 개의 영역의 메모리 크기는 컴파일 시점에 결정해서 프로세스 동작 중에는 크기가 변하지 않아요. 그런데 함수 호출에 의한 지역 변수나 호출 처리에 필요한 메모리는 런 타임(프로세스 동작 시)에 잡히죠. 피 호출 함수가 끝나면 호출한 함수로 복귀하고 자신의 메모리를 해제하기 위해 Stack에 잡혀요. 이 외에 앞으로 배울 동적 메모리 할당 함수 호출하면 Heap 메모리에 잡히죠. Text 메모리에는 프로그램에서 수행..

53. 프로그램 생명 주기

이 부분은 프로그램 개발자들에게 공통적으로 필요한 기반 지식이예요. 직접적으로 프로그래밍 작성 능력과 관련있는 내용은 아니예요. 하지만 전산 엔지니어로써 기본적으로 알면 여러 분야에서 도움이 되는 내용이예요. 이 책에서는 깊은 내용까지 들어가지 않고 간단히 소개하기로 할게요. 프로그램 생명 주기 실행 상태의 프로그램을 프로세스라 불러요. 따라서 프로그램 생명 주기보다는 프로세스 생명 주기라는 말이 더 적당할거예요. 편의상 프로그램 생명 주기라 할게요. 프로그램은 수행해야 할 코드를 메모리에 로딩(loading)하는 것에서 출발하죠. 로딩은 하드 디스크나 CD 등의 저장 장치에 있는 데이터를 프로그램의 메모리에 옮기는 작업을 말해요. 또한 프로그램전체 영역에서 사용할 수 있는 전역 변수를 위한 메모리를 할..

2. 컴퓨터 프로그램

2. 컴퓨터 프로그램 컴퓨터 프로그램은 소프트웨어(Software)라고 부르죠. 그리고 키보드나 모니터처럼 소프트웨어가 동작하기 위한 물체를 하드웨어라고 불러요. 컴퓨터 하드웨어에는 모니터나 키보드, 마우스, 메모리 장치와 실제 연산을 수행하는 CPU등이 있어요. 실제 컴퓨터 하드웨어는 전기 흐름에 의해 동작하죠. 컴퓨터 프로그램은 컴퓨터 내부 전기의 흐름에 따라 해야 할 일을 정한 논리 집합이예요. 전산(컴퓨터와 프로그램을 다루는 분야)에서는 전기가 흐르는 정도에 따라서 0과 1로 구분하고 있어요. 이러한 이유로 컴퓨터 프로그램은 0과 1로 구성한 논리 집합이며 이진 코드라고 부르고 있죠. 또한 '컴퓨터를 동작하게 하는 코드'라는 의미로 기계어 코드라고도 불러요. 컴퓨터 프로그램에는 메모장, 그림판, ..

반응형