※ 요약
읽기 도구는 iOS5부터 사파리에 추가된 기능으로써, 아이폰이나 아이패드, 일반PC 등 사파리 브라우저를 사용할 수 있는 모든 기기에서 웹 상의 글을 읽을 때 편하게 읽을 수 있도록 도와주는 도구인데, 뉴스 사이트에 방문하면 각종 배너 광고들로 도배가 되어 있는데 이럴때 사용하면 정말 유용하다.


※ 사용 방법

사용방법은 정말 간단하다. 아래처럼 뉴스 페이지에 접속하면 주소표시줄 좌측에 문서 아이콘이 표시되는데, 그 아이콘을 터치하면 된다.


※ 사용 화면 예

아래 화면의 좌측은 읽기 도구를 적용하기 전이고 우측은 읽기 도구를 사용한 화면이다. 대충 봐도 차이가 엄청난데, 왼쪽은 뉴스를 읽으라고 만든 사이트인지 모를 정도로 광고가 많아서 읽기 도구 사용한 후에야 뉴스 본문만 깔끔하게 읽을 수 있었다.

    



아래 화면도 마찬가지로 읽기 도구를 활성화하니 깔끔하게 본문만 읽을 수 있었다.

    


읽기 도구 답게 편하게 읽을 수 있도록 돕는 옵션들이 있는데, 폰트 크기와 배경색을 지정할 수 있다. 필자는 배경을 검은색으로 하여 밤에도 눈이 편하도록 했다.




※ 요약

필자가 만든 Color Picker(색상 추출) 프로그램이다. 시중에 많은 컬러 피커 프로그램들이 있고, 잘 만들어진 것도 많지만 필자가 사용할때 꼭 한 두 가지 부족한 기능들로 인해 직접 만들게 되었다. 필자가 필요한 기능 위주로 만들어서 사용자 입장에서는 더 필요한 기능이 있을 수도 있을 수 있는데, 이런 부분들은 댓글로 요청하면 가능한 선에서 추가/수정하도록 하겠다. 이 프로그램은 주로 블로그를 하면서 rgb값과 html(hex)값을 확인하기 위해 만들었다.


이 프로그램은 C++11과 마우스 후킹과 키보드 후킹 기능을 이용해서 만들었다. 마우스 후킹은 마우스의 움직임을 전역적으로 확인하려고 사용했고, 키보드 후킹은 전역 단축키(Global Hotkey) 때문에 사용했다. 제작할때 가장 힘들고 오래걸린 작업은 화면 구성인데 화면 구성에 50% 이상의 시간을 사용한거 같다. 화면 구성은 jcpicker라는 프로그램을 참고했다.


※ 개발 환경

Windows 10 x64

Visual Studio 2015 Community Update1

Unicode


Modern C++


MFC 14.0

Ado( MariaDB ODBC ver 1.0.5 )

regex


실행 환경 테스트

Windows 7 x64

Windows 10 x64


※ 다운로드

OiColorPicker_0.9.zip



※ 사용 방법

프로그램 사용법은 어렵지 않아서 몇 번 실행해보면 바로 익숙해질 것이다.

아래는 OiColorPicker를 처음 실행한 모습이다. 후킹을 사용했기때문에 프로그램만 실행하고 마우스를 움직이면 마우스 위치의 컬러 코드 값을 출력해준다.


저장하고 싶은 컬러 코드가 있으면 Alt+X키를 누르면 아래 우측 화면과 같이 컬러코드가 저장된다. 마찬가지로 후킹을 사용하였기때문에 OiColorPicker프로그램이 다른 프로그램에 가려지거나 안보여도 Alt+X키를 누르면 우측 리스트에 저장된다. 저장될때는 컬러코드와 함께 해당 컬러코드 색으로 저장되기 때문에 다시 찾아쓰기 편하다. 다시 찾아쓸때는 리스트에서 해당 아이템을 선택 후 Ctrl+C키를 누르면 해당 Hex 컬러코드 값이 복사된다. 또 Delete키도 먹힌다.


