아이들 학교 축제 준비를 하면서 동영상 편집 도구로 윈도우 무비 메이커를 사용한다는 이야기를 들었는데 막상 사용해 보려고 이것 저것 알아보니 "무료"로 배포하고 있고 서비스팩에 자동 포함된다는 설명도 있기는 한데 찾기가 쉽지는 않군요. 위의 그림은 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) 때문인데 이 자성체를 읽는 헤더에 신용카드 실물 없이도 카드를 긁는 것처럼 자기장을 일으..
PHP를 웹서버에서 사용하는 것이 일반적이고 대부분의 개발자가 사용하는 형태이지만, 저의 경우에는 데스크탑이나 서버 내부의 일괄 작업에 가끔 PHP CLI를 활용해서 작업합니다. 수백개내지 수천개의 작업을 손으로 한다는 것은 일의 효율도 떨어질 뿐더러 정확성도 떨어지기 때문입니다. 이렇게 대량의 작업을 하는 경우에는 대부분 동일한 작업을 단순 반복하는 형태이므로 간단한 프로그램으로 일괄 작업하기에 아주 적당합니다. PHP CLI(Command Line Interface)는 PHP를 설치하면 아파치와 같은 웹서버 없이도 간편한 작업이 가능합니다. 자바처럼 컴파일도 필요없고 자바 스크립트처럼 웹브라우저를 필요로 하지도 않지만 네트워크, 데이터베이스, 파일등 왠만한 작업은 모두 가능하기 때문에 반복적인 업무를..
토터스깃의 다국어 적용 방식은 조금 특이해서 토터스깃을 설치하면 영어가 기본 언어로 표시되지만 언어 파일이 따로 존재하는 것이 아니라 DLL 파일에 언어 파일을 적용하기 때문에 한국어 인터페이스 또한 별도의 DLL을 배포하는 방식으로 운용합니다. 아래의 그림은 토터스깃을 설치한 다음의 Language 폴더로 이 폴더에 각 언어별 DLL이 위치하지만 설치 시점에는 별도의 언어관련 DLL은 찾을 수 없습니다. 영어 이외의 언어는 별도로 언어팩을 설치해야 합니다. 일단, 한국어 환경을 적용하려면 한국어 언어팩을 https://tortoisegit.org/download/에서 아래의 그림과 같이 다운로드해서 설치해야 합니다. 다운로드 페이지의 한국어 번역 진행 상황을 보면 94%로 아직 완전한 번역이 진행되지 ..
토터스깃(TortoiseGit)을 어떻게 발음하는가 살펴보지 않고 "토르토이즈깃"이라 보이는대로 발음하던 때가 창피하기는 하지만 "토터스깃"도 그리 친한 느낌이 들지 않아서 "거북깃"이라 부를까? 하는 생각도 해봅니다. Daum 사전의 발음 기호는 tortoise [tɔ́ːrtəs]입니다. 주제와는 다른 이야기이기는 하지만 영어 동물 이름이 철자와 조금 다른 경우가 종종 있습니다. 우리말로는 코요테라 부르는 동물이 대표적인 예로 coyote의 발음 기호는 [kaióuti]이어서 "카이오티"에 가깝습니다. 각설하고 "윈도우에서 깃(Git)을 좀더 편리하게 사용하기 - TortoiseGit", "기존 코드를 깃으로 형상관리하기", "네이버 개발자센터를 깃 저장소로 사용하기", "깃(git) 웹서비스 설치하기..
이번 포스팅은 지난 VB.Net 객체지향프로그래밍의 실제1에 이어서 VB.Net의 객체 지향 프로그래밍과 관련한 나머지 사항을 나눌까 합니다. ■ 접근 변경자(Access Modifiers)특정 클래스 앞이나 클래스내 속성이나 함수에 붙어서 그 성격을 한정하는 변경자(Modifier)는 객체 지향 프로그래밍 과정에서 가장 빈번하게 만나는 키워드가 아닐까 싶습니다. Namespace Customer Public Class CustBase Public name As String Public Sub New(ByVal newname As String) name = newname End Sub Sub CallTest() MyClass.Calling() Me.Calling() End Sub Overridable S..
원격 블로깅이란 "티스토리 원격블로깅하기 - 데스크탑블로깅" 에서 다룬것처럼 인터넷 연결과 무관하게 자신의 컴퓨터에서 워드나 아래아 한글과 같은 문서작성기로 작성한 자료를 문서작성기에서 직접 블로그에 등록하는 것을 의미합니다. 인터넷 환경에서 이미지를 등록하고 텍스트를 배치를 하는 부담을 줄이고 블로그 시스템에 로그인하는 과정없이도 간편하게 글을 작성할 수 있는 장점이 있습니다. 이번 포스팅은 마이크로소프트상의 워드 대신 국산 패키지인 한컴오피스(한컴오피스 한글 2010)를 활용하여 원격블로깅하는 과정을 다루어 보겠습니다. 티스토리 원격블로깅을 사용하기 위해서는 위의 그림과 같이 티스토리 관리자 페이지>글 관리>글 설정에서 [BlogAPI] 탭에 있는 "API 사용"을 체크해야 합니다. 한컴오피스에서는 ..
올해는 유난히도 피가 많이 설치는 한해였다. 늦봄 논 전체를 샅샅이 뒤져가며 그리 피 뽑기를 했는데도 불구하고 벼가 누렇게 익어가는 이 시기에 어디에 숨어 있었는지 피가 한창이었습니다. 예년 같으면 모내기한 논에 탈곡을 끝낸 밀 줄기와 보리 줄기를 잘라서 뿌려주어서 그랬는지는 몰라도 피가 거의 없었는데 올해는 밀농사 실패로 줄기도 뿌려주지 못하고 모내기 이후 벼가 자리를 잡지 못하는것 같아 물을 몇일 빼주었더니 피가 제 세상을 만난던것 같습니다. 피사리는 곡식 가운데 함께 자라고 있는 피를 뽑아내는 작업을 의미하는데 이번에 한 작업은 피사리이기 보다는 "피 수확"에 더 가깝지 않을까 싶네요. 피가 열매를 맺지 않은 상태라면 뽑아서 둘둘말아 논바닥에 묻으면 그만인데 열매도 나왔고 밀 농사를 위해서 논 말리..
이전부터 사용하던 그누보드4의 기능중에 자주 사용하지 않아서 모르고 있었던 변화가 있었더군요. 회원가입이나 회원 정보 수정에서 주소 입력에 사용하던 우편번호 검색 기능입니다. 기존 코드에서 AJAX 방식으로 sir.co.kr 사이트에서 정보를 검색 및 출력해 주는 방식이었는데 sir.co.kr에서 더이상 지원하지 않는다는 공지가 있더군요. 늦었지만 해결 방법을 찾아보니 다른 분이 주소만 바꾸면 동일한 방식으로 사용할 수 있도록 서비스를 제공하기도 하지만 근원적인 해결 방법이 아니고 또 새로운 우편번호 체계를 적용하는 문제와 지속적인 데이터베이스 업데이트를 생각한 다면 포털에서 제공하는 서비스를 적용하는 것이 적절하다고 생각 되었습니다. 무엇보다 아래와 같은 장점이 있었습니다.별도의 등록 과정이 필요없습니..
블로깅을 지속적으로 하는 블로거라면 웹상에서 글을 쓰고 이미지를 첨부하는 것이 불편하지는 않지만 가끔은 인터넷이 않되는 환경에서 글을 작성하고 싶은 경우도 있고 비공개 상태로 쌓인 글이 눈에 거슬리는 경우도 있습니다. 어떤 때는 전원이 날라가버려 한참 작성하던 글이 날라가버리는 황당한 경우도 있습니다. 이런 경우에는 워드나 한글과 같은 오피스 프로그램으로 문서를 작성하고 문서가 완성되면 문서에서 직접 블로그에 전송하는 방법이 있습니다. 이런 방법이 가능한 것은 블로그 서비스를 하는 티스토리 측에서 BlogAPI 기능을 제공하기 때문입니다. 위의 그림은 티스토리 관리자>글관리>글설정 페이지에서 상단 "BlogAPI"를 선택한 화면으로 워드와 같은 도구에서 간편하게 원격블로깅할 수 있음을 안내하고 있습니다...
깃(Git)을 웹을 통해서 접근할 수 있도록 설정하는 방법을 다룰까 합니다. 본 포스팅은 윈도우 시스템을 타겟으로 하지만 리눅스나 기타 시스템도 유사하게 적용할 수 있습니다. 깃(Git)을 웹을 통해서 접근할 수 있도록 하려면, 다시말해서 현재 PC를 웹을 지원하는(HTTP 또는 HTTPS) 깃서버로 사용하기 위해서는 우선 시스템에 깃을 설치해야 합니다(윈도우에서 깃(git) 설치하기 참조) 그리고 아파치 웹서버 또는 아파치 웹서버가 포함되어 있는 XAMPP와 같은 APM(Apache+PHP+MySQL) 패키지를 설치합니다. 그리고 깃 저장소들을 일괄적으로 포함하고 있는 폴더를 준비하면 깃의 웹서비스를 위한 준비는 충분합니다. 본 포스팅에서는 Apache 2.4.2 기반의 XAMPP를 사용하고 C:\gi..
리브레오피스라는 단어가 아직 익숙하지 않지만 한글과 MS 오피스가 시장을 장악한 한국 땅에서 일반 개인과 기업에서도 비용 부담없이 간편하게 무료로 사용할 수 있는 오피스 프로그램이 존재한다는 사실은 오픈 소스 소프트웨어의 발전에 대한 고마움을 절로 표현하게 만듭니다. 리브레오피스의 시작은 Sun에서 만들었던 스타오피스(StarOffice)와 스타 오피스의 오픈 소스 버전인 오픈오피스(OpenOffice)로 거슬러 올라갑니다. 오픈오피스 때만해도 무료로 MS 오피스 파일을 읽을 수 있다는 것만으로도 해방감을 느꼈던 기억이 있었는데 성능도 좋고 쓸만한 상태로 다시 만나니 감회가 새롭습니다. 리브레오피스(LibreOffice)는 오라클이 Sun을 인수하면서 종료되었던 OpenOffice 프로젝트의 후속 버전으..
VB.Net의 객체 지향 프로그래밍에 대해서는 앞선 글(OOP와 VB.Net 클래스 참조)에서 간단히 다룬 적이 있었습니다. 이번 포스팅은 지난번 OOP 관련 글에 이어서 좀더 자세하고 실제적인 코드 샘플과 함께 비주얼베이직 닷넷에서 어떻게 객체지향프로그래밍을 할 수 있는지 살펴보고자 합니다. 프로그래밍 언어론이나 소프트웨어 공학에서 교과서에서나 다룰만한 내용이고 복잡한 것이라 치부하고 넘어가기에는 너무도 아까운 내용입니다. 튜토리얼이나 매뉴얼대로 따라하기 하면서 이론과 원리를 이해하지 않고 누군가 사용하는 방식대로 코딩해도 무리는 아니지만 원리를 이해하고 사용하면 그 응용력의 힘은 과히 비교할 수 없을 정도입니다. 그리고 VB.Net에서 사용한 OOP 개념은 최근에 많은 프로그래머로부터 인기를 얻고 널..