개발자 허브

This page is a translated version of the page Developer hub and the translation is 77% complete.
Outdated translations are marked like this.
  • 사용자
  • 시스템 관리자
  • 개발자
  • 번역자


이 문서는 미디어위키 개발을 위한 고수준 개요입니다. 이 문서에는 미디어 위키 개발자들을 위한 핵심 문서, 리소스, 툴의 링크가 포함되어 있습니다. 미디어위키를 사용해본 경험이 있는 숙련된 LAMP 개발자들을 위해 쓰여졌습니다.

  • 만약 위키미디어 웹 API를 "사용하고" 싶으시다면 $1를 방문해주세요(작업중입니다).
  • 위키미디어 소프트웨어 개발에 기여하고 싶다면, 새로운 개발자 을 확인하세요.
  • 미디어위키와 미디어위키 확장기능 개발 시작을 위한 가이드가 필요하다면, 미디어위키 개발자가 되는 방법 을 읽어주세요.
  • If you want to collaborate with other third-party MediaWiki users, the MediaWiki Stakeholders' Group (MWStake) is a MediaWiki user group consisting of MediaWiki developers, system administrators, users, consultants, and hosting providers.

개요

MediaWiki is the software that powers Wikipedia, its sister projects and thousands of wikis all over the world.

MediaWiki is written in the PHP programming language.[1] It uses jQuery as the client JavaScript library.

MediaWiki is primarily written for the LAMP platform[2] and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.[3]

개발은 오픈 소스 스타일로 이루어집니다[4]는 대부분 온라인에서 조정되고 Wikimedia Foundation에서 지원하지만 자원 봉사 커뮤니티 개발자도 큰 역할을합니다.

  • 개발 토론는 다양한 메일링 리스트IRC 채널에서 이루어집니다. 메인 개발자 리스트는 wikitech-l에 있습니다. 메인 개발자의 IRC 채널은 #mediawiki connect와 $3입니다.
  • 소스 코드Git의 버전 관리 시스템으로 관리됩니다.[5]
  • 코드 리뷰게릿 에서 수행됩니다. 패치 내용을 제출하고 싶으시다면, 이 튜토리얼을 따라서 Git과 Gerrit을 설치하세요.
  • 핵심 코드로 작업하는 대신 미디어위키로 확장이나 인터페이스를 개발을 하는 경우에는 APIHooks 시스템과 Skins 같은 편리한 확장 도구들을 사용할 수 있습니다. 이 페이지의 #미디어위키 확장 부분에서 볼 수 있습니다.

주요 문서

코드, 개발과 스타일

디버깅과 테스트

구조

  • 미디어위키 클래스 레퍼런스 - 미디어위키 소스코드에서 파생된 기술적인 문서. (참고: 클래스 레퍼런스가 커서, 페이지 로딩이 느릴 수 있습니다.)

하위 시스템

  • API – 미디어위키 데이터베이스에 들어 있는 데이터로의 높은 수준의, 직접적인 접근을 제공합니다.
  • ContentHandler – 페이지 내용의 커스텀을 돕기 위한 미디어위키의 프레임워크.
  • Database access – 데이터베이스의 축약된 레이어로의 간결한 가이드를 포함하는, 미디어위키에서 데이터베이스를 사용하는 것에 대한 개요
  • 매뉴얼:작업 큐 – 오래 걸리는 작업을 비동기적으로 처리하는데 쓰이는 미디어위키의 프레임워크
  • Messages API – PHP와 JS를 사용해 지역화된 애플리케이션 메시지를 제공하는 미디어위키의 프레임워크.

미디어위키 확장

미디어위키는 "핵심 코드"를 변경하는 일 없이 수정할 수 있도록 설계되었습니다. 이 덕분에 낡은 확장 기능 코드에 수작업으로 머지하는 일 없이 새로운 미디어위키의 버전을 간단하게 업데이트 할 수 있습니다. 6개의 주요 확장 기능이 있고 개발자들은 이를 통해 미디어위키가 할 수 있는 것을 바꾸거나 확장할 수 있습니다. 해당 확장 기능은 다음과 같습니다:

  • API – 웹 API를 통해 미디어위키의 데이터와 메타데이터에 접근하세요.
  • 메뉴얼:훅 – 주어진 일이 일어날 때마다 무엇인가를 합니다.
  • 메뉴얼:파서 함수 – 다음과 같은 새로운 커맨드를 생성하세요: {{#if:...|...|...}}.
  • 메뉴얼:스킨 – 미디어위키의 외형과 느낌을 변경합니다.
  • 특수 문서 – 새로운 특수 페이지를 추가합니다.
  • 태그 확장기능 – 새로운 태그를 작성합니다: ‎<newtag>...‎</newtag>.
  • Extending wiki markup add a parser hook to modify the content of wikitext.

확장 기능 개발자를 위한 도움말

스킨 개발자를 위한 도움말

라이브러리 코드 재사용을 위한 도움말

참고

  1. Not all of MediaWiki is written in PHP. Some supporting tools are written in other languages, including batch files, shell scripts, makefiles and Python.
  2. MediaWiki runs on most platforms that can support PHP, however, the lack of certain utilities or operating system features may limit the functionality or performance of MediaWiki on non-LAMP platforms.
  3. MediaWiki has support for DBMS other than MySQL and MariaDB, including PostgreSQL and SQLite.
  4. 개발자는 다양한 조직의 자원 봉사자와 유급 직원 (또는 계약자)의 혼합입니다. 미디어 위키 코드에서 작업하는 사람의 전체 목록은 Developers 기사를 참조하십시오.
  5. $1에서 소스 코드 및 코드 리포지토리 개정판을 찾아 보거나 Gerrit를 사용하여 시스템에 소스 코드를 다운로드합니다.