마지막으로 Converter기능인데, 화면 좌하단에 위치해있다.

rgb->hex 또는 hex->rgb 컬로 코드로 바꿔준다.


※ 버전

2016.02.11.

ver 0.9 (MD5 : 402e0bed11198576cc7618aef0ea3359) OiColorPicker 테스트 버전


'프로그래밍 관련 > 자작 프로그램' 카테고리의 다른 글

ip 확인 프로그램 - 오뇽 IP  (2) 2013.12.20
각도기 프로그램  (60) 2013.11.28
위경도 도, 도분, 도분초 변환  (19) 2013.10.17
EXIF Viewer, EXIF 뷰어  (7) 2013.10.05
Point Cloud  (0) 2013.10.02
무료 로또 프로그램 - 오뇽 로또  (400) 2013.09.13
넷마블 틀린그림찾기 매크로  (17) 2013.04.01

※ 요약
블로거들에게 있어 키워드 선택이란 매우 중요한 일 중에 하나다. 이번 포스팅에서는 이런 중요한 선택을 할때 도움이 되는 것(네이버 트렌드, 구글 트렌드)을 소개하고자 한다. 사실 필자도 블로그를 6년 넘게 하면서 잘 활용하지 못 했었고 필요성도 못 느꼈었는데, 정규표현식 관련 포스팅을 하면서 필요성을 느꼈다. 이번 기회를 통해 앞으로는 적극적으로 활용하도록 해야겠다.
아래 내용을 작성할때 가상으로 "정규식"과 "정규표현식" 키워드로 포스팅을 한다고 가정하면서 내용을 작성하였다.

※ 각 트렌드 소개
네이버 : 네이버 제공 검색 통계 서비스, 기간별 검색 추이 및 키워드 관련 뉴스, 그래프 안내
구글 : 지금 Google에서 무엇이 인기 급상승 중인지 알아보세요.
상기 문구는 각 사이트의 트렌드 소개 문구이다. 소개를 보면 알겠지만 핵심은 사용자들이 어떤 키워드를 많이 검색했는지 알고자 하는 것이다. 필자 같은 경우엔 "정규표현식"과 "정규식"으로 키워드를 고민한 적이 있다. 둘 다 같은 의미지만 사람들이 더 많이 검색하는 키워드로 포스팅을 해야 아무래도 방문자 수가 더 많을 것이기 때문이다.

※ 네이버 트렌드
먼저 네이버 트렌드에서 "정규식"과 "정규표현식"을 조회해본 결과이다. 정규식의 경우는 검색 횟수가 평균 19회로 나온다.


이번에는 "정규표현식"을 조회해봤다. 정규식보다 훨씬 높은 76이 나왔다.

이것만 보면 키워드를 선택할 때 "정규식" 보다는 "정규표현식"이 더 나은 선택으로 볼 수 있겠다.


여러 키워드를 한꺼번에 조회해볼수도 있다. 이번에는 김치찌개와 된장찌개를 함께 조회해봤는데, 김치찌개의 검색 횟수가 조금 더 높다. 이것만 보면 사람들이 김치찌개를 더 좋아해서 더 많이 검색했을 수도 있다는 생각이 든다.


※ 구글 트렌드

이번에는 구글 트렌드에서 "정규식"과 "정규표현식"을 검색해볼 차례다.

네이버 트렌드와는 다르게 "정규식"이 더 높은 조회수를 기록했다. 하지만 필자는 네이버 검색의 유입이 더 많으므로 "정규표현식" 키워드를 메인 키워드로 할 것이다.

네이버 트렌드와는 다르게 관련 검색어와 지역 관심도도 나온다.


※ 기타

구글 트렌드나 네이버 트렌드의 경우 블로그 말고도 여러 분야에서 활용된다. 가령 아래와 같이 말이다.

점쟁이 구글?… 韓-美대통령 당선자 족집게 예측

