즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

전체 글 258

2008.04.12 MS 글로벌 서밋 & 캐나다 여행기 (6)

일어나자마자 짐을 싸고 호텔 체크아웃을 했다. 밥도 안먹고 늦을까바 거의 뛰다시피 캐나다에 가는 퀵셔틀 버스 정류장에 갔다. 시간이 남아 근처에 있던 맥도날드에서 버거를 한입 베어물었다. 근 5시간여만에 다시 도착한 캐나다 밴쿠버.. 오늘은 벤쿠버 시티투어를 하는 날이다. 여장을 풀고 다시 나왔다. 증기시계가 있는 ??타운, 캐나다 플레이스, 스탠리 파크를 돌아보며 관광객 중 반이 한국인이라는것에 다시 한번 놀랐다. 하다 못해 “스카이라인 관광”이라는 버스가 줄곧 따라 다니는 것처럼 보였다. 다시 돌아왔다. 하도 걸어서 다시 체력소진하여 9시에 또 잤다. 내일 새벽 4시에 일어나야 했기에.. 한국에서는 꿈도 못꿀 바른생활 사나이가 되어 버린듯 하다.

2008.04.12 MS 글로벌 서밋 & 캐나다 여행기 (5)

오늘은 MS본사에 가지 않고 호텔에 머물면서 시애틀을 두루 돌아볼 예정이다. MS본사에서 들어도 이해되지 않는 세션보다는 오기 힘든 이곳을 보다 더 많이 돌아 다니는게 좋을 듯 해서다. 오후 7시에 있을 EMP가서 락공연을 들으며 저녁이나 먹어야 겠다. ㅋㅋㅋ 라고 했으나 아침에 쓰고 잠시 너무 졸려서 잠을 잤더니 오후 6시까지 자버렸다. 억~~~ 시차적응이 너무 안된다. T_T 룸메이트가 아니었으면 EMP까지 못갈뻔 했다. EMP에가는 버스에 올라 도착한 후, 스페이스 니들 옆에 있는 EMP에서 사진을 찍고 준비된 음식을 먹으며 돌아다녔다. 오후에 가려했던 사이언스 픽션 박물관도 혼자 돌아다녔다. 오후에 올 뻔 했던 이곳, 별로 였다. ㅎㅎㅎ 오후 8시가 되고 다시 피곤해져서 호텔로 가는 버스에 홀로 ..

2008.04.12 MS 글로벌 서밋 & 캐나다 여행기 (4)

또 5시에 일어났다. 미국여행하면 바른생활 사나이가 될 것 같다. 샤워하고 7시 즈음 아침을 먹으러 갔다. 베이글에 스크램블.. 맛이 안 난다. 사과 하나, 주스, 요플레, 비스킷, 거의 반만 먹고 버렸다. 너무 많이 줘.. T_T 버스를 타고 가는데 룸메이트가 버스에 자리가 없다고 내려버렸다. 난 외국인 옆에 앉아 또 콩글리쉬로 대응을 하며 약 3~40분 동안 레드몬드 지역에 있는 MS 본사에 도착했다. 레드몬드 지역 전체가 Microsoft로 하나의 도시로 이루어져있었다. 그 내부에서 운행되는 셔틀버스, 셔틀택시는 모두 공짜였다. 물론 직원과 MVP만 이겠지만.. 우선 첫날 일정은 Microsoft Convention Center(MSCC)에서 죽 돌이 하고 있는 중이다. Session은 듣고는 있지..

2008.04.12 MS 글로벌 서밋 & 캐나다 여행기 (3)

또 5시에 일어났다. 잠이 안 온다. 아직 시차적응이 안 된다. 일어나서 샤워할라 치고 어제 안 했는데.. 물을 어떻게 트는지 모르겠다. 한참 씨름 끝에 세수만 했다. T_T 이제 WSCTS를 가야 하는데 가는 길을 모르겠다. 8번가에 위치하고 어제 김용현님이 Westin호텔과 붙어있다는 말에 어쨌든 Westin 호텔로 가보기로 했다. 엄청 멀다. 1시간 30분을 걸어 댕기는 끝에 다행히 찾아버렸다. 역시 난 길치가 아니다. 가는 길에 호텔에서 나온 차를 향해 시민들이 우레와 같은 함성과 박수를 치고 있었다. 무슨일인지 모르겠다. 시애틀 아침의 거리를 거니는 동안 사진을 하나도 안찍었다니... 바부..멍충이 T_T MVP등록하는 곳을 찾아가니 비행기에서 본 MVP님들을 찾았다. 그분들한테 등록방법을 묻고..

2008.04.12 MS 글로벌 서밋 & 캐나다 여행기 (2)

새벽 3시 30분(한국시간으로 오후 7시 30분) 너무 일찍 잔 나머지 너무 일찍 깨버렸다. 잠도 안온다. 그래서 이거 쓰고 있다. 오늘은 그라우스산에 가서 스노우보딩을 하려고 했다. 그러나 지금 밖에 비가 오고 있다. 6시 30분 샤워를 하고 밖을 나섰다. 아침을 먹기 위해서였다. 호스텔에서 무료로 준다던 아침을 먹기위해 갔더니 부엌만 빌려줄 뿐 어떻게 사용하는지 몰라 맥도날드에 가서 맥모닝을 사먹었다. - 한국에서도 안먹어본 맥모닝... 캐나다에서 먹어본 음식중 가장 맛있었다. - 다행히 여기 분들이 그라우스 산의 상태가 그렇게 나쁘지 않고 오늘 비가오더라도 오픈할거라는 소리를 들어서 8시에 한국인이 주인인 렌탈샵에 전화문의를 해서 갈 예정이닷. 렌탈샵에 문의해보니.. 렌탈샵이 영업을 중단했다고 한다..

