Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x scommette tutto, forse troppo, sulla batteria da 7500 mAh e sulla certificazione ArmorShell per farsi notare nella fascia più economica del mercato: lo abbiamo messo alla prova per capire a chi è rivolto questo smartphone che sacrifica un po' prestazioni, display e fotocamera per offrire l'autonomia migliore possibile a un prezzo decisamente contenuto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-10-2012, 18:03   #1
Lwyrn
Senior Member
 
L'Avatar di Lwyrn
 
Iscritto dal: Jan 2009
Città: Verona
Messaggi: 2514
[PHP+MySQL]Database, lingue e capocciate

Sto mettendo insieme un piccolo sistema che ( in teoria ) dovrebbe gestire migliaia di prodotti e di pagine di testo che però possono essere localizzate in un numero indefinito di lingue ( dinamicamente a scelta dell'amministratore ).
Sono un bel pò dubbioso sul tipo di sistema da utilizzare perché ognuna delle soluzioni che mi vengono in mente hanno tanti contro quanti pro. Prendete in considerazione che le "estensioni" che si occupano delle gestione dei vari compenti ( es prodotti, news etc. ) devono gestire automaticamente l'implementazione del numero indefinito di lingue. Quindi non posso preventivare campi specifici che andranno a gestire le rispettive lingue.
Di base ho pensato che viene definita una lingua principale dall'amministratore o dal sistema stesso. E questo mi pare anche abbastanza scontato
In anticipo ho pensato di creare un apposita colonna dedicata ( per ogni tabella che ne abbia la necessità ) per contenere array multidimensionali serializzati che contengono tutte le parti localizzate necessarie ( ad esempio titolo, descrizione o cos'altro ).
Potrebbe rivelarsi una situazione comoda per quanto riguarda la gestione da php che diventa molto più scorrevole e la pulizia nel database.
Diventa assolutamente scomodo però quando si comincia a voler fare query personalizzate per estrarre dati in determinati lingue. Ergo, diventa abbastanza difficile da gestire se si vogliono fare campi personalizzati di ricerca nel sito per lingue diverse da quella standard. Si dovrebbe cominciare a lavorare con query che sfruttano espressioni regolari per farsi strada tra la lunga stringa che verebbe fuori da un array serializzato, con conseguenti rallentamento delle query che, sopratutto su migliaia di articoli, comincerebbe a rallentarsi un bel pò. Per non considerare la limitazione che si avrebbe nel non poter usare istruzioni piu complesse.
Altra soluzione a cui ho pensato è quella di far creare ( si parla sempre in modo dinamico ) dal sistema n. tabelle per quante sono le lingue con un prefisso contenente il distintivo della lingua ( es products_it, product_es, products_en etc ). I pro sono ovviamente di poter fare delle semplicissime query cambiando solo il prefisso della tabella in caso si vogliano ricercare dati o effettuare query più complesse. Aumenterebbero però la difficoltà nella gestione del tutto. Si ci dovrebbe assicurare di far combaciare gli id della lingua principale con quelli delle tabelle secondarie, assicurarsi di cancellare le righe simultaneamente e aggiungere dei flag-field per determinare se un determinato prodotto è presente o meno in quella determinata lingua. Per non parlare dell'enormità di tabelle che ne uscirebbero fuori e sopratutto delle dimensioni: si arriverebbe a duplicare, triplicare, quadruplicare e così via la dimensione del database in base al numero di lingue utilizzate.
Altri metodi al momento non me ne sono venuti, però vorrei fare in modo di poter gestire il tutto cercando di aver un buon rapporto prestazioni/facilità di gestione, e sono parecchio indeciso.
Voi che dite, avete qualche idea da consigliarmi ? Qualsiasi idea è ben accetta!
__________________
Le mie trattative
Lwyrn è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2012, 18:37   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Che ne dici di questo?

Una tabella prodotto che contiene tutto quello che non serve tradurre. Una per la lista delle lingue. E poi metti tutti i dati tradotti in una terza tabella che ha come chiave primaria l'id del prodotto e della lingua.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2012, 19:02   #3
Lwyrn
Senior Member
 
L'Avatar di Lwyrn
 
Iscritto dal: Jan 2009
Città: Verona
Messaggi: 2514
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Che ne dici di questo?

Una tabella prodotto che contiene tutto quello che non serve tradurre. Una per la lista delle lingue. E poi metti tutti i dati tradotti in una terza tabella che ha come chiave primaria l'id del prodotto e della lingua.
Ummm, sicuramente molto meglio che duplicare intere tabelle! E si potrebbe collegare il tutto con delle join, sicuramente molto meno disordinato che creare trecentomila tabelle. Hai usato MysqlWorkbench per lo schema ?
__________________
Le mie trattative
Lwyrn è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2012, 19:04   #4
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Esatto.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
NetApp porta l'IA nella console e ONTAP ...
Saturno all'opposizione e Giove dietro l...
TSMC non si ferma: dopo l'Arizona potreb...
Caso Revolut, Piantedosi alla Camera: 'L...
La Space Force statunitense e le armi sp...
Fa tutto l'IA: scoperte scientifiche con...
GIGABYTE AI TOP 100 B850: workstation de...
Reddit limita gli accessi esterni: la ma...
Un nuovo Uncharted è in sviluppo?...
Sottratti i dati personali di 3,1 milion...
L'UE avvia una nuova azione contro 11 vi...
Steam Deck 2 prende forma? AMD Gainsboro...
Cosa succede su Amazon? 6 e 7 sarà...
Samsung lancia i Galaxy Buds On: arrivan...
Rivoluzione Steam: addio ai giochi in ve...
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: 16:01.


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