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 11:11 | Nová verze

Byla vydána verze 0.10.0 webového prohlížeče qutebrowser (Wikipedie). Přehled novinek v příspěvku na blogu. Vývojáři qutebrowseru kladou důraz na ovladatelnost pomocí klávesnice a minimální GUI. Inspirovali se prohlížečem dwb a rozšířeními pro Firefox Vimperator a Pentadactyl. Prohlížeč qutebrowser je naprogramován v Pythonu a využívá PyQt5. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPL 3.

Ladislav Hagara | Komentářů: 1
včera 16:22 | Nová verze

Po pěti měsících od vydání Waylandu a Westonu 1.12.0 oznámil Bryce Harrington (Samsung) vydání Waylandu 1.13.0 a Westonu 2.0.0.

Ladislav Hagara | Komentářů: 0
24.2. 13:37 | Bezpečnostní upozornění

Společnost Cloudflare (Wikipedie) na svém blogu potvrdila bezpečnostní problém s její službou. V požadovaných odpovědích od reverzní proxy byla odesílána také data z neinicializované paměti. Útočník tak mohl získat cookies, autentizační tokeny, data posílaná přes HTTP POST a další citlivé informace. Jednalo se o chybu v parsování HTML. Zneužitelná byla od 22. září 2016 do 18. února 2017. Seznam webů, kterých se bezpečnostní problém potenciálně týká na GitHubu.

Ladislav Hagara | Komentářů: 1
24.2. 08:22 | Nová verze

Byla vydána první beta verze Ubuntu 17.04 s kódovým názvem Zesty Zapus. Ke stažení jsou obrazy Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu Studio a Xubuntu. Dle plánu by Ubuntu 17.04 mělo vyjít 13. dubna 2017.

Ladislav Hagara | Komentářů: 33
23.2. 17:53 | Bezpečnostní upozornění

Google na svém blogu věnovaném počítačové bezpečnost informuje o nalezení "reálného" způsobu generování kolizí hašovací funkce SHA-1. Podrobnosti a zdrojové kódy budou zveřejněny do 90 dnů. Již dnes lze ale na stránce SHAttered nalézt 2 pdf soubory, jejichž obsah se liší a SHA-1 otisk je stejný (infografika).

Ladislav Hagara | Komentářů: 34
23.2. 17:51 | Nová verze

Vyšla nová verzia open source software na správu a automatizáciu cloudových datacentier Danube Cloud 2.4. Danube Cloud je riešenie postavené na SmartOS, ZFS, KVM a zónach. Obsahuje vlastnosti ako integrovaný monitoring, DNS manažment, zálohy, a samozrejme rozsiahlu dokumentáciu.

dano | Komentářů: 12
23.2. 17:46 | Pozvánky

V Plzni se 3. až 5. března 2017 uskuteční AIMTEChackathon. Je to akce pro vývojáře, grafiky, webdesignéry i veřejnost. Akci provází zajímavé přednášky IT odborníků. Více o programu a možnosti přihlášení na stránkách akce.

cuba | Komentářů: 0
23.2. 01:00 | Nová verze

Známý šifrovaný komunikátor Signal od verze 3.30.0 již nevyžaduje Google Play Services. Autoři tak po letech vyslyšeli volání komunity, která dala vzniknout Google-free forku LibreSignal (dnes již neudržovaný). Oficiální binárky jsou stále distribuované pouze přes Google Play, ale lze použít neoficiální F-Droid repozitář fdroid.eutopia.cz s nezávislými buildy Signalu nebo oficiální binárku stáhnout z Google Play i bez Google účtu

… více »
xm | Komentářů: 8
22.2. 23:14 | Nová verze

Po třech týdnech od vydání první RC verze byla vydána první stabilní verze 17.01.0 linuxové distribuce pro routery a vestavěné systémy LEDE (Linux Embedded Development Environment), forku linuxové distribuce OpenWrt. Přehled novinek v poznámkách k vydání. Dotazy v diskusním fóru.

Ladislav Hagara | Komentářů: 8
22.2. 17:28 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2017-6074 v Linuxu zneužitelné k lokální eskalaci práv. Jde o chybu v podpoře DCCP (Datagram Congestion Control Protocol). Do linuxového jádra se dostala v říjnu 2005. V upstreamu byla opravena 17. února (commit). Bezpečnostní chyba byla nalezena pomocí nástroje syzkaller [Hacker News].

