분류 전체보기
-
Mac, Skitch 스크린샷(screenshot) 프로그램IT/Tools 2012. 2. 11.
Mac에서는 스크린샷 버튼이 윈도우처럼 따로 존재하지 않아서 전체 스샷(스샷이란 스크린샷의 약자), 부분스샷의 단축키를 확인해야 가능하다.. 하지만 이러한 스크린샷에 대해서 편리한 사용성과 사진 편집과 관리까지 해주는 프로그램이 있다. AppStore에서 Skitch를 검색하면 바로 찾을 수 있으며, 무료다. Skitich는 아래와 같은 기능을 지원한다. 편리한 전체 또는 부분 스크린샷 가능 사파리 웹브라우져에서의 스크린 샷 기능 지원 히스토리 기능으로 그동안 스크린샷 또는 편집된 사진을 저장 관리 사이트에서 제공되는 하나의 사진인데, 간단한 인터페이스와 멋스러운 결과물을 확인할 수 있다. 편리성은 물론이고 이전에 작업했던 사진들이 히스토리내에 다 저장되기 때문에 블로깅을 하는 사람들은 예전 사진을 다시..
-
global variable multiple definition of ...IT/Linux C 2012. 2. 6.
코드 수정 작업을 하다가 제목과 같은 global variable multiple definition of ... 컴파일 오류를 만날 때가 있다. 말 그대로 전역변수가 다중으로 선언되었다라는 의미인데, 분명 코드 작성자는 의도적으로 저렇게 작성하지 않았을텐데 저 문장을 만나게 되면 골치가 아파진다. 모듈화된 코드를 만들고 있다라고 가정했을 때, 다음과 같은 순서로 진행할 수 있다. 1) 헤더파일에 자료구조와 함수들의 선언부를 작성하였다. 2) 헤더파일에 자료구조의 전역 변수를 선언하였다. 3) 코드파일에 함수 구현부를 작성하였다. 위와 같이 진행할 경우, 결과적으로 2번 때문에 global variable multiple definition of ... 컴파일 오류를 만날 가능성이 엄청나게 올라간다. 이..
-
pthread, timer, regex,... posix?? 알고 사용하자!IT/Linux Kernel 2012. 1. 23.
posix란 무엇일까?? thread를 만들고 컨트롤 할 수 있게 해주는 API인 pthread도 posix thread의 약자이다. 그 외에도 주기적인 작업을 위한 timer 함수 그리고 정규식을 사용할 수 있는 regex등 man 명령어를 통하여 해당 함수들의 설명을 읽어보면 항상 posix라는 단어를 보게 된다. posix란?? Portable Operating System Interface 이식 가능한 운영체제의 인터페이스(특정 운영체제에 종속적이지 않은 이라고 해석할 수 있다)를 의미한다. Posix는 IEEE에서 표준으로 명시되어 있으며, Unix와 like-Unix, 그외 기타 운영체제에서 개발에 필요한 API와 쉘 유틸리티 명령어, 기술등을 정의한다. 표준으로 명시되어 있다보니 POSIX를..
-
웹 브라우져에서 직접 한영,영한 사전을 사용하자.IT/Tools 2012. 1. 22.
웹 브라우져에서 영어를 직면하게 되는 경우는 매우 흔하게 이루어지고 있다. 아닌 경우도 있겠지만, 그럴 때 마다 사전 프로그램을 열어서 확인하면 되지만 그 순간 집중력도 떨어지고 불편함을 느끼게 된다. 그러던 참에, 오늘 chrome 웹 스토어에 "한영" 이라는 키워드로 찾아보니 네이버 영어사전이라는 chrome 확장 프로그램을 찾았다. 상세내역을 읽어보니 이미 오픈소스를 통해서 관리되고 있으며, 사용해보니 반응속도도 빠르고 사용방법이 간단하여 아니 추천할 수 없다. 원하는 단어를 마우스로 더블 클릭하면 1초 안에(엄밀히 말해 거의 마우스 클릭이 끝나자 마자) 우측 상단에 단어의 의미가 나온다. 영한 뿐만 아니라 한영도 가능하다. 주의사항!! 설치하자 마자 동작 안하는 경우가 있다. 웹 브라우져를 닫았다..
-
프로세스가 fork 되면IT/Linux C 2012. 1. 22.
프로세스 fork가 일어나게 되면, 프로세스가 가지고 있는 명령어 셋과 fd(file descriptor)들은 그대로 함께 복제 되어 진다.\ 또한, 부모 프로세스가 가지고 있던 memory lock, mutex, timer등은 복제되지 않는다. 이러한 이야기를 하게 되는 이유는 최근 서버 클라이언트의 통신 구조에서 클라이언트가 재 시작되는데, 서버에서는 해당 클라이언트가 연결 종료됨을 인지 못하는 문제점에 만난적이 있다. 문제의 원인을 파악하기 위하여 검증을 해보다가 어느 순간에만 연결 종료를 인지하지 못하게 되었다. 클라이언트 프로그램에서 exec 함수를 호출할 때(exec함수는 내부적으로 fork를 합니다) 해당 문제점이 발생하였다. 문제의 원인으로 fork를 통해서 socket을 가리키는 파일 디..
-
Evernote clearlyIT/Tools 2012. 1. 21.
evernote에서 여러개의 서비스가 더 나왔습니다. 그 중에서 Clearly 라는 서비스를 소개하기 위한 글을 적는다. evernote란 많은 사람들이 사용하고 있는 웹 노트로써, 예전에 포스팅한 내용이 있다. evernote에 대해서 아예 모르시는 분은 아래의 내용을 보시면 친숙해질 수 있다. 2011/08/02 - [생산성(Productivity)] - 언제 어디서나, 웹노트 evenote 자 본론으로 들어가서, clearly 서비스란 웹 브라우져에 플로그인 형태로 설치하여 웹의 컨텐츠의 내용만 깨끗하게 볼 수 있게 해주는 프로그램이라 할 수 있다. 마치 책을 보는 것 처럼 웹 페이지 컨텐츠만을 깔끔하게 보여줍니다. 인터넷 웹 페이지는 최초에는 열려있는 웹 페이지와 관련 없는 광고나 링크들은 없었겠..
-
System Hang이란?IT/Linux Kernel 2012. 1. 16.
System Hang 이란 친구가 삶에 껴들어와서 사전적인 의미를 알아보고 정리해보는 시간을 가져보았다. hang or freeze라고 불리기도 하는 System Hang이란, 아무런 반응을 하지 않은 상태로써 시스템 운영이 불가능한 상태를 의미한다. 이 상태에서는 input에 대해서 아무런 응답을 하지도 않고 input이 없더라도 시스템 process들을 처리하지 >못하고 있을 것이다. 이러한 hang을 유발 시키는 요인은 하드웨어적과 소프트웨어적으로 볼 수 있다. 하드웨어 1) missmatched 하드웨어 2) 환경적인 요인으로 인한 하드웨어 열 데미지 3) 메모리(RAM) 부족 4) 하드웨어 fault 소프트웨어 1) infinite loop 또는 race condition 2) dead lock..
-
pthread 종료 핸들러(pthread_cleanup_push, pthread_cleanup_pop)IT/Linux C 2012. 1. 13.
얼마전에 thead를 중간에 종료 시키는 방법에 대해서 이야기 했었다. 2012/01/12 - [리눅스(Linux)/개발(Developemnt)] - 생성된 pthread를 중간에 종료시키자.(pthread_cancel) 만약 thread에서 자원을 할당받아 사용 중이라면, thread가 종료 될 때 자원을 반환을 해줘야 할 필요가 있다. 물론 thread 내부 로직을 통하여 할당받은 자원(mutex, heap memory, fd,...)을 알맞게 반환하면 좋겠지만, 중간에 종료되는 경우에는 thread가 종료되기 때문에 자원 반환에 어려움이 있다. 결론적으로 pthread_cleanup_push를 통하여 callback 함수를 등록하면 thread가 종료될 때 등록된 callback 함수를 호출하여 자..