전체 글 115

[정보처리기사]출제경향

1. 소프트웨어 설계 소프트웨어 종류 및 개발 방법론 - 50% 요구사항 확인 20퍼센트 - 20% 화면설계 - 4 % 애플리케이션 설계 - 프로그램 설계 26 % 인터페이스 설계 - 마우스 키보드 0% 2. 소프트웨어 개발 데이터 입출력 구현 28 % 통합구현 2% 제품소프트웨어 패키징 12% 애플리케이션 테스트 관리 44% 인터페이스 구현 14% 3. 데이터베이스 구축(기존문제 대부분) 데이터베이스 개요 15% 논리데이터베이스 29% SQL 42% - 명령어 (테이블에서 어떤걸 찾아주세요) 물리데이터베이스 설계 14% 데이터 전환 0% 4. 프로그래밍 언어 활용 프로그래밍 언어 기초 2% 프로그래밍언어 활용 25% 객체지향 기술 41% 프로그램 개발 환경 구축 2% 명령어와 주소 지정 0 % 운영체제..

정보처리기사 2022.01.10

[정보처리기사->소프트웨어 설계]소프트웨어 생명주기

소프트웨어 개발 방법론 : 소프트웨어 개발과 유지보수 등에 필요한 여러가지 작업들의 수행방법과 이러한 작업들을 좀더 효율적으로 수행하기 위해 필요한 각종 기법 및 도구들을 체계적으로 정리하여 표준화한 것 소프트웨어 생명 주기 : 소프트웨어 개발 방법론의 바탕, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계 별로 나눈것이다. 소프트웨어 공학(SE) : 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문, 여러가지 방법론과 도구, 관리 기법들을 통하여 소프트웨어 품질과 생산성을 향산시킬 목적 폭포수 모형(WaterFall Model) : 소프트웨어 개발도 이전단계로 되돌아 갈수 없는 전제 하에 각 단계를 확실히 매듭짓고 다음단계로 넘어감 / 두개 이상의 과정이 병행되어 지지않는..

정보처리기사 2022.01.10

[DirectX]고해상도 타이머

타이머를 사용하는 이유 : 컴퓨터 성능에 따라 일정 시간당 호출되는 Update() 의 빈도가 다르기 때문 해상도란? 얼마나 많은프레임을 쪼개서 표현할 수 있는가 GetTickCount는 1/1000까지 표현이 가능하다. QeuryPerformanceTimer의 경우에는 하드웨어마다 주파수가 다르므로 하드웨어마다 해상도도 다르다. GetTickCount() Kernael.dll 에 존재하며 시스템(운영체제)가 시작된 이후로부터 카운트 된다. 단위는 millisecond 단위로 나타낸다. 시간은 DWOD형으로 저장된다. 49.7일만 표현이 가능하다. 넘어가면 0으로 초기화 된다. QeuryPerformanceTimer 1. LARGE_INTEGER 구조체를 사용 64비트 정수형을 담는다. 컴파일러가 64비..

DirectX 2022.01.06

프로젝트 속성 관련 정리

프로젝트 속성-> VC++디렉터리 ->포함디렉터리 (헤더파일 경로 설정) 프로젝트 속성-> VC++디렉터리 ->라이브러리 디렉터리 (소스파일 경로 설정) ->이 방법은 새로운 프로젝트를 만들 경우에는 기존에 적용한 경로들이 적용 되지 않는다. 보기-> 속성관리자 -> 속성관리자 탭에서 실행모드에 따라 우클릭 하여 속성창 ->앞에서와 같이 디렉터리를 지정 ->모든 프로젝트에서 항상 쓰이는 필수적인 라이브러리는 이렇게 설정한다. 프로젝트 속성-> C/C++ ->추가 포함디렉터리 (헤더파일 경로 설정) 프로젝트 속성-> 링커 -> 일반 ->추가 라이브러리 디렉터리 (소스파일 경로 설정) ->이 방법은 맨 처음에 설명한 방법이랑 결과는 같으나 복사하였을때 경로도 그대로 따라간다 컴파일러가 설치된 폴더와 같은 경..

기타 2022.01.06

[MFC] AfxGetApp() 와 AfxGetMainWnd()

윈도우즈 프로그램의 기본적인 실행 구조는 다음과 같다. 실행파일을 실행 시키면 하나의 프로세스가 생성된다. 프로세스는 단독으로 수행될 수 없고 스레드에 의해 수행된다. 스레드는 프로세스의 메모리 공간을 수행할 책임을 갖게 된다. 프로세스는 하나 이상의 스레드를 갖으면 최초의 스레드를 Primary Thread 라고 부른다. MFC로 만든 응용 프로그램 역시 윈도우즈 프로그램이므로 하나 이상의 스레드를 갖는다. Primary Thread 역할을 하는 것으 CWinApp 클래스의 파생클래스인 CXXApp 클래스가 스레드를 생성한다. CToolApp 같은 최종 보여지는 클래스를 말한다. 자세히 말하면 MFC 응용프로그램의 유일한 전역 객체인 CXXApp의 객체가 진입점 함수(WinMain, wWinMain) ..

MFC 2022.01.05

[MFC] CString 클래스 멤버함수 요약

GetLength() : 문자열의 길이 반환 isdigit() : 숫자 일경우 0을 반환 문자일경우 0이 아닌 수를 반환 Delete() : 문자나 문자열을 삭제 / 삭제하려는 위치와 삭제하고자 하는 길이를 지정할 수 있다. 더보기 int Delete( int nIndex, int nCount = 1 ); nIndex : 문자가 삭제될 시작 위치. 첫 문자의 위치는 0 nCount : 삭제될 문자의 수 반환값 : 삭제된 후의 문자열 길이 0부터 시작하니까 5개를 삭제하면 인덱스 4까지 삭제가 된다.! 그 앞 자리 까지 삭제가 됨./

MFC 2022.01.05

[C++]String 클래스 멤버함수 간단 요약

더보기 string str1 = "MyName"; string str2 = "SuperRunner"; at(index) : 해당 위치 문자를 반환 operator[index] : 배열처럼 접근, 해당 문자를 반환, 1번 보다 빠르다. front() : 맨 앞 인자 반환 str1 .front() -> M을 반환 back() : 맨 뒤 인자 반환 str1 .back() -> M을 반환 size() : string 사이즈를 반환 str1.size() -> 6 length() : string 길이를 반환 5 번과 같다. capacity() : 할당된 메모리 크기를 반환. vector의 capacity와 마찬가지로 메모리할당을 여유롭게 한다. resize() 더보기 함수 원형 : void resize (size_..

프로그래밍/C++ 2022.01.05

[디자인패턴] 싱글톤

좋은 구조란? 뭔가를 고쳐야 할때 그럴줄 알았다는 듯이 코드가 준비되어있는걸 의미한다. 프로그래밍에서 가장 오래 걸리는 부분은 기존 코드를 이해하는 부분이다. 그렇기 때문에 작업에 들어가기 전에 알아야 할 지식의 양을 줄이는 것이 소프트웨어 구조의 핵심 목표이다. 커플링이 적은 코드일 수록 변경하였을때 나머지 게임코드에 미치는 영향이 적다. 소프트웨어 구조와 추상화가 게임의 성능을 저하시킨다는 비판도 있다. 코드르르 유연하게 만드는 많은 패턴이 가상함수, 인터페이스, 포인터, 메시지 같은 메커니즘에 의존하는데 다들 어느정도 런타임 비용을 요구한다. 성능은 가정에 기반하고 최적화기번ㄴ은 구체적인 제한을 선호한다. 적이 256개 이하일거라고 확신하면 ID를 1바이트로 압축할 수 있다. 한 자료형의 한 메서드..

[DirectX]색상의 개념

컴퓨터 모니터의 색상은 빨간색 + 녹색 + 파란색 이다. 여기에 빛의 세기에 따른 색상 변화까지 섰어주면 사실적인 이미지를 표시하는데 필요한 모든 색상을 묘사 할 수있다. 빛의 세기를 나타낼때는 0부터 1까지 정규화된 값을 사용한다. 즉, 색상은 벡터로 표현될 수 있다. (0.25, 0.67, 1.0 )이라고 하면 25퍼센트 세기의 적색광과 67퍼센트 세기의 녹색광, 100퍼센트 세기의 청색광의 혼합을 뜻한다. 색상연산 벡터의 덧셈 (색상의 덧셈) 벡터의 뺄셈 스칼라곱 내적은 의미없는 연산이다. 색상벡터만의 연산이 있다. 변조라고 한다. 변조 : 성분별 곱셈이다. 주로 조명 공식에 쓰인다. ->입사광선 색상에 표면이 입사광선의 적생광을 50퍼센트 녹색광을 75퍼센트 청색광을 25퍼센트 반사하고 나머지를 ..

DirectX 2022.01.03