Technologia VR

Portal telekomunikacyjny Telix.pl

Narzędzia programistyczne wspierające Pythona

Transkrypt

1 Narzędzia programistyczne wspierające Pythona Niniejszy artykuł powstał jako rezultat moich poszukiwań narzędzi, które wspomagałyby programistę piszącego w Pythonie. Znalezione narzędzia testowałem na projekcie, który wraz z trzema innymi studentami pisałem w ramach pracy licencjackiej na wydziale informatyki Uniwersytetu Warszawskiego. Projekt ostatnio urósł do około 30 tys linii i w związku z tym programowanie z pomocą prostych narzędzi stawało się coraz trudniejsze. W ramach zajęć na uczelni poznałem wiele narzędzi dla Javy: skomplikowane i potężne IDE, programy do wyszukiwania bugów, do wyszukiwanie miejsc podejrzanych o zły styl programowania itp. W związku z tym chciałem przekonać się czy analogiczne narzędzia istnieją dla Pythona. Byłem też przygotowany, że ze względu na inną specyfikę języka i mniejszą popularność w dużych projektach, wynik może nie być zadowalający. Wszystkie znalezione programy są darmowe (innych nie szukałem), większość z nich można za darmo ściągnąć ze stosownych stron, chociaż niektóre wymagały pewnej pracy w dostosowywaniu do mojego projektu, podejrzewam, że podobnie będzie w przypadku innych. Stąd dodatkiem do artykułu jest plik.zip z lekko zmodyfikowanymi wersjami narzędzi lub prostymi skryptami które pokazuję jak je stosować. Również w artykule sporo miejsca poświęciłem sprawom związanym z instalacją i ewentualnymi modyfikacjami omawianym programów. Wymagania wstępne: - Python 2.6, - MS Windows, - Jakiś program od rozpakowania archiwów *.zip. Część narzędzi, zwłaszcza tych tworzonych przez pojedynczych entuzjastów, działa też na starszych wersjach Pythona, zazwyczaj właśnie do nich były tworzone, natomiast ich praca w nowej wersji wymaga więcej pracy. Wszystkie omawiane programy powinny też działać pod Linux-em (poza Notepad-em++). 1. Skrót Wszystkie omawiane programy razem z linkami do ich stron oraz ewentualnym położeniem w załączonej paczce (pliku *.zip). Oprogramowanie które nie wymaga specjalnych modyfikacji nie zostało załączone w paczce, łatwiej je ściągnąć z Internetu. Nazwa programu Strona WWW Położenie w paczce Eclipse + Pydev Brak Notepad++ Brak Pylint Brak Pyflakes /pyflakes Pymetrics /pymetrics Statsvn /statsvn depgraph /depgraph Lumpy /lumpy 2. Edytory / IDE Praktycznie każdy język z popularnych języków programowania ma jedno lub więcej popularnych IDE, natomiast nie znalazłem takiego środowiska dla Pythona. Na pytanie o najlepszy edytor na forach zazwyczaj pojawiają się standardowe odpowiedzi, np. Emacs czy gedit, czyli programy które nie są łatwe do opanowania i/lub nie zapewniają bardziej zaawansowanych funkcji: podpowiadanie nazw czy kontrola poprawności kodu. Zapewne wynika to z mniejszej popularności oraz samej specyfiki języka Python: dynamiczny charakter i łatwość użycia refleksji utrudniają automatyczną interpretację czy refactoring. Dalej opisuję dwa najlepsze edytory które osobiście znalazłem Eclipse + Pydev Eclipse jest jednym ze standardowych IDE dla Javy, obsługuje też wiele wtyczek zarówno z dodatkowymi narzędziami dla Javy, jak i dającymi wsparcie dla innych języków.

2 W szczególności programiści Pythona powinni spróbować użyć wtyczki Pydev, która daje całkiem dobre wsparcie dla tego właśnie języka. Pełny spis funkcjonalności jest przedstawiony na stronie domowej projektu, jego skrót przedstawiam poniżej: - Debugger analogiczny jak ten dla Javy, ale nie ma możliwości ustawienia breakpointu na wyjątku, - Szybkie wyszukiwanie plików i napisów (np. nazw klas, skróty Ctrl + H, Ctrl + Shift + R), - Podpowiadanie nazw metod i pól w klasach, nazw zmiennych, klas w modułach itd. Niestety podpowiadanie nie wydaje się bardzo wyszukane, podaje tylko te nazwy co do których jest pewność, że są zdefiniowane. (skrót Ctrl + Spacja), - Analogiczne wsparcie dla Jython-a, - Podkreślanie składni, automatyczne wykrywanie błędów składniowych, opcje do porządkowania plików zawierających spacje i tabulatory, - Automatyczne wcinanie kodu, zgodnie ze składnią, - Zarządzanie pakietami i projektami, możliwość łączenia z innymi wtyczkami, np. Subclipse (wtyczka do SVN). Sposób instalacji: - Należy ściągnąć którąś z wersji Eclipse-a ze strony (wystarczy najprostsza/najmniejsza wersja), - Rozpakować w wybranej lokalizacji, Eclipse nie wymaga instalacji, - Uruchomić Eclipse-a, przez odpowiedni plik w podkatalogu bin, - Help -> Software Updates, Add site, dodać stronę PyDev-a (drugi link podany w tabelce), - Dalej postępować zgodnie z instrukcjami, po instalacji można wybrać perspektywę PyDev, stworzyć nowy projekt i zacząć pisać. Przykładowy screen: Ilustracja 1: Mimo wszystko lepiej jest mieć szeroki ekran.

3 Uwagi: - Im mniej refleksji w kodzie, tym lepiej Pydev ( i pozostałe narzędzia) działają, - Dalej jeszcze opiszę połączenie Pydev-a i Pylint-a Notepad ++ Nie jest to IDE, raczej zaawansowany edytor. Ale ma za to wsparcie dla bardzo dużego zbioru języków i działa na starszym sprzęcie o niższych parametrach. Bardzo dobry wybór dla osób które nie chcą pracować w złożonym i zasobożernym IDE, lub jako substytut Notatnika. - Wsparcie dla wcięć i kolorowanie składni, - Auto uzupełnianie, chociaż znacznie słabsze niż w Pydev-ie, - Zakładki z wieloma otworzonymi plikami, - Wyszukiwanie tekstu w wielu plikach, np. w całym drzewie projektu, - Wsparcie również dla innych języków, edytor przydatny nawet jeśli ma się też Eclipse-a, do szybkiej edycji różnych plików. Sposób instalacji: - Ściągnąć i uruchomić instalator ze strony domowej projektu, - Doradzam wybór pełnej integracji z Explorerem Windows, daje to opcję otworzenia Notepada++ w menu kontekstowym po naciśnięciu prawego przycisku na pliku. Przykładowy screen:

4 3. Kontrola jakości i poprawności kodu W idealnym przypadku samo IDE po zauważeniu literówki czy też poważniejszego błędu powinno grzecznie :) uprzedzić programistę że jego wytwór może nie zadziałać. Dla Javy to dość często się udaje, Eclipse z paroma sprytnymi wtyczkami potrafi znajdować takie problemy, że programista nierzadko sam nie wpadł by na to że taki bug mógłby wystąpić. Oczywiście, w wielu przypadkach to podpowiadanie jest przesadzone, ale zazwyczaj warto się nad takimi miejscami zastanowić. Dla Pythona takim wykrywaczami podejrzanych fragmentów są dwa omówione niżej programy. Trzecim jest Pychecker, ale ja osobiście go nie testowałem. 3.1 Pylint Nazwa Pylint nawiązuje do programu lint który spełniał podobną rolę dla języka C, jakieś 30 lat temu. Narzędzia tego można używać na dwa sposoby, albo jako niezależny program służący do testowania wybranych zbiorów plików ( tak jak programy opisywane dalej), albo można go podłączyć do PyDev-a. Ja osobiście wypróbowałem drugi sposób. - Wyszukuje podstawowe błędy programistyczne, np. literówki, - Wyszukuje też bardziej nietrywialne błędy i nakłania ostrzeżeniami do pisania bardziej czytelnego kodu, zarówno pod względem wizualnym jak i logicznym. Przykład błędu nietrywialnego: Nie należy używać list jako parametrów domyślnych w metodach, bo taki parametr wylicza się tylko raz i ewentualna jego modyfikacja może wpłynąć na działanie metody przy kolejnym wywołaniu - Zbiór ostrzeżeń można modyfikować, chociaż nie jest to zbyt wygodne, - Wszystkie błędy/ostrzeżenia są zaznaczane przy odpowiadających im liniach w sposób standardowy dla Eclipse-a, - Błędy mają swoje kody i krótkie opisy, na stronie Pylint-a jest do nich instrukcja. Sposób instalacji (Instrukcja instalacji zakłada posiadanie już Eclipse-a + PyDev-a): - Ściągnąć Pylint-a ze strony do wybranego katalogu na dysku, rozpakować, - Standardowo zainstalować Pylint-a jako bibliotekę za pomocą: python setup.py - Wejść w ustawienia Pydev-a (Window Preferences Pydev Pylint), - Włączyć Pylint-a i podać ścieżkę do niego ścieżkę, - Pylint powinien zacząć działać po przebudowaniu projektu. Krótki help na stronie Pydev-a: Powyższy help wspomina głównym problemie z używaniem Pylint-a - działa on raczej wolno. Dla domyślnych ustawień po zapisaniu jakiegokolwiek pliku Eclipse-a praktycznie się zawiesza na chwilę, jeśli sprawdzany projekt jest w miarę duży. Jeśli używamy SVN-a i nagle zmieni nam się wiele plików, to proces sprawdzania właściwie nie kończy się w rozsądnym czasie. Help opisuje jak sobie z tym radzić, dodatkowo można spróbować używać opcji Only analyze open editors w sekcji Builders. Dodatkową wadą Pylinta jest to, że nie widać czy już skończył analizę, jedynym wyznacznikiem jest fakt pojawienia się nowych błędów/ostrzeżeń. Drugą wadą/zaletą Pylinta jest zbytnie (jak na mój gust) marudzenie na temat stylu. W naszym projekcie na początku używaliśmy tabów zamiast spacji, na co pylint zaznaczył ostrzeżeniem każdą linię i praktycznie zamordował wydajnościowo Eclipse-a. To i inne denerwujące mnie ostrzeżenia wyłączyłem wpisując w okienko ustawień ciąg: --indent-string=t --disable-msg="w0312" --disable-msg="c0322" --disable-msg="c0103" --disable-msg="c0324" --disable-msg="c0301" --disable-msg="c0111" --disable-msg="r0201" - disable-msg="r0904" disable-msg="r0903" Dla projektów które bardziej dbają o styl, część z tych ustawień może być niepotrzebna, pozostałym może uda się oszczędzić trochę czasu na szukaniu tych opcji. Polecam sprawdzenie na stronie Pylint-a co właściwie wyłączamy i wybrać zbiór optymalny dla danego zastosowania.

