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 00:11 | Bezpečnostní upozornění

Vývojáři linuxové distribuce Mageia na svém blogu upozorňují na narušení bezpečnosti Mageia Identity. Narušitel získal přístup k LDAP databázi a zveřejnil jména uživatelů, jejich emailové adresy a haše hesel. Hesla uživatelů byla resetována.

Ladislav Hagara | Komentářů: 1
včera 21:55 | Nová verze

Byla vydána verze 2.0.0 nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). Z novinek je nutno upozornit na nový zpětně nekompatibilní formát záznamu asciicast v2. S novým formátem si poradí nové verze asciinema-playeru a asciinema-serveru [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 05:55 | Zajímavý projekt

Dle příspěvku na blogu zaměstnanců CZ.NIC byl spuštěn ostrý provoz služby Honeypot as a Service (HaaS). Zapojit se může kdokoli. Stačí se zaregistrovat a nainstalovat HaaS proxy, která začne příchozí komunikaci z portu 22 (běžně používaného pro SSH) přeposílat na server HaaS, kde honeypot Cowrie (GitHub) simuluje zařízení a zaznamenává provedené příkazy. Získat lze tak zajímavé informace o provedených útocích. K dispozici jsou globální statistiky.

Ladislav Hagara | Komentářů: 4
včera 04:44 | Komunita

Před týdnem společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux oznámila, že pro macOS a Linux vydají hru Rise of the Tomb Raider. Včera společnost oznámila (YouTube), že pro macOS a Linux vydají také hru Total War Saga: Thrones of Britannia. Verze pro Windows by měla vyjít 19. dubna. Verze pro macOS a Linux krátce na to.

Ladislav Hagara | Komentářů: 0
19.2. 21:33 | Nová verze

Byla vydána nová major verze 7.10 svobodného systému pro řízení vztahů se zákazníky (CRM) s názvem SuiteCRM (Wikipedie). Jedná se o fork systému SugarCRM (Wikipedie). Zdrojové kódy SuiteCRM jsou k dispozici na GitHubu pod licencí AGPL.

Ladislav Hagara | Komentářů: 0
19.2. 16:44 | Nová verze

Byla vydána nová verze 0.30 display serveru Mir (Wikipedie) a nová verze 2.31 nástrojů snapd pro práci s balíčky ve formátu snap (Wikipedie). Z novinek Miru vývojáři zdůrazňují vylepšenou podporu Waylandu nebo možnost sestavení a spouštění Miru ve Fedoře. Nová verze snapd umí Mir spouštět jako snap.

Ladislav Hagara | Komentářů: 0
19.2. 14:00 | Komunita

Na Indiegogo běží kampaň na podporu Sway Hackathonu, tj. pracovního setkání klíčových vývojářů s i3 kompatibilního dlaždicového (tiling) správce oken pro Wayland Sway. Cílová částka 1 500 dolarů byla vybrána již za 9 hodin. Nový cíl 2 000 dolarů byl dosažen záhy. Vývojáři přemýšlejí nad dalšími cíli.

Ladislav Hagara | Komentářů: 1
19.2. 11:11 | Nasazení Linuxu

Před dvěma týdny se skupina fail0verflow (Blog, Twitter, GitHub) pochlubila, že se jim podařilo dostat Linux na herní konzoli Nintendo Switch. O víkendu bylo Twitteru zveřejněno další video. Povedlo se jim na Nintendo Switch rozchodit KDE Plasmu [reddit].

Ladislav Hagara | Komentářů: 3
19.2. 05:55 | Komunita

Byla vydána vývojová verze 3.2 softwaru Wine (Wikipedie), tj. softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem. Z novinek lze zdůraznit například podporu HID gamepadů. Aktuální stabilní verze Wine je 3.0, viz verzování. Nejistá je budoucnost testovací větve Wine Staging s řadou experimentálních vlastností. Současní vývojáři na ni již nemají čas. Alexandre Julliard, vedoucí projektu Wine, otevřel v diskusním listu wine-devel diskusi o její budoucnosti.

Ladislav Hagara | Komentářů: 4
18.2. 16:55 | Komunita

Do 22. března se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 14. května do 14. srpna 2018, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 64
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (62%)
 (2%)
 (3%)
 (0%)
 (1%)
 (1%)
Celkem 408 hlasů
 Komentářů: 34, poslední 14.2. 18:44
    Rozcestník

    Dotaz: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?

    22.5.2012 19:22 NitroN2O
    PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Přečteno: 531×
    Mam triedu Trieda:
    class Trieda
    {
    	private $premenna;
    	private $kolekcia;
    	
    	function __construct() { $this->kolekcia = new Kolekcia; }
    	
    	function getPremenna() ...
    	function getKolekcia() ...
    	
    	function __get($name)
    	{
    		switch ($name)
    		{
    			case "premenna": return $this->getPremenna();
    			case "kolekcia": return $this->getKolekcia();
    			default: throw new MemberAccessException($name);
    		}
    	}
    }
    ktora obsahuje kolekciu kolekcia:
    class Kolekcia
    {
    	function add(Polozka $item) ...
    	function remove(Polozka $item) ...
    }
    do ktorej sa pridavaju polozky v kazdej polozke by som chcel mat moznost pristupovat k premennej tiredy "Trieda":
    class Polozka
    {
    	function metoda()
    	{
    		echo ...->premenna;
    	}
    }
    Viete mi poradit co najkratsi sposob ako to urobit? Zatial to riesim cez DI, cez konstruktor vkladam vzdy korenovu triedu. To je sice pekne, ale ked bude ta trieda zanorena dajme tomu 10 urovni, tak musim upravovat vsetky "medzi" triedy. Existuje nejaky "krajsi" sposob ako DI?

    Odpovědi

    Josef Kufner avatar 22.5.2012 23:04 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    A čeho vlastně chceš docílit?
    Hello world ! Segmentation fault (core dumped)
    Saljack avatar 22.5.2012 23:12 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Navíc co znamená
    PHP, Python, C++, ..
    v javě existuje super, což je právě předek třídy. Spíš by se hodilo přiložit jednoduchý UML diagram, který by znázornil o co se snažíš.
    Sex, Drugs & Rock´n Roll.
    22.5.2012 23:37 NitroN2O
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Nejde o dedicnost, ale o vnaranie objektov.

    Predstavte si nieco podobne ako DOM strom. Objekt obsahuje kolekciu vnorenych objektov a ja chcem pristupovat z vnoreneho objektu(v tej kolekcii) k rodicovskemu objektu(nie v zmysle dedicnosti, ale v ramci hierarchie vnorenych objektov). Poznam jedno riesenie pomocou DI, lenze to je ukecane, a pri kazdej malej zmene musim upravovat hned niekolko tried.

    Ide mi len o design pattern. PHP, Python, C++, .. znamena ze mi to mozete vysvetlit v hociktorom z tychto jazykov.

    Vopred diky.
    Saljack avatar 23.5.2012 00:28 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Aha tak to jsem tě blbě pochopil. Nejprve bych se zaměřil na návrh protože jestliže musíš kvůli jedné věci upravovat několik tříd něco je blbě. Já bych to řešil tak, že každý objekt musí dědit od jednoho objektu, který v sobě bude nést ukazatel na předka. A toho předka bych pak nastavoval v právě v metodě add popřípadě odebíral v remove. Jestli to teda správně chápu?
    Sex, Drugs & Rock´n Roll.
    23.5.2012 08:37 DK
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    pripadne jeste,co me tak napada, vytvor u vnorenych trid konstruktor s odkazem na vytvorenou tridu (tj pak budes kolekci vytvaret jako $this->kolekce=new Kolekce($this);, kdovi, jestli to bude fungovat, muzes to pekne zacyklit, ale za zkousku nic nedas :)
    rADOn avatar 23.5.2012 17:00 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Ide mi len o design pattern. PHP, Python, C++, .. znamena ze mi to mozete vysvetlit v hociktorom z tychto jazykov.
    Když ti to vysvětlím v pajtnu tak to v C++ zaručeně nenaprogramuješ :-)
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    rADOn avatar 28.5.2012 13:24 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Jak to tak po sobě čtu tak zní dost plamenně což jsem nechtěl. Vysvětlím – python má (nepříliš známou) vlastnost jménem deskriptory která umožňuje zachytit instanci zevnitř atributu. Takže ukázkový kód v pythonu by toho moc neukázal, jenom nějakou magii uvnitř interpretru.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    23.5.2012 09:38 Mr.S1lent.cz
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Vzdyt to mas standartni Category -> item model.

    Kategorii vytvoris properties:

    < Category> parent < array: Category> children < array: Item> items

    a pro rychle prochazeni stromem napric nekolika urovnim i pole klicu v kategorii s referencemi, treba:

    < array: (Category + Item)> referencesList

    klice si pak muzes generovat z nazvu kategorii (a subkategorii ) + nazvu daneho itemu, anebo treba mit static id v category + item a incrementovat/decrementovat je pri kazde zmene a navzajem synchronizovat...

    23.5.2012 23:49 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Úplně tomu nerozumím, zdá se mi, že poněkud mícháš vnořování tříd a dědičnost.

    Obecně, pokud k něčemu přistupuješ, tak bys to tam měl nějak přes DI vložit. Myslím, že žádné jiné řešení prostě nefunguje.

    Akorát můžeš zvážit, zdali má smysl, by Kolekce věděla o třídě (pak to bude posloupnost DI, tzn Položka bude mít metodu getKolekce a kolekce getTrida) nebo ne, v druhém případě pak Kolekci skryješ a vystavíš vlastnosti add a remove přímo v třídě, kde zároveň se správně aktualizuje DI pro vkládanou a odebíranou položku.

    DI je holt ukecaný, ale zpravidla je to i tak ten nejlepší způsob.
    28.5.2012 15:29 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP, Python, C++, .. - ako pristupovat ku korenovej triede?
    Kořenová třída není moc šťastný název. Je to spíš nějaký globální stav aplikace, aplikační kontext. Používá se k tomu buď globální proměnná nebo singleton. Obojí jsou návrhové antivzory, tj. jejich použití často svědčí o špatném návrhu. Propagovat to skrze 10 tříd je sice způsob, jak globální objekt nebo singleton zrušit, ale taky to není šťastné řešení. Pátral bych po tom, k čemu vlastně ten kontext v desáté vnořené třídě potřebujete, a zda se to nedá nahradit něčím, co nebude vytvářet takhle dlouhé vazby napříč aplikací a bude lépe odpovídat objektovým principům, že každý objekt má vymezené kompetence. Samozřejmě se může ukázat, že napsat to správně by bylo příliš složité a globální kontext je sice ošklivý, ale napíše se rychle. Problém pak bude s údržbou.

    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.