Posts Tagged ‘program’

미니한자 1.1

Thursday, December 4th, 2008

 [프로그램 다운받기]

미니시리즈 3탄인 미니한자를 공개합니다.
본 프로그램 역시 프리웨어 입니다.

제목에서 나타나듯이 한자를 공부하는 프로그램입니다.
작은 윈도우 창 하나로 동작하는 프로그램으로 1급에서 ~ 6급까지의 한자를 랜덤으로 보여주는 프로그램 입니다.

프로그램을 실행하면 아주 작은 윈도우 창이 나타나고 한자를 표시하고 10초 후 그 뜻을 표시합니다(3초간) 해당 시간은 ini파일을 조정하시면 됩니다.
최대한 간단히 만들기 위해서 아무런 기능을 넣지 않았습니다. 단지 한자를 보고 읽기만 해도 생각보다 한자 공부가 될 수 있습니다.
요즘은 초등학교 2,3학년만 되도 5급 정도의 한자는 다 읽고 쓰고 하더군요.
아이 보다 한자를 모르는 불상사를 막기 위한 프로그램입니다.

1.0에서는 급수별 기초한자만 처리하였습니다.
4자성어와 한자단어, 한자 뜻 입력 및 시험 기능등을 추가할 예정입니다.

프로그램 실행방법은 압축 파일을 특정 폴더에 풀어서 minihanja.exe 를 실행하시면 됩니다.
파일 하나로 하기에 한자가 꽤 많고 표시 순서나 항후 관리등을 필요로 하여 DB파일이 추가 되었습니다.

[1.1]
- 멀티/싱글 모니터 사용시 위치 표시 오류 수정

[1.0]
- 레벨 조절 기능

스래드간 Sync 처리시 주의할점

Wednesday, April 23rd, 2008

멀티스래드 또는 멀티프로세서간 데이타 처리를 할때 자주 거론되는 기술이 Sync 이다.

본인 역시 가끔 실수를 하다 보니 한번은 꼭 정리할려고 했던거라 개념적인 내용을 정리해 볼려고 한다.

멀티스래드와 멀티프로세서의 차이는 하나의 실행파일이냐 아니냐 정도로 구분을 하면될것이고 이하 각 스래드로 통일하도록 하겠다.

Sync라는것의 필요성은 두개 이상의 스래드가 동시에 하나의 리소스를 차지하기 위한 충돌을 막기 위한 방법이다. 예를 든다면 하나의 파일을 동시에 쓰는 경우 또는 프린터를 하는경우 약간 다른 의미일수는 있지만 통신으로 데이타를 전송하는 경우 등이다.

자주 사용하는 명령은 Mutex, Semaphore, Event 일꺼다. 각 명령의 사용법은 인터넷에 너무나 많이 있으니 굳이 설명할 필요는 없고 각각의 명령의 특징을 살펴보고자 한다. 전문적인 기술적 설명이 아닌 의미적인 설명으로..

Mutex는 딱 한개만 사용해야 하는 경우에 적합하다. 파일쓰기와 같이 두개가 동시에 쓸경우에 문제가 발생하는 경우에 편리하다. 단점이라면 2개 이상의 스래드가 사용하게 되는 경우에 우선순위가 없다는 것이다. 시스템에서 어느정도 공평하게 한다고는 하나 실제 사용을 해보면 먼저 대기하는 스래드가 먼저 진입한다는 보장이 없다.

Semaphore는 접속 가능 숫자에 따라서 의미가 조금 다르게 쓰일 수 있다. 최대 1개 공유로 하면 Mutex와 매우 유사하게 동작한다. Mutex와 차이라면 대기 순서대로 진입순서가 보장된다는 점이다.

Mutex와 Semaphore가 다른 점이 하나 더 있는데 하나의 Mutex는 하나의 스래드에서 사용하는 경우에 아무 의미가 없으나 Semaphore 는 스래드와는 별개로 처리가 가능하다.

예를 든다면 Mutex는 두개의 스래드가 lock 을 처리 할때만 동작한다는 의미다. A 스래드가 lock을 하고 B 스래드가 unlock을 할 수 없다. Semaphore는 스래드와 무관하게 누구나 lock 과 unlock을 사용할 수 있다. Mutex 로 하나의 스래드에서 lock을 반복 호출해도 아무런 반응이 없지만 Semaphore 는 하나의 스래드에서 lock을 반복호출하면 누군가가 unlock을 해줄때까지 대기 상태가 된다.

Event는 Mutex와 매우 비슷하나 의미적으로 lock, unlock이라기 보다는 flag의 의미로 사용한다.

 

위의 내용에 대한 의미를 알고서 해당 함수를 본다면 좀더 효과적인 코딩을 할 수 있을 것이다.

프로그램이 점점 사라지고 있는 이유

Thursday, October 11th, 2007

인터넷과 윈도우가 발전하면서 프로그램들이 많이 사라지고 있다.

그렇다고 딱히 윈도우에 모든 프로그램이 있는것이 아니라면 결국 인터넷이 모든 프로그램을 다 해결하고 있다는 의미다.

하디만 외국 사이트들을 다니다 보면 참 많은 프로그램들이 아직도 활성화 되있는걸 보면 결국 한국 프로그램이나 프로그램어만 없어진다는 것 아닌지.

IT 강국에 벤쳐 열풍까지 불었지만 남아있는 프로그램이 참 없다.

프로그램을 안짜는 경향이나 어려운 코딩보다는 즉흥적으로 결과가 나오는 웹프로그램만 하다보니 이런 결과가 나온건지도

또 하나의 이유는 사용자가 없다는 것도 있다.
음식이 맛없다고 식당을 전전할 수 도 있지만 모든 식당이 맛없다고 외국계 햄버거만 먹을수는 없는 노릇이다.

음식이 맛없으면 맛없다고 문제가 있다면 있다고 해줘야 맛이 좋아지고 결국 모두가 좋아진다고 생각한다. – 비유가 적절한지는 모르겠지만

프로그램 쓰다가 문제가 생기면 안쓰면 된다는 생각보다는 해당 프로그램어에게 그 문제를 지적해 주는건 어떨지.

얼마전 안습이였던 사건이 떠오르기도 한다.
업체명까지 거론하기는 그렇고 누구나 다 아는 대기업에다가 제품에 포함된 s/w의 문제점에 대해서 상황과 발전방향까지 적어서 메일을 보낸적이 있다.

답변은 외부에 용역을 준 프로그램이고 직접 개발을 안해서 해결이 불가능 하다고 답변이 왔다. 하지만 그 프로그램은 해당 s/w 설치시 자동으로 설치되는 프로그램이였고 워드와 엑셀같은 프로그램에 임베디드까지 되는 기능이 있는 프로그램이였다.

다시한번 브랜드 이미지를 고려해서 소비자의 입장과 문제점까지 상세히 메일을 보냈지만 그 뒤로는 답변이 없었다.

물로 식당도 맛없다고 하면 뒤에서 욕하는 식당도 있을꺼다..ㅠㅠ

미니msn은 초기에 개인적인 생각만으로 만들고 사용하다가 주변의 권유와 호기심에 인터넷에 배포를 했다.

엄청난 댓글과 게시판의 글이 이 프로그램을 지금까지 업그레이드 하는 원동력이 된거 같다.

더이상 외국계 프로그램과 유틸리티에 만족하지 말고 우리 손으로 만든 프로그램으로 컴퓨터를 사용하는 날이 오기를 바란다.