Categorie
Linux

Guida intergalattica per Repository Git

Git rappresenta uno standard per gestire il versioning del codice sorgente (SOLO IL CODICE SORGENTE 🤣), per versatilità e semplicità.

Git è un SCM distribuito, non c’è un solo server centrale con l’unica versione ufficiale ma ad ogni clone creiamo un repository collegato con tanto di history dei commit.

git clone <http://…>

Ogni modifica è dichiarata al tramite il comando commit che si occupa di tracciare in un pacchetto (o versione) tutti i file presenti nello stage in quel momento, con un messaggio che lo rende facilmente identificabile nella history.

git commit -m “messaggio”

first of all… GITIGNORE –> https://www.gitignore.io/

git flow

Esistono tre luoghi in cui un file può essere: l’albero, l’indice e la copia di lavoro. Quando si aggiunge un file a una cartella, lo si aggiunge alla copia di lavoro. Quando fai qualcosa come git add file lo aggiungi all’indice. E quando lo commetti, lo aggiungi all’albero. Probabilmente ti aiuterà a conoscere i tre flag più comuni in git reset:

git reset [- <mode> ] [ <commit> ]

Questo modulo reimposta la diramazione attuale su <commit> e eventualmente aggiorna l’indice (reimpostandolo all’albero di <commit> ) e l’albero di lavoro in base a <mode> , che deve essere uno dei seguenti:
–soft Non tocca affatto il file indice né l’albero di lavoro (ma reimposta la testa su <commit> , proprio come fanno tutte le modalità). Questo lascia tutti i tuoi file modificati “Modifiche da impegnare”, come direbbe lo stato di git.

–misto Reimposta l’indice ma non l’albero di lavoro (cioè, i file modificati sono conservati ma non contrassegnati per il commit) e riporta ciò che non è stato aggiornato. Questa è l’azione predefinita.

–difficile Reimposta l’indice e l’albero di lavoro. Qualsiasi modifica ai file tracciati nell’albero di lavoro poiché <commit> viene scartata.

Ora, quando fai qualcosa come git reset HEAD – ciò che stai facendo è git reset HEAD --mixed e “resetterà” l’indice allo stato in cui era prima di iniziare ad aggiungere file / aggiungere modifiche all’indice (via git add ) In questo caso, la copia di lavoro e l’indice (o la fase di staging) erano sincronizzati, ma dopo il ripristino l’utente HEAD e l’indice erano sincronizzati.

git rm d’altra parte rimuove un file dalla directory di lavoro e dall’indice e quando si esegue il commit, il file viene rimosso dall’albero. git rm --cached tuttavia rimuove il file dal solo indice e lo mantiene nella copia di lavoro. Questo è l’esatto opposto di git add file In questo caso, hai fatto l’indice per essere diverso dal HEAD e il lavoro, in esso che il HEAD ha la versione precedentemente impegnata del file, la copia di lavoro ha avuto la modifica di las if any o content da HEAD del file e hai rimosso il file dall’indice. Un commit ora sincronizzerà l’indice e l’albero e il file verrà rimosso.

.gitignore does not work

Cambiato il .gitignore ma non vedi le modifiche? Piccola magia

git ls-files –deleted -z | git update-index –assume-unchanged -z –stdin

Git Stash ??

Il nostro lavoro potrebbe dover subire dei rallentamenti o Change Request improvvise e Git ci permette di gestire diversi “Branch” proprio per poter condurre contemporaneamente versioni diverse dello stesso applicativo. Per garantire la consistenza dei dati ci viene impedito di cambiare branch se abbiamo delle modifiche “in canna”, se il lavoro è incompleto, una commit potrebbe rendere lo stato inconsistente ma non vogliamo perdere le modifiche fatte… che fare? Possiamo utilizzare il comando stash

git stash

Ora, “messe da parte” le modifiche fatte al codice, si può cambiare stato (commit o branch) per poi sfruttare la pop per ripristinarli.

git stash
git pull
git stash pop

Official –> https://git-scm.com/docs/git-stash

Rename a Branch

If you want to rename a branch while pointed to any branch, do:

git branch -m <oldname> <newname>

If you want to rename the current branch, you can do:

git branch -m <newname>

Git Branch simple

in the new version of git you can use

git checkout <branch>

this simply checkout in a new local branch if does not exists
Categorie
Linux

Create new Chrome launcher specifying the –profile-directory

Sometimens it appens, you’r profiled chrome launcher disappear! Ho to restore it?

the standard launcher refers just to the Chrome.exe location on your pc, probably inside C/programFiles/… To create a new profiled launcher we have to add, after the command a new argument –> –profile-directory=<PROFILE>! simple! but what’s my Profile?

to discover it, you could go inside chrome’s setting and check the user are

Type chrome://settings/ in address bar (or Menu > Settings)

Enable advanced menu

look for user and click on Chrome name and pictures

now you could check the mane… or… use the button to create a launcher on your desktop!!!!

Simple

Categorie
Linux

USB drive Problem???

Maximum Capacity to the USB drive

Your USB drive does not allow you to use the full capacity? You have to format that pen drive but not in the standard way, through DISKPART.

DANGER:: Obviously this action will delete all Data from the Pendrive.

So… hands on!!!! Starting linking the Pendrive into the computer (or laptop).

Open CMD

  • Type DISKPART
  • Type LIST DISK
  • You see that your computer showing n disks.
  • Select your Pendrive be sure that you select your Pendrive by typing the command.
  • SELECT DISK 1 (is an example)
  • Type CLEAN
  • If the Clean does not work or if you know that there is a read-only you can use: attributes disk clear readonly
  • Type CREATE PARTITION PRIMARY.
  • Type FORMAT FS=NTFS QUICK (or FAT)
  • Type ASSIGN
  • EXIT

Now you’re Pendrive showing full capacity.

USB READ ONLY?

Ok let’s try to solve this problem by this sequence! Check after evry point if you need to continue or you solve!

1) Ccheck “setting” (aka “Proprietà”) and unpin readonly (aka “Sola lettura”)

2) still remain in settings and check Security. You (you’r user) need to access (if it is a NTFS disk)

3) Add / Edit regedti DWORD:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
“WriteProtect”= dword:00000000

If this does not exists, create it.

Reboot

4) use diskpart:

DISKPART
LIST VOLUME
SELECT VOLUME n
ATTRIBUTES DISK CLEAR READONLY
EXIT

[ITA]
5) Start –> gpedit.msc
Configurazione computer\Modelli amministrativi\Sistema\Accesso agli archivi rimovibili

Imposta su “Disattivato” la voce o le voci:

Dischi rimovibili: nega accesso in esecuzione
Dischi rimovibili: nega accesso in lettura
Dischi rimovibili: nega accesso in scrittura

La stessa operazione la effettui nel percorso:

Configurazione utente\Modelli amministrativi\Sistema\Accesso agli archivi rimovibili

6) Gestione Dispositivi –> Tasto destro sulla pendrive ( ed eventualmente sui Controller USB ) –> Disinstalla driver. Riavvia ed inserisci nuovamente la pendrive

Categorie
Linux

I famigerati parametri PHP per il corretto funzionamento di un CMS o una Custom Application

Quando ci troviamo a lavorare con un cms, sia esso #WordPress, o #Joomla o un applicativo custom, può capitare di imbattersi nella necessità di dover aumentare le “risorse” messe a disposizione dallo spazio web.

Andiamo quindi a scoprire come calibrare queste impostazioni nel modo più intelligente possibile, capendone, cioè, il significato!!!:

VERSIONE PHP

Come si può intuire facilmente, a diverse versioni corrispondono diversi parametri. È sempre meglio utilizzare una versione di PHP aggiornata sia per le migliorie di performace, sia per alcuni utili “tune” possibili solo nelle ultime.

MEMORY_LIMIT

Memory Limit è un parametro che permette di regolare la necessità di più memoria scegliendo tra le seguenti taglie di MegaByte:

  • 8M
  • 16M
  • 32M
  • 64M
  • 128M
  • 256M

MAX_EXECUTION_TIME

Il max execution time è un valore espresso in secondi per l’elaborazione delle richieste. Questo è il responsabile del messaggio “Maximum execution time exceeded”. Una volta raggiunto questo limite non viene consentito al sistema di elaborare le richieste in maniera corretta.

  • 30
  • 60
  • 90
  • 120

MAX_INPUT_TIME

