Archive for the ‘Tidbits’ Category
Deki wiki is down
‘Your wiki is down’ 이란 메시지 표시된다면 ‘/etc/init.d/dekihost restart’으로 리스타트 해줄 것.
이거 찾으려다 발견한 Deki Wiki 무료 호스팅 서비스 : MindTouch Wik.is: Free Deki Wiki Hosting ( 그런데 정작 등록은 12월부터 가능하다네, 쩝 )
Powered by ScribeFire.
Windows Installer CleanUp Utility
Visual Studio 2008 설치 시 이전 버전 uninstall 과 관련한 에러 해결해야 하는 경우 사용해보세요.
우선 Steps to Uninstall VS 2008 Beta2 before installing the VS 2008 Final Release – ScottGu’s Blog 을 참고해서 처리하고 그래도 해결 안되면 …
Windows Installer CleanUp Utility : http://support.microsoft.com/kb/290301
Powered by ScribeFire.
Greg the Architect, SOA 비디오
IBM 제공하는 SOA 소개용 만화 ([IBM SOA 만화책] 새로운 비즈니스 언어 SOA 시리즈)도 있었지만 그것보다 훨씬 흥미로운 서비스를 발견했다.
TIBCO 에서 제공하는 재미난 비디오, Greg the Architect 시리즈. 시리즈 순서대로 볼 수 있는 목록을 찾기 힘든게 단점이지만 ( 물론 더 큰 단점은 영어란 점 ㅎ ) IBM 거 보다는 확실히 재밌다.
tracks
요즘 들어 블로그들에서 GTD (Getting Things Done)에 관한 얘기가 종종 언급되는 것을 볼 수 있는데 이와 맥을 같이 하는 웹어플리케이션으로 특히 루비 매니어들에게 인기있는 tracks 를 윈도우에 쉽게 설치하는 방법이 있어 소개합니다.
우선 ruby 는 별도로 설치하셔야 되고 그다음 Jim Strupp 이란 친구가 uniform server 에 패키징한 tracks 소스를 Tracks4Win 에서 다운로드 받아 압축 풀고 사용하시면 됩니다. ( 별도로 손가는 일은 이 곳에서 mysql.rb 파일을 다운로드해서 ‘ruby 설치디렉토리\lib\ruby\1.8′ 밑에 넣어주는 겁니다 ).
자세한 설치 설명은 위 주소에 있는 install 관련 문서에 잘 나와있어요.
참고 : GTD 관련해서 읽어볼만한 글들
[Memo]How to Run a Meeting Like Google
Memo
- The ultimate webdesign usability checklist
- Timeline : DHTML-based AJAXy widget for visualizing time-based events
- Django Book
VBA 정규식 2탄
VBA 에서 정규식 쓰는 법 알아낸 김에 응용해서 한 건 또 해봤다.
서울 Seoul
인천 Incheon
전남 Jeollanam-do
…
강남구 Gangnam-gu
강동구 Gangdong-gu
과 같은 주소 정보를 가지고 아래와 같이 한글 주소명을 영문 주소명으로 치환하는 매크로
서울 강남구 도곡동 543 Seoul Gangnam-gu Dogok-dong 543
딴 부분은 짤 때 별 문제 없었는데 단어별 분리하기 위한 패턴 때문에 땀 좀 뺐다.
“\w+” 를 사용할 경우 영문은 잘 되는데 한글 단어는 전혀 먹지 않아서 씨름 좀 하다가 “\W[^ ]+” 로 해결하기는 했는데 그리 깔끔한 해결책은 아닌듯 싶다(java 였다면 그냥 StringTokenizer 사용했을텐데 VB 사용 안해본지 오래 되어 그냥 정규식을 이용해봤다)
그럭 의도한대로 돌긴 하는데 성능은 영 아니다. 좀 더 재미난 해법도 있을듯 한데 나중에 한 번 새로 짜면서 고민해보도록 하자
Sub getEngAddr()
Dim c As Variant
Dim d As Variant
Dim i As Integer
Dim lc As Variant
Dim lc1 As Variant
Dim kor_addr As String
Dim eng_addr As String
i = 0
lc = Range("A1").End(xlDown).Address
lc1 = Worksheets("Addr").Range("A1").End(xlDown).Address
Dim re As New RegExp, m As Match
For Each c In Range("B2:" & lc)
kor_addr = c.Value
re.Pattern = "W[^ ]+"
re.Global = True
For Each m In re.Execute(kor_addr)
For Each d In Worksheets("Addr").Range("A1:" & lc1)
If (Trim(m.Value) = d.Value) Then
eng_addr = eng_addr & " " & d.Cells(1, 2)
i = i + 1
Exit For
End If
Next d
If (i = 0) Then
eng_addr = eng_addr & " " & m.Value
End If
i = 0
Next
c.Cells(1, 3) = Trim(eng_addr)
eng_addr = ""
Next c
End Sub
VBA 에서의 정규식 사용법
프로그래밍 할 줄 모르는 현업 사용자와 같이 작업하다보니 가끔 Excel 의 macro를 작성해주는 경우가 종종 생기고 있다.
텍스트 중 일부 문자를 제거하는 기능이 필요해서 간단하게 짜고 보니 substitute 함수를 중첩해서 사용한 사용자나 replace 함수를
반복해서 쓴 내 방식이나 실상 똑같은거고 정규식을 활용하면 훨씬 깔끔하겠다 싶어 VBA 에서의 정규식 사용법을 찾아보았다.
VBA 에서 정규식을 사용하려면 우선 정규식 지원 컴포넌트를 추가해주어야 하는데 VBA 에디터 창의 Tools > Reference ( ‘도구 > 참조’) 에서 ‘Microsoft VBScript Regular Expressioins 5.5′ 를 선택해주어야 한다. (자세한 내용은 ‘Introduction to Regular Expressions in Visual Basic‘ 을 참고)
아래는 정규식 지원 설정 후 짠 간단한 샘플 소스로 정규식 이용한 함수는 “Using regular expressions to remove characters from a cell” 에서 가져온 것이다.
Function RemoveMatch(LookIn, PatternStr, Optional ReplaceWith = "")
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
With re
.Pattern = PatternStr
.Global = True
End With
RemoveMatch = re.Replace(LookIn, ReplaceWith)
Set re = Nothing
End Function
Sub RemoveChar()
Dim c As Variant
Dim mc As String
Dim lc As Variant
lc = Range("A1").End(xlDown).Address
mc = Application.InputBox("제거할 문자 전부 입력!")
mc = "[" & mc & "]"
For Each c In Range("A2:" & lc)
c.Cells(1, 2) = RemoveMatch(c, mc)
Next c
End Sub
APM 최신 버전 설치 메모
임시로 게시판 쓸 일 있어 APM 을 간만에 급히 설치해보았다. 작업하면서 애먹은 것 몇가지 메모
- Apache 2.2.*
- PHP : 5.2
- MySQL : 5.0 Community Server
- OS : Win XP
처음 PHP 5.1.6 버전 설치했는데 php5apache2.dll 을 제대로 로딩하지 못했다. 구글해보니 이런 경우 PHP 5.2대 사용해보라는 글있어 다시 내려받았다. 그 문서에서 권고한대로 php5apache2.dll 대신 php5apache2_2.dll 을 잡아주었더니 잘 된다. ( 이 dll 로딩 문제는 꼭 이렇게 해서 해결되었다고 하긴 힘들다. 중간에 이것저것 건드렸는데 그 중 하나가 진짜 이유일지도 … )
httpd.conf 에 다음 내용 추가
LoadModule php5_module “c:/usr/php/php5apache2_2.dll”
PHPIniDir C:/usr/php
AddType application/x-httpd-php .php5 .php .html .htm .inc .phtml
이전에는 window\system 디렉토리에 php.ini 파일 넣어주었었는데 ‘PHPIniDir …’ 옵션이란 걸로 그거 지정해줄 수 있다는 거 이번에야 알았다 ^^;
php.ini 파일에서 다음 내용 편집
extension_dir = “C:\usr\php\ext\”
여기서 디렉토리 구분자를 Unix 식으로 해줘야만 한다는 얘기도 있던데 꼭 그렇지는 않더라. 기타 각각의 옵션 스위치 On, Off 하는 것은 구글하면 수없이 뜨니까 따라하도록 하고 … ( 내 경우는 http://a51.neostrada.pl/#php 을 보고 따라했음 )
extension=php_mysql.dll 을 풀어주니까 로딩 시 에러가 났다. 내 경우에는 php 설치 디렉토리에 있는 “libmysql.dll” 파일을 window 시스템 디렉토리에 복사해 넣어주고 apache 재시동해주니 정상 작동. APM 최신 버전 설치 끝.
VIM의 패턴 매칭 블럭 호출
안쓰면 자꾸 잊어먹게 되는 vim 의 정규식 사용법. 오늘도 또 헤맸다 ㅜㅜ.
‘1234-ABCDEF’ 과 같은 문장들을 ‘ABCDEF-1234′과 같은 식으로 바꾸려면
:%s/\([0-9]\{4\}\)-\([A-Z]*\)/\2-\1/g
과 같이 하면 된다.
허구헌날 vim 에서의 패턴 매칭 블럭 호출을 \1, \2 식으로 써야할 걸 &1, &2 식으로 해놓고는 허우적된다.
p.s : 좀 더 정확히 표현하자면 \1, \2 는 검색된 문자열이 저장되는 Buffer 의 번호로 이 버퍼는 1 ~ 9까지 제공된다.
