Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
Pro moddery Minecraftu: Java edice Minecraftu bude bez obfuskace.
Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].
Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.
Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
read y
${pole[$y]}
ale v okamziku preklepu jsem na mrtvem bode.
            
check() {
	what=$1
	shift
	for i in $@; do
		[ "$what" = "$i" ] && return 0
	done
	return 1
}
while true; do
	read x
	check $x alpha beta gamma && break
done
echo $x
            while true; do   
    read x
    check $x alpha beta gamma && break  
done
Je-li splněna podmínka true, provede se cyklus. Protože následně volám funkci, která vrací true, nebo false, cyklus bud probehne, nebo ne.
Volám funkci check a $x, kterou zadal uživatel odesílám jako první poziční parametr. alpha beta gamma odesílám jako další poziční parametry.
Takže takhle může přece odeslat přímo to pole a zpracuje se to stejně???
check $x ${pole[*]}
funkce check()
definuju promenou what=$1, což znamená, že ji přiřadím první poziční prametr, tedy naše $x, který zadal uživatel.
shift zajistí posun poz. par.
a následně v cyklu for přiřadím prom. i všechny poziční parametry pomocí $@.
[ "what" = "i" ] && return 0jestli se what = i, tedy jestli naše zadané $x se najde ve výpisu poz. par. ($@), pak funkce vrátí nepravdu a protože podmínka cyklu while nebyla splněna, cyklus neproběhne a script pokračuje dalším příkazem. Zde mám nejasnost s shift. Neměl by být umístěn později? Když posunu poz. param., tak $1 zmizí a na její místo se posune $2. To by přece znamenalo, že už potom nebude figurovat v $@ a tedy se nesplní podmínka [ "what" = "i" ] No ono to funguje, takže tohle nechápu. Mě připadá logické umístit shift na konec funkce.
check očekává jako 1. parametr to zadané x (jehlu) a na všech dalších pozicích seznam povolených hodnot (kupku sena). Když si do what přiřadím $1 a provedu shift, v seznamu parametrů mi zbudou jen ty povolené hodnoty. Pokud je při provádění cyklu splněna podmínka [ "$what" = "$i" ], znamená to, že jehla se v kupce sena našla a funkce tím pádem vrátí pravdu (nulová návratová hodnota znamená úspěch). Pokud cyklus proběhne do konce a jehla se nenajde, funkce vrátí 1, což značí neúspěch. check bych nazval funkcí s negativním očekáváním.
Cyklus while true sám o sobě nikdy neskončí – true bude pravda až do konce světa  .
.
check $x alpha beta gamma && break znamená, že v případě úspěchu funkce check() se nekonečný cyklus přeruší a program pokračuje dál. break je jedna z možností, jak přerušit nekonečný cyklus. Jestli z nějakého jazyka znáš cyklus s logikou do – while, tak tohle je obezlička pro jazyky, které mají jen while – do:
while (true) {
  delej_neco();
  if (!podminka) {
    break;
  }
}
Volání pomocí check $x ${pole[*]} je samozřejmě v pořádku.
            ${pole[@]} místo ${pole[*]} popř. $@ místo $* kde to jen jde, poměrně často se vyskytne podmínka že hodnoty v poli mohou obsahovat mezery.
            
A="ls -a"
$A
A="ls -a"
"$A"
zahlásí chybu, že program "ls -a" neexistuje. Je ale výjimka: pokud do uvozovek dáte proměnnou $@ nebo ${xxx[@]}, expanze na pole se provede, ale ne podle IFS (mezery apod.), ale tak, aby byly zachovány původní parametry/prvky pole. Příklad (spusťte a sledujte chybové hlášky):
set ls "adresář neexistuje"
$*
"$*"
$@
"$@"
Závěr: když nechcete expanzi, používejte @ místo * a dávejte to do uvozovek.
            
in_array() {
  local i
  needle=$1
  shift 1
  for i in "$@"; do
    [[ "$i" == "$needle" ]] && return 0
  done
  return 1
}
pole[0]=foo
pole[1]=bar
pole[2]="dve slova"
read slovo
in_array $slovo "${pole[@]}" && echo ok
            in_array()
{
  local i
  needle=$1
  shift 1
  # array() undefined
  [ -z "$1" ] && return 1
  for i in $@
  do
    [ "$i" == "$needle" ] && return 0
  done
  return 1
}
pole[0]=foo
pole[1]=bar
pole[1]="dve slova"
read slovo
if in_array $slovo ${pole[@]}; then
  echo ok
else
  echo ko
fi
            
  # array() undefined
  [ -z "$1" ] && return 1
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                