Skip to main content

Lista (quasi) completa degli acronimi in uso sul web

AFAIK As Far As I Know – per quanto ne so.

AFAIR As Far As I Remember – per quanto possa ricordarmi.

AFK Away from Keyboard – Non sono al computer. Letteralmente: “lontano dalla tastiera”.

AIUI As I Understand It – Per quanto io ne possa capire.

AKA Also Known As – Noto anche come.

ALAP As Late As Possible – Il più tardi possibile.

ASAP As Soon As Possible – Il prima possibile.

ASD – See LOL (using the leftmost 3 letters on a QWERTY keyboard – Vedi LOL (premendo le 3 lettere più vicine in una tastiera QWERTY).

ASL Age, Sex & Location – Quanti anni hai? Maschio o femmina? Da dove digiti?

ATM At The Moment – Al momento.

AYQ Ask Your Question – Chiedi pure.

BAK Back At Keyboard – Sono tornato. Letteralmente: sono nuovamente alla tastiera.

BATK Back At The Keyboard – Sono tornato. Letteralmente: sono nuovamente alla tastiera.

BBFN Bye Bye For Now – Per ora ti saluto.

BBIAF Be Back In A Few – Torno tra poco.

BBL Be Back Later – Torno più tardi.

BBQ Be Back Quick – Torno subito.

BBS Be Back Soon – Torno subito.

BFF Best Friend Forever – Amici per sempre.

BRB Be Right Back – Torno subito.

BTW By The Way – A proposito.

CU See You – Ci vediamo.

CYA See You Again – Ci vediamo.

D/C Disconnected. Sono stato disconnesso (dal server).

DND Do Not Disturb – Non disturbare.

F2F Face To Face – Faccia a faccia.

FAQ Frequently Asked Questions – Domande comuni. Letteralmente: Domande chieste con maggior frequenza.

FOAF Friend Of A Friend – Amico di un amico.

FTR For The Record – Per la cronaca.

FTW For The Win – Tutta la vita. Letteralmente: “per la vittoria”, oppure Fuck The World – Fanculo il mondo.

FYI For Your Information – Per tua informazione.

G2G Got To Go – Devo andare.

GBTW Go Back To Work – Torna al lavoro.

GL HF Good Luck, Have Fun – In bocca al lupo e divertiti.

GMAB Give Me A Break – Dammi respiro, oppure Grab Me A Beer – Prendimi una birra.

GMTA Great Minds Think Alike – Quelli svegli la pensano uguale.

GRZ Gratz – Congratulazioni.

GTFO Get The Fuck Out – Fuori dalle palle.

GZ Gratz – Congratulazioni.

HAND Have A Nice Day – Buona giornata.

HTH Hope This Helps – Spero che ti sia d’aiuto.

IANAL I Am Not A Lawyer – Non sono un avvocato.

ICYMI In Case You Missed It – In caso te la fossi persa.

IDK I Don’t Know – Non lo so.

IHM I Hate Myself – Odio me stesso.

IIRC If I Recall Correctly – Se ricordo bene.

ILY I Love You – Ti voglio bene.

IMO In My Opinion – Secondo me.

IMHO In My Humble Opinion – A mio modesto parere.

IRL In Real Life – Nella vita “reale” (non in rete).

JFTR Just For The Record – Per dovere di cronaca.

JFYIJust For Your Info – Solo per tua informazione.

J/K Just Kidding – Sto scherzando.

JLYK Just Letting You Know – Per tua informazione.

JSYK Just So You Know – Per tua informazione.

KTB Ok Thanks Bye – Ciao e grazie.

LMAO Laughing My Ass Off – Sto morendo dal ridere.

LMK Let Me Know – Fammi sapere.

LOL Laughing Out Loud – Sto ridendo rumorosamente.

LTNS Long Time No See – E’ tanto che non ci si vede.

M8Mate – Compagno, amico.

MFW My Face When – La mia espressione quando…

MMORPGMassive Multiplayer Online RPG – Gioco di ruolo online multi-giocatore di massa.

MYOB Mind Your Own Business – Fatti gli affari tuoi.

N1 Nice One – Bel colpo.

N8 Night – Buona notte.

NP No Problem – Nessun problema.

NSWF Not Suitable For Work – Non adatto sul luogo di lavoro.

NVM Nevermind – Come non detto (oppure: non preoccuparti).

OAO Over And Out – Passo e chiudo.

OFW Out For Work – Fuori per lavoro.

OMG Oh My God – Oh mio dio.

OOO Out Of Office – Fuori ufficio, oppure Out Of Order – Fuori servizio.

OOW Out Of Work – Fuori ufficio.

OTP One True Pairing – Una coppia perfetta.

PAW Parents Are Watching – I genitori stanno guardando.

PLMK Please Let Me Know – Fammi sapere, grazie.

PVE Player Versus Environment – Giocatore umano contro avversari pilotati dal sistema di gioco.

PVP Player Versus Player – Giocatore umano contro Giocatore umano.

PWNED Owned (supposedly missing the O key) – Dominato (fingendo di aver premuto per errore la P al posto della O).

RL Real Life – La vita “reale” (non in rete).

RR RickRolling, RickRolled – Per maggiori informazioni clicca qui.

ROFL Rolling On (the) Floor Laughing – Mi rotolo in terra dalle risate.

ROTFL Rolling On The Floor Laughing – Mi rotolo in terra dalle risate.

ROTFLMAO Rolling On The Floor Laughing My Ass Off, Mi rotolo per terra morendo dalle risate.

ROTFLASTC Rolling on the floor laughing and scaring the cat, mi rotolo per terra ridendo così forte da spaventare il gatto.

RPG Role-Playing Game – Gioco di ruolo.

RTFB Read The Fucking Book – Leggi il fottuto libro, leggi le fottute istruzioni.

RTS Real-Time Strategy – Strategico in tempo reale.

RTFM Read The Fucking Manual – Leggi il fottuto manuale.

SMH Shaking My Head – Scuoto la testa.

SMHO Shaking My Head Off – Scuoto la testa.

STFU Shut The Fuck Up – Chiudi il becco.

TBH To Be Honest – A dire il vero. Letteralmente: per essere onesti.

TGIF Thank God It’s Friday – Grazie a dio è venerdì.

TINLAThis Is Not Legal Advice – Non sono un avvocato.

TL;DR Too Long, Didn’t Read – Troppo lungo, non l’ho letto.

TMI Too Much Info – Troppo lungo. Letteralmente: troppe informazioni.

TTYL Talk To You Later – Ci sentiamo dopo.

TY Thank You – Grazie.

TYT Take Your Time – Prenditi il tempo che ti serve. Letteralmente: prenditi il tuo tempo.

TWD Texting While Driving – Sto scrivendo mentre guido.

WB Welcome Back – Bentornato.

WTF What The Fuck – Che cazzo.

WTG Way To Go – Così si fa.

WTH What The Hell – Che diavolo.

YHBT You Have Been Trolled – Ti hanno preso in giro. Letteralmente: sei stato “trollato”.

YOLO You Only Live Once – Si vive una volta sola.

YVWYou’re Very Welcome – Prego.

YW You’re Welcome – Prego.

zOMG Oh My God (supposedly missing the shift key) – Oh mio dio (fingendo di aver premuto con il mignolo il tasto vicino al MAIUSC per errore).

 

Totale (provvisorio): 111

IIS Express: consentire l’accesso da connessioni remote (external requests)

A partire da Visual Studio 2012 il venerando web server di sviluppo Cassini è stato rimpiazzato da IIS Express. Questo cambiamento, che secondo la Microsoft ha il merito di aver notevolmente semplificato le cose ai nuovi sviluppatori, ha provocato la scomparsa – per ragioni di sicurezza – di alcune importanti opzioni di configurazione, tra cui la possibilità di cambiare il local hostname e la porta HTTP mediante la GUI (tramite la finestra Proprietà dell’applicazione web). Come se non bastasse la configurazione predefinita di IIS Express, a differenza di quella di Cassini, non consente di rispondere a request esterne, ovvero effettuate da altri dispositivi collegati tramite rete.

HTTP Error 503. The service is unavailable.

OUCH!.Don.Draper

Si tratta di una limitazione particolarmente grave, specialmente in un periodo come quello attuale in cui, stante la grande diffusione di siti responsive, pagine mobile-friendly e webapp, effettuare test su dispositivi diversi si rivela spesso un’operazione fondamentale fin dalle prime fasi dello sviluppo.

Il Problema.

I motivi che impediscono a IIS Express di rispondere a richieste esterne sono generalmente tre:

  1. Il file di configurazione predefinito, che contiene i riferimenti ad ogni applicazione web nel momento in cui questa viene attivata in Debug o in Release mode da Visual Studio.
  2. I criteri di accesso predefiniti (ACL) previsti per le connessioni al componente HTTP.SYS, che non consentono a un’applicazione dotata di privilegi standard – come Visual Studio eseguito normalmente, ovvero senza privilegi di amministratore – di gestire traffico esterno.
  3. Il Firewall di Windows (o altro firewall installato sul sistema), che con tutta probabilità non è configurato per consentire connessioni esterne in ingresso dalla porta TCP assegnata automaticamente all’applicazione web.

La Soluzione.

Vediamo come risolvere tutti questi problemi:

  • Assicuratevi di non avere istanze di Visual Studio aperte.
  • Aprite il file  %userprofile%\Documenti\IISExpress\config\applicationhost.config  , dove %userprofile% corrisponde alla cartella che ospita il profilo del vostro utente – ad esempio C:\Users\NomeUtente\
  • Cercate la entry corrispondente all’applicazione web che vogliamo modificare e cambiamo le configurazioni di binding nel seguente modo:
    <binding protocol="http" bindingInformation="*:<port>:*" /> In buona sostanza si tratta di sostituire una coppia di localhost con altrettanti asterischi, lasciando inalterata la porta assegnata automaticamente (che troverete al posto di <port>). Se avete necessità di cambiare anche quest’ultima, sostituitela con una porta TCP a piacere (es. 8080) ed eseguite anche il prossimo passaggio, in caso contrario potrete saltare direttamente allo step successivo.
  • Se avete cambiato la porta, aprite il file di progetto (.csproj) e il file di soluzione (.sln) corrispondenti alla vostra applicazione web e assicuratevi che non vi siano riferimenti alla porta precedente: è possibile che siano presenti o meno a seconda del tipo di progetto (Web Application, MVC App, Web Site, etc.).  In caso affermativo, sostituite la vecchia porta con la nuova.
  • Aprite un Prompt dei Comandi (con privilegi di Amministratore) e digitate il seguente comando:
    netsh http add urlacl url=http://*:<port>/ user=everyone Inserendo ovviamente la porta dell’applicazione web al posto di <port>. Nel caso in cui riceviate un messaggio di errore (1789) significa che il gruppo Everyone non è presente nel vostro sistema, cosa che può accadere in alcune localizzazioni di Windows. Se è il vostro caso, sostituite everyone con il nome del gruppo corrispondente. In alternativa ad effettuare questo passaggio potete provare ad eseguire Visual Studio con privilegi di amministratore.
  • Abilitate il traffico interno dell’applicazione IISExpress.exe mediante il pannello di configurazione avanzata di Windows Firewall (o altro Firewall installato) o, in alternativa, aprite il traffico interno per la porta TCP corrispondente a quella della vostra applicazione.

Una volta fatto tutto questo potrete lanciare nuovamente Visual Studio e lanciare la vostra applicazione in Debug o Release mode:  dovreste essere in grado di accedervi da qualsiasi dispositivo collegato alla vostra stessa rete al seguente indirizzo web:

http://<lan-ip-address>:<port>/

Visual Studio 2015 Update

Come giustamente indicato da Zachary Pittman (a cui vanno i nostri ringraziamenti), la versione di IIS Express installata con Visual Studio 2015 crea un file applicationhost.config specifico per ciascun progetto web: tale file si trova nella sottocartella   /.vs/ , situata all’interno della cartella principale del progetto. In ogni caso, per determinare l’esatta collocazione del file, è sempre possibile fare click con il tasto destro sull’icona di IIS Express presente nel system tray: da lì è possibile selezionare > Show all applications e visualizzare il percorso del file applicationhost.config relativo al proprio progetto.

Le Alternative.

Diciamolo pure: IIS Express, con tutte le sue limitazioni, è ben lontano dall’essere uno strumento di lavoro perfetto. Chiunque sentisse la necessità di dotarsi di un web server più completo, robusto e configurabile troverà senz’altro maggiori soddisfazioni nel passare a IIS 7.5 o superiore. Il problema è che potreste essere obbligati anche in questo caso ad eseguire Visual Studio come amministratori di sistema per non incorrere nel seguente errore:

4743_error

In quanto Visual Studio ha bisogno di accedere alla IIS metabase, privilegio negato a tutti gli account standard.

OUCH!.Don.Draper

UPDATE: In alternativa ad eseguire Visual Studio con privilegi di amministratore potete utilizzare il workaround descritto in questo articolo, che consente di impostare i permessi di accesso alla IIS Metabase per l’utente corrente in modo semplice ed efficace.

Cos’altro dire? Felice (si fa per dire) sviluppo!

EDIT: Per chiunque volesse approfondire l’argomento IIS Express e comprendere le ragioni che hanno portato la Microsoft a renderlo il successore di Cassini suggerisco questo ottimo (anche se datato) articolo di Scott Hanselman, ovviamente in inglese. Buona lettura!

Aggiungere un namespace a un foglio di stile per evitare conflitti tra file CSS

La crescente necessità di sviluppare siti responsive nel più breve tempo possibile ha provocato la comparsa e la diffusione, nel corso degli ultimi anni, di una serie di framework e/o boilerplate CSS avanzati come Bootstrap, Foundation, GumbyYAML, Skeleton solo per citare alcuni tra i più noti. Ciascuno di essi mette a disposizione dello sviluppatore un ampio ventaglio di classi predefinite che consentono di ottenere rapidamente lo scopo: rendere il proprio sito adatto alla visualizzazione su qualsiasi piattaforma e dispositivo mantenendo la piena compatibilità con tutti i browser desktop.

Un traguardo ideale… a patto che le classi non entrino in conflitto tra loro e/o con classi già definite all’interno altri fogli di stile.

Il problema.

Analizziamo, a titolo di esempio, un estratto delle classi messe a disposizione dal framework Bootstrap, ad oggi senz’altro il più noto e utilizzato:

… e la lista potrebbe continuare.

Inutile dire che ciascuna di queste classi presenta al suo interno numerose impostazioni che saranno con tutta probabilità incompatibili con classi aventi lo stesso nome definite in altri fogli di stile, siano essi creati da noi, parte di qualche plugin JQuery o portati in dote da qualsiasi altra libreria o modulo client-side.

La soluzione.

Il metodo più intuitivo per evitare problemi di questo tipo è rinominare le classi in conflitto, iniziando dalle proprie e, se la situazione lo richiede, proseguendo eventualmente con quelle dei plugin/moduli accessori. Tale approccio può essere preso in considerazione nel caso di un piccolo sito, ma è ben lungi dall’essere ideale nel caso di portali di dimensioni medio/grandi.

WHY.Jesse.Pinkman

L’approccio di tipo “search & replace” è in molti casi un’operazione delicata: effettuarla in modo automatico è estremamente rischioso, soprattutto in casi come questo dove si richiede un notevole livello di attenzione. Il sito potrebbe prevedere plugin, moduli o funzioni Javascript che utilizzano selettori di classe per svolgere il loro lavoro e che potrebbero sfuggire a una prima occhiata, come nell’esempio seguente:

In tutti i casi in cui l’approccio del “search & replace” rischia di  rivelarsi troppo oneroso è opportuno orientarsi verso una soluzione più robusta e a prova di errore. Quella che vi presentiamo consente di incapsulare qualsiasi foglio di stile – non importa se creato da voi, incluso nel framework o parte dei plugin installati – all’interno di un vero e proprio Namespace. Per far questo in modo efficiente dovremo utilizzare un pre-processore CSS tra quelli attualmente disponibile: i più noti e diffusi sono SASS, diffuso soprattutto in ambiente Linux, e LESS, particolarmente adatto per chi lavora Windows per via della integrazione con Visual Studio 2012 (e superiori) grazie all’ottima estensione Web Essentials.

Cos’è un pre-processore CSS? In estrema sintesi, si tratta di un compilatore che produce un foglio di stile .css partendo da un file .scss o .less : questo file non è altro che un foglio di stile arricchito da caratteristiche aggiuntive ottenute grazie a una sintassi proprietaria, che il compilatore si occupa di “riscrivere” in modalità compatibile CSS2/CSS3.

Ecco un breve esempio di come si presenta un file .less:

Ed ecco il file .css prodotto a seguito della sua compilazione:

Per una guida completa alla sintassi dei due pre-processori vi rimandiamo alle guide ufficiali presenti sui rispettivi siti:

In questo articolo ci limiteremo a mostrare la sintassi necessaria per creare il nostro namespace. Per nostra fortuna è del tutto identica per entrambi i linguaggi, con la sola eccezione dell’estensione dei file che cambia a seconda del pre-processore scelto.

Nell’esempio che segue abbiamo utilizzato .less:

Una volta compilato, questo file includerà l’intero contenuto dei due file .less menzionati al suo interno avendo cura di aggiungere la classe .namespace-name all’inizio di qualsiasi selettore contenuto. Questo significa che ciascuno di essi verrà preso in considerazione soltanto se utilizzato all’interno di un elemento contenitore (DIV, BODY o qualsiasi altro) recante la classe .namespace-name.

Una volta compreso l’esempio, vediamo come possiamo creare un namespace per le classi CSS fornite con il framework Bootstrap:

Le prime 5 regole di stile (quelle prima dei due @import) sono le stesse che il file bootstrap.css applica all’elemento BODY della pagina, e quindi potenzialmente ereditate da tutti gli altri elementi. Il modo migliore per riprodurre lo stesso identico effetto è quindi aggiungerle direttamente al nostro namespace.

IMPORTANTE: Come si può vedere, è necessario che anche i file oggetto dell’importazione abbiano l’estensione corrispondente a quella riconosciuta dal pre-processore utilizzato. Se volete importare dei normali file .css basterà rinominarli in tal senso: del resto, come abbiamo detto, i file .scss e .less non sono altro che fogli di stile “arricchiti”. Se avete optato per .less potete risparmiarvi il rename: basterà utilizzare @import (less) in luogo di @import, come spiegato qui.

Felice sviluppo!

Hearthstone – Mazzo Mage Aggro [Low Budget]

Hearthstone-Goblins_vs_Gnomes

Ho recentemente pubblicato sul sito Hearthpwn.com un mazzo low-budget – ma al tempo stesso piuttosto efficace – che mi sta dando numerose soddisfazioni nella ladder EU. Se state cercando un mazzo poco “dispendioso” e con poche pretese per guadagnare qualche posizione nella vostra ladder potete pensare di dargli un’occhiata.

Il mazzo prevede due carte leggendarie: se non le avete (e/o non potete permettervele) potete rimpiazzarle con un altro Sludge Belcher + Stormwind Champion, oppure con la coppia Feugen + Stalagg, con un Archmage + Loatheb o con qualsiasi altra accoppiata di drop pesanti di cui disponete: in molti casi le sorti della partita verranno decise prima di poterli calare, quindi non faranno comunque troppa differenza.

Se volete effettuare qualche modifica sentitevi liberi di sostituire qualsiasi carta da 2 (tranne i due Knife Juggler, sui quali è imperniato l’intero deck) con un validissimo Nerubian Egg, che in questo mazzo è senz’altro azzeccato.

422.Knife-JugglerIl mazzo è piuttosto versatile e consente di impostare diverse strategie a seconda della pescata iniziale. Una possibile apertura può vedere un Knife Juggler calato nei primi due turni, eventualmente anticipando l’uso del mana crystal, seguito da qualche drop di creatura con deathrattle così da costringere l’avversario a eliminarlo con un removal spell lasciandovi il controllo della board – qualsiasi creatura a 1-2 salute rischierebbe infatti di essere eliminata dal knife e/o dal vostro potere eroe. Le cose non andranno male anche dando inizio alle danze con un Mana Wyrm o con un Undertaker, che potranno essere potenziati velocemente tramite incantesimi e/o drop con deathrattle: anche in questo caso l’avversario sarà costretto a prendere danni, rispondere con creature che lo porteranno a trade svantaggiosi o impiegare un removal spell su una vostra creatura da 1, sacrificando in tal modo tempo ed efficienza.

7737.Undertaker

Se riuscirete a tenere il vostro avversario sulla difensiva finirete probabilmente per mandarlo in vantaggio di carte, cosa che potrete compensare sfruttando la coppia di Arcane Intellect e il Loot Hoarder. Tenete presente però che il vostro vero obiettivo è quello di avere un costante vantaggio di creature e punti vita grazie al sapiente uso dei deathrattle e/o dei segreti mediante i quali potrete prevenire incantesimi di rimozione, copiare un drop dell’avversario e ottenere due copie di una vostra creatura eliminata direttamente in mano – cosa che può rivelarsi devastante se si tratta di un Knife Juggler o qualsiasi altra creatura di costo 4+ tra quelle giocate.

Nella maggior parte dei casi riuscirete a chiudere la partita entro i primi 9-10 turni: in caso contrario, se sarete riusciti a preservare un numero sufficiente di creature e/o carte e/o punti vita, avrete la possibilità di utilizzare almeno uno dei vostri due assi nella manica (Ysera e Kel’Thuzad) che, se non contrastati subito, risolveranno a vostro vantaggio qualsiasi situazione. Il mazzo fornisce anche una serie di removal (singoli e ad area) e un paio di Fireball per infliggere gli ultimi danni o per far fuori eventuali finisher dell’avversario.495.Ysera

Fate attenzione a utilizzare il Counterspell nel modo giusto, magari giocandolo nel turno immediatamente precedente a quello che consentirà all’avversario di giocare il suo AE removal di classe (è buona norma impararli tutti). Infine, fate del vostro meglio per utilizzare nel migliore dei modi le numerose “combo” offerte dalle meccaniche di gioco di Khel’Thuzad, del  Knife Juggler e/o dell’Undertaker, creature che possono fare disastri sia con altre carte che, soprattutto, insieme.

7742.Kel'Thuzad

Il deck è disponibile pubblicamente sul sito hearthpwn.com: qui trovate la lista completa delle carte.

Buon divertimento!

 

Utilizzare JQuery UI e Bootstrap nella stessa pagina web

Gli ultimi mesi hanno visto una diffusione capillare del framework Bootstrap, una libreria CSS/JS che consente di dotare qualsiasi sito web di tutte le funzionalità necessarie per rendere le proprie pagine mobile-friendly e, cosa ancor più importante, pienamente compatibili con tutti i device. Il Framework, oggi giunto alla versione 3.3.1, è dotato di una serie di plugin javascript che richiedono JQuery v1.9.0 o superiore: è quindi facile immaginare come si sia diffuso principalmente sui siti che includono quest’ultimo, i quali non di rado ospitano anche JQuery UI.

Utilizzare questi due framework insieme è possibile, ma occorre fare attenzione ad almeno due conflitti presenti tra le due librerie e che rischiano di produrre errori JS e/o di compromettere alcune funzionalità del sito. Si tratta dei plugin tooltip e button, entrambi presenti (con il medesimo nome) in ciascuna delle librerie.

Il Problema.

Prendiamo come esempio il plugin tooltip. Andiamo sul sito http://jqueryui.com/tooltip/ e diamo un’occhiata al codice di esempio (view source) per la creazione di un tooltip con JQuery UI:

Il testo evidenziato presenta una chiamata alla funzione tooltip che JQuery UI aggiunge a livello runtime per ogni oggetto JQuery. La stessa operazione viene effettuata da Bootstrap come si può vedere analizzando il codice del relativo tutorial:

Questo conflitto di nomi, oltre ad impedire a entrambi i plugin di funzionare, provoca una serie di errori Javascript variabili a seconda di quale libreria viene eseguita prima. Nel caso in cui Boostrap sia inserito dopo JQuery UI, ad esempio, l’errore che vedremo nella nostra Console Javascript sarà con tutta probabilità il seguente:

Uncaught TypeError: Cannot read property ‘documentElement’ of null

Dovuto al fatto che la sintassi del plugin di JQueryUI, solitamente utilizzato a livello di $(document), viene utilizzata per eseguire il plugin di Bootstrap.

 La Soluzione.

Il modo migliore per far convivere le due librerie risolvendo “in positivo” i conflitti di nomi è utilizzare il plugin $.widget.bridge che consente di poter ridefinire a piacimento questi ultimi. Il plugin è fortunatamente incluso all’interno di JQuery UI, quindi non appesantirà ulteriormente il nostro sito. Il suo utilizzo è molto semplice:

Queste istruzioni vanno ovviamente inserite nella pagina in modo sincrono dopo aver incluso il riferimento alla libreria JQueryUI e prima dello script di Bootstrap. Nell’esempio seguente vediamo un esempio completo di implementazione nel blocco <head> di una pagina web:

In conseguenza di questa operazione i metodi tooltip e button diventeranno una prerogativa di Bootstrap, mentre per utilizzare gli omonimi plugin offerti da JQuery UI sarà necessario utilizzare i nuovi alias uitooltip e uibutton.

Riferimenti:
http://stackoverflow.com/a/27745464/1233379 (la mia risposta sul sito StackOverflow che ha ispirato questo post).

Close