n° 195
Gennaio/Febbraio 2015
Gennaio 26, 2015, 04:18:28 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  



* Messaggi recenti
Messaggi recenti
Pagine: [1] 2 3 ... 10
 1 
 inserita:: Gennaio 25, 2015, 10:26:54  
Aperta da P@coVB - Ultimo messaggio da P@coVB
Ragazzi vi chiedo una mano essendo mooolto neofita del linguaggio java.
Ho questo problema:
Un server HTTPS che esegue delle operazioni "fisiche" al comando di un app proprietaria per android.
Poichè vorrei automatizzare quelle operazioni tramite "Tasker (un app di android)" ho cercato di capire quali comandi invia l'app proprietaria al server e questo è il risultato:
I/System.out( 2158): Connectig in secure mode : 192.168.1.10:24444
I/System.out( 2158): Ricevuto: connesso,1
I/System.out( 2158): Inviato: admin
I/System.out( 2158): Inviato: password
I/System.out( 2158): Ricevuto: logon
I/System.out( 2158): Inviato: RFPUTTF
I/System.out( 2158): Ricevuto: RFUTTF:0,0,0,0,0,0,0,0,ENDSTR
I/System.out( 2158): Inviato: PBUTT06
I/System.out( 2158): Inviato: RFX
I/System.out( 2158): Ricevuto: RFX:1,1,2,2,1,1,1,1,ENDSTR


Vorrei replicare questo comando o tramite la funzione HTTP Get di Tasker o anche tramite l'avvio di uno script, ma nonostante ho provato di tutto, Tasker mi da quest'errore durante l'esecuzione del comando di connessione
Java.net.ProtocolException: Unexcpected status line: connesso,1

Qualche anima pia che mi aiuta

 2 
 inserita:: Gennaio 25, 2015, 04:18:14  
Aperta da sarus - Ultimo messaggio da sarus
Grazie a tutti voi per le vostre risposte  Ghigno

 3 
 inserita:: Gennaio 23, 2015, 10:01:04  
Aperta da gio_ca - Ultimo messaggio da gio_ca
Ma come dovrei usare l'array associativo?
Mi fai un esempio sul problema del confronto tra liste di stringhe?
Io vorrei associare ogni stringa ad un elemento di una tabella trasformando la stringa in un intero: l'indice della tabella. Che nesso c'è con l'array associativo? (a parte che sono implementati internamente con una tabella hash)
Voglio dire questa implementazione interna non la vedo all'esterno: vedo solo un array associativo.

EDIT:
ok ho capito. Qui http://www.perl.com/pub/2002/10/01/hashes.html spiega come sono implementati gli array associativi in perl. In pratica io butto tutta la lista nell'array tipo "stringa1"=>1
"stringa2"=>2 e poi scorro l'altra lista è, per ogni stringa, chimo una exist. Lui nell'implementazione della exist chiama la lookup. Ok proverò con questo.

 4 
 inserita:: Gennaio 23, 2015, 08:47:05  
Aperta da gio_ca - Ultimo messaggio da Roberto Allegra
L'array associativo di Perl si chiama hash proprio perché internamente viene usata una hashtable: la dimensione della tabella e le strategie per evitare collisioni vengono (ri)calcolati automaticamente senza che debba occupartene tu. (In modo ovviamente meno ottimizzato di quanto potresti fare a mano conoscendo l'esatta tipologia/quantità dei tuoi dati).

La ragione per cui ti ho suggerito di valutare l'uso di un array associativo è proprio che non c'è niente di complesso: dato che viene gestito tutto da Perl, puoi provarlo facilmente e testare empiricamente se hai delle performance accettabili per il tuo problema. Nel caso medio e per quantità di dati non enormi, in genere gli hash si comportano bene.

 5 
 inserita:: Gennaio 23, 2015, 08:07:51  
Aperta da gio_ca - Ultimo messaggio da gio_ca
Sono un ignorante in materia di Perl ma non mi pare abbia librerie per le tabelle hash. Ha una struttura dati chimata hash che però non c'entra con le tabelle hash dell'infomatica: è un semplice array con indici stringhe. Comunque sia con le tabelle hash ci sono due problemi:

1) Scelta delle dimensione della tabella. Io farei n. Le liste sono lunghe n e n è la dimensione minima indispensabile per non avere collisioni assumendo una funzione di hash perfetta.

