abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
dnes 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
dnes 18:11 | Nová verze

Byla vydána verze 2.11.0 QEMU (Wikipedie). Přispělo 165 vývojářů. Provedeno bylo více než 2 000 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
dnes 17:44 | Komunita

Canonical oznámil dostupnost kryptografických balíčků s certifikací FIPS 140-2 úrovně 1 pro Ubuntu 16.04 LTS pro předplatitele podpory Ubuntu Advantage Advanced. Certifikace FIPS (Federal Information Processing Standards) jsou vyžadovány (nejenom) vládními institucemi USA.

Ladislav Hagara | Komentářů: 1
dnes 16:11 | Zajímavý software

Společnost Avast uvolnila zdrojové kódy svého dekompilátoru RetDec (Retargetable Decompiler) založeného na LLVM. Vyzkoušet lze RetDec jako webovou službu nebo plugin pro interaktivní disassembler IDA. Zdrojové kódy RetDec jsou k dispozici na GitHubu pod open source licencí MIT.

Ladislav Hagara | Komentářů: 2
včera 11:00 | Zajímavý software
Na Good Old Games je v rámci aktuálních zimních slev zdarma k dispozici remasterovaná verze klasické point&click adventury Grim Fandango, a to bez DRM a pro mainstreamové OS včetně GNU/Linuxu. Akce trvá do 14. prosince, 15:00 SEČ.
Fluttershy, yay! | Komentářů: 6
včera 07:22 | Pozvánky

Konference InstallFest 2018 proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Spuštěno bylo CFP. Přihlásit přednášku nebo workshop lze do 18. ledna 2018.

Ladislav Hagara | Komentářů: 0
12.12. 20:22 | Nová verze

Před měsícem byla vydána Fedora 27 ve dvou edicích: Workstation pro desktopové a Atomic pro cloudové nasazení. Fedora Server byl "vzhledem k náročnosti přechodu na modularitu" vydán pouze v betaverzi. Finální verze byla naplánována na leden 2018. Plán byl zrušen. Fedora 27 Server byl vydán již dnes. Jedná se ale o "klasický" server. Modularita se odkládá.

Ladislav Hagara | Komentářů: 6
12.12. 10:22 | Zajímavý článek

Lukáš Růžička v článku Kuchařka naší Růži aneb vaříme rychlou polévku z Beameru na MojeFedora.cz ukazuje "jak si rychle vytvořit prezentaci v LaTeXu, aniž bychom se přitom pouštěli do jeho bezedných hlubin".