참고로 위 링크는 구글에 "구글 트렌드 대선"라고 검색하여 처음 나온 뉴스를 링크 걸은 것이다.




※ 요약
제목 그대로 기본적인 검색 방법에 대해 알아볼텐데, 어려운 내용이 아니므로 간단하게 설명하고 끝내도록 하겠다.


※ 있는 그대로 검색

평범한 검색 방법이다. 이 검색 방법은 PC로 문서(*.txt나 워드 등) 작업을 해본 사람이면 다 사용해봤을 법한 내용이다.


준비된 예문에 정규표현식 "e"를 입력하였고, 정규표현식 "e"와 일치된 모든 e가 하이라이팅되었다.

여기서 사용된 정규표현식 "e"는 평범한 텍스트여서 정규식처럼 안보일수도 있지만 확실한 정규식이다.

참고로 matches(일치)된 개수는 45개이다.


이번에 사용한 정규표현식은 "123"이며 위에서 사용한 "e"와 마찬가지로 확실한 정규식이다.

다만 "e"나 "123"처럼 평범한 텍스트로만 이루어진 정규표현식은 낭비지만 정규식을 처음 알아가기에는 좋기에 예제로 사용해봤다.



※ 대소문자 다루기

정규표현식은 기본적으로 대소문자를 구분한다. 하지만 대소문자를 무시하는 기능이 있는데, regexr의 경우 flags에서 "ignore case" 옵션을 체크하면 된다. 아래는 대소문자를 무시한 상황에서의 결과 화면인데, 보면 Te도 검색된걸 확인할 수 있다.

 

※ 모든 문자 찾기

정규표현식에서 "."(마침표)는 모든 문자 하나와 일치한다. 무슨 말인지 모르겠으면 아래 결과를 한 번 보면 이해할 수 있을 것이다. 정규표현식 "e.t"를 입력했더니 e로 시작하고 t로 끝나는 모든 문자열을 검색했다. 앞서 설명처럼 "."은 공백 문자가 오든 영문자가 오든 상관없이 모든 문자를 의미한다.(단, 줄바꿈(newline)문자는 제외된 경우도 있다.)

참고로 "."은 메타 문자 중 하나이며, 다른 메타 문자도 알고 싶다면 이전에 올린 포스트를 참고하기 바란다. 


"."은 연달아 사용할 수도 있다. 아래처럼 정규식 "t..t"를 입력하니 t로 시작하고 t로 끝나는 네 글자를 검색하였다.



※ 특수 문자 검색

위에서 "."(마침표)는 특별한 기능(의미)이 부여된 메타 문자라서 검색하려면 "." 앞에 "\"을 붙여줘야 한다.

"\."가 입력된 아래 예제를 보면 한 번에 이해할 것이다. "\"도 "."과 마찬가지로 메타 문자이다.


"\"도 메타 문자라서 마찬가지로 앞에 "\"을 붙여줘야 한다. 예문을 보면 바로 이해할 수 있을 것이다.



  

※ 요약

이번 포스팅에서는 기본 메타 문자와 수량자, 위치 지정, 특수한 문자, 역참조와 전후방 탐색, 대소문자 변환, 변경자들에 대해서 간략하게 표로 알아볼 것이다. 정규표현식에 대해서 거의 모른다면 봐도 별도움이 안되겠지만, 정규식을 예전에 공부했는데 잊어먹었을 경우 레퍼런스로는 많은 도움이 될 것이다.

아무튼 이번 포스팅의 궁극적인 목적은 나와 여러분의 레퍼런스 겸, 앞으로 정규식을 포스팅 함에 있어 원할한 진행을 위해서이다.


※ 설명

기본 메타 문자

 .

 점 하나당 하나의 문자에 해당하며 모든 문자와 일치

 |

 왼쪽 혹은 오른쪽과 일치

 []

 문자 집합 구성원 중 하나와 일치

 [^]

 문자 집합 구성원을 제외하고 일치

 -

 범위 정의 ([A-Z]와 같은 형태)

 \

 다음에 오는 문자를 이스케이프

