Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
String
? Po znacích? Po slovech? Po větách? Je fakt, že StringTokenizer
a podobné záležitosti by Iterable
implementovat mohly...
autoboxing: spíš bych ocenil, kdyby se součástí Collections Frameworku stalo něco jako Primitive Collections for Java, než součástí Javy tohle zatemňovátko. Třikrát fuj autoboxingu/-unboxingu (a statickým importům)!
enum: typově bezpečné výčty se dříve dělaly takto:
public class Enum1 { public static final Enum1 FOO = new Enum1(); public static final Enum1 BAR = new Enum1(); private Enum1() { } }Java 5 pro to akorát přinesla syntaktický cukr, který občas chutná trochu jako sůl, ale co už. Java 6: pokud vím, tak žádné změny v jazyce by nastat neměly. V Javě 7 bychom se zato mohli dočkat těch halasně proklamovaných closures (já bych tomu česky říkal uzávěry a podle definice closure by to mohlo být správně, ale nešť) a s nimi souvisejících referencí na metodu (což je z historických důvodů docela vtipné, ale aspoň že neobšlehli od Microsoftu delegáty). A integrace XML... hm, to už nebezpečně zavání sýšárpem...
defmacro
forever! List<Object>
může člověk pořád, ne? Ano, takový zápis má hrozně rádo Eclipse. (páč když si nastavíte Javu 5 a uděláte seznam bez generik, tak to podtrhne a varuje)To podtržení skutečně znamená varování, a to varování kompilátoru. Eclipse s tím nemá téměř nic společného - akorát to varování kompilátoru prezentuje graficky. Když si ten samý kód zkusíte přeložit sunovským
javac
se zapnutými varováními, dostanete na stejném místě stejné varování. Pokud opravdu chcete, můžete příslušné varování potlačit anotací @SuppressWarnings("unchecked")
. Eclipse varovat přestane, ale mám pocit, že sunovský javac
kompilátor ve verzi 5 tuhle anotaci ignoruje.
Pokud chcete používat kolekci, ve které může být libovolný objekt, není správné používat nekontrolovanou (unchecked) kolekci, ale použít zástupný znak. Místo např. List
použít List<?>
.
Myslím, že vy byste byl první, kdo by odsoudil vývojové prostředí, které ignoruje nebo zatajuje oprávněná varování kompilátoru -source
?
List<?>
nebo List<? extends Object>
. Pokud vím, že to budou vždy potomci třeba JComponent, pak List<? etends JComponent>
atd.
List>
, aby bylo hned jasné, že tam míchám všechno možné. Teda většinou se spíš zamyslím, zda opravdu očekávám, že v tom List
u bude kde co Java před tím nic podobného neměla, takže se výčty dělaly jako...
Slušný programátor by nikdy nenapsal výčet takovým způsobem, jaký byl popsán v blogu. Používají se mnohem lepší způsoby, jak nahradit výčet pomocí tříd a přinášejí s sebou větší výhody, než původní "enum".
typedef
for(Type type: (List<Type>) netypovyList )A celý tenhle problém vzniká při míchání kódu <1.5 a 1.5 dohromady, až bude všude kód pro 1.5, budou všechny kolekce typové
Tiskni
Sdílej: