일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 렌더링 파이프라인
- 영속성
- 운영체제
- 디자인패턴
- 그리디알고리즘
- 병행성 관련 오류
- 병행성
- 락
- DirectX12
- I/O장치
- 백준
- 쓰레드
- 자료구조
- DirectX 12
- 다이나믹프로그래밍
- 알고리즘
- Direct12
- 다이나믹 프로그래밍
- 파일시스템 구현
- 프로그래머스
- 멀티쓰레드
- 그리디 알고리즘
- 스케줄링
- codility
- 멀티프로세서
- 컨디션 변수
- directx
- 타입 객체
- OS
- 동적계획법
- Today
- Total
목록분류 전체보기 (500)
기록공간

모듈(Module)의 개요 모듈은 모듈화를 통해 분리된 시스템의 각 기능들로, 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용된다. 모듈은 단독으로 컴파일이 가능하며, 재사용 할 수 있음 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미하는 것으로, 모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용을 배제함으로써 이루어짐 독립성이 높은 모듈일수록 모듈을 수정하더라도 다른 모듈들에게는 거의 영향을 미치지 않으며, 오류가 발생해도 쉽게 발견하고 해결할 수 있다. 결합도(Coupling) 결합도는 모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계를 의미한다. 다양한 결합으로 모듈을 구성할 수 있으나 결합도가 약할수록 ..
프로그램에서 발생하는 오류 프로그램에서 발생할 수 있는 오류는 크게 두 가지, 컴파일 오류와 런타임 오류로 나뉜다. 컴파일 오류 잘못된 문법을 사용하거나 변수 등을 정의하지 않은 상태에서 사용함으로 인해 컴파일 단계에서 발생하는 문법적인 오류 런타임 오류 프로그램을 실행하는 과정에서 발생되는 런타임 오류이다. 더욱 세분화 하면 세가지로 나눌 수 있다. 논리적 오류 : 개발자가 문제 분석을 잘못하거나 실수에 의해 엉뚱한 결과를 가져오게 되는 오류 시스템 오류 : 시스템 이상에서 발생되는 오류 예외사항(Exception) : 프로그램 실행 중 발생되는 비정상적인 상황 (ex. 어떤 수를 0으로 나눔, 배열범위를 벗어난 접근, 존재하지 않는 파일에 접근) 이런 다양한 오류 중에서 여기서 살펴볼 것은 예외사항에..
Calendar 클래스 java.util.Calendar 클래스는 날짜와 시간을 객체 모델링화 한 클래스로 연, 월, 일, 요일, 시, 분, 초까지의 시간 및 날짜와 관련된 정보를 제공한다. Calendar 클래스는 추상 클래스이기 때문에 객체를 생성할 수 없으며 실제적인 메서드 구현을 Calendar 클래스의 서브 클래스인 GregorianCalendar 클래스에 정의되어 있다. Calendar cal = new Calendar(); //-> 이와 같은 구문을 통해 인스턴스 생성이 불가. Calendar 클래스를 생성할 수 있는 코드는 다음과 같다. // 1 Calendar cal = Calendar.getInstance(); // 스태틱 클래스 메소드를 이용한 객체 생성 // 2 Calendar ca..
객체지향의 개요 객체지향은 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있는 기법을 말한다. 객체지향 기법은 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용되고 있다. 객체지향은 소프트웨어의 재사용 및 확장이 용이하여 고품질 소프트웨어를 빠르게 개발할 수 있고 유지보수가 쉽다. 객체지향은 복잡한 구조를 단계적 계층적으로 표현하고, 멀티미디어 데이터 및 병렬 처리를 지원한다. 객체지향은 현실 세계를 모형화하므로 사용자와 개발자가 쉽게 이해할 수 있다. 객체(Object) 객체는 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화) 하나의 소프트웨어 모듈이다. 객체의 특..

아키텍처 패턴의 개요 아키텍처 패턴은 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미한다. 아키텍처 패턴은 소프트웨어 시스템의 구조를 구성하기 위한 기본적인 윤곽을 제시한다. 아키텍처 패턴에는 서브시스템들과 그 역할이 정의되어 있으며, 서브시스템 사이의 관계와 여러 규칙 지침 등이 포함되어 있다. 아키텍처 패턴을 아키텍처 스타일 또는 표준 아키텍처라고도 한다. 아키텍처 패턴의 장점 시행착오를 줄여 개발 시간 단축, 고품질의 소프트웨어 생산 검증된 구조로 개발하기 때문에 안정적인 개발 가능 이해관계자들이 공통된 아키텍처를 공유할 수 있어 의사소통 수월 시스템의 구조 이해가 쉬워 개발에 참여하지 않은 사람도 손쉽게 유지보수 수행 가능 시스템의 특성을 개발 전에 예측하는 것이 가능 ..
소프트웨어 아키텍처의 설계 소프트웨어 아키텍처는 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체이다. 소프트웨어 개발 시 적용되는 원칙과 지침이며, 이해 관계자들의 의사소통 도구로 활용된다. 소프트웨어 아키텍처의 설계는 기본적으로 좋은 품질을 유지하면서 사용자의 비기능적 요구사항으로 나타난 제약을 반영하고, 기능적 요구사항을 구현하는 방법을 찾는 해결 과정이다. 애플리케이션의 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정한다. 모듈화(Modularity) 모듈화란 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈(특정 기능을 처리할 수 있는 소스 코드..
개요 컴퓨터는 모든 정보를 1과 0으로 인식한다. 어떠한 정보를 컴퓨터가 알 수 있게 변환해주는 작업을 인코딩이라고 한다. 반대로 1과 0으로 이뤄진 정보를 우리가 원하는 정보로 보기 위해서는 디코딩이라는 작업이 필요하다. 이러한 인코딩과 디코딩을 하기 위해서는 서로간의 약속이 필요하다. 그렇지 않으면 정보를 주고받는 과정에서 원하는 결과를 얻을 수 없기 때문이다. 문자 정보를 주고 받는 과정에서 이러한 약속을 문자 집합이라고 한다. 문자 집합을 서로 맞춰주지 않으면 정보를 주고받는 과정에 장애가 생긴다. 이러한 문자 집합에는 어떤 종류가 있는지 살펴보자. 유니코드(Unicode) 유니코드는 국제 표준으로 제정된 2바이트계의 만국 공통 국제 문자부호체계(Universal Code System. UCS)이..
HCI(Human Computer Interaction or Interface) HCI는 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문으로, 최종 목표는 시스템을 사용하는데 있어 최적의 사용자 경험(UX)을 만드는 것이다. 원래 HCI는 사람과 컴퓨터의 상호작용을 연구해서 사람이 컴퓨터를 편리하게 사용하도록 만드는 학문이었으나, 대상이 컴퓨터뿐만 아니라 서비스, 디지털 콘텐츠 등으로, 사람도 개인뿐만 아니라 사회나 집단으로 확대되었다. HCI는 어떤 제품이 좋은 제품인지, 어떻게 하면 좋은 제품을 만들 수 있는지 등을 연구한다. UX(User Experience) UX는 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험을 말한다. 단순히 기능이나..