5 Przykładowe screeny: Ilustracja 3: Czepia się, że self.image_code jest niezdefiniowany. A hasattr nie zauważył :). Ilustracja 4: A tu znowu parę warningów.

6 3.2 Pyflakes Prostsze (i znacznie szybsze) narzędzie. - Analizuje podany zbiór plików, bez ich uruchamiania/importowania, - Wykrywa użycie niezdefiniowanych zmiennych, - Wykrywa nadpisanie metody przez zdefiniowanie jej wiele razy, - Wykrywa nadmiarowe i brakujące importy, - Ostrzega o użyciu importów z *. Instalacja/użycie: - Należy ściągnąć lub zainstalować z paczki package Pyflakes. Dla testowanego przeze mnie projektu najłatwiejszą metodą użycia Pyflakes-a było uruchomienie prostego skryptu w Pythonie który sprawdzał wszystkie pliki podane jako argumenty w linii poleceń. Znajduje się on w załączonej paczce w katalogu Pyflakes. Taki sposób szukania i poprawiania kodu jest o tyle wygodny że łatwo ograniczyć liczbę sprawdzanych plików (gdy wrzucimy zbyt dużo naraz to potem trudniej analizuje się, które pliki są już poprawione) a jednocześnie nie trzeba ich podawać pojedynczo. Warto mieć przy tym zainstalowanego Bash-a (*/*.py bardzo pomaga :)), również pod Windows. python run_pyflakes.py lista_plikow Pomimo, że Pylint potrafi znaleźć znacznie więcej błędów, trudno jest go używać stale ze względu na długi czas czekania na odpowiedź. Natomiast uruchomienie Pyflakes-a na całkiem sporym projekcie jest bardzo szybkie. Pyflakes wypisuje tylko błędy i ostrzeżenia, więc nie ma potrzeby tworzenia dodatkowego narzędzia do przetwarzania danych otrzymywanych z narzędzia. Jeśli błędów nie ma, to wyjście jest puste. 4. Obliczenia metryk dla kodu 4.1 Pylint Jak się okazuje, Pylint uruchomiony z konsoli sam liczy podstawowe metryki dla sprawdzanego pliku. Jeśli używamy Pydeva, możemy je obejrzeć po zaznaczeniu odpowiedniej opcji w jego konfiguracji (Redirect pylint output to console). Metryki mają kilka wad: - Pylint generuje całkiem sporo tekstu, zwłaszcza jeśli coś mu się nie spodoba i trudno cokolwiek znaleźć, - Metryki są naprawdę podstawowe (np. procent komentarzy), - Włączenie powyższej opcji jeszcze bardziej spowalnia Eclipse-a. Z drugiej strony można się dowiedzieć jak w skali 0/10 pylint ocenia nasz kod. Ogólnie im więcej błędów tym niższy wynik (osobiście udało mi się uzyskać wynik -54/10 przy źle skonfigurowanym Pylint-ie i dość długim pliku). Zobaczmy dalej co potrafią narzędzia stworzone wprost z myślą o liczeniu statystyk dla kodu. 4.2 Pymetrics Narzędzie do obliczania różnych metryk dla pojedynczych plików źródłowych (znowu, brak funkcji agregujących z wielu modułów). - Wypisuje wartości metryk dla wybranego modułu, - Podaje metrykę McCabe-a, SLOC i podstawowe (np. liczba linii), - Jest możliwość łatwego definiowania własnych metryk (a przynajmniej tak twierdzi autor), - Wyniki są zapisywane jako CSV i SQL, co powinno pomóc przy generowaniu raportów dla większego projektu. Instalacja/użycie: Pomimo, że narzędzie teoretycznie działa na dowolnym systemie operacyjnym, twórcy popełnili bardzo prosty błąd uniemożliwiający bezpośrednią instalację pod systemem Windows: w zamieszczonym na stronie archiwum znajduje się plik i katalog o nazwach różniących się tylko wielkością liter. Aby umożliwić łatwą instalację pod Windowsami, w archiwum dołączonym do tego artykułu zamieściłem katalog /pymetrics z rozpakowaną zawartością i nazwą pliku pymetrics zmienioną na win_pymetrics.py. - W katalogu zawierającym plik win_pymetrics.py (albo oryginalny Pymetrics) uruchamiamy z konsoli:

7 python win_pymetrics.py pliki_do_analizy - Uruchomienie programu bez parametrów daje listę dodatkowych opcji. Przykładowe screeny:

8 4.3 Statsvn Co prawda to narzędzie nie jest przeznaczone dla Pythona, a raczej dla wszystkich projektów korzystających z repozytorium Subversion, wydaje mi się, że warto je tutaj omówić. Dla osób nie znających/używających SVN, polecam Wikipedię + stronę: - Graficzna (w postaci strony WWW + wykresy/diagramy) reprezentacja różnego rodzaju statystyk dla projektu w repozytorium SVN. Naprawdę warto zobaczyć co ciekawego wie o nas nasze repozytorium :), - Ilustracja zmian tych parametrów w czasie, no wykres liczby linii kodu czy liczby plików w repozytorium w zależności od czasu (domyślnie od chwili zerowej rewizji), - Statystyki dla poszczególnych programistów, procentowy udział w dodawanych i zmienianych liniach kodu itp. Instalacja/użycie: - Należy ściągnąć plik *.jar ze strony projektu z tabelki, - Wykonać SVN update na katalogu dla którego chcemy dostać statystyki (najlepiej trunk), - Utworzyć log z SVN w postaci pliku XML, np. za pomocą polecenia: svn --xml --verbose log > log.xml - Uruchomić w wybranym przez siebie katalogu generowanie strony za pomocą polecenia: java -jar sciezka_do_statsvn/statsvn.jar sciezka_do_logu/log.xml sciezka_do_logu - Można otworzyć utworzoną stronę w przeglądarce, strona tytułowa to (standardowo) index.html, - Za pierwszym razem generowanie statystyk trwa dość długo, później, przy aktualizowaniu strony, program wylicza tylko różnice względem poprzedniego stanu. Skrypt który wykonuje powyższe kroki, zapisany w bashu, jest zamieszczony w paczce, w katalogu statsvn. Jeśli log z SVN zostanie utworzony w innym katalogu niż katalog dla którego chcemy mieć statystyki (a zarazem którego ten log dotyczy), to ten właśnie katalog należy podać jako drugą ścieżkę przy uruchomieniu jara. W razie problemów wraz z jarem autorzy tego narzędzia dają krótkie readme.

9 5. Dokumentacja kodu Nie będę omawiał standardowego narzędzia pydoc. Skupię się zamiast tego na dwóch ciekawych projektach, które mają na celu wizualizację zależności w tworzonym kodzie. Niestety oba narzędzia mają swoje wady w dużej mierze polegają na wewnętrznych mechanizmach interpretera Pythona i w związku z tym często pojawiają się nieoczekiwane problemy (zwłaszcza, że narzędzia te były pisane pod już dawno nieaktualne interpretery). 5.1 depgraph Wizualizacja zależności pomiędzy modułami w projekcie. - Rysuje graf modułów, krawędzie odpowiadają importowaniu jednego modułu przez inny, - Poszczególne katalogi są rysowane różnymi kolorami, co ułatwia znalezienie importów które nie wydają się mieć sensu, modułów umieszczonych w złych pakietach itp., - Nie wymaga uruchomienia programu w trakcie generowania grafu ( ale wymaga żeby istniały odpowiednie pliki *.pyc), - Domyślnie nie rysuje importów z i do pakietów (w sensie plików init.py), - Trzeba się mocno postarać żeby na grafie nie pojawiły się biblioteki używane przez nasz projekt. Instalacja/użycie: - Należy ściągnąć program Graphviz ( - Instrukcja obsługi depgraph podana na stronie autorów praktycznie nie działa pod Windowsami, a przynajmniej nie jest prostą ją do tego zmusić, polecam więc użycie wersji z mojego archiwum, - znajdujemy plik w naszym projekcie który będzie korzeniem grafu (zazwyczaj główny plik wykonywalny). python dep_graph.py sciezka_do_pliku - W katalogu powinien wygenerować się plik main_depgraph.png. Plik ten jest często całkiem spory i stanowi wyzwanie dla większości przeglądarek grafiki. W projekcie nad którym pracowałem miał on wielkość około 7000x3000 pikseli, - Oglądamy nasz graf szukając modułów które nas nie interesują. Jeśli takowe znajdziemy, dopisujemy je do listy zakazanych ( gdzieś koło 65 linijki pliku dep_graph.py), - Jeśli z drugiej strony widzimy że brakuje pakietów które znowu importują inne moduły i przez nasz graf się rozspójnia, to dopisujemy je do listy widocznych pakietów w linii 49. Czasem niestety nawet takie ręczne poprawianie nic nie daje i niektóre moduły wiszą w powietrzu. Przykładowe wygenerowane grafy (Obrazki w oryginalnym rozmiarze są dostępne w archiwum): Ilustracja 8: Diagram modułów naszego projektu, w sumie bardzo źle nie jest.

10 Ilustracja 9: Niestety po zmianach w strukturze pakietów uzyskaliśmy trochę sierot, widać je w rządku po lewej u góry, żadne próby zmuszenia depgraph-a do ich połączenia nie pomogły. Ilustracja 10: A oto graf przykładowy ze strony autorów, widać że im też nie wszystko się do końca udało. 5.2 Lumpy Narzędzie Lumpy, w oryginalnej wersji, służy do tworzenia diagramów obiektów i klas w notacji zbliżonej do UML. Tworzenie diagramów obiektów dla dużych projektów tworzy bardzo złożone i nieczytelne obrazy, podobnie staje się gdy próbuje się zaznaczyć pola i metody obiektów. Stąd wersja umieszczona w załączonej paczce wypisuje tylko i wyłącznie diagramy klas z nazwami klas i strzałkami które oznaczają dziedziczenie. Niestety utworzenie diagramu klas wymaga zaimportowania interesujących nas modułów. Czasami powoduje to niechciane skutki uboczne, jeśli w modułach ktoś umieścił statyczny kod uruchamiany przy imporcie. Załączony moduł do_lumpy.py ma możliwość stworzenia diagramu dla zadanego (w kodzie) modułu, lub zbioru modułów, dla całego pakietu (katalogu). Wystarczy zastąpić wpisany tam jako przykład pakiet lumpy ścieżką do interesującego nas katalogu. Można też ręcznie zaimportować wybrane moduły (from moduł import *), wówczas lumpy wypisze tylko klasy z tych modułów oraz ich nadklasy itd. Ważne jest aby uczynić to pomiędzy odwołaniami do oraz Jeśli chcemy zobaczyć też pola i metody zdefiniowane w klasach, należy zastąpić plik w module lumpy przez te dostarczone przez

11 autorów (ich kopia znajduje się w katalogu oryginal_lumpy). Można też zmienić tylko nazwę pakietu importowanego na początku pliku do_lumpy. - Rysuje hierarchię dziedziczenia klas, - Ma możliwość zaznaczania pól i metod w klasach, - Ma możliwość rysowania diagramu obiektów w danym momencie działania programu. Instalacja/użycie: - Zmodyfikować plik do_lumpy.py zgodnie z zaleceniami powyżej, - Uruchomić go przez: python do_lumpy.py - Powinno utworzyć się graficzne okno w którym możemy poprawić ręcznie otrzymany diagram, tak żeby wizualnie lepiej wyglądał, - Wpisujemy nazwę pliku w lewym górnym rogu i zapisujemy plik. Zapisane diagramy dobrze nadają się do dokumentacji technicznej projektu, ułatwiają też wstępne zorientowanie się w kodzie. Za pomocą diagramu obiektów można by próbować stworzyć wizualny debugger, o ile projekt jest wystarczająco prosty (mój był o rzędy wielkości za duży). Przykładowy screen z okienka graficznego: Ilustracja 11: do_lumpy uruchomiony na samym lumpy.

12 6. Podsumowanie Jak się okazało i co pewnie widać z tego artykułu, narzędzia dla Pythona co prawda istnieją, ale większość z nich jest albo niezbyt dopracowana (np. depgraph) albo są to dawno zapomniane i nie wspierane projekty (np. depgraph, Pymetrics itd.). Aktywne są na pewno statsvn, Pydev i Pylint. Każdy z wymienionych programów pomaga w zarządzaniu projektem tworzonym w Pythonie, ale brakuje jednego dużego środowiska które by udostępniało wszystkie te funkcjonalności w przystępny sposób. Wydaje mi się, że największe nadzieje rokuje PyDev + Pylint, zwłaszcza że narzędzia te i tak potrafią już analizować kod źródłowy w Pythonie. Dołożenie do nich dodatkowych funkcjonalności graficznej reprezentacji zależności w kodzie czy też mierzenia metryk nie powinno być aż tak dużym problemem. Pewnym ograniczeniem jest tu konieczność dostosowania się do środowiska Eclipse, ale być może da się stworzyć wtyczkę do wtyczki (czyli do PyDev-a) i w ten sposób rozszerzyć ich funkcjonalność bez konieczności ingerencji w istniejący projekt. Krzysztof Niemkiewicz Student 3 roku MISMAP UW

ZOTAC przedstawia zestaw VR GO pico

ZOTAC ma przyjemność zaprezentować VR GO pico, najbardziej kompaktowy model z serii ZOTAC VR GO. To prawdziwy przełom, dzięki któremu Metaverse stanie się jeszcze bardziej dostępny. Miniaturowa konstrukcja, której osiągi dorównują komputerom stacjonarnymi sprawia, że VR GO pico przełamuje kolejną granicę w kategorii sprzętu VR.

VR GO spotyka pico

Całkowicie nowy VR GO pico przekształca plecakowy system VR od ZOTAC w urządzenie o bardzo kompaktowym rozmiarze. W połączeniu z zestawem słuchawkowym i kontrolerem VR nowy pico zapewnia maksymalną swobodę w wirtualnej rzeczywistości. Wyobraź sobie, że przemierzasz wirtualne światy, medytujesz na białych, puchatych chmurach lub rozciągasz się na powierzchni Marsa. VR GO pico sprawi, że treningi i doświadczenia VR staną się jeszcze bardziej wciągające.

Zasilany przez najpotężniejszy procesor

VR GO pico to pierwszy produkt firmy ZOTAC, który integruje procesor, układ graficzny, AI i wiele więcej w jeden wydajny układ. Jest on w stanie zapewnić zaawansowane funkcje, takie jak wyświetlanie obrazu w 6K, monitorowanie tętna, dźwięk przewodzony przez układ kostny, śledzenie 360°, oświetlenie SPECTRA 2.0 i wiele innych.

Rewolucyjny i cichy

VR GO pico charakteryzuje się całkowicie bezgłośną, pasywną konstrukcją, dzięki której można w pełni zanurzyć się w wirtualnym świecie. VR GO pico zapoczątkowuje nową erę dla ZBOX Mini PC z nieograniczonymi możliwościami wirtualnymi, które każdy użytkownik będzie mógł dowolnie kreować.

ZOTAC VR GO pico będzie dostępny tylko 1 kwietnia 2022 roku.

Portal telekomunikacyjny Telix.pl

VR w medycynie jest wykorzystywany na co dzień: w edukacji personelu, szkoleniach chirurgicznych, stomatologii, w planowaniu operacji, w leczeniu zaburzeń i chorób, w doradztwie dla pacjentów i wielu innych zastosowaniach, dosłownie w każdej dziedzinie medycyny.

Przez wiele lat idea wirtualnej rzeczywistości była wymieniana wyłącznie w literaturze i filmach science-fiction. Brakowało technologii, wiedzy i wystarczającej mocy obliczeniowej, aby zastosować ją w praktyce. Dopiero na początku lat 90tych udało się zapewnić wystarczająco dobrą jakość wizualną, audio a także całkiem realne odwzorowanie fizyki. Nawet wtedy wykorzystanie VR ograniczało się jednak głównie do branży rozrywkowej, motoryzacyjnej oraz militarnej. Dopiero w XXI wieku technologia wirtualnej rzeczywistości rozwinęła się na tyle, aby oferować wiarygodne wirtualne światy za pomocą wydajnych, wygodnych i przystępnych cenowo urządzeń. Obecnie koncepcja wirtualnej rzeczywistości znalazła nowe, praktyczne zastosowanie w różnych branżach. Szczególnie ważną rolę odgrywa w medycynie. Zapewnia wirtualne środowisko umożliwiające terapię, trening ratowniczy czy rehabilitację. Służy także jako platforma edukacyjna dla obecnych i przyszłych pracowników opieki zdrowotnej.

Kurs udzielania pierwszej pomocy w 4HELP VR

Szkolenie medyczne w VR tworzy obszar fascynujących możliwości. Porusza nie tylko wyobraźnię fanów science-fiction, ale także badaczy klinicznych i lekarzy. Chociaż dziedzina ta jest stosunkowo nowa, coraz częściej pojawiają się przykłady pozytywnego wpływu VR na życie pacjentów i pracę medyków. Wirtualna rzeczywistość może być na przykład wykorzystywana w szkoleniu ratowników medycznych. Umożliwia ona naukę postępowania w scenariuszach awaryjnych i sytuacjach wysokiego ryzyka w symulowanym, wirtualnym, a co za tym idzie, bezpiecznym środowisku. Uczestnicy takich szkoleń, dzięki treningowi odpowiednich reakcji, stają się lepiej przygotowani do radzenia sobie z podobnymi zdarzeniami w realnych sytuacjach.

Wrocławska firma 4HELP VR wykorzystała potencjał tej technologii i stworzyła kurs pierwszej pomocy w wirtualnej rzeczywistości. Trening powstał z myślą o wszystkich firmach i placówkach edukacyjnych, które korzystają ze szkoleń BHP oraz pierwszej pomocy. 4HELP VR oraz HTC VIVE dostarczają niezawodne narzędzie, dzięki któremu zaoszczędzimy czas, ograniczymy wydatki i uzyskamy bezkonkurencyjne efekty. Komplet wyposażenia do wirtualnej nauki pierwszej pomocy składa się z fantomu oraz z zestawu VR VIVE Focus 3 z autorskim oprogramowaniem opracowanym przez ratownika medycznego z 4HELP VR. Aplikacja Pierwsza Pomoc umożliwia odbycie szkolenia i uzyskanie praktycznych i skutecznych umiejętności ratowania życia w bardzo krótkim czasie.

Program 4HELP VR obejmuje szkolenie z zakresu: bezpieczeństwa na miejscu zdarzenia, wezwania pomocy, resuscytacji krążeniowo-oddechowej, zastosowania Automatycznego Defibrylatora Zewnętrznego w RKO, pozycji bocznej i monitorowania czynności życiowych i postępowania z poszkodowaniem urazowym. Argumentami przemawiającymi za prowadzeniem szkoleń przy użyciu VR są:

większe możliwości wyrażone w szerszej gamie symulacji

niższy koszt przeprowadzenia kompletnych szkoleń

wiedza nabyta w szkoleniu VR jest doświadczeniem, które bardzo łatwo odzwierciedlić

w rzeczywistości

Najnowsze badania nad wirtualną rzeczywistością dowodzą bowiem, że jeżeli czegoś doświadczymy

w VR, to następnym razem nasza postawa i reakcja wobec zagrożenia w świecie realnym będzie szybsza, bardziej pewna siebie, a przez to skuteczniejsza.

Leczenie depresji w VR TierOne

Wirtualna Rzeczywistość leczy nie tylko ciało, ale i duszę. Dowodem na to jest VR TierOne. Przebadane naukowo rozwiązanie, dedykowane jest w szczególności osobom zmagającymi się z depresją i stanami lękowymi, występującymi samodzielnie lub w przebiegu ciężkich chorób takich jak: depresja, COVID-19, zawał czy udar. VR TierOne zostało stworzone jako pomoc terapeutyczna dla pacjentów, lekarzy, psychologów, rehabilitantów i terapeutów. VR TierOne z powodzeniem pomoże zadbać także o dobrostan psychiczny zarówno zestresowanych pracowników, jak i podopiecznych domów opieki.

Rozwiązanie VR TierOne ten składa się z trzech części: z gogli HTC VIVE Pro, komputera i programu terapeutycznego. Urządzenie medyczne pozwala na przejście do wykreowanego Wirtualnego Ogrodu Odrodzenia, pełną immersję w wirtualnej rzeczywistości i przeprowadzenie w tych optymalnych warunkach skutecznej terapii. Leczenie podzielone jest na osiem sesji trwających po 20 minut.

VR szkoli przyszłe pokolenia lekarzy

Wykorzystywana do edukowania studentów w zakresie diagnozy, leczenia, rehabilitacji, chirurgii, technik poradnictwa i nie tylko, wirtualna rzeczywistość w medycynie pomaga szkolić następne pokolenie pracowników służby zdrowia. Technologia symulacji medycznej ma bardzo wiele zalet, takich jak umożliwienie uczącym się sprawdzania swoich umiejętności bez obawy, że popełnią potencjalnie zagrażające życiu błędy. Wirtualna rzeczywistość w medycynie prewencyjnej i doradztwie może natomiast nauczyć studentów oceniać stan pacjenta i dostarczać wnikliwych informacji zwrotnych i wskazówek o zdrowiu w ramach diagnozy wstępnej.

Jaki wybrać sprzęt?

Odpowiednie gogle do VR są podstawą sukcesu każdej branży. Obecnie znajdziemy na rynku dość duży wybór zestawów do VR, począwszy od lekkich okularów HTC VIVE Flow, które zmieszczą się bez problemu w kieszeni marynarki, przez przenośne zestawy HTC VIVE Focus 3, które mają wbudowany akumulator i dzięki zastosowaniu najnowszej technologii, nie potrzebują komputera do działania, po najbardziej zaawansowane zestawy HTC VIVE Pro 2 z precyzyjnym śledzeniem ruchów użytkownika przy użyciu rozlokowanych w pomieszczeniu stacji bazowych. W ofercie VIVE znajdziemy dodatkowo szeroki wybór akcesoriów, które zapewniają jeszcze większą immersję i bardziej realistyczne doświadczenia.

VIVE Facial Tracker dokładnie śledzi i odwzorowuje w środowisku VR mimikę twarzy użytkownika. Urządzenia śledzące ruch VIVE Tracker 3.0, pozwalają odtworzyć ruch każdej kończyny lub tułowia, ale może być też stosowany do odwzorowania w VR ruchu fizycznego akcesorium ze świata realnego – stetoskopu, głowicy USG czy choćby lancetu. Dzięki VIVE Wireless Adapter uwolnimy się całkowicie od kabli, łączących VIVE Pro 2 z komputerem. Zestaw VIVE Pro Eye, potrafi natomiast odwzorować ruchy gałek ocznych użytkownika, dzięki czemu rozmówca lub student potrafi dokładniej odczytać emocje i intencje prowadzącego np. wykład. Na rynku znajdziemy też całą masę dodatkowych urządzeń takich jak np. kontrolery rozpoznające ruch poszczególnych palców dłoni czy kamizelki i rękawice haptyczne, w których można poczuć fizyczny dotyk lub kształt wirtualnych obiektów. Wciąż powstają też nowe urządzenia, odpowiadające na nowe potrzeby, rodzące się wraz z rozprzestrzenianiem się zastosowania VR w różnych dziedzinach pracy i życia.

Zalety wirtualnej rzeczywistości w medycynie już teraz są niepodważalne. Jej zastosowanie w praktycznych przypadkach w ochronie zdrowia ma jeszcze większy potencjał. Poprzez zapewnienie w pełni immersyjnego środowiska, które stymuluje nasze różne zmysły, poddawanie zabiegom medycznym staje się mniej stresujące i bezpieczniejsze zarówno dla pacjenta, jak i dla lekarza. Mimo, że sięganie po wirtualną rzeczywistość jest w medycynie trendem stosunkowo nowym, można zaobserwować jej stały rozwój zarówno w obszarach technologicznych, ale także w samej medycynie. Naukowcy zidentyfikowali wiele korzystnych efektów, jakie wniosło zastosowanie technologii VR. Ponadto, wirtualna rzeczywistość może być stosowana w różnych obszarach opieki zdrowotnej, oferuje wrażenia użytkownika w kontrolowanym środowisku, zapewnia też szczegółowe obrazy 3D, zwiększa elastyczność i opcje konfiguracji szkoleń. Jednak najważniejsze jest to, że potencjalny błąd w środowisku VR nie kosztuje pacjenta utraty zdrowia lub nawet życia.

Blog Author

Przemysław Kutytowski

LEAVE A REVIEW