Apple dnes představil 14palcový MacBook Pro, iPad Pro a Apple Vision Pro s novým čipem M5.
Debian pro mobilní zařízení Mobian (Wikipedie) byl vydán ve verzi 13 Trixie. Nová stabilní verze je k dispozici pro PINE64 PinePhone, PinePhone Pro a PineTab, Purism Librem 5, Google Pixel 3a a 3a XL, OnePlus 6 a 6T a Xiaomi Pocophone F1.
Operátor O2 představil tarif Datamanie 1200 GB . Nový tarif přináší 1200 GB dat s neomezenou 5G rychlostí, a také možnost neomezeného volání do všech sítí za 15 Kč na den. Při roční variantě předplatného zákazníci získají po provedení jednorázové platby celou porci dat najednou a mohou je bezstarostně čerpat kdykoli během roku. Do 13. listopadu jej O2 nabízí za zvýhodněných 2 988 Kč. Při průměrné spotřebě tak 100 GB dat vychází na 249 Kč měsíčně.
Byly publikovány informace o útoku na zařízení s Androidem pojmenovaném Pixnapping Attack (CVE-2025-48561). Aplikace může číst citlivá data zobrazovaná jinou aplikací. V demonstračním videu aplikace čte 2FA kódy z Google Authenticatoru.
Free Software Foundation (FSF) spustila projekt Librephone, jehož cílem je vytvoření svobodného operačního systému pro mobilní telefony. Bez binárních blobů.
Byla vydána verze 7 s kódovým název Gigi linuxové distribuce LMDE (Linux Mint Debian Edition). Podrobnosti v poznámkách k vydání. Linux Mint vychází z Ubuntu. LMDE je postaveno na Debianu.
Byl vydán Mozilla Firefox 144.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 lepší správu profilů. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 144 bude brzy k dispozici také na Flathubu a Snapcraftu.
Discord potvrdil únik osobních údajů přibližně 70 000 uživatelů. Incident se týká uživatelů po celém světě, především těch, kteří v rámci ověřování svého věku nahráli do aplikace doklad totožnosti. Únik informací se netýkal systémů samotné platformy, ale došlo k němu přes kompromitovaný účet pracovníka zákaznické podpory u externího poskytovatele služeb.
Americká společnost OpenAI, která provozuje chatbota ChatGPT, kvůli výrobě vlastních procesorů pro umělou inteligenci (AI) spojí síly s firmou Broadcom. Firmy o tom informovaly (en) ve svém včerejším sdělení. OpenAI se snaží zajistit si výpočetní výkon potřebný k uspokojení rostoucí poptávky po svých službách. Akcie Broadcomu po zprávě výrazně zpevnily.
O víkendu 18. a 19. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, "festival tvořivosti, vynálezů a bastlířské radosti", a GameDev Connect, "akci určenou pro všechny současné a hlavně budoucí herní vývojáře, kteří touží proniknout do jednoho z nejúžasnějších průmyslů na světě".
Ahoj, narazil jsem na problémek se sestavením algoritmu pro generování náhodných znaků. Ne nejedná se o domácí úkol nebo podobně. Zadání tohoto příkladu bylo u zkoušky z programování v pascalu. Přiznávám trochu jsem se do toho zamotal. Takže zadání bylo následující: Generuj náhodný počet náhodných znaků v rozmezí 150 až 250 znaků z množiny čísel 0 až 9 a velkých a malých písmen anglické abecedy. Generované znaky musí být v poměru zadaném uživatelem. Tz. např. 30% znaků čísel. Generované znaky zapiš do souboru a to náhodně. Nešlo tedy vygeneroval 30% znaků čísel zapsat do souboru a dogenerovat znaky písmen do 100% celkového počtu znaků. Výsledkem měl být soubor, kde bude např. celkem 100 znaků, z toho 30 znaků čísel a 70 znaků velkých a malých písmen.
Ideu jak to udělat jsem měl, ale .... Případ kdy je 100 nebo 0 procent čísel je v pořádku. Problém mám kdy je to mezi
Myslel jsem něco jako
pom:=random(2); if (pom=0) then ............... "generuj cislo"; else if pom(1) then begin pom:=random(2); if (pom:=0) then ....... "generuj male pismeno" else .................. "generuj velke pismeno" end;celé to zaobalit do for i:=1 to celkovy_pocet_znaku. Jenze se mi nějak nedaří dostat tam tu podmínku dodržení procent znaku/cisel. Podařilo se mi, že podmínka byla dodržena, ale měl jsem o 1 nebo 2 znaky více, nebo mi seděl celkový počet znaků, ale neseděli procenta. Nemáte někdo nějaký nápad jak z toho? Pro tu zkoušku to už není podstatné, jen mi to leží v hlavě
Tiskni
Sdílej:
short cisel = 0.3; // 30% tohle at se vsechno nastavi nekde na vstupu short pismen = 0.7; // 70% int celkem = 100; int celkem_cisel = celkem*cisel; int celkem_pismen = celkem*pismen; for (i=0,i<=celkem ,i++){ srand((unsigned)time(0)); // aby cisla byla na pohled nahodna int rozhodovac = rand(); if (((rozhodovac%2)=0 && celkem_cisel>=0) || celkem_pismen=0){ // generovani 1 cisla se zapisem do souboru atd., nechce se mi nad tim premyslet --celkem_cisel; } if (((rozhodovac%2)!=0 && celkem_pismen>=0 || celkem_cisel=0){ // generovani 1 pismena se zapisem do souboru atd --celkem_pismen; } }
import random import re # vrati znak 0-9 def getNumber(): return chr(random.randrange(ord('0'), ord('9'))) # vrati A-Za-z def getChar(): ret = chr(91) while not re.match('[A-Za-z]', ret): ret = chr(random.randrange(ord('A'), ord('z'))) return ret # pomer pouze ciselnych ku neciselnym num_ratio = 0.3 # celkovy pocet cisel count = random.randrange(150, 250) # generovani while count: if (random.randint(0, 99) <= 100*num_ratio): print getNumber() else: print getChar() count -= 1Dokonalejší verze by si ještě pamatovala počty už vygenerovaných čísel/znaků, ale s tím se mi popravdě už psát nechtělo
(define (gen-items noitems fromc toc) (if (= noitems 0) '() (append (gen-items (- noitems 1) fromc toc) (list (integer->char (+ (random (+ (- (char->integer toc) (char->integer fromc)) 1)) (char->integer fromc))))))) (define (shake noshakes str) (if (= noshakes 0) str (let* ((pos1 (random (string-length str))) (pos2 (random (string-length str))) (ch1 (string-ref str pos1)) (ch2 (string-ref str pos2))) (string-set! str pos1 ch2) (string-set! str pos2 ch1) (shake (- noshakes 1) str)))) ;Tohle si definuje uzivatel (define nonums 0.2) (define nosc 0.3) (define nolc 0.5) ;A tohle uz se pocita (define noitems (+ 150 (random (+ 1 (- 250 150))))) (define str (list->string (append (gen-items (inexact->exact (round (* noitems nolc))) #\A #\Z) (gen-items (inexact->exact (round (* noitems nosc))) #\a #\z) (gen-items (inexact->exact (round (* noitems nonums))) #\0 #\9)))) (shake (* (string-length str) 2) str)
(use srfi-13) (use srfi-27) ;; Ze znaku retezce retezec generuje nahodny retezec delky delka ;) (define (nahodny-retezec retezec delka) (string-tabulate (lambda _ (string-ref retezec (random-integer (string-length retezec)))) delka)) ;; nahodne prohazi seznam (define (prohazej seznam) (map cdr (sort (map (cut cons (random-real) <>) seznam) (lambda (a b) (< (car a) (car b)))))) (define (generuj delka) (let* ((cislic (round (* 0.3 delka))) (retezec-k-prohazeni (string-concatenate (map nahodny-retezec '("abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ" "0123456789") ; mnoziny znaku (list (- delka cislic) cislic))))) ; prislusne pocty (list->string (prohazej (string->list retezec-k-prohazeni))))) (dotimes (i 10) (display (generuj 20)) (newline))
CHARS = (('a'..'z').to_a + ('A'..'Z').to_a) NUMS = (0..9).to_a def generate(l) c = (l*0.3).round t = [[CHARS, l-c], [NUMS, c]].map{|ch, n| Array.new(n){ch[rand(ch.size)]}} t.flatten.sort_by {rand}.join endPřijde mi rozumně kompaktní a dá se rozšířit na více skupin ekvivalence
if ((procent>0) and (procent<100)) then {generuje pismena i znaky} begin cisel:=Int((pocet/100)*procent); pismen:=(pocet-cisel); c:=0; p:=0; for i:=1 to ((pocet)) do begin pom:=random(2); if ((pom=0) and (c<>cisel)) then generuj_cisla; if ((pom=0) and (c=cisel)) then generuj_znaky; if ((pom=1) and (p<>pismen)) then generuj_znaky; if ((pom=1) and (p=pismen)) then generuj_cisla; end end;Generuj_cisla a generuj_znaky jsou procedury, které vypadají takto :
procedure generuj_cisla; begin znak := random(10)+48; {generuje cisla} c:=c+1; write(vystup,chr(znak)); end; procedure generuj_znaky; begin if (random(2))=0 then begin znak := random(26)+65; {generuje velka pismena} p:=p+1; write(vystup,chr(znak)) end else begin znak := random(26)+97; {generuje male pismena} p:=p+1; write(vystup,chr(znak)); end; end;Netušíte někdo jak to odladit aby mi neulítával ten jeden či dva znaky? Vyjma možnosti, že je na konci spočítám a přebývající smažu.
int main(int argc,char **argv) { // pocet znaku const int count = 1000; // pomer float rate = 0.256; int zero_rate = (int)(rate*(float)count); int sum = count; int z_cnt = 0; int o_cnt = 0; do { if (rand()%sum < zero_rate) { putchar('0'); z_cnt++; zero_rate--; } else { putchar('1'); o_cnt++; } } while(--sum > 0); register float f_count = (float)count; printf("\nfinal rate: %f : %f\n",(float)z_cnt/f_count,(float)o_cnt/f_count); return 0; }
cat /dev/urandom | tr -cd A-Za-z0-9 | fold -w8 | head -n 1