2) Scelta e scrittura delle funzione di hash. Pensavo di associare a ogni carattere un intero (usando gli interi da 0 a 25 visto che l'alfabeto è quello inglese) e come funzione di hash usare:

(intero_del_primo_carattere + intero_del_secondo_carattere*26 + ... + intero_del_k-esimo_carattere*26^k-1 ) mod n

che sarebbe una funzione di hash tradizionale. Il problema è che il tempo di calcolo della funzione non è trascurabile. a questo punto la complessità comincerebbe a dipendere anche da K_MAX la lunghezza massima delle stringhe.
Mi pare complesso....

 6 
 inserita:: Gennaio 22, 2015, 11:58:22  
Aperta da gio_ca - Ultimo messaggio da Roberto Allegra
Visti i vincoli, direi che hai scelto l'approccio più sensato.

Potresti anche considerare di sfruttare il fatto che hai ricondotto le stringhe simili ad un'unica chiave: trasformando/inserendo una delle due liste in un hash, ad esempio, ridurresti al minimo possibile il tempo di lookup per ogni elemento (O(1), sperabilmente).

Questa soluzione è molto semplice da scrivere, e potrebbe essere preferibile prestazionalmente, a seconda di come è strutturata l'applicazione e del tipo di dati che tipicamente vengono confrontati (è senza dubbio La Via da scegliere, ad esempio, se la lista di lookup è fissa).

 7 
 inserita:: Gennaio 22, 2015, 08:04:14  
Aperta da gio_ca - Ultimo messaggio da gio_ca
Scusate ho scritto male nel primo post. il linguaggio non è il php ma il perl.

Ho deciso di preprocessare le stringhe nelle due liste come segue:
1) sostotuire tuttle le occorrenze - _ ' " / \ . con uno spazio
2) eseguire un trim (elimina spazi iniziali e finali)
3) sostituire sequenze di più spazi con uno spazio singolo (esempio: 'a     b' diventa 'a b')
4) eseguire un toUpperCase o equivalente

In questo modo le stringhe 'quasi uguali' secondo la mia definizione (che non vi ho dato completamente anche perchè, dovendola concordare col capo, non la conoscevo neanche io ) diventano esattamente uguali.

A questo punto resta da eseguire il confronto tra due liste di stringhe e trovare gli elmenti in comune.
Secondo me il metodo più veloce è ordinare una delle due liste con un algoritmo classico (Mergesort o Quicksort) e cercare ad uno ad uno gli elementi della lista non ordinata in quella ordinata tramite binary search magari concellando l'elemento dalla lista ordinata quando viene trovato. Se entrambe le liste sono lunghe n l'ordinamento costa nlog(n) mentre la ricerca con cancellazione log(n!) quindi il termine dominante è nlog(n).

 8 
 inserita:: Gennaio 22, 2015, 06:41:31  
Aperta da gio_ca - Ultimo messaggio da paooolino
esiste il concetto di "distanza" tra due stringhe in modo da dare una misura di quanto una stringa è simile ad un'altra

http://it.wikipedia.org/wiki/Distanza_di_Levenshtein

 9 
 inserita:: Gennaio 22, 2015, 11:21:04  
Aperta da gio_ca - Ultimo messaggio da bertolottipf
Quasi uguali???
Che cosa significa?

Per fare ipotesi
"AbC" "abc"
"abc " "abc"
"aDc" "abc"

Le consideri tutte quasi uguali???

 10 
 inserita:: Gennaio 22, 2015, 11:15:04  
Aperta da sarus - Ultimo messaggio da wallaceer
Ciao,
io sono dovuto passare ad un IDE per la gestione del versioning dei progetti, ma di Komodo edit ho sempre apprezzato la leggerezza e velocità.
E' un editor sena tanti fronzoli ma con tutte le funzioalità base.
A mio modo di vedere devi però provarlo per capire se fa al caso tuo.
Spero di esserti stato utile.

Pagine: [1] 2 3 ... 10
2: include(/mnt/host/www/ioprogrammo/footer.htm) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory
File: D:\StorageVM\malphas\www\ioprogrammo\Themes\ioprogrammo\Recent.template.php (main_below sub template - eval?)
Riga: 800