Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].
Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.
… více »Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.
Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.
Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.
Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »
Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.
Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.
Minule jsem psal o tom, že chci ukázat jednoduchou aplikaci, která využívá základní koncept javy na serveru.
Prvním krokem, než začnu tvořit, je samotná instalace potřebných částí. Tu se pokusím v tomto článku sepsat.
Začnu od nejspodnější vrstvy a tou je databáze. Jak jsem již psal, budu používat MySQL. Není třeba klást velké požadavky na tuto vrstu, pouze musí být správně nainstalována a podporovat důležité funkce. Za jednu ze základních funkcích považuji referenční integrity. Jedná se o propojení dat, které mi jednak tvorí základní koncept a jednak udržuje data v konzistentním stavu. K tomuto účelu volím InnoDB, což je typ "tabulky", který splňuje tento základní požadavek. Osobně doporučuji MySQL 5 a vyšší.
Instalace je často dost triviální a snad každá schopnější distribuce nabízí přímo balíčky s touto DB. Po úspěšné instalaci je třeba ještě stáhnout MySQL Connector/J, který se bude hodit později.
Dalším krokem je instalace Javy. Opět se jedná o dost jednoduchou věc, která je popsána snad na stovkách webů a nemá cenu rozepisovat, jak takovou věc provést.
Nyní se již začnu zabývat aplikačním serverem, který je o dost šťavnatejší.
Takže, nejprve stahneme glassfish, doporučuji v2, která před nedávnem vyšla. Po úspěšně instalaci je třeba nakonfigurovat samotný server.
Konfiguraci mohu provádět pomocí příkazové řádky, kde si spustím GLASSFISH_HOME/bin/asadmin, nebo pomocí webového rozhranní: http://localhost:4848/. V určitých případech mohu zazásnout přímo do souborů, ale k tomu až později.
Osobně volím druhou možnost, tedy webové rozhraní.
Nejprve je třeba ukončit server (GLASSFISH_HOME/bin/asadmin stop-domain domain1) a zaregistrovat MySQL. Stažený JDBC ovladač nakopírujeme do doménové cesty glassfishe (GLASSFISH_HOME/domains/domain1/lib) a spustíme server (GLASSFISH_HOME/bin/asadmin start-domain domain1).
Po přihlášení do webového rozhraní přejdu do "Resources->JDBC->Connection Pools". Nyní zaregistruji MySQL. Při vytvoření nového poolu zadáme jméno (např. mysql/test), vybereme Resource Type ConnectionPoolDataSource a vendora MySQL. V dalším kroku mohu nechat všechny hodnoty výchozí, pouze změním: Allow Non Component Callers na ON, protože budu potřebovat volat z MySQL i přihašování, které pojede mimo tvořenou aplikaci. Propetry nastavím na vlastne definované hodnoty, podle instalace MySQL. Důležitými jsou tyto:
Nyní vytvořím samotný jdbc zdroj, který budu pomocí lookup získávat v aplikaci (respektive na persistentní vrstvě). Takže, v JDBC Resources dám nový, určím jméno JNDI (pozor, toto jméno musí být dostatatčně jasné, abych později věděl oč jde) např: jdbc/mysql_test, vyberu vytvořený pool a popřípadě doplním popisek.
Tímto bych měl mít zpřístupněnou MySQL databázi z aplikačního serveru. Samozřejmě existují i další volby, které jsou ovšem závislé na druhu projektu a také DBMS. Ne vždy nám totiž výchozí hodnoty stačí. Já ovšem předpokládám, že každý si dokáže dohledat příslušné materiály k danému problému.
Instalace JAAS-Realmu.
Předem bych měl asi objasnit o co se vlastně jedná. Samotný popis je vcelku rozsáhlý, já opět vezmu jen to nejdůležitější pro daný problém. Ve chvíli, kdy budete tvořit jakýkoli informační systém, budete se muset zabývat otázkou autentifikace a autorizace. Samotné J2EE proto implemetuje toto řešení, které má zjednodušit práci v této oblasti. Pokud jste se o tom nedočetli v Java EE5 Tutoriálu, tak po autentifikování uživatele jsem schopen říct, do které skupiny spadá a v jakých rolích se daný uživatel může vyskytovat. Jinými slovy, uživatel spadá do určité skupiny, která obsahuje určité role. Je možné i skupinu vynechat a říci, že uživatel má namapovanou tu či onu roli.
I když se na začátku může zdát, že tento systém je příliš složitý, není to pravda. Naopak umožňuje čistěji definovat oprávnění jednotlivých uživatelů a to zejména ve větších projektech.
Abych byl upřímný, sám jsem na začátku měl velké problémy rozchodit tuto službu přes vzdáleného klienta. Po pár dnech (pokusů a omylů) jsem se ale dopracoval ke zdárnému výsledku :)
Takže, aplikační server může obsahovat několik říší (Realms), které obsahují určitý modul přihlašování. Jako výchozí říše je nastavena "file". O tom se můžete přesvědčit v aplikačním serveru "Configuration->Security". Samořejmě máte možnost toto změnit či si vytvořit novou říši. Mezi základními říšemi naleznete i JDBCRealm, který se dá k tomuto účelu použít. Abych to zbytečně neprodlužoval, odkážu Vás na web, kde je hezky popsáno, jak takový realm vytvořit a nastavit. Já jsem pro své účely musel jít vlastní cestou a vytvořil jsem si vlastni LoginModule. Nevyhovovala mi totiž tato předefinovaná říše. Pokud by měl někdo zájem, mohu mu vlastní řešení zaslat.
Tím by měla být základní kostra aplikačního serveru hotová. Nyní ještě IDE, které použiji pro psaní své aplikace
K tvorbě aplikací jsem zvolil NetBeans. Instalace Netbeansů je velice triviální a nemá cenu ji rozebírat. Snad jen upřesním, že musíte mít verzi s podporou pluginů z J2EE a Web. K zaregistrování aplikačního serveru v NetBeans se můžete dočíst například zde.
Možná se Vám zdá, že instalace je docela rozsáhlá záležitost. S tím naprosto souhlasím, ovšem je třeba si ovědomit, že samotný aplikační server můžu chápat jako vlastní OS. Jednak obsahuje webový kontejner (stejně, jako například Tomcat), ale také i EJB kontejner, podporu JAAS, JMS, atd. Prostě v tomto prostředí jsem schopen tvořit jakoukoli rozsáhlou aplikaci a třeba i s pomocí X desítek lidí.
Příště tedy již o samotném programování doménového modelu.
Tiskni
Sdílej: