Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Kit kdy Dnes v 18:07:01 »
Obávám se, že když někdo neví, v jakém kódování má která data, tak ho nezachrání ani knihovna.

Tady taky narážíme na to, že vývoj softwaru není jen o technologiích, ale i o lidském chování. Pro spolupráci je kolikrát důležitější než nedělat chyby, nebýt kretén a uznat, že v programu chyba je a opravit ji.

Pokud by Pohoda to cizí písmenko zakódovala jako entitu, problém by nenastal.
2
Sítě / Re:Řešení malé LAN s IP kamerami
« Poslední příspěvek od darebacik kdy Dnes v 17:16:48 »
OK, takze pojdem do VLANov
3
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Tomáš Crhonek kdy Dnes v 16:53:03 »
Obávám se, že když někdo neví, v jakém kódování má která data, tak ho nezachrání ani knihovna.

Knihovny v jazycích, které jsem používal, používaly zásadně unicode, takže nepořádek ve stringu by musel být už před tím. Stejně je s podivem, že se dneska ještě používá ISO nebo starší kódování. Pokud je celý program v unicode, tak se tam špatný text v podstatě zadat ani nedá, to by to tam musel někdo špatně už napsat.
4
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Franta Kučera kdy Dnes v 16:09:16 »
Nedávno jsem tady do nějaké diskuse napsal, že generování XML je někdy lepší si napsat sám, ručně, bez knihoven a hned se seběhli místní trollové, co že si to dovoluji si takovou věc psát sám… Přitom to generování XML je výrazně jednodušší než parsování (byť si nepíšeš vlastní parser asi zpracováváš SAX události nebo pracuješ nad DOMem nebo něco podobného). (jen dodávám, že cílem toho mého generátoru nebylo generování libovolného XML, ale určité podmnožiny, která je pro moje potřeby dostačující – důležité je, aby výstup bylo validní XML)

Kdysi jsem měl číst ceník v XML, který prodejce generoval tuším v Pohodě. V záhlaví sada Windows-1250, v obsahu francouzský parfém. Výsledkem nevalidní XML. Prodejce byl bohužel přesvědčen, že má vše správně. Lepení XML bohužel pokaždé nevyjde.

Obávám se, že když někdo neví, v jakém kódování má která data, tak ho nezachrání ani knihovna.

Viz např. v PHP:

Kód: [Vybrat]
<?php

$xw 
xmlwriter_open_memory();
xmlwriter_set_indent($xw1);
$res xmlwriter_set_indent_string($xw"\t");

xmlwriter_start_document($xw'1.0''UTF-8');

xmlwriter_start_element($xw'zkouška-kódování');

$text "čeština v UTF-8";
xmlwriter_start_element($xw'správně');
xmlwriter_text($xw$text);
xmlwriter_end_element($xw);

// tato data se načetla např. ze souboru nebo z databáze:
$text "čeština v ISO-8859-2";
$text iconv("UTF-8""ISO-8859-2"$text);
xmlwriter_start_element($xw'špatně');
xmlwriter_text($xw$text);
xmlwriter_end_element($xw);

xmlwriter_end_element($xw);

echo 
xmlwriter_output_memory($xw);

?>

Nebo v Javě:

Kód: [Vybrat]
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class BadEncodingXml {

    public static void main(String[] args) throws Exception {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document d = db.newDocument();

        Element root = d.createElement("zkouška-kódování");
        d.appendChild(root);

        {
            String text = "čeština v UTF-8";
            Element správně = d.createElement("správně");
            správně.appendChild(d.createTextNode(text));
            root.appendChild(správně);
        }

        {
            String text = "čeština v ISO-8859-2";
            text = new String(text.getBytes("ISO-8859-2"), "UTF-8");
            // Java tam aspoň dá: � takže XML je validní, byť data jsou chybná
            Element špatně = d.createElement("špatně");
            // případně: text = "\0";
            špatně.appendChild(d.createTextNode(text));
            root.appendChild(špatně);
        }
       
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer t = tf.newTransformer();
        t.transform(new DOMSource(d), new StreamResult(System.out));
    }
}


Chyba se dá udělat i při násobení dvou čísel, ale asi to neznamená, že přestaneme násobit, že?