Il max input time è il tempo massimo (in secondi) messo a disposizione di un singolo script per analizzare i dati di input (POST e GET).

L’intervallo di tempo inizia nel momento in cui questo viene richiamato sul server e termina quando ne inizia l’esecuzione. Il suo valore, se impostato a -1, indica che il nostro server, al suo posto, considera max_execution_time.

  • 0 (zero) per avere così tempo illimitato.
  • 30
  • 60
  • 90
  • 120

UPLOAD_MAX_FILESIZE

Il campo upload_max_filesize indica il limite di grandezza per un file che può essere caricato nel server:

  • 2M
  • 4M
  • 8M
  • 10M
  • 16M

POST_MAX_SIZE

Questo valore indica la dimensione massima relativa ai dati consentiti ed influisce, come prevedibile, anche sui caricamenti di file insieme al valore impostato per upload_max_filesize.

Per convenzione e sensatezza dovremmo garantire memory_limit > post_max_size.

  • 2M
  • 4M
  • 8M
  • 16M

INCLUDE_PATH

Include_path serve a determinare il campo di applicazione delle funzioni requireincludefopen ()file ()readfile () e file_get_contents (). queste cercheranno i file indicati con path relativo in queste directory.

Il formato è quello di un elenco di directory separate da due punti (Unix) o separate da punto e virgola (Windows).

È possibile modificare o impostare il percorso a runtime tramite la set_include_path().

OPEN_BASEDIR

Open_basedir delimita l’area di accesso al sistema dalla nostra applicazione. Quindi si potrà accedere ai file solo se presenti nella struttura specificata qui.

un esempio pratico di metodi impattati sono la include() o la fopen(). Per default non vengono posti limiti.

ERROR_REPORTING

Error_reporting imposta il livello di segnalazione degli errori. Tramite un numero intero legato ai livelli di error_reporting descritti nel file php.ini.

DISPLAY_ERRORS

Display_errors, collegato al parametro di prima, determina se gli errori devono essere riportati sullo schermo o meno. “Off” è il predefinito.

LOG_ERRORS

Log_errors indica dove redirezionare i messaggi di errore dello script, nel log degli errori del server o in error_log.

FILE_UPLOADS

File_uploads, facilmente, consente o meno i caricamenti di file HTTP.

Thank You!

Categorie
Linux Windows

apply_filters_deprecated() error WordPress

Normale amministrazione del proprio sito, entro nel pannello di controllo, eseguo gli update in modo “distratto” per tutti i plugin ed esco.

Ri-accendo alla mia area amministrativa ed ecco l’errore apply_filters_deprecated().

Fatal error: Uncaught Error: Call to undefined function apply_filters_deprecated()

Il sito, lato pubblico risponde perfettamente, accedendo all’area amministrativa invece il sito è inutilizzabile; questo errore si presenta ad ogni tentativo, cosa fare? cosa è successo?

Ovviamente aver appena interagito con i plugin non è un caso, il “colpevole” è infatti “Yoast SEO plugin”.

La procedura per sistemare le cose è semplice, via FTP o tramite il programma di navigazione del provider, occorre eliminare tutta la cartella wp-content/plugins/wordpress-seo

Adesso il sito dovrebbe rispondere ed essere nuovamente utilizzabile, ovviamente l’operazione precedente ha rimosso completamente il plugin quindi, per riutilizzarlo, occorre reinstallarlo.

Categorie
Linux

Metodo Delle Quadrature Successive con Esempio