수량자

 *

 문자가 없는 경우나 하나 이상 연속하는 문자 찾기

 *?

 게으른 * 문자

 +

 문자 하나 이상 찾기

 +?

 게으른 + 문자

 ?

 문자가 없거나 하나인 문자 찾기

 {n}

 정확히 요소와 n번 일치

 {m,n}

 요소와 m에서 n번 일치

 {n,}

 요소와 n번 이상 일치

 {n,}?

 게으른 {n,}

위치 지정

 ^

 문자열의 시작과 일치

 \A

 문자열의 시작과 일치

 $

 문자열의 끝과 일치

 \Z

 문자열의 끝과 일치

 \<

 단어의 시작과 일치

 \>

 단어의 끝과 일치

 \b

 단어 경계와 일치

 \B

 \b와 반대로 일치

단축 문자

(특수한 문자)

 [\b]

 역스페이스

 \c

 제어문자와 일치

 \d

 모든 숫자와 일치

 \D

 \d와 반대

 \f

 페이지 넘기기(form feed)

 \n

 줄바꿈

 \r

 캐리지 리턴

 \s

 공백 문자와 일치

 \S

 \s와 반대로 일치

 \t

 탭

 \v

 수직 탭

 \w

 영숫자 문자나 밑줄과 일치

 \W

 \w와 반대로 일치

 \x

 16진수 숫자와 일치

 \O

 8진수 숫자와 일치

역참조와 전후방 탐색

 ()

 하위 표현식 정의

 \1

 첫 번째 일치한 하위 표현식. 두 번째 일치한 하위 표현식은 \2로 표기

 ?=

 전방 탐색

 ?<=

 후방 탐색

 ?!

 부정형 전방 탐색

 ?<!

 부정형 후방 탐색

 ?(backreference)true

 조건 지정

 ?(backreference)true|false

 else 표현식 조건 지정

대소문자 변환

 \E

 \L 혹은 \U 변환을 끝냄

 \l

 다음에 오는 글자를 소문자로 변환

 \L

 \E를 만날 때까지 모든 문자를 소문자로 변환

 \u

 다음에 오는 글나를 대문자로 변환

 \U

 \E를 만날 때까지 모든 문자를 대문자로 변환

POSIX 문자 클래스

 [:alnum:]

 모든 영숫자 ([a-zA-Z0-9]와 같음)

 [:alpha:]

 모든 영문자 ([a-zA-Z]와 같음)

 [:blank:]

 빈칸(space)이나 탭 문자 ([\t]와 같음)

 [:cntrl:]

 아스키 제어문자(아스키 0번부터 31, 127)

 [:digit:]

 모든 한 자리 숫자 ([0-9]와 같음)

 [:graph:]

 [:print:]와 동일하나 빈칸(space)은 제외

 [:lower:]

 모든 소문자 ([a-z]와 같음)

 [:print:]

 출력 가능한 모든 문자

 [:punct:]

 [:alnum:]이나 [:cntrl:]가 포함되지 않은 모든 문자

 [:space:]

 빈칸을 포함한 모든 공백 문자 ([\f\n\r\t\v]와 같음)

 [:upper:]

 모든 대문자 ([A-Z]와 같음)

 [:xdigit:]

 모든 16진수 숫자 ([a-fA-F0-9]와 같음)

변경자

 (?m)

 다중행 모드

 

 

 



※ 요약
본격적으로 정규표현식을 배우기 전에 소개할 웹사이트가 있다.

RegExr라는 사이트인데, 정규식을 연습하거나 테스트 해볼 수 있고 각 종 레퍼런스도 있어서 공부하기에도 좋다.

무엇보다 좋은 점은 인터넷만 연결되어 있다면 어디에서든지 정규식을 테스트 해볼 수 있다는 것인데, 이는 필자가 예제를 작성하면 독자는 따라서 해보기 아주 좋은 환경을 제공해준다.


