Witamy w pierwszej edycji w tym roku! Wracamy do Was po krótkiej przerwie i zaczynamy od… Minecrafta. Ale nie tylko, więc zapraszamy do lektury
A, i szczęśliwego nowego roku 🥂
Witamy w pierwszej edycji w tym roku! Wracamy do Was po krótkiej przerwie i zaczynamy od… Minecrafta. Ale nie tylko, więc zapraszamy do lektury
A, i szczęśliwego nowego roku 🥂
Jeżeli jest jakiś dobry powód, żeby mieć dzieci, to jest to obietnica tego, że jak noworodek trochę podrośnie, będziecie grali razem w Minecrafta. Muszę przyznać, że nawet będąc zapalonym graczem, nigdy nie miałem okazji spróbować dzieła Mojang na dłużej niż krótkie posiedzenie – ciągle jednak powtarzam sobie, że kiedyś to nadrobię, bo Minecraft wygląda na grę wręcz cudowną. Ma jeszcze jedną zaletę – jest napisany w Javie (a przynajmniej jedna z jego edycji), więc czasem mam okazję trafić na niego przygotowując materiały do naszych cotygodniowych przeglądów. W ostatnich tygodniach pojawiło się aż tyle ciekawych informacji, że postanowiłem poświęcić Minecraftowi całą sekcję.
Minecraft okazał się być jedną z tych aplikacji, które najbardziej oberwały od Log4J. Okazało się bowiem, że zarówno wersja kliencka, jak i serwer gier (bo Minecraft posiada zarówno wersję Single, jak i Multiplayer) używały loggera w wersji podatnej na Log4Shell. Proces aktualizacji w tym wypadku jest dość prosty, wektor ataku też nie należy do tych najbardziej ryzykownych, ale sama ilość zaafektowanych graczy robi wrażenie – mówimy bowiem o (według estymowanych danych na sierpień) prawie 150 milionach aktywnych użytkowników. Myślę, że świetnie pokazuje to fenomen, a również potencjał jaki ma potencjalny wycelowany atak na tak olbrzymią pulę graczy. Niedawno w końcu gra chwaliła się skumulowanym bilionem wyświetleń na YouTube.
Ale Java to nie tylko problemy z bibliotekami, ale także szereg bonusów – na przykład związanych z wydajnością przy przechodzeniu na kolejne wersje. Minecraft, jak każda javowa aplikacja, musi od czasu do czasu zmigrować się na nowe JDK – a po ostatnim przeskoczeniu na wersję szesnastą, wywiad z jej twórcami przeprowadziła redakcja InfoQ. Podczas lektury zaskoczyło mnie (choć pewnie nie powinno), jak wiele dość jednak niszowych funkcjonalności JVM jest używane przez twórców Minecrafta. Mówimy tutaj bowiem min. o użyciu Application Class Data Sharingu, który marketowany był jako sposób na przyspieszenia “zimnego startu” – okazuje się, że jest przydatny również właśnie przy uruchamianiu napisanych w javie gier.
Nie będzie pewnie za to dla nikogo niespodzianką, że Mojang (kupiony swego czasu przez Microsoft za 2.5 miliarda dolarów) używa edycji OpenJDK pochodzącej z Redmond. Przy wspomnianej wyżej bazie użytkowników pewnie mocno wykręca firmie wskaźniki adopcji.
Na koniec informacja z Javą nie powiązana, ale i tak się muszę z Wami podzielić bo 🤯. Otóż okazało się, że grupa zapalonych graczy zbudowała w ramach Minecrafta… 8-bitowy procesor, zdatny do uruchamiania samodzielnie gier. Układ dostał nazwę Chungus 2 (Computation Humongous Unconventional Number and Graphics Unit), posiada jednohertzowy zegar i 256 bajtów RAMu. Jest to wystarczająca moc obliczeniowa, żeby uruchomić na nim Snake, Arkanoida czy Grę w Życie, czym autor chwali się na filmiku (muzyka jest w nim cudowna 👾).
Minecraft to przeciekawy temat, i myślę, że w przyszłości jeszcze do niego nie raz wrócimy.
Druga z informacji będzie bardzo krótki, ale zainteresuje tych wszystkich użytkowników, którzy pozostali jeszcze Jakartą EE. Otóż oficjalny tutorial Jakarty EE został nareszcie zaktualizowany do Jakarty EE 9.1 – zaledwie pół roku po premierze takowej.
Wiąże się to z jednak smutna konstatacja, że Jakarta EE jest projektem z problemami, jeżeli na aktualizacje oficjalnego tutoriala musieliśmy czekać pół roku. Moja teoria jest taka, że twórcy zamierzali zaktualizować się od razu do Jakarty EE 10, ale ze względu na fakt, że premiery takowej należy spodziewać się dopiero w drugim kwartale 2022 przekonało ich do zainwestowania w dokumentację. Tak czy siak, start.jakarta.ee pozostaje jednym z nalepszych źródeł nauki standardu, a darowanemu koniowi w zęby i tak dalej.
Swego czasu obiecałem Wam przegląd wszystkiego, co przynoszą pierwsze JEPy projektu Loom. Z obietnicy się nie wywiązałem (w dalszym ciągu chodzi mi to po głowie), ale na szczęście tam gdzie ja dałem ciała, za temat wzięli się inni.
Nicolai Parlog to Java Developer Advocate w Oracle, którego możecie znać choćby jako głównego hosta oficjalnego javowego kanału YouTube. Na jego GitHubie znajdziecie szereg interesujących projektów i dem (np. bardzo dobre przykłady użycia systemu modułów), a podczas ostatniej przerwy świątecznej opublikował Loom Lab. Jak łatwo się domyśleć po nazwie, mamy do czynienia z przykładowymi użyciami wersji preview Looma – w tym wypadku mówimy tutaj o implementacji Echo Serwera oraz zliczania statystyk dysku. Prostota przykładów sprawia, że bardzo uwidaczniają się w nich innowacje przynoszone przez Looma, a dodatkowo znając Nicolaia będą one na bieżąco aktualizowane wraz z nowymi wersjami projektu.
Dlatego też wszystkich zainteresowanych nowoczesną współbieżnością na Javie odsyłam do projektu – myślę, że będzie to bardzo efektywny materiał edukacyjny.