[2021.04] DICOM UID 생성규칙

UID는 Unique ID의 약자다. DICOM은 NEMA에서 제정된 의료 결과에 대해 네트워크, 결과파일 등을 집대성한 표준 프레임워크이다. DICOM 네트워크에서 결과들은 유일무이해야 하기 때문에 일종의 UID 생성규칙이 있다. 아래에서 설명하는 표준규칙은 전세계의 DICOM이미지들이 하나의 네트워크에서 통용될 때에도 유일하도록 제정된 방식이다. 즉 내 병원에서 생성한 이미지는 절대로 밖으로 유출하지 않고 우리병원에서만 사용한다고 하면 궂이 표준 방식으로 생성할 이유는 없다. 비표준 규칙방식은 단순히 GUID만 들어가기 때문에 한림성심병원 처럼 8개 병원을 서버 연계를 통해 결과를 공유하는 병원같은 경우 자칫 유일하지 않게 될 여지가 있기 때문에 표준을 따르는 것이 중요하다. 표준규칙 예제) 1.2...

[2021.04] C# + DevExpress Grid에서 문자로 된 숫자 정렬하기

3, 2, 1, 11, 5, 6, 7, 8, 9, 10, 4, 12 이렇게 숫자가 있다고 치자. 이것을 DevExpress에서 정렬하라고 하면 다음처럼 정렬된다. 1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9 이는 숫자가 아닌 문자로 정렬되기 때문이다. 열의 속성을 숫자형태로 하면 자동으로 숫자로 정렬되는 뭔가가 있으면 좋겠으나 DevExpress에서는 CustomColumnSort()라는 메서드를 제공해준다. 정렬하고자 하는 컬럼의 속성 중 SortMode를 Custom으로 수정한다. 컬럼을 그리드에 추가해주는 로직 다음에 추가해주면 된다. treeDICOM.Columns["col1"].SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom; tre..

[2021.04] C#에서 WIN32 API를 이용한 객체로 폼 이동방법

제목 만들기 참 까다롭고 설명하기 난해할 것 같은데, 예를 들어 설명해보겠습니다. 폼의 Borderstyle을 None으로 해서 툴박스나 X박스 없이 이미지를 백그라운드로 입혀서 이쁘게 만들려고 하면, 어? 툴박스가 사라져서 폼을 이동할 수 있는 방법이 사라집니다. 이런 어플리케이션 보면 거의 움직이는 것을 본적이 없는 것 같네요. 그런데 난 움직이게 하고 싶다. 하면 이 글을 잘 찾아오신 겁니다. 단, 윈도우32 API를 이용할 것이기 때문에 윈도우에서만 됩니다. 아래 예제는 폼 자체에 이벤트를 후킹할 것이기 때문에 폼의 영역 아무곳을 클릭해서 잡아 끌면 폼 자체가 이동됩니다. 옛날 윈도우 개발하시던 분들 SendMessage, ReleaseCapture 많이 보셨을 겁니다. 이것을 이용합니다. con..

개발/C# 2021.04.06

[2021.04] C#에서 이중 인증 중 OTP 활용 방법

개발환경: VisualStudio 2017, Devexpress 20.x 왜이리 한글 문서들로 정리된 문서가 없는지 또 작성해본다. 보통 이중인증 보다는 투-팩터 인증이라는 단어를 많이 사용한다. (나만 그런가?) 요즘 사이버 보안이 잘 뚫리다 보니 아이디/패스워드 로그인 체계에 덧 붙여서 이중 또는 다중 인증을 사용토록 하는게 요즘 인/허가 가이드의 보안 방침이다. 이중 인증의 방식은 공인인증, 사설인증, 생체인증, 간편인증, ... 진짜 많다. 그 중 본문에서는 시간정보와 비밀키를 이용한 OTP를 다뤄볼까 한다. OTP를 계산하는 방식은 동일하기 때문에 어떤 OTP앱을 사용해도 동일하게 인증 체크가 가능하다. 개념만 알면 엄청 단순해서 글 작성이 안된 것일까? 아니면 많이 사용하지 않아서일까? 참고U..

개발/C# 2021.04.06

[2021.03] VB 6.0 이중 실행 방지 구문

안녕하세요. 오늘은 거의 제가 사용하지 않지만 10년 넘게 개발했었던 VB 6.0 팁 코드를 적어볼까 합니다. 서버 프로그램 개발 시 사용자나 스케줄러에 의해서 이중 실행될 경우에 대한 문제가 있을텐데요. 이를 프로그램 진입 점에 이중실행 여부를 체크하여 종료시키는 중요한 코드입니다. 자체적으로 이중 실행 구문을 체크하는 코드는 다음과 같습니다. If App.PrevInstance = True Then Exit Sub end if 그러나 윈도우 하나의 세션에서만 감지할 뿐 다른 세션에서 실행 시 감지를 못하는 단점이 있습니다. 보통 원격데스크탑으로 접속하면 세션이 추가로 생성되서 열리는데 여기서 실행이 되지 않았다고 판단하고 사용자가 실수로 실행을 할 수 있다는 여지가 생깁니다. 저도 이런 실수를 무지 ..