이순신 백의종군길은 서울에서 출발하는 1코스부터 30Km가 넘는다. 지금까지 대부분의 코스가 30Km에 육박하는 길이였다면 처음으로 20Km로 짧은 코스를 걷는다. 산행을 해야 하는 어려운 코스가 아니더라도 길이가 긴 것 자체로 비전문가에게는 결코 쉽지 않은 길이다. 해파랑길이나 서해랑길의 길지 않은 코스에 익숙하던 사람들에게는 백의종군길은 코스를 나누어 걷는 것이 적절하다. 사실 20km도 짧은 거리가 아니다. 계룡면사무소를 출발하면 계룡저수지 방면으로 이동하여 국도를 벗어나 들길을 통해서 남쪽으로 내려간다. 금대리와 경천리의 들길을 차례로 지나면 논산시 상월면 지경리로 진입한다. 논산시로 들어온 길은 상월면 읍내로는 가지 않고 산성리를 지나 23번 국도 건너편 노성리로 향한다. 계룡면 읍내를 출발한 ..
공주 시내를 가로질러 공주대교까지 내려온 이순신 백의종군길 6코스는 금강을 건너면 공산성과 무령왕릉이 있는 구도심이 아니라 반대편 동쪽으로 이동한다. 창벽로 도로를 따라 동쪽으로 이동하다가 소학 교차로부터 남쪽으로 내려가기 시작한다. 23번 국도 옆길을 따라서 공주시 소학동과 신기동을 차례로 지나면 계룡면 화은리로 진입하고 기산리에서 고속철도 아래를 통과하면 봉명리를 지나 계룡면 주민센터가 있는 월암리에서 여정을 마무리한다. 공주대교를 통해서 금강을 넘는다. 청주시와 세종시를 거쳐서 내려온 금강은 공주를 거쳐서 남서 방향으로 흘러 부여를 거쳐 서천에서 서해로 들어간다. 금강 하구둑으로 길이 막혀 있기는 하다. 공주에도 공주보가 있기는 하지만 상시 개방하고 있다고 한다. 덕분에 강 중심부에 모래톱들이 많이..
공주시 정안면에서 길을 시작한 이순신 백의종군길 6코스는 정안면을 지나 의당면 오인리로 진입한다. 오인교로 다시 정안천을 건너면 의당길 도로를 따라서 수촌리를 남북으로 가로질러 의당면 읍내로 들어간다. 의당면 읍내를 나오면 공주 메타세콰이어 숲길을 거쳐서 다시 의당길 도로를 따라서 공주 시내로 향한다. 정안천교 앞을 지나면서 본격적으로 공주 시가지를 걷고 국립공주대학교 주위를 돌아서 공주대교에 이른다. 오인교를 건너면서 바라본 정안천의 풍경. 자연하천의 흐름이 보기 좋다. 둑방에는 나무가 줄지어 늘어서 있고 둔치에는 다양한 들풀이 나름의 생을 살아가고 있는 아름다운 그림이다. 새들을 포함한 다양한 생명이 노니는 공간이 좋다. 의당길 도로를 따라 걷고 있는 백의종군길은 요룡리를 가로지른다. 전설에 의하면 ..
공주시 정안면으로 진입한 이순신 백의종군길은 정안면 주민센터에서 길을 출발하여 정안천을 따라 남쪽으로 내려간다. 정안면 산성리에서 발원하여 금강을 향해 내려가는 정안천과 함께하는 길이다. 정안천의 양쪽 둑방길을 오가는데 오인교 인근의 오인리로 들어서며 공주시 정안면에서 의당면으로 들어간다. 정안면 행정복지센터 앞에서 33Km에 이르는 백의종군길 6코스를 시작한다. 알밤의 고장이라는 정안면 소개글 앞으로 수도권으로 올라가는 송전탑 건설 반대 현수막이 가득하다. 수도권 집중이라는 문제 해결이 지역 균형 발전이라는 것이 구호만 되지 않았으면 좋겠다. 정안면 읍내를 빠져나가는 길은 공주 시내로 이어지는 23번 국도와 연결되지만 백의종군길은 정안교 다리를 건너서 정안천 건너편으로 넘어간다. 정안교를 건너면서 바..
아산시를 지나서 천안시 끝자락인 지장리를 걷고 있는 백의종군길 5코스는 개치고개를 넘어서 충남 공주시 정안면으로 진입한다. 잘 정비된 등산로가 아닌 산길을 걸으므로 주의를 기울여야 한다. 고개를 넘으면 정안면 월산리 마을길을 따라 정안천 방면으로 내려가고 이후로는 정안천을 따라서 이어지는 정안마곡사로 도로를 걸어 광정삼거리에 이르고 정안면 읍내에서 여정을 마무리한다. 천안의 남쪽 끝자락인 지장리 마을길을 걸으며 고도가 조금씩 올라갈수록 산은 깊어지고 민가의 흔적은 점점 더 찾기 어려워진다. 길은 시내버스의 종점인 석지골로 향하며 도인사라는 사찰을 지난다. 매력적인 향기를 내뿜는 찔레나무가 풍성하게 꽃을 피웠다. 딱 이 계절에 만날 수 있는 꽃을 보니 반갑지 그지없다. 도인사라는 사찰을 지나면 버스 종점 ..
배방산 아랫자락에 자리한 아산시 배방읍 신흥리를 지나고 있는 백의종군길은 태화산과 망경산 사이의 계곡으로 이어지는 넓티고개를 향한다. 수철 저수지를 지나서 넓티고개를 넘으면 배방읍 수철리에서 천안시 동남구 광덕면 보산원리로 진입한다. 내리막길을 따라 보산원리를 지나면 퐁서천을 건너서 지장리에 이른다. 아산 신흥리 마을길을 걸으며 5월에서 6월 사이에 볼 수 있는 감꽃이 시야에 들어온다. 연한 노란색의 감꽃에 시선이 멈추어져 한참을 바라보았다. 감꽃도 암꽃과 수꽃이 있다고 하는데 내년에는 암꽃과 수꽃을 구분해서 찾아보아야겠다. 암꽃은 크고 혼자 피는 반면에 수꽃은 작고 서너 개씩 핀다고 한다. 수꽃들은 암꽃보다 먼저 피어서 벌을 이끌어서 암꽃의 수정을 돕고 나무에서 떨어진다고 한다. 예전에는 떨어진 수꽃..
이순신 백의종군길 5코스는 아산 현충사에서 시작하여 천안으로 진입하는 구간이다. 아산 현충사를 출발하면 39번 국도를 가로질러 곡교천을 건너는 것으로 시작한다. 곡교천을 건넌 다음에는 남북으로 흐르는 온양천 인근의 들길을 따라 남쪽으로 내려가고 아산시를 순환하는 21번 국도를 통과한 다음에는 금곡천을 따라서 신흥리 마을길을 걷는다. 5월 하순에 떠나는 길이지만 날씨는 벌써 초여름에 도착한듯하다. 온양온천역에서 택시를 타고 이동하니 금방이다. 택시로는 5Km 정도로 짧지만 지난번 4코스 걷기를 끝내고 시내버스를 타보니 조금 돌아가는 경로라서 시간이 걸렸던 기억이 있다. 서너 명이라면 택시가 나을 수도 있다. 버스 정류장에서 배낭도 정리하고 신발도 정비하고 본격적으로 5코스 걷기를 시작한다. 현충사는 참배를..
비주얼 스튜디오 코드로 개발한 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:..