Torna indietro   Hardware Upgrade Forum > Software > Programmazione

BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-08-2007, 20:17   #1
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
[Java] confronto sorgenti

vorrei provare a confrontare i nostri stili di scrittura del codice
non solo l'indentazione, anche (ad esempio) l'uso di break e continue, l'uso di classi anonime e così via...
per questo serve un qualcosa da scrivere... io avevo pensato ad un hash o ad una queue... void cosa ne pensate?
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 20:26   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da AngeL) Guarda i messaggi
vorrei provare a confrontare i nostri stili di scrittura del codice
non solo l'indentazione, anche (ad esempio) l'uso di break e continue, l'uso di classi anonime e così via...
per questo serve un qualcosa da scrivere... io avevo pensato ad un hash o ad una queue... void cosa ne pensate?
Non ho ben capito cosa (e sopratutto come) vorresti confrontare.
E non ho capito cosa c'entra un hash con lo stile di scrittura.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 20:27   #3
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da andbin Guarda i messaggi
Non ho ben capito cosa (e sopratutto come) vorresti confrontare.
E non ho capito cosa c'entra un hash con lo stile di scrittura.
praticamente ognuno scrive una classe per implementare (es.) un hash, e poi vediamo chi ha sbagliato qualcosa, chi poteva fare meglio...
una specie di scambio culturale

Ultima modifica di AngeL) : 26-08-2007 alle 20:29.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 20:41   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da AngeL) Guarda i messaggi
praticamente ognuno scrive una classe per implementare (es.) un hash, e poi vediamo chi ha sbagliato qualcosa, chi poteva fare meglio...
una specie di scambio culturale
Ah ok ... in quel senso Si stabilisce un argomento/problema preciso e si vede come ognuno ha scritto il sorgente. Il problema è solo la scelta di cosa fare ....
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 21:17   #5
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da andbin Guarda i messaggi
Ah ok ... in quel senso Si stabilisce un argomento/problema preciso e si vede come ognuno ha scritto il sorgente. Il problema è solo la scelta di cosa fare ....
esatto

Quote:
Originariamente inviato da andbin Guarda i messaggi
Il problema è solo la scelta di cosa fare ....
appunto.. tu cosa proponi?
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 22:48   #6
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
L'ultima volta che ho usato continue è stato nella primavera del '24.
__________________
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 26-08-2007, 22:59   #7
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
L'ultima volta che ho usato continue è stato nella primavera del '24.
e perchè?
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 23:09   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Credo per un errore di gioventù
__________________
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 26-08-2007, 23:15   #9
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Credo per un errore di gioventù
neanche io li uso tanto... non mi è mai capitato che mi servissero

comunque vogliamo provare questo scambio turale?
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 23:17   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Credo per un errore di gioventù
Grande !!

Bellina come idea...bisognerebbe stabilire bene il testo dell'esercizio da svolgere in modo che il codice sia simili per tutti...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 23:26   #11
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da cionci Guarda i messaggi
Grande !!

Bellina come idea...bisognerebbe stabilire bene il testo dell'esercizio da svolgere in modo che il codice sia simili per tutti...
potremmo provare con un programming exam di java black belt... io uno l'ho già fatto
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2007, 23:27   #12
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
O' signur. Ve lo do io qualcosa da fare. Devo fare l'interfaccia per un record che avrà trenta milioni di campi. Mi ci vuole uno schermo a 640x20218 perchè si veda tutta. Requisiti utente: deve avere quattro cervelli per riuscire a restare attento mentre immette tutti i dati che servono.
__________________
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 26-08-2007, 23:30   #13
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
O' signur. Ve lo do io qualcosa da fare. Devo fare l'interfaccia per un record che avrà trenta milioni di campi. Mi ci vuole uno schermo a 640x20218 perchè si veda tutta. Requisiti utente: deve avere quattro cervelli per riuscire a restare attento mentre immette tutti i dati che servono.
O__o programmatore masochista

edit: servirà anche un HD da 20 TB

Ultima modifica di AngeL) : 26-08-2007 alle 23:32.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2007, 09:06   #14
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
allora, proviamo?
da dove lo pigliamo st'esercizio?

