Releases: TriangleYJ/BJShell
v1.3.1
수정사항
새로운 기능
1초마다 ajax polling 하는 방식에서 websocket 기반 이벤트 구독 방식으로 수정했습니다. 2ecc8fc f051646
- 이제 채점 퍼센티지가 표시됩니다.
맞았습니다!!
가 아닌경우 최종 결과 표시 시실패 지점: 00%
으로 보여줍니다. - 결과 표시시 백준 채점 현황 페이지와 거의 같은 로직을 쓰도록 수정한 덕분에 부분점수 및 기타사유 역시 표시됩니다.
버그 수정
test 명령어와 set 명령어 버그를 수정했습니다. 70ade46
중복 리스너 버그를 수정했습니다. 1ff1bd0
설치
설치 후에 bj
명령어로 BJShell을 이용할 수 있습니다.
Linux
아래 설치 명령어를 실행하시면 됩니다.
wget -O - https://raw.githubusercontent.com/TriangleYJ/BJShell/master/install.sh | bash
MacOS
직접 빌드해 바이너리를 추가해 주셔야 합니다. 프로젝트를 clone한 후 아래 명령어를 실행해 주세요.
node 버전 16을 사용합니다. (nvm use 16
)
npm i && npm i -g typescript tsc-alias pkg
npm run build
cd build
sudo mv bjshell-macos /usr/local/bin/bj
Windows
윈도우 환경에서는 호환되지 않습니다. wsl
환경에서 리눅스용 BJShell을 설치해 주세요.
v1.3
BJ Shell v1.3
Install
wget -O - https://raw.githubusercontent.com/TriangleYJ/BJShell/master/install.sh | bash
위의 명령어를 실행한 후 바로 bj
커맨드로 BJ Shell을 이용할 수 있습니다.
리눅스 환경에서만 사용 가능합니다.
v1.0.1
BJ Shell v1.0.1
Install
- linux-x64:
sudo wget -O /usr/local/bin/bj https://github.com/TriangleYJ/BJShell/releases/download/v1.0.1/bjshell-linux-x64 && sudo chmod +x /usr/local/bin/bj
- linux-arm64:
sudo wget -O /usr/local/bin/bj https://github.com/TriangleYJ/BJShell/releases/download/v1.0.1/bjshell-linux-arm64 && sudo chmod +x /usr/local/bin/bj
위의 명령어를 실행한 후 바로 bj
커맨드로 BJ Shell을 이용할 수 있습니다.
Description
BJ Shell의 첫 공개 알파 버전 (v1.0.1) 입니다. 1년 반 전 즈음에 진행했었던 비공개 개인 프로젝트를 개선해 처음부터 개발했습니다.
백준 사이트와의 상호작용을 기존의 puppeteer 기반에서 node-fetch GET, POST 요청으로 변경했습니다.
개발 언어를 Javascript에서 Typescript로 변경했습니다. Jest 기반 테스팅도 추가했습니다. (명령어 테스트 코드는 아직..)
그외 다양한 기능들을 추가했습니다.
Features
- 깔끔해진 프롬프트
- 간단한 디렉토리 이동 명령어 추가
- ID, PW 기반 로그인에서 Cookie 기반 로그인으로 변경
- VSCode 와의 연동 (code 명령어 통한 문제 및 답안 파일 에디터상 오픈)
- 문제 html을 Markdown으로 렌더링, VSCode 상 문제 바로 볼 수 있음
- exec 명령어의 경우 Ctrl + C 지원,
- 테스팅 중 타임아웃 핸들링
- 언어 목록 파싱을 통한 컴파일 및 실행 명령어 별도 세팅 없이 알아서 실행
- 문서 변동이 있을 때마다 자동으로 테스팅하는 watch 기능 추가 + 빠른 제출
- 사용자가 커스텀 테스트 케이스를 답안에 추가할 수 있음
- 사용자가 언어별 시작 템플릿 만들 수 있음
- 정교해진 제출 기능
- 구글링 링크 제공
그 외 help 명령어를 통해 추가로 확인할 수 있습니다.
Issues
첫 release인 만큼 버그가 많을 것으로 예상됩니다. Github Issues 를 통해 제보해 주시면 감사하겠습니다.