Słowniczek

Zachęcam do dzielenia się propozycjami, co powinno się tutaj znaleźć na grupie discord.
Stwórzmy to miejsce razem.

Stack Overflow – miejsce, w którym szuka się pomocy w problemach oraz gotowych rozwiązań. Przykładowo: programista dostaje jakiś error z aplikacji, nie ma pojęcia, co on oznacza. Wkleja go w Google’a i znajduje pierwsze wyszukanie na Stack Overflow – ktoś miał taki sam problem, opisał go, a społeczność wskazała porady, jak można to rozwiązać, padł nawet jakiś skuteczny sposób.

Znajdują się tam również odpowiedzi na częste pytania: How to make XX in Java. Po prostu wejdź tam i zobacz, jak to wygląda – będzie prościej Ci to zrozumieć.

GitLab – miejsce, w którym przechowuje się kod/projekty oraz można nimi zarządzać. Przykładowo: programista robi zmianę loga na stronie. Wypycha to do GitLaba. Osoba z uprawnieniami do merge’owania klika merge, po czym nowe logo pojawia się na produkcji.

Docker – taki kontener, w którym możemy uruchomić naszą własną aplikację lub nawet całe środowisko: zarówno produkcyjne, jak i testowe.

Jenkins – oprogramowanie służące do automatyzacji rzeczy, które wykonuje się na serwerze, np. stawianie i początkowe konfigurowanie całej aplikacji na nowym serwerze.

Ansible – oprogramowanie pozwalające na tworzenie powtarzalnych konfiguracji maszyn. Umożliwia zautomatyzowanie administracji konfiguracją serwerów.

Linux – jeden z systemów operacyjnych, często wybierany przez programistów.

Vim – prosty edytor tekstu używany w systemach Linux oraz na różnego rodzaju dystrybucjach serwerowych.

Baza danych – miejsce, w którym przechowywane są dane w sposób uporządkowany. Za pomocą różnego rodzaju zapytań możemy wyciągać dane i je łączyć.

Fakap – najprościej mówiąc: coś, co się zdarzyło, a nie powinno, i pociąga za sobą jakieś konsekwencje.

SLA – Service Level Agreement, czyli umowa określająca sposób współpracy zazwyczaj pomiędzy zleceniodawcą a zleceniobiorcą w kontekście utrzymania działania jakie- goś serwisu lub produktu. Opisuje czas reakcji na zgłaszane problemy oraz sposób ich rozwiązywania. Jest również gwarancją, że w razie czego właściciel nie zostanie – jak to mawiają – „na lodzie”.

Produkcja – określenie odnoszące się do miejsca (zazwy- czaj serwerów), w którym znajduje się nasz produkt.

Deploy – wdrożenie, zazwyczaj używane w kontekście przenoszenia nowych wersji na produkcję. Przykładowo: muszę zrobić deploya.

UAT – User Acceptance Testing, czyli inaczej testy akcep- tacyjne umożliwiające odebranie gotowego produktu przed pojawieniem się go na rynku/produkcji. Ten skrót jest bardzo często stosowany w kontekście środowiska, czyli miejsca, w którym klient może zobaczyć naszą pracę, samodzielnie przeklikać się przez system i potwierdzić, że wszystko jest zrobione prawidłowo.

Proxy – zazwyczaj jest to serwer pośredniczący używany do komunikacji w internecie pozwalający na ukrycie na- szego adresu IP (żąda otwarcia strony w naszym imieniu).

Może również służyć do modyfikacji danych lub ukrywania jakichś zasobów w sieci (anonimowo bądź też nie). W IT można się również spotkać z pojęciem proxy manager – czyli osoba, która wykonuje swoje zadanie poprzez kopio- wanie wiadomości od jednej osoby do drugiej i w drugą stronę, robiąc bardzo często za niepotrzebnego pośredni- ka. Takie osoby mogłyby się same doskonale porozumieć bez tego managera.

Curl – kędzior, gdyby ufać Tłumaczowi Google. W praktyce jest to sieciowa biblioteka programistyczna. Umożliwia wysyłanie zapytań HTTP, w tym pobieranie z serwerów stron i plików, a także wysyłanie treści formularzy.

Biblioteka – w kontekście IT jest to taka paczka z kodem źródłowym, z której można korzystać w naszym programie bez konieczności tworzenia kodu od nowa. Przykładowo: w celu rozpoznawania twarzy ze zdjęcia na naszym projekcie możemy skorzystać z gotowej biblioteki i dostosować rzeczy w niej zawarte do naszych potrzeb.

Zmienna – wyobraź sobie pojemnik, który może przechowywać różnego rodzaju rzeczy/wartości, a po odwołaniu do niego poprzez nazwę uzyskujemy tę zawartość. Przykładowo:

$newsletterList = zbiór osób pobrany z bazy. Po odwołaniu się do $newsletterList mamy dostęp do takiej listy i możemy z nią coś zrobić.

Klasa – jest kontenerem (wyobraź sobie opakowanie z klockami lego), który może zawierać różnego rodzaju dane oraz metody, które będą na nich operować.

Obiekt – instancja klasy, np. koszyk w sklepie WWW. Wielu użytkowników korzysta z podobnie skonstruowanego kontenera, do którego można dodawać różnego rodzaju produkty, widać w nim sumę, jest możliwość dodawania/usuwania kolejnych pozycji etc. Takim przykładem może być samochód (każdy posiada zbiór takich samych elementów, np. koła). Możemy posiadać różne marki samochodów oraz modele np. polo, mini, ford mustang, fiat 500.

Instancja – obiekt utworzony na bazie danej klasy.

Plik – uporządkowany zbiór danych w określonym formacie.

Skrypt – zazwyczaj jest to jakiś plik zawierający zbiór ko- mend, które mają za zadanie coś wykonać, np. może to być skrypt zmieniający w danym folderze nazwy plików zaczynających z małych liter na duże; może to być również skrypt wykonujący jakąś logikę w systemie, np. wysyłający SMS-y do wszystkich obywateli, którym w niedługim czasie kończy się ważność dowodu.

Skrypty są więc takimi małymi programami, które muszą coś wykonać. Z pojęciem skryptu powiązane jest również słowo cron – to właśnie w nim są zdefiniowane komendy/skrypty, które mają być odpalane w określony sposób i o określonym czasie.

Przy projektach możesz się również bardzo często spotkać z pojęciem skryptów naprawczych. Ich zadaniem jest na- prawienie jakiejś awarii, która nie powinna mieć miejsca, a zadziała się na produkcji.

Przykładowo: wystawianie korekt na fakturach, które przez pomyłkę zawierały nieprawidłowy adres, a następnie wysyłanie ich do pracowników firmy wraz z krótkim mailem wyjaśniającym.

Cron – program do harmonogramowania zadań. Odpala o ustalonej porze elementy, które się w nim zdefiniuje, w zależności od ustawień.

Jest jeszcze cała lista pojęć, które można by było tutaj poruszać, w tym momencie postawimy jednak kropkę. Praca w IT to ciągła nauka i dostosowywanie się do nowych rozwiązań.