edit: e se provassimo a fare tutti insieme (yuppiii) un progetto in swing?

Ultima modifica di AngeL) : 27-08-2007 alle 10:49.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2007, 12:12   #15
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da AngeL) Guarda i messaggi
tu cosa proponi?
Beh, di possibilità ce ne sono infinite. Alcune che mi vengono in mente:

- Realizzare un programma (console o gui) che data una directory in input, faccia una statistica di tutto il sotto albero di directory: numero di file, totale dimensione dei file, ecc....

- Realizzare un programma gui che consenta di fare conversioni tra unità di misura (quali unità, lo si stabilisce a priori).

- Realizzare un programma gui che permetta di scegliere un file e quindi computare diversi hash sul file es. MD5, SHA-1 (se non sbaglio ci sono già, almeno nelle ultime release di Java, dei provider appositi per questi digest).

- Realizzare un programma gui per il famoso gioco dei "15", fatto con i numeri o anche con immagini.

- Realizzare un programma per gestire una semplice chat di tipo client-server. Un server riceve i messaggi da un client e li "gira" verso tutti gli altri client. Questo già presuppone un discreta conoscenza del networking.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2007, 12:16   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Se si fa senza gui è possibile confrontare diversi linguaggi
Io sinceramente pensavo a qualcosa di più breve...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2007, 12:36   #17
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
I GUI framework sono più omogenei di quanto non si possa sospettare. Comunque, riciclo un'idea. Riconoscimento ottico di un'informazione contenuta in un'immagine a colori.