Ladislav Hagara | Komentářů: 16
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 711 hlasů
 Komentářů: 66, poslední 22.2. 18:57
    Rozcestník

    Dotaz: Problém s class v php

    1.10.2013 11:41 Jara
    Problém s class v php
    Přečteno: 239×
    Ahoj, mám takovou slátaninu
    class Foo { 
     public $aaa = false; 
     public $bbb = false; 
     function __constructor() { 
    ...
    ...
     } 
    } 
    $foo = new Foo;
    echo $foo->aaa(); // ale false prostě nedostanu :-(
    Neporadí někdo? Díky

    Řešení dotazu:


    Odpovědi

    Josef Kufner avatar 1.10.2013 11:44 Josef Kufner | skóre: 66
    Rozbalit Rozbalit vše Re: Problém s class v php
    Na posledním řádku voláš metodu, která není definována. Měl bys dostat nějaký pěkný error nebo aspoň warning. Pokud ne, zapni logování.

    Poslední řádek má být: echo $foo->aaa;, ale uvidíš prd, neboť z false vyleze prázdný řetězec. Zkus var_export($foo->aaa);.
    Hello world ! Segmentation fault (core dumped)
    1.10.2013 12:02 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    Jejda já jsem ale idiot, nn měl jsem to přes var_dump($foo->aaa()); ale blbě, volal jsem metodu, měl bych jít už vážně spát.. Když tady mám ochotného profíka co mi poradil, můžu poprosit o jedno řešení? Nevím jak mám v class vracet výsledek z jedné metody do různých proměnných. Dejme tomu, že z nějaké metody zavolám metodu foo() a její výsledek potřebuji uložit do proměnné $this->foo; Jenže potřebuji zase z jiné metody zavolat opět metodu foo() která již bude zpracovávat jiná data ale výsledek potřebuji uložit do proměnné $this->bar; Poradíte mi prosím? Díky
    Tarmaq avatar 1.10.2013 12:19 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s class v php
    nevim moc o co se pokousis, kazdopadne jestli to chapu spravne, melo by to jit nejak takhle:
    class Omg
    {
      private $foo;
      private $bar;
    
      private function foo($omg)
      {
        if ($omg) {
          return 42;
        }
        return 23;
      }
      function method1()
      {
        $this->foo = $this->foo(true);
      }
      function method2()
      {
        $this->bar = $this->foo(false);
      }
    }
    
    $omg = new Omg;
    $omg->method1();
    $omg->method2();
    
    Don't panic!
    1.10.2013 12:32 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    Díky, tak jsem to nemyslel, mám jednu metodu, která plní více proměnných různými výsledky.. Nástit, sice funguje ale myslím si, že to není správné řešení, jelikož to musím zbytečně tahat přes proměnnou $tmp. Snad jsem to napsal k pochopení. Díky
    class Omg
    {
      private $tmp;
      private $foo;
      private $bar;
      private $bar2;
     
      private function foo()
      {
        $this->method1('10');
        $this->foo = $this->tmp;
    
        $this->method1('20');
        $this->bar = $this->tmp;
    
        $this->method1('30');
        $this->bar2 = $this->tmp;
    
      }
      function method1($res)
      {
        $this->tmp = $res;
      }
    }
     
    $omg = new Omg;
    $omg->foo; //10
    $omg->bar; //20
    $omg->bar2; //30
    1.10.2013 12:34 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    !! EDIT !!

    Díky, tak jsem to nemyslel, mám jednu metodu, která plní více proměnných různými výsledky.. Nástit, sice funguje ale myslím si, že to není správné řešení, jelikož to musím zbytečně tahat přes proměnnou $tmp. Snad jsem to napsal k pochopení. Díky
    class Omg
    {
      private $tmp;
      private $foo;
      private $bar;
      private $bar2;
     
      private function __construct()
      {
        $this->method1('10');
        $this->foo = $this->tmp;
    
        $this->method1('20');
        $this->bar = $this->tmp;
    
        $this->method1('30');
        $this->bar2 = $this->tmp;
    
      }
      function method1($res)
      {
        $this->tmp = $res;
      }
    }
     
    $omg = new Omg;
    $omg->foo; //10
    $omg->bar; //20
    $omg->bar2; //30
    Tarmaq avatar 1.10.2013 12:40 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s class v php
    class Omg
    {
      private $tmp;
      private $foo;
      private $bar;
      private $bar2;
      
      private function __construct()
      {
        $this->foo = $this->method1('10');
        $this->bar = $this->method1('20');
        $this->bar2 = $this->method1('30');
     
      }
      function method1($res)
      {
        return $res;
      }
    }
      
    $omg = new Omg;
    $omg->foo; //10
    $omg->bar; //20
    $omg->bar2; //30
    
    Don't panic!
    1.10.2013 13:03 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    Díky moc, toho použití return-u jsem se právě obával :-(
    Tarmaq avatar 1.10.2013 13:05 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s class v php
    Proc?
    Don't panic!
    1.10.2013 13:24 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    Vzhledem k velkému objemu zpracovávaných dat... myslím tím, že to spolkne hodně paměti, ale lepší řešení stejně neexistuje, jedině vše překopat a použít přímo echo();
    Tarmaq avatar 1.10.2013 13:29 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s class v php
    tak dodej nejakej min umelohmotnej priklad, z tohohle kodu to na velke zpracovani dat nevypada..
    Don't panic!
    1.10.2013 13:47 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    Ne, ;-) to byl jen příklad, letmé nastínění zpracovaných dat..
    class Omg
    {
      private $tmp;
      private $foo;
      private $bar;
      private $bar2;
       
      private function __construct()
      {
        $this->foo = $this->method1('1', '1000000');
        $this->bar = $this->method1('1000001', '2000000');
        $this->bar2 = $this->method1('2000001', '3000000');
      
      }
      function method1($res1, $res2)
      {
        # Načtu z mysql řádky od $res1 do $res2 a výsledek uložím do $ret.
        # některé sloupce v mysql obsahují data o více jak 500 znacích :-(
        return $ret;
      }
    }
       
    
    Babyčka mi říkala, nevracej to return-em, nebo jednoho krásného dne u dveří někdo zazvoní a nakope tě do prdele, a jestli nevíš kdo to bude, tak ti to řeknu, bude to server :-D
    1.10.2013 14:19 Kit
    Rozbalit Rozbalit vše Re: Problém s class v php
    Chceš tím snad naznačit, že DB serveru posíláš 3 téměř stejné dotazy, které se liší pouze v LIMIT? Takže už víš, kam tě nakope ten DB server?
    1.10.2013 14:29 Jara
    Rozbalit Rozbalit vše Re: Problém s class v php
    Ano, tak tomu více méně opravdu je.. víš snad o lepším způsobu? Doufám, že mi neporadíš, abych načetl celou DB a pak ji nějakým způsobem parsoval až v těch proměnných, tak výkoné železo zase nemám :-(
    1.10.2013 15:37 axel
    Rozbalit Rozbalit vše Re: Problém s class v php
    Tak jak jsi to "letmo nastinil" je to na prvni pohled blbost. Dotahujes prvni tri miliony radku, coz lze udelat jednim dotazem. Proc by se to melo delat tremi dotazy po milionu - v cem si myslis, ze je to efektivnejsi? Jednoduse delas trikrat narocny dotaz misto abys ho udelal jednou.
    1.10.2013 20:00 Kit
    Rozbalit Rozbalit vše Re: Problém s class v php
    Co si představuješ pod pojmem "parsoval"? To skutečně na výstup z toho PHP posíláš 3 milióny záznamů? Tak na to by sis asi nějaké silnější železo pořídit měl, protože rozdělení do tří polí nejenže nepomůže, ale navíc trojnásobně zatíží DB server.

    Nevím, jak tvoje babyčka rozumí returnům, ale moje babička by mi je schválila, protože v PHP je to nejrychlejší způsob předání strukturovaného výsledku z funkce.
    Josef Kufner avatar 1.10.2013 13:39 Josef Kufner | skóre: 66
    Rozbalit Rozbalit vše Re: Problém s class v php
    function hello() {
      return array('foo', 'bar');
    }
    
    list($a, $b) = hello();
    
    nebo
    function hello(& $foo, & $bar) {
      $foo = 'foo';
      $bar = 'bar';
    }
    
    hello($a, $b);
    
    V obou případech bude nakonci platit: $a == 'foo' && $b == 'bar'
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

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

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