Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.
Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.
Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.
Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.
Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …
Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.
Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).
DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.
Dlouho jsem tu nic nenapsal, to ale neznamená, že abíčko nesleduji. Chybí mi tu ale víc programátorských blogů, tak to zkusím sám napravit.
V JavaScriptu postrádám Python-style volání super při použití dědičnosti. Proto jsem si napsal vlastní řešení. Až potom jsem našel, že existují podobné implementace.
JavaScript nemá syntaktickou podporu pro vytváření tříd. Proto si nejprve implementujeme jednoduchý class-builder. Prefix $ jsem zvolil pro zdůraznění systémovosti.
var $class = function(fn, fn2) {1 if(fn === undefined) { return function () {}; } else if(fn2 === undefined) { fn2 = function () { fn.apply(this, arguments); }; } for(var i in fn.prototype) { fn2.prototype[i] = fn.prototype[i]; } return fn2; };
Helper funkce $class nám umožní vytvářet třídy 3 způsoby.
1) První způsob volání $class se neliší od prostého var Animal = function() {};
var Animal = $class(); Animal.prototype.sayHello = function() { alert("I'm animal"); }; var myAnimal = new Animal(); myAnimal.sayHello();
2) Druhý způsob volání $class umožňuje vytvořit třídu s konstruktorem:
var Animal = $class(function () { alert('Initializing animal...'); });
3) Konečně poslední způsob volání $class je vytváření tříd děděním.
var Dog = $class(Animal, function() { alert('Initializing dog...'); }); Dog.prototype.sayHello = function() { alert("Hi, I'm dog"); }; var myDog = new Dog();Problém nastane, pokud potřebujeme volat z jakéhokoliv místa konstruktoru Dog i konstruktor Animal. To samé pro metodu sayHello. V Pythonu prostě na správném místě voláme super a je to.
super(Dog, self).__init__() super(Dog, self).sayHello()
V JavaScriptu si super naimplementujeme takto:
var $super = function(fn, $this) { return function() { return fn.apply($this, arguments); }; };
Použitím helper funkce $super získáme přístup k metodám předka. Funkce $super samozřejmě umožňuje předávat i argumenty.
var Dog = $class(Animal, function() { alert('Initializing dog...'); $super(Animal, this)(); alert('Dog initialized'); }); Dog.prototype.sayHello = function() { alert("Hi, I'm dog"); $super(Animal.prototype.sayHello, this)(); alert("Goodbye, dog!"); };
To je vše, pokud budou následovat další blogy, budou především o Pythonu, který je můj chlebodárce
Tiskni
Sdílej:
super()
a __init__
a nepoužít raději pyjamas? Z myšlenky psát webovou aplikaci v jednom jazyce, který umím (tím odpadá server side Javascript), jsem docela nadšený.
O server side JS v mem blogu nepadlo ani slovo, jak jsi na to prisel? Popravde-nikdy by me nenapadlo na server cpat JS.Protože psát aplikaci v X jazycích je prostě opruz
super
$super(Animal.prototype.sayHello, this)();
použiješ ve funkci sayHello toto:this._super();
.
"Třída" vznikne takto:
var Animal = Class.extend({ // members });Odvozená třída vzniká takto:
var Dog = Animal.extend({ // members });Čistě osobní pocity