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í
×

včera 16:22 | Nová verze

Byl vydán DB Browser for SQLite (sqlitebrowser) ve verzi 3.10.0. Nejnovější stabilní verze této grafické nadstavby nad relačním databázovým systémem SQLite (Wikipedie) přináší například integraci s DBHub.io, tj. platformou pro sdílení SQLite databází. Podrobnosti na GitHubu.

Ladislav Hagara | Komentářů: 1
včera 08:00 | IT novinky

Andy Rubin, spoluzakladatel společnosti Android, jež byla v roce 2005 koupena Googlem, nyní CEO společnosti Essential Products, oznámil předprodej chytrého telefonu Essential. Telefon se začne rozesílat 1. září. Cena telefonu je 699 dolarů. Cena telefonu současně s 360° kamerou s rozlišením 4K byla stanovena na 749 dolarů. Kameru, v budoucnu i další příslušenství, lze k telefonu připojit pomocí konektoru s magnety.

Ladislav Hagara | Komentářů: 0
19.8. 13:44 | Zajímavý software

Evropská komise vydala novou verzi 1.4.0.1 svého open source v Javě naprogramovaného softwaru pro online průzkumy EUSurvey. Online dotazníky lze vytvářet na stránkách Evropské komise nebo si lze software stáhnout (zip a war) a nainstalovat lokálně. Zdrojové kódy jsou k dispozici pod licencí EUPL (European Union Public Licence).

Ladislav Hagara | Komentářů: 0
18.8. 23:55 | Komunita

Ubuntu 17.10 (Artful Aardvark) bude ve výchozím stavu zobrazovat Dok (Launcher). Jedná se o rozšíření GNOME Shellu Ubuntu Dock. To bylo forknuto z rozšíření Dash to Dock. Ukázka na YouTube [reddit].

Ladislav Hagara | Komentářů: 2
17.8. 15:33 | Nová verze

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
17.8. 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

Ladislav Hagara | Komentářů: 1
17.8. 12:33 | Nová verze

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
17.8. 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 7
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 8
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (18%)
 (76%)
Celkem 364 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: Detekce neexistence zaznamu v poli

    5.8.2006 20:16 Crempa
    Detekce neexistence zaznamu v poli
    Přečteno: 15×
    Zdravim, mam nasledujici problem... mam pole s MAC adresami a v databazi tabulku kde jeden sloupec obsahuje taktez MAC adresy. No a potreboval bych u zaznamu v databazi jejichz MAC adresa nema protejska v tom poli (nevyskytuje se v tom poli) nastavit priznak (v jinem sloupci) rekneme na 0. Pole taktez muze obsahovat adresy, ktere v databazi nejsou a ty by se meli pridat. Napadlo me nekolik cest

    1) pro kazdou polozku z databaze projit cele pole a pokud se v nem adresa nevyskytuje nastavit priznak (to me prijde jako silne pomale a nevhodne reseni)

    2) v databazi nastavit vsechny priznaky na 0 a postupne prochazet pole s tim ze budu nastavovat priznaky na 1 (ty co zbudou s 0 nemaji v poli protejska) (u teto metody me zas prijde ze se prilis zatezuje databazi)

    3) vytvorit z pole nejakopu temp tabulku a problem resit na urovni databaze (napriklad pomoci procedur a kursoru - v teto oblasti se vsak zas tak neorientuju)

    Takze se ptam, jak by jste to resily Vy? Diky za reakce

    ps: konkretne se jedna o pole objektu takze napriklad napad prevest tabulku na pole a pote provest rozdil poli bude tezko fungovat, mimoto potrebuji krome stavu updatovat i dalsi informace, mluvime o tabulce s cca 1000 zaznamy...

    Odpovědi

    bazil avatar 5.8.2006 21:48 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    a bylo by dobré uvést o jakou databázi se jedná a v jakém jazyku se to má provést ...
    5.8.2006 22:02 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Optimální řešení bude záležet na tom, jak velká je ta tabulka v databázi, kolik je položek v tom poli, jak rychlá je komunikace s tou databází a jestli je to pole seřazené (nebo oindexované). Např. pokud je to pole seřazené a na tabulce máte index, dá se to triviálně udělat v čase lineárním vůči maximu z velikostí těch dvou.
    5.8.2006 22:06 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Pokud je ta databáze SQL, potom se mi to třetí řešení jeví jako nejrozumnější. Jenom to bude vyžadovat se naučit procedurální jazyk té které databáze.
    When your hammer is C++, everything begins to look like a thumb.
    5.8.2006 22:17 Tunop
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Nechtel jsem ten dotaz zatezovat konkretni technologii, ale jedna se o PHP a MySQL takze nelze pocitat s zadnymi vyspelejsimi funkcemi. MySQL je tedy ve v5.xxx takze procedury zvladat bude. Kazdopadne zas nevim jestli je to posledni reseni uplne 100% protoze pole bude vetsinou obsahovat vetsinu polozek te databaze takze pro kazdy pruchod by bylo nutne vlozit najednou celou novou tabulku...
    bazil avatar 5.8.2006 23:27 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    tak v tom pripade bych pouzil zpusob 2, oindexoval bych si v DB pole z MAC(nevim jestli je kuli vasemu reseni potreba pokazde nastavovat vsechny priznaky u mac na 0(UPDATE macadresy SET priznak=0), ale pripadne bych to nastavil, zaroven pro celou DB to bude chvilka) a potom bych updatoval jednotlive mac z DB(diky indexaci to bude co nejrychlejsi) a pripadne nastavil 1 pokud se nalezne(na tohle by bylo dobre pouzit neco jako UPDATE macadresy SET priznak=1 WHERE mac='00:00:00:00:00:00') a pak bych si jeste zaroven v php zjistoval jestli bylo neco updatovano mysql_affected_rows() a kdyz ne, tak bych si bud pridal v tom obektu jeste jedno pole, kde by byly oznaceny mac adresy, ktere je potreba potom pridat a nebo raci bych si vytvoril nove pole obektu, kde se ulozi jen ty mac adresy, ktere je potreba pridat.
    5.8.2006 23:48 Tunop
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Tak presne to co popisujete me prijde prozatim taktez jako nejlepsi reseni. Jedine ceho se trosku obavam je ten pruchod polem o cca 1000 polozkach a v ramci kazdeho pruchodu bude realizovan ten UPDATE. Defacto jsem nikdy v cyklu takhle s databazi nekomunikoval takze nevim zda je to vhodne (zatizeni apod.)...
    bazil avatar 5.8.2006 23:57 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    verte tomu, ze na takhle malou DB a jednoduchy dotaz to mysql zvladne fpohode, zvlada i daleko vice polozek (radove 10 000) z jednoduchymi dotazy hodne rychle, ale to uz se potom nemuzou delat nejake krizove dotazy a tak, coz u vas nehrozi
    6.8.2006 00:08 Tunop
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    OK, diky za informace Ono vzhledem k tomu ze ten script bude spousten pouze cronem v intervalu radove desitek minut tak je zde urcita casova rezerva na jeho vykonani :) Jde me spise o vhodnost takoveho reseni.
    bazil avatar 6.8.2006 00:12 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    ono se asi nijak jinak poradne neda prochazet jinak pole a tabulku a porovnavat je ... jeste me napada vytvorit z toho pole tmp tabulku a potom to vyresit nejak pomoci procedur a tak, ale vubec nevim jak ;-)
    6.8.2006 00:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Proč by se nedalo? Jenže jak jsem napsal hned na začátku, informace nejsou dostatečné pro uspokojivou odpověď. Ono je to něco jiného, přeženu-li to trochu, pokud máte v tabulce deset položek a v poli milion, a něco úplně jiného, pokud jich máte v tabulce milion a v poli deset.
    6.8.2006 00:27 Tunop
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Mate pravdu, mel jsem hned na zacatku uvest ze v poli bude obsazena temer cela tabulka a tak bude jejich rozdil minimalni...
    6.8.2006 00:53 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    V tom případě bych (bude-li položek trochu větší množství) asi dal přednost řešení, že budu procházet paralelně tabulku i pole vzestupně (v dotazu se použije order by, pole si seřadím nebo oindexuji). Při tomto postupu není problém označit správně položky tabulky a bude na to stačit jeden průchod (nepočítám-li vyhledávání položky, které bude muset provádět databáze při jednotlivých updatech).
    bazil avatar 6.8.2006 00:31 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    a tak samozrejme ze da ;-) ale je to "trosicku" narocnejsi :-)
    6.8.2006 10:04 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Detekce neexistence zaznamu v poli
    Těžko říct, které řešení je nejlepší, ale jestliže očekáváte cca 1000 záznamů, tak se všecho vejde do paměti a život je hned veselejší. Jen pro představu o rychlosti - když to otestuju na 10000 položkách tímto programem
    #!/usr/bin/env python
    v_databazi = range(10000)
    v_poli = {}
    v_poli = v_poli.fromkeys(range(8000))
    neni_v_poli = [x for x in v_databazi if not v_poli.has_key(x)]
    print sorted(neni_v_poli)
    
    tak to běží cca 80 milisekund včetně generování testovacích dat a tisku výsledků. Krom toho, 50 milisekund sežere samotný start interpretu, takže bych se s rychlostí vůbec netrápil.
    V tomto případě jsem do pole vrazil čísla 0-7999 a do "databáze" 0-9999. Výsledkem jsou čísla 8000-9999. Pro vyhledávání používám asociativní pole.
    Pro jistotu jsem vyzkoušel ještě jeden milión (plus osm set tisíc) záznamů. Zde už je patrná nenažranost řešení, ale vejdu se pod sekundu a půl.

    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.