Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.
Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."
V Německu slavnostně uvedli do provozu (en) nejrychlejší počítač v Evropě. Superpočítač Jupiter se nachází ve výzkumném ústavu v Jülichu na západě země, podle německého kancléře Friedricha Merze otevírá nové možnosti pro trénování modelů umělé inteligence (AI) i pro vědecké simulace. Superpočítač Jupiter je nejrychlejší v Evropě a čtvrtý nejrychlejší na světě (TOP500). „Chceme, aby se z Německa stal národ umělé inteligence,“ uvedl na
… více »V Berlíně probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2025. Při té příležitosti byla oznámena alfa verze nové linuxové distribuce KDE Linux.
Byl vydán Debian 13.1, tj. první opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.12, tj. dvaná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.
Evropská komise potrestala Google ze skupiny Alphabet pokutou 2,95 miliardy eur (71,9 miliardy Kč) za porušení antimonopolní legislativy. Podle EK, která mimo jiné plní funkci antimonopolního orgánu EU, se Google dopustil protisoutěžních praktik ve svém reklamním byznysu. Google v reakci uvedl, že rozhodnutí považuje za chybné a hodlá se proti němu odvolat. EK ve věci rozhodovala na základě stížnosti Evropské rady vydavatelů. Podle
… více »Podpora 32bitového Firefoxu pro Linux skončí v roce 2026. Poslední podporované 32bitové verze budou Firefox 144 a Firefox 140 s rozšířenou podporou, jehož podpora skončí v září 2026.
Společnost Raspberry Pi nově nabízí Raspberry Pi SSD s kapacitou 1 TB za 70 dolarů.
Microsoft BASIC pro mikroprocesor 6502 byl uvolněn jako open source. Zdrojový kód je k dispozici na GitHubu.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se připojil k dokumentu „A Shared Vision of Software Bill of Materials (SBOM) for Cybersecurity“, který vydala americká Agentura pro kybernetickou a infrastrukturní bezpečnost (CISA) s Národní bezpečnostní agenturou (NSA), spolu s dalšími mezinárodními partnery. Dokument vznikl v rámci globálního expertního fóra pro SBOM, které má za cíl motivovat k širšímu využívání … více »
Je to už asi 8 let a kousek co se hrabu ve webech. Můj první web byl časopis a měl jsem ambice ho poslat do Levelu kde se tyhle časopisy rozmáhali. Nedošlo k tomu a dneska jsem za to i rád:) Co chci říct je, že za těch 8 let jsem se vypracoval, i když si myslim že většinu toho co umím umím díky poslednímu roku s Linuxem.
Po zmateném úvodu zkusím v novém zmateném odstavci naznačit pointu. Ve třinácti jsem dělal statické weby, ve 14 dynamické pomocí PHP. V 15 se do toho namíchali databáze, v 16 jsem se objevoval a poznával divy C/C++, které mě nakonec moc nechytlo i když bych v tom aplikaci napsal. Byla to taky doba kdy jsem poprvé instaloval Linux a poprvé ho odmít. V 17 jsem parazitoval na svých znalostech a pokusil se něco vytvořitl. V 18 jsem podruhé poznal Linux a tentokrát ho neodmít, běžel jako druhý a rozchodil jsem v něm všechen HW, byl to Slackware. V 19 jsem poznal Python a přešel na Linux jako na hlavní systém. Na disku zůstala partition s nefunkčními Win. Během měsíce win šli do kopru a já prohluboval znalosti unixových systémů, různých knihoven a hlavně jsem se naučil pracovat s qt3/qt4. Před 20. narozeninami jsem udělal svoje poslední 4 velké projekty v PHP. Vyvíjel jsem u toho svůj php framework Form. Už se dostávám k cíly tak to dám do dalšího odstavce.
Začátky generování
Form byl bezvadný pomocník, práci na 3 hodiny mi zkrátil na 10 minut. Vývoj ale nešel najednou a každým projektem jsem přidal novou vrstvu. Nakonec jsem napsal 20 řádků kde jsem popsal co chci a vygenerovalo mi to formulář pro úpravu a list. Generovalo to jenom administraci, ale s webem mi to hodně pomáhalo. Nebylo to ono, a tak jsem se rozhodl přidat poslední vrstvu. Vrstvu která bude generovat úplně celou administraci. Narazil jsem na problém. Člověk pro kterého jsem tenkrát dělal z tohohle nebyl nadšený. Vývoj webu jsem zkrátil na pár dní. Jenže si to vybralo daň u prvních testů kde když odešlo něco ve frameworku tak nešla celá administace. Chvilku to dalo než se to odladilo, každej projekt přinášel nové vrstvy (celkově byli 3) a ladit to bylo čím dál horší. Vrstvování je pěkné, ale tak maximálně na postupný vývoj na novou aplikaci se to nehodí. Kdyby tenkrát tenhle člověk měl trochu trpělivosti a nevadilo mu, že tam občas něco drhne asi to dělám do teď, ale díky tomuhle jsem přestal na Form pracovat a chvilku zevloval.
pyweb?
Na konci minulého roku mě napadla myšlenka. Vybodnout se na vrstvování a začít s úplně novým návrhem a napsat to v jazyce, který dokáže líp pracovat s objekty. Výsledek je pyweb. O co jde. Rozdělil jsem web na elementární části, které se skládají do sebe. Výsledkem je modulární toolkit, který jde krásně využít k poskládání dynamického webu nezávislého na grafice aniž by člověk napsal jedinou řádku (X)HTML. Zrušil jsem tedy neosvědčené vrstvení a tentokrát skládám kousky, které se o sebe starají sami. Výhodou je, že se to dá skládat růčo přímo v Pythonu (jazyk co jsem nakonec vybral) a nebo použít konfigurační yaml soubůrky a napsat tam co vlastně chci. Stejně tak pěkně se to dá i generovat pomocí nějakého WYSIWYG nástroje, ale o tom dále.
Nová cesta k webu?
Popisuju tady hrušku, ale zatím jsem se nezmínil co z ní vyleze za červa. Největším problémem mojí práce bylo nesmyslné opakování kódu. Pyweb je navržen tak že generuje celé weby. Napíšeme form("konfigurak") a vyflushne nám to formulář, vytvoří tabulku v databázi a udělá list uložených dat. Tohle odebere asi 80% práce, ale umí to mnohem víc. Pyweb nevygeneruje jen celou administraci, ale dokáže vygenerovat celý web včetně detailu položek v DB, různých statistik, menu, layoutu, atd. Jak to přibližně funguje nastíním dále.
Yaml vítězem
Pokud něco můžu zneužít tak to zneužiju a ve světě OSS to platí dvojnásob. Jelikož pyweb nakonec OSS bude, tak se nemusím bát po něm přejímat kód nebo vužívat různé cool nástroje. Yaml je jedním z nich. Yaml soubor je soubor, který se dá přečíst dobře jak člověkem tak strojem a je implementován v každém druhém jazyku. Založil jsem tedy pyweb na něm. Musím podotknout, že mě k tomu nakop Botanicus. O Yamlu se dá dočíst třeba tady.
Základem je formulář
Ač se to nezdá, dnešní webový svět je založen na formuláři, je to to co dá nejvíce práce. Proto je to hlavní nosná síla pywebu. Funguje to asi tak, že se napíše jeden yaml soubor s určitými daty se kterým pracuje pár dalších objektů. Jeden vygeneruje formulář pro zadávání a stará se o zadávání. Druhý vygeneruje tabulku s daty a tlačítky pro úpravu atp. Další vygeneruje statisitku (fajn pro ankety třeba). Další zase vypíše detail jedné položky případně k ní zobrazí i nějaké ty uploadované fotky a další kravinky. S tímhle si už člověk v pohodě vystačí a poskládá s tim web, který vyhovuje většině zadání. Díky tomuto totiž jde udělat yaml soubor, který definuje formulář pro článek, novinky, zprávy z čehokoli, prostě cokli kde je potřeba něco zadat.
Na webu je i text
Text je takovym velkym trnem v mém oku. Já sice vyvíjím pyweb, ale kolega Botanicus pracuje na WYSIWYG nástroji pro konfigurační yamly. Jazyk pro text je něco co musíme odsouhlasit oba a i když pyweb podporuje teď 2 jazyky a jeden je připraven pro implementaci, tak defaultně buden nastaven jeden. Botanicus je TeXař a já jsem spíš user, tak se nemůžeme shodnout na jedné základní věci. Nový řádek chci mít jako :n a on jako ---. Tabulku chci mít jako :table:XXX a on jako ---table:XXX---. Obrázek to samý v bledě modrym. Udělali jsme nakonec kompromis, který není nejlepší a myslím že to bude dělat problémy :(
Layouty
Moderní web jede na CSS layoutech. Rychleji se to kreslí, hůř se to dělá. V pywebu znamená layout něco trochu jiného než sada divů. Je to rozložení prvků na stránce. Jsou to takové boxíky, které dum8d0g nazval cubes do kterých se dají vkládat jednotlivě objekty (formy, listy, články, anekty, ...). Pyweb tak má nástroje, které přečtou layout a nahází do toho objekty, které obsahuje a web je hotov.
2CSS stačí
Pyweb na celý web potřebuje 2 CSSka, jedno nastavuje jak má vypadat layout a druhé barvičky. Jelikož je pyweb složen z elementárních objektů tak můžu jednoduše nastavit barvy pro celý web a vím že to bude vypadat stejně a žádnej kód nebude duplicitní. CSSko pro layout se nestará o barvy ale o rozměry jednotlivých cubes případně jejich pozadí.
Pouze balíček
Inspiroval jsem se unixovým světem a navrhnul tar.bz2 archiv, který obsahuje všechno co je potřeba pro grafickou podobu webu. Výsledek je takový, že udělám jenom seznam objektů, které potřebuji na webu, vyberu balíček a mám web hotový. Balíček tedy obsahuje zmíněná 2CSSka, jeden layout a obrázky, které jsou nutné pro design webu. Když je tedy potřeba změnit grafika tak se změní jen balíček a všechno ostatní zůstává. Easy... :)
DOCS
S takhle velkým projektem přišli i problémy s dokumentací. Potřeboval jsem aspoň něco jednoduchého a nejlíp možnost získat další potřebná data. Začal jsem tedy s vývojem pydocs. Je to malý skriptík co prolítne py soubor, vyseká z něj třídy, metody a funkce, dá je do souvislosti a přiřadí k nim komentáře začínající na #?(popisek metody,fce nebo třídy) a ##?(popisek na úvodu). Výstup je do normálních textových souborů a je to bez práce a pohodlný :)
Konec
Už píšu hodinu a nic moc mě nenapadá tak když tak pokračování příště, protože tohle rozhodně neni konec. Komplet pyweb bude OSS a bude k dispozici do pár týdnů. Jestli bude i WYSIWYG generátor yamlíků OSS nevím, ale Botanicus se určitě ozve v diskusi. Zatím se loučím a doufám, že to nebylo moc dlouhý :)
Tiskni
Sdílej:
cx@desktop:~/python/pyweb$ ./count.sh 218 dataForm.py 238 dataTable.py 36 div.py 215 files.py 306 form.py 26 io.py 119 imgs.py 50 listing.py 15 pywebgen.py 118 pyweb.py 365 sql.py 120 table.py 200 webgen.py 69 xhtml.py 75 menu.py 61 pysys.py 120 text.py 154 docs.py 2505 celkem
Ty myslíš na úrovni toho generátoru? No těch pár značek je namíchanejch v metodách gen() v každym objektu co něco vyflushává. Ono jich zas tolik neni, takže nemá smysl to oddělovat.
Teď nevím jestli si mě pochopil. Generátor negeneruje celý web, ale jenom část, která je zrovna vyžadovaná. Tedy vrací pouze jednu XHTML stránku. Ke zpracování dat z apache používám handler.
(define hello-template (lambda (jmeno) `(html (body (h1 "Hello world") (p ,jmeno)))) (define (hello-controler (request template) (let ((jmeno (get-name request))) ....... some other logic ....... (template jmeno)) (hello-controler request hello-template)