Masivní výpadek elektrického proudu zasáhl velkou část České republiky. Hasiči vyjížděli k většímu počtu lidí uvězněných ve výtazích. Výpadek se týkal zejména severozápadu republiky, dotkl se také Prahy, Středočeského nebo Královéhradeckého kraje. Ochromen byl provoz pražské MHD, linky metra se už podařilo obnovit. Výpadek proudu postihl osm rozvoden přenosové soustavy, pět z nich je nyní opět v provozu. Příčina problémů je však stále neznámá. Po 16. hodině zasedne Ústřední krizový štáb.
Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).
Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.
Už zopár rokov tvorím internetové stránky, a zatiaľ mi to celkom ide. HTML, CSS sem-tam nejaký skriptík, PHP+Mysql, takých je vás tu určite viacej.
No práve teraz nastáva internetová revolúcia. AJAX, Web 2.0, a možno aj iné názvy hovoria o internetových aplikáciach novej generácie.
Zopár slov o AJAX
Doteraz sme poznali prehliadanie internetových stránok asi tak, že používateľ odošle požiadavku, server ju spracuje, pošle mu odpoveď. AJAX je z praktického hľadiska úplne to isté, ibaže AJAX nesťahuje celú stránku, ale iba to čo je potrebné. Viac o tom ako funguje AJAX si nájdete na wikipedii.
~
A ešte menšie upozornenie, práve s takýmito vecami začínam, a určite Vám bude pripadať, že riešim úplne základné a primitívne veci, ale ja to vidím inak.
Moja prvá AJAX aplikácia
Teraz k aktuálnemu problému. Dostal som za úlohu vytvoriť on-line chat, kde by používatelia istého fóra mohli online komunikovať. Vlastne to nebola tak celkom úloha pre mňa, ale mal som predstavu ako by to mohlo vyzerať. Upornenie skôr ako budete mať námietky: toto pravdepodobne nie je AJAX aplikácia. Ale vystihuje jej pointu. Čítajte ďalej.
Takže táto aplikácia mala spľňať tieto požiadavky: #Mala sa dať kedykoľvek zobraziť alebo skryť, na základe toho či ju používateľ chce používať #Mala zobrazovať aktuálny stav chatu bez potreby znovu načitávať celú stránku #Mala mať možnosť kedykoľvek prispieť do chatu, bez potreby znovu načitávať celú stránku
Najprv som si narvrhol okienko, s fixnou pozíciou vpravo hore. AFAIK position:fixed
nefunguje v IE, takže to ešte bude treba ošetriť JavaScriptom (to som ešte neurobil). To okienko bolo tvorené jedným iframom a políčkom na odosielanie správy. Takže celá pointa je v tom iframe. iframe obsahuje súbor onlinechat.php ktorý obsahuje výpis z databázy. Je nastavený aby sa reloadoval každých 5 sekúnd. Takže tu už máme celkom funkčný online chat a požiadavka číslo 2 je splnená. Prezeráte si web, a niekde v rohu vidíte online chat. Myslím, že je to celkom praktické.
Potom niečo k tomu skrývaniu. Ono to bolo veľmi jednoduché, ale pre mňa to bolo hotové dobrodružstvo, keďže takéto niečo som robil prvýkrát. Hore nad iframe som ešte umiestnil tlačítko skryť, po kliknutí naňho JavaScript nastavil div
-u s chatom display:none
. A tiež ďalšiemu (ktorý obsahoval tlačítko zobraziť) s podobnými parametrami display:block
. Po kliknutí na ono tlačítko zobraziť sa vykonala opačná akcia. Avšak ešte stále tu bol jeden problém, a to, že aj po skrytí sa ten chat znova a znova načítaval, aj keď to už nebolo potrebné. Tak som ešte k tým akciám pridal aby sa src
toho iframe
nastavilo na empty.html
, a pri zobrazovaní na onlinechat.php
. Takže skrývanie a zobrazovanie už fungovalo.
Ďalej trebalo vyriešiť odosielanie. Po vybavení formulára, sa metódou POST
odoslali data do onlinechat.php
s parametrom target
nastavením na môj iframe. Na začiatku onlinechat.php
bol ešte kód, ktorý v prípade, že sa nejaké dáta posielali uložil ich do databázy. Takže toto tiež fungovalo. Skvelé na tom bolo to, že odoslaný príspevok sa hneď zobrazil.
Teraz boli splnené všetky požiadavky, ktoré som si stanovil. Celé to fungovalo (aj to odosielanie) bez reloadovania stránky, ktorú práve prehliadame.
Kozmetické úpravy
Keďže to ťahanie z databázy nemalo žiadne špeciálne požiadavky na zoradenie, výsledok vyzeral tak, že najnovšie príspevky boli na konci. V prípade že by počet príspevkov presiahol celé okienko, čo bolo dosť pravdepodobné, tak by si to používateľ musel rolovať. Tomu som chcel zabrániť, tak som do stránky onlinechat.php
pridal aby sa po natiahnutí stránky naskrolovala až na koniec.
Ďalším menším problémom bolo to, že po odoslaní text zostal vo formulári. To je dosť nepraktické, ak sa chystáme písať viac príspevkov za sebou. Po určitom čase experimentov som to vyriešil spôsobom, ktorý považujem za ideálny. Vytvoril som ďalšiu položku hidden
, a nastavil, aby sa do databázy vkladal obsah tejto položky. Potom tesne pred spracovaním formulára sa obsah z textového poľa vložil do hidden poľa, a obsah textového poľa sa vynuloval. Možno si myslíte, že to ide aj jednoduchšie, ale asi tak o minútu zistíte, že nie.
Zopár nevyriešených problémov
Problém ktorý ma stále trápi, je použitie tohoto skriptu na hocijakej stránke. Je to podľa mňa príliš zložité, pretože treba vkladať kus kódu do head
a tiež do tela. Ešte neviem čo s tým.
Záver
Takže toto bola moja prvá aplikácia s príchuťou AJAX, a ja sa púšťam do učenia, pretože chcem vytvoriť aj zopár skutočných AJAX aplikácii. Toto si idem v dohľadnej dobe kúpiť, no a snáď z toho niečo bude.
Tiskni
Sdílej:
onclick="form1.submit(); {A TED TO VYMAZAT}"
. To by mozna mohlo projit ne?