전체보기 238

[Software Engineering] 버전 관리의 이유

버전 관리를 이용해야하는 까닭거의 대부분의 주요 소프트웨어 개발 프로젝트는 아직도 소프트웨어의 설계도라 할 수 있는 소스 코드 작성이 주요한 부분이 되며 이러한 소스 코드는 기업체 또는 연구소의 핵심 역량이 응축된 핵심 자산이다. 따라서 어떠 형태로든 소스 코드를 백업하여 분실의 위험에서 보호하고 개정 전후 내용을 파악하여 추후 발생할지도 모를 오류 수정에 대비하는 절차가 필요하다. 버전 관리 소프트웨어는 조직의 핵심 자산인 소스 코드의 개정과 백업 절차를 자동화하여 오류 수정 과정을 도와줄 수 있는 시스템으로 이미 다수의 국제 협력 개방 소프트웨어 개발 실무에서도 널리 사용되고 있다. 다음은 버전 관리 시스템을 사용하는 원인을 정리한 것이다.무언가 잘못되었을 때 복구를 돕기 위하여프로젝트 진행 중 과거..

[Microsoft]Windows8 출시 : PC와 태블릿

10월 26일 윈도우8이 출시되었다. 동시에 윈도우8이 탑재된 PC와 태블릿도 출시되었다. 태블릿은 킨들파이어, 넥서스7, 갤럭시탭, 아이패드 등 수많은 기기들이 치열하게 다투는 분야이다. 예전에 HP에서 터치패드라는 태블릿을 내놓았지만 고배를 마시고 태블릿 사업을 정리하게끔 만들었다. 이처럼 치열한 태블릿 시장을 공략하고 '터치'라는 인터페이스의 효율을 극대화 시킨 윈도우8은 태블릿뿐 만아니라 PC에서도 동작하도록 개발되었다. 윈도우8의 가장 눈에 띄는 점은 메트로UI다. Live Tile들이 깔려있는 화면은 보면 윈도우8의 상징적인 화면이 되었다. 윈도우8의 로고에서도 Live Tile의 모습을 볼 수 있다. 이는 터치라는 인터페이스를 윈도우에 적용시키기위해 내놓은 새로운 UI이다. 기존의 윈도우와 ..

Engineering/Issue 2012.10.26

[Java]자바 스윙에서 JFrame.EXIT_ON_CLOSE

자바에서 스윙으로 GUI를 구현하면 JFrame을 상속받아서 메인프레임을 구현하는 방법이 가장 일반적으로 사용되는 방법이다. 하지만 스윙을 사용하는 초보자들이 가장 많이 하는 실수가 EXIT_ONCLOSE를 지정 안 하는 것이다. 이를 지정하지 않으면 메인프레임을 닫았는데도 JFrame객체는 JVM에서 계속 살아서 실행된다. 즉 사용자에게 보여지는 View는 종료되었지만 프로그램은 계속 실행중인 상태가 된다. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 하지만 위와 같은 처리를 해주면 메인프레임을 닫을 때, 프로그램 또한 안정적으로 종료된다.

Programming/Java 2012.10.25

[C/C++]연결 큐(Linked Queue)

큐는 자료구조에서 없어서는 안 된다. 큐는 FIFO(First In First Out), 선입선출 구조를 가진 자료구조로 여러군데서 이용이 가능하다. 기수 정렬에서도 사용되고 프로세스 스케줄링과 같은 곳에서도 사용이 된다. 그리고 기타 여러 선입선출 방식을 취할 때 사용된다. 이 코드는 링크를 이용한 큐이다. 1. LinkedQueue.h #include //큐 노드 typedef struct QueueNode{ int item; struct QueueNode *link; } QueueNode; //큐 타입 typedef struct{ QueueNode *front, *rear; } QueueType; //에러 처리 함수 void error(char *message) { fprintf(stderr, "%..

Programming/C, C++ 2012.10.14

[C/C++]최대 히프, 최소 히프

알고리즘을 배우면서 히프라는 것을 많이 보고 쓰게된다. 정렬이라던지 허프만이라던지 기타등등...그래서 여기 최대히프와 최소히프를 올린다. 나도 참고하고 쓰실 분들도 참고하기 바란다. 1. HeapDefine.h 최대 사이즈가 100으로 잡혀있다. 사이즈를 늘리고 싶으면 Define 헤더에서 늘려서 쓰도록하자. #define MAX_ELEMENT 100 //히프 만들 때, 사용하는 히프노드 typedef struct { int heap[MAX_ELEMENT]; int heap_size; } HeapType; 2. MaximamHeap.h #include "HeapDefine.h" //초기화 함수 void initMaxHeap(HeapType *h) { h->heap_size = 0; } //삽입 함수 vo..

Programming/C, C++ 2012.10.14