Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Filip Jirsák

Stran: 1 2 [3] 4 5 ... 375
31
Vývoj / Re:SSH server vytuhne
« kdy: 04. 09. 2023, 10:52:26 »
Obsluhu navázaného spojení děláte ve stejném vlákně? Nemůže být problém v tom, že nikdy neskončí vaše obsluha nového spojení?

32
Vývoj / Re:XSL podmíněný foreach
« kdy: 29. 08. 2023, 15:07:56 »
current() má i XSLT 1.
A jo – vycházel jsem z dokumentace Saxonu, a neuvědomil jsem si, že ten už má jen režim kompatibility s XSLT 1.0 a v dokumentaci uvádí podporu až od XSLT 2.0.

33
Vývoj / Re:XSL podmíněný foreach
« kdy: 29. 08. 2023, 14:55:28 »
Tak se mi to povedlo. Musel jsem do šablony 2 přidat generování elementu který porovnávám v cyklu.
https://xsltfiddle.liberty-development.net/6r5EJSU/19

V šabloně kopírující atributy máte navíc mode="index", ale žádnou šablonu s módem index tam nemáte.

Kód: [Vybrat]
<xsl:apply-templates select="@*" mode="index"/>

Nicméně na elementu Packaging stejně žádné atributy nemáte, takže to kopírování atributů je tam zbytečné. Dal jsem to tam jen pro úplnost, nevěděl jsem, zda tam nějaké atributy nebudete mít.

34
Vývoj / Re:XSL podmíněný foreach
« kdy: 29. 08. 2023, 14:50:11 »
Doplním, že pro tyto případy lze použít funkci current(), která kontext určí přesně.
No jo, jenže ta je zase dostupná až od XPath 2.0, tedy XSLT 2.0. XSLT 2.0 přineslo oproti XSLT 1.0 právě spoustu věcí, které umožňují složitější zpracování dat v jednom průchodu. Když je omezení na použití XSLT 1.0, je to jak mít jednu ruku za zády.

super...pracovat s for-each je pro mě jednoduší
Pro vás ano, ale XSLT procesoru tím podrážíte nohy, protože pak nemůže kód moc optimalizovat. apply-templates je deklarativní, říkáte tím co se má udělat a je na XSLT procesoru, jak to udělá. for-each je imperativní, říkáte jak se to má udělat a XSLT procesoru nezbývá nic jiného, než to udělat tak, jak jste předepsal – i když by to třeba šlo jinak lépe. Je to stejné jako u SQL. Ale je pravda, že u XSLT 1.0 procesoru to s optimalizacemi asi nebude žádná sláva.

35
Vývoj / Re:XSL podmíněný foreach
« kdy: 26. 08. 2023, 13:01:07 »
Nenapadá mne, jak to s prostředky XSLT 1.0 udělat jinak, než druhým průchodem přes ty výsledné záznamy: https://xsltfiddle.liberty-development.net/6r5EJSU/10

36
Vývoj / Re:XSL podmíněný foreach
« kdy: 26. 08. 2023, 10:24:35 »
position() se počítá z aktuálního kontextu, tedy u šablony ze všech uzlů, které odpovídají selectu šablony. Předpokládám, že tam chcete pozici z té původní množiny – pak je potřeba ji získat hned v první šabloně a do té druhé šablony si ji poslat pomocí parametru: https://xsltfiddle.liberty-development.net/6r5EJSU/8

37
Vývoj / Re:XSL podmíněný foreach
« kdy: 25. 08. 2023, 19:51:24 »
Jo, protože priority takhle nefunguje a next-match v XSLT 1.0 není. Tak takhle? https://xsltfiddle.liberty-development.net/6r5EJSU/6

38
Vývoj / Re:XSL podmíněný foreach
« kdy: 25. 08. 2023, 19:12:48 »
XSLTfiddle mi teď hlásí 503… Ale to XSLT by snad mohlo vypadat takhle nějak:

Kód: [Vybrat]
<xsl:stylesheet version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  exclude-result-prefixes="#all" expand-text="yes">

