Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-05-2007, 19:13   #101
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Per inserire i valori basta infilarli nella collezione di decibel usata per costruire l'audiogramma. Ora è:

Codice:
Collection<Decibel> decibel = Utils.creaInsiemeDecibel(
			null, 10, 15, 20, 25, 30, 40, 50, 55, 60, 70, 80, 90, 100);
tu dirai:

Codice:
Collection<Decibel> decibel = Utils.creaInsiemeDecibel(
			null, 5, 10, 15, 20, 25, 30, 35, 40, 45, eccetera
Per cambiare il disegno della griglia devi manipolare il codice di PainterAudiogramma. La "logica" del disegno da parte di PainterAudiogramma è spiegata negli appunti. Trascurando la parte relativa al disegno degli elementi (intestazioni di riga e di colonna e etichette sparse) il resto è una semplice griglia: tot linee verticali, tot linee orizzontali. A disegnare una linea in mezzo o a non disegnare qualcosa si fa presto.

Nota che PainterAudiogramma è incompleto: manca, in particolare, un metodo che consenta di calcolare le dimensioni del componente a partire dai dati dell'audiogramma e un insieme di attributi di rendering (font, altezza delle righe, larghezza delle colonne eccetera). Ora c'è un forfait di 600x600 pixel ma quella misura va tolta e determinata dinamicamente. Comunque conta avere un'idea della struttura del programma che, tra l'altro, è solo una delle possibili.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2007, 10:16   #102
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Ho modificato le caselle combinate in modo da poter scegliere tutti i multipli di 5 ma in questo modo mi compaiono anche sulla griglia i vari 5, 15, 35, 45... che non devono esserci. Adesso comunque sto leggendo i tuoi appunti e sono arrivato alla spiegazione del Paintergriglia per cercare di capire come modificarla

Negli appunti ho trovato cose del tipo

PERDITA IN DECIBEL
H
W
(0, 0)
x=w/2
wd
hd
FREQUENZA Hz
x=w/2
125 250 500 ...
Wf

Non riesco a capire cosa significa questa lista
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2007, 10:41   #103
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Sono coordinate o dimensioni o etichette.

Prendi il disegno di pagina 36.

Il rettangolo con dentro la scritta "PERDITA IN DECIBEL" rappresenta l'etichetta "PERDITA IN DECIBEL" che si vede sul disegno che hai incollato nel forum.

Il valore (0, 0) collegato con una freccia nera all'angolo superiore sinistro dell'etichetta "PERDITA IN DECIBEL" sta a significare che a quell'angolo superiore sinistro corrisponderà il punto di coordinate (0, 0)...

Azz. Mi sono accorto solo adesso che Open Office m'ha sballato tutti i disegni. Ma vaff...

Aspetta che li metto a posto...
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2007, 11:35   #104
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Oook. Fatto

pdf aggiornato

Ora che le etichette corrispondono alle linee di quotatura e le che le linee di quotatura corrispondono agli spazi, la cosa dovrebbe essere comprensibile .
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2007, 12:13   #105
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Mitico grazie
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2007, 17:34   #106
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Due domande:
  1. Che significa il parametro di questo metodo "int.....values" ?
    public static Collection<Decibel> creaInsiemeDecibel(int...values)
  2. Perchè hai definito i Decibel e le Frequenze come oggetti ArrayList e non array di interi ? Per poter inserire anche il valore null ?

Thanks
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2007, 18:28   #107
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
la notazione

tipo...nome

indica un vararg. Un vararg è un parametro a lunghezza variabile. Dire

int...values

significa che il metodo può ricevere come argomento un numero variabile (da zero a n) di valori di tipo int.

E' più che altro una comodità sintattica.

Ho creato i tipi Decibel e Frequenza per una questione di significato. Quelle cose lì rappresentano decibel e frequenze. Stante il nome, è difficile che la cosa sfugga. C'è una teoria delle scienze cognitive dietro a questo essere così espliciti. Questa teoria dice che l'acquisizione di conoscenza di un fenomeno richiede meno concentrazione da parte di un essere umano se il fenomeno è costruito in modo tale da suggerire, in tutto o in parte, il proprio significato. E' chiamata memoria esterna e spiega come fa un cervello da meno di 1 gigabit a sapere tutto quello che sa. Ma questa è un'altra storia...
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2007, 11:46   #108
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Perchè valoriDecibel e valoriFrequenze sono definiti HashSet e perchè devo ordinare questi valori quando li vado a prelevare per costruirmi il pannello inserimento dati ?
Perchè hashset è un insieme non ordinato di oggetti ?

Thanks
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2007, 12:06   #109
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Esatto. Ordino i valori perchè l'hashset non è ordinabile.

Uso HashSet nell'audiogramma perchè questo tipo di struttura dati ha un tempo di accesso ai suoi elementi per lo più costante.

In pratica se voglio sapere se il Decibel X esiste nell'hashset otterrò una risposta il cui tempo di esecuzione non dipende da quanti Decibel ho già inserito nella struttura dati.

Dato l'esiguo numero di elementi trattati dall'audiogramma ed il tipo di manipolazioni richieste non penso che si noterebbe la differenza tra un hashset, con accesso O(1), e una lista, con accesso O(n). Ma ci sono abitudini maturate in diversi contesti che uno trasferisce più o meno consapevolmente in ogni software che scrive.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2007, 20:05   #110
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Ok ho capito grazie.

Non ho mai visto questa sintassi, cioè dopo il costruttore parentesi graffe e altro codice . Negli appunti tu parli di campi ? Ho cercato in rete ma non ho trovato nulla

Codice PHP:
private ActionListener ascoltatoreEventiJComboBox = new ActionListener() {
public 
void actionPerformed(ActionEvent e) {
JComboBox box = (JComboBox)e.getSource();
ModelloCasellaDecibel modello = (ModelloCasellaDecibel)box.getModel();
Frequenza frequenza modello.getFrequenza();
Decibel decibel modello.getSelectedItem();
Rilevamento.Lato lato modello.getLato();
audiogramma.setDecibel(frequenzalatodecibel);
}
}; 
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2007, 20:24   #111
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
La forma citata è, per la parte a destra dell'uguale, la creazione di un'istanza di una classe interna [NON locale] anonima che concretizza un'interfaccia.

ActionListener è un'interfaccia.

Sai che non si può dire:

ActionListener x = new ActionListener();

Perchè un'interfaccia non è istanziabile.

Se alle parentesi tonde fari seguire quelle graffe:

ActionListener x = new ActionListener() {};

il compilatore interpreta la cosa come:

Codice:
class Anonima implements ActionListener {

};
ActionListener x = new Anonima();
cioè crea una classe interna (perchè la sua dichiarazione interviene all'interno del corpo di un'altro tipo), [che sarebbe locale se la sua dichiarazione intervenisse all'interno del corpo di un metodo o di un blocco di inizializzazione] anonima (il programmatore non specifica il nome della classe dichiarata). Con questa classe, interna locale anonima, crea poi un'istanza e la assegna alla variabile desiderata.

Campo è il termine con cui, in Java, ci si riferisce alle variabili direttamente contenute nel corpo di una classe. Intendo per contenimento diretto l'intervento della dichiarazione della variabile all'interno del blocco di codice che definisce il corpo di una classe e all'esterno di qualsiasi altro blocco presente nella classe. Un blocco è la successione di enunciati racchiusi tra due parentesi graffe, incluse.

Ps

M'era sfuggito il "private" a sinistra della dichiarazione del campo "ascoltatoreEventiJComboBox". Essendo private un modificatore apponibile ai soli membri (o ai costruttori), e non potendo un membro essere locale, ecco che la classe anonima implicitamente dichiarata ed esplicitamente definita a destra dell'uguale non risulta "locale". E' semplicemente "interna anonima".
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!

Ultima modifica di PGI-Bis : 05-05-2007 alle 20:28.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:05   #112
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Sto imparando un sacco di cose

Non mi è chiarissimo questa parte di codice nella classe Main
Prima di eseguire il metodo start quali sono gli eventi "pendenti" nel nostro caso?

Codice PHP:
// Ogni thread diverso da EventDispatcher (Thread, unico, che si occupa di gestire il mutamento di tutti i 
// componenti di un'interfaccia grafica Swing) che voglia aggiornare un componente Swing deve   
// trovare il modo di "infilare" la richiesta di aggiornamento nella coda di esecuzione di  
// EventDispatcher. invokeLater fa esattamente questo.
// InvokeLater affida ad EventDispatcher il proprio Runnable e restituisce immediatamente il controllo al thread corrente
// Prima di eseguire il "Runnable" EventDispatcher deve consumare tutti gli eventi "pendenti"

      
SwingUtilities.invokeLater
            
(new Runnable() {
                public 
void run() {
                         new 
Main().start();
                }
            }
            ); 
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:52   #113
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Be' dipende. Supponendo che quel metodo main di quella classe Main sia il punto d'entrata di un programma Java, il fatto che prima dell'esecuzione del metodo run del Runnable passato ad invokeLater esistano degli eventi pendenti è un dettaglio di realizzazione del framework Swing/AWT.

Cioè osservando quel codice io dovrei dire che non ce ne sono e che, quindi, l'esecuzione di new Main().start() è il primo compito spettante all'EDT (Event Dispatcher Thread).

Tuttavia, esaminando le regole del framework Swing/AWT, si scopre che potrebbero già esserci eventi in consumazione, perchè le norme del framework non lo escludono.

Nel caso in cui il programma Java non parta dal metodo main di quella classe Main la preesistenza di eventi AWT nella coda degli eventi AWT è un fatto che dipende da cosa il programma abbia già fatto prima di invocare quel main.

Ciò detto, quell'arzigogolo di parentesi ha l'unico scopo di causare l'esecuzione di:

new Main().start()

equivalente a:

Main main = new Main();
main.start();

all'interno dell'EDT. Il motivo sta nel fatto che quella particolare classe Main possiede, vuoi nel costruttore, vuoi nel metodo start, vuoi negli inizializzatori, istruzioni che maneggiano componenti Swing proiettabili.

Swing è un framework a Thread singolo. Per una librerie che maneggia interfacce grafiche utente significa che esiste un solo Thread che si occupa di aggiornare l'aspetto dei componenti proiettabili sullo schermo.

L'aspetto di un componente dipende da un insieme di proprietà dell'oggetto che lo rappresenta. Swing presuppone che le mutazioni di stato dell'oggetto-componente proiettabile, siano affidate all'EDT. Lo presuppone ma non lo impone. Ciò significa che io posso cambiare il valore del colore di un componente tramite un Thread diverso dall'EDT. Qual'è il risultato? Il risultato è indeterminato. E' indeterminato per via di alcune regole del linguaggio di programmazione Java le quali trattano il caso dell'accesso in lettura o scrittura al valore di variabili residenti nella regione di memoria condivisa dai Thread (c.d. Heap).

Dunque, se, in ipotesi, cambio il colore di un componente all'interno dell'EDT io so che quella mutazione si rifletterà sul componente. Se cambio il colore all'interno di un Thread diverso dall'EDT io non posso essere certo del risultato.

La cosa vale per ogni proprietà di ogni oggetto-componente Swing. Dimensioni, componenti contenuti, font, bordi eccetera.

Quando maneggio le proprietà di un componente Swing lo devo fare all'interno dell'EDT altrimenti l'effettività (cioè il fatto che quei maneggiamenti producano l'effetto desiderato) è incerta.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 15:46   #114
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
chiaro come sempre

Mi sai dire dove cercare materiale su FontRenderContext e TextLayout ?
Dalla documentazione java ci capisco poco
grazie
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 15:51   #115
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Non so cosa si trovi in rete. Di cartaceo c'è Java 2D Graphics, di J. Knudsen. Comunque è un argomento correlato a Java2D.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 18:44   #116
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Non riesco a capire i parametri del metodo draw della classe TextLayout

Codice PHP:
draw(Graphics2D g2float xfloat y
(x,y) sono le coordinate dell'origine del textLayout cioè da documentazione
"which is the intersection of the TextLayout object's baseline with its left edge"

Cosa è la object's baseline ? In pratica è l'angolo in basso a sinistra del testo?
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 19:37   #117
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Hai presente la lettera g minuscola? Ecco, la baseline è la linea su cui è appoggiato "il pallino" mentre la "gambetta" si estendo sotto la baseline.

La documentazione dice che nel punto (x,y) è collocata l'intersezione tra la linea di base e il lato sinistro (guardando lo schermo) della parola. E' il punto a sinistra ma non è esattamente "in basso". E' un pelo più in su che in basso.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 19:39   #118
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Un'altra cosa scusa

Codice PHP:
public PainterAudiogramma() {
try {
pallino ImageIO.read(getClass().getResource("/images/pallino.png"));
crocetta ImageIO.read(getClass().getResource("/images/crocetta.png"));
} catch(
java.io.IOException ex) {
throw new 
RuntimeException("Cannot load needed images");
}

Domanda stupida : come mai li definisci nel costruttore il pallino e la crocetta ?

In pratica qui leggi le immagini da due file png che avevi già tu. Cosa c'entra l'url ?
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 20:21   #119
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Non è che io avessi molta scelta . La lettura di un'immagine con ImageIO rilascia un'eccezione controllata. Per catturarla con un blocco try-catch devo per forza essere o nel corpo di un costruttore o nel corpo di un metodo o in un blocco di inizializzazione.

Non uso un metodo (alla stregua di un public void init()) perchè voglio che il campo sia certamente inizializzato prima che altri metodi di quella classe possano essere invocati.

Nel caso concreto potrei usare un blocco di inizializzazione perchè non sfrutto nessuna delle caratteristiche che distinguono i costruttori dai blocchi di inizializzazione: per abitudine opto per il costruttore.

Una nota: la certezza che pallino e crocetta abbiano il valore deciso nel costruttore prima che essi siano usati non è soddisfatta tramite il solo assegnamento nel costruttore. Occorre, in particolare, prestare attenzione a che i campi non siano usati in metodi ereditati, sovrascritti e invocati da uno dei super-costruttori. Ma questo è un altro paio di maniche.

Circa l'uso dell'URL o, meglio, per quanto riguarda l'individuazione delle immagini tramite l'uso del metodo getResource() di un oggetto di tipo Class (che è poi il findResource di un ClassLoader) basti osservare il fatto che

1. il percorso risultante è indipendente dalla piattaforma
2. il percorso risultante è indipendente dalla directory di esecuzione del processo che avvia il programma

Per il primo punto, la questione è nell'alternativa. Per individuare le immagini potrei specificare il loro percorso in termini assoluti. Per windows sarebbe una cosa tipo:

c:\cartellauno\cartelladue\programma\blabla\immagini\eccetera


Ora, se provi a incollare nella sezione Sistemi Operativi Alternativi una richiesta tipo "non mi trova il file che si trova in c:\blabla\blabla" noterai un'esorbitante quantità di merluzzate in faccia. Quei "coup de merlűss" sottolineerebbero l'atipicità di quel percorso in sistemi diversi dall'amatissima finestra.

Puoi usare cartelle in qualche modo collegate all'applicazione ma specificate in modo indipendente dalla piattaforma di esecuzione. Esistono alcune proprietà di sistema ("user.dir", "user.home" eccetera) che offrono percorsi di base nei quali infilare i dati del tuo programma. L'uso di questi percorsi rende il tuo programma indipendente dalla piattaforma ma dipendente da una procedura di installazione.

Il findResource, invece, è una mezza mano santa. Scova file che si trovino in percorsi gestiti dal (da un) ClassLoader e questo include la posizione delle classi del programma, a prescindere dal valore della proprietà "user.dir" (che è alterabile). Restituisce un URL perchè i file potrebbero essere su un disco locale o in rete o all'interno di un file jar. Può restituire file che si trovino impacchettati in un file JAR e, solitamente, è proprio questo l'obiettivo: una volta terminata, l'applicazione andrà preparata per la distribuzione e questo richiederà il suo impacchettamento in un file JAR insieme, tra l'altro, alle sue icone.

E' un piccolo gioiello, questo getClass().getResource.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2007, 09:34   #120
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Ma il metodo getClass() restituisce quale classe ?

Ho finito di leggere i tuoi appunti molto utili e pure divertenti.
Adesso per prima cosa devo sistemare la griglia perchè inserendo nelle caselle combinate tutti i multipli di 5 questi compaiono pure nella griglia.
Poi devo mettere il 25 a metà di 20 e 30 dove la distanza tra 20 e 30 è uguale alla distanza tra 30 e 40
Devo in pratica sistemare la classe PainterAudiogramma
spillo491 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Roborock Q10 S5+ a un super prezzo: robo...
Formula sceglie WINDTRE BUSINESS per gar...
EXPO 1.20: AMD migliora il supporto all'...
MacBook Pro con chip M4, 24GB di RAM e 1...
Lefant M330 da 6.000Pa a 139€ o ECOVACS ...
Tornano gli sconti anche sulle scope ele...
Le scope elettriche Dreame H12, H14 e H1...
Il nucleo della cometa interstellare 3I/...
La Russia potrebbe sviluppare un'arma pe...
Manda la RAM Corsair in assistenza, rice...
ASUS ROG G1000 con 'AniMe Holo': saranno...
Un test di longevità ha messo alla prova...
Incat inizia i test dell'incredibile tra...
LG Sound Suite: al CES il sistema audio ...
Avengers Doomsday, il primo trailer &egr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v