리버티게임:사이트 기능 개발 참여 관련 안내
보이기
이 문서는 리버티게임의 정책이나 지침 등으로 제안된 상태입니다.
리버티게임은 현재 사이트에 새로운 기능을 추가하거나 편의성 향상을 위해 수리하는 개발 작업에 참여할 사용자를 적극적으로 모집하고 있습니다. 다음 문단에 있는 기술 스택을 만족한다면 사무관의 사용자토론에 참가 의사를 밝혀주세요. 필요에 따라 개발 서버 및 GitHub 레포지트리의 적절한 권한을 부여해드리며, 이메일을 통해 리버티게임 덤프 파일 저장소에 대한 접근 권한이나 본 서버에 대한 특수 권한을 요청할 수 있습니다.
사이트 기능 개발에 사전 신청이 필수는 아닙니다. 특별한 권한 없이도 리버티게임의 틀이나 모듈을 직접 편집하거나 미디어위키:Common.js 및 소도구 등 사이트 스크립트에 대한 편집 요청을 하실 수도 있고, 리버티게임에서 관리하는 레포지트리에 버그 및 기능을 제보하거나 직접 코드를 수정해 PR을 보내실 수도 있습니다.
참여 조건[원본 편집]
공통 필수 조건[원본 편집]
- GitHub 계정 보유
- 미디어위키 문법 및 문서 렌더링 과정에 대한 이해
프론트엔드 JS[원본 편집]
- 필수
- HTML5/CSS3/VanillaJS에 대한 기본적인 지식
- ECMAScript 버전 간 차이에 대한 지식
- 반응형 디자인에 대한 이해
- 선택
- jQuery 사용 가능
- XMLHttpRequest 및 fetch API를 사용한 비동기 요청에 관한 지식
- UI/UX 관련 상식이 있는 분
- Vue.js 사용 가능
- TypeScript 사용 가능
- Rollup, Vite 등 번들러 사용 가능
- Jest 등을 활용한 유닛 테스트 관련 지식
- 참고
- async/await 등 ECMAScript 8 이상 문법은 현재 미디어위키의 모든 버전에서 아직 지원하지 않습니다(린트 오류 발생). 따라서 참여할 때 비동기 요청 반복에 따른 콜백 지옥 탈출이 Promise로만 가능하다는 점을 명심하시기 바랍니다.
프론트엔드 Lua[원본 편집]
- 필수
- Lua 5.1 사용 가능
- Scribunto 확장 기능 명세에 대한 지식
백엔드[원본 편집]
- 필수
- Docker 사용 가능
- SSH 및 Linux 사용 가능
- Apache HTTP Server 버전 2 이상 사용 가능
- PHP 7.X 이상에 대한 기초 지식: 변수 설정 및 사용, 기본적인 함수 및 연산에 대한 이해, 문자열 처리 및 데이터 변환, 배열 다루기에 관한 지식만 있어도 됩니다.
- 미디어위키 확장 기능 직접 설치 방법에 대한 이해
- 선택
- docker-compose 사용 가능
- 미디어위키 1.39 이상 백엔드 PHP API에 대한 이해
- REST API에 대한 기본 이해
- OAuth 프로토콜에 대한 이해
- 참고
- 선택 사항을 만족하는 경우 리버티게임 전용 확장 기능 개발에 참여할 수도 있습니다.
- 사이트 권한 명칭 설정 문제로 이 부분을 다루는 분들에게 주어지는 권한의 이름이 'developer'로 부여됩니다. 그러나 이 권한을 가진 사용자만 사이트 기능을 개발하는 상황은 아니므로 오해 없으시길 바랍니다.
모바일 애플리케이션[원본 편집]
- 필수
- HTML5/CSS3/VanillaJS 지식
- React 사용 경험
- OAuth 프로토콜에 대한 이해
- 선택
- React-Native 사용 경험
- Delphi 10.x 이상 사용 경험
- 참고
- 현재 리버티게임 전용 모바일 애플리케이션은 아직 기획 단계입니다. 구체적인 개발 환경 설정 및 설계 과정까지 상당히 오래 걸릴 예정이므로, 천천히 준비하고 참여하셔도 됩니다.