Introduciamo ora il Metodo Delle Quadrature Successive (con Esempio) e vediamo come trovare il valore di 6^79 (mod 91) in 3 semplici passaggi:
  1. Scomporre l’esponente come somma di potenze di due (nell’esempio 79 = 64 + 8 + 4 + 2 + 1).
  2. Calcolare il valore della base elevata a tutti gli esponenti di due, ovviamente in modulo, partendo da 0 fino al massimo trovato. (Nel nostro esempio 6^2 (mod 91), 6^4 (mod 91), …, 6^32 (mod 91), 6^64 (mod 91) ricordandoci che possiamo sfruttare i risultati precedenti, ad esempio 6^2 (mod 91) = 36, 6^4 (mod 91) = 36^2 (mod 91).
  3. Concentriamoci adesso sui soli risultati che ci interessano, moltiplicandoli. (nel nostro esempio 6^2, 6^4, 6^8, 6^64 (6^0 e 6^1 li ottieni banalmente) tutti modulo 91.

A questo punto sia x il prodotto del punto 3, si calcola x mod 91 = y. Con quest’ultimo come risultato finale.

L’incremento di efficienza rispetto al prodotto iterato si vede anche ad occhio

Categorie
Linux

Cookie – Privacy

Lo scopo dell'informativa

Lo scopo di questa pagina è descrivere le modalità di gestione del portale in riferimento al trattamento dei dati personali degli utenti che lo consultano, i quali saranno trattati secondo regole di liceità, correttezza, pertinenza e non eccedenza.
Si tratta di un'informativa che è resa ai sensi dell'art. 13 del d.lgs. n. 196/2003 – Codice in materia di protezione dei dati e delle Linee guida in materia di trattamento di dati personali contenuti anche in atti e documenti amministrativi, effettuato da soggetti pubblici per finalità di pubblicazione e diffusione sul web del Garante per la protezione dei dati personali (Deliberazione del 02.03.2011, G.U. n. 64, 19.03.2011).
L'informativa si ispira anche alla Raccomandazione n. 2/2001 adottata dalle autorità europee per la protezione dei dati personali, riunite nel Gruppo istituito dall'art. 29 della direttiva n. 95/46/CE, e recepisce le disposizioni contenute nel “Provvedimento sull'individuazione delle modalità semplificative per l'informativa e l'acquisizione del consenso per l'uso dei cookie” del Garante per la protezione dei dati personali (Provvedimento n. 229 del 08.05.2014, G.U. Serie Generale n. 126 del 03.06.2014).

L'informativa è resa solo per il sito Abruzzosullarete e non anche per altri siti web eventualmente consultati dall'utente tramite link.

Il titolare del trattamento

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili. Il 'titolarè del loro trattamento è Paolo Leoni [email protected]

Luogo di trattamento dei dati

Paolo Leoni, strada seconda S.Elia 97100 L’aquila. [email protected]

Dal momento che l’installazione di Cookie e di altri sistemi di tracciamento operata da terze parti tramite i servizi utilizzati all’interno di questa Applicazione non può essere tecnicamente controllata dal Titolare, ogni riferimento specifico a Cookie e sistemi di tracciamento installati da terze parti è da considerarsi indicativo. Per ottenere informazioni complete, consulta la privacy policy degli eventuali servizi terzi elencati in questo documento.
Vista l’oggettiva complessità legata all’identificazione delle tecnologie basate sui Cookie ed alla loro integrazione molto stretta con il funzionamento del web, l’Utente è invitato a contattare il Titolare qualora volesse ricevere qualunque approfondimento relativo all’utilizzo dei Cookie stessi e ad eventuali utilizzi degli stessi – ad esempio ad opera di terzi – effettuati tramite questo sito.

Tipi di dati trattati

Dati di navigazione

I sistemi informatici e le procedure software preposte al funzionamento di questo sito web acquisiscono, nel corso del loro normale esercizio, alcuni dati personali (c.d. log files) la cui trasmissione è implicita nell'uso dei protocolli di comunicazione di Internet. Si tratta di informazioni che non sono raccolte per essere associate a interessati identificati, ma che per loro stessa natura potrebbero, attraverso elaborazioni ed associazioni con dati detenuti da terzi, permettere di identificare gli utenti. In questa categoria di dati rientrano gli indirizzi IP o i nomi a dominio dei computer utilizzati dagli utenti che si connettono al sito, gli indirizzi in notazione URI (Uniform Resource Identifier) delle risorse richieste, l'orario della richiesta, il metodo utilizzato nel sottoporre la richiesta al server, la dimensione del file ottenuto in risposta, il codice numerico indicante lo stato della risposta data dal server (buon fine, errore, ecc.) ed altri parametri relativi al sistema operativo e all'ambiente informatico dell'utente. Questi dati vengono utilizzati al solo fine di ricavare informazioni statistiche anonime sull'uso del sito e per controllarne il corretto funzionamento. I dati potrebbero essere utilizzati per l'accertamento di responsabilità in caso di ipotetici reati informatici ai danni del sito e potranno essere esibiti all'Autorità Giudiziaria, qualora questa ne faccia esplicita richiesta.
Dati forniti volontariamente dall'utente
L'invio facoltativo, esplicito e volontario di posta elettronica agli indirizzi indicati su questo sito comporta la successiva acquisizione dell'indirizzo del mittente, necessario per rispondere alle richieste, nonché degli eventuali altri dati personali inseriti nella missiva. Specifiche informative di sintesi verranno progressivamente riportate o visualizzate nelle pagine del sito predisposte per particolari servizi a richiesta.

COOKIE

I cookie sono stringhe di testo di piccole dimensioni che i siti visitati dall'utente inviano al suo terminale, dove vengono memorizzati per essere poi ritrasmessi agli stessi siti alla successiva visita del medesimo utente. Nessun dato personale degli utenti viene in proposito acquisito dal sito. Non viene fatto uso di cookie per la trasmissione di informazioni di carattere personale, né vengono utilizzati sistemi per il tracciamento e l'identificazione degli utenti.

I cookie utilizzati direttamente sono solo di tipo tecnico:

  • cookie di navigazione o di sessione, strettamente limitati alla trasmissione di identificativi di sessione (costituiti da numeri casuali generati dal server) necessari per consentire l'esplorazione sicura ed efficiente del sito (permettendo, ad esempio, di autenticarsi per accedere ad aree riservate);
  • cookie di funzionalità, che permettono all'utente la navigazione in funzione di una serie di criteri selezionati (ad esempio, la lingua) al fine di migliorare il servizio reso allo stesso.

La disabilitazione di questi cookie non consente l'utilizzo di parte dei servizi on line.

Cookie di terze parti:

cookie di monitoraggio o analitici. Il portale si avvale di "Google Analytics", un servizio di analisi web fornito da Google Inc. (“Google”) che utilizza cookie persistenti per consentire l'analisi statistica della navigazione delle pagine, senza memorizzare dati personali.

Tali informazioni verranno trasmesse e depositate presso i server di Google, che, secondo i termini di servizio in essere, li utilizzerà allo scopo di tracciare ed esaminare l'utilizzo del sito web da parte dell'utente, compilare report sulle attività del sito web per gli operatori del sito e fornire altri servizi relativi alle attività sul sito. Dette informazioni potrebbero anche essere trasferite a terzi da Google ove ciò sia imposto dalla legge o se tali terzi trattino le suddette informazioni per conto di Google. L'indirizzo IP dell'utente non sarà associato a nessun altro dato posseduto da Google.

Al seguente link è possibile consultare l'informativa sulla privacy della società Google, relativa al servizio Google Analytics http://www.google.com/intl/en/analytics/privacyoverview.html.

Per conoscere le norme sulla privacy di Google, si invita a visitare il sito Internet http://www.google.com/intl/it/privacy/privacy-policy.html.

Navigando nel sito web Abruzzosullarete, l'utente acconsente al trattamento dei dati da parte di Google per le modalità e i fini sopraindicati.

I cookie di monitoraggio possono essere disabilitati senza nessuna conseguenza sulla navigazione del portale.

Il Portale potrebbe contenere collegamenti ad altri siti web che dispongono di una propria informativa sulla privacy. L'Ateneo non risponde del trattamento dei dati svolto da tali siti.

È possibile negare il consenso all'utilizzo dei cookie agendo direttamente sulle impostazioni del proprio browser. Per informazioni dettagliate su come disabilitare i cookie per i browser più diffusi consultare le seguenti pagine (esterne al Portale):

Qualora si desiderasse disabilitare soltanto i cookie di Google Analytics, è possibile utilizzare il componente aggiuntivo di Google.
Anche se viene revocata l'autorizzazione all'utilizzo di cookie, prima di tale revoca i cookie potrebbero essere stati memorizzati sul terminale dell'utente. E' possibile cancellare cookie già memorizzati sul terminale modificando le opzioni del browser sulla privacy. Le impostazioni del browser contengono, infatti, l'opzione "Cancella dati di navigazione" che può essere utilizzata per eliminare i cookie, dati di siti e plug-in.

Facoltatività del conferimento dei dati

A parte quanto specificato per i dati di navigazione, l'utente è libero di fornire i dati personali riportati nei moduli di richiesta alla mail indicata o comunque indicati in contatti con l'Ufficio per sollecitare l'invio di materiale informativo o di altre comunicazioni. Il loro mancato conferimento può comportare l'impossibilità di ottenere quanto richiesto. Per completezza va ricordato che in alcuni casi (non oggetto dell'ordinaria gestione di questo sito) l'Autorità può richiedere notizie e informazioni, ai fini del controllo sul trattamento dei dati personali. In questi casi la risposta è obbligatoria a pena di sanzione amministrativa.

Modalità del trattamento

I dati personali sono trattati con strumenti automatizzati per il tempo strettamente necessario a conseguire gli scopi per cui sono stati raccolti. Specifiche misure di sicurezza sono osservate per prevenire la perdita dei dati, usi illeciti o non corretti ed accessi non autorizzati.

Diritti degli interessati

I soggetti cui si riferiscono i dati personali hanno il diritto in qualunque momento di ottenere la conferma dell'esistenza o meno dei medesimi dati e di conoscerne il contenuto e l'origine, verificarne l'esattezza o chiederne l'integrazione o l'aggiornamento, oppure la rettificazione. Ai sensi del medesimo articolo si ha il diritto di chiedere la cancellazione, la trasformazione in forma anonima o il blocco dei dati trattati in violazione di legge, nonché di opporsi in ogni caso, per motivi legittimi, al loro trattamento. Le richieste vanno rivolte alla mail indicata.

Cookie di terze parti

Cookie Name Expiration Time Description
_ga 2 years Used to distinguish users.
_gat 10 minutes Used to throttle request rate.
accept_cookie 2 years Used to save cookie accepted. it will not display cookie sidebar.

In ogni momento potrai cambiare le tue impostazioni relative ai cookies: in caso le impostazioni venissero modificate, non garantiamo il corretto funzionamento del nostro sito.

At any time you can change your cookie’s settings: if changed we do not guarantee the proper functioning of our site .

Categorie
Linux Windows

Aggiungi Google SSL Encrypted come motore di ricerca in chrome

https://encrypted.google.com/ è il motore di ricerca google che non traccia i traffici dell’utente.

Collegandosi all’indirizzo web ed impostandolo come pagina principale avremo l’interfaccia pulita di Google con il potere delle ricerche effettuate in https cifrate e protette.

Per essere ancora più performante e utilizzare la ricerca Encrypted tramite barra degli indirizzi, Aggiungi Google SSL Encrypted come motore di ricerca in chrome, basterà scaricare Google Chrome o Chromium, andare nel pannello delle impostazioni, alla voce CERCA premere su GESTISCI MOTORI DI RICERCA e aggiungere in basso un nuovo motore di ricerca, i primi due campi sono Nome e Dominio il terzo va riempito con questa query:

https://encrypted.google.com/search?{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=chrome&ie={inputEncoding}&q=%s

Perfetto, adesso Encrypted Google è ReadyToUse!!!!!

Categorie
Linux Programmazione Windows

GitPills – Guida rapida al primo utilizzo di GitHub

GitPills – Guida rapida al primo utilizzo di GitHub

/*AGGIUNGERE PROGETTO DA REPO*/
git clone [url] [folder]

/*AGGIORNARE LA VERSIONE SENZA CONFLITTI*/
git pull //update project from online version
git add * (aggiungi le modifiche) (puoi ignorare LF in CRLF)
git commit -m “Messaggio”

/*AGGIORNARE */
git push
/*username e password*/

/*IN CASO DI CONFLITTI*/
git add *
/*modificare dove sono inseriti i suggerimenti di github*/
git add *
git commit -m “messaggio DIFFERENTE”
/*AGGIORNARE */
git push
/*username e password*/

Categorie
Linux Programmazione Windows

Sublime rimuovere gli update

Sublime e’ un alleato per i programmatori ed ha tantissime configurazioni, non “accessibilissime” ma se si sa dove andare si possono personalizzare tutte le sue features, come per esempio rimuovere gli updates.

Per farlo basta aprile le “preferenze” andare a modificare le “Setting – User” ed inserire un istruzione custom:

“update_check”: false,

Perfetto adesso Sublime è di nuovo, ReadyToUse!!!!!!!!