Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Tak jsem na to přišel. Pomalost javy v GUI není skutečně chybou javy, ale asi Linuxu (či xorg).
Jako semestrálku na algoritmizaci jsem dělal kreslení grafu libovolně složité fce. Dělal jsem to v Linuxu a přišlo mi to strašně pomalé. Pak mi ve škole docházela baterka, tak jsem to zkopčil na flashku a v počítačové učebně to na Windows dodělával. Jaké bylo překvapení, že to tam běží snad 10x rychleji - žádné záseky při posouvání, zoomu ani vykreslování tečen pro každý bod. V Linuxu se to sekalo. Jak s compizem, s kde4 s efektama i bez efektů a bez compizu. Zkoušeno na 32bit ArchLinuxu a 64bit ubuntu s openjdk i sun-java - všude stejné. Na Windows XP ve škole, Windows Vista a Windows 7 doma naprosto plynulé - zajímavé. A co je zajímavější, na Linuxu je to nepoužitelné s vyhlazováním a na Windows to jede stejně rychle i s ním. Možná to bude tím, že na Windows je i GDI akcelerované grafikou, ktežto na linuxu to asi akceleruje tak velký ho*no.
Tiskni
Sdílej:
Aby to nebylo nekvalitním adapterem/bridgem mezi Xorg a Javou.
kdyz jsem mel c64 a nahraval veci z kazety, pomahalo modleni
Podle mě nebude problém ani tak v Linuxu jako v Sunu. Ti pro Linux neudělali v tomto směru příliš kvalitní práci, proto je Java na Linuxu taková jaká je. Mám možnost srovnávat se všemi tremi systémy (doufám, že tam není gramatická chyba ). Na Windows je GUI vcelku dobré, používa-li se nativní look and feel. Při Ocean může být překreslování vcelku tragické (vyzkoušeno na Netbeans Platform projektu). Na Linuxu již bylo řečeno. Na Macu s nativním look and feel luxus. S Ocean docela špatné...
Rád bych tím apeloval na vývojáře Javovských aplikací, aby pokud možno nechávali výchozí Look and feel a to jest systémový. Na Macu je zapnutý standardně, na Windows a Linux si o něj explicitně řekněte. Je to dobré nejen kvůli lepšímu výkonu GUI, ale i kvůli systémové integraci... S ní mám obzvlášť na Macu dobré zkušenosti a dokázal bych poradit.
Windows je i GDI akcelerované grafikouNemyslím.
Takto ořezané je to skutečně pravdivý výrok, akorát že nemá s rychlostí Swingového gui v Javě moc velkou souvislost.Windows je i GDI akcelerované grafikou
zdravim,
resil jsem podobne podrobneji pri psani editoru v jave na platforme Eclipse. 4 roky praxe s GUI na jave. Jinak jsem programator desktopovych komponent v jave.
Problemy jsou dva.
1) nespravne pouziti - v aplikaci mate neco, co jiz brzdi. Zpracovani dat. Anebo take treba neumite spravne pouzivat layouty a volat prekreslovani (staci prekreslit cast, nepackovat pokazde a tak....). Da se skutecne napsat rychla aplikace. Nekdy staci aplikovat pouze zmeny a dosahnete velkeho zrychleni. Ale toto jsou obecne zaklady pro psani jakehokoli GUI ci graficke aplikace.
Pocitejte s tim, ze to bude na 95% chyba u Vas.
2) na Windows je SWT o dost rychlejsi nez na Linuxu. V bugzile jsem videl, ze problem je v gtk knihovnach. Nove gtk knihovny by mely byt o dost rychlejsi, nicmene nejsou zakomponovany do SWT.
Idealne podtaktuje procesor/y a mrknete se co je pomale.
Jinak java na Linuxu (Swing je akcelerovane) pomoci OpenGL.
Osobne jsem zjistil prakticky behem roku a pul, ze za nejvice zpomaleni aplikaci si muze sam programator. Je to o algoritmech a strukturach.
Bohuzel vetsina programatoru neumi pouzivat vhodne struktury a algoritmy. Natoz nevi, ani jak funguji a jak se delaji GUI. Bohuzel vetsina lidi a asi se dobre pobavim v diskusi bude vedet, jak funguje do detailu javovy VM, napsali jiz nekolik VM implementaci, ale GUI umi akorat maximalne nahazet prvky na platno a tim to konci.
Co to je ze techniku, podtaktuje procesor a mrknete, co je pomale? Na tohle snad mame profilery ne?
Pouzijte co chcete, hlavni je vysledek. Naprosty souhlas, ze profiler je idealni reseni. Nebo zda to odladite pomoci tisku casu do stdout. Nicmene se mi dane osvedcilo, kdyz vidite, jak je aplikace rychla na pomalejsim stroji.
Idealne podtaktuje procesor/y a mrknete se co je pomale.I když podtaktování procesor(ů) není špatný nápad (ukáže to celkový dojem z pomalosti), daleko lepší je použít profiler. Ten i ukáže kde přesně to drhne. Bohužel, s rostoucím výkonem HW se takovýmto věcem moc pozornost nevěnuje a pak to vypadá, jak to vypadá...
Bohuzel vetsina lidi a asi se dobre pobavim v diskusi bude vedet, jak funguje do detailu javovy VM, napsali jiz nekolik VM implementaci, ale GUI umi akorat maximalne nahazet prvky na platno a tim to konci.To by byl tak trochu můj případ
No vidite. Ja mam zase problem, ze nemam cas zlomit projekt antlr.org = dostat se do stavu, kdy jsem schopen s tim delat a neco v tom rozumne kodit. Problem je cas. A nejhorsi je zlomit filtrovani stromu/grafu.
Co se tyce tech GUI, tak se hodi si precist nejakou vetsi knihu. Nicmene je to o praxi. A idealni je natrefit na lidi, co to umi. Pak teprve zjistite, ze
clovek delal hodne veci hodne spatne a "mlatite hlavou o zed".
Asi nejvetsi problem je, ze lidi nevi, jak GUI nebo treba i database funguji a ze umi neco vice nez je v ukazkovych prikladech. Hodne casto mam pocit, ze najdete sice dost ukazkovych prikladu, ale chybi tam nektere bezne potrebne veci.
Osobne jsem vcelku dost dlouho dobu ignoroval dulezitost layoutu. I kdyz vse napsane nejak fungovalo a stiznosti nebyly. Byla to vcelku chyba.
Hodne dobra praxe je napsat si editor - to je slusna skola. Nebo si napsat GUI pro nejaka metadata - kde doslova dostavate i data o poctech sloupcu, vnorenych komponentach.
Co se tyce experimentovani s parsery a generatory, tak si myslim, ze ta prava skola je, pokud popisete vetsi gramatiku. Ona kakulacka je zajimava uloha nebo vyparsovani jednoho souboru s linearni slozitosti (data v radcich), ale slozite a prakticke to moc neni. Osobne si myslim, ze ta prava uloha, je pokud ze streamu zdrojaku do nejakych dalsich streamu.
Jinak diky za typ - MPS. Ukladam do bookmarku. Osobne si drzim ale generatory castecne od tela. Jsou super, ale moje prace je vetsinou o tom, ze danou vec musim potom nasledne pouzivat a upravovat. Hlavni prace je spise v aplikacni logice a na tom se nejvice usetri.
Jinak generatory maji urcity potencial. To ano. Jenze co nejak nejede a nikdy nejelo, ze by nekdo zacal delat misto 1 formulare denne 20 a vice generovanych formularu a dostal za to temer primo umerne zaplaceno. To bohuzel moc nefunguje. Alespon, co jsem videl. Osobne se nam spise osvedcila metoda nejakeho abstraktniho modelu a zbylych 5-10% doprogramovat konkretne = vetsina casu.
ok, pojdme se bavit o __praktickych__ vecech a implementacich.
Resil jsem par uloh. Ozvete se mi na mail.
Pridam par veci, co shanim a zajimalo by me, kam jste v tomto dosel. Par veci jsem prosel, ale v par nemam jasno + cas. A zkusenosti se v tomto spatne a dlouze shani.
0) z database se da vygenerovat GUI. Se vsemi zakladnimi operacemi nad nim (ukladani, vlozeni, mazani). Pomoci klicu v databasi dostanete i nejake informace o ostatnich formularich nebo o zobrazeni ciselniku. Neco castecne o navigaci.
1) rozparsujete nejaka data na AST strom. Nicmene strom potrebujete transformovat na nejaky jiny strom. Ten strom uz nemusi byt gramatika, ale nejaka struktura - graficky vystup ci objekty. Nebo, jak z formulare s daty udelat aplikaci - reverse.
2) oprava dat pomoci gramatiky + podobnost retezcu. umisteni elementu ve stromu. Jak spachat GUI a jak popsat nalezene chyby - sgrupovat je.
3) mam data, ktera obsahuji treba 3 typy gramatik v sobe (aplikace, sql dotazy, html) a chci to prevest na samostatne proudy, kdy jeden proud je jeden typ gramatiky.
4) anlr - stringtemplate - pouzival jste ?
goldenfish at linuxsoft dot cz
Pod to se můžu podepsat.
Já bych u té Javy viděl problém i někde jinde. Myslím, že uživatelský komfot můžou neblaze poznamenat lagy způsobené GC. Nemám to nijak ověřené (momentálně nepoužívám žádný destkopový program v Javě), ale myslím, že stop-the-world GC může program zaseknout klidně na víc než 0.1 sekundy.
Kdysi na Windows jsem používal JEdit, považuju ho za dobrý program. Na Linuxu jsem ho zkoušel, ale nějak hnusně renderoval písmo, takže jsem přešel na Gedit.
Nemám to nijak ověřené (momentálně nepoužívám žádný destkopový program v Javě), ale myslím, že stop-the-world GC může program zaseknout klidně na víc než 0.1 sekundy.
O tom už se tu diskutovalo též hodně. Myslíš, že 0.1s jednou za půl hodiny (no i kdyby jednou za minutu) je pro toho uživatele nějaký problém? Obzvláště na když se drtivou většinu času čeká na uživatelský vstup? Pokud GC proběhne mezi dvěma stisky kláves (což se stihne), tak to stejně nepozná. Dokonce ani na animaci (např. real-time vykreslování grafů) není GC a stop-world nijak zvlášť patrné (fps dejme tomu 25, tj 40ms, tzn vypadne jeden až dva snímky, toho si ani nevšimneš - nebo to budeš přikládat výpadku sběru dat ).
Oponujte, klidne. Psal jsem toto:
>>Pocitejte s tim, ze to bude na 95% chyba u Vas.
Vychazi mi to z praxe - statistika. Neni to pouze universalni odpoved.
Bez konkretni implementace (zdrojaku) jsme tu nahrani asi vsichni.
Obávám se, že tam přece jenom bude něco trochu shnilého. Když měním velikost okna, tak se občas nevykreslí levá část okna s tlačítky... Může to být pochopitelně bug Javy, ale abych byl upřímný – ještě se mi nic takového nestalo...
Jinak pěkná aplikace; až se člověk krapet zastydí, že nic takového nenapsal
zdravim,
jede to jak brus. Je to hodne rychle. Zatez CPU 15-30% odhadem - horni hranice v IDE podle funkci. Testovaci stroj Lenovo R400 a posledni stabilni JDK 1.6. Kernel 2.6.28. Intel ovladace grafika - 2.3.x.
Na vice se mrknu behem par dni - napisi pripadne soukrome. Jsem jeste ted v zamestnani a casove mam posledni dobou hodne nabito.
Anebo take treba neumite spravne pouzivat layouty a volat prekreslovani (staci prekreslit cast, nepackovat pokazde a tak....). Da se skutecne napsat rychla aplikace. Nekdy staci aplikovat pouze zmeny a dosahnete velkeho zrychleni. Ale toto jsou obecne zaklady pro psani jakehokoli GUI ci graficke aplikace.
Můžete doporučit nějakou otevřenou aplikaci, kde je to podle vás implementováno správně, a která je čitelná? Pokudmožno nejen dialogy, ale i nějaký canvas s interaktivní grafikou. Díky.
Exception in thread "AWT-EventQueue-0" 320java.lang.ArrayIndexOutOfBoundsException: 156 at graffunkce.Graph.paintGraph(Graph.java:496) 0.025 at graffunkce.Graph.paintComponent(Graph.java:620) 0.016736401673640166 at javax.swing.JComponent.paint(JComponent.java:1027)(tie čísla sú tam mierne rozhádzané, takže asi sa to vykonáva súbežne vo viacerých vláknach). Inak ak tam nie je žiadny graf a potiahnem tú plochu pomocou myši, tak to píše
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at graffunkce.Graph.mouseDragged(Graph.java:337)(a neviem čo všetko sa tam vyhodnocuje, ale aj keď tam nie je graf, zataženie je takmer rovnaké, ako vtedy, keď sa graf zobrazuje).
Ve více vláknech by to běžet nemělo, teda alespoň já tam víc vláken nevytvářímTakže děláš výpočty v EDT? Aha, hm, no, jasně
GrafFunkceApp.java
i GrafFunkceView.java
obsahují řádky odsazené mezerami, asi generovaný kód.
S takovou ovšem nechápu tu potřebu uvozovací závorky na novém řádku, akorát zabírá řádek navíc. No, to je jedno.
-J
. Jak to spouštíš?
java -jar program.jar -J-Dsun.java2d.opengl=True
. S java -jar program.jar -Dsun.java2d.opengl=True
to akorát vypíše "invalid argument"
java -Dsun.java2d.opengl=True -jar program.jar
Could not enable opengl pipeline for default config on screen 0
Aj ja by som chcel robit taku semestralku:)
Nevšímejte si tohoto komentáře, potřeboval jsem uploadovat program pro Mac, který bude číst ISO Level 3 DVD se soubory > 4GB, Mac OS to neumí, tak jsem si musel vytvořit program na čtení přímo ze zařízení.
Pokud má někdo zájem o info, tak zde je vytržené z kontextu z tohoto fóra.
Tak už je zítra Přeloženo a zdá se, že to funguje. Takže nejdříve popis ISO Level 3 a pak info, jak s tím programem pracovat.
ISO do Level 2 může mít maximálně soubory do 4GB, ISO Level 3 je do jakési míry kompatibilní a to do takové, že soubor > 4GB je rozdělen na 2 části a ty jsou uloženy jako 2 samostatné soubory se stejným jménem a první z nich má nastaven "atribut", že to není poslední část a druhý, že je (a Mac je interpretuje jako jeden a vezme v úvahu ten druhý (takže ten menší) a proto ta chyba).
Vložíte DVD Iso Level 3 (pukud je tam udf filesystém, tak to radši nezkoušejte, se mi to trochu zacyklilo ). Příkazem mount v terminálu zjistíte označení zařízení mechaniky (v mém případě /dev/disk1). Příkazem "sudo su" se přihlásíte jako root a příkazem "unmount /dev/disk1" odpojíte DVD (jinak to zařízení nepude programem otevřít). Spustíte program "./DVDReader". Zeptá se vás na jednotkum, dejte mu ji (/dev/disk1 enter). Načte se struktura DVD a ukáže se výzva k zadávání příkazů. Příkazy jsou:
help - seznam příkazů exit - ukončit DVDReader tree - zobrazí adresářovou strukturu DVD (hvězdičkou jsou označeny soubory složené z více částí a v seznamu se objeví vícekrát) cp - zkopíruje soubor. Parametry jsou "adresář/a/jméno/na/cd.mkv" a "/Jméno/na/disku.mkv". Lze kopírovat pouze soubory, né adresáře. Kopírování může trvat dlouho, čte to po sektorech (2048 B).
Zdrojáky jsou napsané prasácky. A netuším, jestli z toho gcc vytvořil 64bit nebo 32bit binárku, takže když vám nepůjde, zkuste si to zkompilovat.