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 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    dnes 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 2
    dnes 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

    Ladislav Hagara | Komentářů: 2
    včera 22:44 | IT novinky

    Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Nová verze

    Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Nová verze

    aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.

    Ladislav Hagara | Komentářů: 5
    včera 12:55 | IT novinky

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | IT novinky

    Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.

    Ladislav Hagara | Komentářů: 15
    včera 04:44 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1856 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Návrh pre abclinuxu.cz

    31.10.2006 11:08 | Přečteno: 2420×

    Malý návrh pre tvorcov tohoto servera :-) (Java bŕŕ, tak aspoň takto)

    Príspevky

    Jedna tabuľka pre všetky príspevky:
    Entry
     - id, int4, autoincrement, primary key)
     - parent, reference Entry, default null
     - type, reference EntryType,
     - account, reference Uzivatel, default null
     - anonym, text, default null
     - time_insert, time,
     - time_modify, time,
     - time_deploy, time, default null,
     - status, reference EntryStatus
     - subject, text, default null
     - uvod, text, default null
     - content, text, default null
    
    parent ... nadradený príspevok, null pre root Entry

    Tabuľka stromu:

    EntryTree
     - id
     - ancestor, reference Entry
     - descendant, reference Entry
     - depth, int
    
    index (ancestor)
    index (descendant)
    
    vytvorenie nového Entry
    entry = new Entry;
    "insert into entry_tree (ancestor, descendant, depth)
       select select ancestor, entry.id, depth + 1
       from entry_tree
       where descendant = entry.parent
    "
    "insert into entry_tree (ancestor, descendant, depth)
        values (entry.id, entry.id, 0)
    "
    
    Vysvetlenie:
    EntryTree sleduje všetky cesty v strome (a ich dĺžku), ak ich budeme považovať za jednosmerné.
    Príklady:
    celý podstrom zadaného rootid:
    select A.descendant parent, B.descendant child
      from tree_node_path A, tree_node_path B
     where A.ancestor = rootid
       and A.descendant = B.ancestor
       and B.depth = 1
     order by parent, child
    
    pri predpoklade, že Entry.id je trvale rastúce, môžeme strom budovať:
    map[rootid] = new Entry (rootid);
    while ((parent, child) = fetch_row) {
      map[parent].add_child (child);
      map[child] = new Entry (child);
    }
    
    map je asociatívne pole

    výber cesty po leafid:

    select ancestor
      from entry_tree
     where descendant = leafid
     order by depth asc
    
    Entry je každý príspevok (článok, správička, blog, komentár, ako i napr "sekcia hardware" alebo "sekcia "Software/alternatívy").
    Výhody:
    užívateľ si môže nastaviť sledovanie ľubovoľného stromu (napr i časti diskusie).

    Entry::Status
    enumerácia s hodnotami NEW, ENABLED, LOCKED, DELETED

    Entry::Type
    typ príspevku, enumerácia napr: ARTICLE, NEWS, COMMENT, BLOG, CATEGORY, POLL

    Sledovanie

    AccountWatch
     - id
     - account, reference Account (uzivatel)
     - entry, reference Entry
    
    Výber prihlásených pri vložení príspevku (resp pri jeho publikovaní):
    entry = new Entry;
    
    select account
      from account_watch, entry_tree
     where account.entry = entry_tree.ancestor
       and entry_tree.descendant = entry.id
    

    Posielanie mailov

    Navrhoval by som vypĺňať hlavičku In-Reply-To a Message-ID. In-Reply-To podľa entry.parent (ak nie je null), Message-ID podľa entry.id. Postačovať by mal tvar 1234watch@abclinuxu.cz

    V prípade záujmu môžem pokračovať návrhom systému hodnotenia príspevkov.        

    Hodnocení: 67 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    31.10.2006 18:48 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Možná jsem nepochopil ten fígl, ale Abíčko data do databáze ukládá ve stromové struktuře – tj. jsou jednotlivé entity a ty mají mezi sebou vztahy rodič – potomci. Viz stránku se zdrojáky, kde je odkaz na články o datové struktuře i samotný SQL dump.
    31.10.2006 19:39 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    ak máte na mysli stĺpec data, je to niečo magické, nad ktorými sa potom nedajú robiť databázové operácie, nedá sa na ne odkazovať, ich update znamená cyklus decode-encode.
    Zdrojáky som si samozrejme prešiel, preto som tento návrh napísal. :-)
    31.10.2006 20:00 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    V odkazovaných článcích Leoš popisoval, proč se rozhodl použít zrovna tenhle způsob. Je to taková simulace skoro-XML databáze nad relační databází. Pokud by se s tím mělo hýbat, tak jsou asi jen dvě možnosti: opravdová XML databáze (a je otázka, zda dnes existuje taková, které by bylo možné svěřit data Abíčka), nebo klasická relační databáze, kde bude jedna tabulka pro články, jedna pro komentáře atd. Nevidím žádný přínos toho rozšiřovat tabulku Entry o sloupce, které se někdy použijí a jindy ne a jindy stejně nebudou stačit…

    Nechci odmítat cokoliv jiného (ostatně já jsem tu databázi nenavrhoval a databáze navrhuji jiným stylem), ale nevidím mezi vaším návrhem a současným stavem prakticky žádný rozdíl.
    31.10.2006 20:23 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    zjednotenie všetkých typov do jednej tabuľky umožňuje použiť na každý typ rovnaké operácie, napríklad hodnotenie, komentovanie, sledovanie (napr sledovanie časti diskusie, alebo časti diskusie). Pri pridaní nového typu, tento zdedí túto funkcionalitu. To by zabezpečila tabuľka
    EntryWatch
     - id
     - account
     - entry
    
    Rozšírenie tabuľky Entry o null-able stĺpce je z dôvodu spätného selectu, napr. pri funkcii "čo sa napísalo v označených/navštívených Entry, odkedy som tu nebol", tabuľky EntryMark, EntrySeen (rovnaké ako EntryWatch).

    Rozdiel je jednoznačný, súčastný stav funguje :-D

    31.10.2006 20:30 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Aha :-) Takže to celé by umožnilo označovat zprávičky, články, zápisy v blogu a záznamy v HW a SW od mé poslední návštěvy? To mi dělá RSS :-)
    31.10.2006 20:43 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    nielen, platí to pre ľubovoľný Entry.
    Rozdiel je v jednom: ak by malo existovať ekvivalentné RSS, muselo by existovať pre každé Entry.
    Josef Kufner avatar 31.10.2006 18:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Stromy je výhodnější vylepšit o sloupce left a right. Které budou obsahovat taková podivná čísílka. Pak totiž stačí na vykreslení celého stromu jeden jediný select. Také sečtení přečtených nepřečtených příspěvků na titulní stránce je pak o jednom joinu a group by. A aby nebyly ztráty výkonu při přidávání příspěvků tak velké, stačí mít ještě u každého uloženo id stromu (diskuze), takže update běží jen na relativně malém množství záznamů.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 31.10.2006 18:57 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    A pokud to chce někdo vidět hotové, tak tohle to používá.
    Hello world ! Segmentation fault (core dumped)
    31.10.2006 19:34 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    left-right má dosť vysokú réžiu na rebuild stromu pri pridaní, ktorá zároveň musí byť atomická.
    Josef Kufner avatar 1.11.2006 00:06 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Ve srovnání s rekurzivním procházením stromu při každém zobrazení to i tak vyjde výrazně lépe.
    Hello world ! Segmentation fault (core dumped)
    31.10.2006 21:35 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Proč Atlantis ?
    Quando omni flunkus moritati
    Josef Kufner avatar 1.11.2006 00:00 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Mě se neptej, tuhle část názvu jsem převzal.
    Hello world ! Segmentation fault (core dumped)
    31.10.2006 20:00 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Psal jsem tu o tom článek...
    Math, as Barbie says, is hard.
    Josef Kufner avatar 1.11.2006 00:03 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    A nechceš napsat ještě nějaký? Tohle se děsně blbě hledá... ;-)
    Hello world ! Segmentation fault (core dumped)
    1.11.2006 08:34 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Stromy v SQL

    Hint: kliknout na jméno autora komentáře a pak na "Seznam příspěvků na abclinuxu.cz" :-)
    Josef Kufner avatar 1.11.2006 17:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    O tom jednom vím (došel jsem k němu včera tou cestou co píšeš), právě proto říkám, že by byl fajn ještě nějaký další.

    Teda, že mi někdo z redakce bude rozmlouvat výzvu k napsání článku, jsem fakt nečekal :-D
    Hello world ! Segmentation fault (core dumped)
    1.11.2006 09:39 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Diky za snahu, ale na zasadni zmeny backendu je pozde asi tak o 6 let. ;-)

    Rekurzivni monitory mam v planu, jsou i v bugzille a pujdou udelat relativne snadno i v soucasnem modelu. Akorat mi jeste neni jasne, jak bych udelal sledovani vlaken v diskusi, nicmene sledovani na urovni celych objektu bude snadne.

    Jenze nasledne bude vhodne udelat i dalsi zpusoby informovani o novych udalostech. Ted kdyz si date sledovat nejaky flamewar, muzete za hodinu dostat desitky emailu. Pri rekurzivni sledovani muzete dostavat stovky mailu za den. Proto je treba napsat alternativy k InstantSender, napriklad BatchSender (poslat souhrnny email jednou za den) nebo InternalMessageBox (ukladani zprav do abicka, neco jako Mate 4 nove zpravy, dalo by se zobecnit i pro posilani zprav mezi uzivateli, kteri nemaji platnou emailovou adresu).
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    1.11.2006 18:22 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    hmm, abc instant message ? :-)
    Nebude jednoduchšie import/export cez jabeer, nntp ?

    čo sa týka emailov a flame ... podľa mňa stačí správne vypĺňať hlavičku, aby sa správy zgrupovali. V mailing listoch sa bežne stáva veľa mailov za den.

    1.11.2006 21:48 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Pokud vim, tak hlavicku vyplnujeme spravne a vlakna v pohode funguji. Nicmene na kazdemu se libi, kdyz mu dorazi behem kratke doby par desitek emailu a s tim podpora vlaken nema zadnou souvislost ;-) NNTP podporujeme uz davno pres gmane.org, viz stranka diskusniho fora. XMPP nekdo zadal, muze to byt dalsi alternativni implementace InstantSenderu. AbcInstant message nebude, mel jsem na mysli jen schranku se vzkazy, nekdo to po mne z adminu nedavno chtel, ze by to preferoval misto emailu.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    Josef Kufner avatar 2.11.2006 13:13 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Návrh pre abclinuxu.cz
    Tak ať si ten někdo pořídí ke své schránce webmail ;-)
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

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