Home

Memento

Memento Pattern의 취지와 목적은? Memento는 구현 세부 사항을 밝히지 않고 객체의 이전 상태를 저장하고 복원 할 수있는 행동 설계 패턴이다. 즉, private한 field들의 상태를 바꾸지 않고(public이나, protected 등..), 객체들에게 접근 용이하도록 만들기 위한 패턴이다. 다음의 예제를 보며 이해하도록 한다. Probl

BOJ::9207{페그솔테리어};

Infomation o: 핀이 꽂혀있는 칸 #: 구멍이 없는 칸 .: 빈 칸핀의 개수는 최대 8개이며(작은 수로 백트래킹이 가능해 보임),핀은 수평이나 수직 방향으로 인접한 핀을 뛰어 넘어서 그 핀의 다음 칸으로 이동하는 것만 허용된다.인접한 핀의 다음 칸은 비어있어야 하며, 인접한 핀은 제거된다. Idea map의 정보와, 이동 횟수(depth)를 pa

std::vector에서 size, capacity의 차이점은 무엇일까?

std::vector, std::string에서는 길이 리턴이 가능하다. string에서는 length, size모두 사용 가능하며, vector에서는 size를 사용하면 되겠다. 그런데 갑자기 인텔리센스(자도완성)에서 보이는 capacity… size와 차이가 무엇일까? size와 capacity 위 그림과 같이, capacity는 vector의 t

Hello World using Hexo!

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

BOJ::17825{주사위윷놀이};

Infomation 처음에는 시작 칸에 말 4개가 있다. 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 파란색 화살표를 타야 하고, 이동하는 도중이거나 파란색이 아닌 칸에서 이동을 시작하면 빨간색 화살표를 타야 한다. 말이 도착 칸으로 이동하면 주사위에 나온 수와 관계 없이 이동을 마친다. 게임은 10개의 턴

Linux Kernel에 대하여...(수정중)

커널은 부팅 시에 시작되어 컴퓨터 종료시 커널이 끝난다. 장치 드라이버는 하드웨어와 밀접하게 연관되고 해당 장치를 제어하는 프로그램이다. 커널 공간에서 이루어지는 작업으로는 입출력, 네트워크 등의 하드웨어 제어, 메모리와 같은 컴퓨터의 리소스 관리, 응용 프로그램의 실행 제어 등이 있다. 커널과는 달리 응용 프로그램은 사용자 요청에 의해 저장장치로부터 메모

RTOS와 GTOS <스케쥴링> 편

RTOS(Real Time Operating System)과, 일반적으로 OS라고 불리우는 GPOS(General Purpose Operating System)에 대해서 알아봅니다. RTOS GPOS 우선순위 기반 스케쥴링 우선순위 보다는 스레드와 프로세스 모두 동일한 순서로 수행. 즉, 높은 스루풋을 기준으로 처리 프로그램이 실행되는 시간이 중요한 시스템에 적합 동시에 많은 응용 프로그램을 실행하기에 좋음. 우선순위가 높은 하나의 작업을 해야하는 프로세스가 있다고 하더라도, 우선순위가 낮은 여러개의 작업을 먼저 수행할 수 있음(preemptive/non-preemptive) 항상 우선순위를 기반으로 하고(preemptive), 우선순위가 높은 프로세스를 실행할 때 동안 낮은 우선순위를 가진 프로세스는 실행되지 않음 OS는 스케쥴링된 스레드가 많을수록 latency가 생길 수 있는데, RTOS의 경우 프로세스와 스레드가 모두 지정된 시간 제한 내에 실행되어야 하기 때문에 latency가 없음