비주얼 스튜디오 코드로 개발한 C# 닷넷 프로그램의 코어 덤프 보는 방법을 메모해 둔다.윈도우에서 Exception으로 프로그램이 죽는 경우 코어 덤프를 남기는 방법은 "윈도우 10에서 프로그램 비정상 종료 시 덤프를 남기도록 설정하는 방법"을 참조한다. 위의 그림과 같이 코어 덤프가 남는 경우 비주얼스튜디오로 열어 볼 수도 있지만 VS Code만 가지고 작업하는 환경이라면 닷넷 덤프를 활용할 수 있다. 우선 위의 그림처럼 "dotnet tool install -g dotnet-dump" 명령으로 닷넷 덤프 프로그램을 설치한다. 파워쉘이나 콘솔 창에서 "dotnet-dump analyze .\AppTest.exe.6204.dmp"처럼 코어 덤프를 열고 필요한 명령을 내릴 수 있다. 프로그램을 실행하면 ..
시간이 갈수록 DBMS 개발사에서 개발자가 사용에 편리하도록 기능을 추가하고 수정하는 경향은 당연한 듯 보이지만 각 DBMS의 특성 때문에 어쩔 수 없이 서로 다른 문법을 유지할 수밖에 없는 것은 개발자가 감수해야 하는 상황으로 보인다. C# 닷넷으로 개발한다면 DbProviderFactories를 이용하여 서로 다른 DBMS를 사용하는 환경 속에서도 응용 프로그램의 변경을 최소화할 수 있는데 이 경우에도 DBMS 간의 SQL 차이 있는 부분은 어쩔 수 없이 서로 다른 SQL을 사용해야 한다. 물론 단순 SELECT, INSERT, UPDATE, DELETE 명령을 사용한다면 하나의 응용 프로그램 로직으로 여러 가지의 DBMS에 대응할 수 있다. 본 포스팅에서는 SQLite3와 SQL Server의 SQ..
"무료 DB SQL Server Express 설치 및 사용" 글에 이어지는 포스팅입니다.소규모 시스템에 적용하기 좋은 DBMS인 SQL Server Express를 설치하고 네트워크 설정과 DB 생성, DB 사용자 추가 등으로 개발 준비를 마쳤으면 본격적인 개발에 앞서 주요 DB 기능 들이 정상적으로 동작하는지 간단한 프로그램을 통해서 테스트를 수행하고자 한다. 닷넷 8.0 이상의 SDK와 VS Code 환경에서 진행한다. 위의 그림처럼 콘솔 창에서 작업 폴더로 이동하여 "dotnet new console -n SqlTest2" 명령으로 SqlTest2라는 이름 C# 콘솔 프로젝트를 생성한다. VS Code로 해당 폴더를 열면 위의 그림처럼 콘솔 프로젝트 템플릿으로 만들어진 파일들을 확인할 수 있는..
이번 TMB 걷기 여행의 마지막 고개인 발므 고개(Col de Balme, 2,191m)에 오르니 만감이 교차합니다. 첫날부터 오늘까지 계속 화창한 날씨로 알프스의 아름다움을 만끽할 수 있었던 감사도 있었지만, TMB 2일 차에 거의 탈진 상태로 산장에 도착했던 경험과 클래식 TMB 경로가 아닌 곳을 걸었던 TMB 3일 차, 4일 차의 아찔한 기억은 어려운 가운데서도 결코 잊을 수 없는 소중한 기억으로 남았습니다. 발므 고개에서 바라보는 프랑스 샤모니 방향의 풍경은 가까이는 케이블카 종점을 중심으로 널찍한 초지가 펼쳐져 있고 그 뒤로는 빙하를 머리에 이고 있는 고봉들이 자리하고 있습니다. 저희가 발므 고개에 도착한 시간이 오전 10시경이었는데 딸랑딸랑 워낭 소리를 내며 한 무리의 소떼들이 케이블카 정류..
오픈 소스 DBMS가 시장의 절반을 넘기고 있는 상황에서 상업용 DBMS를 만드는 업체들의 전략도 변화하고 있다. 이른바 개발자를 포섭하는 전략이다. 이전에도 마이크로소프트에서 SQL Server Express를 무료로 배포하기는 했지만 등록을 해야 하거나 재배포는 허락하지 않는 상황이었다. 그러나 2012 버전부터는 등록이 필요 없고 재배포도 가능하다. 상용 프로그램에 번들해서 재배포도 가능한 것이다. 용량 제한이나 시스템 자원 제한이 방해가 되지 않는 다면 얼마든지 사용할 수 있다. 제한 없이 사용하고 싶어서 SQL Server Standard나 SQL Server Enterprise 라이선스를 구매한다면 응용 프로그램은 변경하지 않고 새로운 DBMS에 바로 적응할 수 있으니 나름 똑똑한 개발자 포섭..
"무료 SQL Server Developer 설치하기"와 "SQL Server Developer 외부 연결과 DB/DB 사용자 생성하기" 글에 이어지는 포스팅입니다. DBMS 설치, DB 생성, DB 사용자 추가 및 권한 부여 등으로 DB 접속을 수행하는 프로그램 개발 준비가 되었다면 C# 언어를 통해서 해당 DB에 접속하여 테이블 생성, 데이터 추가 및 삭제, 검색 등을 수행하고자 한다. 닷넷 코어 8.0 이상의 SDK 환경과 텍스트 편집기를 도구로 사용한다. 파워쉘을 열고 위의 그림처럼 C# 콘솔 프로그램을 추가하고 해당 프로젝트에 Microsoft.Data.SqlClient 패키지를 추가한다. dotnet new console -n SqlTest cd SqlTest dotnet add packag..
"무료 SQL Server Developer 설치하기"글에 이어지는 포스팅입니다. 앞선 글에서는 무료 DBMS인 SQL Server Developer를 설치하고 DB 인스턴스를 생성한 다음 윈도우 인증으로 해당 데이터베이스 인스턴스에 연결 성공한 것까지 진행했다. 이번에는 외부에서 네트워크로 데이터베이스 인스턴스에 연결하여 개발을 위한 DB를 생성하고 해당 DB에 접근하여 테이블을 생성, 삭제 및 변경할 수 있는 사용자를 추가하는 과정을 다루고자 한다. 일단 powershell을 열고 위와 같이 "netstat -a | select-string LISTEN" LISTENING 상태의 포트들 즉, 서비스 상태인 TCP 포트들을 확인할 수 있는데 목록에는 SQL Server의 기본 포트인 1433을 찾을 수..
오랜만에 SQL Server DBMS와의 만남을 갖게 되었다. 오랜 시간 오픈 소스 DBMS만 사용해서 그런지 감회가 새롭다. 상당한 시간이 흐른 사이에 SQL Server에도 많은 변화가 있었던 모양이다. 위의 그림처럼 기능이 제한되며 Stand alone 환경에서 주로 사용하는 SQL Server Express 말고도 2016 버전부터는 SQL Server Developer 에디션을 배포하고 있었다. SQL Server Enterprise 에디션과 기능은 동일하면서도 무료이다. 물론 개발과 테스트 용도로 사용할 수 있고 실제 현장(프로덕션 시스템, Production System)에서는 사용할 수 없다. 프로그램 개발자 입장에서는 반가운 환경이 아닐 수 없다. 설치 프로그램 다운로드는 https:..
이순신 장군의 도시라 할 수 있는 충남 아산시를 걷고 있는 백의종군길 4코스는 장군의 묘소를 들른 다음에는 음봉천을 따라서 내려간다. 동천 2교로 음봉천을 건넌 이후로는 동천 2리 방향으로 이동하여 방현리로 이어지는 고개를 넘어간다. 아산시 염치읍 방현리로 넘어온 길은 방현리의 들길을 가로질러 송곡리를 거쳐 염치읍 백암리에 위치한 현충사에서 여정을 마무리한다. 이충무공 묘소 입구를 지난 길은 장군의 묘역으로 이어진다. 홍살문은 "붉은색은 악귀를 쫓고 화살은 액운을 물리친다"는 의미로 능 앞에 세우기도 하고 효자나 열녀가 있는 마을 입구에도 세웠다고 한다. 어찌 보면 일본의 신사 앞에 세우는 도리이와 비슷하게 보이는데 홍살문이 신라 때부터 있었던 것으로 미루어 보면 홍살문과 도리이가 모두 인도 불교 건축에..
이 충무공의 도시라 해도 무리가 없는 충남 아산시로 진입한 백의종군길은 봉재저수지를 지나면서 아산시 둔포면에서 음봉면을 들어가고 음봉면로 도로를 따라 고개를 넘어 이충무공 묘소에 이른다. 주한 미군 대상 렌털 하우스가 많은 유에스빌리지 외곽을 돌아서 가는 길은 둔포면 둔포리에서 운교리로 넘어간다. 호기심에 조용한 마을을 가로지르는 기존의 백의종군길보다는 리본을 따라서 가는 지금의 길로 가니 친절하게 데크길도 마련해 놓았다. 운교리로 넘어가는 길에 배추처럼 생긴 것을 심어 놓았는데 근처에서 밭일하시는 분이 담배라고 알려 주신다. 재배와 판매가 엄격히 관리되는 작물인데 수확과 건조 과정이 모두 수작업이다 보니 전국적으로 재배 면적이 줄고 있다고 한다. 놀랍게도 잎담배 수입량이 84%에 이른다고 한다. 수입량..
백의종군길 4코스는 급한 경사나 오르막이 없는 평탄한 길이지만 33Km라는 거리는 만만한 거리가 결코 아니다. 서울에서 출발하여 수원, 오산을 거쳐 평택까지 내려온 길은 드디어 충청남도 아산시로 진입한다. 현충사와 이순신 장군의 무덤이 있는 곳이라 백의종군길 표식도 촘촘하고 친절하게 되어 있다. 평택역에서 시작하는 백의종군길 4코스는 평택시 원평동을 경기도의 마지막 지역으로 하여 길을 시작한다. 원평동이라는 이름은 원래 평택의 중심지였다는 의미라고 한다. 평택역이 생기면서 원래는 이곳으로 사람들이 모이고 번화가를 이루었으나 1946년에 대홍수가 나면서 번화가의 중심이 역 반대편으로 넘어갔다고 한다. 길 시작 지점에서 만나는 빨간색 이순신 백의종군길 리본은 걷는 이의 힘을 돋우고 기분을 환하게 밝혀준다...
오산을 지나서 평택까지 내려온 백의종군길 3코스는 삼남로 도로를 따라 내려가며 신도시 건설 현장을 가로질러 내려간다. 삼남로는 평택제천 고속도로를 지나서 45번 국도와 교차하는 동삭교차로부터는 동삭로를 따라 내려가고 경기대로를 만나면서 통복시장 지역으로 들어가서 원평노을지하차도를 통해 평택역 뒤편으로 돌아가 여정을 마무리한다. 염봉재 고개로 오르는 길은 이 지역이 농촌 지역이라는 것을 보여주듯이 농업용 수로가 삼남로 도로를 가로지르고 있다. 이런 형태로 4차선 대로를 가로지르는 수로는 처음 보는 것 같다. 삼남로 한쪽으로는 노란색의 아기똥풀이 존재감을 드러낸다. 양귀비과의 식물로 줄기나 잎을 자르면 아기똥색의 액체가 나온다고 붙은 이름이다. 4월이면 우리나라 도로변 곳곳에서 어렵지 않게 만날 수 있는 두..
오산시로 넘어오며 경부선 철길을 가로지른 백의종군길 3코스는 오산천을 건너서 1번 국도인 오산로를 따라 내려가다가 경기대로를 거쳐 동부대로를 따라 진위에 이른다. 진위면 행정복지센터를 지나면 삼남로를 따라서 큰 흔치 고개를 넘는다. 오산대교로 오산천을 건너며 바라보는 오산천의 모습은 참 좋은 모습이다. 자연 하천 옆으로 연둣빛 여린 잎을 내고 있는 버드나무도 좋고 화창한 천변 산책길을 걷는 사람들의 모습도 좋다. 용인에서 발원하여 평택 진위천으로 합류한다. 수달도 산다고 한다. 옛 1번 국도인 오산로를 따라서 오산역 방향으로 이동하는 길은 옛 1번 국도라는 이름값을 하는 듯 구도심이 이어진다. 오산 오색시장도 지난다. 오산시장, 오산중앙시장으로 불리던 전통 시장인데 그 역사가 정조대왕까지로 거슬러 올라간..
서울에서 시작한 이순신 백의종군로는 3코스를 걸으며 이제 화성시의 동쪽 끝자락을 출발하여 오산시를 거쳐 평택까지 내려간다. 대부분이 시가지를 가로지르는 길이다. 서울에서 출발했던 지난 1,2 코스의 걷기 강도에 충격을 받아서인지 몰라도 경기도 화성에서 출발하는 3코스 걷기 시작점에서는 묘한 긴장감이 흐른다. 그래서, 이른 아침에는 아직 쌀쌀하지만 복장도 많이 가벼워졌다. 사월 초파일을 한 달여 남겨둔 시점에 용주사 앞에는 벌써 연등이 달리기 시작했다. 용주사 건너편으로는 정조 부부와 사도세자 부부의 무덤인 융릉과 건릉이 있지만 길은 융건릉을 뒤로하고 동남 방향으로 이동한다. 용주사 현판 앞을 지나서 용주로 도로를 따라 동쪽으로 걷는다. 용주사는 정조가 중건한 능침사찰이라고 하는데 능침사찰은 왕릉 인근에 ..
닷넷 프로젝트를 수행하다 보면 기본적으로 솔루션 파일(*.sln 또는 *.slnx)과 함께 프로젝트 파일(*.csproj)을 템플릿을 통해서 제작하는 것으로 시작한다. 그런데 개발 과정에서 간단하게 실제 동작을 테스트 해보고 싶은 경우에 개발 중인 프로젝트에 코드를 삽입해서 실행시키는 것은 조금 부담되는 것이 사실이다. 이런 경우에 기존 프로젝트와는 별개로 *.cs로 간단한 테스트 코드를 하나 작성해서 빌드하고 실행시켜 보는 것이 효과적이다. 예를 들면 C 프로그램을 "cc -o testpgm testpgm.c" 처럼 간단하게 빌드하는 것처럼 C# 프로그램도 빌드하고 싶은 것이다. 일단 닷넷 10부터는 기본적으로 "dotnet run testpgm.cs" 처럼 수행하면 프로젝트 파일 없이 개별 코드를 바..
수원시에 진입하여 서호천을 따라 내려가고 있는 백의종군길 2코스는 화서역 인근에서 여기산 방면으로 올라가 권선구 서둔동의 경계를 따라 도시 지역을 걷는다. 수원 수목원과 중보들공원을 지나면 다시 수원비행장 외곽을 흐르는 서호천을 따라 황구지천과 합류하는 지점까지 내려가고 배양교 다리를 건너면서 화성시 효행구 배양동으로 넘어간다. 배양동 마을길을 가로지르고 작은 고개를 하나 넘으면 화성시 병점구로 들어가며 용주사 앞에서 여정을 마무리한다. 서호천을 따라 내려가는 산책로는 한마루사거리를 지나면서 화서역 인근을 앞두고 있다. 수원시 장안구, 팔달구, 권선구가 서로 인접해 있는 지역이고 영화천이 서호천으로 합류하는 곳이기도 하다. 하천 양쪽을 화사하게 장식하고 있는 벚꽃과 화창한 날씨 덕분에 발걸음도 기분도 가..
요즘은 EUC-KR 인코딩을 처리할 일이 거의 없을 정도로 UTF-8 인코딩이 일반화되었다. 표준으로 굳어진 UTF-8 인코딩을 사용하는 웹페이지가 90% 이상이라고 한다. 문제는 고객의 요청이나 기타 사유로 EUC-KR 인코딩을 사용해야 하거나 사용할 수밖에 없는 상황이 있다는 것이다. 대표적인 것이 CSV 파일로 저장해서 엑셀로 읽거나 또는 반대의 경우이다. File.WriteAllText(outDir, sb.ToString(), System.Text.Encoding.GetEncoding("euc-kr")); 통상 위와 같은 코드를 작성하면 지정한 인코딩으로 변환해서 스트링을 파일로 저장할 수 있다. 문제는 개발을 닷넷 프레임워크 기반이 아니라 닷넷 코어를 기반으로 하는 경우에 닷넷 코어 5.0 이상..
안양시 동안구 평촌동을 지나서 호계동까지 내려온 백의종군길은 안양시를 출발하여 남북으로 길게 뻗은 의왕시의 남쪽 끝자락을 가로질러간다. 경수대로를 따라서 광교산 자락의 고개를 넘어가면 수원시 장안구로 진입하고 노송지대를 지나서 서호천을 따라 천변 산책길을 걸어 내려간다. 갈산동 행정복지센터 앞에서 이순신 백의종군길 2코스를 시작한다. 리본이나 스탬프 함이 많지 않아서 그런지 빨간 리본이나 스탬프함을 만나면 엄청 반갑다. 갈산동 행정복지센터 앞에서 따뜻한 커피와 차를 한잔씩 들고서 여유 있는 걷기를 시작한다. 벚꽃이 절정인 아파트 단지를 빠져나가 흥안대로 큰길로 나간다. 인덕원역부터 자주 만났던 흥안대로를 얼마간 더 따라가면 길의 종점인 금정 IC가 나온다. 모락산 자락의 덕고개를 넘어서 덕고개 사거리에서..
서울시 경계를 지나면서 절반 이상을 걸은 이순신 백의종군길 1코스는 과천시를 가로질러 안양시 동안구의 동쪽 끝자락을 따라 남쪽으로 내려가서 동안구 남쪽 끝자락인 갈산동 행정복지센터에서 여정을 마무리한다. 경기도 의왕시와 경계를 이루는 지역이다. 남태령 고개를 넘어서 남태령 망루에서 잠시 휴식을 가진 우리는 과천대로 큰길 옆에 있는 남태령 옛길을 따라 내려간다. 도심을 가로질러 걷다가 오랜만에 만나는 숲길이 너무나 반갑다. 양쪽 귀도 이미 도시의 소음에 적응되어 버린 듯하다. 자주색의 자목련이 나그네의 발길을 붙잡는다. 자목련이 백목련보다 1~2주 조금 늦게 꽃이 피고 향기도 약한 편이라고 한다. 목련 꽃은 땅에 떨어지면 지저분한 단점이 있지만 우리네 인생사도 비슷한 것이 아닌가 싶다. 화려하고 생기 넘치..
이순신 백의종군길은 동작대교를 통해서 한강을 건너고 남북으로 사당역까지 이어지는 동작대로와 동작대로 옆의 방배 복개 도로를 따라서 남쪽으로 내려간다. 사당역을 지나면 우면산과 관악산 사이의 남태령 고개를 넘으며 서울시에서 경기도로 진입한다. 국립중앙박물관 앞의 벤치에서 넉넉한 휴식 시간을 가지고 출발하는 길은 따스한 봄 햇살을 받은 진달래가 화사한 색으로 자태를 뽐내고 있다. 산길에서나 볼법한 진달래를 정원에서 보는 것도 좋다. 참 곱다. 배롱나무못이라는 이름이 붙은 연못이니 분홍 진달래가 지고 나면 붉은색의 백일홍 꽃이 연못 주위를 화려하게 장식하겠다는 생각이 든다. 우리나라 도시의 봄을 장식하는 대표적인 꽃 중의 하나 개나리의 짙은 노란색이 강렬하게 다가온다. 꺾꽂이로 어렵지 않게 번식할 수 있는 관..
1597년 4월 1일 이순신 장군이 의금부에서 석방되어 합천의 권율 장군 휘하로 내려가는 길을 따라가는 이순신 백의종군길을 시작한다. 그가 이동했던 1700리, 약 640Km를 걷는다. 난중일기에 따르면 4월 1일 백의종군을 처분받고 이튿날 유성룡을 방문하고 다음 날 출발한 것이니 장군이 길을 떠난 시기와 얼추 비슷하다. 길은 명보 아트홀 앞의 생가터 비석을 출발하여 의금부가 있었던 종각을 거쳐 소공동과 남대문 앞을 지나서 서울역 뒤편의 길을 내려가다가 삼각지에서 한강대로로 나와서 이촌역 앞을 지나서 중앙 국립 박물관 앞에 이른다. 명보아트홀 앞의 순댓국 집에서 순댓국으로 넉넉한 아침식사를 하면서 긴 여정을 준비한다. 전국에 있는 다양한 순댓국집에서 식사를 했었지만 개인적으로 김치 순댓국은 처음이었는데 ..
드디어 여강을 시계 반대 방향으로 걸었던 여정이 모두 끝나는 여강길 마지막 코스이다. 원래의 4코스는 강 건너 여주 여행자센터에서 시작하여 남한강 출렁다리를 건너거나 연인교라 부르는 여주대교를 건너지만, 1코스를 걸을 때 걸었던 구간과 겹치기도 하므로 우리는 강을 건넌 다음의 여주 5일장부터 시작하려고 한다. 여주 5일장의 들어가는 길목에는 흰 목도리를 두른 평화의 소녀상이 있었다. 많은 지역에서는 의자에 앉아 있는 모습이었는데 나비 문양의 조형물을 배경으로 미소를 가진 표정으로 작은 새를 날려 주는 모습이었다. 여주시 북내면 출신이신 고 이용녀 할머니에 대한 글이 있었는데 16세에 위안부로 끌려가 대만, 싱가포르, 미얀마까지 끌려 다녔다고 한다. 어린 나이에 희생을 강요당한 이분들에 대하여 연민과 위로..
남한강 남쪽을 걸어내려가고 있는 여강길은 6코스를 역방향으로 걸으면 여주시 흥천면 상백리를 떠나서 세종대왕면의 북쪽을 가로질러 여주 시내 직전에 이른다. 강변에서 상백 2리 마을회관으로 나오면서 7코스를 끝냈다면 6코스는 왔던 길로 다시 강변으로 나가는 방식으로 여정을 시작한다. 마음 초입 갈림길에서 우측길로 이동하여 강변길로 나간다. 마을길 끝에서 계단을 내려가면 옛 나루터 느낌이 풍기는 강변으로 나갈 수 있다. 언제부터 이곳에 자리했는지 모를 커다란 나무들이 강변을 지키고 있다. 이곳은 물을 좋아하는 나무라면 최고의 자리가 아닌가 싶다. 강변을 벗어나면 청보리밭이 있는 곳이지만 지금은 만나기 어려운 시기이다. 길은 마을길을 통해서 양화 나루터로 향한다. 남동쪽으로 내려가는 마을길은 작은 언덕을 넘..
당남리섬입구에서 시작하여 이포보를 통해서 강을 건너는 여강길 7코스도 난도가 높지 않은 무난한 길이다. 우리는 역방향으로 걷는다. 원래의 여강길 7코스는 강 둔치의 산책로를 통해서 이포대교 아래를 지나서 이포보에 이르지만 우리는 37번 국도 여양로 도로로 올라가서 이른 저녁을 먹고 걷기를 계속하기로 했다. 여양로 국도는 이름처럼 여주와 양평을 이어주는 도로이다. 10코스, 9코스에 이어서 걷는 7코스이기 때문에 체력 보충이 필요했다. 이포대교 바로 앞의 천서사거리 주변으로는 많은 음식점들이 있어서 걷기 하는 사람들이나 자전거를 타시는 분들에게도 매력적인 곳으로 보였다. 우리는 중식당을 선택해서 짜장면과 짬뽕밥으로 식사를 했는데 나름 훌륭한 맛이었다. 식당에는 자동차를 타고 여행하시던 분들도 들어오고 가족..
개발 컴퓨터의 성능만 받쳐준다면 가상머신을 개발 환경으로 사용하는 것은 개발자에게 상당한 유익을 가져다줄 수 있다. 이번 포스팅은 윈도우 컴퓨터에 설치한 가상 시리얼포트를 통하여("윈도우 10에서 가상 시리얼 포트 만들기"참조) 호스트 컴퓨터인 윈도우와 게스트 컴퓨터인 우분투간에 시리얼 통신을 할 수 있는 환경을 구성해 보려 한다. 윈도우에 COM1, COM2 가상시리얼을 구성하고 윈도우에서는 COM2를 통해 동작하는 응용 프로그램을 제작하고 우분투 리눅스에서는 /dev/ttyS0로 동작하는 응용 프로그램을 제작하는 형태이다. 이제 남은 것은 윈도우의 COM1이 /dev/ttyS0로 맵핑되도록 설정하는 것인데 우선 가상머신의 전원을 내리고 설정으로 들어간다. 설정 화면을 위의 그림처럼 상단에서 Exp..
버추얼박스 가상머신에 우분투 이미지 22.04를 장착하고 사용하다가 필요한 파일을 옮기려고 하면 FTP/SFTP로 전송할 수도 있고 공유 폴더를 이용하는 방법도 있지만 무엇보다 간편한 방법은 파일 탐색기 간에 드래그 앤 드롭(Drag and Drop)으로 파일을 옮기는 것이다. 호스트 컴퓨터에서 윈도우 탐색기를 열고 게스트인 가상머신의 우분투 [Files] 앱을 실행시키고 원하고 폴더로 이동한 다음 윈도우 탐색기에서 전송할 파일을 드래그하여 우분투의 [Files] 앱에 드롭하면 되니 정말 편리하다. 이런 기능은 RDP를 사용하는 원격 데스크톱으로는 사용할 수 없다. 원격 데스크톱에서는 폴더 공유로 해결해야 한다. 조금 더 복잡하다. 위의 그림과 같이 버추얼박스 가상머신 메뉴 장치 > 드래그 앤 드롭 메..
10코스에 이어서 걷는 9코스는 10코스와 마찬가지로 대부분의 경로가 평탄한 강변 산책로로 이루어져 있어서 난도가 높지 않다. 10코스와 마찬가지로 천남공원에서 시작하여 당남리섬 입구까지 역방향으로 걷는다. 여주보로 이어지는 길이 있는 천남 공원에서 10코스를 끝내고 잠시 숨을 고른 다음 9코스를 바로 시작한다. 팔당댐에서 시작한 남한강 자전거 길이 여주보를 넘어서 가기 때문에 자전거를 타시는 많은 분들이 이곳을 지나고 있었다. 팔당댐부터 여주보 까지는 강북에 달리다가 여주보를 넘어서 남쪽으로 내려갔다가 강천보에서 다시 강을 넘어 충주 탄금대까지 가는 길이다. 공원 비석에 새겨진 "임의 뜻은 여강의 푸른 물처럼"이란 글귀가 시선에 들어온다. 공원을 벗어나는 길은 남한강 자전거길과 함께 간다. 자전거 전..
여주 여강길 1~3코스까지는 동쪽으로 한바퀴 돌아 왔는데 코스가 이어지는 것이 아니라 4코스부터는 강 건너편으로 반대편으로 돌아서 3코스를 이어서 걷는 다면 10코스를 역방향으로 걸어야 한다. 여강길 10코스는 천년도자길이라는 별칭이 있으며 대부분의 길이 강변 산책로로 이루어진 쉬운 경로이다. 여주 여행자 센터에서 시작하는 10코스는 여주박물관 방향으로 주차장을 가로질러 가는 것으로 시작한다. 걷기 여행이 아니라면 진득하게 둘러볼 공간이지만 우리는 갈길이 멀다. 삼각뿔 형태의 조형물은 루브르 박물관의 유리 피라미드를 떠올리게 한다. 지금은 녹슨 막이 있는 코르텐강으로 바뀌었지만 이전에는 루브르처럼 유리 소재였다고 한다. 길은 박물관 뒷길로 빠져나가 강변으로 나간다. 길은 여주 도서관 앞에서 본격적으로 강..
비주얼스튜디오 코드(VS Code, 이하 코드)로 아발로니아 UI(Avalonia UI) 기반의 크로스플랫폼 앱을 개발하는 과정도 시간이 꽤 흘렀다. Winforms 응용을 개발하는 것처럼 디자이너로 자유롭게 UI를 개발할 수 없는 것이 단점이기는 하지만 프로젝트 자체가 Winforms 기반 응용을 아발로니아로 전환하는 것이었기에 기존의 디자인 코드를 참조하는 것으로 나름 요령을 가지고 개발할 수 있었다. 아발로니아 응용을 개발한다면 Winform으로 UI를 스케치하고 그것을 아발로니아로 전환하는 것도 나름 방법이지 않을까 싶다. 코드를 개발환경으로 하여 디버깅을 수행하는 것도 무리가 없는 작업이었다. 이번 포스팅은 디버깅 모드에서는 문제가 없던 프로그램이 릴리즈 모드로 퍼블리시하면 문제가 생기는 이슈를..
여강길 3코스는 휘어져 내려가는 남한강을 따라서 북쪽으로 향하는 길이다. 원래는 강변길을 걷다가 대순진리회를 관통하여 목아박물관을 지나서 신륵사까지 가야 하지만 해가 지는 바람에 목아박물관을 지나서 여정을 끝내야 했다. 원래는 2코스가 난도가 높으므로 3코스는 다음날 이어 걸을 계획이었다. 그렇지만, 여강길 2코스 종점에서 버스 기사가 문을 열어주지 않는 바람에 버스를 놓쳐버린 우리는 다음 버스까지 두 시간을 기다리는 것 대신에 여강길 3코스를 이어서 걸어 보기로 했다. 정류장에 앉아서 황당한 상황을 추스르다가 옆지기가 꺼낸 3코스 걷기 미끼를 덥석 물었다. 3코스는 대부분이 강변 산책길인 무난한 코스이다. 강천마을을 떠난 길은 강변 길을 얼마가지 않아 작은 언덕을 넘어가야 한다. 작은 언덕을 넘어가는 ..