※ 사이트 주소


※ 소개

아래 화면은 Regexr에 처음 접속하면 나오는 화면인데, 샘플 예문과 간단한 정규표현식이 미리 입력되어 있다.

앞으로 필자가 아래 예문으로 정규식을 완성하면 독자가 따라하는 방식으로 포스팅을 진행할 예정이다.

 

 


 

※ 소개

정규표현식은 영문으로 Regular Expressions라고 표기하며 보통 정규식 혹은 Regex(레젝스)라고 부른다.

정규식은 모든 종류의 텍스트를 조작하고 처리하기 위해 만들어졌으며, 거의 모든 언어와 플랫폼에서 지원한다.

막연히 텍스트를 조작하고 처리한다고 하여 감이 잘 안올텐데 일단은 문자열의 검색치환을 위한 용도로 쓰이며, 이 작업들을 할때 정규표현식을 이용하면 (상대적으로)간단하게 처리할 수 있다는 것만 알아두자.

정규표현식은 정규 표현 언어를 사용해 만들며 정규 표현 언어에 대해서는 다음 포스팅부터 알아볼것이다.


※ 정규표현식을 사용해야 할 때

- 문자열에서 특정 문자 혹은 특정 문자열을 검색해야 할 때

- 문자열에서 특정 문자 혹은 특정 문자열을 치환해야 할 때


※ 장점
- 문자열에서 검색과 치환을 할 때 정규식을 이용하면 간단하게 작업할 수 있다.

- Modern C++, C#, Java, php, Perl 등등 많은 언어들이 지원한다.


※ 단점
- 문법이 직관적이지 못하고 모르는 상태에서 보면 복잡해보인다.
- 언어마다 정규표현식 문법이 조금씩 다르다.

 

※ 활용
필자는 보통 아래와 같은 상황때 정규표현식을 활용한다.

- 텍스트 파일이나 각 종 문서에서 특정 패턴을 검색할때

- Modern C++로 개발하다가 문자열 검색 및 조작이 필요할때

- 리눅스 명령어 grep을 사용할때

 

 




※ 요약
퍼블릭 베타란 개발자가 아닌 일반 사용자들을 대상으로 한 공개 베타 개념의 업데이트로써, 예전에는 개발자로 등록해야만 베타 버전을 다운 받을 수 있었지만 퍼블릭 베타 개념이 도입되고 나서는 누구나 다운받고 설치할 수 있게 되었다.

이번 포스팅에서는 퍼블릭 베타 버전 다운로드 및 업데이트 방법에 대해 알아볼 것이다.


※ 업데이트 방법

먼저 퍼블릭 베타를 설치하려는 기기로 아래 사이트에 접속한다.

beta.apple.com

접속하면 아래와 같은 화면이 나올 것이다.

 

좀 밑으로 가면 아래와 같이 "등록" 버튼이 있고, 이걸 클릭한다.

 

로그인한다.

 

로그인 후 상단 메뉴 중에 "기기 등록" 항목을 눌러 이동한다.

 

조금 밑으로 내이면 "프로파일 다운로드" 버튼이 있다. 클릭해준다.

 

"설치" 버튼을 누른다.

 

"설치" 버튼을 누른다.

 

"재시동"한다.

 

설정 -> 일반 -> 소프트웨어 업데이트 항목으로 이동한다.

 

 

"소프트웨어 업데이트"까지 오면 퍼블릭 베타가 뜨는데(존재할 경우에), 전원에 연결되어 있고 와이파이에 연결되어 있다면 다운로드 및 설치가 가능하다.

 

다운로드 및 설치 진행 중이다.

 

 

필자는 iOS9.3 퍼블릭 베타2로 업데이트 했고 야간 조명 모드(Night Shift)가 생긴걸 확인할 수 있다.

 

 

 

세븐 일레븐에서 2016년 01월 말에 출시한 된장찌개 도시락 후기 입니다.


