CI / Frontend - type-check & test (push) Canceled after 0s
직접 만든 연습곡 다섯 파일을 공개 보관함에 등록했다. 별빛 계단은 입문과 쉬움 두 단계로 제공한다. MIDI 파서 검사와 백엔드 단위 테스트 5개를 통과했다. 운영 백업은 /home/syskiller/piano/backups/bach-to-basics/20261009-beginner-midi 에 있다. 백엔드만 갱신했고 비회원 목록과 다운로드를 확인했다. 실제 USB MIDI 장치 검사는 남아 있다. 사전 훅은 로컬 pnpm 의존성 불일치로 실행되지 않아 관련 검사를 직접 수행했다.
46 lines
4.8 KiB
Plaintext
46 lines
4.8 KiB
Plaintext
2026-10-03
|
|
|
|
- 업로드 완료 뒤 폼 초기화에서 발생하던 null 참조 오류를 수정했다.
|
|
- 곡 보관함 업로드를 MIDI와 MusicXML과 MXL 및 PDF로 확장했다.
|
|
- MusicXML 구조와 MXL 압축 경로 및 해제 용량과 PDF 파일 서명을 검사하도록 했다.
|
|
- 파일 종류에 맞는 확장자와 MIME으로 저장하고 다시 불러오도록 수정했다.
|
|
- AlphaTab 악보용 Bravura 글꼴과 전용 모듈 자산을 배포했다.
|
|
- Nginx에서 mjs 파일을 JavaScript MIME으로 제공하도록 수정했다.
|
|
- 운영 악보 렌더링을 UI 스레드로 고정해 빈 악보 문제를 해결했다.
|
|
- 임시 음형 샘플 4개를 제거했다.
|
|
- Mutopia Project 공개 도메인 클래식 3곡과 단계별 편곡을 합쳐 7개 버전으로 등록했다.
|
|
- 엘리제를 위하여는 입문 양손과 쉬운 양손 및 고급 원곡을 같은 제목 아래에 표시한다.
|
|
- 단계별 공개 샘플은 모두 오른손과 왼손을 포함한 피아노 독주로 통일했다. 손별 연습은 연습 화면에서 선택한다.
|
|
- 서버 갱신 중 일시적인 조회 실패가 발생하면 한 번 재시도한다. 정상 응답 뒤에는 오래된 연결 오류를 지운다.
|
|
- 왼쪽 위 이름과 브라우저 제목을 ITOSM 피아노 학습실로 바꾸고 전용 음표 표식을 적용했다.
|
|
- 서비스 표식과 설정 화면의 저장소 연결을 ITOSM 피아노 학습실 Gitea 저장소로 변경했다.
|
|
- MIDI에서 변환한 악보가 빠른 플레이어 준비 이벤트 누락과 음소거된 내부 플레이어의 위치 이벤트 누락 때문에 첫 마디에 머무르던 문제를 수정했다. 악보 시간과 AlphaTab tick을 함께 동기화하고 AlphaTab 1.8.3을 고정했다.
|
|
- 연속된 고음과 저음 구간에 표준 8va와 8vb 옥타브 기호를 자동 적용해 덧줄을 줄였다. 한 음짜리 짧은 구간에는 기호를 남발하지 않으며 실제 재생 음높이는 유지한다.
|
|
- 기존 회원 업로드 20360.mid가 유지되는 것을 확인했다.
|
|
- 프런트 타입 검사와 67개 테스트와 운영 빌드를 통과했다.
|
|
- 운영 백엔드에서 MIDI와 MusicXML과 MXL 및 PDF 검증을 통과했다.
|
|
- 운영 브라우저에서 난이도별 묶음과 미뉴에트 및 엘리제를 위하여 악보 표시를 확인했다.
|
|
- 작업 전 백업은 /home/syskiller/piano/backups/bach-to-basics/20261003-1545-sheet-upload에 저장했다.
|
|
- 전체 화면에서 악보 영역을 높이의 38%로 넓혔다. 최소 높이는 모바일 가로 화면에서 다른 연습 영역을 가리지 않도록 화면 높이에 따라 150px에서 220px 사이로 조정한다.
|
|
- 곡마다 다른 양손 보표와 8va 및 8vb 높이를 렌더링 뒤 측정한다. 영역을 넘으면 악보 배율을 자동으로 낮춰 아래 보표가 잘리지 않게 했다.
|
|
- 악보 자동 맞춤 계산의 정상 범위와 넘침 보정과 최저 배율을 검사하는 회귀 테스트 3개를 추가했다.
|
|
- 프런트 타입 검사와 전체 70개 테스트와 운영 빌드를 통과했다.
|
|
- 악보 영역 수정 전 백업은 /home/syskiller/piano/backups/bach-to-basics/20261003-1730-sheet-fit에 저장했다.
|
|
|
|
2026-10-04
|
|
|
|
- 피아노 학습 서비스의 최종 사용 프로그램을 Bach to Basics로 확정했다.
|
|
- Discourse 포럼 작업방에 서비스 소개와 사용법 및 곡 공유와 질문과 오류 신고 등의 게시 공간 구성을 요청했다.
|
|
- 현재 작업은 프로젝트 결정 기록만 변경했다. DB와 운영 컨테이너 및 이용자 데이터는 변경하지 않았다.
|
|
|
|
2026-10-09
|
|
|
|
- 초보자도 한 곡을 끝까지 연주할 수 있도록 약 64~76초 길이의 양손 MIDI 연습곡 5개를 직접 만들었다.
|
|
- 별빛 계단은 입문과 쉬움 두 버전으로 묶었다. 저녁빛 왈츠와 해돋이 아르페지오 및 검은 건반 산책도 공개 샘플로 등록했다.
|
|
- 분산 화음과 아르페지오 기법 참고 강좌의 제작자와 유튜브 주소를 샘플 출처 문서에 짧게 기록했다. 영상의 곡을 MIDI로 복제하지 않았다.
|
|
- 변경 파일은 backend/library_db.py와 backend/tools/generate_beginner_midis.py와 backend/sample_midi의 신규 파일 5개 및 검사 스크립트와 관련 문서다.
|
|
- MIDI 파서 검사에서 5개 파일의 길이와 박자 및 양손 트랙을 확인했다. 백엔드 단위 테스트 5개를 통과했다.
|
|
- 운영 백업은 /home/syskiller/piano/backups/bach-to-basics/20261009-beginner-midi 에 보관했다. 서버 시작 시 기본 공개 곡 5건이 DB에 추가됐고 회원 데이터 이전은 없었다.
|
|
- 백엔드 컨테이너만 갱신했다. HTTPS 첫 화면과 비회원 공개 목록 및 5개 파일 다운로드를 확인했다. 기존 회원 업로드 2개를 보존했고 프런트엔드는 재시작하지 않았다.
|
|
- 실제 USB MIDI 피아노를 연결한 손별 따라치기 검사는 남아 있다.
|