Blog

  • Aggiornamenti WordPress bloccati

    Ti è mai capitato di ricevere il messaggio di errore: “Attualmente è in corso un altro aggiornamento.” durante un aggiornamento di WordPress?

    WordPress quando esegue un aggiornamento si segna l’informazione di “inizio dei lavori”.

    Se l’ultimo aggiornamento non è terminato correttamente oppure se ha impiegato molto tempo, l’informazione di conclusione dell’operazione, il “fine lavori”, non è stata registrata e WordPress impedisce qualsiasi nuovo aggiornamento.

    Se l’operazione ha impiegato molto tempo, ma il sistema è stato aggiornato possiamo registrare a mano il “fine lavori” in uno dei due modi seguenti.

    Tramite il plugin “Fix Another Update In Progress“:

    • installa e attiva il plugin
    • vai in Impostazioni > Fix Another Update In Progress
    • se il plugin segnala “WordPress Update is locked. Click the button below to fix it.” fai clic sul pulsante “Fix WordPress Update Lock”
    • attendi il messaggio “Success! You’ve successfully fix “another update in progress!” – “There is no Update lock issue. Continue with your WordPress Update”

    Oppure manualmente (per utenti esperti): rimuovendo dalla tabella wp_options (nb: il prefisso wp_ potrebbe essere stato personalizzato) del database le righe che contengono il valore core_update, ecco la query per individuarle:

    SELECT * FROM tuoPrefissoTabelle_options WHERE option_name LIKE '%core_update%'

    Ora puoi riprovare a eseguire il nuovo aggiornamento.

  • Fondamenti di programmazione WEB – appunti

    Appunti (-> APPUNTI <-) sulle risorse da leggere e gli scrittori del codice da imitare.

    ABC della programmazione

    Ogni volta che si studia un nuovo linguaggio di programmazione si deve capire:

    1. se si tratta di un linguaggio compilato, interpretato o JIT compiled (just in time, una modalità ibrida, avviene per esempio per il Java)
    2. se si tratta di un linguaggio procedurale od orientato agli oggetti
    3. se è un linguaggio case sensitive; come si termina ciascuna istruzione; come si racchiudono i blocchi di comandi
    4. come si dichiarano le variabili e di quali tipi di dati possono memorizzare, qual è il loro ambito di applicazione (lo scope)
    5. come si dichiarano le funzioni e di quali tipi possono essere
    6. se sono previsti, come si dichiarano gli oggetti, i loro metodi e le loro proprietà
    7. come si dichiarano i cicli
    8. come si dichiarano le strutture condizionali
    9. su quali sistemi l’applicazione che ne deriva potrà essere eseguita

    Cosa devi studiare per la programmazione web di base

    1. l’HTTP, il protocollo per parlarsi nel web
    2. l’HTML, la struttura di una pagina web e dei suoi contenuti, un linguaggio di markup
    3. il DOM, l’insieme di elementi HTML di una pagina web, così come la vede un browser
    4. i CSS, i fogli di stile, applicano degli stili agli elementi del DOM per la presentazione grafica
    5. il JavaScript, che interagisce con gli elementi del DOM: programmazione (scripting) client side; oggi estesa anche al server side
    6. un linguaggio di programmazione server side come il PHP
    7. salvare i dati negli archivi, i database e i DBMS, esempio: MySQL

    Quali strumenti servono?

    Code editor

    • Sublime Text
    • Microsoft VS Code

    Strumenti di sviluppo web presenti nei browser (in particolare per il debug)

    • Mozilla Firefox
    • Google Chrome

    Corsi free

    EDX – Corsi W3C – HTML, CSS, JavaScript

    EDX – percorso Microsoft front-end development

    Chi seguire online

    Sviluppo per siti realizzati con WordPress

    Persone da cui farsi ispirare

    The Amazing Rear Admiral Grace Hopper, senza la quale i computer erano destinati a svolgere solo operazioni aritmetiche o compiti specifici, mentre oggi possono essere programmati con linguaggi vicini a quello naturale (inglese) e che sono general-purpose.
    Tim Berns-Lee
    senza il quale il WEB non sarebbe come lo conosciamo.

    Livello successivo

    Come in tutte le attività dopo l’ABC ti aspetta un nuovo livello da affrontare, con entusiasmo 😉

    Andranno approfonditi:

    • le peculiarità dei browser più diffusi e importanti, infatti ogni agent web ha il suo motore di rendering per visualizzare le pagine web (engine)
    • i temi di accessibilità, ergonomicità e performance
    • le librerie e i framework maggiormente utilizzati nel web
    • competenze trasversali (SEO, grafica, …)
  • CLI: interfaccia e interprete a riga di comando

    Ti avviso subito: quando si entra nella selva oscura delle nomenclature informatiche se ne esce con più informazioni, certo, ma anche con uno spirito incline ad adattarsi e interpretare come le persone utilizzano questi termini a modo loro. Insomma, se non sei ingegnera/e/ə rasserenati, l’importante è averne un’idea buona anche se non esaustiva.

    CLI è l’acronimo sia di command line interface che di command line interpreter.

    Una command line interface è un’interfaccia a riga di comando (testuale) che rende disponibile all’utente un command line interpreter (o command line processor) in grado di interpretare ed eseguire i comandi ricevuti. Quest’ultimo è spesso chiamato shell, soprattutto se riferito alle command shell che interagiscono col sistema operativo.

    Le command line interface

    Alcuni facili esempi di interfaccia CLI sono la Windows Console di Windows e le console dei client FTP, Telnet o SSH (ad esempio l’emulatore di terminale PuTTY). Recentemente Microsoft ha sviluppato e rilasciato una nuova interfaccia CLI per Windows 10 e Windows 11: Windows Terminal. Quest’ultimo è in grado di gestire nella stessa finestra più tab, ognuna delle quali può eseguire un diverso interprete CLI (Command, PowerShell, Linux shell per un WSL, …).

    Le command line interface fanno parte dei cosiddetti emulatori di terminale (Konsole in KDE, Gnome Terminal in Gnome, xterm, Terminal in macOS, PuTTY, TN3270 Plus, …). Cosa emulano? I vecchi terminali, composti solamente da un video e una tastiera, con i quali si interagiva con un computer centrale al quale erano collegati. I terminali non avevano nessuna capacità di calcolo. Parliamo degli inizi dell’informatica, ma non degli albori, là la situazione era ancora più complicata tra schede e nastri perforati e rotoli di carta stampata 🙂

    Buffer

    Uno degli aspetti più utili di una interfaccia CLI moderna è il buffer che permette di vedere un certo numero di comandi dati in precedenza e il loro output.

    I command line interpreter

    Un interprete a linea o riga di comando è un programma in grado di interpretare ed eseguire i comandi ricevuti.

    Le shell

    Un interprete CLI può far parte della famiglia delle shell (interfacce per gestire il sistema operativo ed eseguire programmi), che per inciso possono essere testuali (come la bash shell di molte distribuzioni GNU/Linux o il command.com dell’MS-DOS, il Command Prompt di Windows o la più recente PowerShell) o grafiche (in Windows ad esempio c’è Windows Shell, prevalentemente rappresentata dal programma explorer.exe; in ambiente Linux ci sono X windows manager e Wayland compositor, …) o miste o ai giorni nostri probabilmente potrebbero essercene già di vocali.

    Tornando alle shell testuali, queste dispongono di una serie di comandi interni e della capacità di eseguire script scritti nel suo linguaggio, nonché di eseguire programmi adatti ad essa.

    Le shell infatti hanno due principali modalità operative: quella interattiva in cui i comandi vengono eseguiti subito dopo l’invio (in foreground o in background) e quella batch che esegue una serie di comandi contenuti in un file di script.

    I comandi disponibili in una shell sono detti comandi interni o built-in, inoltre di solito una shell è accompagnata da un corredo standard di programmi esterni di uso comune.

    Per conoscere l’elenco dei comandi interni si può di solito utilizzare il comando help di quella shell. Per il Prompt dei comandi di Windows è sufficiente digitare help dalla riga di comando stessa e premere invio. È da notare che con il comando help potrebbero essere elencati anche i comandi esterni standard.

    La shell command.com

    Il command line interpret di diversi sistemi operativi DOS e Microsoft Windows è stato command.com.

    Lo è stato per Microsoft MS-DOS dalla prima all’ultima versione (la 8 distribuita con Windows Me) e per Microsoft Windows da Windows 95 a Windows ME. In queste prime versioni di Windows (client) era un passaggio obbligato nel boot del sistema operativo.

    COMMAND.COM è una shell a 16 bit.

    La shell cmd.exe

    La shell di Windows a partire da Windows 2000 e Windows NT (lato server) è stata la Command shell (cmd.exe) detta anche “Command Prompt” o “Prompt dei comandi” (nelle versioni italiane di Windows) in base al titolo della finestra nella quale viene eseguita. È una shell a 32 bit.

    cmd.exe è stato anche l’interprete CLI di OS/2.

    In base al sistema operativo in cui viene eseguito l’interprete può godere di diverse funzionalità ed estensioni.

    La prima versione di cmd.exe per Windows NT fu sviluppata da una donna, Therese Stowell.

    La PowerShell

    Microsoft ha introdotto una nuova shell, la PowerShell, in grado di eseguire una nuova serie di comandi detti cmdlets. PowerShell oltre ad eseguire questi nuovi e più complessi comandi, può anche eseguire i comandi della Command shell.

    *ix shell

    In Unix, Linux, macOS e sistemi analoghi la CLI è detta “terminale” e permette di eseguire molte differenti shell (sh Shell, Bash, Z shell, Korn shell, C shell, …).

    La prima shell

    La prima shell nota (poiché riportata in una pubblicazione di un lavoro di ricerca) è stata ideata da Glenda Schroeder e da un suo collega, di cui è ignoto il nome, nel 1965 per il sistema operativo Multics presso il MIT.

    Origine del termine shell

    Il termine shell è stato coniato da Louis Pouzin.

    Definizione di Shell nel Jargon file

    Definizione di shell nel Jargon file: “

    1. [techspeak] The command interpreter used to pass commands to an operating system; so called because it is the part of the operating system that interfaces with the outside world.

    2. More generally, any interface program that mediates access to a special resource or server for convenience, efficiency, or security reasons; for this meaning, the usage is usually a shell around whatever. This sort of program is also called a wrapper.

    […] “

    Prompt

    Infine un accenno al prompt.

    Il prompt è l’invito da parte del command line interpreter ad impartire un comando e viene mostrato nella command line interface solo quando il sistema è pronto per ricevere un comando. Durante l’esecuzione di un comando o di un programma (in foreground) il prompt scompare fino al termine dell’esecuzione del comando.

    Solitamente è composto da una serie di informazioni (in base al sistema in uso), da un carattere speciale (ad esempio: $, #, >) e da un carattere lampeggiante o un trattino basso messo in evidenza e detto cursore (da non confondere con il puntatore del mouse); il carattere speciale e/o il cursore sono considerati l’invito vero e proprio.

    Console

    Il termine console arriva anch’esso da prima di tastiere e video, quando i quadri di controllo erano costituiti da levette e spie luminose.

    Uno degli utilizzi moderni di questo termine è ad esempio in ambienti Linux per definire la System Console interna al kernel o la shell che viene avviata per i computer che partono in modalità testuale.

    In ambiente Linux in questo caso ci sono altre curiosità come il fatto che ci sono 6 console disponibili per default a cui viene fatto corrispondere il nome dispositivo da TTY1 a TTY6 e TTY sta per teletypewriter… cioè una telescrivente. 🙂