얼마 전에는 세븐 일레븐 김치찌개 도시락을 먹어봤는데 이번에는 된장찌개도 있길래 호기심에 사봤습니다.

소고기 된장찌개라고 되는데, 양지삼겹이 들어있다고 하네요. 소고기가 얼마나 들어있을지 궁금하네요.

가격은 4,500원이고 사은품으로 생수 하나 줍니다.



반찬 구성은 카레 감자채, 삶은 계란, 분홍 소세지, 맥적구이, 콩나물 무침, 백김치가 있습니다.

개인적으로 반찬 구성은 김치찌개 도시락보다 마음에 듭니다.


전통식품 성명례 명인의 된장으로 맛을 냈다고 하네요! 저는 처음 들어보지만 맛있으니까 명인이겠죠.. 기대됩니다!

참고로 전자레인지에 돌릴때 도시락과 찌개는 따로 돌려야합니다.



전자레인지에 돌린 후 입니다. 찌개는 국물이 많아 건더기가 잘 안보이네요. 또 분홍소세지는 계란 밑에 숨어 있습니다.


카레 감자채입니다. 감자채와 카레 조합은 처음인데 맛있네요.


삶은 달걀이야 뭐 평범합니다.



맥적구이입니다. 양념도 괜찮고 겉에 땅콩가루도 있어서 맛있게 먹었네요.


콩나물 무침인데 정말 맛없어요.. 군대에서 나오는 것보다 맛없고 고추가루 맛만 나네요.


백김치도 별로 입니다. 한 번만 먹고는 다시는 안먹었네요..



추억의 반찬이네요. 겉에 계란을 많이 입혀서 구워야 맛있는데.. 그냥저냥 먹을만 합니다.


김치찌개 도시락에도 남겼지만 다른 편의점 밥보다 상태가 좋습니다. 또 조금이지만 쌀눈도 있구요.



마지막으로 된장찌개입니다. 첫사진에는 국물이 많아 건더기가 잘 안보였는데 수저로 들어올리니 생각보다 많네요.

된장찌개 맛은 사먹는거보다야 못하지만 양지삼겹에 두부, 고추, 호박, 파 등 편의점 도시락 치고는 괜찮습니다.


개인적으로 김치찌개 도시락보다 된장찌개 도시락이 더 맛있는거 같네요.



4,500원에 생수도 사은품으로 주고 앞으로 종종 사먹어야겠습니다.

 

기존에 사용하던 A2004NS 대신 A5004NS으로 바꿨습니다.

다시는 ipTIME 안사려고 했는데, a5004ns에 있는 간이 웹서버랑 MySQL 서버 기능 때문에 어쩔 수 없이 또 샀네요 ㅠ.ㅠ

 

아래는 2일 간 사용하면서 느낀 장점 및 단점입니다.

- 장점

검은색 공유기의 LED는 주황색이라 밤에 거슬리지 않는다.

기가비트를 지원하여 속도가 빠르다.

나스 기능을 지원한다.

설정이 간단한 편이다.

 

- 단점

설정 변경시 와이파이가 잠시 끊긴다.

검은색이라 조금만 먼지가 붙어도 잘 보인다.

안테나 교체가 불가능하다.

쓸때없이 안테나가 많다.

 

- 속도(밑에 이미지로 있음)

속도 측정 환경

기기 : 아이폰6

와이파이 모드 : 5GHz 11ac/11n

거리 : 5m

다운로드 속도 : 90.8Mbps (11.35MB/s)

업로드 속도 : 92.3Mbps (11.54MB/s)

지연률 : 7.63

 

- a6004ns대신 a5004ns를 구매한 이유

a5004ns는 쿨러가 없어서 조용하고, 후에 관리 측면에서도 유리하다.

a6004ns보다 가격이 싸다. (필자가 필요한 기능은 a5004ns로도 충분)

 

아래는 설치 이미지 입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts