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

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Pozvánky

    V pátek 20. února 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy

    … více »
    lkocman | Komentářů: 4
    včera 13:33 | IT novinky

    Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů

    … více »
    Ladislav Hagara | Komentářů: 12
    včera 04:44 | Komunita

    Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).

    NUKE GAZA! 🎆 | Komentářů: 22
    včera 04:33 | IT novinky

    Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 04:22 | Zajímavý projekt

    Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.

    NUKE GAZA! 🎆 | Komentářů: 3
    včera 04:11 | Bezpečnostní upozornění

    Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.

    NUKE GAZA! 🎆 | Komentářů: 12
    11.2. 14:11 | IT novinky

    Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu

    … více »
    Ladislav Hagara | Komentářů: 9
    11.2. 13:55 | Nová verze

    Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).

    Ladislav Hagara | Komentářů: 0
    10.2. 22:44 | Nová verze

    Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (26%)
     (3%)
     (4%)
     (2%)
     (12%)
     (28%)
    Celkem 853 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??

    2.2.2014 21:19 bajt | skóre: 1
    Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Přečteno: 693×
    Mám soubor ceny.csv s cca 5000 řádky - co řádka to číslo zboží a jeho nákupní cena bez DPH podle ktere do DB zapisuji prodejni cenu s DPH.

    Když spustím tento skript, tak běží neskutečně dlouho - kolem 4hodin.

    Jak to naprogramovat lépe aby to trvalo kratší dobu? A jak také docílit toho, aby na obrazovku postupně vypisoval,které zboží zrovna aktualizuje? ...teď totiž když tento skript spustím v prohlížeči,tak ty echa nevypisuje postupně,ale zobrazí je všechny najednou až poté co skript aktualizuje poslední řádek.

    $soubor = 'ceny.csv';

    if (!File_Exists ($soubor)) { exit("Nelze najít soubor $soubor "); } $klika = fopen($soubor, 'r'); if ($klika == false) { exit("Nelze otevřít soubor $soubor ke čtení."); } $updated = 0; $notupdated = 0; while (!feof ($klika)) { $radek = fgets($klika, 4096); list ($objednavacicislo, $nc) = explode(';', $radek); connect(); $pocet = mysql_result(mysql_query("SELECT * FROM zbozi WHERE cislo = '$objednavacicislo' LIMIT 1 "), 0); if ($pocet == 0) { echo "NOT UPDATED - $objednavacicislo does not exist!"; $notupdated = ($notupdated + 1); } else { $moc = ($nc * 1.21 * 1.1); $moc = round($moc); $aktualizaceceny = MySQL_Query("UPDATE zbozi SET cenaDPH = '$moc' WHERE cislo = '$objednavacicislo' LIMIT 1"); echo "zbozi: $objednavacicislo aktualizovano cenou $moc"; $updated = ($updated + 1); } } fclose ($klika);

    Odpovědi

    2.2.2014 21:37 Sten
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Používat prepared statements. Nepoužívat LIMIT 1, ale mít cislo jako PRIMARY KEY. A nejspíš pomůže i používání transakcí (takhle se každá změna musí commitnout samostatně).
    2.2.2014 21:40 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    • Co pohledává funkce connect() v cyklu?
    • Ten SELECT je tam úplně zbytečný.
    • Čísla se nedávají do apostrofů
    • Bylo by dobré sloupec `cislo` indexovat
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.2.2014 22:31 bajt | skóre: 1
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Diky za rady!

    - connect() je opravdu omylem blbe - uz je pred cyklem!

    - ten select odstranim-je tam proto,aby mi to zobrazilo i ty co nenajde a tudiz nezaktualizuje....asi to jde napsat jinak a bez nej,ale zatim nevim jak.

    - cislo $objednavacicislo neni ciste cislo,ale jen reference na kod zbozi od jednoho dodavatele, jedna se o smesici cisel a pismen, takze proto to je takto
    2.2.2014 23:47 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Nevadí, že $objednavacicislo není čisté číslo. Hlavně musí být unikátní. Pak se může stát primárním klíčem.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 2.2.2014 23:47 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Také můžeš do tabulky přidat sloupeček s timestampem poslední aktualizace ceny. Na počátku importu si uložíš aktuální čas a ten pak nastavíš všem modifikovaným položkám. Pak můžeš udělat jeden select na konci a uvidíš, které položky nebyly aktualizovány (budou mít starý timestamp).

    Jen je potřeba počítat s tím, že timestampu trvá jednu sekundu, než se zvětší, takže je potřeba na začátku zkontrolovat, zda zvolený timestamp je větší než největší.
    Hello world ! Segmentation fault (core dumped)
    2.2.2014 21:52 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Místo explode() zkus ještě tohle:
    list ($objednavacicislo, $nc) = fgetCSV($klika, 4096, ";");
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.2.2014 22:33 bajt | skóre: 1
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Diky, vyzkousim!

    A co to postupne vypisovani na obrazovku, nevite jak toho dosahnout?
    2.2.2014 22:42 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Však to tam už máš. Zrušíš SELECT a v tom UPDATE si vždy zjistíš, kolik bylo ovlivněno řádek. Pokud 0 - neúspěch, 1 - úspěch. Pokud je "cislo" primárním klíčem, jiná situace ani nastat nemůže. Zruš ty "LIMIT 1" - jsou zbytečné.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 2.2.2014 23:37 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Postupného vypisování lze dosáhnout voláním ob_flush(), pokud máš zapnutý output bufering, nebo flush() v opačném případě. Prohlížeče ale pŕi renderování HTML obvykle čekají s vykreslováním, než přijmou alespoň pár KB obsahu. U plain textu kreslí okamžitě.
    Hello world ! Segmentation fault (core dumped)
    3.2.2014 08:57 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    A načíst ten csv soubor do tabulky přímo pomocí mysql a pak udělat jenom jednoduchý update?
    TRUNCATE TABLE data_csv;
    LOAD DATA INFILE 'file_name' INTO TABLE data_csv COLUMNS TERMINATED BY ";";
    UPDATE zbozi INNER JOIN data_csv ON zbozi.cislo = data_csv. SET zbozi.cenaDPH = data_csv.nakupni_cena * 1.21 * 1.1;
    
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    10.2.2014 10:20 bajt | skóre: 1
    Rozbalit Rozbalit vše Re: Jak vylepšit (zrychlit) aktualizaci cen v MySQL pomoci PHP ??
    Vyzkousim take, dikes!

    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.