Programista 7/2020 (94)
Programista 7/2020 (94)
Długie umowy ubezpieczenia, dodatkowe klauzule rozszerzające warunki ubezpieczenia czy wyłączenia odpowiedzialności ubezpieczyciela – jest wiele detali, którym należałoby przyjrzeć się przed podjęciem ostatecznej decyzji o wyborze polisy, aby zapewnić własnej firmie możliwie najszerszą ochronę. W Infinity poddajemy szczegółowej weryfikacji minimum 36 elementów każdej oferty ubezpieczeniowej, zanim przedstawimy rekomendację wyboru naszym klientom. Co wśród tych elementów jest kluczowe? Poniżej przedstawiamy 6 zapisów, które w naszej opinii powinno się rozważyć przed wyborem ubezpieczenia OC dla podmiotu działającego w branży IT.
Na przestrzeni ostatniego dziesięciolecia prawie wszystkie platformy oferujące możliwość projektowania aplikacji z graficznym interfejsem użytkownika rozpieściły nas, programistów, do granic możliwości. Niezależnie od tego, czy piszemy aplikację desktopową, webową czy mobilną, możemy przebierać w różnych frameworkach, które dostarczają bogate zestawy gotowych kontrolek i w wielu przypadkach dają nam prawie nieograniczone możliwości w zakresie ich stylowania. Istnieją jednak środowiska, w których sytuacja nie wygląda wcale tak różowo.
Kompilatory już dawno przestały być jedynie translatorami kodu źródłowego na kod maszynowy. Obecnie oferują programiście coraz bardziej wyrafinowane możliwości analizy i optymalizacji. Warto z nich skorzystać, zanim przystąpi się do żmudnego i podatnego na błędy, ręcznego usprawniania napisanego wcześniej kodu.
W serwisach dla programistów z projektami open source można odszukać m.in nieco mniej popularne biblioteki i aplikacje, lecz nadal bardzo wartościowe i przydatne w codziennej pracy. Jednym z takich pakietów jest MPC (Micro Parser Combinators) autorstwa Daniela Holdena, opublikowany na bardzo liberalnej licencji BSD. Pakiet MPC dostarcza nam narzędzia pomagające w tworzeniu m.in. analizatorów wyrażeń tekstowych, tj. stanowi on odpowiednik (również darmowych) programów flex oraz bison. Są jednak pewne różnice, po pierwsze jest to stosunkowo niewielki pakiet – kod źródłowy to zaledwie dwa pliki: mpc.c oraz mpc.h (od razu rzuca się w oczy, że jest to narzędzie napisane w języku C). Również sposób implementacji jest diametralnie odmienny od wspomnianych wyżej flexa i bisona.
Microsoft ujawnił informacje o nowej wersji języka C#, która oficjalnie pojawiła się pod koniec listopada 2020 r. C# 9.0 będzie domyślnym językiem platformy .NET 5, która jest kolejną wersją dobrze przyjętego .NET Core. Usunięto z nazwy „Core”, aby zaznaczyć, że będzie to nowa sztandarowa wersja platformy .NET, zastępująca .NET Framework 4.8. Mylące może być, że zachowano ciągłość numeracji z .NET Framework, a nie .NET Core. Największą zmianą w C# 9.0 są oczywiście rekordy, czyli nowy metatyp wprowadzony do C#. Rekord to typ referencyjny, jednak z metodą Equals – zaimplementowaną jak w typach wartościowych, tzn. porównującą stan obiektów.
RxJS definiuje niezwykle stroma krzywa uczenia się – mnóstwo operatorów, implementacja wzorców iteratora i obserwatora, zastosowanie reguł programowania funkcyjnego czy skomplikowane testowanie, co paradoksalnie daje obraz wszechstronnego i niezwykle uniwersalnego narzędzia, wymagającego zaledwie drobnej zmiany myślenia, by aplikacje weszły na wyższy poziom. Aby ułatwić to zadanie, w artykule przybliżono bibliotekę RxJS, kilka z jej metod, a także trzy operatory – concatMap, mergeAll oraz switchLatest.
Gesty są nieodzownym elementem naszej codzienności. Używamy oraz spotykamy je wszędzie – nie tylko podczas interakcji z innymi ludźmi. Słynny „lajk” na znanym portalu społecznościowym od razu mówi nam, że komuś podobają się nasze treści. Jeśli zobaczymy natomiast policjanta z wystawioną dłonią w naszym kierunku, to od razu wiemy, że musimy się zatrzymać. Skoro tak często korzystamy z takiego środka komunikacji, to dlaczego by nie wykorzystać go do komunikacji z maszyną, jak zostało to zrobione z mową oraz prostymi ruchami ręki? Spróbujmy więc w domowym zaciszu nauczyć maszynę lepiej komunikować się z człowiekiem.
W procesie wytwarzania oprogramowania opartego o sztuczną inteligencję (AI) bardzo istotny jest etap przetwarzania danych. W końcu to w oparciu o ich analizę budujemy modele złożone z algorytmów sztucznej inteligencji. Metody korelacji, posługiwanie się wykresami i wykonanie inżynierii cech to niezwykle ważne kroki w pracy badawczej. Należy również pamiętać o skalowaniu danych i augmentacji danych. W tym artykule zawarte są również m.in wskazówki przy stosowaniu biblioteki Tensorflow 2.3.1.
Dzisiejszy świat mobilnych systemów operacyjnych można określić mianem duopolu. Zdominowany przez stworzonego w firmie Google Androida i pochodzącego z Apple iOSa, wydaje się być miejscem, w którym nie ma przestrzeni na nic więcej. Sprawy jednak nie zawsze wyglądały w ten sposób, a dociekliwi użytkownicy mogą przekonać się, że także obecnie w cieniu gigantów wykluwają się alternatywne rozwiązania. Zanim jednak do nich przejdziemy, poświęćmy chwilę, aby sięgnąć w odmęty historii.
Machine Learning jest ostatnio bardzo gorącym tematem. Coraz więcej firm i osób zaczyna interesować się tą dziedziną. Początki nie są łatwe, przede wszystkim dlatego, że uczenie maszynowe wprowadza swoje własne nazewnictwo. W tym artykule poznasz wszystkie najważniejsze pojęcia, dzięki czemu będziesz mógł/mogła samodzielnie zgłębiać temat dalej, a tutoriale, dokumentacja i teksty naukowe nie będą ci już straszne.