PRIMER · Zanim zacznieszPOJĘĆ · 4CZAS · ~15 minut
Zanim zaczniesz

Podstawy narzędziowe: repozytorium, terminal, zmienna środowiskowa

Piętnaście minut, które wystarczą, żeby „sklonuj repo", „commit" i „zmienna środowiskowa" przestały być zaklęciami, które programiści rzucają na spotkaniach.

TL;DR

Ta książka nie zakłada, że umiesz programować — ale zakłada, że rozumiesz kilka pojęć, których programiści używają tak swobodnie, że rzadko ktoś zatrzymuje się, żeby je wytłumaczyć. Ten krótki wstęp robi dokładnie to, raz, w jednym miejscu, żeby żaden z kolejnych 22 rozdziałów nie musiał się już do tego cofać.

Pojęcie 1

Terminal — pisanie poleceń zamiast klikania

Terminal (albo konsola, wiersz poleceń) to okno, w którym zamiast klikać ikony, wpisujesz tekstowe polecenia, a komputer odpowiada tekstem. Wygląda staroświecko, ale ma jedną kluczową przewagę nad klikaniem: polecenie da się zapisać w pliku i uruchomić ponownie, dokładnie tak samo, tysiąc razy, na tysiącu różnych komputerów. To właśnie dlatego niemal każde narzędzie pipeline'u opisane w tej książce — od publikacji z Rozdziału 7 po zgłoszenie zadania na farmę z Rozdziału 19 — pod spodem da się uruchomić z terminala, nawet jeśli artysta widzi tylko przycisk.

$ cd DEMO/shots/seq010/shot0100/lighting
$ ls
work/  publish/
$ 

Powyżej: przejście do folderu shotu i wypisanie jego zawartości — dokładnie ta struktura katalogów, którą poznasz szczegółowo w Rozdziale 4. Terminal nie robi nic magicznego; robi dokładnie to, o co poprosisz, tylko w formie tekstu zamiast kliknięcia.

Pojęcie 2

Repozytorium i commit — folder, który pamięta swoją historię

Repozytorium to folder, którego zawartość jest śledzona krok po kroku przez system kontroli wersji (Git — Rozdziały 5 i 9, albo Perforce — Rozdział 6). Zamiast jednej, aktualnej wersji plików, repozytorium pamięta każdy zapisany w przeszłości stan, do którego zawsze można wrócić. Commit (w Perforce: submit) to moment zapisania takiego stanu — jak zdjęcie całego folderu w danej chwili, opatrzone krótkim opisem, co się zmieniło i dlaczego. „Sklonować repozytorium" znaczy po prostu: pobrać na swój dysk pełną kopię tego folderu razem z jego historią.

Pojęcie 3

Zmienna środowiskowa — karteczka, którą czyta cały komputer

Zmienna środowiskowa to nazwana wartość, którą system operacyjny trzyma w pamięci i którą może odczytać dowolny uruchomiony program — jak karteczka przyklejona do monitora, widoczna dla każdego programu, który akurat na niego spojrzy. Rozdział 12 pokazuje zmienną o nazwie OCIO, która mówi każdemu narzędziu, gdzie leży config kolorów; Rozdział 17 pokazuje, jak menedżer pakietów ustawia dziesiątki takich zmiennych naraz, budując środowisko dla konkretnego showu. Artysta nigdy nie ustawia ich ręcznie — robi to za niego narzędzie, o którym przeczytasz w dalszej części książki — ale warto wiedzieć, że to właśnie tam, w tle, „mieszka" wiele decyzji, które z pozoru dzieją się same.

Pojęcie 4

API — sposób, w jaki jeden program prosi drugi o coś

API (Application Programming Interface) to zestaw poleceń, przez które jeden program pozwala się kontrolować innemu programowi albo skryptowi, zamiast tylko człowiekowi klikającemu myszką. Kiedy Rozdział 14 pokazuje, że Maya, Houdini i Nuke „wystawiają" swój model danych jako funkcje Pythona, to właśnie o API mowa — sposób, w jaki skrypt publikujący z Rozdziału 7 może zapytać program, co jest aktualnie otwarte, bez konieczności, żeby ktokolwiek klikał cokolwiek ręcznie.

Słowniczek
Terminal
Okno do wpisywania tekstowych poleceń zamiast klikania ikon.
Repozytorium
Folder, którego historia zmian jest śledzona przez system kontroli wersji.
Commit / submit
Zapisanie bieżącego stanu repozytorium jako nowego punktu w jego historii.
Zmienna środowiskowa
Nazwana wartość dostępna dla każdego programu uruchomionego w danej sesji systemu.
API
Zestaw poleceń, przez które program pozwala się kontrolować innemu programowi lub skryptowi.