Makepad dospěl do verze 1.0 (𝕏). Jedná se o multiplatformní open source UI framework pro Rust napsaný v Rustu.
Konference OpenAlt 2025 hledá přednášející. Proběhne o víkendu 1. a 2. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 153 (pdf)
Byl publikován květnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Programovací jazyk Rust (Wikipedie) dnes slaví 10 let od vydání verze 1.0. Přímo na oslavě byla vydána nová verze 1.87.0. Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Evropská komise obvinila provozovatele čínské platformy TikTok z porušování pravidel EU kvůli netransparentnosti v reklamě. Komise, která v EU plní i funkci antimonopolního úřadu, to dnes uvedla v tiskové zprávě. TikTok, který patří čínské firmě ByteDance, se může k předběžnému nálezu vyjádřit. Pokud ale podezření komise nevyvrátí, hrozí mu pokuta až do šesti procent z ročního globálního obratu.
Sovereign Tech Agency (Wikipedie), tj. agentura zabezpečující financování svobodného a otevřeného softwaru německou vládou, podpoří GFortran částkou 360 000 eur.
Microsoft hodlá zrušit zhruba tři procenta pracovních míst. Microsoft na konci loňského června zaměstnával kolem 228.000 lidí. Tři procenta z tohoto počtu představují téměř 7000 pracovních míst.
V říjnu loňského roku provedl Úřad pro ochranu hospodářské soutěže (ÚOHS) místní šetření u společnosti Seznam.cz. Krajský soud v Brně tento týden konstatoval, že toto šetření bylo nezákonné.
Branch Privilege Injection (CVE-2024-45332, Paper) je nejnovější bezpečnostní problém procesorů Intel. Intel jej řeší ve včerejším opravném vydání 20250512 mikrokódů pro své procesory. Neprivilegovaný uživatel si například může přečíst /etc/shadow (YouTube).
1 2 3 4 5 6 1 2 3 4 5 6 6 1 2 3 4 5→5 1 2 3 4→4 5 1 2 3→3 4 5 1 2→2 3 4 5 1→1 2 3 4 5 6 1 2 3 4 5
public void orotujMatici() { int predchozi = 1; for (int i = 0; i < zadanaMatice.length - 1; i++) { for (int j = 0; j < zadanaMatice[0].length - 1; j++) { if((i == 0) && (j == 0)) predchozi = zadanaMatice[pocetRadku - 1][pocetSloupcu - 1]; if((j == 0) && (i != 0)) predchozi = zadanaMatice[i-1][pocetSloupcu - 1]; if(j != 0) predchozi = zadanaMatice[i][j - 1]; orotovanaMatice[i][j] = predchozi; } } }
class Matice: Matice (pocet_radku, pocet_sloupcu): M = new int[pocet_radku * pocet_sloupcu]; offset = 0 int prvek(int radek, int slupec): return M[ (pocet_sloupcu * radek + sloupec + offset) % (pocet_radku * pocet_sloupcu) ]; void orotuj(): offset += pocet_radku * pocet_sloupcu - 1; offset %= pocet_radku * pocet_sloupcu;a obesel bych se uplne bez kopirovani pameti. Samozrejme v realny aplikaci by volba konkretniho algoritmu zalezela na spouste dalsich faktoru ( napr. jak casto budu provadet tuhle operaci a jak casto nejaky jiny ? je tahle reprezentace matice vhodna i pro ostatni operace s ni ? atd. ... )
orotovanaMatice[0][0]= zadanaMatice[pocetRadku - 1][pocetSloupcu - 1]
Ale tak, ako som to pôvodne pochopil, by malo byť možné použiť systém, kedy máš metódu, ktorá zarotuje len jeden riadok a túto metódu postupne zavolať na všetky riadky. Inými slovami, nemá dochádzať k presunu medzi riadkami (a fungovanie takej metódy som navrhol vyššie). Ako je to? Daj príklad, na maticu, ktorá má viac ako jeden riadok.
Zdenek: pri tvojom riešení vymieňaš prvky. To znamená 3 priradenia na jeden krok. Pri mojom riešení, je to len jedno.
program shift_array implicit none integer, parameter :: max=6 integer :: i, j integer :: a(max) a = (/1, 2, 3, 4, 5, 6/) print'(a12,x,6(i2,1x))',"A(puvodni)= ",(a(i), i=1,max) a = cshift(a,-1) print'(a12,x,6(i2,1x))',"A(nova)= ",(a(i), i=1,max) end program shift_arrayA potom
[milan@penguin-shift-array]$ gfortran -o shift-array shift-array.f90 [milan@penguin-shift-array]$ ./shift-array A(puvodni)= 1 2 3 4 5 6 A(nova)= 6 1 2 3 4 5 [milan@penguin-shift-array]$
Tiskni
Sdílej: