Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.
Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀
Apple představil nové čipy M5 Pro a M5 Max, MacBook Pro s čipy M5 Pro a M5 Max, MacBook Air s čipem M5 a Studio Display a nový Studio Display XDR.
Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.
Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Apple představil iPhone 17e a iPad Air s čipem M4.
Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.
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
Mimochodem, docela hezký Hello world je ve web2py book: JSONRPC a Pyjamas
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