Cioè impacchettare informazioni in un'immagine e leggere le stesse informazioni da una scansione di quell'immagine (ad esempio l'immagine da "leggere" potrebbe essere la fotografia del display di un cellulare).
__________________
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 27-08-2007, 12:41   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Cioè impacchettare informazioni in un'immagine e leggere le stesse informazioni da una scansione di quell'immagine (ad esempio l'immagine da "leggere" potrebbe essere la fotografia del display di un cellulare).
Ma sono cose lunghe (che tra l'altro ho già fatto). Io credevo che AngeL) si riferisse di più allo stile di scrittura del codice e non alla bravura nell'implementare un certo esercizio.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2007, 12:57   #19
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ma sono cose lunghe (che tra l'altro ho già fatto). Io credevo che AngeL) si riferisse di più allo stile di scrittura del codice e non alla bravura nell'implementare un certo esercizio.
boh.. io volevo semplicemente confrontare 4-5 codici per vedere un po' in generale lo stile di ognuno

ah, visto che non avevo niente da fare, ho fatto l'hash
perchè non iniziamo con questo, che è piu' veloce da fare?

questo è il mio
Codice:
public class Hash<K, V> {
    
    private static int DEFAULT_MAX_ELEMS = 100;
	
	static public class KeyAlreadyExistsException extends RuntimeException {
		KeyAlreadyExistsException(String key) {
			super("Key already exists in the hash : " + key);
		}
	}
	
	static public class KeyNotFoundException extends RuntimeException {
		KeyNotFoundException(String key) {
			super("Can't find key : " + key);
		}
	}
	
	static public class HashIsFullException extends RuntimeException {
		HashIsFullException() {
			super("The hash is full");
		}
	}
	
	protected int MAX_ELEMS;
	protected Object[] values;
	protected Object[] keys;
	protected int elemcount;
	
	/**
	 * Instantiates a new Hash.
	 * @param MAX_ELEMS The maximum number of elements this hash can hold.
	 */
	public Hash(int MAX_ELEMS) {
		elemcount = 0;
		this.MAX_ELEMS = MAX_ELEMS;
		values = new Object[MAX_ELEMS];
		keys = new Object[MAX_ELEMS];
	}
	
	public Hash() {
	    this(DEFAULT_MAX_ELEMS);
	}
	
	/**	
	 * Looks for an object in the hash.
	 *  @param key The key associated to the value to find
	 *  @throws KeyNotFoundException
	 *  @return The object associated with key*/
	public V find(K key)
	throws KeyNotFoundException {
		return (V)values[indexOfKey(key)];
	}
	
	/** 
	 * Adds a value to the hash.
	 *  @param key The key representing the value to add
	 *  @param value The value to add to the hash
	 *  @throws KeyAlreadyExistsException
	 *  @throws HashIsFullException*/
	public void add(K key, V value) 
	throws HashIsFullException, KeyAlreadyExistsException {
		if(keyAlreadyExists(key)) throw new KeyAlreadyExistsException(key.toString());
		int nextFree = nextFreeIndex();
		
		keys[nextFree] = key;
		values[nextFree] = value;
		elemcount++;
	}
	
	/** 
	 * Removes a value from the hash and returns it.
	 *  @param key The key representing the value to remove
	 *  @throws KeyNotFoundException 
	 *  @return The value or null if the key isn't associated to a value*/
	public V remove(K key)
	throws KeyNotFoundException {
		int i = indexOfKey(key);
		V ret;
		elemcount--;
		keys[i] = null;
		ret = (V)values[i];
		values[i] = null;
		return ret;
	}
	
	/**
	 * Replaces a key with another one.
	 * @param oldKey The key to replace
	 * @param newKey The new key
	 * @throws KeyAlreadyExistsException
	 * @throws KeyNotFoundException*/
	public void changeKey(K oldKey, K newKey)
	throws KeyAlreadyExistsException, KeyNotFoundException {
		int i = indexOfKey(oldKey);
		if(oldKey.equals(newKey)) return;
		if(keyAlreadyExists(newKey)) throw new KeyAlreadyExistsException(newKey.toString());
		keys[i] = newKey;
	}
	
	/**
	 * Replaces a value with another one.
	 * @param key The key representing the value to change
	 * @param newValue The new value
	 * @throws KeyNotFoundException
	 */
	public void changeValue(K key, V newValue)
	throws KeyNotFoundException {
		values[indexOfKey(key)] = newValue;
	}
	
	/**
	 * Dumps the hash, printing pairs of keys and values.
	 *
	 */
	public void dump() {
		for(int i = 0 ; i < MAX_ELEMS ; i++)
			if(keys[i] == null && values[i] == null)
				System.out.println("null: null");
			else
				System.out.println((K) keys[i] + ": " + (V) values[i] + "");
	}
	
	public boolean isFull() {
		return elemcount == MAX_ELEMS;
	}
	
	private boolean keyAlreadyExists(K key) {
		for(int i = 0 ; i < MAX_ELEMS ; i++)
			if(keys[i] != null && keys[i].equals(key))
				return true;
		return false;
	}
	
	private int indexOfKey(K key)
	throws KeyNotFoundException {
		for(int i = 0; i < MAX_ELEMS ; i++)
			if(keys[i] != null && keys[i].equals(key))
				return i;
		throw new KeyNotFoundException(key.toString());
	}
	
	private int nextFreeIndex()
	throws HashIsFullException {
		for(int i = 0 ; i < MAX_ELEMS ; i++)
			if(keys[i] == null && values[i] == null)
				return i;
		throw new HashIsFullException();
	}
	
}
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2007, 13:02   #20
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Controlla la tastiera, forse non funzionano i pulsanti "{" e "}"
__________________
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
 Rispondi


BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
Amazon taglia di circa 100€ il prezzo di...
Un eccellente treppiede in carbonio a ci...
DJI Osmo Action 5 Pro, super prezzo su A...
Terremoto NVIDIA: Jensen Huang rischia i...
Spopola su Amazon, giustamente: ECOVACS ...
Una city e-bike imbattibile: costa 559€ ...
Nuovi articoli ogni ora: sconto EXTRA de...
5 tablet in super offerta, uno su Amazon...
3 Smart TV Haier da 65 pollici QLED a pa...
Programma NOM4D: Caltech e DARPA hanno r...
La missione ESA Hera inizia l'analisi de...
SpaceX e Singulus: stretto un accordo pe...
Binance avvisa: un bug di iOS mette a ri...
Apple corregge 9 vulnerabilità su iPhone...
Microsoft inaugura il Pavilion a Roma, c...
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: 08:50.


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