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

    Po 9 týdnech vývoje od vydání Linuxu 6.15 oznámil Linus Torvalds vydání Linuxu 6.16. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    25.7. 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 22
    25.7. 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.7. 13:33 | Nová verze

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 1
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    24.7. 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 9
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (28%)
     (28%)
     (6%)
     (5%)
     (4%)
     (1%)
     (3%)
     (25%)
    Celkem 148 hlasů
     Komentářů: 17, poslední 26.7. 20:08
    Rozcestník

    Mozilla a jej komponenty

    3.1.2006 15:21 | Přečteno: 1516× | seriózne | poslední úprava: 4.1.2006 01:04

    Mozilla souce code - najmodulárnejšie zdrojové kódy písané v C a C++ aké pod slnkom nájdete.

    Cez sviatky som si chcel oddýchnuť od programovania na svojich nedokončených projektoch. Jednoznačne som chcel využiť technológie Mozilly v nejakej 3D blbinke. Zistil som, že Mozilla má veľký potenciál, ktorým mrhá na obyčajný prehliadač. Prečo je Mozilla taká obrovská, prečo zaberá toľko pamäte a výkonu CPU a prečo vlastne ešte neezistuje OS Mozilla/Linux? Pokúsme si to domyslieť.

    Čo som robil

    Každoročne napíšem aspoň jednu implementáciu farebnej kocky otáčajúcej sa v priestore. Vminule som to robil v jazyku Haskell ("prehnane" čisto funkcionálny jazyk). Dnes som sa rozhodol vložiť všetko, čo moja obľúbená kocka potrebuje do tela Mozilly a celú logiku aplikácie naskriptovať v JavaScripte.

    Z Mozilly som sa rozhodol využiť technológie XPCOM, XPConnect, JavaScript.

    XPCOM je komponentový systém. Napíšete zopár tried v C++ (alebo C), skompilujete ich do knižnice, podhodíte ju aplikácii a XPCOM sa postará o zavedenie pluginu. V COM-systémoch každá trieda implementuje aspoň jeden interface. Narozdiel od M$, ktorý si vždy patentuje teplú vodu, Mozilla popisuje interfaci pomocou jazyka IDL s kompatibilných dialektom.

    XPConnect je systém, ktorý umožnuje transparentne prepájať komponenty písané v rozličných jazykoch. C a C++ sú spojené linkerom a sú binárne kompatibilné. XPConnect sa postará, aby sa objekty (triedy a pod.) navzájom videli, aj ak sú implementované v binárne nekompatibilných jazykoch.

    Problém vývojárov Mozilly

    Z dokumentácie k Mozille je cítiť istý nezáujem o projekty, ktoré neimplementujú internetový prehliadač. Z tisícok dokumentov sa našiel iba jeden, ktorý hovoril o tom, ako nainštalovať knižnice XPCOM samostatne, Ten bol z roku 2002 a nehovoril všetkých problémoch, ktoré pri procese osamostatňovania môžu nastať.

    Vývojári Mozilly sú zaslepený vidinou najlepšieho prehliadača. Ich taktika spočíva v čo najzbesilešom vývoji Firefoxu. Sú ochotný oddialiť dokoncenie niektorých komponentov prehliadača, len aby určená verzia vyšla v určený čas. V tomto ošiali zabúdajú na svoje vlastné projekty (Thunderbird) a na potenciál svojej platformy.

    Áno, hovorím platformy. Tak ako platformou môže byť Java, alebo .NET, aj tak ňou je aj Mozilla. Ale je to trochu nekompletná platforma, čo by sa dalo s pomocou 40-tich vývojárov zamestnaných na plný úväzok rýchlo zmeniť. Dodám, že tak, ako existuje Java Desktop, tak existuje aj Mozilla Desktop... ale keďže sa Mozilla nechopila diela, volá sa SymphonyOS.

    Odpovede

    Mozilla pomaly štartuje, pretože sa celá skladá z desiatok, až stoviek knižníc, ktoré musí XPCOM do aplikácie zaviesť. Cache, doktorej XPCOM ukladá informácie o knižniciach s komponentmi veľmi nepomáha. Ani prelink pri takom množstve knižníc veľmi nepomôže.

    Ďalej, logika produktov Mozilly je písaná v JavaScripte. JavaScript je síce veľmi užitočný jazyk, ale pri večších aplikáciách, ako je Mozilla Firefox, alebo Mozilla Thnderbird je veľmi pomalý.

    Mozilla zaberá veľa pamäte, pretože drží informácie v cache v operačnej pamäti. Radšej by mohla využívať cache OS a využiť tak silu blokovej cache Linuxu. Samozrejme ma nezaujíma, že nekompatibilné OS by si s tým neporadili.

    Veľká záťaž Mozilly na CPU je spôsobená JavaScriptom a Gecko enginom. JavaScript nemá priamu podporu thread-ov a podpora paralelných výpočtov je otrasná. Ak v okne niečo urobíte, musí prebehnúť celý JS pripojený k udalosti, ktorú ste vykonali. Kým neprebehne, Mozilla žerie toľko výkonu, koľko mu OS dovolí a pritom sa aplikácia tvári, ako zatuhnutá.

    Slávny Gecko engine (vykresuje HTML a pod.) je vlastne niekoľko XPCOM komponentov. Gecko trávy priveľa času volaniami funkcií XPCOMu a vôbec neimplementuje všetky služby, ktoré by mohol užívateľom ponúknuť. A nepodporuje ani inkrementálny reflow (rýchlejšie vykreslenie sránky po zmene napr. veľkosti okna.). Gecko je rýchle, ale mohlo by byť ešte rýchlejšie.

    A moja farebná kocka?

    Akurát som rozbehal OpenGL pomocou SDL a moja aplikácia už vykresľuje jeden trojuholník. Musím dorobiť obsluhu vstupu a potom to zverejním. Najbližšie svoju aplikáciu trochu zovšeobecním. Pridám priamu podporu X a glx, zakomponujem XPConnect. Pomocou XPConnect budem môcť do aplikácie pridať aj JavaScript a Python (prípadne ďalšie jazyky).


    Test

    Minimálna aplikácia: inicializuje XPCOM, načíta jeden modul so 4-mi komponentmi a vytvorí inštanciu z každého. Komponenty inicializujú SDL, jedno okno a OpenGL a nealokujú žiadne ďalšie dáta. Aplikácia zastane v cykle, kde dookola kontroluje, či ju užívateľ vypína a vykresluje jeden bily trojuholník do okna pomocou OpenGL.

    Alokovaná pamäť: 4.67MB

    Predchádzajúca kompletná implementácia farebnej kocky v Haskelli (z leta 2005) zaberala cca 2MB pamäte. Uvedmte si, že Haskell je čisto funkcionálny jazyk a cacheuje výsledky všetkých volaní funkcií.


    UPDATE: s/konkurenčných výpočtov/paralelných výpočtov/

    UPDATE: + test

           

    Hodnocení: 90 %

            špatnédobré        

    Anketa

    Čo vy na to?
     (71 %)
     (12 %)
     (12 %)
     (12 %)
     (10 %)
     (2 %)
    Celkem 41 hlasů

    Anketa

    Čo vy na to?
     (0 %)
     (0 %)
     (0 %)
     (0 %)
     (0 %)
     (0 %)
    Celkem 0 hlasů

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

    Komentáře

    Vložit další komentář

    3.1.2006 15:56 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    ... konkurenčných výpočtov ...
    Opravdu hezký překlad slova concurrent :-), ale lepší je to překládat jako souběžný (ve slovenštině súbežný ), nebo paralelní.
    When your hammer is C++, everything begins to look like a thumb.
    3.1.2006 16:06 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    Vyborny clanok (ako byva u Yin-a zvykom ;-) ),
    takto by mala podla mna vyzerat konstruktivna kritika (ohladom rychlosti FF).
    Project Satan infects Calculon with Werecar virus
    3.1.2006 17:11 victor8 | skóre: 24 | blog: blog | Košice
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    Pripájam sa k pochvale!
    3.1.2006 17:16 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    Škoda že je cizí řečí, nějaký barevný kočky tam... :)
    3.1.2006 17:34 lukas.ramlich | skóre: 3 | blog: linux_a_ja
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    Děkuji soudruhovi za konstruktivní kritický příspěvek a přípojuji obecnou poznámku.

    Je podstatou samostatného vývojáře takto pracovat. Zadejte geekovi projekt a on se utopí v marginálních problémech. Nešlo napsat grafický editor, na to se musela vytvořit speciální knihovna GTK. Nešlo napsat internetový prohlížeč, na to se musely udělat speciální multiplatformní opičky typu XPCOM. Podobně OpenOffice a další a další projekty.

    Klasický geek nad sebou potřebuje kravaťáka s bičem, který hlídá priority a termíny. Jinak to špatně dopadne.
    3.1.2006 17:52 victor8 | skóre: 24 | blog: blog | Košice
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    Lenze vdaka tymto "specialnym multiplatformovym opickam typu XPCOM" bezi Mozilla skoro vsade ;-)
    Yin avatar 3.1.2006 17:59 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty

    Škoda, že v Mozilla Foundation a Mozilla Corporation sú len kravaťáci s bičom, bez očí a bez uší. Mozilla by si len prilepšila ak by sa snažila uľahčiť cudzím vývojárom prebrať ich technológiu.

    Čisté Gecko bez knižice Necko (sieť, protokoly, ...), vlastnej grafickej knižnice a iných komponentov z Mozilla source code jednoducho nevyrežeš. Chcel som použiť Gecko aspoň na vykreslovanie menu (písané v upravenom XUL) v tej OpenGL blbinke, ale to by ma asi stálo vlasy.

    Ja v tom vidím zisk pre Mozillu... aj keď ťažko vydobyteľný, ale je tam.

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    3.1.2006 20:52 janosh | skóre: 8 | blog: janosh_blog | Třebíč
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    jj
    Linux is like teepee, no windows, no gates, apache inside!
    3.1.2006 21:08 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Mozilla a jej komponenty
    Nešlo napsat grafický editor, na to se musela vytvořit speciální knihovna GTK.
    Problém byl v tom, že v té době neexistoval vhodný a zároveň dostatečně otevřený grafický toolkit, na němž by to bylo možné postavit. Nezapomeň, že se jedná o doby, kdy žádný openmotif ještě neexistoval.
    When your hammer is C++, everything begins to look like a thumb.

    Založit nové vláknoNahoru

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