Ladislav Hagara | Komentářů: 13
12.12. 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 986 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Arch Linux přešel na PHP 7.0

    Před měsícem byla vydána verze 7.0 skriptovacího jazyka PHP (zprávička). Vývojář Arch Linuxu Pierre Schmitz informuje, že balíčky s PHP 7.0 se dostaly do stabilních repozitářů Arch Linuxu (php).

    3.1.2016 10:37 | Ladislav Hagara | Komunita


    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    3.1.2016 13:39 Odin1918 | skóre: 4 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Dalsi verze bude devet, nebo rovnou deset? :-)
    3.1.2016 13:53 Kozzi
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Rekl bych ze 7+1 = 8. Takze dalsi major verze bude php 8
    3.1.2016 13:58 Kozzi
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Samozrejme je tu stale riziko ze dalsi verze nevyjde :)
    3.1.2016 14:23 Odin1918 | skóre: 4 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Sestka byla prece preskocema ;-)
    kozzi avatar 4.1.2016 15:03 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Tak nebyla, ono PHP 6 existovalo, jen se nikdy nevydalo :) viz. : http://www.wrox.com/WileyCDA/WroxTitle/Professional-PHP6.productCd-0470395095.html

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    3.1.2016 14:47 Nobody
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Dalsi verze bude 47, aby to bylo vic Chrome.
    3.1.2016 15:20 Odin1918 | skóre: 4 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    :-D Dnes je asi takova moda. Dokonce i kernel zvysuje inkrementacni tempo.
    3.1.2016 21:39 Petr Mika | skóre: 8
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Historical context

    The reason why this question even comes up, is that there has been a previous attempt at a new major version, which was started in 2005 and abandoned in 2010 due to difficulties in the Unicode implementation. Apart from language-integrated Unicode support, most features added for that version were integrated either in PHP 5.3 or PHP 5.4.

    This previous attempt at a new major version was also developed under the name of PHP 6 and as such there are various resources referring to it, including a number of books. There is concern that there might be confusion between the abandoned previous attempt and the work that is currently happening.
    4.1.2016 00:26 Odin1918 | skóre: 4 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jiste. Toto vim. Dokonce si i pamatuji, jak se hlasovalo, zda se ma sestka preskocit. Ja s tim preskocenim silne nesouhlasim, proto jsem si musel rypnout. ;-)
    oryctolagus avatar 4.1.2016 08:12 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Vždyť je to jen číslo...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    4.1.2016 00:42 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Tato zprávička je o dostupnosti balíčků PHP 7 pro Arch Linux

    Dále viz. zde: https://cs.wikipedia.org/wiki/Troll_(internet)

    Captain Obvious OUT
    oryctolagus avatar 3.1.2016 14:54 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jsem tak nadšen, že na to asi zareaguju něčím jako
    pacman -Rcs php
    pacman -S python-flask
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    kyknos avatar 3.1.2016 15:51 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    takze uz je zase PHP o mili pred Perlem
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    3.1.2016 21:06 mmmmario
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Už to umí UNICODE?
    4.1.2016 00:25 JoHnY
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Roky, ale ne tak jak to myslis. :-) Umi C Unicode?

    PHP nema komplexní string jako Java, C#, Python3 nebo Ruby. V PHP je string variabilni byte-string, ktery na rozdil od C smi obsahovat NUL. Co si do nej programotor ulozi a jak s nim bude zachazet je jeho problem.
    kyknos avatar 4.1.2016 02:01 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    takze neumi
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    Jendа avatar 4.1.2016 03:55 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Příklad?

    (nevím, v PHP pracuju se stringy v UTF-8 a ještě jsem žádný problém nepotkal)
    Why did the multithreaded chicken cross the road? to To other side. get the
    mirec avatar 4.1.2016 09:16 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    php > $x = 'č';
    php > echo $x[0];
    Ä
    
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 10:32 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Ve smyslu toho na co se snažíte poukázat, je Váš příklad chybný. Namísto prvního znaku používáte první byte a tím se snažíte dokázat, že PHP nedokáže získat znak na dané pozici unicode řetězce.

    String je v PHP binární řetězec.

    Pokud chcete získat první znak, pak je správný příklad zde:
    php > $x = 'č';
    php > echo mb_substr($x, 0, 1);
    č
    
    mirec avatar 4.1.2016 10:40 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    php > $x = 'c';
    php > $x[0] = 'č';
    php > echo $x;
    Ä

    Žiadne varovanie, veď prečo by aj keď na miesto 1 byte sa snažím vložiť 2 byte, že.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 11:33 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Dalo by se souhlasit s tím, že alespoň warning by to mohlo vyhodit, nicméně stejně jako předchozí příklad, ani tento nemá nic společného s podporou unicode:
    php > $x = 'c';
    php > $x[0] = 'XXX';
    php > echo $x;
    X
    
    Opět odkazujete na jeden konkrétní byte a jako vstup mu předáváte více bajtů - do jednoho bajtu se (jak známo) vejde právě jeden byte - zbytek řetězce je ignorován.

    Explicitní kontrola zda je v tomto případě řetězec delší než 1 byte a následné vyvolání warningu je trochu diskutabilní - např. z hlediska výkonu (proč se starat o zbytek když plníte právě jeden bajt).

    Pokud chcete znak na konkrétní pozici nahradit jiným znakem, musíte (opět) použít funkce pro zpracování textových, nikoliv binárních řetězců.

    Mmch. v tomto případě je to trochu podobné např. v Javě - Stringy tam jsou totiž immutable a také nemůžete změnit znak, ale musíte si to explicitně zpracovat a vyrobit nový String.
    mirec avatar 4.1.2016 12:43 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    In [1]: x = 'č'
    
    In [2]: x[0]
    Out[2]: 'č'
    
    In [3]: len(x)
    Out[3]: 1

    Môžme prehlásiť, že podpora unicode v PHP je rovnaká ako podpora unicode v assembleri, alebo C.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    kyknos avatar 4.1.2016 13:06 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    tak on jakykoliv turingovsky kompletni jazyk "podporuje" unicode, ze
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    4.1.2016 13:12 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Prohlásit to můžete třeba 1000krát, ale pravdu tím z této nepravdy neuděláte. PHP podporuje multi-byte řetězce nativně již řadu let.

    http://php.net/manual/en/ref.mbstring.php http://php.net/manual/en/book.mbstring.php

    Značná část těchto funkcí je v PHP od verze 4.0.6 - vydané v červnu 2001

    Skutečnost, že se stále dokola snažíte poukazovat na údajnou nepodporu unicode pomocí používání operací pro binární řetězce a vyhýbáte se (záměrně?) používání funkcí k tomu určených, Vás bohužel efektivně posouvá do role (omlouvám se) neznalce či trolla.
    4.1.2016 13:16 _
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Asi si pod slovem podpora představuje trošku něco jiného. Já také.
    mirec avatar 4.1.2016 13:24 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    V assembleri nemám problém nastaviť do registrov (alebo na stack podľa konvencie volania) adresu reťazca v pamäti, index znaku a adresu znaku pre nahradenie a spustiť subrutinu, ktorá vykoná nahradenie unicode znaku. A presne na takej úrovni je podpora unicode v PHP. V assembleri musím myslieť na to, že je to kus pamäte rovnako ako v PHP. V assembleri musím použiť subrutinu pre manipuláciu s unicode rovnako ako v PHP musím použiť funkciu pre manipuláciu s unicode. Ak to v jednom či druhom jazyku neurobím skončím s nesprávnym reťazcom.

    Podpora unicode sa dá dopísať do ľubovoľného turing complete jazyka, ale za skutočnú podporu unicode považujem keď mi jazyk dovolí nemyslieť na to, či pracujem s unicode, alebo nejakými inými dátami.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 14:23 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    To co jste právě popsal je situace kdy vlastně žádný vyšší jazyk podporu Unicode nemá, protože naprosto všechny vyšší jazyky dělají přesně to co jste popsal a Unicode tím de-facto neexistuje, protože se jedná jen o bajty a bajty, které se někde nějak počítají a nahrazují atd. atd.

    Tímto se, prosím, považujte za přemoženého trolla a zkuste to příště, třeba Vás nikdo tak snadno neprohlédne ;-)
    mirec avatar 4.1.2016 14:33 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Python, Js, Perl ... u všetkých týchto jazykov sa nemanipuluje priamo nad bytmi, nedá sa omylom rozbiť unicode reťazec. U PHP, C, Assembleru ... je naopak nutné dávať pozor na to, či probramátor pracuje s unicode, alebo so surovým kusom pamäte.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Jendа avatar 4.1.2016 15:21 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    U PHP, C, Assembleru ... je naopak nutné dávať pozor na to, či probramátor pracuje s unicode, alebo so surovým kusom pamäte.
    U Pythonu taky, spousta funkcí teď vrací takové ty divné binární/buffer stringy, a pak mě vždycky strašně naštve, když to hodí během rozdělané práce exception že ho to nemůže nacpat do dekódovaného stringu.
    Why did the multithreaded chicken cross the road? to To other side. get the
    mirec avatar 4.1.2016 15:25 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Aspoň, že niečo vyhodí. Nie až tak dávno som prepísal linuxos.sk do pythonu pretože som tam mal príliš veľa neošetrených chýb nie len s unicode (viem je to jeden z mojich prvých PHP projektov a úplne prvý python projekt).

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 15:23 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Mícháte jablka s hruškami - práce s textem vs. práce s binárními daty.

    To že vám PHP umožňuje pracovat se Stringem za pomoci jednotlivých bajtů je možnost, nikoliv nutnost. Pokud chcete pracovat binárními funkcemi, ale prosím, můžete, ale nemůžete to pak dávat do souvislosti s podporou unicode.

    PHP Vám dává možnost přistupovat ke Stringu 2 odlišnými způsoby a je na Vás, který si zvolíte - podle toho, co potřebujete docílit.

    Drobná ukázka:

    Chcete znát počet textových znaků v řetězci?: PHP: použijete mb_strlen() Java: použijete String.length()

    Chcete znát počet bajtů, které String zabírá v daném kódování? PHP: strlen() Java: String.getBytes("UTF-8").length

    rozdíl: PHP Vám k bajtům dá přístup přímo, Java Vám dá, namísto přímého přístupu, kopii v podobě pole bajtů, kterou si můžete upravit a poté zase převést na String

    Pohodlnost hrabání se v unicode Stringu pomoci binárních funkcí/metod je podobně ujetá v obou případech a stejně jako si v PHP do jednoho konkrétního bajtu nezapíšete vícebajtový řetězec, tak ani v Javě si na daný bajt nezapíšete delší řetězec v naději, že se snad další bajty sami posunou.

    Je to rozdílný přístup, netvrdím že je správný lepší nebo zářivější, je prostě jiný. A absolutně nic to nemění na tom že PHP podporu unicode má. Brblejte si jak chcete, porovnávejte si jak chcete, je tam a je tam už 14 let
    mirec avatar 4.1.2016 15:28 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Mícháte jablka s hruškami - práce s textem vs. práce s binárními daty.

    Tak prečo PHP mieša prácu s textom s binárnymi dátami?

    To že vám PHP umožňuje pracovat se Stringem za pomoci jednotlivých bajtů je možnost, nikoliv nutnost.

    Mnou spomenuté jazyky neumožňujú pracovať so stringom pomocou bytov. To je dosť podstatný rozdiel.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 15:42 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Tu práci ale nemíchá PHP, tu práci mícháte VY.

    Ano, PHP je typově dost slabé.

    Ano, PHP Vám umožní volat konstrukce, které by jinde neprošli.

    Má toto něco společného s reálnou podporou unicode? NE
    Jendа avatar 4.1.2016 15:43 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Takže jediný problém je v tom, že lze udělat str[i]?
    Why did the multithreaded chicken cross the road? to To other side. get the
    mirec avatar 4.1.2016 15:49 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Problémov bolo viacej od substr, ktoré umožňovalo robiť všeličo od XSS po SQL injection ak sa reťazec sekol v nesprávnej časti znaku, mysql_escape_string namiesto mysql_real_escape_string, ereg namiesto preg, mnoho mnoho unsafe záležitostí jednoducho spočítané a podčiarknuté oplatilo sa mi viacej naučiť sa nový jazyk, nový framework a celé to napísať odznovu než opravovať chybný kód.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 15:55 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Takže abych shrnul Váš názor na PHP vs. podpora Unicode:

    Měl jste (ať už vlastní či cizí) kód, který míchal unicode řetězce s binárními funkcemi a podle toho odvozujete, že PHP nemá podporu Unicode.

    To je přímo brilantní ;-)
    mirec avatar 4.1.2016 15:57 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Ešte raz PHP umožňuje manipulovať unicode reťazcami nepovoleným spôsobom.

    Podpora unicode v PHP sa nelíši od podpory unicode v asm.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 16:04 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Ještě jednou:

    To že to umožňuje provést, neznamená, že to tak máte používat a pak si stěžovat na (ne)podporu.

    Podpora Unicode se v PHP od asm liší řádově - Zatímco PHP Vám dává plnou náruč nativních funkcí pro práci s textem - máte je k dispozici 14+ let ať chcete nebo nechcete, zatímco asm Vám žádné takové nativní funkce nedává, musíte si je sám napsat.
    oryctolagus avatar 4.1.2016 16:32 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    máte je k dispozici 14+ let ať chcete nebo nechcete, zatímco asm Vám žádné takové nativní funkce nedává, musíte si je sám napsat.
    Nebo použiješ v asm existující C knihovnu, což je přesně ten přístup PHP - mb_string je nejspíš pouze nějaký tenký wrapper nad C knihovnou, žádné abstrakce navíc PHP neposkytuje, je to úplně ten stejný suchý záchod jako v asm.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    4.1.2016 17:12 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jistě ... nebo si to celé implementuješ sám což je zase přístup jiných jazyků ;-)

    V tom případě se můžeme začít dohadovat nad přesnou definicí toho co znamená "Podpora Unicode" :)

    Dle mého názoru podpora Unicode v daném jazyce znamená bezprostřední (žádné extra nahrávání) možnost provádět operace s textem, aniž bych musel přemýšlet nad kódováním a dekódováním, vyrábět nebo explicitně načítat nějaké mapy znaků, počítadla, convertory apod.

    Podle kolegy mirce se však zdálo, že i v případě nativní existence všech potřebných funkcí/metod podpora Unicode přestává existovat ve chvíli, kdy ti jazyk zároveň umožňuje provést zásah do binární reprezentace daného řetězce, což je, dle mého názoru nesmysl.
    oryctolagus avatar 4.1.2016 20:33 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    V tom případě se můžeme začít dohadovat nad přesnou definicí toho co znamená "Podpora Unicode" :)
    Jsem pro "má datový typ pro unicode stringy". To totiž PHP, C, asm, etc. nemají...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    mirec avatar 4.1.2016 17:04 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Natívny v zmysle preložený do strojového kódu je aj v asm.

    Len tak pre zaujímavosť nedávno som robil štatistiku prechodov zo znaku a na znak b v slovenskom texte aby som podľa neho zostrojil generátor pseudoslovenského textu. Skúste si v PHP so mb_* funkciami napísať program, ktorý z textu vypíše početnosť prechodov z predchádzajúceho na nasledujúci znak. V pythone je to:

    from __future__ import unicode_literals
    from collections import Counter
    s = "ááááách"
    Counter(zip('\0' + s, s + '\0')).most_common()

    A výstup:

    [(('á', 'á'), 4),
     (('c', 'h'), 1),
     (('h', '\x00'), 1),
     (('á', 'c'), 1),
     (('\x00', 'á'), 1)]

    Vďaka natívnej podpore unicode žiadne rozmýšľanie nad reprezentáciou reťazca (u pythonu3 sú unicode literaly default).

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    4.1.2016 17:45 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    OK tak tedy zde je PHP verze: (mírně odlišné chování co se týká začátku a konce řetězce je způsobené odlišnou konstrukcí klíče v mapě ve vašem a mém skriptu)
    $s = "ááááách";
    
    $map = array();
    
    for ($i = 0; $i < mb_strlen($s); $i++) {
        $k = mb_substr($s, $i, 1) . mb_substr($s, $i+1, 1);
        if (!array_key_exists($k, $map)) $map[$k] = 0;
        $map[$k]++;
    }
    
    Výstup:
    Array
    (
        [áá] => 4
        [ác] => 1
        [ch] => 1
        [h] => 1
    )
    
    ... Díky podpoře unicode žádné rozmýšlení nad reprezentací řetězce ...
    4.1.2016 18:13 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Případně ještě zkrácená verze: (zavináč před $map je pro potlačení warningu při prvním odkazu na neexistující $map a zároveň na první neexistenci daného klíče v poli)

    $s = "ááááách";

    for ($i = 0; $i < mb_strlen($s); $i++) @$map[mb_substr($s, $i, 2)]++;
    mirec avatar 5.1.2016 19:01 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    To má zložitosť O(n2). Na dlhé texty nič moc.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    5.1.2016 20:58 nope
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    1. pokud myslíte složitost v rámci jazyka tak nikoliv, počet kroků je lineární k délce řetězce - provádí právě tolik iterací, kolik je v řetezci znaků a menší počet kroků v tomto případě není možný už jen z té logiky, že se snažíte udělat statistiku všech po sobě jdoucích přechodů

    2. jinou otázkou je složitost skrytá za horizontem - odhaduji, že funkce mb_substr() bude pravděpodobně při každém volání parsovat celý řetězec na unicode znaky dokud nebube schopna poskytnout výsledek - Např. vzhledem k nepevné délce znaků UTF-8 je toto věc, kterou musí řešit všechny jazyky, leda by si řetězec vnitřně implementovali jako pole jednotlivých znaků, čímž by zároveň umožnili jeho indexovatelnost, případně při jeho zadávání detekovali vstupní kódování, poté překódovávali na unicode s pevnou šířkou znaku (UTF-32) a to samé nazpět při každé operaci, nebo by striktně určili že každý řetězec je jen a pouze např. zmíněné UTF-32

    3. nic z výše popsaného neznamená, že jazyk php nemá podporu unicode

    chápu, právě vám někdo po milionté dokázal, že se mýlíte ve svém názoru na údajnou nepodporu unicode v php, takže přepínáte na troll mode a odbíháte od tématu který jste sám začal a snažíte se řešit <|> kolem :-)
    oryctolagus avatar 5.1.2016 21:56 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Troll mode tady bude mít někdo jinej než mirec. Dovolím si citaci:
    A string is series of characters, where a character is the same as a byte. This means that PHP only supports a 256-character set, and hence does not offer native Unicode support.
    [zdroj]

    Dovolím si zvýraznit jistou část:
    A string is series of characters, where a character is the same as a byte. This means that PHP only supports a 256-character set, and hence does not offer native Unicode support.
    Vzhledem k dosavadní diskusi to asi není dostatečné zvýranznění, takže:
    A string is series of characters, where a character is the same as a byte. This means that PHP only supports a 256-character set, and hence

    does not offer native Unicode support

    Předpokládám, že následně nastane nesmyslná diskuse nad slovy "native support" a o nesmrtelnosti chrousta... Protože akecptovat nedostatek PHP, toho PHP fanbois nejsou fyzicky schopni...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    5.1.2016 22:13 LOL
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Nikoliv drahý trolle, předpokládáte naprosto špatně, vaše trollení totiž snadno utnu citací původní otázky:

    "Už to umí UNICODE?"

    a původní odpověďi:

    Roky, ale ne tak jak to myslis. :-) Umi C Unicode? PHP nema komplexní string jako Java, C#, Python3 nebo Ruby. V PHP je string variabilni byte-string, ktery na rozdil od C smi obsahovat NUL. Co si do nej programotor ulozi a jak s nim bude zachazet je jeho problem.

    Na hloupu otázku byla podána jasná odpověď ... a poté přišel troll :-)
    oryctolagus avatar 5.1.2016 22:27 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    No myslím, že PHP manuál má poněkud větší váhu než anonymní koment na abclinuxu, ale i tak díky za cenné informace...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    5.1.2016 22:35 LOL
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Myslet si pochopitelně můžete co chcete. Faktem je, že odpověď na původní hloupu otázku je zcela v souladu s tím co PHP manuál uvádí.
    Václav 6.1.2016 10:26 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Původní otázka byla možná položena trochu hloupě, ale celé další vlákno zjevně probírá nativní podporu. Pomocí nějakých podpůrných funkcí „umí“ UTF-8 asi každý jazyk.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    oryctolagus avatar 6.1.2016 10:41 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Původní otázka taky zjevně myslela nativní podporu, protože to byla celkem zjevná narážka na PHP6, kde se o nativní podporu pokusili.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    6.1.2016 13:40 lol
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    naopak, zcela zjevně nepadlo o nativní podpoře ani slovo
    mirec avatar 6.1.2016 07:07 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Takže aby som to zhrnul pre indexovanie so zložitosťou O(1) musím pretypovať na UTF-32. Lenže to je nová zbytočná nekonzistentnosť v mojej aplikácii, takže je fajn prepísať celú webovú aplikáciu do UTF-32 (teda napísať na všetky miesta kde je to nutné konverziu, áno tento skvelý jazyk pri miešaní bytov s unicode nevyhodí výnimku ani varovanie), zdrojové kódy písať v UTF-32 (zvláda PHP zdroják napísaný v UTF-32?), alebo na všetky reťazce použiť konverziu a v šablóne pri každom výpise použiť konverziu. Takže ten jazyk ma vlastne núti zahodiť celú moju aplikáciu ak chcem zostať konzistentný. Tak to je skvelá abstrakcia, ktorú ponúkajú jazyky so skvelou (TM) podporou unicode.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    6.1.2016 08:14 LOL
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    LOL, Java vnitřně používá UTF-16 (2-4 bajty), Python používá vlastní interní formát a pro unicode vstup/výstup provádí konverze.

    Takže pokud se oháníš nutností překódovat do UTF-32 pro dosažení konstatní složitosti, tak mám pro tebe překvapení - další jazyky to překódování musí řešit také. Některé jazyky to řeší již při ukládání, některé až při zpracování. Tvoje argumenty jsou zcela mimo mísu.

    Buď tak laskav a než příště začneš kydat podobné perly jako tu výše, přečti si o unicode a jeho zpracování v různých jazycích alespoň pár stránek.
    mirec avatar 6.1.2016 09:15 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Konzistencia Vašich názorov je niekde na úrovni pohotovostného sáčku na grcanie ktorý som kedysi vymyslel na internáte.

    Díky podpoře unicode žádné rozmýšlení nad reprezentací řetězce ...
    ... detekovali vstupní kódování, poté překódovávali na unicode s pevnou šířkou znaku (UTF-32) a to samé nazpět při každé operaci, nebo by striktně určili že každý řetězec je jen a pouze např. zmíněné UTF-32

    Takže buď musím ručne prekódovať v časti mojej aplikácie a potom musím používať mb_substr(..., 'utf-32') v časti kde používam UTF-32 a mb_substr(..., ['utf-8']) v časti kde používam UTF-8 a teda musím sa nutne zamýšľať nad aktuálnou reprezentáciou textu v časti aplikácie kde sa práve nachádzam (keďže som v tomto nekonzistentný a niekde používam UTF-8 a inde UTF-32), alebo musím nutne prepísať celú aplikáciu tak, aby interne používala UTF-32 a to je presne to, čo som napísal.

    Mimochodom v mojom príklade vôbec indexáciu nepotrebujem, stačí mi iterácia všetkými prvkami so zložitosťou O(n) čo zvláda mimochodom bez problémov aj ICU (U8_NEXT) v C.

    Inak vlastnú reprezentáciu používa PERL (či skôr rozšírenie NFC formy UTF-32 o rozsah 0x80000000-0xFFFFFFFF + tabuľka grafemov). Python používa podľa nastavení pri kompilácii buť UTF-16 alebo UTF-32.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    6.1.2016 11:03 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Zhodnocení tvých mouder:

    💩💩💩
    6.1.2016 11:06 lol
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Naopak, konzistence mých názorů je stejná, to VY naopak zcela odbíháte od tématu a snažíte se chytat kdejakého rádoby-stébla, měníte předmět diskuse jakmile zjistíte že na dané téma již nemáte naprosto žádné argumenty.

    Nejprve naprosto zcestně používáte binární operace nad unicode řetězcem a snažíte se přitom tvrdit že to tak má být správně protože je to tak implementované v jiném jazyce (kdyby to bylo implementované stejně, nebyl by to jiný jazyk ...) poté začnete argumentovat složitostí algoritmu která nemá s podporou unicode nic společného a vršíte jeden nesmysl na druhý.

    Mimochodom v mojom príklade vôbec indexáciu nepotrebujem, stačí mi iterácia všetkými prvkami so zložitosťou O(n) čo zvláda mimochodom bez problémov aj ICU (U8_NEXT) v C.

    ... ale ano potřebujete, jen dokola odmítáte pochopit, že ta indexace probíhá skrytě zatímco můj příklad ji otevřeně přiznává. S vaší logikou by pak stačilo, abych si ten jednořádkový skriptík zabalil do funkce a mohu tvrdit to samé co vy - zavolám funkci/metodu jako v uvedeném python skriptu a budu vesele tvrdit, že žádná konverze/indexace neexistuje Tu indexaci/konverzi kterou vy odmítáte vidět totiž provádí daný jazyk vnitřně a při každé vstupní a výstupní textové operaci. Uvědomte si už konečně, že jakékoliv unicode které nemá pevný počet bajtů na jeden textový znak je nutné při podobných operacích parsovat ať už vnitřně, nebo explicitně. Pokud vám jde o výkon tak v jednom jazyce si to prostě nejdříve převedete explicitně zatímco druhý vám to převede transparentně, pokud vám jde o výkon tak v obou případech můžete dosáhnout stejné složitosti.

    Php a Python pracují se stringy odlišně to je prostě fakt a ten byl řečen již na začátku. Vaše argumentační omyly a veletoče nemění nic na tom že php podporu unicode má, můžete se třeba 100x postavit na hlavu. To že daný specifický úkol může být (bez explicitní optimalizace) výpočetně efektivnější v jiném jazyce na tom nic nemění, php unicode podporuje i kdybyste jste se milionkrát snažil dokázat opak.
    oryctolagus avatar 6.1.2016 12:10 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Vaše argumentační omyly a veletoče nemění nic na tom že php podporu unicode má, můžete se třeba 100x postavit na hlavu.
    Jasnýýýý, že má :-D A o co šlo podle tebe v PHP6? Předpokládám, že to bylo něco jako "změna charakteru podpory Unicode na mírně jinou - pozor, nikoli lepší, to v žádném případě!", že? :-D
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    oryctolagus avatar 6.1.2016 12:16 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    ale ano potřebujete, jen dokola odmítáte pochopit, že ta indexace probíhá skrytě zatímco můj příklad ji otevřeně přiznává
    Mimochodem, toto není pravda. Mirecův příklad používá iterátor, v tom je ten rozdíl.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    mirec avatar 6.1.2016 12:26 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Hlboko sa ospravedlňujem, nikdy by som si nedovolil rýpať do človeka, ktorý trpí dyslexiou za to, že nepochopil komentár.

    Aby ste nemuseli prechádzať celým vláknom tak to zhrniem do 2 viet.

    PHP má podporu unicode na rovnakej úrovne ako jazyky 1. a 2. generácie (asm/C). Jazyky 3 generácie a vyššie už zvyčajne majú samostatný dátový typ pre unicode, na ktorom nie je možné omylom seknúť znak v polovici.

    indexace probíhá skrytě zatímco můj příklad ji otevřeně přiznává

    Iterácia nevyžaduje indexáciu. Môžem prejsť celý utf-8 reťazec po znakoch (v každom kroku prečítam jeden znak a posuniem ukazovateľ na začiatok ďalšieho) a budem mať zložitosť O(n) a nie O(n2).

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    oryctolagus avatar 6.1.2016 12:45 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jazyky 3 generácie a vyššie už zvyčajne majú samostatný dátový typ pre unicode, na ktorom nie je možné omylom seknúť znak v polovici.
    Abychom byli k tomu chudákovi zmatenému trochu fér, tak je nutno dodat, že nevalidní utf-8 stringy jsou bohužel možné i v některých vyšších jazycích např. python a JS. JS navíc AFAIK ani pořádně nenabízí možnost utf-8 validovat. V pythonu je podpora na mnohem lepší úrovni - datový typ, možnost validace, iterátory, apod. Imho nejlépe je na tom Rust, kde ani nedovolí nevalidní utf-8 string zkonstruovat.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    Václav 6.1.2016 12:40 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    (kdyby to bylo implementované stejně, nebyl by to jiný jazyk ...)
    Zvláštní logika. Když jazyk b implementuje jednu věc tak jako jazyk a, přestává být samostatným jazykem? Ale je fakt že vyřešením všech problémů PHP by to už zákonitě přestalo být PHP a začalo být jiným jazykem který má nějaký ucelený koncept a konzistenci místo „dortu pejska a kočičky“.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    6.1.2016 15:34 lol
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Je to použití stejné logiky, jakou používá mirec, dle něj je totiž konstrukce $s[0] vracející byte na dané pozici chyba, která znamená že daný jazyk nepodporuje unicode - protože on chce aby tato konstrukce vracela unicode znak na dané pozici v textu, protože tak to funguje v jiném jazyce, který on preferuje :-)
    mirec avatar 6.1.2016 17:48 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Funkcie / subrutiny pre prácu s unicode majú jazyky 1. a 2. generácie. Jazyky 3. generácie majú zvyčajne dátový typ unicode, ktorý nedovolí náhodnú manipuláciu bytmi. Keď to intrpretujete ako "daný jazyk nepodporuje unicode" je to Váš problém.

    konstrukce $s[0] vracející byte na dané pozici

    Konštrukcia $s[0] vracia 0-položku sekvencie.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Václav 6.1.2016 20:17 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    U jazyku s rozumnou podporou unicode očekávám, že obecná funkce pro práci s řetězci bude vracet předpokládatelné hodnoty. Pokud je nevrací, není to podpora unicode. V jazyku který unicode neumí si taky můžu přibalit knihovnu která to nějak zvládne. Ostatně, v praxi se teď setkávám s nutností roubovat unicode do CP1250. Funkce se budou nazývat jinak (jako v PHP, to že ty knihovny jsou ve standardním balíku funkcí je sice hezké, ale nic moc to nemění).

    Opět, jak již bylo řečeno, v assembleru takhle podporovat unicode dovedu taky. Jazyk ovšem s unicode defaultně nepočítá a potřebuje berličky.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    Bedňa avatar 6.1.2016 20:35 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Táto debata mala pôvodne trochu iný smer a keby sa toto objasnilo na začiatku, tak by sa do nej väčšina ani nezapojila.

    Z pohľadu PHP je string bajtový blob. Viedli sa o zmene diskusie, ale nakoniec sa uznalo že to tak ostane kvôli výkonu. Do stringu v PHP nacpeš proste obrázok, muziku a hocičo iné, je to webovo orientovaný jazyk.

    Z pohľadu UNICODE ULTRAS je jediná správna cesta aby štandartné funkcie vracali znak a nie bajt.

    PHP má na to spravenú barličku MB, ktorá to rieši v jazyku, bez frameworku, či to je správne, alebo nie je zas na inú debatu.

    Pointa je, že sa to tu zamotalo a zbytočne to prerástlo do nejakých osobných sporov, čo je blbosť. Však sa máme radi :)
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    7.1.2016 02:31 lol
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Nemáme. Mirec je zmrd.
    Bedňa avatar 4.1.2016 17:00 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Mirec, ale kto použije bitovú operáciu nad unicode je prasa, teda pokiaľ to nerobí z nejakého dôvodu zámerne.

    V PHP sa dá prasiť asi viac ako v iných jazykoch, ale to je predsa vždy na programátorovi, nie jazyku.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    mirec avatar 4.1.2016 17:08 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    To vysvetli všetkým tým, ktorí v tutoriáloch používali substr namiesto mb_substr. Keď som začínal vedel som o jazyku veľké prd. Až neskôr som zistil, že za určitých okolností mi substr sekne reťazec v polovici znaku, občas tak nešťastne, že keď sa v html ako nasledujúci znak nachádzal < tak to rozbilo layout HTML. Ak sa také niečo vyskytlo v generovanom js bol z toho XSS ako vyšitý.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 4.1.2016 17:21 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Nespomenúť pri práci s reťazcami MB reťazce je samozrejme chyba.

    Kopu zlých návykov nájdeš v tútoriáloch pre každý jazyk. Však koľko projektov je podnes problém portovať na 64bit architektúru a príkladov by sa určite našlo viac.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Jendа avatar 4.1.2016 18:34 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    To vysvetli všetkým tým, ktorí v tutoriáloch používali substr namiesto mb_substr.
    Špatné tutoriály nejsou problém PHP, stejně jako nebude problém Pythonu, když na něj napíšu tutoriál (špatný, protože neumím programovat).
    Why did the multithreaded chicken cross the road? to To other side. get the
    Jendа avatar 4.1.2016 18:31 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Ešte raz PHP umožňuje manipulovať unicode reťazcami nepovoleným spôsobom.
    Python taky.

    Ergo Python nepodporuje Unicode.
    Why did the multithreaded chicken cross the road? to To other side. get the
    kyknos avatar 4.1.2016 19:08 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    V pythonu si clovek takhle nerozbije drzku. Je to intuitivni a pohodlne. V php presne naopak.
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    Jendа avatar 4.1.2016 20:02 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Já si na kódování stringů rozbíjím držku v Pythonu (3) i v PHP (teď přemýšlím, kde všude jsem použil substr).
    Why did the multithreaded chicken cross the road? to To other side. get the
    kyknos avatar 4.1.2016 20:09 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Ja tedy ne, akorat obcas jsem srozumitelne informovan, ze nekam cpu bajty, kde potrebuju string
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    Jendа avatar 4.1.2016 18:31 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    substr
    https://secure.php.net/manual/en/function.mb-substr.php
    mysql_escape_string namiesto mysql_real_escape_string
    Toto bylo od začátku rozbité a proto je v PHP už sto let normální databázový interface s parametrizovanými dotazy.
    Why did the multithreaded chicken cross the road? to To other side. get the
    oryctolagus avatar 4.1.2016 16:24 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    PHP Vám dává možnost přistupovat ke Stringu 2 odlišnými způsoby a je na Vás, který si zvolíte - podle toho, co potřebujete docílit.
    Ano, PHP dává možnost, jenže to API je, jako téměř vždy u PHP, nelogické a matoucí. mb_strlen($string) je jistě funkční, ale naprosto neintuitivní. $srting->length by bylo mnohem lepší, jenže to by PHP muselo podporovat scalar objects...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    4.1.2016 16:36 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Aha, takže z jedné off-topic debaty (balíčky pro Arch vs. údajná nepodpora Unicode v PHP) teď začne někdo další flamovat nad PHP vs. jiné jazyky?

    Kolego, jeden mýtus jsme právě vyvrátili, nezačínejte prosím zbytečný flame o rozdílech mezi jazyky jen proto, že zrovna PHP je o dost volnější než jiné, kdyby všechny jazyky uměly všechno a stejně, stačil by všem jeden a ne různé jazyky s různým určením a možnostmi ...

    PHP je odlišné od jiných jazyků a jiné jazyky jsou odlišné od dalších jiných jazyků ... Berte nebo nechte, nic to nemění na tom že PHP podporu Unicode má a má ji už dlouho.
    4.1.2016 17:41 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Aha, takže z jedné off-topic debaty (balíčky pro Arch vs. údajná nepodpora Unicode v PHP) teď začne někdo další flamovat nad PHP vs. jiné jazyky?
    To už je tady trochu folklór, téměř každá zprávička o PHP má v diskuzi "debatu" o tom, jak je PHP špatný jazyk.
    Quando omni flunkus moritati
    kyknos avatar 4.1.2016 17:53 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    protoze to je extremne spatny jazyk?
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    4.1.2016 18:31 slayer
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    protože jste extrémní flamer :-)
    Jendа avatar 4.1.2016 18:35 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Je.

    Ale když se zeptám na náhradu, tak dostanu odpověď „napiš si do tohoto šablonovacího systému podporu pro proudové zpracování“ nebo „napiš si do této knihovny podporu pro fcgi/http“.
    Why did the multithreaded chicken cross the road? to To other side. get the
    6.1.2016 12:42 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    A co teprve, kdyby se náhodou někdo zeptal, čím má nahradit svůj web, který mu běží na Wordpressu, a kde k tomu sežene hosting.
    Quando omni flunkus moritati
    oryctolagus avatar 6.1.2016 13:34 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Já jsem se v jedné z posledních zpráviček o PHP zeptal na podobnou otázku a poradili mi (myslimže to byl Darm) OpenShift a Heroku, které podporují řadu server-side technologií. Přijde mi to dobrý a cyhstám se v brzké době jednu původně PHP aplikaci přemigrovat na Openshift.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    Václav 6.1.2016 14:37 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jojo, byl jsem to já :) Chce to obětovat chvilku času k nastudování adresářové struktury a funkce deploy skriptů, ale IMO to za to stojí.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    6.1.2016 14:55 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Ok, to by byl hosting, co ten Wordpress? Připomínám, že průměrný uživatel Wordpressu jej používá proto, že je to jednoduché na instalaci, zadarmo ke stažení a obsah si tam nakliká sám.
    Quando omni flunkus moritati
    oryctolagus avatar 6.1.2016 17:02 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Já řešil svou aplikaci. Co se týče CMS, znám jen Wordpress a Jekyll, s tím prvním mám špatné zkušenosti, s tím druhým velmi dobré. Takže asi nutno se po něčem poohlédnout.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    7.1.2016 00:48 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jo, mimo PHP nic moc výběr a spousta položek v tom seznamu má poslední verzi rok a víc starou, tj. nevyvíjí se to. Možná by bylo zajímavé porovnat ještě funkcionalitu, ale do toho se mi nechce (nehledě na to, že výsledek by pravděpodobně nepřekvapil...)
    Quando omni flunkus moritati
    oryctolagus avatar 7.1.2016 01:36 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Co třeba Mezzanine?
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    Jendа avatar 7.1.2016 05:04 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    A nepřeberné množství pluginů a vzhledů…
    Why did the multithreaded chicken cross the road? to To other side. get the
    Václav 6.1.2016 20:20 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Založím účet na openshift a místo obecné cartridge PHP nahraju obecnou cartridge Wordpress.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    7.1.2016 00:44 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Super, akorát tady zase chybí nahrazení PHP něčím jiným ;-)
    Quando omni flunkus moritati
    Václav 7.1.2016 07:07 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Na stranu druhou, většině lidí co si potřebujou nastavit web ve wordpressu je jazyk celkem putna… A ti kterým není si tam nahodí jiný CMS :)
    Cross my heart and hope to fly, stick a cupcake in my eye!
    oryctolagus avatar 4.1.2016 20:44 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Tohle asi moc nemá cenu. I kdyby PHP pro délku Unicode stringu mělo funkci jménem bflmpsvz(), která by vracela 3*délku stringu + 5, tak se najdou lidi, kteří budou tvrdit, jak je to naprosto v pořádku a jak je to plnohodnotná podpora Unicode...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    mirec avatar 4.1.2016 20:58 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    To mi pripomenulo funkciu gzgetss :D

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 4.1.2016 21:11 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Alternatíva k zcat, v PHP je celkovo dosť z Linux enviroment, hoci túto som nepoznal.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Bedňa avatar 4.1.2016 21:05 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Ktorá z týchto funkcií vracia nejaké násobky +5? Alebo ktorá vracia niečo iné ako má? Ak to tak nieje toto sú len výkriky do tmy.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    oryctolagus avatar 4.1.2016 14:35 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    To co jste právě popsal je situace kdy vlastně žádný vyšší jazyk podporu Unicode nemá
    To není pravda.

    Viz třeba tady nebo tady.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    Jendа avatar 4.1.2016 15:24 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jako že u PHP tě štve, že str[1] vrátí nesmysl, a musíš na to používat extra funkci, a jako příklad něčeho lepšího dáš jazyk, kde str[1] vůbec nefunguje, a musíš na to používat extra funkci?
    Because strings are valid UTF-8, strings do not support indexing:

    let s = "hello";

    println!("The first letter of s is {}", s[0]); // ERROR!!!

    Usually, access to a vector with [] is very fast.
    Why did the multithreaded chicken cross the road? to To other side. get the
    oryctolagus avatar 4.1.2016 16:29 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Mně to přijde jako správné řešení. U toho JS je vzhledem k povaze + zaměření toho jazyka celkem na místě, že neřeší tolik výkonnostní stránku. U Rustu naopak očekávám dobrou odhadnutelnost výkonu. Četl jsi to zdůvodnění? Imho dává smysl. Pokud potřebuješ přístup k bajtům, použiješ foo_string.as_bytes() a na to už se samozřejmě indexovací operátor použít dá. Je tím důsledně a jasně odděleno, kdy pracuješ s bajty a kdy s Unicode stringem.

    Jde o to, že to rozhraní není matoucí. Narozdíl od PHP, které má pouze ekvivalent toho byte vectoru a ten string vůbec nemá, respektive emuluje ho tím bytevectorem + kupou haluzně pojmenovaných funkcí.
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    Bedňa avatar 4.1.2016 17:07 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    To je len rozdielny prístup.

    Čo je na tebou vyššie použitom príkaze mb_strlen() matúce?
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    mirec avatar 4.1.2016 17:15 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    To, že ako prvé napadne človeka strlen (podľa názvu by mala vracať dĺžku reťazca no v skutočnosti vracia počet bytov). Správne by sa mala volať byteslen a mb_strlen by naopak mala byť strlen ak už chceme niečo čo nie je mätúce.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 4.1.2016 17:32 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Sem tam robím skripty v Bashi a oproti tomu mi PHP príde ako prechádzka rúžovou záhradou :-) To potom môžeš nadávať aj na rôzne databázové jazyky, proste buď sa s tým zmieriš, alebo v tom písať nebudeš.

    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Václav 5.1.2016 14:48 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    je fakt že v tom pojmenování standardních funkcí je PHP strašně nekonzistentní a nepředvídatelné. Osobně bych taky předpokládal že strlen vrací přesně dle názvu délku stringu. Už si dovedu představit to hledání chyby :)

    (když už mluvíš o DB jazycích, ABL má length(variable, type), kdy type je defaultně počet znaků (characters) a dá se přepnout na byte)
    Cross my heart and hope to fly, stick a cupcake in my eye!
    oryctolagus avatar 5.1.2016 15:12 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    No tak jestliže ta podpora Unicode byla tak v pohodě, jak tady někteří tvrdí, tak o co šlo v PHP6, že ;-)
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    Bedňa avatar 5.1.2016 17:57 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jazyk čo má pri definícií premennej NO-UNDO by som nevyťahoval :)

    Ja is myslím, že každý jazyk má svoje (P)perly.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Václav 5.1.2016 18:40 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    To je na stranu druhou věc návrhu jazyka (a principu funkce „proměnných“, přičemž pokud no-undo nespecifikuješ, hlavní dopad to má na overhead (dobře, pokud vrátíš transakci, tak i s v daném bloku přiřazenýma hodnotama proměnných, což je ve většině případů celkem jedno, vyjímečně se to i může hodit.) To už bych se spíš pozastavil nad funkcí time, která poměrně nezvykle vrací počet vteřin od půlnoci daného dne :)

    Na stranu druhou, ten jazyk je konzistentní… U PHP mě vždycky štvalo už jen to, že nedrží ani jeden styl pojmenování standardních funkcí (občas je název dohromady, občas dělen podtržítkem, konverzní funkce používají občas 2, občas to) , natožpak pořadí parametrů (namátkou array_key_exists, property_exists) A teď si to pamatuj… Jo, jde to, ale je to další věc kterou se musí programátor nadrtit nazpaměť, kdežto v jiných programovacích jazycích to nějak odvodíš a nemusíš si pamatovat celý název funkce do posledního znaku.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    Jendа avatar 4.1.2016 18:37 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Jde o to, že to rozhraní není matoucí.
    Diskuze byla o nepodpoře Unicode v PHP, ne o přehlednosti rozhraní.
    Why did the multithreaded chicken cross the road? to To other side. get the
    Jendа avatar 4.1.2016 13:21 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Explicitní kontrola zda je v tomto případě řetězec delší než 1 byte a následné vyvolání warningu je trochu diskutabilní - např. z hlediska výkonu (proč se starat o zbytek když plníte právě jeden bajt).
    A taky to pak vede k těm věcem jako v C#, kde nejde double narvat do floatu a musí se to všechno explicitně přetypovávat.
    Why did the multithreaded chicken cross the road? to To other side. get the
    oryctolagus avatar 4.1.2016 13:56 oryctolagus | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Njn, protože strong typing...
    There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
    3.1.2016 21:39 _
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Huráááááá, takže už není zhruba 10x pomalejší než node.js, ale jen 5x. Hurááá ... Přece jenom, po těch desítkách let vývoje, někam se to hýbe ...
    3.1.2016 23:56 peter
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Mohli ste pouzit aj hhvm. Javascript tu je tiez nejaky ten piatok a rozhybal to az google.
    4.1.2016 00:29 JoHnY
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    To je videt, ze nejsi v obraze. Uz zrychleni mezi PHP 5.3 a 5.6 je nekde mezi 30 a 100% podle aplikace. HHVM je pak na vykonu porovnatelnem s PHP7 minimalne posledni rok.
    4.1.2016 00:33 Odin1918 | skóre: 4 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Nekde jsem cetl, ze hhvm v nekterych pripadech silne vede nad php7. Php vsak tak nemiluji, abych si toto tvrzeni overoval. Pokud php udelalo takovyto vykonostni skok, je to jen dobre.
    kozzi avatar 4.1.2016 15:09 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0

    Ano, a to zejmena diky tomu ze HHVM ma JIT, kdezto PHP 7 ne. Ale pokud se v HHVM vypne JIT, tak je to neuveritelny snek (horsa jak php 5.4) :)

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Max avatar 4.1.2016 01:16 Max | skóre: 65 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Arch Linux přešel na PHP 7.0
    Dle dostupných benchů na netu je php7 stále za HHVM. Každopádně většina benchů je o existujících app/cms apod. s legacy kodem.
    Je tedy možné, že čistý kód pro php7 bude srovnatelný, nebo rychlejší, ale to jaksi neodpovídá realitě, kdy většinu nezajímá to, co bude za několik let vývoje, ale současný výkon současných cms.
    Zdar Max
    Měl jsem sen ... :(

    Založit nové vláknoNahoru


    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.