Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.
Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.
I letos vyšla řada ajťáckých adventních kalendářů: Advent of Code 2025, Perl Advent Calendar 2025, CSS Advent Calendar 2025, Advent of A11Y 2025, Advent of AI Security 2025, Advent of Agents (in Google) 2025, Advent of Svelte 2025, …
Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.
Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.
Už delší čas se rozmýšlím a pátrám, jaký jazyk nebo ještě lépe menší framework použít pro vývoj webového GUI. Jelikož se nejedná o žádný masově navštěvovaný web, není zde kladen důraz na výkon, ale o to více na bezpečnost.
Moje představy:
Asi bych měl poznamenat že se vyhýbám Javě, protože si myslím, že se vyplatí jí nasazovat jen u rozsáhlých projektů, nejvíc mi na ní vadí zbytečná paměťová náročnost. Nicméně pokud mne někdo chcete přesvědčit o opaku, nebráním se.
Už dlouho píši takovéto jednoduché aplikace v PHP, ale popravdě si nemyslím, že bych se v něm naučil řešit problémy čistě a rád bych přesedlal na jiného koně.
Zaujal mne Python, líbí se mi jeho syntaxe a multiplatformnost. Co mě trošku zaráží, je absence kompatibility mezi 2.x a 3.x verzemi, ale v zásadě se nejedná o stěžejní problém. Vyzkoušel jsem si tedy Django, ale narazil jsem na zcela zásadní problémy. Lze v něm sice spousty řešení napsat velmi rychle, nicméně pokud chcete udělat něco, s čím autoři nepočítali, můžete se snadno dostat do slepé uličky.
Pak jsem našel CherryPy, ve kterém jsem si zatím nic moc nevyzkoušel, ale asi se blíží mým představám nejvíce. Nesmířil jsem se ale s tím, že jeho webový server sežere přes 100MB paměti i s tím nejjednodušším skriptem a pravděpodobně neumí SSL.
Víte ještě o něčem jiném, co by stálo za vyzkoušení nebo mi nějak napomohlo?
Řešení dotazu:
Máš pravdu. Podle CherryPy wiki umí HTTPS od verze 3.0+. To mě docela mile potěšilo.
Ale stejně vidím problém v té paměti. Jelikož si chci dát dohromady GUI pro správu virtuálních strojů, rád bych co nejvíce paměti ušetřil právě pro ty virtuály. Ale možná by se vyplatilo použít Lighttpd a CherryPy na něj napojit skrz WSGI.
, který záleží na tom, na který webový server se aplikace posadí (díky WSGI je možné propojit skoro cokoliv s čímkoliv).
Padlo tu nějaké číslo - 100 MB zabrané paměti. Jediný pythonový proces, který mi na serveru běží a zabírá tolik paměti (kromě MySQL jediný vůbec
), je Plone, což je aplikace nad Zope, jedním z nejšílenějších pythonových počinů. A v Zope to hádám stejně dělat nebudeš
Opravdu ti proces pythonové webové aplikace (se samostatným webserverem) zabírá 100 MB? Nezaměnil jsi třeba hodnoty RSS a VSZ ve výpisu ps? Opravdu po spuštění webovky klesne volná paměť o 100 MB?
Pokud záleží na každém kilobajtu, nejlepší to asi bude udělat v C++
, jenom spuštění aplikace v Pythonu může zabrat jednotky desítek MB. Ale ne tolik. Nad hodnotu 100 MB to může pak časem nabobtnat, pokud se nějak neuváženě pracuje s pamětí (může stačit třeba jednorázové načtení velkého množství dat).
Teď trochu mimo, paměť by se dala ušetřit tím, že po dobu nečinnosti webová aplikace nepojede, což se celkem snadno zařídí spuštěním z nějakého minimalistického webového serveru přes FastCGI (nebo v horším případě CGI).
Mimochodem, co přesně je myšleno pojmem webové GUI? Dnes je to trochu buzzword, pod kterým bych si představil nějakou javascriptovou a AJAXovou šílenost v ExtJs, která se snaží ve webovém prohlížeči svým vzhledem a ovládáním co nejvíce přiblížit MS Office (nebo aspoň Gmailu). I takové věci v Pythonu jsou
Ale nejspíš máš na mysli prostě "jen" webovou aplikaci.
Volbu Pythonu chválím. Myslím si (a nejen já), že je to vhodná platforma i pro web; spolu s Ruby asi nejvhodnější. Ano, na Ruby se můžes také podívat, oba světy mi přijdou podobné v existenci jak "velkých frameworků" Django, Rails, tak i menších a pružnějších řešení typu CherryPy, Sinatra (a spousty dalších). V obou je pak na výběr hromada šablonovacích enginů, ORM atd.
Já osobně pro své projekty používám Werkzeug. Podobně jako CherryPy je to spíše knihovna řešící "jen" request a response objekty a mapování (routing) URL, jenom to na rozdíl od CherryPy a jiných dělá stylem, který se mi více líbí. Takových knihoven (nebo frameworků či mini-frameworků) existuje víc (namátkou WebOb, web.py, ...).
(Ne)kompatibilita mezi Pythonem 2.x a 3.x se na první pohled opravdu může zdát zvláštně. Vypadá to, že situace okolo 3.x není ještě moc dobrá pro webový vývoj, především, pokud mám aktuální informace, kvůli absenci specifikace WSGI. To je můj názor a teď ho do internetové diskuze píšu asi potřetí, tak bych zase nerad, abych tu nechtěně vytvořil nějakou fámu o totální nepoužitelnosti Pythonu 3
Je to věc, která se může rychle změnit a konečně dá se ověřit na webu, jaké frameworky/knihovny už umí Python 3 a jak. V případě pochybností bych doporučil použít Python 2.x s tím, že pozdější přechod na 3.x by neměl být takový (nebo vůbec nějaký) problém. Myslím si ale, že Python v tomhle není sám, podobná nekompatibilita existuje třeba mezi verzemi Ruby (1.8 a 1.9).
Opravdu to podle mne tolik paměti sežere. Tedy abych upřesnil - RSS je size pouze 9MB, ale VSZ 220MB. Pokud si zjistím stav paměti před spuštěním (třeba pomocí free), jsem na 22MB obsazené paměti, po spuštění na 160MB. Spouštím si jednoduchý skript "Hello world!" z jejich wiki, který běží na integrovaném webovém serveru.
Takto vypadá výpis z ps:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 19774 0.3 1.7 220156 9352 pts/0 Sl+ 08:23 0:00 python hello.py
Tohle se dá vytáhnout z kernelu:
Name: python State: S (sleeping) SleepAVG: 98% Tgid: 19774 Pid: 19774 PPid: 19694 TracerPid: 0 FNid: 101 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 256 Groups: 0 1 2 3 4 6 10 envID: 101 VPid: 19774 PNState: 0 StopState: 0 VmPeak: 220156 kB VmSize: 220156 kB VmLck: 0 kB VmHWM: 9352 kB VmRSS: 9352 kB VmData: 139192 kB VmStk: 84 kB VmExe: 4 kB VmLib: 6380 kB VmPTE: 248 kB StaBrk: 0783a000 kB Brk: 07a6b000 kB StaStk: 7fff125a1600 kB Threads: 14 SigQ: 0/38912 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000001001000 SigCgt: 0000000180004203 SigSvd: 0000000000000000 CapInh: 000000007dcceeff CapPrm: 000000007dcceeff CapEff: 000000007dcceeff Cpus_allowed: 7fffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff Mems_allowed: 00000000,00000001 TaskUB: 101 MMUB: 101
Teď mne napadlo hledat, jak snížit počet threadů, ve kterých ten server běží a zadařilo se, dostal jsem se těsně pod 50MB
Úplně o každý kilobajt ani megabajt mi nejde, hledám kompromis mezi časovou (z hlediska vývoje) a paměťovou náročností.
Přesně tak, webovým GUI mám na mysli webovou stránku prošpikovanou Ajaxem/Java scriptem, konkrétně mne v tomto ohledu velmi zaujalo použití jQuery a jQueryUI. Koukám že ExtJs je podobná záležitost. Server side poběží pouze v Pythonu a SQLite
Ruby vypadá zajímavě, ale nijak moc jsem jej nezkoumal. Možná proto, že nemám příliš důvěry v Ruby on Rails
Ale to je jen můj osobní postoj.
Rozhodně díky za vyčerpávající odpověď. Vypadá to, že se asi začnu zabývat CherryPy, když už se zadařilo snížit paměťové nároky. V tuto chvíli je pro mne už asi nejdůležitější jen dokumentace.
htop nebo prostřední řádek výpisu free). Spustím jakýkoliv skript v adresáři /usr/share/doc/python-cherrypy3/tutorial (třeba 01 nebo 09) a zabraná paměť se vyšplhá na 40 MB:
$ ps aux | grep [p]ython
messa 2716 1.0 2.1 173176 11224 pts/1 Sl+ 07:26 0:01 python tut01_helloworld.py
$ cat /proc/2716/status
Name: python
State: S (sleeping)
Tgid: 2716
Pid: 2716
PPid: 2499
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
FDSize: 256
Groups: 20 24 25 29 44 46 1000
VmPeak: 173180 kB
VmSize: 173176 kB
VmLck: 0 kB
VmHWM: 11224 kB
VmRSS: 11224 kB
VmData: 105992 kB
VmStk: 148 kB
VmExe: 1172 kB
VmLib: 4672 kB
VmPTE: 216 kB
Threads: 13
SigQ: 0/4095
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000001001000
SigCgt: 0000000180004003
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed: 00000001
Cpus_allowed_list: 0
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 193
nonvoluntary_ctxt_switches: 77
$ free -m
total used free shared buffers cached
Mem: 499 182 317 0 16 124
-/+ buffers/cache: 40 459
Swap: 478 0 478
Příští týden budu mít více času, tak to schválně zkusím na různých verzích OpenVZ. Někde mi běží kromě stable verzí i různé vývojové. Snad je to jen nějaká maličkost. Možná je tam implementována alokace paměti nějakým jiným způsobem než v defaultním kernelu. Docela by bodlo přijít tomu na kobylku.
Moc díky za pomoc. Už jsem pomalu uvažoval o upuštění od CherryPy, ale tohle mě nakoplo a můžu postupovat dál 
Tiskni
Sdílej: