Národní bezpečnostní tým CSIRT.CZ koordinovaný sdružením CZ.NIC přichází se službou Strážci internetu, která má sjednotit způsob hlášení doménových jmen zneužívaných k páchání trestné činnosti. Službu mohou uživatelé využívat také prostřednictvím rozšíření do prohlížeče. Nový nástroj podporuje jak hlášení vyžadující autorizaci, tak anonymní reporting, u kterého však nebude možné zapojit takovou míru automatizace jako u
… více »Firefox pro iOS přichází s integrovaným blokováním reklam. Funkce je ve výchozím nastavení vypnutá a lze ji aktivovat v Settings > Browsing > Ad Blocker.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila (𝕏) open-source robota Microduck. Předobjednat jej lze za 340 eur.
Open-source autonomní AI agent OpenClaw (Wikipedie) byl vydán ve verzi 2026.8.1 aneb 2.0. Přehled novinek v poznámkách k vydání.
Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším
… více »Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.
Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.
Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.
Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.
IKEA a XBOX představují kolekci YXSTABY (pdf). Ta přináší designová a praktická řešení, díky nimž se prostor pro hraní během sekundy promění v útulný a harmonický domov.
<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é?
A nejlepší je, že kompilátor si něčeho takového ani nevšimne.
DOPLNĚNÍ: Visual Studio při pádu tímto způsobem prostě zmizí, v event logu sice dostane místečko, ale nic se z toho nedozvíte. Musíte tedy jednou instancí Visual Studia debugovat další instanci Visual Studia, abyste zjistili, co se vlastně stalo.
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>();
}
}