Programista Junior 2/2019 (02) – Spis treści

Programista Junior nr 02/2019 dostępny będzie w salonach Empik od 3 grudnia. Wydanie to możesz już dziś zamówić w >>prenumeracie<<

W WYDANIU:

Działania na liczbach binarnych

System binarny jest stosowany do zapisywania informacji w komputerach, a swoją popularność zawdzięcza prostocie. Wykorzystuje on tylko dwa stany. Łatwo jest je uzyskać w urządzeniach mechanicznych (np. przekaźnik włączony lub rozłączony) i elektronicznych (komórka pamięci zawiera ładunek elektryczny lub nie). Jak jednak wykonywać działania, skoro do dyspozycji są tylko dwie liczby?

Autor: Witold Wrotek

Kryptografia – wprowadzenie

Sekrety i tajemnice towarzyszą ludzkości chyba od zawsze. W chwili, w której nie chcemy, aby nasza wiadomość była dostępna dla wszystkich, mamy do czynienia z tajemnicą. W miarę jak wartość informacji rosła, rosła też wartość i konieczność ukrywania ich. Nie wyobrażamy sobie przecież, aby podczas wojny, czy też w naszej najzwyklejszej codziennej pracy, ktoś postronny był w stanie odczytać naszą korespondencję. Dlatego właśnie, chociaż możemy nie być tego świadomi, kryptografia jest z nami od bardzo dawna i co ciekawe, mamy z nią styczność na co dzień.

Autor: Karol Rogowski

Pierwsze repozytorium Gita

Git, jako rozproszony system kontroli wersji, pozwala nam na prowadzenie większości prac w obrębie naszej lokalnej kopii repozytorium. Oznacza to, że będąc niepodłączonym do centralnego repozytorium, możemy przeglądać i tworzyć historię zmian. Zanim jednak rozpoczniemy pracę na naszym lokalnym komputerze, musimy zainstalować Gita i go skonfigurować. Jak to zrobić? Odpowiedź znajdziemy w poniższym  artykule.

Autor: Adam Zaręba

Scratch od podstaw

Obecnie fluencja cyfrowa (ang. digital fluency), tj. wiedza o tym, jak używać nowych technologii, stanowi bardzo ważny przydatny w życiu codziennym aspekt. Programowanie staje się coraz bardziej popularne również wśród młodszych użytkowników. Dlatego technologie informatyczne wychodzą naprzeciw oczekiwaniom dzieci oraz ich rodziców i oferują im innowacyjne narzędzia przydatne do nauki programowania. Jednym z najpopularniejszych jest Scratch – język programowania dedykowany dla najmłodszych, którzy chcieliby rozpocząć swoją przygodę z programowaniem.

Autor: Adrian Bala

Pixel art w Minecraft – twórz za pomocą Python! (>>więcej o tym artykule<<)

Kto z was próbował kiedyś tworzyć własne obrazki w Minecraft? Układy zbudowane z kolorowych, płasko ułożonych obok siebie bloków z bliska mogą wydawać się niepozorne, gdy jednak spojrzymy na nie z pewnej odległości, nagle stają się prawdziwą sztuką – pojedyncze kolorowe piksele tworzą w połączeniu spektakularny obrazek. Nie trzeba być artystą, aby robić świetne pixel arty – wystarczy poznać podstawy programowania w języku Python. W tym numerze pokażemy wam, jak korzystać z funkcji „randint”, aby tworzyć kolorowe obrazy z wełny, a także podrzucimy kod do prawdziwego generatora pixel art!

Autor: Justyna Płatek

Wstęp do języka Python. Część 2

W artykule poznamy nowe narzędzie – IPython, który jest ulepszoną powłoką interaktywną Pythona. Poznamy też kilka nowych, ważnych dla języka terminów, takich jak „obiekt”, „zmienna” czy „referencja”. Dowiemy się też, w jaki sposób korzystać z wbudowanej w Pythona dokumentacji.

Autor: Rafał Korzeniewski

Grocepcja. Budujemy własnego Fortnite w Robloxie – Część 1

O Robloxie i Roblox Studio wiemy już co nieco dzięki publikacjom w poprzednim wydaniu Juniora. Gra Fortnite Battle Royale to kolejny fenomen, porównywany przez analityków do sukcesów takich pozycji jak World of Warcraft czy Minecraft. Według najnowszych danych liczba graczy wyniosła już prawie 250 milionów, co w połączeniu z 60 milionami aktywnych graczy rocznie w Robloxie daje nam astronomiczną liczbę potencjalnych przeciwników. No właśnie.. a co innego może wyjść z połączenia tych dwóch światów? Czy fascynując się grą Fortnite, możemy to przełożyć na naukę i odtworzyć ten tryb rozgrywki w Robloxie? Przekonajmy się!

Autor: Marcin Zajkowski

IFy, bomby i wybuchy – programowanie zdarzeń w Robloxie

W grach komputerowych, jak i w życiu, wszystko sterowane jest zdarzeniami. Pewne akcje i zachowania niosą za sobą reakcje, które często przekształcają się w pełne sekwencje czynności następujących jedna po drugiej. Jako programiści jesteśmy w stanie wpływać na nasze rozgrywki, kontrolując obsługę zdarzeń oraz następstwa każdego z nich, czyniąc naszą rozgrywkę zależną od postępowań jej bohaterów. To właśnie tego gatunku mechanizmy posłużą nam też i dzisiaj w obsłudze naszych wybuchów w Robloxie!

Autor: Marcin Zajkowski

Kontynuujemy platformówkę 2D w Unity

Jeżeli nie czytałeś jeszcze pierwszego numeru Juniora, to koniecznie nadrób zaległości. Tam właśnie rozpoczęliśmy grę, którą kontynuujemy w tym artykule. W poprzednim numerze zakończyliśmy tworzenie naszej gry mniej więcej na etapie, który widać na Ilustracji 1. Czas rozszerzyć nieco naszą planszę i urozmaicić rozgrywkę. Zaczniemy jednak od posprzątania bałaganu, jaki zostawiliśmy ostatnio.

Autor: Arkadiusz Brzegowy

Jak powstaje grafika komputerowa do gier?

Gry komputerowe to dynamicznie rozwijająca się branża. Na sukces gry komputerowej często pracuje cały sztab ludzi. W prace zaangażowani są nie tylko programiści, ale także dźwiękowcy, kompozytorzy, scenarzyści oraz rysownicy i graficy. Właśnie tym ostatnim zostanie poświęcony niniejszy artykuł. Dzisiaj dowiesz się, jak wygląda praca projektanta graficznego przy produkcji gier.

Autor: Magda Jąkalska

Szczypta matematyki w tworzeniu gier (część 2)

W tej części artykułu pokażę kilka kolejnych, dość powiązanych ze sobą wzorów, przydatnych podczas tworzenia prostych gier komputerowych. Podobnie jak w części pierwszej, chciałbym zachęcić czytelników do zignorowania tekstu tego artykułu i skupieniu się na samodzielnej analizie przykładowych kodów (napisanych w języku JavaScript). A do treści artykułu zawsze można wrócić, jeśli któryś fragment kodu byłby niejasny.

Autor: Gynvael Coldwind

Programowanie z PICO-8: zmienne i instrukcje warunkowe

Przed tobą drugi odcinek cyklu składającego się na kurs programowania dla początkujących. W tej fascynującej podróży towarzyszyć nam będzie wyjątkowe narzędzie: PICO-8. Czytając poniższy artykuł, dowiesz się, czym są zmienne oraz instrukcje warunkowe, zrozumiesz też, na jakiej zasadzie działają gry komputerowe i – co najważniejsze – stworzysz samodzielnie swoją pierwszą, własną grę. W trakcie lektury poznasz również kolejne tajniki obsługi PICO-8 oraz szereg ciekawostek na temat programowania. Nie zabraknie też ciekawych zadań, które pomogą ci lepiej zrozumieć i utrwalić nowo poznane zagadnienia. Zapraszam do wspólnej wędrówki po krainie programowania!

Autor: Rafał Kocisz

LEGO Mindstorms w Pythonie – biblioteka ev3dev2

Każdy wie, czym są klocki LEGO (komu nie zdarzyło się nadepnąć na element zgubiony na podłodze? 😉) Zestawy z popularnych serii niezmiennie służą do zabawy, wykorzystywane są także do celów edukacyjnych. Zestaw kreatywny LEGO Mindstorms EV3 może być dla młodzieży wspaniałym wprowadzeniem do świata programowania i robotyki, a dla starszych osób szansą na przywrócenie wspomnień z dzieciństwa. LEGO wyposażyło użytkowników w dedykowaną aplikację, dzięki której można programować zbudowane roboty z wykorzystaniem prostego programowania obrazkowego. W niniejszym artykule poznamy jednak inne podejście, które znacznie rozszerza nasze możliwości – programowanie konstrukcji wykonanych z klockiem EV3 przy użyciu znanego i lubianego języka Python!

