Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
<phone:PhoneApplicationPage x:Class="SmartDial.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:helpers="clr-namespace:SmartDial.Helpers" xmlns:viewmodels="clr-namespace:SmartDial.ViewModels" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True"> <phone:PhoneApplicationPage.DataContext> <viewmodels:MainViewModel /> </phone:PhoneApplicationPage.DataContext> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Button Content="Sample button" /> </Grid> </phone:PhoneApplicationPage>Hlavní pes nechť je zakopán v této poloze:
using System; namespace SmartDial.Helpers { public class ContactsCache { protected readonly ContactsCache _instance = new ContactsCache(); public ContactsCache Instance { get { return _instance; } } static ContactsCache() { } public ContactsCache() { } }Tato třída je jedním z návrhů singletonu, neboli třídy, u které chceme, aby měla vždy jen jedinou instanci přístupnou přes
ContactsCache.Instance
. Ovšem pozor, u konstruktoru mi přebývá klíčové slovo public
a mám ještě jednu zradu v klíčových slovech - u _instance a Instance mi chybí static
.
Proč je tak důležité, aby konstruktor singletonu nebyl public? Podívejte se na následující průšvih a spojte si ho s předchozím kódem:
public class MainViewModel { public MainViewModel() { this.ContactsCache = new ContactsCache(); } public ContactsCache ContactsCache; }Singleton je obvykle třída navržená s záměrem, aby měla pouze jednu jedinou instanci, tedy u mě
Instance
. Současný návrh singletonu ovšem umožňuje vytvářet i další instance a společně s tímto kusem kódu způsobí, že po prvotním vytvoření instance třídy se budou neustále vytvářet další instance (taková malá rekurze), čímž dojde k přetečení zásobníku a následně k vyvolání výjimky System.StackOverflowException.
PhoneApplicationPage.DataContext
), který v konstruktoru volá výše zmíněný řádek kódu (new ContactsCache()
), Visual Studio a Expression Blend se budou pokoušet načíst strukturu ViewModelu, tedy zavolají konstruktor ViewModelu, ten zavolá zase konstruktor ContactsCache (- poslední krok se opakuje do nekonečna) - a proto po krátké době spadnou. A zase kvůli StackOverflowException. Nejsou ty nové technologie prostě skvělé?
Tiskni
Sdílej:
interface Interface<T> {} class Bang<T> implements Interface<Interface<? super Bang<Bang<T>>>> { static void bang() { Interface<? super Bang<Byte>> bang = new Bang<Byte>(); } }