토터스깃을 사용하면서 여러 저장소를 관리하다보면 이 프로젝트를 손댄적이 있는지, 수정했다면 어떻게 손을 대었는지, 저장소를 복제한 원격 저장소의 주소는 무엇인지, 이 소스 코드는 누구에 의해 어떻게 변경되어 왔는지 등을 확인할 필요가 생깁니다. 토터스깃 저장소의 정보 확인은 윈도우 탐색기에 적용하는 아이콘 오버레이 기능으로 시작할 수 있습니다.(토터스깃(TortoiseGit) 돌아보기 참조) 윈도우 탐색기에 표시하는 원래의 아이콘에 토터스깃의 아이콘 오버레이가 적용되어 있다면 해당 폴더 또는 파일은 토터스깃의 형상 관리 대상이라는 의미이고 아이콘의 종류에 따라 기본적인 상태를 확인할 수 있습니다. 위의 그림은 "plagfind"라는 프로젝트에 변경 파일이 생겼다는 의미인 것입니다. 아이콘을 통한 상태확인..
윈도우 폼 기반으로 단순한 데이터베이스 처리 위주로 동작하는 프로그램이나 대부분의 업무용 프로그램에서는 사용 빈도가 많지 않지만 닷넷에서 제공하는 그래픽 기능을 비주얼베이직 닷넷(이하 비베닷넷)을 통해서 활용하는 방법을 알아두면 유용하게 사용할 경우가 있습니다. 비주얼스튜디오에서 제공하는 기본 컨트롤에서 지원하지 않는 인터페이스를 별도로 제작하거나 여러 프로그램에서 사용할 수 있는 공통 라이브러리를 제작하는 등에 여러모로 활용 가능성이 있습니다. 닷넷의 그래픽 기능을 최대한 활용하는 프로그램은 뭐니뭐니해도 그래픽 편집 도구가 아닐까 싶습니다. 대표적인 예로 페인트닷넷을(가볍고 빠른 이미지 편집툴 페인트닷넷 참조) 예로 들수 있습니다. 페인트 닷넷은 가로, 세로 크기를 지정한 캔버스 위에 다양한 도형을 그..
웹 서비스가 다양화되고 클라이언트/서버 구조의 프로그램에서 조차 "검색"은 일반화된 기능이다보니 프로그래머의 입장에서 검색 결과의 일부분을 체계적으로 보여주는 페이징은 필수 불가결한 기능이라 할 수 있습니다. 그런데, 페이징 기능을 수행하려면 검색 결과의 개수를 먼저 파악해야하고 그중에 특정 부분의 행들을 추출할 수 있어야 합니다. 그런데 조건에 해당하는 모든 행의 개수를 파악하는 것도 테이블 전체를 스캔하므로 데이터베이스 시스템에 부담을 주지만 검색 결과를 특정 조건에 따라 정렬한 다음에 일부분을 뽑아내는 것은 개수를 파악하는 것보다 더 심한 부담을 주는 것이 사실입니다. 그렇다고 데이터베이스 수준에서 페이징을 수행하지 않고 클라이언트로 모든 데이터를 가져온다면 트래픽도 감당하기 어려울 뿐만 아니라 클..
비주얼베이직 닷넷(이하 비베닷넷)에서 인쇄를 구현하는 것이 그리 쉽지만은 않은 작업입니다. 웹 페이지 처럼 화면에 HTML을 통해서 그림과 도표, 텍스트로 페이지를 출력하고 CSS를 이용해서 인쇄시점에 포함해야될 내용과 제외할 것을 지정해 놓으면 웹브라우저가 알아서 출력해 주는 것처럼 윈도우 폼에서도 자동으로 인쇄해 준다면 프로그래머는 편하겠지만 화면의 동작방식과 크기는 프린터의 동작 방식과 크기와 차이가 크기 때문에 인쇄용 양식과 내용을 별도로 구성해 주어야 합니다. 다만 화면 출력에 사용하는 클래스나 함수를 그대로 프린터 출력에도 동일하게 사용할 수 있으며 시스템에서 제공하는 몇가지 컴포넌트와 클래스를 잘 활용하면 프린터의 종류와 관계없이 다양한 기종의 프린터에 동일한 페이지 내용을 간편하게 출력할 ..
이기종 데이터베이스를 사용하더라도 데이터베이스 간의 주요 데이터 타입은 유사하게 지원하는 것이 보통입니다. 대표적인 것이 문자열, 정수와 함께 일자시간 타입입니다. 위의 스키마는 3개의 컬럼을 가지고 있는 테이블로 tagname과 dt를 기준으로 주키(Primary key)를 설정한 것입니다. 위의 스키마를 각 데이터베이스 별 CREATE 문으로 작성하면 아래와 같습니다. 오라클만 DATE 타입을 사용하고 MySQL과 SQL Server는 DATETIME 타입을 사용합니다.== MySQL ==CREATE TABLE tags (tagname VARCHAR(16), dt DATETIME, val INT, PRIMARY KEY(tagname, dt));== SQL Server ==CREATE TABLE tag..
오라클 데이터베이스를 무료로 사용할 수 있는 개발자 버전 XE를 사용하다보면 갑자기 아래와 같은 메시지를 뿌리면서 접속이 않되는 경우가 있습니다.ORA-28001: the password has expiredCause: The user’s account has expired and the password needs to be changed 이유는 비밀번호의 유효 기간이 실제로 만료되어서 발생하는 현상으로 보안을 위해서 사용자가 주기적으로 비밀번호를 바꾸도록 유도하기 위한 장치입니다. PASSWORD_LIFE_TIME 변수를 통해서 비밀번호 유효 기간을 시스템레벨로 관리하는데 오라클 10g 버전 까지는 기본값이 무제한 이었지만 11g부터는 아래의 그림과 같이 기본값이 180일로 설정되어 있습니다. PASS..
프린터는 모니터가 일반화 되기 이전의 컴퓨터 시스템에서는 컴퓨팅 결과를 확인할 수 있는 거의 유일한 출력 장치라 해도 과언이 아니었습니다. 프로그래머가 프로그램을 작성해서 펀치카드 리더기등의 입력장치로 프로그램을 로딩시켜 실행한 결과는 양쪽에 구멍이 송송 뚫린 연속용지에 출력되어 프로그램의 실행 결과를 확인할 수 있었습니다. 초기의 프린터는 수동 타자기를 대신하는 방식으로 글자가 새겨진 자판이 먹지를 때려 종이에 글자가 찍히게 하거나, 글자가 볼록하게 새겨진 철판 밴드가 회전하는 과정에 메인 컴퓨터에서 전송된 신호에 따라 헤머가 먹지를 때려 종이에 글자를 출력하는 방식을 사용했습니다. 한번에 한줄 단위로 인쇄하기 때문에 라인 프린터라(Line printer) 불렀습니다. 해머가 먹지(리본)를 때리는 방식..
지리산 둘레길과 구룡폭포의 환상적 조합(1)에 이어진 글입니다. 지리산 둘레길을 다녀온 경험이 너무 좋았던 이유는 뭐니뭐니해도 계획에 없던 구룡 계곡과의 만남 때문이 아니었나 싶습니다. 필자의 경우에도 마찬가지이지만 청년시절부터 지리산 곳곳을 다녔지만 대부분은 정상인 천왕봉을 목표로 삼거나 가볍게 다녀오는 경우에도 노고단 정도를 목표로 했기 때문에 정작 구룡 계곡을 찾아 멀리서 오는 경우는 드물것입니다. 저희가 구룡 계곡을 따라 내려가는 도중에 만난 사람들도 대부분 가족 단위로 가볍게 다니러 오는 경우가 대부분이었습니다. 여름이면 계곡이 사람으로 넘쳐나겠구나 싶을 정도로 가까운 도시인들의(대부분 남원근처에 사시는 분들이겠지만) 좋은 쉼터가 될것으로 보였습니다. 아무튼 구룡 폭포로 가는 방법은 구룡 폭포 ..
10/17 당일치기로 지리산 둘레길 걷기를 다녀왔습니다. 걷기 여행 계획을 세울때 까지만 해도 둘레길 1코스를 거꾸로 내려로는 것이었는데, 결과적으로는 둘레길 1코스를 운봉에서 출발하여 중간에 구룡 폭포가 있는 구룡 계곡 상행로로 코스를 변경해서 다녀왔습니다. 구룡폭포를 들러서 다시 둘레길로 복귀하려는 의도였는데 안내판과는 달리 길을 찾지 못해서 그냥 국립공원 산행로로 쭉 내려오고 말았습니다. 여행이란 항상 변수가 있기 마련인데 돌아보니 "지리산 둘레길과 구룡폭포의 환상적이 조합"이 아니었나 싶습니다. 이번 글은 둘레길에 대해서 다루고 또다른 글을 통해 구룡 계곡 산행길(지리산 숲길)에 대해서 다루어 보겠습니다.일단 자동차로 주천에 있는 둘레길 주차장에 도착했는데 순천-완주간 고속도로 오수 IC에서 빠져..
닷넷 환경에서 오라클 데이터베이스에 접속할 수 있는 방법은 여러가지가 있을 수 있지만 가장 권장할 만한 방법은 ODP.Net을(Oracle Data Provider for .NET) 사용하는 것입니다. 사실 닷넷 프레임워크에는 위의 그림처럼 System.Data.OracleClient라는 네임스페이스가 존재합니다. SQL Server처럼 오라클 데이터베이스도 별다른 드라이버 설치 없이 간편하게 사용할 수 있겠다 싶습니다. 실제로 동작하는 부분이 있기도 합니다. 그렇지만, 위의 그림에서 설명하고 있는 것처럼 마이크로스프트에서는 더이상 오라클 데이터베이스에 대한 지원을 하지 않고 있고 삭제 예정임을 분명히 하고 있습니다. 닷넷 환경에서 안정적으로 오라클 데이터베이스를 사용하려면 Oracle Data Prov..
윈도우 무비 메이커를 처음 접하면서 생경한 느낌이 들지만, 프로그램의 정체와 용도를 분명히하면 실망도 적고, 알맞은 용도로 활용할 수 있으므로 여러분들이 언급하고 있는 윈도우 무비 메이커의 장단점을 먼저 정리해 볼까 합니다. 우선 장점은 다음과 같습니다.누구나 무료로 사용 가능. 윈도우 메모장처럼 XP의 SP2, SP3에서는 기본 설치되는 프로그램이고, 윈도우 7이상에서는 무료를 다운로드 받을 수 있습니다.초보자도 어렵지 않게 동영상 편집. 직관적이고 단순한 사용자 인터페이스를 가지고 있으면서도 일반적인 동여상 편집 과정을 그대로 수행할 수 있습니다.슬라이드 쇼 동영상에 최적화. 아마추어용 동영상, 사진 기반의 슬라이드 쇼를 쉽게 제작할 수 있도록 기능을 제공하고 있습니다. 본글의 제목처럼 간편한 음악 ..
아이들 학교 축제 준비를 하면서 동영상 편집 도구로 윈도우 무비 메이커를 사용한다는 이야기를 들었는데 막상 사용해 보려고 이것 저것 알아보니 "무료"로 배포하고 있고 서비스팩에 자동 포함된다는 설명도 있기는 한데 찾기가 쉽지는 않군요. 위의 그림은 http://windows.microsoft.com/ko-kr/windows/get-movie-maker-download 페이지의 내용으로 운영체제별로 사용 가능 무비 메이커의 버전과 다운로드 방법등이 기술되어 있습니다. 필자의 경우에는 Windows7을 사용하고 있으므로 우측의 [지금 받기] 버튼을 통해서 무비 메이커 2012를 다운로드 받아 설치 했습니다. 다운로드 파일은 wlsetup-web.exe로 실행하면 웹을 통한 "Windows 필수 패키지 201..
본 글은 가장 간단한 컴파일러(C언어 배우기를 위한 준비 참조)와 텍스트 편집기(또 다른 텍스트편집기 NPP - 노트패드 플러스 플러스 참조)를 활용한 C언어 개발을 위한 노트패드 ++(이하 NPP)의 콘솔 플러그인(노트패드 ++의 유용한 플러그인 설치하기 참조)에 관련한 포스팅입니다. 연관 글을 참조하시면 보다 유익한 C언어 스터디를 하실 수 있습니다.NPP로 C언어 소스 코드를 편집하다가 별도의 창을 열어서 컴파일을 수행하고 그 결과에 따라 디버깅하는 작업을 반복할 수도 있지만 NPP 창 내부에서 빌드 과정을 확인하면서 코드를 보완하거나 코드를 참조하면서 빌드 또는 실행 결과를 확인하기 하기 위해서는 하나의 인터페이스에서 작업하는 것이 유용합니다. 비주얼스튜디오나 이클립스와 같은 통합개발환경(IDE)..
노트패드 ++(이하 NPP)의 플러그인은 설치 폴더 아래에 있는 plugins 디렉토리에 있는 DLL 파일들에 의해 수행됩니다. 플러그인의 추가 설치 및 관리는 위의 그림과 같이 플러그인>Plugin Manager>Show Plugin Manager 메뉴를 통해서 수행합니다. 플러그인 관리자는 위의 그림과 같이 "Available", "Updates", "Installed" 탭으로 구분하여 인터넷을 통한 최신의 플러그인 정보나 업데이트 정보를 제공합니다. 사용자는 개별 플러그인을 클릭하여 상세한 설명이나 릴리즈 정보를 확인할 수 있습니다. 새로운 플러그인을 설치하려면 위의 그림과 같이 해당 플러그인을 체크 선택하고 [Install] 버튼을 클릭하면 됩니다. 플러그인을 설치한 다음에는 NPP를 재가동 해야..
데이터베이스를 사용하는 솔루션 프로그램들은 프로그램의 정상 가동을 위해서 필요한 스키마가 미리 준비되어 있는 상태로 프로그램을 시작하는 것이 일반적인 방법입니다. 그러나, 최근의 프로그램들은 데이터베이스 연결까지만 사용자가 설정해 놓으면 테이블이나 뷰 생성과 초기 데이터 준비를 프로그램이 알아서 진행하여 프로그램 수행 환경 준비를 자체 해결하는 경우가 많습니다. 이 과정에서 연결한 데이터베이스에 특정 테이블이나 컬럼의 존재 여부를 검사하는 과정은 필수적이라 할 수 있습니다. 테이블 존재 여부를 검사해서 테이블이 존재하지 않는 경우 자동으로 테이블을 생성하는 DDL(Data Definition Language) 문장을 실행할 수 있을 것입니다. 프로그램 버전 업그레이드 과정에서 특정 컬럼이 존재하지 않는 ..
첫째를 임신한 아내를 데리고(모시고) 지리산 노고단을 다녀온지도 가물 가물해질 만큼 시간이 흘렀네요. 산티아고 순례길에서 영감을 받은 한 언론인의 열정과 노력 덕분에 제주 올레길이 열리고 걷기 열풍이 한창일 무렵 "지리산 둘레길"이란 이름으로 새롭게 재 탄생한 걷는 길을 한번은 가야지 가야지 했는데 드디어 그날이 오는가 봅니다. 사실 힘들게 뭐하러 그런 길을 걷는가? 하는 분들도 있겠지만 지리산 곳곳에 발자국을 남기며 젊은 시절을 지낸 필자에게는 "지리산 둘레길"이 경건하게 느껴질 정도입니다. 그래서 더욱 기대가 큰가 봅니다. 아름다운 풍경, 황홀한 단풍에 대한 기대보다 지리산의 품에 안기어 걷는 시간에 대한 기대입니다. 걷기 여행에 자동차를 끌고 가는 것이 영 마음에 들지는 않지만 기차표 매진, 애매한..
필자가 토터스깃을 사용하는 가장 큰 이유는 아마도 서브버전 사용 과정에서 익숙해진 아이콘 오버레이 기능 때문이 아닌가 싶습니다. 토터스깃에서 제공하는 아이콘 오버레이 기능은 각 파일 및 디렉토리의 상태를 아이콘으로 보여줌으로서 개발자로 하여금 어떤 부분에 수정을 가했는지, 어떤 파일이 형상 관리 대상인지 아닌지를 아이콘을 통해 한눈에 파악할 수 있도록 도와 줍니다. 외부 저장소를 복제(Clone)해서 작업 사본(Working Copy)을 확보하면 초기 상태는 초록색 바탕의 체크 표시 아이콘인 "Normal" 상태가 됩니다. 위의 그림은 ".git" 명칭을 가진 기본(Bare) 저장소와 작업 사본(Woking Copy)이 함께있는 일반적인 저장소 복제(Clone) 방법으로 프로젝트를 시작한 예제로 폴더와 ..
최근 웹호스팅을 사용하는 한 사이트에서 똑같은 프로그램임에도 불구하고 기능이 잘 동작하지 않는 다는 이야기를 듣고 간단하게 몇가지 조사해 보니 file_get_contents() 함수가 정상적인 동작을 하지 않더군요. file_get_contents() 함수는 파라미터로 외부 사이트의 URL을 입력하면 해당 페이지의 내용을 가져와서 문자열로 리턴해 주는 개발자 입장에서는 매우 유용한 함수인데 해커들이 이런 함수를 통해서 인젝션(Injection) 공격을 수행하기 때문에 PHP 설정중에 allow_url_fopen를 0으로 설정해서 fopen(), file(), file_get_contents() 등의 함수에서 외부 URL을 사용할 수 없도록 한다는 이야기 였습니다. 해당 함수 사용 과정에 위험성이 있는지..
저자는 독일의 루츠 폰 베르너(Lutz von Werder)와 바바라 슐테-슈타이니케(Barbara Schulte-Steinicke)입니다. 괴테와 헤르만헤세의 작품에서 익숙해져 있는 탓인지 독일인의 문체가 그리 낫설지 않게 느껴져서 책 읽기의 부담이 덜했습니다. 문화적 배경은 다를 수 있지만 "글쓰기"에 몰입한 책이니 만큼 블로그 글쓰기로 스스로의 역량을 높이고 마음의 평안과 가술적 나눔등 여러가지 유익을 누리고 있는 가운데 좀더 쉽게 읽히고 도움을 줄 수 있는 글을 어떻게 하면 잘 써볼까? 하는 마음이 있는 사람이라면 누구나 공감과 동의속에 책을 읽을 수 있을 것입니다. 아마존에서 판매하고 있는 원서의 제목은 "Schreiben von Tag zu Tag"로 직역하면 "매일 매일 글쓰기"입니다. 부제..
윈도우 폼(Windows Forms) 응용을 MDI(Multiple Document Interface) 형태로 만들면 하나의 윈도우 폼이 부모폼(Parent Form)이 되고 여러개의 자식폼을 내장하는 방식으로 편리한 창 관리, 예를 들어 타일 방식으로 창을 자동 배열하거나 연속 형태(Cascade)로 창을 간단하게 배열할 수 있습니다. 그런데 이런 형태의 창 배열을 사용하지 않고 부모폼의 작업 영역에 한번에 하나의 폼만을 표시하려고 하면 몇가지 설정이 필요합니다. 분명 자식폼으로 사용할 폼의 ControlBox 속성을 False로 설정했지만 위의 그림과 같이 자식폼이 부모 폼의 작업 영역에 꽉차도록 WindowState 속성을 Maximized로 설정하면 컨트롤 박스가 보이고 맙니다. 폼 클래스에 Do..
텍스트 편집기에서 다중창을 사용할 수 있는지 없는지는 생산성에 상당한 영향을 비칩니다. 오랜 기간 발전을 거듭해온 노트패드++(이하 NPP)도 다중창 또는 창 분할 기능이 있습니다. 창분할 관련 기능은 상단 탭을 우측 마우스 버튼을 클릭하여 컨텍스트 메뉴를 사용합니다. 같은 파일을 양쪽 창에 동시에 보면서 작업하고 싶을 경우에는 "분할 창으로 복사"를 선택하고 좌우 분할 창간의 이동은 "분할 창으로 이동"을 선택하면 좌에서 우로 또는 우에서 좌로 분할 창을 이동할 수 있습니다. 분할 창이 생기면 위의 그림과 같이 점선으로 표시된 "분할 크기 조정바"를 통해서 좌우 분할창의 크기를 끌어다놓기(Drag and Drop) 방식으로 조정할 수 있습니다. 또한 "분할 크기 조정바" 상하단에 있는 작은 좌우 화살표..
위의 첨부파일 링크는 아래에서 언급하는 내용들을 반영한 배포 패키지 입니다. 한국어만을 남겨두고 다른 언어들과 테마 파일을 삭제하고 아래에서 언급할 번역 적용과 폰트 설정등을 감안한 파일입니다. 다운로드 받으셔서 압축 해제하면 바로 한글 환경에서 작업할 수 있습니다. 노트패드++(이하 NPP)를 설치하고 설정>환경설정을 통해서 "한국어"를 사용자 인터페이스의 언어로 선택할 수 있는 것은 NPP 설치 폴더의 localization 폴더에 있는 korean.xml 파일이 있기 때문입니다. 위의 그림은 localization/korean.xml 파일을 NPP로 열어본 예제로 "Native-langue" 태그의 name 속성에 "한국어"로 정의되어 있는데 이 이름이 환경설정>속성창에 표시됩니다. 번역 내용을 수..
분산 버전 관리 시스템(DVCS, distributed version control system)으로서의 깃(Git)을 사용한다는 의미는 현재 자신이 사용하는 컴퓨터 시스템에 로컬 저장소(Repository)를 확보하는 것으로 시작합니다.(깃(Git) 시스템 구조 이해 참조) 아무 것도 존재하지 않는 빈 저장소로 시작할 수도 있고 이미 어느 정도 진행한 기존의 다른 저장소(로컬 또는 원격)로 부터 시작할 수도 있습니다. 윈도우 탐색기에서 빈 디렉토리를 만들고 컨텍스트 메뉴>"Git 저장소 여기에 만들기"(git init)를 선택하면 아무 것도 존재하지 않는 빈 저장소로 형상 관리를 시작할 수 있습니다. "Git 저장소 여기에 만들기"를 수행하면 위의 화면과 같이 일반적인 깃 저장소로 만들지 기본 저장소(..
예전에는 별로라고 생각했었는데 시간이 지나고 기술이 발전함에 따라 새로운 시각으로 바라보게 되는 것이 있습니다. NPP, Notepad ++를 언제 처음 만났었는지는 가물가물하지만 첫 텍스트편집기였던 울트라에디터를 벗어나 다른 편집기에 익숙해 있던 터라 다른 텍스트 편집기는 돌아볼 마음이 없었는데 우연히 다시 만나게된 Notepad++(이하 NPP)와도 친해질 필요가 있겠구나 싶습니다. 윈도우에서만 동작하는 것이 단점으로 보이기는 하지만 가벼운(다운로드 파일 2MB 내외) 텍스트 편집기로 소스도 공개되어 있고 개발자에게 유용한 다양한 기능과 함께 용도에 따라 간편한 설치가 가능한 점은 매력적으로 보입니다. 버전 1.0이 2003년에 공개되었으니 12년이 넘게 이어져온 프로젝트의 역사는 나름의 안정성도 보..
자주 사용하지는 않지만 가끔 파일의 내용을 전용 뷰어나 에디터가 아닌 파일이 저장된 상태 그대로 확인하고 싶을 때가 있습니다. 특히 텍스트 파일이 아닌 바이너리 파일을 다루는 프로그램을 작성하는 경우 프로그래밍 과정에서 파일의 내용이 의도대로 작성되었는지 확인하는 것은 매우 중요합니다. 그렇지만 바이너리 파일의 경우 해당하는 전용 뷰어나 에디터로 내용 확인이 가능하기는 하지만 원천적인 정보를 볼 수 있는 것이 아니므로 저장된 형태 그대로 볼 수 있는 도구가 필요합니다. 이런 필요를 채워주는 것을 헥사(Hex) 뷰어 또는 헥사 에디터등으로 부르는데 이런 도구들은 파일의 내용을 16진수 형태로 덤프(Dump)해서 사람이 직접 확인할 수 있는 문자 코드에 제한 없이 내용을 확인할 수 있도록 해줍니다. 위의 그..
글을 쓰려다 달력을 보니 다음주면 한글날이네요. 1991년부터는 휴일이 아니었다가 여러 부침끝에 올해는 공휴일인 한글날을 맞이하게 됩니다. 한글만큼 과학적이고 우수한 문자가 없지만 컴퓨터 입장에서 보면 영어중심의 환경이다보니 한글 표현에 여러 혼란과 어려움이 있었습니다. 예전의 조합형, 완성형 한글 논란부터 현재의 EUC-KR, UTF-8 인코딩 까지 다양한 한글 표현만큼 개발자의 부담은 늘어날 수 밖에 없습니다. 현재는 EUC-KR과 UTF-8로 한글 인코딩의 사용 범위가 수렴되었다고 볼 수 있습니다. 결과적으로 조합형 한글 표현 방식은 사라지고 완성형 한글이 대세가 되었습니다. EUC-KR은 완성형 한글을 의미합니다. KSX1001, KSC5601도 EUC-KR을 의미합니다. EUC-KR과 유사한 용..
토터스깃의 한국어 적용과(한글 환경으로 토터스깃 사용하기 참조) 함께 사용중에 아직 번역이 진행되지 않은 부분을 만나면(2015년 10월 1일 현재 1.8.15.0 버전의 한국어 번역 진행률은 94%) 웹상에서(https://www.transifex.com/projects/p/tortoisegit/ 참조) 번역팀의 팀원으로 참여해서 작업을 진행할 수도 있지만 사전에 자신의 개발 환경에서 번역을 진행해서 테스트할 수 있는 방법도 있습니다. 위의 그림과 같이 번역이 미비된 부분에 대해서 직접 수정해서 일단 사용해 보고 싶다면 우선 두가지가 준비되어야 합니다. 첫번째는 번역을 위한 번역 파일 원본(*.po)이고 다른 하나는 번역을 적용하기 위한 언어 DLL파일입니다. 우선 번역 파일 원본은 위에서 언급한 tr..
PresentationFontCache.exe는 윈도우의 시스템 프로그램으로 WPF(Windows Presentation Foundation) 응용을 위한 시스템 서비스라고 합니다. 필자의 경우 오랜 기간 이것을 어떻게 처리해야 하나? 하며 고민 했지만 윈도우의 시스템 프로그램이니 어떻게 조치할 방법이 없다고 여겼는데 의외로 간단하게 처리할 방법이 있었네요. 알고보니 해결 방법이 너무나 단순해서 그저 헛 웃음이 나올 뿐입니다. PresentationFontCache.exe이 CPU를 꾸준하게 잡아먹으면서 CPU로 인한 시스템 온도가 상승하고 가끔 "삑"하고 시스템이 중단되는 사태가 종종 발생하고는 했던 것입니다. 적용 결과 적용 이전 보다 CPU 온도가 20~30도 가량 내려가네요. 쩝........작업..
"표절"과 관련한 뉴스가 심심치 않게 들려오고, 구인구직 현장에서도 입시 현장에서도 "표절"은 주요 이슈 중의 하나입니다. 내 생각, 내 창작물이 아닌 다른이의 것을 베끼는 "표절"은 범죄 행위임에 틀림없습니다. 특히 다른이의 글을 통으로 복사해 놓고 앞뒤 문단을 이어주는 글만 살짝 바꾸어 사용하는 짜깁기 표절은 악성 표절임에 틀림없습니다. 정식으로 인용 또는 참조 표시를 하기만 해도 될텐데, 다른이의 글을 가져다 쓰면서 자신의 글인양 포장하는 행위는 그 어떤 변명으로도 정당화되지 못할 것입니다. 정보 기술의 발전과 함께 표절을 찾아내는 방법도 지속적으로 발전해 와서 표절 검사로 비즈니스를 하는 회사도 한둘이 아닙니다. 표절을 찾아내는 방법은 검사 주체에 따라 크게 두가지로 나눌 수 있습니다. 한가지는 ..
2015년 가을 TV를 도배하고 있는 두가지 광고가 있습니다. 하나는 네이버(NHN)의 PAYCO이고 다른 하나는 이번 글의 소재인 삼성페이입니다. 자주 대하는 광고이지만 나와 깊은 연관이 없다면 별 관심 없이 "뭔가를 새로 시작하는가 보다" 정도로 지나치게 마련이죠. 그런데, 알고보니 삼성페이는 뭔가 "다름"이 있더군요. 바로 MST(Magnetic Secure Transmission) 라는 특이한 기술이었습니다. 우리말로는 "마그네틱보안전송" 이라 하는데 기술을 간단히 설명하면 매장에서 신용카드로 결제할 때 통상 단말기에 신용카드를 긁어서 결제하는 방식은 신용카드 뒷면에 있는 자성체(magnetic stripe) 때문인데 이 자성체를 읽는 헤더에 신용카드 실물 없이도 카드를 긁는 것처럼 자기장을 일으..