기본 콘텐츠로 건너뛰기

2021의 게시물 표시

단독형 키오스크 [1차 완료]

  포스 개발 일을 하고 있습니다. 기존 포스 솔루션에 별도 UI 를 추가하여 (C# Winform) 포스 프로그램 위에서 구동되는 버전이 있습니다만, 좀 더 타겟팅을 하여 포스를 사용하지 않는 매장을 타겟으로 단독으로 구동되는 키오스크를 개발 중에 있습니다. 키오스크의 특성상 다양한 해상도를 지원해야 하고 해서 이번 기회에 WPF 를 이용하여 개발할 계획을 세우고, 12월 말 부터 WPF 기술 습득하고, 본격적으로 2월 정도 부터 프로젝트를 진행하였습니다. 아직 포장 중이긴 합니다만 WPF 로 작성한 첫 프로그램인 만큼 저의 개발 블로그에 올려봅니다.

WPF Window Show / Close 후 새 Window Show 무시, 자동 종료 현상

 WPF 프로젝트 초기 개발시 Login 창 후 로직 처리 및 Main 창 호출이 되지 않고 종료 (exit code: 0) 되는 현상이 있습니다. 의도치 않은 기능인데, 아무래도 WPF 구조를 잘 모르는 상태에서 개발한 탓이겠지요. 개발 하고자 하는 흐름은 Application_Startup -> LoginWindow -> 비지니스 로직 -> MainWindow 인데, 비지니스 로직까지 돌고 바로 종료가 됩니다. app.xaml < Application  x : Class = "Test.App"               xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"               xmlns : x = "http://schemas.microsoft.com/winfx/2006/xaml"               xmlns : local = "clr-namespace:Test"               Startup = "Application_Startup" > 보통 저런 형태로 사용하는데 WPF 는 기본적으로 창이 없을 경우 자동으로 종료되는 기능이 있습니다. Application.ShutdownMode 속성 (System.Windows) | Microsoft Docs Application 속성에 보면 ShutdownMode 가 있습니다. < Application  x : Class = "Test.App"               xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"               xmlns : x = "http://schemas.microsoft.com/winfx/2006/xaml"               x

Synology Docker MS-SQL Server 설치

몇일 전에 회사 프로젝트를 하면서 Firebase 의 Functions 를 사용하였다가 프로그램의 특성상 10초만에 한번씩 폴링하는 방법으로 구현하였습니다. 이 방법은 사용료를 지불하는 방법인데 아직 서비스 이전이라 사용료가 안나갔으나, 소심함에 집에 여전히 같이 늙고 있는 나스에 Docker 를 이용해서 node.js 를 설치하여 사용해보니 개발용으로는 제법 괜찮은 방법인 듯 하여, 오늘 문득 재택근무 도중 업무시 자주 사용하는 MS-SQL Express 를 매번 설치하지 않는 방법을 시도해보기로 했습니다.  의식의 흐름대로 쓰는 듯한 ... 나름 원하는 개발 환경이 갖춰졌다 판단 하여 2021년 최신 판으로 히스토리를 남겨봅니다. 먼저 Docker 레지스트리에서 mssql 을 검색합니다. 물론 Docker 는 먼저 패키지에서 설치하셔야 합니다. 그리고 공유폴더나 사용 권한이 있는 home 디렉토리 하나 준비해주시면 됩니다. (아시겠지만 Docker 이미지와의 통로라고 보면 됩니다.) 가장 상단의 linux 로 되어 있는 것을 선택하여 설치합니다. 대충 1GB 크기의 이미지가 설치되면 이미지 탭에 설치되어 있는 것이 보입니다. 실행을 누르게 되면 상세 설정이 나옵니다. 고급설정에서 몇개만 설정해 놓으면 끝납니다. 볼륨 탭을 선택하여 파일/폴더 에 아까 준비한 공유폴더 (저는 docker 라는 공유폴더 만들고 하단에 mssql 이라는 폴더를 만들었습니다.) 에 폴더 추가 버튼으로 선택합니다. 그리고 마운트 경로에 /var/opt/mssql 로 입력합니다. 포트 설정에서 컨테이너 포트는 귀찮으니 1433 으로 냅두시고 (기본 MS-SQL 포트입니다.) 로컬포트 만 변경해봅니다. (다른 서비스와 중복안되는 포트 번호 넣어 주시면 되는데 저는 기억하기 쉽게 앞에 보통 5나 6 넣습니다. 65535 안넘어가면 되는거겠죠?) 다른 옵션도 있는데 대충 위 두 라인만 입력하면 대충 되는 것 같습니다. MSSQL_SA_PASSWORD 부분은 원하는 비밀번호를 입력해주세요.