<xsl:template match="/">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="ResultSet/Row" priority="10">
    <xsl:variable name="ItemCode" select="ItemCode" />
    <xsl:apply-templates select=".[not(preceding-sibling::Row[1][ItemCode=$ItemCode])]" />
  </xsl:template>
  <xsl:template match="ResultSet/Row" priority="5">
    <xsl:copy>
        <xsl:apply-templates select="@*"/>
        <xsl:apply-templates />
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Kopíruje to požadované řádky do výstupu, vy s nimi asi místo copy budete chtít udělat něco jiného.

39
MS SQL má v sobě také fulltextový index – ale měli jsme s ním dost špatné zkušenosti (na druhou stranu, už je to dost dávno).

Určitě bych nevymýšlel vlastní řešení, to by bylo na dlouho. Buď použijte nějaký už hotový vyhledávač, do kterého jenom budete cpát dokumenty – ať už v on-premise řešení nebo jako službu (třeba Algolia). Pokud to potřebujete integrovat do svého řešení (tedy napojit to do vlastního frontendu), použijte alespoň už hotový fulltextový vyhledávač, který si poradí s těmi dokumenty. Například zmíněný Apache Solr, který podporuje PDF, Word a další formáty. Alternativou by mohl být Sphinx, ale ten asi není tak známý a má divnou licenci (nikdy jsem ho nepoužil, takže nevím, co umí).

40
Vývoj / Re:XSL podmíněný foreach
« kdy: 25. 08. 2023, 13:13:04 »
V XSLT se pokud možno nepoužívá for-each, ale použije se apply-templates.

Porovnání ItemCode=ItemCode je zjevně nesmysl, XPath procesor nemůže vědět, že tím jednou myslíte ItemCode z kontextu před spuštěním XPath výrazu a podruhé ItemCode v rámci XPath výrazu.

Udělal bych to tak, že si vytvoříte šablonu na ResultSet/Row, v té si uložíte do proměnné hodnotu ItemCode, a pak zavoláte další šablonu, ve které budete mít tu vaši podmínku – a hodnotu předchozího záznamu budete porovnávat s tím, co máte uložené v proměnné. Přičemž ještě přidejte podmínku, že vás zajímá jenom první z předchozích záznamů (tj. za Row přidejte [1]) – tak, jak to máte teď, by se ta podmínka vyhodnotila, pokud by v kterémkoli z předchozích záznamů byla vámi hledaná hodnota.

41
K tomu se používá lemmatizace – při indexování převedena všechna slova na základní tvar a pak hledáte základní tvary. Případně, pokud byste neměl možnost ovlivnit podobu indexu, můžete pro všechna slova v dotazu vygenerovat všechny jejich možné tvary a pak hledat to.

Vše jsou to běžně používané postupy, takže stačí jenom správně hledat. Pokud nemáte nějaké specifické využití, použil bych nějaký už hotový fulltextový index s podporou češtiny. Např. Apache Solr, nebo pokud už máte data v PostgreSQL databázi, tak zmíněný fulltextový index PostgreSQL.

42
Server / Re:Vlastní důvěryhodná CA
« kdy: 14. 08. 2023, 08:36:45 »
Na e-mailovém serveru používám Let's Encrypt od té doby co existuje a nikdy s tím nebyl problém. Ani mě nenapadá důvod proč by to problém měl být.
Jenže tady nejde o certifikát e-mailového serveru, ale o šifrovací certifikáty pro uživatele.

43
Server / Re:vlastna CA
« kdy: 11. 08. 2023, 15:27:44 »
Hele, to by me zajimalo, co ti na tom nefunguje? Je to uz par patku, ale s kolegou sem to testoval, a vypadalo to celkem funkcne (teda krom toho, ze se to da realne pouzit jen interne). Normalne sem do GPO nastavil at to generuje user certifikaty, a kdyz si odesilatel nastavil, ze chce mail podepsat, podepsalo se. Odpoved se dala uz i zasifrovat ... a fungovalo to. Testovali sme to mezi Outlookama a TB + eM + nejakej androidi klient.

Prakticky nejzasadnejsi problem byli webmailisti, to je nogo zona.
Zkoušel jste výměnu šifrovacího certifikátu? Po výměně certifikátu uživatelem trvalo blíže neurčenou dobu, než mohl odesílatel (na tomtéž Exchange serveru) použít pro šifrování nový certifikát. Do té doby se používal buď starý, nebo Outlook tvrdil, že adresát nemá žádný certifikát pro šifrování. Pomáhalo jenom „zkusíme to zítra“.

Celá ta šaráda s ukládáním certifikátů někam na server je právě proto, aby to šifrování fungovalo hned od prvního e-mailu. To, že mi odesílatel pošle svůj šifrovací certifikát a já mu pak můžu odpovědět šifrovaně, to umí i GPG nebo openssl. Přidaná hodnota Outlooku měla být právě v tom, že si umí ze serveru stáhnout certifikát i pro někoho, s kým jsem do té doby vůbec nekomunikoval. Teoreticky.

44
Server / Re:Vlastní důvěryhodná CA
« kdy: 11. 08. 2023, 11:48:16 »
Já bych v takovém případě stejně volil variantu vlastní CA jen pro osobní šifrovací certifikáty, ACME (třeba nejspíš Let's Encrypt) pro TLS certifikáty. Je to logické rozdělení, Let's Encrypt nebo ZeroSSL vám vystaví jen serverové certifikáty, osobní musíte mít odjinud. A pokud jde o nějaký interní provoz, asi nebudete chtít všem zúčastněným kupovat komerční osobní certifikáty – pro ně tedy použijete interní CA.

Nie, nefunguju :)
No jo no, když ono udělat službu, do které strčíte e-mailovou adresu a vypadne z ní k ní přiřazený certifikát, to není jen tak. To je věda. Ale já myslím, že to Microsoft jednou spraví – hned po té, co při odpovědi na e-mail, který jsem sám posílal, přestane jako příjemce nastavovat mě, ale nastaví tam původní adresáty.

45
Server / Re:vlastna CA
« kdy: 10. 08. 2023, 17:56:55 »
- dlzka platnosti. Proces pri Let's encrypt pri jej kratkej platnosti certifikatov musi byt automatizovany. Ked si spravim vlastny certifikat, tak mozem ist od 2 rokov vyssie a nemusim sa trapit zo zariadeniami, ktore nie su rozumne automatizovatelne.
Záleží na tom, jakým způsobem s těmi těžko automatizovatelnými zařízeními komunikujete. Pokud z prohlížeče, bál bych se té délky platnosti certifikátu. Prohlížeče postupně zkracují maximální dobu platnosti certifikátu, kterou akceptují. Pro privátní CA mají prohlížeče ohledně certifikátů dost výjimek, ale nikde není záruka, že i tam začnou platnost zkracovat (a vlastně nevím, zda už teď nějaký limit neuplatňují). Pokud je ten protokol HTTPS, je zase jednoduché to zařízení strčit za proxy, která se postará o HTTPS, a mezi proxy a zařízením ať se komunikuje třeba dálnopisem (a nebo self-signed certifikátem s platností 100 let, který bude zadaný napevno v konfiguraci toho proxy serveru).

Samozřejmě pokud se s tím zařízením pracuje nějakým jiným protokolem, ideálně TLS s oboustrannou autentizací, a certifikát s privátním klíčem tam musíte přinést pokud možno osobně na USB flash disku, moc se s tím toho dělat nedá…

- emaily. Netusim ci by sa to vobec dalo rozumne rozbehat. Jedna z hlavnych motivacii toho co teraz robim je to, ze na emaily vyrobim 10 rocne certifikaty.
Předpokládám, že vám jde o podepisování e-mailů uvnitř organizace. To je trochu jiná disciplína a tam vám stačí, aby tomu kořenovému certifikátu důvěřovaly Outlooky na pracovních stanicích, a ty si to stáhnou z AD. Tím odpadá ten největší problém vlastní CA, že když zjistíte milion míst, kde je potřeba mít kořenový certifikát jako důvěryhodný, objeví se milion první místo, kde chybí. (A zajímalo by mne, zda už certifikáty pro šifrování z AD v Outlooku prostě fungují, nebo zda je potřeba to stále zaříkávat, aby si Outlook ráčil stáhnout aktuální certifikát protistrany. Protože když jsme to ještě používali, vždy několik dní před ostrým použitím probíhala secvičná, aby se zajistilo, že Outlook odesílatele vidí v AD ten samý certifikát pro šifrování, který má příjemce nastavený pro dešifrování.)

Stran: 1 2 [3] 4 5 ... 375