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

    Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Humor

    OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 03:00 | Nová verze

    Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.1. 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 6
    9.1. 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 5
    9.1. 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 2
    9.1. 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 7
    9.1. 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    9.1. 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (8%)
     (4%)
     (0%)
     (9%)
     (20%)
     (3%)
     (5%)
     (3%)
     (10%)
     (50%)
    Celkem 374 hlasů
     Komentářů: 8, poslední 10.1. 23:18
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    11.6.2014 14:00 unicode
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Uf, ty názvy tříd, to je teda něco
    11.6.2014 14:50 Lemon
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    +1, očividně práce nějakého brigádníka
    theo avatar 11.6.2014 15:26 theo | skóre: 15 | Rožnov ... hádej který?
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Názvy tříd jsou úplně normální (to, že se ti nelíbí kombinace podtržítek a velkých a malých písmen je tvůj problém). Když autor nechce z nějakého důvodu používat jmenné prostory (což chápu, protože to dokáže - v rozporu s všeobecným přesvědčením - kód znepřehlednit), tak je tenhle model docela jednoduchý, přímočarý a snadný na pochopení. Podstatné je přeci to, aby to bylo v celém kódu konzistentní, ne to, jestli je to psáno nějak jak se zrovna tobě nelíbí.

    Z takto krátké ukázky to nemusí být jasné, ale má to svoji logiku: QNetworkAccessManager je Qt komponenta a REPORT_access_manager je komponenta aplikace. Určitě by se to dalo napsat i jinak, ale v zásadě v tom nevidím problém.

    Jestli vývojáře, nebo kvalitu kódu posuzuješ podle toho jak jsou pojmenované třídy, tak nad knihovnou VMime budeš patrně ucvrnkávat blahem až do chvíle, kdy se s ní pokusíš něco skutečně naprogramovat...
    Sine ira et studio
    11.6.2014 15:32 herberd
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    No pakliže ti přijde normální pojmenovávat třídu stylem makra, tak se prosím identifikuj, abych na tebe nikde u nějakého projektu nenarazil
    Rezza avatar 11.6.2014 15:49 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Ha, ja se na ten kod mrknul jen mrknutim a rikam si, co tam maji za REPORT makro :D.
    11.6.2014 17:09 unicode
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    To snad ani nemá cenu komentovat, chce to klid chlape :-)
    Josef Kufner avatar 11.6.2014 18:41 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Je to proti zavedeným konvencím a ztěžuje to orientaci novým programátorům, tvým budoucím kolegům, což zvyšuje náklady na budoucí vývoj a tím pádem se připravuješ o peníze. A navíc je to hnusný.

    Qt třídy jsou identifikovány velkým Q na začátku. Takže QNetworkAccessManager a ReportAccessManager, nebo ještě lépe Report::NetworkAccessManager.
    Hello world ! Segmentation fault (core dumped)
    11.6.2014 19:41 Marvin | blog: im_depressed | Gallifrey
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    CamelCase... jdu blejt...
    11.6.2014 21:27 leo
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    U tříd se to snese :-)
    Petr Bravenec avatar 11.6.2014 21:31 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Přijde mi to jako první příspěvek k věci. Popřemýšlím ;-)
    Petr Bravenec - Hobrasoft s.r.o.
    13.6.2014 15:58 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    11.6.2014 19:14 leo
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    a jéje, ostřílený PHP kodér nám dává lekce z C/C++ konvencí :-D :-D
    xkucf03 avatar 11.6.2014 16:35 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu

    Díky za zápisek. Taky se chystám pustit do jednoho projektu s Qt(WebKitem), tak mě potěšilo, že tam jsou tyhle věci celkem jednoduché.

    Ta VELKÁ písmena a podtržítka v názvech tříd se mi taky nelíbí, ale nevím, jaké jsou konvence v okolním kódu, tak to nechci hodnotit.

    Mám ale jednu věcnou připomínku k návrhu: jak funguje třída REQUEST („…je naše třída pro přístup do databáze“)? To je nějaký singleton? Kde vezme spojení do databáze nebo jiné zdroje? IMHO by bylo lepší, aby je dostávala jako parametr z toho kontextu, ve kterém je používána, ne že si je někde obstará sama.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Petr Bravenec avatar 11.6.2014 17:22 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Ta třída REQUEST singleton není. Spojení do databáze si obstarává z konfiguračních souborů (zjednodušeně řečeno). Podle kontextu, kde se třída používá, se dá nastavení samozřejmě změnit.

    Ve většině případů se aplikace připojuje na jedinou databázi, parametry jsou pořád stejné. Jen vyjímečně se připojuje jinam - pak se parametry berou obvykle z nějakého formuláře a nastavují se extra.

    Qt něco podobného používá pro SQL databáze. Třída QSqlDatabase se dá jednou na začátku nastavit a pak se pro připojení používá pořád stejný objekt, který se instancuje pouze v jiných vláknech.

    Jinak souhlasím s tím, že webkit se v Qt používá celkem snadno a umí spoustu věcí. Kdysi jsem řešil třeba grafy pro Qt, neúspěšně. Dneska bych jen udělal most do c++ a přehodil grafy na kolegu, který dělá s HighCharts weby. Umí v tom dělat kouzelné věci:

    http://www.hobrasoft.cz/cs/teplomer

    Normálně to ukazuje graf dva dni dozadu, ale nešťastně jsem si zrušil data.
    Petr Bravenec - Hobrasoft s.r.o.
    11.6.2014 20:29 WNJ
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Nema CouchDB zabudovane RESTove api? Pak by mohlo byt lehci z toho javascriptu sahat rovnou tam, nez to honit pres api webkitu?
    Petr Bravenec avatar 11.6.2014 20:53 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    No to samozřejmě CouchDB má. Ale v momentě, kdy to udělám, není taková sestava přenosná z jedné databáze do druhé, protože součástí takové sestavy by byla i absolutní adresa na jeden konkrétní databázový server. Při tomto řešení mám adresu zcela nezávislou na databázi, databáze je všude přístupná přes url deko:/// nebo Javascriptový objekt deko.
    Petr Bravenec - Hobrasoft s.r.o.
    Josef Kufner avatar 11.6.2014 21:18 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Pokud chceš přenositelnost, tak deko:// nepoužívej v HTML kódu a k databázi jen přes Javascriptový objekt. Jinak budeš mít problémy, jakmile to budeš chtít zveřejnit na obyčejném webu. Tam deko:// nedostaneš, ale udělat proxy objekt je relativně snadné. Vlastní protokol je dobrý na zpřístupnění obsahu v rámci aplikace, ale není dobré na to odkazovat.
    Hello world ! Segmentation fault (core dumped)
    Petr Bravenec avatar 11.6.2014 21:29 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    ...proxy objekt...
    To mě zajímá. Nevyznám se příliš ve webových technologiích, nevím, co si pod tím představit.

    Jinak vlastní protokol používám právě proto, že nepředpokládám použití jinde, než v rámci aplikace. Navíc v režimu, kdy předem nevím, jak připojení k databázi vypadá a kdy jednu sestavu může používat více lidí s naprosto odlišným připojením k databázi.
    Petr Bravenec - Hobrasoft s.r.o.
    Josef Kufner avatar 11.6.2014 23:16 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Vlastní protokol je fajn pro předání dat do QWebView. Ale samotné stránky by měly používat jen URL od lomítka dál. Tedy buď relativní, nebo jen absolutní cesty bez protokolu i serveru. Například /hello/world namísto http://example.org/hello/world či deko:/hello/world. Pak je můžeš vzít jak jsou a poslat po HTTP do běžného prohlížeče.

    No a aby fungovalo připojení k databázi, tak místo deko objektu, který máš teď, tam dáš proxy objekt, což je v Javascriptu implementovaný obyčejný objekt přeposílající volání metod na server a vracející obdržené odpovědi. Na serveru pak bude za nějakým HTTP API schovaný skutečný deko objekt, který udělá všechnu dřinu. Pokud proxy i originál budou mít stejné API, můžeš bezezměn zveřejnit tiskové sestavy na webu i v aplikaci a navíc to bude skoro bez práce (stačí udělat jen ten proxy objekt a aplikaci spustit jako démona bez GUI).

    Pointa je v tom, aby jsi si teď nezadělal na problémy v budoucnu, kdy s tím budeš chtít něco dělat a budeš mít spoustu hotových sestav.
    Hello world ! Segmentation fault (core dumped)
    Petr Bravenec avatar 12.6.2014 06:07 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Aha, díky. Už rozumím. Je zajímavé, že to nejjednodušší řešení mě nenapadlo. Upravit NetworkAccessManager by mělo být jednoduché - prostě budu hledat místo protokolu deko url bez protokolu. A zbavovat se objektu deko v JavaScriptu není nutné - knihovnu s api můžu doplnit později, aniž by se musely sestavy upravovat.
    Petr Bravenec - Hobrasoft s.r.o.
    Josef Kufner avatar 12.6.2014 13:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    V NetworkAccessManageru nemusíš nic upravovat, QWebView relativní adresy přeloží na absolutní před tím, než se NetworkAccessManageru zeptá na jejich obsah. Jde jen o to, co je napsané v HTML, aby to fungovalo i na http:// i na deko://.

    Objektu deko v Javascriptu se nezbavuj, naopak, používej ho pro veškerou komunikaci, abys nemusel používat deko protokol. Právě proto, že vyměnit implementaci JS objektu a zachovat jeho API je snadné, kdežto implementovat deko:// v prohlížečích je obtížné.
    Hello world ! Segmentation fault (core dumped)
    Petr Bravenec avatar 12.6.2014 14:07 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    QWebView relativní adresy přeloží... ale má to potíž. Musím nějak doplnit ten úvod - nastavit baseUrl. V aplikaci můžu nastavit deko:// a pak to funguje dobře. Je předpoklad, že to bude fungovat dobře i v prohlížeči, když tomu poskytnu ty relativní cesty.

    Moc se s tím ale nevyrovná debugger webkitu, místo zdrojového tvaru skriptu mi ukáže jen nějaké base64 smetí (následek změny baseUrl). Ráno jsem se s tím chvíli trápil. Zkusím rozeznávat požadavky do mojí aplikace třeba podle http://localhost/, ale chce to trochu času a testů.

    Objektu deko se samozřejmě zbavovat nebudu - že můžu vyměnit implementaci v C++ za JS si uvědomuji velice dobře.

    Každopádně díky za nápad. Tohle ze zřetele jen tak nepustím.
    Petr Bravenec - Hobrasoft s.r.o.
    Josef Kufner avatar 12.6.2014 15:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Nějaké baseUrl by vůbec nemělo být potřeba nastavovat. Prosté QWebView::setUrl("deko:/hello/world/"); by mělo stačit.
    Hello world ! Segmentation fault (core dumped)
    Petr Bravenec avatar 12.6.2014 15:45 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    QWebView::setHtml( html, QUrl("deko:///hello/world") );

    Html se bere z externího editoru

    Petr Bravenec - Hobrasoft s.r.o.
    Josef Kufner avatar 12.6.2014 21:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    A proč to nenecháš jít celé přes NetworkAccessManager?
    Hello world ! Segmentation fault (core dumped)
    11.6.2014 22:44 WNJ
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Aha, bral jsem to tak, ze ta CouchDB bezi na lokale u klienta spolu s tou QT aplikaci, takze se k ni da pripojit nejak lokalne.

    Ono na tom nesejde, to rozhrani mezi webkitem a zbytkem vypada prekvapive prijemne, jenom jsem se zajimal proc to neudelat takhle.
    Petr Bravenec avatar 12.6.2014 06:19 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Propojení C++, Qt, HTML a Javascriptu
    Ve většině případů to tak je - aplikace i databáze skutečně běží lokálně. Ale v principu to tak být nemusí, navíc se může databáze jmenovat jakkoliv - a dávat do sestavy parametry pro připojení, to se mi opravdu nechce.

    Napadla mě ještě jedna věc - cache. CouchDB je pomalá, aplikace díky keším ?dokáže sestavu hodně urychlit.

    A nakonec mě napadla ještě jedna věc - vytáhnout z databáze některé informace není triviální. Pokud to může udělat aplikace, je to jen dobře.
    Petr Bravenec - Hobrasoft s.r.o.

    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.