식탁보 1.12.0 출시
오랫만에 식탁보의 새 버전을 출시합니다. 그간 많은 관심과 성원을 보내주신 덕분에 식탁보에 그 어느때보다도 많은 시간을 투자하여 한층 더 단단한 기반을 만들 수 있었습니다. 다시 한 번 감사드립니다! 🙇
주요 개선 사항
이번 버전에서는 새로운 기능 개발보다는 더 오랫동안 프로젝트가 유지 보수될 수 있도록 대대적인 코드 개선, 문제점 수정에 집중했습니다.
불필요한 중복 동작, 대기 시간 발생 요인을 최대한 제거하여 개별 동작의 실행 속도를 높였습니다. (#154)
오픈 소스 프로젝트이기 때문에 중요한 부분인 코드 유지 보수 편의성을 디자인 패턴 전면 개선을 통해 크게 개선했습니다.
또한 여러 사용자 인터페이스 개선 작업을 진행했습니다.
사용자 인터페이스 언어로 한국어 외에 영어를 추가했습니다. 시스템 기본 표시 언어 설정에 따라 영어로 사용자 인터페이스 언어가 나타납니다.
모던 UI (v2)의 검색 키워드 입력 창이 입력 내용을 곧바로 반영하여 검색될 수 있게 동작을 수정했습니다.
공동 인증서 검색 창에서 인증서의 상세 정보, 만료 여부 등을 알 수 있도록 기능을 개선했습니다.
각종 안내 문구를 보여주는 창에서 웹 페이지 주소 부분을 클릭하면 시스템의 기본 브라우저 창으로 열 수 있도록 기능을 개선했습니다.
잘못 기재된 문구나 일관성없게 기재된 문구들을 수정했습니다.
문제 수정 사항
많은 불편함이 있었던 AhnLab Safe Transaction 설정과 관련된 동작을 개선했습니다.
Windows Sandbox 내에 AhnLab Safe Transaction 설치 여부를 확인하여, 설치되어 있을 경우 본 서비스에 접속하기 전 원격 접속 차단을 끌 수 있도록 설정 창을 띄우도록 기능을 추가했습니다.
설정 창에서 설정을 마친 후 확인 버튼을 눌러 계속 진행할 수 있도록 만들어 사용자 편의를 더 강화하였습니다.
애플리케이션 시작 시 '응답 없음' 상태로 전환되지 않도록, 초기 데이터 불러오기 작업 시 진행률 화면을 띄우도록 수정했습니다.
시스템의 비 유니코드 애플리케이션 언어 설정이 '한국어'가 아닌 경우 바로 가기 만들기가 실패하는 문제를 수정했습니다.
창을 띄울 때 메시지 박스가 바로 직전에 뜬 창과 연결되지 않아서 창이 반응하지 않는 것처럼 보이는 문제를 수정했습니다.
클래식 UI (v1)와 모던 UI (v2) 사이를 전환할 때, "이미 프로그램이 실행 중입니다" 라는 메시지가 나타나는 문제를 수정했습니다.
공지 창이 나타난 다음 설치가 자동으로 시작되지 않아 설치 버튼을 따로 눌러야 하던 동작을 수정했습니다.
애플리케이션 안정성과 성능을 더 강화할 수 있는 부분들을 찾아 보완을 진행했습니다.
주요 변경 사항
Microsoft Store 버전으로 배포되는 식탁보와 GitHub에서 배포되는 식탁보의 업데이트 동작을 다르게 구현했습니다.
클래식 UI의 경우 여러 사이트를 동시에 선택해서 띄울 수 있는 기능을 제공하지만, 바로 가기에 지정할 수 있는 문자열의 최대 길이 지정이 260자로 제한되어있습니다. 이에 따라 바로 가기를 만들 때는 처음 선택한 사이트의 바로 가기만 만들어지도록 동작을 변경했습니다.
추후 이 부분은 Loom CLI가 본격적으로 개발이 완료되어 도입되면 해결될 수 있는 문제로 보고 있습니다.
WSB 파일이 Windows 파일 형식으로 등록되지 않아서 열리지 않는 문제를 우회하기 위해, WindowsSandbox.exe를 이용하여 실행하도록 동작을 변경했습니다.
소스 컨트리뷰터 분들을 위한 변경 사항
Microsoft Store (AppContainer) 환경을 위한 기능을 보강했습니다.
AppContainer 모드에서 실행되는 경우와 그렇지 않은 경우를 식별할 수 있도록 구현했습니다.
MSIX Bundle 패키지를 GitHub Action을 통해서 Nightly Build로 받아볼 수 있도록 CI/CD를 구성했습니다.
애플리케이션의 거의 모든 부분을 MVVM, DI/IoC로 전면 리팩토링했습니다.
클래식 UI (v1)와 모던 UI (v2)가 기능을 공유하도록 하여 기능 일관성을 대폭 개선했습니다.
대부분의 비즈니스 로직을 뷰 모델, 윈도우, 페이지와 분리하여 코드 유지 보수를 쉽게 할 수 있도록 만들었습니다.
단위 테스트 코드 작성이 용이하도록 Mocking을 지원하면서도 Service Building이 가능하도록 코드를 수정했습니다.
디버거를 사용하지 않더라도 프로그램을 진단할 수 있는 기능을 도입했습니다.
디버그 빌드의 경우, "디버그" 버튼을 통해 TableCloth와 Hostess 간에 주고 받은 매개 변수 내역을 살필 수 있게 했습니다.
Hostess의 경우 Dry Run 모드 (
--dry-run)와 실패 시뮬레이션 기능 (--simulate-failure) 스위치를 추가하여 샌드박스 내부가 아닌 외부에서 Hostess 프로그램의 동작을 재연해볼 수 있도록 만들었습니다.프로그램을 직접 실행하지 않더라도 Visual Studio의 디자인 타임에서 화면에 데이터가 어떻게 그려질지 미리 볼 수 있도록 디자인 타임 코드를 추가했습니다.
현재 등록되어있는 이슈, 그리고 Sentry를 통하여 집계되는 다양한 오류 정보들을 계속해서 모니터링 중입니다. 빠른 속도를 보장하지는 못하지만, 하나씩 해결해 나아가며 더 많은 분들에게 식탁보 프로젝트의 가치를 전할 수 있도록 노력하겠습니다.
고맙습니다!
이 프로덕트는 인터넷 뱅킹 사용 시 설치되는 보안 프로그램을 격리 환경에서 실행할 수 있도록 돕습니다.
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.