Autor: Paweł Miry

Encyklopedia Pokemonów (część 2). Implementacja podstawowych funkcjonalności. Wprowadzenie do technologii webowych

W poprzedniej części artykułu przygotowaliśmy nasz komputer do stworzenia własnej strony internetowej. Zainstalowaliśmy Gita, Node’a i Angular CLI. Pora więc zakasać rękawy i zabrać się do roboty!

Autor: Michał Jawulski

Własna stacja pogodowa. W oparciu o moduł NodeMCU oraz czujnik BME280

Klasowy mecz piłkarski, wycieczka w góry czy lot dronem – wszystkie te aktywności łączy jedna wspólna cecha. Są to zajęcia, które uprawiać możemy na otwartej przestrzeni. Aby się tam znaleźć i nie przypłacić chwil przyjemności katarem czy złym samopoczuciem następnego dnia, należy zadbać o odpowiedni ubiór – adekwatny do pogody. Zastanawialiście się kiedyś, czy da się zmierzyć pogodę? Jeśli tak, to w jaki sposób to zrobić? 

Autor: foxtrot_charlie

Algorytm Dijkstry dla każdego

W pierwszym numerze Juniora obiecałem przedstawić algorytm Dijkstry wyznaczania optymalnej (najkrótszej, najtańszej) trasy przejazdu pomiędzy dwiema miejscowościami. Żeby jednak idea algorytmu była zrozumiała dla każdego i nie pachniała „akademicką” myszką, rozwiążemy troszeczkę prostsze zadanie, a zainteresowanych pełną wersją algorytmu i jego implementacją (w tym przypadku w języku C++) odsyłam np. do pięknej książki autorstwa Witolda Lipskiego pt. „Kombinatoryka dla programistów” (wydanie trzecie rozszerzone). >>Artykuł do pobrania<<

Autor: Krzysztof Diks

Chory komputer, czyli rzecz o wirusach

Cyfrowy świat, podobnie jak ten za oknem, pełen jest niebezpieczeństw. Brak ostrożności podczas przebywania w Internecie może spowodować, że nasza maszyna zapadnie na komputerową chorobę. Skutki takiej infekcji są różne. Czasami komputer zaczyna działać wolniej, czasami otwierają się na nim same z siebie niepożądane okienka, ale często też nie obserwujemy niczego podejrzanego, a tymczasem właśnie wykradane są dane, hasła albo pieniądze. Warto nauczyć się kilku zasad, które pomogą ustrzec nasz sprzęt przed takim losem. W tym artykule omówimy przyczyny, skutki i sygnały wskazujące na to, że mamy problem.

Autor: Jarosław Jedynak

Dziewczynki rozkodowują stereotypy

Czas, by coś sobie zakodować. Dziewczynki, wcale nie mniej niż chłopcy, mogą świetnie radzić sobie z kodami. Branża IT to rozwojowe i satysfakcjonujące miejsce dla obu płci, a nasze córki już od najmłodszych lat warto zainteresować programowaniem. Dziś nie ma już co do tego żadnych wątpliwości.

Autor: Karolina Obszyńska

Dlaczego social media to raj dla cyberprzestępców?

Choć większości użytkownikom Internetu może się wydawać, że ataki mają charakter incydentalny, tak naprawdę odbywają się one codziennie. Aby paść jego ofiarą, czasem wystarczy jedno kliknięcie – i mimo że świadomość tematu bezpieczeństwa w sieci jest coraz większa, wciąż w wyniku zwykłej nieuwagi zainfekowany plik może zaatakować nasz sprzęt i na przykład otworzyć dostęp do prywatnych danych. Posiadanie konta zarówno na popularnych platformach społecznościowych, jak i komunikatorach to gratka dla internetowych przestępców – również dlatego, że typowy użytkownik często nie rozpoznaje, który link może być podejrzany.

Autor: Julia Janeczek

Komiks: Bit i Bajt

Komiks: Robot Franek