Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2010, 07:10   #1
vittorio130881
 
Messaggi: n/a
[c#] alberi di espressione

ciao a tutti
cosa sono gli alberi di espressione? ho provato a capirli su un libro ma mi sfuggono proprio.....sono importanti o posso tranquillamente non conisderarli??
ultima domanda, ho studiato linq to object fico......ma linq to sql è ugualmente utile? quale è il vantaggio di fare le interrogazioni con linq invece di farle con i tradizionali linguaggi sql proprietari del rdbms in questione?
  Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 08:55   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
No, gli alberi di espressione non sono indispensabili.
Sono necessari se tu volessi scrivere la tua implementazione LinqToXYZ.
ma per il resto hanno applicazione minore.

La principale utilita di LinqToSql e similari e' il fatto che la descrizione dell'operazione svolta e' descritta interamente in C# usando costrutti e sintassi propria. Pertanto compilata.
Gli errori di descrizione si trovano quindi immediatamente in fase di compilazione.

Viceversa un'operazione come
Codice:
string sql="SELECT id, nomignolo, selettore FROM tabella1 JOIN tabella2 ON (...) WHERE ufficio=:1"
var res = DataContext.ExecuteReader(sql, parametroUfficio);
puo' avere parecchi errori rilevabili solo a RunTime.

Ci sono altri vantaggi nell'uso di LinqToSql e parenti, come anche Hibernate, tutto laddove entra in gioco il SQL dinamico, o la costruzione di query on-the-fly, costruzione che dipende da parametri variabili di volta in volta.

Es: Si vuole costruire un paginatore WEB, che permette all'utente di inserire filtri dinamici sulla query originale.
L'utente puo' voler vedere tutte le persone.
Oppure puo' impostare una citta', e vedere solo le persone di quella citta'.
Oppure puo' impostare un sesso, e vedere solo le persone di quel sesso.

Un approccio classico e' quello di costruire la query a pezzi, aggiungendo di volta in volta la clausola WHERE che serve.
Questo perche' sebbene si puo' pensare ad una query generica con tutti i parametri possibili ciascuno dei quali quando eventualmente NULL sia ininfluente, tali query non sono mai la migliore query possibile (la maggior parte dei parametri e' quasi sempre ininfluente), con conseguente piano di esecuzione penoso. Tali query vengono praticamente sempre cassate in fase di acceptance test per troppa lentezza.
Costruire una query ad-hoc a seconda dei filtri scelti dall'utente e' abbastanza una pena, soprattutto quando ci si vuole riparare da SQL-Injection.
L'approccio LinqToSql e' invece decisamente semplice sia da scrivere che da leggere, e la query generata quasi sempre una piu' che decente query.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 09:03   #3
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
mi ero interessato a scrivere un'implementazione dello "stack" (si puó chiamare cosí?) IQueryable, ma é onestamente una bella botta...

hai qualche consiglio/guida che potrebbe facilitare il tutto?
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 12:03   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
mi ero interessato a scrivere un'implementazione dello "stack" (si puó chiamare cosí?) IQueryable, ma é onestamente una bella botta...

hai qualche consiglio/guida che potrebbe facilitare il tutto?
Ho un collega che l'ha fatto, proprio per implementare IQueryable su un flusso dati che si chiede e si ottiene via Socket.
Chiedo cosa ha usato e riferisco.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 12:09   #5
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
gentilissimo...

io volevo creare un'implementazione di IQueryable per il client del nostro motore di ricerca (che é un servizio wcf out-of-process)
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 16:05   #6
vittorio130881
 
Messaggi: n/a
v

bello avete usato il mio post per parlare ostrogoto!!!!
fico proprio!!!! ancora non sono al vostro livello e credo non ci arriverò mai da autodidatta!!!
grazie ancora ragazzi!
  Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 22:12   #7
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
Quote:
Originariamente inviato da vittorio130881 Guarda i messaggi
bello avete usato il mio post per parlare ostrogoto!!!!
fico proprio!!!! ancora non sono al vostro livello e credo non ci arriverò mai da autodidatta!!!
grazie ancora ragazzi!
e chi te l'ha detto? io ho imparato tutto quello che so da autodidatta! è tutta questione di passione e perseveranza

poi ovvio quando inizi a lavorare con certa roba tutti i giorni molto viene da sè. quindi non disperare

ps: non so se ho indovinato, ma considera che io sono dicembre '82
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 07:36   #8
vittorio130881
 
Messaggi: n/a
v

sei pure piu piccolo di me! oddio tanto piccoli non siamo piu!
pensando ai giocatori di calcio gli 81 so roba da semibuttare........... o su cui non investire a meno che non si chiamino ADRIANO!!!
che libro hai usato?
io sto usando quello della wrox, guida allo sviluppatore del 2008. bel libro anche se devo chiedere a voi alcune cose.
hai fatto l'uni????
a me ha fregato quello!!! 5 anni di studio alcuni dei quali troppo teorici!
ma non potevano farci studiare il freamework!
ciaooooooo
  Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 13:37   #9
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
ho usato vari libri... in genere sempre editi da mondadori/microsoft press. avendo iniziato con vb/vb.net ho molti testi di Balena e, lavorando sul web, Esposito.

In C# non esiste l'equivalente di Balena, ma si trovano comunque tanti libri interessanti.

L'univ l'ho fatta, ma ho fatto IngInf e, per mia fortuna, non abbiamo mai fatto .NET ma solo C/C++/Java (e cmq poca programmazione, ma molta teoria e soprattutto extra-informatica). É stato poi a mio carico portare le conoscenze acquisite dal C (socket programming) C++ (basi di programmazione ad oggetti) e dal Java (problematiche e tecniche della programmazione distribuita) in ambiente .NET.

Personalmente ringrazio la madonna che non mi hanno fatto studiare il framework. Un framework ci metti 2 settimane a studiarlo ed un paio di mesi a prenderci confidenza. Acquisire la mentalitá per poter studiare un framework da zero é molto piú importante
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 14:09   #10
vittorio130881
 
Messaggi: n/a
v

parlavo di ing. gestionale! aimè solo informatica 1 e 2 e basi di dati.
quindi per me sarebbe stato molto utile un corso pratico vista l'assenza voluta/non voluta di approfondimento di un certo modo di pensare informatico.
vabbè rimbocchiamoci le mani!
  Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 14:23   #11
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
ho usato vari libri... in genere sempre editi da mondadori/microsoft press. avendo iniziato con vb/vb.net ho molti testi di Balena e, lavorando sul web, Esposito.

In C# non esiste l'equivalente di Balena, ma si trovano comunque tanti libri interessanti.

L'univ l'ho fatta, ma ho fatto IngInf e, per mia fortuna, non abbiamo mai fatto .NET ma solo C/C++/Java (e cmq poca programmazione, ma molta teoria e soprattutto extra-informatica). É stato poi a mio carico portare le conoscenze acquisite dal C (socket programming) C++ (basi di programmazione ad oggetti) e dal Java (problematiche e tecniche della programmazione distribuita) in ambiente .NET.

Personalmente ringrazio la madonna che non mi hanno fatto studiare il framework. Un framework ci metti 2 settimane a studiarlo ed un paio di mesi a prenderci confidenza. Acquisire la mentalitá per poter studiare un framework da zero é molto piú importante
Si puo' comunque spiegare C# senza alcun framework.
Il linguaggio puro, che peraltro non e' neppure Microsoft.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 15:03   #12
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
uhm aspetta qui non ti seguo.

il C# sono i costrutti e le parole chiave. ad essere di manica larga ci si possono infilare i costrutti di linq (ma qui giá si scade nel framework).

la BCL é giá "framework" ed ovviamente neanche considero le varie librerie.

Cosa resta? il Runtime e la GC? beh quello pure é framework....
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 20:24   #13
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Si', appunto.
Stavo pensando che fatto come ho fatto io Java all'universita', si sarebbe potuto fare allo stesso modo anche C#, con analoga complessita' e analoghi risultati.
Ovvero solo il linguaggio, la parte OOP, magari Linq per la functional programming e in un corso universitario ci puo' anche stare.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 22:42   #14
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
va bè ma a quel punto un linguaggio vale l'altro

semmai il C# è leggermente più vicino ai dettami della teoria della OOP (properties su tutto)
Kralizek è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Il circuito segreto di Apple finisce a W...
Disastro Meta: l'azienda elimina il rico...
Google Gemini non va: centinaia di segna...
Neural Dawn mostra il futuro del gaming ...
Telegram torna su Apple Watch con un'app...
Da oggi si può acquistare Amazon ...
Windows 11 è più veloce: implementati il...
Ritornano gli auricolari con il cavo: Te...
Insta360 Luna Ultra: ecco il debutto del...
BOOX Go 6 Gen II ufficiale: ora si scriv...
BYD sfida Tesla con un piano da 2 miliar...
La corsa ai datacenter passa dalla stamp...
La Tangenziale di Napoli è la pri...
Steam Machine potrebbe essere dietro l'a...
Come l'Edge AI sta ridefinendo l'operati...
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: 15:30.


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