docs(i18n): contributing guidelines in polish (#37350)
Co-Authored-By: Cezary Waś <44169282+Qondor@users.noreply.github.com> Co-authored-by: kassjja <52068785+kassjja@users.noreply.github.com>
This commit is contained in:
parent
cc190aba99
commit
b27d9ce770
117
docs/i18n-languages/polish/CONTRIBUTING.md
Normal file
117
docs/i18n-languages/polish/CONTRIBUTING.md
Normal file
@ -0,0 +1,117 @@
|
||||
# Wytyczne dotyczące twojego wkładu w FreeCodeCamp
|
||||
|
||||
Cześć. 👋
|
||||
|
||||
Funkcjonowanie freeCodeCamp.org jest możliwe dzięki tysiącom życzliwych wolontariuszy takich jak Ty. Jesteśmy wdzięczni za Twój wkład i cieszymy się, że możemy powitać Cię na pokładzie.
|
||||
|
||||
Ściśle egzekwujemy nasz [„Kodeks postępowania”](https://www.freecodecamp.org/code-of-conduct). Poświęć chwilę, aby go przeczytać. Ma tylko 196 słów.
|
||||
|
||||
Szczęśliwego rozwijania kodu open source!
|
||||
|
||||
## Oto kilka fajnych sposobów, w które możesz pomóc
|
||||
|
||||
Możesz przyczynić się do jednego z tych rzeczy:
|
||||
|
||||
|
||||
1. [Rozwijaj tę otwartoźródłową bazę danych](#https://github.com/freeCodeCamp/freeCodeCamp/). Pomóż nam edytować wyzwania związane z kodowaniem lub naprawiaj błędy na platformie edukacyjnej.
|
||||
|
||||
2. Pomoc dla kamperów na naszym [forum publicznym](https://www.freecodecamp.org/forum/). [Odpowiedz na pytania dotyczące kodowania](https://www.freecodecamp.org/forum/?max_posts=1) lub [podaj im informacje zwrotne na temat ich projektów kodowania](https://www.freecodecamp.org/forum/c/project-feedback?max_posts=1).
|
||||
|
||||
3. Pomóż nam dodawać napisy (podpisy zamknięte) do naszych [Filmów na kanale YouTube](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos).
|
||||
|
||||
## Przyczyniaj się do tej otwartej źródłowej bazy danych.
|
||||
|
||||
Nasza baza danych zawiera tysiące [wyzwań związanych z kodowaniem](https://learn.freecodecamp.org) oraz inne kody źródłowe, które zasilają naszą platformę edukacyjną.
|
||||
|
||||
##### Twórz, aktualizuj i naprawiaj błędy w naszych wyzwaniach związanych z kodowaniem.
|
||||
|
||||
Wszystkie nasze wyzwania związane z kodowaniem są obsługiwane przez społeczność, dostarczającą specjalistyczną wiedzę od wolontariuszy takich jak Ty.
|
||||
|
||||
Możesz pomóc je rozszerzyć i poprawić ich brzmienie. Możesz również aktualizować historie użytkowników, aby lepiej wyjaśnić koncepcję lub usunąć zbędne i poprawić testy wyzwań, aby lepiej testowały kod ludzi.
|
||||
|
||||
**Jeśli jesteś zainteresowany poprawą tych wyzwań związanych z kodowaniem, oto [jak pracować nad wyzwaniami związanymi z kodowaniem](/docs/how-to-work-on-coding-challenges.md).**
|
||||
|
||||
##### Pomóż nam naprawić błędy w platformie edukacyjnej freeCodeCamp.org
|
||||
|
||||
Nasza platforma edukacyjna działa na nowoczesnym stosie JavaScript. Posiada różne komponenty, narzędzia i biblioteki, w tym między innymi Node.js, MongoDB, LoopBack, OAuth 2.0, React, Gatsby, Webpack i wiele innych.
|
||||
|
||||
Ogólnie rzecz biorąc,
|
||||
|
||||
- Mamy serwer API oparty na Node.js.
|
||||
- Zestaw aplikacji klienckich opartych na React.
|
||||
- Skrypt, którego używamy do oceny naszych projektów front-end.
|
||||
rozwijanie naszego stacku wymaga trochę zrozumienia API, ES6 Syntax, i chęci nauki.
|
||||
|
||||
Zasadniczo oczekujemy podstawowej znajomości niektórych z wyżej wymienionych technologii, narzędzi i bibliotek. Biorąc to pod uwagę, nie jesteście zobowiązani do bycia ekspertem w tym zakresie, aby móc wnieść swój wkład.
|
||||
|
||||
**Jeśli chcesz pomóc nam udoskonalić naszą bazę danych, możesz albo [skonfigurować freeCodeCamp lokalnie](/docs/how-to-setup-freecamp-locally.md) albo użyć Gitpod, darmowego środowiska online dev.**
|
||||
|
||||
[](https://gitpod.io/#https://github.com/freeCodeCamp/freeCodeCamp)
|
||||
|
||||
(Uruchamia gotowe do kodowania środowisko dev dla freecodecamp w przeglądarce.)
|
||||
|
||||
## Najczęściej zadawane pytania
|
||||
|
||||
### Jak mogę zgłosić błąd, którego nie ma na pokładzie?
|
||||
|
||||
Jeśli uważasz, że znalazłeś błąd, przeczytaj najpierw artykuł ["Help I've Found a Bug"](https://forum.freecodecamp.org/t/how-to-report-a-bug/19543) i postępuj zgodnie z jego instrukcjami.
|
||||
|
||||
Jeśli jesteś pewien, że jest to nowy błąd, stwórz nowy problem z GitHub. Upewnij się, że dołączysz jak najwięcej informacji, abyśmy mogli odtworzyć błąd. Mamy predefiniowany szablon problemu, który pomoże Ci w jego rozwiązaniu.
|
||||
|
||||
Proszę zwrócić uwagę, że wszelkie problemy, które szukają pomocy przy kodowaniu w przypadku wyzwania, zostaną zamknięte. Śledzenie spraw jest ściśle związane z zagadnieniami związanymi z bazą danych i dyskusjami. W razie wątpliwości, przed sporządzeniem raportu należy [szukać pomocy na forum](https://www.freecodecamp.org/forum).
|
||||
|
||||
##### Jak mogę zgłosić problem bezpieczeństwa?
|
||||
|
||||
Proszę nie tworzyć problemów z GitHub w sprawach bezpieczeństwa. Zamiast tego, wyślij e-mail na adres `security@freecodecamp.org` i natychmiast się temu przyjrzymy.
|
||||
|
||||
##### Co oznaczają te różne etykiety, które są oznaczone na tematach?
|
||||
|
||||
Nasi moderatorzy społeczności [triage](https://en.wikipedia.org/wiki/Software_bug#Bug_management) zgłaszają problemy i wnioski w oparciu o ich priorytet, dotkliwość i inne czynniki. Możesz [znaleźć kompletny słowniczek ich znaczeń tutaj](https://github.com/freecodecamp/freecodecamp/labels).
|
||||
|
||||
Powinieneś przejść przez [**`help wanted`**](https://github.com/freeCodeCamp/freeCodeCamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) lub [**`first timers welcome`**](https://github.com/freeCodeCamp/freeCodeCamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22first+timers+welcome%22) w celu szybkiego przeglądu tego, nad czym możesz pracować.
|
||||
|
||||
Są one do pobrania i nie musisz ubiegać się o pozwolenie przed rozpoczęciem pracy nad nimi. Jeśli te kwestie nie są jasne, co należy zrobić, nie krępuj się zadawać pytań w komentarzach.
|
||||
|
||||
#### Znalazłem literówkę, czy powinienem zgłosić problem, zanim złożę prośbę o ciągnięcie?
|
||||
|
||||
W przypadku literówek i innych zmian w słownictwie, możesz bezpośrednio otwierać żądania ciągnięcia bez wcześniejszego tworzenia problemu. Problemy są bardziej przydatne do omówienia większych problemów związanych z kodem lub aspektami strukturalnymi programu nauczania.
|
||||
|
||||
##### Jak mogę dostać problem przypisany do mnie?
|
||||
|
||||
Zazwyczaj nie przydziela się problemów nikomu innemu niż długoletnim współpracownikom, aby uniknąć ambitnego nie dostarczenia wyników. Zamiast tego postępujemy zgodnie z poniższą polityką, aby być sprawiedliwym dla wszystkich:
|
||||
|
||||
1. Preferowane jest połączenie pierwszego wniosku o wyciągnięcie ręki w każdej sprawie.
|
||||
2. W przypadku wielokrotnych próśb o ten sam problem, dajemy pierwszeństwo jakości kodu w próśb o wyciągnięcie.
|
||||
- Czy dołączyłeś testy?
|
||||
- Czy złapałeś wszystkie przypadki?
|
||||
- Czy upewniłeś się, że wszystkie testy przeszły pomyślnie i potwierdziłeś, że wszystko działa lokalnie?
|
||||
3. W końcu popieramy prośby o pociągnięcie, które są zgodne z naszymi zaleceniami.
|
||||
- Podążał pan za listą kontrolną?
|
||||
- Czy podałeś nazwę swojej listy kontrolnej w sposób znaczący?
|
||||
|
||||
Nie potrzebujesz żadnego zezwolenia dla spraw, które są oznaczone jako "potrzebna pomoc" lub "nowicjusze mile widziani", jak wyjaśniono wcześniej. Postępuj zgodnie z wytycznymi i otwórz prośbę o pomoc.
|
||||
|
||||
##### Jestem nowy w GitHubie i Open Source, od czego powinienem zacząć?
|
||||
|
||||
Przeczytaj nasz [Poradnik jak wnieść wkład do Open Source](https://github.com/freeCodeCamp/how-to-contribute-to-open-source).
|
||||
|
||||
##### Utknąłem na czymś, co nie jest zawarte w tej dokumentacji. Jak mogę uzyskać pomoc?
|
||||
|
||||
Możesz poprosić o pomoc:
|
||||
|
||||
- [Kategoria "Współtwórcy" na naszym forum publicznym](https://www.freecodecamp.org/forum/c/contributors)
|
||||
- [Nasz publiczny chat room dla współpracowników na Gitterze](https://gitter.im/FreeCodeCamp/Contributors)
|
||||
|
||||
Jesteśmy podekscytowani, by pomóc Ci we wzięciu udziału we wszystkich tematach, nad którymi chciałbyś pracować. Zachęcamy do zadawania nam pytań na tematy pokrewne, a my chętnie udzielimy wyjaśnień. Upewnij się, że szukasz swojego zapytania przed wysłaniem nowego. Bądź uprzejmy i cierpliwy. Nasza społeczność wolontariuszy i moderatorów jest zawsze w pobliżu, aby poprowadzić Cię przez Twoje pytania.
|
||||
|
||||
Jeśli masz wątpliwości, możesz skontaktować się z naszym zespołem programistów platformy, aby Ci w tym pomóc:
|
||||
|
||||
|
||||
| kontakt | GitHub | Twitter |
|
||||
|:----------------|:-------|:--------|
|
||||
| Mrugesh Mohapatra | [`@raisedadead`](https://github.com/raisedadead) | [`@raisedadead`](https://twitter.com/raisedadead)|
|
||||
| Ahmad Abdolsaheb | [`@ahmadabdolsaheb`](https://github.com/ahmadabdolsaheb) | [`@Abdolsaheb`](https://twitter.com/Abdolsaheb) |
|
||||
| Kristofer Koishigawa | [`@scissorsneedfoodtoo`](https://github.com/scissorsneedfoodtoo) | [`@kriskoishigawa`](https://twitter.com/kriskoishigawa) |
|
||||
|
||||
> **Email: `dev@freecodecamp.org`**
|
||||
|
27
docs/i18n-languages/polish/devops.md
Normal file
27
docs/i18n-languages/polish/devops.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Developer Operations at freeCodeCamp.org
|
||||
|
||||
Dziękujemy za zainteresowanie się tym, jak robimy DevOps dla platformy na freeCodeCamp.org.
|
||||
|
||||
Staraliśmy się, aby język w tym przewodniku był jak najprostszy dla wszystkich. Znaleźć możesz tutaj jednak techniczny żargon. Nie jest to wyczerpujący przewodnik po wszystkich operacjach i ma być wykorzystywany tylko jako punkt odniesienia dla zrozumienia systemów.
|
||||
|
||||
## Jak budujemy i wdrażamy bazę danych?
|
||||
|
||||
Nieprzerwanie budujemy i wdrażamy [`master`](https://github.com/freeCodeCamp/freeCodeCamp/tree/master), nasz domyślny dział rozwoju na osobnym zestawie serwerów**.
|
||||
|
||||
Zazwyczaj gałąź `master` jest łączona z gałęzią [`produkcyjny-stage`](https://github.com/freeCodeCamp/freeCodeCamp/tree/production-staging) raz dziennie i wydawana w izolowanej infrastrukturze. Nazywamy to naszą aplikacją "staging/beta".
|
||||
|
||||
Jest ona identyczna z naszym środowiskiem produkcyjnym w `freeCodeCamp.org`, innym niż wykorzystującym osobny zestaw baz danych, serwerów, web-proxy, itp. Ta izolacja pozwala nam testować ciągły rozwój i funkcje w scenariuszu "production like", bez wpływu na zwykłych użytkowników platform freeCodeCamp.org.
|
||||
|
||||
Gdy tylko zespół programistów [`@freeCodeCamp/dev-team`](https://github.com/orgs/freeCodeCamp/teams/dev-team/members) jest zadowolony ze zmian w aplikacji inscenizacyjnej, zmiany te są przenoszone co kilka dni do środowiska [`production-current`](https://github.com/freeCodeCamp/freeCodeCamp/tree/production-current). Następnie wydajemy zmiany w naszych platformach na żywo na freeCodeCamp.org.
|
||||
|
||||
Stosujemy różne poziomy testów integracyjnych i akceptacyjnych, aby sprawdzić jakość kodu. Wszystkie nasze testy są wykonywane za pomocą oprogramowania, takiego jak Travis i Azure Pipelines. Niektóre z tych zautomatyzowanych, czyli po przeniesieniu zmian do odpowiedniego oddziału, są budowane i wdrażane na platformach.
|
||||
|
||||
Zapraszamy do przetestowania tych wydań w trybie **"public beta testing "** i uzyskania wczesnego dostępu do nadchodzących funkcji na platformach. Czasami te funkcje/zmiany są nazywane **następnymi, beta, etapami, ** itd. zamiennie.
|
||||
|
||||
Twój wkład poprzez opinie i raporty o wydaniach pomoże nam uczynić platformy produkcyjne na `freeCodeCamp.org` bardziej **odpornymi**, **zgodnymi** i **stabilnymi** dla każdego.
|
||||
|
||||
Dziękujemy Ci za zgłaszanie błędów, które napotykasz, pomagasz w ten sposób w ulepszaniu freeCodeCamp.org. Rządzisz!
|
||||
|
||||
## Identyfikacja nadchodzącej wersji platformy
|
||||
|
||||
Nazwa domeny będzie inna niż **`freeCodeCamp.org`**. Obecnie ta publiczna wersja beta testowa jest dostępna na stronie
|
52
docs/i18n-languages/polish/how-to-open-a-pull-request.md
Normal file
52
docs/i18n-languages/polish/how-to-open-a-pull-request.md
Normal file
@ -0,0 +1,52 @@
|
||||
<!-- do not translate this -->
|
||||
| [Read these guidelines in other languages](/docs/i18n-languages) |
|
||||
|-|
|
||||
<!-- do not translate this -->
|
||||
|
||||
# Jak otworzyć Pull Request
|
||||
|
||||
# Jak przygotowac dobrą nazwę Pull Request:
|
||||
|
||||
Przy otwieraniu Pull Request(PR), użyj poniższej tabeli, aby zdecydować, jaki tytuł ma nosić Twój PR w poniższym formacie:
|
||||
`fix/feat/chore/refactor/docs/perf (zakres): Tytuł PR
|
||||
|
||||
Przykładem jest `fix(learn): Naprawiono testy dla do...while loop challenge`.
|
||||
|
||||
| Scope | Documentation |
|
||||
|---|---|
|
||||
| `learn`,`curriculum` | For Pull Requests making changes to the curriculum challenges. |
|
||||
| `client` | For Pull Requests making changes to client platform logic or user interface |
|
||||
| `guide` | For Pull Requests which make changes to the guide. |
|
||||
| `docs` | For Pull Requests making changes to the project's documentation. |
|
||||
|
||||
|
||||
# Gdy proponuijesz Pull Request (PR)
|
||||
|
||||
1. Po dokonaniu edycji zostanie wyświetlony monit o utworzenie żądania przeciągnięcia na stronie GitHub widelca.
|
||||
|
||||
[Obraz - Porównaj prośbę o wyciągnięcie na GitHub](/docs/images/github/compare-pull-request-prompt.png)
|
||||
|
||||
2. Domyślnie, wszystkie żądania pobrania powinny być skierowane przeciwko głównemu repo freeCodeCamp, gałęzi `master`.
|
||||
|
||||
Upewnij się, że twój widelec bazowy jest ustawiony na freeCodeCamp/freeCodeCamp podczas podnoszenia żądania przeciągnięcia.
|
||||
|
||||

|
||||
|
||||
3. Wyślij żądanie ściągnięcia z gałezi do gałęzi `mastera` freeCodeCamp.
|
||||
|
||||
4. W treści swojego PR zamieść bardziej szczegółowe podsumowanie wprowadzonych przez Ciebie zmian i dlaczego.
|
||||
|
||||
- Otrzymasz szablon wniosku o pull request. Jest to lista kontrolna, którą powinieneś był zastosować przed otwarciem pull request.
|
||||
|
||||
- Wypełnij szczegóły, które wydają Ci się pasować. Informacje te zostaną zweryfikowane i zadecydują, czy wniosek o pull request zostanie przyjęty, czy też nie.
|
||||
|
||||
- Jeśli PR ma na celu naprawienie istniejącego błędu/sprawy, to na końcu
|
||||
opis Twojego PR, dodaj słowo kluczowe `zamknięcia`i#xxxxxx (gdzie xxxx
|
||||
jest numerem wydania). Przykład: `zamknięcie #1337`. To mówi GitHub, aby
|
||||
automatycznie zamyka istniejącą sprawę, jeśli PR zostanie zaakceptowany i połączony.
|
||||
|
||||
5. Wskazać, czy testowałeś na lokalnej kopii strony, czy też nie.
|
||||
|
||||
Jest to bardzo ważne, gdy dokonujesz zmian, które nie ograniczają się jedynie do edycji treści tekstowych, takich jak artykuł w Przewodniku. Przykłady zmian wymagających lokalnego testowania to JavaScript, CSS lub HTML, które mogą zmienić funkcjonalność lub układ strony.
|
||||
|
||||
|
337
docs/i18n-languages/polish/how-to-work-on-coding-challenges.md
Normal file
337
docs/i18n-languages/polish/how-to-work-on-coding-challenges.md
Normal file
@ -0,0 +1,337 @@
|
||||
<!-- do not translate this -->
|
||||
| [Read these guidelines in other languages](/docs/i18n-languages) |
|
||||
|-|
|
||||
<!-- do not translate this -->
|
||||
|
||||
# How to work on coding challenges
|
||||
|
||||
Naszym celem jest rozwój zabawnego i przejrzystego doświadczenia interaktywnego uczenia się.
|
||||
|
||||
Projektowanie interaktywnych wyzwań związanych z kodowaniem jest trudne. Dużo łatwiej byłoby napisać długie wyjaśnienia lub stworzyć samouczek wideo, a jest miejsce dla tych na Medium i YouTube. Jednakże, jeśli chodzi o nasz podstawowy program nauczania, trzymamy się tego, co działa najlepiej dla większości ludzi - w pełni interaktywnego, przypominającego grę wideo doświadczenia.
|
||||
|
||||
Chcemy, aby obozowicze osiągnęli stan przepływu. Chcemy, aby zbudowali rozmach i prześlizgnęli się przez nasz program nauczania z jak najmniejszą liczbą rozdźwięków. Chcemy, aby uczestniczyli w projektach z pewnością siebie i z szeroką ekspozycją na koncepcje programowania.
|
||||
|
||||
Stworzenie tych wyzwań wymaga ogromnej kreatywności i dbałości o szczegóły. Ale będziesz miał mnóstwo pomocy. Masz wsparcie całego zespołu współpracowników, od których możesz odbijać pomysły i demo swoich wyzwań. Bądź aktywny w [pokoju współpracowników](https://gitter.im/freecodecamp/contributors) i zadawaj wiele pytań.
|
||||
|
||||
Z Twoją pomocą możemy zaprojektować interaktywny program nauczania kodowania, który pomoże milionom ludzi nauczyć się kodowania przez kolejne lata.
|
||||
|
||||
Zawartość każdego wyzwania jest przechowywana w jego własnym pliku markdown. Plik ten jest później publikowany przy użyciu naszych narzędzi, na stronie internetowej, z którą można się komunikować. Możesz znaleźć całą zawartość programu nauczania freeCodeCamp.org w katalogu [`/curriculum`](/curriculum).
|
||||
|
||||
Istnieją dwa sposoby pracy nad tymi wyzwaniami:
|
||||
|
||||
- Polecamy, sklonuj projekt i edytuj lokalnie na swoim komputerze. Aby uzyskać pomoc, przeczytaj nasze [wytyczne tutaj](/CONTRIBUTING.md).
|
||||
- Możesz też opcjonalnie zmodyfikować wyzwanie w interfejsie GitHub, klikając ikonę ołówka, aby rozpocząć edycję pliku.
|
||||
|
||||
## Szablon wyzwania
|
||||
|
||||
Poniżej znajduje się szablon tego, jak wyglądają pliki markdown wyzwań.
|
||||
|
||||
Uwagi:**Notatki:**
|
||||
|
||||
1. In the below sections, examples of `{ext}` are:
|
||||
- `html` - HTML/CSS
|
||||
- `js` - JavaScript
|
||||
- `jsx` - JSX
|
||||
|
||||
2. For the `Tests` section below, `text` and `testString` should be valid YAML strings. `testString` can be a stringified function or expression possibly using Chai asserts.
|
||||
|
||||
````md
|
||||
---
|
||||
id: Unique identifier (alphanumerical, MongoDB_id)
|
||||
title: Challenge Title
|
||||
challengeType: 0
|
||||
videoUrl: 'url of video explanation'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id='description'>
|
||||
A Description of the challenge and what is required to pass
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id='instructions'>
|
||||
Instructions about what exactly needs to be done.
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
<section id='tests'>
|
||||
|
||||
``` yml
|
||||
tests:
|
||||
- text: Should return "foo"
|
||||
testString: 'A stringified function possibly using Chai asserts'
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
## Challenge Seed
|
||||
<section id='challengeSeed'>
|
||||
|
||||
<div id='{ext}-seed'>
|
||||
|
||||
```{ext}
|
||||
Code displayed in the editor by default.
|
||||
|
||||
This is a required section for the challenge.
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
### Before Test
|
||||
<div id='{ext}-setup'>
|
||||
|
||||
```{ext}
|
||||
Optional Test setup code.
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
### After Test
|
||||
<div id='{ext}-teardown'>
|
||||
|
||||
```{ext}
|
||||
Optional Test tear down code.
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```{ext}
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
````
|
||||
|
||||
|
||||
# Numbering Challenges
|
||||
|
||||
Każde wyzwanie wymaga "pomocy". Jeśli go nie określisz, wtedy MongoDB utworzy nowy losowy, kiedy zapisze dane, jednak nie chcemy, aby to zrobił, ponieważ chcemy, aby wyzwania ids były spójne w różnych środowiskach (etapy, produkcja, wiele różnych programistów, itp.).
|
||||
|
||||
Aby wygenerować nowy w powłoce (zakładając, że MongoDB działa osobno):
|
||||
|
||||
|
||||
1. Run `mongo` command
|
||||
2. Run `ObjectId()` command
|
||||
|
||||
For example:
|
||||
|
||||
```bash
|
||||
$ mongo
|
||||
MongoDB shell version v3.6.1
|
||||
connecting to: mongodb://127.0.0.1:27017
|
||||
MongoDB server version: 3.4.10
|
||||
...
|
||||
$ ObjectId()
|
||||
ObjectId("5a474d78df58bafeb3535d34")
|
||||
```
|
||||
|
||||
The result is a new id, for example `5a474d78df58bafeb3535d34` above.
|
||||
|
||||
Once you have your id, put it into the markdown file as the `id` field at the top, e.g.
|
||||
|
||||
```yml
|
||||
---
|
||||
id: 5a474d78df58bafeb3535d34
|
||||
title: Challenge Title
|
||||
```
|
||||
# Naming challenges
|
||||
|
||||
Nazywanie rzeczy jest trudne. Ułatwiliśmy to poprzez nałożenie pewnych ograniczeń.
|
||||
|
||||
Wszystkie tytuły konkursowe powinny być jednoznaczne i powinny być zgodne z tym schematem:
|
||||
|
||||
[czasownik] [klauzula obiektowa]
|
||||
|
||||
Oto kilka przykładowych nazw wyzwań:
|
||||
|
||||
- Użyj zgodnie z ruchem wskazówek zegara, aby określić wypełnienie elementu
|
||||
- Tablice kondensacyjne z funkcją .reduce
|
||||
- Użyj notacji wspornikowej, aby znaleźć pierwszy znak w łańcuchu.
|
||||
|
||||
|
||||
# Writing challenge descriptionss/instructions (Pisanie opisów/instrukcji wyzwań)
|
||||
|
||||
Zdania powinny być jasne i zwięzłe z minimalnym żargonem. Jeśli jest używany, żargon powinien być natychmiast zdefiniowany w prostym języku angielskim.
|
||||
|
||||
Zachowaj krótkie akapity (około 1-4 zdań). Ludzie częściej czytają kilka krótkich akapitów nad ścianą tekstu.
|
||||
|
||||
Tekst wyzwania powinien wykorzystywać drugą osobę ("ty"), aby nadać mu ton rozmowy. W ten sposób tekst i instrukcje wydają się przemawiać bezpośrednio do osoby prowadzącej kamper, która pracuje nad wyzwaniem. Starajmy się unikać używania pierwszej osoby ("ja", "my", "pozwólmy" i "nas").
|
||||
|
||||
|
||||
Nie używaj linków wychodzących. Przerywają one przepływ. A kempingowicze nie powinni mieć nigdy obowiązku googlowania czegokolwiek podczas tych wyzwań. Jeśli istnieją zasoby, z których według ciebie kamperzy skorzystają, dodaj je do artykułu poświęconego wytycznym.
|
||||
|
||||
Możesz dodawać wykresy, jeśli jest to absolutnie konieczne.
|
||||
|
||||
freeCodeCamp ma globalną społeczność, a kulturowe znaczenie emoji lub emotikonu może być inne na całym świecie. Ponadto, emojis może być różnie renderowane na różnych systemach.
|
||||
|
||||
Właściwe rzeczowniki powinny używać poprawnej kapitalizacji, gdy jest to możliwe. Poniżej znajduje się lista słów, które powinny pojawić się w wyzwaniach.
|
||||
|
||||
- JavaScript (duże litery w "J" i "S" i brak skrótów)
|
||||
- Node.js
|
||||
- Rozwój front-endu (forma przymiotnikowa z myślnikiem) ma miejsce, gdy pracujesz na froncie (forma rzeczownika bez myślnika). To samo dotyczy terminów "back end", "full stack" i wielu innych terminów złożonych.
|
||||
|
||||
##### Zasada 2-minutowa
|
||||
|
||||
Każde wyzwanie powinno być możliwe do rozwiązania w ciągu 120 sekund przez osobę posługującą się językiem angielskim, która ukończyła zadania prowadzące do jego realizacji. Obejmuje to czas potrzebny na przeczytanie wskazówek/instrukcji, zrozumienie kodu źródłowego, napisanie własnego kodu i przejście wszystkich testów.
|
||||
|
||||
Jeśli ukończenie zadania trwa dłużej niż dwie minuty, masz dwie możliwości:
|
||||
|
||||
- Uprość zadanie, lub
|
||||
- Podziel wyzwanie na dwa wyzwania.
|
||||
|
||||
Zasada 2-minutowa zmusza Cię, projektanta wyzwań, do zwięzłego określenia kierunku, kodu nasion i prostych testów.
|
||||
|
||||
Mamy wydarzenia w języku JavaScript, które śledzą, ile czasu zajmuje kamperom rozwiązywanie wyzwań i możemy je wykorzystać do identyfikacji wyzwań, które należy uprościć lub podzielić.
|
||||
|
||||
##### Modułowość
|
||||
|
||||
Każde wyzwanie powinno nauczyć dokładnie jednej koncepcji, a koncepcja ta powinna wynikać z nazwy wyzwania.
|
||||
|
||||
Możemy wzmocnić wcześniej omówione koncepcje poprzez powtarzanie i wariacje - na przykład poprzez wprowadzenie elementów h1 w jednym wyzwaniu, a następnie elementów h3 później kilka wyzwań.
|
||||
|
||||
Naszym celem jest stawienie czoła tysiącom dwuminutowych wyzwań. Mogą one przepływać razem i powtarzać wcześniej omówione koncepcje.
|
||||
|
||||
#### Formatowanie tekstu wyzwania
|
||||
|
||||
Oto szczegółowe wytyczne dotyczące formatowania tekstu wyzwania i przykładów:
|
||||
|
||||
- Słowa kluczowe w języku idą w znacznikach `<code>`. Na przykład, nazwy tagów HTML lub nazwy właściwości CSS.
|
||||
- Pierwsza instancja słowa kluczowego, gdy jest ono definiowane, lub ogólne słowa kluczowe (np. "obiekt" lub "niezmienny") znajdują się w znacznikach `<dfn>`.
|
||||
- Odniesienia do części kodu (np. funkcja, metoda lub nazwa zmiennej) powinny być opakowane w znaczniki `<code>`. Zobacz przykład poniżej:
|
||||
- Użyj <code>parseInt</code> aby przekonwertować zmienną <code>realNumber</code> na liczbę całkowitą.
|
||||
- Wielowierszowe bloki kodu **muszą być poprzedzone pustym wierszem**. Następny wiersz musi zaczynać się od trzech wierszy wstecznych, po których natychmiast następuje jeden z [obsługiwanych języków](https://prismjs.com/#supported-languages). Aby dokończyć blok kodu, musisz uruchomić nową linię, która ma tylko trzy backticka i **inną pustą linię**.
|
||||
**Uwaga:** Jeśli zamierzasz użyć przykładowego kodu w YAML, użyj `yaml` zamiast `yml` dla języka po prawej stronie tyłków.
|
||||
|
||||
Zobacz przykład poniżej:
|
||||
|
||||
````md
|
||||
The following is an example of code:
|
||||
|
||||
```{language}
|
||||
|
||||
[YOUR CODE HERE]
|
||||
|
||||
```
|
||||
````
|
||||
|
||||
- Dodatkowe informacje w formie notatki powinny być sformatowane `<strong>Note:</strong> Pozostała część tekstu notatki...`
|
||||
- Jeśli potrzebnych jest wiele notatek, wówczas wszystkie notatki należy wymienić w osobnych zdaniach w formacie `<strong>Notes:</strong>Pierwsza notatka. Druga notatka text.`.
|
||||
- Używaj cudzysłowów podwójnych tam, gdzie ma to zastosowanie.
|
||||
|
||||
# Writing tests
|
||||
|
||||
Wyzwania powinny mieć minimalną liczbę testów niezbędnych do sprawdzenia, czy kamper rozumie koncepcję.
|
||||
|
||||
Naszym celem jest przekazanie jednego punktu, którego wyzwanie stara się nauczyć, i sprawdzenie, czy zrozumieli ten punkt.
|
||||
|
||||
Testy wyzwań mogą wykorzystywać biblioteki asertywne Node.js i Chai.js. Ponadto, w razie potrzeby, kod wygenerowany przez użytkownika może być dostępny w zmiennej `code`.
|
||||
|
||||
## Formatowanie kodu nasion
|
||||
|
||||
Oto szczegółowe wytyczne dotyczące formatowania kodu nasion wyzwania:
|
||||
|
||||
- Użyj dwóch spacji do wcięć
|
||||
- Wypowiedzi w języku JavaScript kończą się znakiem średnika.
|
||||
- W stosownych przypadkach należy stosować podwójne cudzysłowy.
|
||||
- Komentarze powinny mieć odstęp między znakami komentarza a samym komentarzem.
|
||||
|
||||
"/// Napraw tę linię
|
||||
|
||||
# Curriculum Challenge Hints and Solutions (Wyzwania programowe)
|
||||
|
||||
Każde wyzwanie posiada przycisk `Uzyskaj podpowiedź`, dzięki czemu użytkownik ma dostęp do wszelkich podpowiedzi/rozwiązań, które zostały stworzone dla wyzwania. Tematy podpowiedzi/rozwiązań programowych znajdują się na [naszym forum](https://www.freecodecamp.org/forum/c/guide) pod kategorią `Guide`.
|
||||
|
||||
Jeśli znajdziesz problem z istniejącym tematem podpowiedzi/rozwiązań wyzwania, możesz zgłosić sugestie w komentarzach poniżej głównego postu wiki, jeśli jesteś co najmniej użytkownikiem forum poziomu 3. Wybierz moderatorów, którzy zapoznają się z komentarzami i zdecydują, czy włączyć zmiany w istniejącym temacie.
|
||||
|
||||
##### Dodawanie nowych podpowiedzi/rozwiązań na temat wyzwań
|
||||
|
||||
Tylko moderatorzy mogą dodawać nowe podpowiedzi i rozwiązania, gdy do programu nauczania dodawane są nowe wyzwania.
|
||||
|
||||
Podejmij następujące kroki podczas dodawania nowych podpowiedzi/rozwiązań związanych z tematem związanym z wyzwaniami.
|
||||
|
||||
1. Rozpocznij od wykonania tych samych kroków w przypadku [tworzenia nowego tematu] (tworzenie nowego przewodnika tematycznego), a następnie przejrzyj następny etap tworzenia tytułu.
|
||||
2. Tytuł tematu powinien zaczynać się od "freeCodeCamp Challenge Guide: W tym celu należy zacząć od "freeCamp Challenge Guide: "freeCamp Challenge Guide: FreeCamp Challenge Guide: FreeCamp Challenge Guide: FreeCamp Challenge Guide: FreeCamp Challenge Guide: FreeCamp Challenge Guide: FreeCamp Challenge Guide. Na przykład, jeśli wyzwanie nosi nazwę "Chunky Monkey", tytuł tematu brzmiałby "freeCodeCamp Challenge Guide": Chunky Monkey".
|
||||
3. 3. `camperbot` powinien być właścicielem tych tematów/pocztów, więc będziesz musiał poprosić administratora o zmianę własności głównego postu na `camperbot`.
|
||||
4. Po utworzeniu nowego tematu, tworzony jest identyfikator tematu forum. Znajduje się on na końcu adresu URL tematu forum. Ten identyfikator musi być dodany do frontmaterii pliku wyzwania programu nauczania poprzez normalny proces pull request dla przycisku "Uzyskaj podpowiedź", aby połączyć się z tematem.
|
||||
|
||||
#### Wytyczne dotyczące treści podpowiedzi i rozwiązań tematów
|
||||
|
||||
W przypadku proponowania rozwiązania dla tematu przewodnika związanego z wyzwaniem programowym, należy dodać pełny kod. Obejmuje on wszystkie oryginalne kody zalążkowe oraz wszelkie zmiany potrzebne do przejścia wszystkich testów na wyzwania. Poniższy szablon powinien być używany podczas tworzenia nowych podpowiedzi/rozwiązań tematycznych:
|
||||
|
||||
````md
|
||||
# Challenge Name Goes Here
|
||||
|
||||
---
|
||||
## Problem Explanation
|
||||
|
||||
This summarizes what need to be done without just restating the challenge description and/or instructions. This is an optional section
|
||||
|
||||
#### Relevant Links
|
||||
- [Link Text](link_url_goes_here)
|
||||
- [Link Text](link_url_goes_here)
|
||||
|
||||
---
|
||||
## Hints
|
||||
|
||||
### Hint 1
|
||||
Hint goes here
|
||||
|
||||
### Hint 2
|
||||
Hint goes here
|
||||
|
||||
---
|
||||
## Solutions
|
||||
|
||||
<details><summary>Solution 1 (Click to Show/Hide)</summary>
|
||||
|
||||
```js
|
||||
function myFunc() {
|
||||
console.log('Hello World!');
|
||||
}
|
||||
```
|
||||
|
||||
#### Code Explanation
|
||||
|
||||
- Code explanation goes here
|
||||
- Code explanation goes here
|
||||
|
||||
#### Relevant Links
|
||||
|
||||
- [Link Text](link_url_goes_here)
|
||||
- [Link Text](link_url_goes_here)
|
||||
|
||||
</details>
|
||||
````
|
||||
# Testowanie wyzwań
|
||||
|
||||
Przed utworzeniem [prośby o wyciągnięcie](how-to-open-a-pull-request.md) dla Twoich zmian, musisz sprawdzić, czy wprowadzone zmiany nie powodują nieumyślnie problemów z wyzwaniem. Aby przetestować wszystkie wyzwania, należy wykonać "test npm run test:curriculum". Aby zaoszczędzić czas możesz ograniczyć testy do jednego wyzwania wykonując następujące kroki:
|
||||
|
||||
1. W pliku `.env` ustaw zmienną środowiskową `TEST_CHALLENGES_FOR_LANGS` na język wyzwania (wyzwań), które musisz przetestować. Obecnie akceptowane wartości to `angielski`, `arabski`, `chiński`, `portugalski`, `rosyjski` i `hiszpański`.
|
||||
|
||||
2. Przełączyć do katalogu `curriculum`:
|
||||
|
||||
```
|
||||
cd program nauczania
|
||||
```
|
||||
|
||||
3. Wykonaj następujące czynności dla każdego pliku wyzwania, dla którego zmieniłeś dowolny `testString`s lub dodane rozwiązania:
|
||||
|
||||
```
|
||||
npm run test -- -g 'pełny angielski tytuł wyzwania'.
|
||||
```
|
||||
|
||||
Po sprawdzeniu, że każde wyzwanie, nad którym pracowałeś, przejdzie pomyślnie testy, prosimy o stworzenie wniosku o ciągnięcie.
|
||||
|
||||
#### Przydatne linki
|
||||
|
||||
Tworzenie i edycja wyzwań:
|
||||
|
||||
1. Typy wyzwań](https://github.com/freeCodeCamp/learn/blob/a5cb25704168aa37f59a582f0bb5a19b7bd89b46/utils/challengeTypes.js) - co oznaczają liczbowe wartości typu wyzwania (wyliczenie).
|
||||
|
||||
2. [Przyczyniając się do FreeCodeCamp - Writing ES6 Challenge Tests ](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - film video po [Ethan Arrowood](https://twitter.com/ArrowoodTech) jako wkład do starej wersji programu nauczania.
|
||||
|
Loading…
x
Reference in New Issue
Block a user