Tady taky narážíme na to, že vývoj softwaru není jen o technologiích, ale i o lidském chování. Pro spolupráci je kolikrát důležitější než nedělat chyby, nebýt kretén a uznat, že v programu chyba je a opravit ji.
5
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Franta Kučera kdy Dnes v 16:09:09 »
Nedávno jsem tady do nějaké diskuse napsal, že generování XML je někdy lepší si napsat sám, ručně, bez knihoven a hned se seběhli místní trollové, co že si to dovoluji si takovou věc psát sám… Přitom to generování XML je výrazně jednodušší než parsování (byť si nepíšeš vlastní parser asi zpracováváš SAX události nebo pracuješ nad DOMem nebo něco podobného). (jen dodávám, že cílem toho mého generátoru nebylo generování libovolného XML, ale určité podmnožiny, která je pro moje potřeby dostačující – důležité je, aby výstup bylo validní XML)

Muzu se zeptat v jakem jazyku/platforme je to nekdy lepsi? Protoze jediny duvod, co me napada, kdyby podpora xml byla resena v nejake knihovne, co je zabugovana nebo prilis velka, atd.... Tak by me zajimalo v jakem jazyku jste to resili, ze tam nebyla podpora pro xml...

Jednak v Javě - tam bylo cílem mít lepší kontrolu nad formátováním a odsazením + volitelné zvýrazňování syntaxe v terminálu. (jinak v Javě dobré knihovny jsou a podpora XML je ve standardní knihovně)

Jednak v C++ - tam to byla volba mezi a) napsáním cca 140 řádků kódu a b) přidáním závislosti na nějaké komplexní knihovně.

Ani jedno není „lepení stringů“ ale volají se tam metody jako writeStartElement(), writeCharacters(), writeComment() atd. (podobá se to StAX rozhraní).

To „lepení stringů“ se dá napsat třeba i v Bashi a je to jeden řádek s voláním příkazu sed s pár náhradami.
6
Sítě / Re:Řešení malé LAN s IP kamerami
« Poslední příspěvek od CFM kdy Dnes v 15:47:34 »
Souhlas a nechť je to i odpověď pro tazatele ...
7
Sítě / Re:Řešení malé LAN s IP kamerami
« Poslední příspěvek od dzavy kdy Dnes v 15:34:44 »
VLANy jsou v tomto příkladu obdobnou tří nepropojených switchů, kde do jednoho jdou všechny kamery, druhého personál a třetího ostatní. Takže pokud si někdo z personálu nastaví IP z rozsahu kamer, tak se na ně stejně nedostane. Pokud by tam byl switch bez konfigurace VLAN, tak by se na ně dostal.
Já jsem variantu provozovat více subnetů na jednom interface/nonVLAN switchi vůbec neuvažoval, protože to není síť ale prasárna, tam nebude fungovat ani DHCP. To tu nemůžeme nikomu radit jako řešení.
8
Sítě / Re:Řešení malé LAN s IP kamerami
« Poslední příspěvek od CFM kdy Dnes v 15:24:52 »
Já asi nechápu dotaz, přece používání různých subnetů s jedním switchem automaticky znamená rozdělení na VLANy?
VLANy jsou v tomto příkladu obdobnou tří nepropojených switchů, kde do jednoho jdou všechny kamery, druhého personál a třetího ostatní. Takže pokud si někdo z personálu nastaví IP z rozsahu kamer, tak se na ně stejně nedostane. Pokud by tam byl switch bez konfigurace VLAN, tak by se na ně dostal.
9
Bazar / Re:Prodám server HP ProLiant DL580 Gen9
« Poslední příspěvek od Torx kdy Dnes v 14:29:33 »
Server prodán.
10
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Kit kdy Dnes v 13:50:18 »
Nedávno jsem tady do nějaké diskuse napsal, že generování XML je někdy lepší si napsat sám, ručně, bez knihoven a hned se seběhli místní trollové, co že si to dovoluji si takovou věc psát sám… Přitom to generování XML je výrazně jednodušší než parsování (byť si nepíšeš vlastní parser asi zpracováváš SAX události nebo pracuješ nad DOMem nebo něco podobného). (jen dodávám, že cílem toho mého generátoru nebylo generování libovolného XML, ale určité podmnožiny, která je pro moje potřeby dostačující – důležité je, aby výstup bylo validní XML)

Kdysi jsem měl číst ceník v XML, který prodejce generoval tuším v Pohodě. V záhlaví sada Windows-1250, v obsahu francouzský parfém. Výsledkem nevalidní XML. Prodejce byl bohužel přesvědčen, že má vše správně. Lepení XML bohužel pokaždé nevyjde.
Stran: [1] 2 3 ... 10