위키함수:FAQ
이 문서는 위키함수에 관련된 자주 묻는 질문을 다룬 문서입니다. 원하는 답변이 없으시다면 토론 문서에서 직접 물어보시기 바랍니다!
또한, 위키함수와 추상 위키백과에 대한 보다 구체적인 질문에 대해서는 메타에 대한 FAQ를 고려하시기 바랍니다.
소개
이 프로젝트는 무엇에 관한 것인가요?
Wikifunctions is a new Wikimedia project that provides a catalog of all kinds of functions that anyone can call, write, maintain, and use. It also provides the underlying technology that will eventually enable the translation of language-independent articles from Abstract Wikipedia into the language of any Wikipedia. This will allow everyone to contribute and read articles in their preferred languages.
함수가 무엇인가요?
Functions are a form of knowledge that can answer questions, such as how many days have passed between two dates or the distance between two cities. More complicated functions can answer more complicated questions, such as the volume of a three-dimensional shape, the distance between Mars and Venus on a certain date, or whether two species were alive at the same time.
We already use functions in many types of knowledge inquiries, such as asking a question to a search engine. The templates, such as Template:Convert and Template:Age on English Wikipedia, are also examples of functionalities that are already used in many Wikipedias, written in wikitext and Lua and manually copied to each wiki where it's wanted.
구현이 무엇인가요?
An implementation is a particular way to execute a function. An implementation is a recipe that lists the steps that are needed to run the function. It may be a piece of code in a programming language or a combination of calls to other functions. A function may have many implementations, which should all be equivalent.
테스트가 무엇인가요?
A test is a way to determine if a given function is doing the right thing. A function will typically have multiple testers, each specifying some input to the function and the conditions the output for the given input must fulfill.
For example, testers for a “title case” function might include: “abc” should become “Abc”; “war and peace” should become “War and Peace”; “война и мир” should become “Война и мир”; and “123” should remain “123”.
현재 사용 가능할지, 곧 사용 가능해질지, 언제 사용될지 모르는 함수가 무엇인가요?
- At launch:
- 문자열과 불리언을 다루는 함수를 가질 수 있습니다.
- 위키함수는 처음부터 완전히 국제화되었습니다. 어떤 언어로든 사용할 수 있습니다.
- 진행 중인 개발:
- 일반적인 유형과 함수는 완전히 지원되지 않습니다.
- Adding types will, for now, be something that is limited to the development team. In the future, the community will be able to add more types. There is a lot of work to be done in the future to make types behave much more smoothly.
- One particularly interesting type will be binary data, and particularly files.
- We currently support two programming languages for implementations: JavaScript and Python. In the future, we want to support many more.
- Currently, it is not possible to call other functions from implementations written in any programming language. This is currently only possible through composition.
- In the future:
- 다른 위키미디어 프로젝트에서 함수를 호출하여 해당 결과를 문서 출력에 통합할 수 있습니다.
- 함수 내에서 위키데이터의 데이터를 사용할 수 있습니다.
- Commons Data 네임스페이스에서 데이터 세트를 호출할 수 있습니다.
위키함수는 어떻게 다국어를 지원하나요?
위키함수와 추상 위키백과는 서로 영향을 미치지 않는 여러 가지 방식으로 다국어를 사용합니다:
- 위키함수는 콘텐츠와 사용자 인터페이스 모두 다국어를 지원합니다. 사용자는 모든 자연어로 위키함수의 함수를 읽고 호출할 수 있습니다. 예를 들어, "문자열 추가" 함수에는 영어, 폴란드어, 히브리어 버전이 있으나, 더 많은 언어로도 제공됩니다.
- Contributors can edit and improve Wikifunctions using their language. Even implementations can be edited in the natural language of the contributor. For example, the composition of the “and” function can be edited in German, English, or any other of about 300 languages.
- Wikifunctions functions can be used to create results for any natural language. The community is creating a growing number of functions to support the generation of text in many natural languages. We have functions for Breton, Rohingya, English, and many other languages.
- Functions in Wikifunctions can be implemented in various different programming languages. For example, the join function is implemented in both JavaScript and Python.
현재 위키함수는 어떤 프로그래밍 언어를 지원하나요? 앞으로 어떤 프로그래밍 언어가 지원되나요?
Currently, Wikifunctions supports implementations written in JavaScript and Python. We plan to add support for more programming languages in the future. We hope to add at least one further programming language in 2025 (but have not yet decided which one).
위키함수는 다른 프로젝트에 어떻게 통합되나요?
Wikifunctions is the first step towards building Abstract Wikipedia. Our near-term focus will be on supporting the community and making improvements based on feedback. Concurrently, we will begin the process of integrating it with Wikipedia and Wikidata, which will enable broader real-life applications and get us closer to the vision of Abstract Wikipedia.
Contributors will be able to call functions stored on the Wikifunctions site from within their wikis. The result of the function call will be displayed to readers of the wiki. This can be used, for example, to calculate the age of a person, the population density based on population and area data from Wikidata, or to draw a graph and integrate it into a given article.
Another option to integrate Wikifunctions will be to integrate an interactive function call interface within their wiki. This could be used, for example, in a Wikipedia article to dynamically calculate the result of a physical equation based on reader-provided parameters, draw and interact with mathematical functions, etc.
위키함수란 무엇인가요?
자세한 내용은 위키함수:위키함수가 아닌 것을 참고하세요.
함수 및 파생 콘텐츠에는 어떤 라이선스가 적용되나요?
Per the discussion happened on Meta between November and December 2021, all contributions to Wikifunctions and the wider Abstract Wikipedia projects will be published under free licenses. In particular:
- 위키함수의 텍스트 내용은 CC BY-SA 4.0에 따라 게시됩니다.
- 함수 서명 및 위키함수의 기타 구조화된 콘텐츠는 CC0으로 게시됩니다.
- 위키함수의 코드 구현은 아파치 2 라이선스에 따라 게시됩니다.
- 추상 위키백과의 추상 내용은 CC BY-SA 4.0에 따라 게시됩니다.
There are still some points that will need to be addressed in the future, such as the license of the generated content from the abstract content. We plan on drafting a more comprehensive document with the Legal department about how people can re-use code from Wikifunctions as painlessly as possible, while adhering to the license.
기여
제가 처음 와 봤는데, 제가 무엇을 해야 하고 어떻게 도와드려야 하나요?
Welcome! We're very happy to have you here! There are many opportunities for contributing to Wikifunctions, from creating new functions to improving and translating documentation. If you are looking for ways to get involved, we recommend that maybe, depending on your level of comfort, you suggest a new function on a topic you are interested in. Or even create such a function. Provide some tests. Try your hand at an implementation. Help with translations. Read and improve our documentation. Help with organizing the community.
새 함수, 구현, 테스트는 어떻게 만드나요?
새 기능, 구현, 테스트를 만드는 방법에 대해서는 위키함수:소개를 참고하세요.
구현을 만드는 방법에 대해서는 위키함수:구현을 만드는 방법을 참고하세요.
무엇을 먼저 편집해야 하나요?
If you can write several languages, find functions that don't have labels and descriptions in your languages yet on the page Special:ListMissingLabels, and help to add them.
If you have some interest in a domain that could feature functions in Wikifunctions, but yet doesn't, or if you have more ideas for functions, go to the page for suggesting new functions and present your ideas.
If you are a coder in JavaScript or Python, maybe you want to check for functions that don't yet have implementations in JavaScript or Python, and try to write them.
어디에서 도움을 받을 수 있나요?
Your first stop should be the Help portal, where you'll find all the documentation related to using and editing Wikifunctions. If you're still stuck, post a message on Project chat, and someone will answer your question.
함수를 어떻게 정렬하거나 분류하나요?
For now, the best way to sort or categorize functions is to do it by hand through pages in the Wikifunctions namespace. Another option would be through the talk page of the given function. We will monitor these efforts and discuss with the community which changes to the system would be helpful for this task.