Messaggi di commit di Git con l'intelligenza artificiale

I messaggi di commit in Git sono spesso trascurati. Molti li considerano solo un male necessario per salvare le modifiche. I messaggi di commit significativi sono un fattore decisivo per il successo di un progetto: assicurano una buona tracciabilità delle modifiche, una collaborazione efficiente tra i team e una risoluzione più rapida dei problemi. Non c'è motivo di creare automaticamente i messaggi di commit con l'aiuto dell'intelligenza artificiale.

.­.­.

Il rettangolo di febbraio

A volte il mese di febbraio ha una forma insolitamente attraente nel calendario. Ad esempio, nel febbraio 2021 si potrebbe vivere un momento del genere, un "febbraio perfettamente rettangolare". Questo raro effetto si verifica quando il mese di febbraio ha esattamente \ (28\) giorni e il primo febbraio cade di lunedì. Ma quanto spesso accade effettivamente e quanto bisogna aspettare la prossima volta?

.­.­.

Centratura verticale nei CSS

Il CSS è ancora confuso per la maggior parte di noi: ha centinaia di proprietà mal denominate, ognuna delle quali può influenzare il risultato in modi non intuitivi. Il posizionamento verticale degli elementi nello sviluppo web è complicato e spesso è stato un problema in passato, ma quei giorni sono fortunatamente finiti.

.­.­.

animare height: 0 a height: auto con i CSS

Le transizioni CSS sono un buon modo per creare interattività., transition allo stato iniziale di un elemento e il browser anima la transizione tra i due stati. Le transizioni per le variabili intrinseche dell'elemento, come ad esempio auto sono stati un problema per gli sviluppatori web per decenni e l'unica opzione era quella di calcolare l'altezza dinamicamente utilizzando JavaScript.

.­.­.

Non esiste un numero intero tra 0 e 1

Non esiste \( n \ in \mathbb{Z}^+\), in modo che \ (0 < n < 1\).

.­.­.

Paradosso dell'ascensore

Nel 1950, i fisici George Gamow e Marvin Stern notarono un fenomeno interessante: Gamow, che aveva un ufficio al primo piano di un edificio di sei piani, notò che cinque volte su sei l'ascensore successivo in arrivo viaggiava verso il basso anche se stava salendo. Stern, che lavorava al quinto piano, osservò il contrario.

.­.­.

Quine

Un programma quine, o quine, è un programma che stampa il proprio codice sorgente quando viene eseguito. Un quine non deve "uscire da se stesso", ad esempio stampando il contenuto del file in cui è contenuto o utilizzando le capacità introspettive per stampare la propria rappresentazione, ma deve calcolare il proprio codice sorgente.

.­.­.

Rotazione dei file con script bash

Strumenti potenti come logrotate rendono molto più semplice la rotazione dei file di log o di backup. I file vengono ruotati dopo un certo periodo di tempo o quando raggiungono una certa dimensione. Se non si dispone di questo strumento su un server remoto e si possono eseguire solo comandi SSH da remoto, ci si può aiutare con un piccolo script bash che cancella i vecchi file e invia solo una richiesta.

.­.­.

Legge di Benford

Nel mondo dei numeri, spesso ci imbattiamo in modelli sorprendenti che possono essere intriganti e illuminanti. Una di queste curiosità è la legge di Benford, nota anche come legge della prima cifra. Questo fenomeno matematico descrive la distribuzione di frequenza delle prime cifre in molti set di dati del mondo reale e offre spunti interessanti sulla natura dei numeri nel nostro ambiente.

.­.­.

Calcolo paradossale delle probabilità

Ho due figli e un maschio che è nato di giovedì. Qual è la probabilità che io abbia una figlia? Indichiamo i giorni della settimana con i numeri \ (1, 2, ... , 7\) con \ (1\ =\) lunedì, \ (2 =\) martedì e così via. Ora possiamo definire l'evento "è nato un maschio il giorno \ (n\) " come \( B_n\), e analogamente per \( G_n\).

.­.­.

L'argomento del giorno del giudizio

Assumendo che il numero \ (Y) di tutte le persone che sono mai nate e che nasceranno a un certo punto sia limitato, lasciamo che \ (x) sia la vostra posizione assoluta dall'inizio della lista. Allora \( 0 < \frac{x}{Y} \leq 1\). Possiamo ora dire con una probabilità di \( 95\%) che siete tra gli ultimi \( 95\%) di tutte le persone mai nate, cioè \( 0,05 < \frac{x}{Y} \leq 1\) e quindi \( Y < \frac{x}{0,05} = \frac{100 \cdot x}{5} = 20 \cdot x\).

.­.­.

Paradosso del bevitore

La seguente frase è nota come "paradosso del bevitore": "C'è qualcuno nel pub, quindi se lui o lei sta bevendo, tutti nel pub stanno bevendo". Non importa se quella persona incoraggia gli altri a bere o esiste qualche altra porta sul retro, come vedremo tra un momento. È un bell'esempio dalla logica matematica del primo ordine.

.­.­.

Indovinare il numero

Un ragazzo pensa a un numero che è \(1\) , \(2\) o \(3\) e una ragazza può solo fare una domanda su quel numero. Il ragazzo può solo rispondere " ", " No ", o " Non lo so" . Attraverso un'abile domanda, la ragazza riesce a nominare il numero corretto a cui il ragazzo stava pensando dopo che il ragazzo le ha risposto. Qual è la tua domanda?

.­.­.

Oggetto senza origine

Immagina di ricevere un giorno un misterioso pacco senza mittente. Incuriosito, apri il pacco e trovi un anello che regali a tua figlia. Decenni dopo, è lei che può usare un wormhole per inviare oggetti indietro nel tempo. Lo fa con l'anello che una volta le hai regalato, avvolto in un pacco che ti indirizza. La domanda è: da dove viene l'anello?

.­.­.

CI con azioni GitHub

In alternativa all'apprezzatissimo Travis CI , da qualche tempo è disponibile anche GitHub Actions , che come strumento di integrazione continua è molto ben integrato sulla piattaforma di codice GitHub ed è ora molto stabile. Le azioni GitHub si basano su file di configurazione YAML posizionati nel repository in cui deve essere eseguito il flusso di lavoro.

.­.­.

Il paradosso di Stein

Nel 1961 James e Stein pubblicarono l'articolo Estimation with Quadratic Loss . Prendi dati normalmente distribuiti con una media sconosciuta \(\mu\) e varianza \(1\) . Se ora scegli un valore casuale \(x\) da questi dati e devi stimare la media \(\mu\) sulla base di questo, intuitivamente \(x\) è una stima ragionevole per \(\mu\) (poiché è presente una distribuzione normale, la \(x\) scelta casualmente è probabilmente vicina a \(\mu\) ).

.­.­.

Accesso con PHP a Exchange/Office 365

Annunciato da tempo , ora realtà : Microsoft ha disattivato l'autenticazione tramite password per alcuni protocolli in Exchange Online da settembre 2022 a favore di oAuth2. I problemi di GitHub di molte librerie e script di backup chiariscono che il passaggio ha colto di sorpresa molti amministratori. Di seguito mostriamo un modo per continuare ad accedere ai contenuti della tua casella di posta Exchange con l'aiuto di oAuth2 tramite PHP tramite IMAP.

.­.­.

UUID nei database

UUID (Identificatori di ID universalmente univoci) sono valori a 128 bit che vengono utilizzati nei database, tra le altre cose, per identificare in modo univoco le voci della tabella. Sono rappresentati come una stringa esadecimale divisa in cinque gruppi separati da trattini (Esempio: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). C'è numerose Discussioni sui vantaggi e gli svantaggi degli UUID nei database: sono indispensabili nei sistemi distribuiti.

.­.­.

Pulisci la cronologia di Git, parte 2

Dati sensibili o consumo eccessivo di memoria: ci sono buone ragioni per voler cambiare la cronologia di Git. In questo post del blog , ho spiegato come eliminare i file dalla cronologia di Git utilizzando BFG . Un punto debole di BFG è la mancanza di supporto per i percorsi diretti , quindi non è possibile rimuovere in modo specifico file o cartelle nelle sottocartelle dalla cronologia. Detto ciò, è tempo di cercare soluzioni alternative.

.­.­.

Limite di memoria in WordPress

tl;dr: imposta manualmente il valore o i valori predefiniti di WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT non hanno effetto se WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT minore o uguale al limite di memoria di PHP (di seguito memory_limit chiamato) è. Servono per impostare valori troppo bassi di memory_limit dinamicamente al minimo raccomandato.

.­.­.

Suggerimento rapido: modifica Iframe

Se incorpori un iframe di terze parti (come un widget), non puoi accedere al suo contenuto né con CSS né JavaScript (a causa della cosiddetta politica della stessa origine ). Tuttavia, esiste una procedura molto semplice per modificare qualsiasi codice (anche in altri file che vengono ricaricati all'interno dell'iframe). Per fare ciò, instrada l'URL attraverso il tuo proxy PHP e modifichi il contenuto come desideri.

.­.­.

Monete nell'app ANTON

ANTON è una delle app di apprendimento più popolari per gli studenti delle classi 1-10. Classe. A prima vista, l'aspetto della ludicizzazione dell'acquisizione di monete ("monete") può sembrare strano agli adulti, ma moltiplica notevolmente la motivazione, non solo dei miei figli. Risparmia anche un piccolo "cuscino" di monete che non tocchi.

.­.­.

Sulla robustezza dell'IBAN

Come è noto, l'IBAN tedesco è composto dal prefisso internazionale (DE), da una cifra di controllo a due cifre (secondo ISO 7064 ), dal codice bancario (8 cifre) e dal numero di conto (incl. numero di conto secondario, 10 cifre, le cifre mancanti vengono riempite con zeri iniziali) ed è quindi di 22 cifre. Per calcolare la cifra di controllo, vengono formati il ​​cosiddetto BBAN (codice bancario e numero di conto) nonché il prefisso numerico del paese \(1314\) per la Germania e la cifra di controllo \(00\) ).

.­.­.

La matematica nel gioco Dobble

All'ultima serata in famiglia, il gioco Dobble (nell'edizione Harry Potter) è stato portato in tavola con entusiasmo dai bambini. Dopo il 5° round perso (senza alcun risultato visibile della mia carta con la carta da gioco) mi è stato detto, con mio stupore, che ogni giocatore può sempre trovare un colpo in ogni round. Ma la mia incredulità è stata riconosciuta solo con ulteriori giri persi: i bambini erano semplicemente più veloci.

.­.­.

Tempo di blocco bitcoin

Sai: il tempo previsto tra due blocchi Bitcoin è in media \(10\) minuti. Ora stai effettuando un'importante transazione Bitcoin e stai aspettando con impazienza di vedere se e quando apparirà nel blocco successivo:

e50bfacc95975a4e7545d83d8954645f

.­.­.

Corona matematica

Nel rapporto settimanale RKI dell'11.11.2021 è elencato a pagina 22 che \(36\%\) pazienti con corona \(36\%\) oltre 60 anni nel reparto di terapia intensiva erano già completamente vaccinati. In questo gruppo di età, \(87\%\) completamente vaccinati in quel momento (vedi p. 18).

.­.­.

Calcolo dell'indice di visibilità SISTRIX

Insieme a Xovi, lo strumento SISTRIX è il programma di analisi più utilizzato in Germania nell'area della SEO. L'indice di visibilità si è affermato come un quasi standard per la visibilità di una pagina nella ricerca di Google. I parametri che sono inclusi nel suo calcolo sono, ad esempio , spiegati qui e qui e qui e qui e qui , ma una formula di calcolo esatta non è pubblicata ufficialmente. I seguenti sono i risultati della mia ricerca personale di sei mesi, che non pretendono di essere completi o corretti.

.­.­.

Frazioni decimali

I numeri decimali finiti sono chiamati frazioni decimali, perché sono una rappresentazione diversa per le frazioni con potenze di dieci al denominatore. così è:

$$\frac{z}{n} = \frac{q_1}{1} + \frac{q_2}{10} + \dots + \frac{q_k}{10^k}$$

con \(k \in \mathbb{N}\) e \(q_k\) il \(k-1\) -esimo posto a destra dopo la virgola.

.­.­.

Suggerimento rapido: cambia automaticamente la versione del nodo

L'uso di nvm è consigliato per l'installazione rapida e la modifica delle versioni del nodo. Se vuoi specificare esplicitamente la versione del nodo richiesta in un progetto, metti un file chiamato .nvmrc con il numero di versione esatto (es "12.10.0") nella stessa cartella in cui si trova il pacchetto.json . Se ora si passa alla cartella, la seguente estensione del file ~ / .bash_profile per bash esegue il comando nvm use , che imposta automaticamente questa versione:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

Utilizza le query del contenitore oggi stesso

Da quando esiste un web design reattivo, gli sviluppatori hanno chiesto la possibilità di progettare elementi DOM in base alla loro dimensione effettiva e non alla dimensione del viewport nel browser (con l'aiuto delle query multimediali ). In effetti, le query del contenitore (inizialmente le query degli elementi) sono probabilmente la funzione CSS più richiesta che i browser ancora non hanno .

.­.­.

Pulisci la cronologia di Git

I dati sensibili come le password dovrebbero essere nei file .env e, se possibile, non finire nei repository Git. Ma probabilmente è successo a ciascuno di noi almeno una volta per errore: ha pubblicato rapidamente un simpatico script API JS di Google Maps su GitHub Gists (come "pubblico") senza mascherare accidentalmente la nostra chiave API privata di Maps.

.­.­.

Ritaglia SVG dalle immagini con clip-path

Se si desidera ritagliare un'immagine con l'aiuto di un SVG, si consiglia l'uso della proprietà CSS clip-path . Il seguente script attiva barriere irregolari: L'SVG può essere salvato con l'aiuto di Illustrator, puoi specificare l'URL (relativo o assoluto) di un SVG (Chrome supporta fino ad ora solo SVG in linea in modo nativo) e anche la scollatura è completamente reattiva.

.­.­.

Suggerimento rapido: WP_Query e campi multilinea

Con l'aiuto dell'attributo meta_query nella potente classe WP_Query di WordPress, è possibile filtrare i post che hanno determinati valori nei loro meta campi. Se hai creato un meta campo multilinea (ad esempio con l'aiuto di Advanced Custom Fields ) e vuoi trovare solo post che contengono un certo valore in questo campo separati da interruzioni di riga, ti consigliamo il mondo REGEX di MySQL.

.­.­.

Integra le animazioni di Adobe Animate in modo nativo

In un precedente articolo ho descritto come è possibile integrare facilmente animazioni da Adobe Animate in un sito Web tramite la deviazione di un'esportazione APNG. C'è anche il modo nativo tramite l' esportazione tela HTML5 , ma chiunque abbia già lavorato con esso scoprirà che è bloccato in ogni angolo (supporto reattivo insufficiente, integrazione ingombrante in un sito Web esistente, nessun frame rate diverso per animazione, ecc.) .). La libreria adobe-animate-embed fornisce un rimedio qui.

.­.­.

Google Maps senza chiave API

Normalmente, quando si integra Google Maps, si lavora con l' API JavaScript di Maps , che richiede una chiave API e può comportare costi da non sottovalutare con numeri di accesso più alti. Esistono ottime alternative come mapbox o OpenStreetMap , ma non raggiungono ancora la varietà di funzionalità offerte da Google. Google stesso offre anche un modo senza una chiave API tramite la funzione di condivisione, che possiamo utilizzare per i nostri scopi.

.­.­.

Esportazione APNG di Adobe Animate

Il supporto del browser per i file PNG animati è ora così buono che le animazioni create con Animate CC possono essere facilmente esportate in APNG e quindi incorporate in un sito Web in un semplice tag <img>. Si tratta di un'alternativa semplice e di buona qualità al metodo di pubblicazione in Animate CC, che genera JavaScript. I passaggi da eseguire sono descritti di seguito.

.­.­.

Espandi la ricerca di WordPress

Se vuoi espandere la ricerca nativa di WordPress con, ad esempio, meta-campi, è consigliabile dare un'occhiata ai filtri attivati. L'hook posts_search è consigliato in modo che l'impaginazione continui a funzionare e i futuri miglioramenti nella ricerca non vengano annullati . Con l' aiuto delle funzioni REGEXP ed ExtractValue , il codice seguente estende questa ricerca per includere i post che contengono una delle parole di ricerca immesse in tutti i metacampi.

.­.­.

Il capolavoro di Godel

Quando Kurt Gödel pubblicò i suoi famosi Teoremi di incompletezza nel 1931, scosse le fondamenta della logica matematica: confutò che tutti gli assiomi che possono essere impostati come una possibile base sono inevitabilmente incompleti al fine di dimostrare tutte le affermazioni sui numeri e Il sogno di Hilbert di dimostrare la coerenza della teoria matematica.

.­.­.

Usa WhatsApp tramite API

Nonostante tutte le preoccupazioni sulla protezione dei dati, WhatsApp è ancora l'app di messaggistica preferita dai tedeschi. Oltre alla speciale App WhatsApp Business , Facebook ha realizzato anche un'interfaccia ufficiale, l'API WhatsApp Business, per renderla più interessante per le aziende. Se desideri inviare messaggi WhatsApp a livello di programmazione dalla tua applicazione web, ci sono anche altri modi.

.­.­.

Sfoca la pagina dietro l'overlay utilizzando CSS

Se utilizzi elementi come gli overlay (che è la regola ai tempi dell'azionismo GDPR) e vuoi ammorbidire l'area dietro l'overlay, ad esempio, ti imbatti spesso nel problema del contesto di stacking . Ad esempio, se gli elementi sono posizionati in modo assoluto o fisso, vengono improvvisamente visualizzati in modo diverso rispetto a senza un filtro applicato. Ma c'è un rimedio.

.­.­.

Suggerimento rapido: test divisi con Apache

Non è necessario utilizzare uno strumento potente come Google Optimize per semplici test di suddivisione degli URL, puoi anche risolvere Apache tramite .htaccess. Il seguente snippet di codice distribuisce i suoi visitatori in modo uniforme a entrambe le versioni per le due pagine https://vielhuber.de/test1.php (variante 1) e https://vielhuber.de/test2.php (variante 2). La randomizzazione si basa sull'ora corrente del server.

.­.­.

Informazioni sulla notazione delle funzioni ramificate

Le parentesi graffe vengono utilizzate nella notazione delle definizioni di funzione con distinzione tra maiuscole e minuscole. Perseguiamo la semplice questione se questa rappresentazione possa anche essere eliminata e la funzione possa essere ridotta a una notazione che ne fa a meno. Ad esempio, la funzione

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

con l'aiuto delle quattro operazioni aritmetiche di base che utilizzano un termine di una riga?

.­.­.

Serie di date in Fogli Google

Quando si visualizzano i dati in Fogli Google, si riscontra il problema che l'asse \(x\) non può riempire automaticamente gli spazi mancanti nei valori di testo (come nelle settimane di calendario). Per risolvere il problema, si genera una serie continua di date, si contano le celle che si presentano e si visualizzano le somme accumulate.

.­.­.

Suggerimento rapido: PHP clearstatcache

Trova l'errore:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Hacking dell'API di traduzione di Google

Come parte del suo Google Cloud, Google offre l' API di traduzione di Google con una struttura dei costi basata sull'utilizzo. C'è anche un'API non documentata che può essere utilizzata senza una chiave , ma che si rifiuta di funzionare dopo poche richieste. Quando si utilizza la funzione di traduzione di siti Web di Google Chrome, è evidente che le pagine possono essere tradotte con una qualità molto buona senza alcuna limitazione evidente.

.­.­.

Suggerimento rapido: codifica automatica Git

Se colleghi Github a Composer , è obbligatorio assegnare un numero di versione tramite tag git . Il seguente comando della riga di comando determina il giorno corrente e lo aumenta (secondo SemVer ) di un numero di versione. Ad esempio, la versione 1.1.0 segue dopo la 1.0.9. Se non viene assegnato alcun tag, la versione viene automaticamente contrassegnata con 1.0.0. Strumenti come ganci fragili o git accorciano questo deserto di simboli.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

Modifica trigger MySQL

Sfortunatamente, MySQL non offre la funzione ALTER TRIGGER. Per modificare un trigger esistente, è necessario prima eliminarlo e quindi rigenerarlo. L'istruzione CREATE TRIGGER può essere letta indirettamente tramite information_schema . Questo ci consente di modificare i trigger tramite una deviazione. A tale scopo, apportare le modifiche al risultato del seguente comando SELECT (modificare in anticipo il database e il nome del trigger) ed eseguire la query.

.­.­.

Attiva eventi di modifica in VanillaJS

VanillaJS è stato alla pari con il veterano jQuery in quasi tutte le aree da ES6 ed è ora di gran lunga superiore. Quindi conviene migrare gradualmente il codice legacy da jQuery. Tuttavia, è necessario prestare attenzione quando si attivano eventi di modifica manuale. Ad esempio, document.addEventListener non si attiva su jQuery.change () . La seguente panoramica riassume le caratteristiche speciali.

.­.­.

Controlla i cookie con PHP e JS

L'impostazione dei cookie da parte di script propri o di terze parti può essere controllata con precisione con l'aiuto di PHP e JavaScript. Sebbene questa non sia una soluzione sufficiente per l'implementazione di soluzioni cookie dopo la sentenza del tribunale contro Planet49 (qui è fondamentale che strumenti di tracciamento come Google Analytics non tengano nemmeno traccia e di conseguenza non impostino cookie), può avere senso essere generalmente whitelist / blacklist cookie.

.­.­.

Disattiva i dispositivi tramite script in Windows

Al fine di risparmiare elettricità o ridurre la propria paranoia da monitoraggio, è consigliabile scollegare completamente i dispositivi che non sono in uso sul proprio computer. Dispositivi come casse acustiche o webcam possono essere disattivati ​​/ attivati ​​in modo classico tramite il gestore dispositivi. Il tutto funziona anche tramite script. Il modo standard per farlo era devcon . Windows 10 ora offre un modo più conveniente per farlo tramite PowerShell .

.­.­.

Sfocatura dello sfondo di Skype

Skype ha una funzione carina, un po 'nascosta: nel caso di trasmissioni video, lo sfondo può essere sfocato automaticamente facendo clic sul pulsante video e utilizzando la funzione " Sfoca lo sfondo ". Con l'aiuto dell'intelligenza artificiale, funziona con qualsiasi fotocamera anche senza informazioni di profondità. L'intera cosa sembra quindi più professionale e sbiadisce cose private o poco importanti sullo sfondo.

.­.­.

Esportazione SVG da Illustrator

Gli SVG svolgono un ruolo centrale nel web di oggi. Non solo hanno spostato i caratteri delle icone, ma offrono anche la possibilità di manipolazione tramite CSS o JavaScript. Se vuoi salvare una grafica vettoriale per il web da Adobe Illustrator come SVG, devi effettuare alcune impostazioni per evitare insidie ​​e ridurre i tempi di caricamento, che presenterò nel prossimo articolo.

.­.­.

Progetto Eulero: percorsi reticolari

Project Euler è una serie di eccitanti problemi di programmazione, spesso con un background matematico. I problemi sono spesso posti in modo tale che algoritmi sofisticati devono essere sviluppati per raggiungere l'obiettivo in un tempo ragionevole. Oggi risolviamo il problema 15: Percorsi reticolari , per i quali è possibile trovare la soluzione con semplici mezzi combinatori.

.­.­.

Aggiornamenti automatici di WordPress

WordPress ha implementato nativamente gli aggiornamenti in background dalla versione 3.7 e li ha attivati ​​automaticamente per le versioni minori. Con l'aiuto dei filtri puoi controllare il comportamento in modo più preciso, cosa esattamente viene aggiornato automaticamente. Non è prevista un'installazione permanente e completamente automatica di tutti gli aggiornamenti minori, principali, plug-in, temi e traduzioni, ma può essere facilmente eseguita diversamente.

.­.­.

Ottimizzazione dell'avvio di OPcache PHP

Per i siti Web basati su WordPress , Joomla o Laravel , ad esempio, e non hanno contenuti specifici dell'utente, è consigliabile mantenere tutte le pagine in una cache HTML statica e rigenerare la cache solo manualmente (o automaticamente) quando vengono apportate modifiche nel backend. Tuttavia, se la pagina contiene contenuto dinamico che dipende dalle sessioni e dai cookie o anche dalla lingua e dalla posizione, OPcache è adatto .

.­.­.

Fogli Google: formule in espansione

Per espandere le formule a intere colonne all'interno di Fogli Google, ti consigliamo di utilizzare l'utile funzione ARRAYFORMULA . Sfortunatamente, questo non funziona in combinazione con altre importanti funzioni come QUERY o INDIRECT , motivo per cui è necessario programmare completamente individualmente la logica con l'aiuto di Google Apps Script o, in alternativa, copiare manualmente la formula fino all'ultima riga.

.­.­.

Il paradosso dei Simpson

Il paradosso di Simpson è uno dei fenomeni facilmente comprensibili e allo stesso tempo sorprendenti della statistica. Si verifica ogni volta che gruppi di dati mostrano una particolare tendenza, ma tale tendenza viene invertita quando i gruppi vengono combinati. Con l'aiuto di un semplice esempio, il paradosso può essere compreso immediatamente.

.­.­.

Suggerimento rapido: Google Tag Manager

Google Tag Manager si è affermato come lo standard de facto per l'integrazione degli script di monitoraggio. In questo modo, da un lato, le responsabilità (marketing online vs. programmazione) sono nettamente separate e, dall'altro, è possibile impostare e modificare rapidamente il monitoraggio tramite un canale di distribuzione aggiuntivo. Ecco due piccoli suggerimenti per impostare i trigger.

.­.­.

Suggerimento rapido: hotspot WLAN FRITZ! Box

A partire da FRITZ! OS 07.10, se Internet non riesce, il FRITZ! Box può utilizzare temporaneamente l'hotspot wireless di un telefono cellulare come ripiego. La funzione è nascosta in Internet> Dati di accesso> Provider Internet> Accesso esistente tramite WLAN . Il FRITZ! Box funziona quindi come router e mette a disposizione una rete con un proprio intervallo di indirizzi. Quando Internet è nuovamente disponibile, è sufficiente ripristinare l'impostazione. Ho anche dovuto controllare le opzioni WLAN> Rete radio> Banda di frequenza 2,4 GHz attiva e Internet> Dati di accesso > IPv6> Supporto IPv6 attivo .

.­.­.

Fiore della vita

Il Fiore della Vita è un motivo geometrico familiare, simile a un fiore, che è stato trovato nei templi, nei manoscritti e per un bel po 'di tempo nella cultura pop per migliaia di anni. Il modello gioca anche un ruolo nell'esoterismo. Ignoriamo tutto questo a questo punto e ci concentriamo sulla semplice costruzione della forma geometrica, che è composta da diversi cerchi sovrapposti equidistanti.

.­.­.

Ritardo della posta elettronica in Outlook

Il mezzo di comunicazione asincrono e-mail è, nonostante tutte le profezie di sventura su Slack e Discord , il mezzo di comunicazione dominante nel settore degli affari in tutto il mondo. Oltre a Inbox Zero di Merlin Mann, esistono numerose altre strategie per affrontare il flusso quotidiano di e-mail, tra cui il cosiddetto e-mail delaying, ovvero il recapito ritardato delle e-mail.

.­.­.

Una spirale di numeri

Negli ultimi giorni, ho studiato la seguente domanda su StackExchange su una spirale di numeri interi. Stiamo cercando una formula chiusa per le coordinate del \(n\) -esimo elemento nella seguente spirale intera, che si estende dall'origine verso l'esterno e sempre più all'infinito:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16
.­.­.

Diritti di lettura in Fogli Google

Quando si lavora con Fogli Google , all'interno di un foglio di calcolo è possibile definire regole precise e basate sull'utente per la modifica di fogli di lavoro, colonne e righe. Sfortunatamente, non c'è modo di limitare i diritti di lettura. Tuttavia, ciò sarebbe molto utile in molti scenari. Quindi mostri ai tuoi clienti solo quei biglietti che riguardano loro o ai dipendenti solo i progetti su cui stanno lavorando.

.­.­.

Filato plug'n'play

npm è il gestore di pacchetti predefinito per Node.js. Facebook ha sviluppato da tempo una soluzione alternativa di gestione dei pacchetti chiamata Yarn . Yarn sembra stia lentamente scomparendo dai readme di GitHub come soluzione standard e le statistiche sul sito ufficiale mostrano che solo una frazione dei pacchetti viene eseguita da Yarn. Tuttavia, vale la pena pensare fuori dagli schemi.

.­.­.

Converti PDF in LaTeX


Il sistema di composizione \(\TeX\) stato sviluppato nel 1977 dal leggendario Donald E. Knuth . Il pacchetto software \(\LaTeX\) fa ancora parte del repertorio standard durante la creazione di articoli scientifici. Con i seguenti due strumenti, i PDF già generati e le note scritte a mano possono essere convertiti in modo completamente automatico in TeX. I risultati sono molto promettenti.

.­.­.

L'argomento della simulazione

L'argomento della simulazione di Nick Bostrom è straordinariamente semplice e chiaro. Non cerca di dimostrare che stiamo vivendo in una simulazione, ma formula invece elegantemente tre possibilità, una delle quali deve essere vera. Elon Musk sostiene anche una tesi simile, che ha fatto conoscere l'idea a un vasto pubblico. Il documento ufficiale ha più di 14 anni e altrettante pagine sono brevi. L'affermazione centrale è facile da capire e compatta.

.­.­.

Bug critico durante l'utilizzo di WPML + ACF

I potenti plugin WPML per il multilinguismo e Advanced Custom Fields per i tuoi campi sono apparecchiature standard in molte installazioni. È fastidioso quando si verificano insieme malfunzionamenti e perdita di dati. Le segnalazioni di bug sull'argomento sono vecchie di alcuni anni e senza risposta ( qui e qui e qui e qui e qui ). Ho appena esaminato il problema più da vicino.

.­.­.

Caricamento di file nel browser in app di Facebook

Su alcuni telefoni Android, sia i browser in-app di Facebook che quelli di Instagram (ad oggi) si comportano in modo errato se un campo di caricamento ha specificato l'attributo di accettazione all'interno di una pagina di destinazione pubblicizzata o collegata. Il pulsante era quindi senza funzione. Se apri la pagina nel normale browser esterno al di fuori dell'app Facebook, va tutto bene. Questo è fastidioso (soprattutto perché è stato segnalato per molto tempo ), ma può essere risolto con una soluzione alternativa.

.­.­.

Chrome Devtools: sposta gli elementi DOM

Gli strumenti per sviluppatori di Google Chrome sono tra i più potenti sul mercato dei browser. Nuove funzionalità si riversano ogni mese, che Google presenta in forma compressa su YouTube . Ma spesso sono le piccole cose della vita a deliziare. Se desideri eliminare elementi DOM in Google Chrome, puoi farlo con il tasto Canc. Ma solo oggi ho notato che gli elementi DOM possono anche essere spostati facilmente usando il drag & drop:

.­.­.

Suggerimento rapido: git status --r

Una regola d'oro nell'universo git è: "Impegnati presto e spesso". Se la notte è stata un po 'più lunga, o se vuoi solo una panoramica della situazione attuale sul tuo computer, il comando ti porta

d8a38f92d0baa14f9d4568826c13ad46

un "git status" per tutti i repository che si trovano nella cartella corrente o in una qualsiasi sottocartella e accumula i valori in una bella panoramica:

.­.­.

Stack LAMP nel sottosistema Windows per Linux

Quando si cerca l'ambiente di sviluppo ottimale, Windows 10 offre soluzioni complete come XAMPP , WAMP e MAMP , installazione nativa a mano e soluzioni di virtualizzazione come Vagrant ( Scotch Box ) e Docker ( Devilbox , Laradock ). Ma a causa dei miei requisiti come la configurabilità gratuita, i certificati SSL con caratteri jolly reali, l'accesso da tutti i dispositivi finali nella rete locale, nonché l'elevata stabilità e prestazioni, tutte le soluzioni hanno fallito, tranne una.

.­.­.

Trucchi per Laravel Eloquent Relationships

Uno dei punti di forza di Laravel è la sua sintassi elegante. Se hai molti modelli e relazioni in Laravel (a causa di molte tabelle nel database), l'attraversamento può spesso finire in codice meno elegante. Nel corso del tempo, tre piccole estensioni si sono dimostrate valide per me, che presenterò brevemente di seguito. Usiamo solo alcune eredità, metodi magici e raccolte personalizzate.

.­.­.

Impedisci l'accesso pubblico a .git

Gestione delle versioni Git è ora standard in quasi tutti i progetti web e in ogni ambiente (inclusa la produzione). Git crea sempre la sottocartella .git e se questa è a livello della cartella pubblica del sito web, puoi accedere pubblicamente ai file sensibili (ad esempio, chiamando /.git/logs/HEAD vengono mostrati gli ultimi commit) . Si spiega in dettaglio come è possibile clonare una terza parte (!) Repository Git senza elencare una directory.

.­.­.

Node.js / npm / Composer senza root

In un vecchio post del blog ho descritto come ospitare gratuitamente Node.js utilizzando Heroku . Ora ti mostrerò un modo per installare Node.js , npm e Composer su qualsiasi altro host condiviso senza diritti di root con poche righe di codice. Con esso puoi installare pacchetti, distribuire applicazioni Vue.js o semplicemente avviare un server Express.js. Lavoriamo sempre nella directory degli utenti e utilizziamo nvm , il Node Package Manager.

.­.­.

Bug negli array associativi in ​​PHP <7.2

In PHP <7.2 puoi creare array a cui non è più possibile accedere correttamente:

91367d1c4636fd753b381406024e303c

Puoi fare alcune cose con esso.

.­.­.

Esegui i comandi direttamente dopo la connessione SSH

Il comando seguente stabilisce una connessione a un server tramite SSH, esegue alcuni comandi (ad esempio, modifica una sottodirectory e invia uno stato git ) e lascia la shell aperta. Viene caricato il file .bashrc, che abilita le subshell colorate. Il trucco è salvare un file temporaneo / tmp / initfile con i comandi desiderati, avviare una subshell (nel nostro caso bash) con il comando --init-file. All'interno di questo file di inizializzazione, lo stesso file viene nuovamente cancellato immediatamente in modo da non lasciare tracce.

.­.­.

Unità di rete come amministratore

Se si integra un'unità di rete in Esplora risorse, ciò non si applica a tutto il sistema ma solo all'account utente corrente. Ciò significa che non è possibile accedere a questa unità di rete in un'applicazione eseguita con diritti di amministratore. Questo può essere modificato facilmente: crea un nuovo DWORD (32 bit) denominato EnableLinkedConnections con il valore 1 nel registro in HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System e riavvia. Le unità di rete integrate sono quindi visibili ovunque.

.­.­.

Suggerimento rapido: includi la cartella come unità

Se vuoi raggiungere rapidamente una cartella locale in Windows che usi più e più volte, puoi semplicemente assegnarle la tua lettera di unità. C'è solo una deviazione tramite "Connetti unità di rete" perché non è possibile specificare il percorso C: \ Users \ David \ Downloads, ad esempio. La soluzione è la cosiddetta condivisione amministrativa dell'unità, che esiste per impostazione predefinita per ogni cartella: Nell'esempio sopra sarebbe \\ localhost \ c $ \ Users \ David \ Downloads .

.­.­.

Cattura le rane

Una rana salta sulla linea dei numeri e tu cerchi di prenderla. Saltare e riprendere si alternano sempre. La rana parte dalla posizione \(s \in \mathbb{Z}\) e ad ogni movimento salta per una distanza di \(z \in \mathbb{Z}\) (se \(z>0\) , salta a destra, altrimenti se a sinistra). \(z\) è lo stesso per ogni salto. Lo snap consiste nello specificare una posizione intera. Non si conosce né \(z\)\(s\) . Dimostriamo che c'è un modo per catturare sempre la rana.

.­.­.

Nomi di file lunghi su Windows 10

Non è solo quando si utilizza npm sotto Windows che si incontra un limite che ora ha quasi 30 anni, che limita i percorsi a cartelle e file a un massimo di 255 caratteri. Non è colpa di NTFS, ma di LFN . Questo porta a fastidiosi bug e incompatibilità tra i sistemi operativi. In tempi di WSL, questa è una condizione spiacevole, che fortunatamente puoi sistemare nel registro per un po 'di tempo.

.­.­.

Laravel accoda su localhost

Nel framework PHP Laravel all'interno di ambienti produttivi, lavoratori e supervisori assicurano che i lavori archiviati in Redis, ad esempio, vengano elaborati. Se vuoi essere completamente indipendente da questo su localhost, puoi utilizzare il driver di sincronizzazione per eseguire sempre i lavori immediatamente. Questo ha lo svantaggio che il processo PHP corrente è bloccato e la richiesta si blocca finché il lavoro non è stato elaborato.

.­.­.

Suggerimento rapido: raggruppa gli obiettivi in ​​Google Analytics

Con l'aiuto della libreria JavaScript analytics.js di Google Analytics, è possibile monitorare qualsiasi evento sui siti web. Questi eventi sono, ad esempio, una misura esatta della durata del soggiorno, la profondità massima di scorrimento dei visitatori o altre azioni individuali come l'invio di moduli. Se vuoi valutare campagne pubblicitarie o eseguire test A / B in un secondo momento, ad esempio, crei i cosiddetti progetti target.

.­.­.

Annullamento pragmatico della cache

Il rendering lato server fa ora parte del repertorio standard di siti Web e applicazioni. I browser come Google Chrome tendono anche a memorizzare nella cache il più possibile per ridurre al minimo i tempi di caricamento di ulteriori chiamate. L'invalidazione della cache dei file CSS / JS / immagine può essere risolta con l'aiuto di mod_pagespeed , intestazione di controllo Expires / Cache , un manifesto della cache o in modo molto pragmatico e direttamente attraverso i singoli parametri dopo il nome del file.

.­.­.

Chiavi Bitbucket e SSH

Il provider Bitbucket non offre (anche nelle tariffe Standard e Premium a pagamento) la possibilità di memorizzare chiavi SSH con diritti di scrittura a livello di repository. Memorizzare la tua chiave SSH personale sul server di produzione non è un'opzione, altrimenti puoi accedere a tutti gli altri progetti su cui stai lavorando da lì. Esistono le cosiddette chiavi di accesso , ma consentono solo i diritti di lettura.

.­.­.

Windows Sysinternals tramite unità di rete

Gli strumenti di Sysinternals di Mark Russinovich non dovrebbero mancare su nessun computer Windows. Se vuoi avere sempre l'ultima versione a portata di mano, puoi integrarla come unità di rete. Il comando net use s: \\ live.sysinternals.com \ DavWWWRoot sulla riga di comando è sufficiente (come un normale utente). Quindi strumenti carini come PsList, PsKill o Process Explorer sono portatili sull'unità S.

.­.­.

Suggerimento rapido: fogli Google e settimane di calendario

Quando invii settimane di calendario in una data specifica, devi stare attento in Fogli Google (proprio come in Microsoft Excel). La funzione = CALENDAR WEEK (TODAY ()) calcola utilizzando lo standard americano, per il quale il primo giorno dell'anno è sempre assegnato alla settimana di calendario 1. In Germania questo è definito in modo diverso: qui la prima settimana di calendario è la settimana dalla quale almeno 4 giorni cadono nel nuovo anno. In Fogli Google puoi risolvere il problema (tra le altre alternative interessanti come = SHORTEN ((TODAY () - DATE (YEAR (TODAY () - REST (TODAY () - 2; 7) +3); 1; REST (TODAY ( ) -2; 7) -9)) / 7) e il modificato = CALENDAR WEEK (TODAY (); 21) ) facilmente con la funzione appositamente progettata = ISOWEEKNUM (TODAY ()) .

.­.­.

Certificati SSL autofirmati in Chrome 58

Da Let's Encrypt , i siti Web crittografati sono ora uno standard. Anche con lo sviluppo locale, i certificati SSL sono indispensabili (ad esempio, navigator.geolocation richiede la crittografia SSL in locale). Dalla versione 58 di Chrome, il supporto per CN (Common Name) è stato interrotto e SAN (Subject Alternative Name) è stato reso obbligatorio. Di conseguenza, Chrome improvvisamente non accetta più tutti i certificati SSL creati convenzionalmente .

.­.­.

Due volte l'età di due persone

Considera due persone \(A\) e \(B\) che non sono nate lo stesso giorno e \(A\) più giovane di \(B\) . Mostra: ci sono esattamente due costellazioni di età \(a,b \in \mathbb{N}\) , per le quali si applica: \(2\cdot a = b\) . Per prima cosa abbiamo impostato \(d \in \mathbb{R}^+\) come differenza di età tra \(A\) e \(B\) alla nascita di \(A\) con \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) . Consideriamo ora un punto temporale arbitrario \(x \in \mathbb{R}^+\) dopo la nascita di \(A\) con \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git e cartelle vuote

Poiché Git non conosce cartelle, solo file, strutture di cartelle vuote non finiscono nel repository. Tuttavia, poiché molti framework e progetti ne hanno assolutamente bisogno, dovrebbero finire lì. Una pratica comune è creare i cosiddetti file segnaposto (spesso chiamati .gitkeep), che specificano implicitamente la struttura delle cartelle. Questi file possono essere creati facilmente e, se lo si desidera, assicurarsi che gli altri file nelle cartelle vengano ignorati.

.­.­.

Hosting gratuito di Node.js con Heroku

L'hosting per Node.js è ancora poco diffuso, soprattutto nei paesi di lingua tedesca. La società cloud americana Heroku offre una soluzione qui - e anche gratuitamente . Noti sempre il paradigma "Costruisci app ... non infrastruttura" e non hai quasi nessuna restrizione. Ad esempio, stiamo implementando un piccolo cron job basato su PhantomJS , che elimina ogni giorno un sito Web e invia il titolo della pagina tramite e-mail.

.­.­.

Funzione di associazione di Cantor

Oltre agli argomenti diagonali , Georg Cantor ha anche sviluppato la funzione di accoppiamento di Cantor \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , che codifica due numeri qualsiasi \(x,y \in \mathbb{N}\) in un nuovo numero \(z \in \mathbb{N}\) . Ad esempio, \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) una codifica univoca dei numeri \(3\) e \(4\) nel numero \(31\) . Mostra: l'insieme di valori \(\mathbb{W} = \mathbb{N}\) , cioè \(z\) assume tutti i numeri naturali.

.­.­.

La terra e il pisello

\(r_1 = 6370km\) la terra (come una sfera con \(r_1 = 6370km\) ) e un pisello (come una sfera con \(r_2 = 2mm\) ) e \(r_2 = 2mm\) una corda sopra l'equatore in modo che si trovi saldamente sulla superficie. Ora entrambe le corde sono allungate di un metro ciascuna. Entrambe le corde dovrebbero ora giacere di nuovo completamente distese sull'equatore: non giacciono più completamente sulla superficie, ma si librano sopra l'equatore. Quanto in alto sopra la superficie galleggia la corda sopra la terra, quanto in alto sopra il pisello?

.­.­.

Probabilità sull'orologio analogico

In quale% del tempo della giornata si trovano tutte e tre le lancette di un orologio analogico nella metà destra del quadrante? Per prima cosa, guarda la lancetta delle ore, che si trova sul lato destro ogni 12 delle 24 ore (50%). Da questo momento la lancetta dei minuti sarà sul lato destro in 6 ore su 12 (25%). Di queste 6 ore, la lancetta dei secondi trascorre 3 ore sul lato destro (12,5%).

.­.­.

Laravel: Lavorare con relazioni eloquenti

Laravel rende la comunicazione con il database molto più semplice con Eloquent. Quando si lavora con le relazioni eloquenti , quando si richiamano variabili dinamiche (con l'aiuto dei metodi magici di PHP), è necessario essere consapevoli che le istanze dei modelli non riflettono le nuove modifiche, ma vengono memorizzate in modo permanente quando vengono chiamate per la prima volta.

.­.­.

Bitbucket: elimina la cartella dalla cronologia di Git

Esiste un limite rigido di 2 GB quando si ospita Git su Bitbucket : se viene superato, si ha solo accesso in sola lettura al repository. Per evitare ciò, è possibile, ad esempio, rimuovere retroattivamente cartelle o file di grandi dimensioni dai propri commit. Ma anche in altri casi (se i dati di accesso sono entrati nella cronologia o node_modules è tornato al master) devi manipolare retrospettivamente la cronologia di Git, contrariamente alla sua natura.

.­.­.

Integra il certificato SSL da DomainFactory su IIS

Nell'era di Let's Encrypt , i siti Web crittografati sono ora uno standard. Tuttavia, spesso sono necessari anche certificati con caratteri jolly o estesi con convalida del proprietario particolarmente affidabile. Il provider DomainFactory offre certificati SSL economici che possono essere utilizzati anche esternamente. La configurazione su un IIS corrente riesce senza CSR con l'aiuto di OpenSSL . Di seguito mostrerò brevemente quali passaggi sono necessari per questo.

.­.­.

Paradossale strategia vincente quando si indovina i numeri

Thomas M. Cover ha posto la seguente domanda sorprendente nel 1987 in "Problemi aperti in comunicazione e calcolo": Il giocatore \(X\) scrive due numeri naturali diversi e scelti a caso \(A\) e \(B\) in due diversi Un pezzo di carta e mettilo a faccia in giù su un tavolo. Il giocatore \(Y\) ora seleziona a caso uno di questi fogli di carta, vede il numero e ora deve decidere se questo numero è più piccolo o più grande dell'altro numero che è ancora a faccia in giù sul tavolo.

.­.­.

Calcio e algebra lineare

Quando inizia una partita di calcio, la palla si trova al centro del campo e viene quindi spostata intorno al campo per 45 minuti spostandosi e girando. All'inizio del secondo tempo la palla è di nuovo al centro del campo. Mostriamo con semplici mezzi di algebra lineare che un numero infinito di punti sulla superficie sono sempre esattamente nella stessa posizione dello stato originale o esattamente 2.

.­.­.

Laravel: Debug del modello di lama

Quando si esegue il debug dei modelli di blade in Laravel 5. * si ottengono spesso messaggi di errore privi di significato che si riferiscono alle viste memorizzate nella cache. In passato, tutti erano migliori: la vista di debug nella versione 4 conteneva funzioni più utili ed era anche visivamente più bella. Con poche righe di codice puoi recuperare questa funzionalità con l'aiuto di whoops ("Errori PHP per ragazzi fantastici").

.­.­.

Visualizzazione armoniosa dei loghi con JavaScript

Che si tratti di referenze, partner o clienti, ci sono molti casi in cui si desidera visualizzare diversi loghi fianco a fianco in armonia. Le proporzioni dei loghi sono per lo più incoerenti. Spesso segui il tuo istinto istintivo per la rappresentazione delle dimensioni nel design, ma esiste anche un metodo di calcolo esatto per una rappresentazione visivamente accattivante equiparando le aree dei loghi. Nell'esempio seguente puoi farlo con poche righe di JavaScript.

.­.­.

Controlla le variabili in PHP / JS per l'esistenza

Quando si lavora quotidianamente con variabili in PHP e JavaScript, spesso viene chiesto se una variabile è vuota. Vale la pena conoscere le funzioni native e le loro differenze a scopo di controllo. Fastidiosamente, non esiste un modo semplice per verificare intuitivamente se una variabile è presente o meno. La matrice seguente illustra cosa si intende con questo. Tuttavia, ciò che desideri può essere adattato con piccole funzioni di supporto.

.­.­.

Massicce telefonate con sipgate.io

Sipgate ha creato un'entusiasmante API cloud con sipgate.io , con la quale si ha una moltitudine di possibilità sulla telefonia Internet. Un account è gratuito e c'è anche la possibilità di impostare qualsiasi numero di mittente gratuito nel feature store. La documentazione di sipgate.io è ancora espandibile, ma con una piccola lettura nell'API ufficiale di Sipgate puoi realizzare rapidamente cose interessanti.

.­.­.

Ricorsione in SQL

I sistemi di gestione di database relazionali basati su SQL sono adatti solo in modo condizionale per query gerarchiche o ricorsive. Altri sistemi come ArangoDB sono migliori qui (si è parlato molto di questo a GOTO 2016 ). Ma puoi anche generare query ricorsive in SQL con l'aiuto di espressioni di tabella comuni e quindi interrogare le classiche tabelle padre / figlio per tutti gli antenati e discendenti.

.­.­.

WordPress: disattiva le pagine di archivio

Secondo w3techs.com , circa il 27,4% di tutti i siti Web in tutto il mondo è attualmente gestito con l'aiuto di WordPress. In molti casi, questi non sono blog. WordPress genera automaticamente numerosi URL, spesso inutilizzati, e produce così tanti link indicizzati da Google che l'operatore del sito web non aveva nemmeno sullo schermo. Tutto questo può essere disattivato con un semplice comando.

.­.­.

Rinomina i campi del modulo PDF in blocco

Se, come me, hai la briga di rinominare migliaia di nomi di campi modulo, la console JavaScript inclusa in Acrobat è l'ideale. In questo è possibile non solo eseguire qualsiasi codice JavaScript, ma anche accedere a tutti i contenuti all'interno del PDF (inclusi i campi del modulo). Poiché non esiste una funzione nativa per la ridenominazione nell'API JS, i campi del modulo con tutte le loro proprietà vengono copiati e creati con un nuovo nome.

.­.­.

Shopware: ripara le modifiche alle varianti

In Shopware 5, un problema noto non è stato ancora risolto: se crei un articolo con varianti mutuamente dipendenti con opzioni di configurazione che si escludono a vicenda, può accadere che alcune combinazioni non possano essere selezionate nel front-end e quindi non possano essere ordinate. Con l'aiuto di un plugin, il problema può essere facilmente risolto al momento.

.­.­.

Una riga per l'infinito dei numeri primi

Ci sono numerose prove dell'infinità dei numeri primi: il ben noto teorema di Euclide del Libro degli Elementi non manca in nessun corso di teoria dei numeri di base. Nell'American Mathematical Monthly (numero 122) nel 2015 Sam Northshield ha pubblicato una prova di contraddizione non meno elegante sotto forma di una riga, che non voglio trattenerti (con brevi commenti).

.­.­.

Migliora la riga di comando di Windows

Lo sdegnoso prompt dei comandi di Windows può essere migliorato visivamente in pochi semplici passaggi. Quindi non solo puoi regolare il colore e le dimensioni della riga di comando, ma anche espanderla funzionalmente (aumentando il buffer, installando un ampio set di strumenti UNIX). Sebbene il prompt dei comandi non si avvicini a PowerShell 6.0 o al nuovo Bash Shell di Windows 10 , non ha bisogno di nascondersi per le attività quotidiane.

.­.­.

URL dinamici in Joomla

Nei sistemi di gestione dei contenuti, gli URL spesso non vengono sempre fissati in anticipo e quindi non vengono creati staticamente in anticipo (come contributo o voce di menu), ma indirizzano gli oggetti dal database. Simile a WordPress ( come descritto qui ) è anche possibile in Joomla costruire strutture URL dinamiche (indipendenti dal sistema di alias interno). O JRouter può essere usato qui - oppure puoi usare un one-liner in .htaccess.

.­.­.

JavaScript PasteJacking

I browser moderni possono utilizzare JavaScript per leggere e scrivere negli appunti dell'utente, il che significa che possono anche manipolarlo. La tecnologia sottostante è vecchia, ma è solo di recente che sono circolati in rete sempre più attacchi (sotto il nome di "PasteJacking") che sfruttano questa possibilità per l'utente inesperto. Un'implementazione in JavaScript è banale.

.­.­.

Scambia le colonne in PostgreSQL

Lo scambio delle colonne della tabella SQL fa parte del repertorio standard con MySQL - questo non è (ancora) supportato con PostgreSQL. Sebbene il wiki ufficiale dedichi il proprio articolo al problema, non mostra una soluzione praticabile che supporti anche visualizzazioni, indici e trigger. La classe seguente svolge questo lavoro (sia per MySQL che per PostgreSQL) dalla riga di comando o, in alternativa, direttamente in Laravel 5.

.­.­.

Suggerimento rapido per Windows Explorer

Se si desidera aprire rapidamente il prompt dei comandi in una cartella in Esplora risorse, fare clic con il tasto destro del mouse (un livello più in alto) e tenere premuto il tasto Maiusc sulla cartella, quindi selezionare "Apri prompt dei comandi qui" dal menu contestuale. Ho appena scoperto un altro metodo più veloce quando sei all'interno della cartella: qui fai clic sul percorso della cartella corrente, digita "cmd" e conferma con Invio.

.­.­.

Categorie di WordPress: visualizzazione ad albero / ereditarietà

Se lavori con categorie gerarchiche (tassonomie) in WordPress, noterai che, da un lato, la visualizzazione delle categorie selezionate nel backend è confusa e, dall'altro, i post non finiscono automaticamente nella categoria genitore se vengono inseriti nella categoria figlio. Entrambi possono essere risolti con poche righe di codice utilizzando il potente sistema di hook (sotto forma di un'azione e un filtro).

.­.­.

PHP 7 e Spaceship Operator

Oltre a nuove funzionalità come il suggerimento sul tipo per tipi di dati scalari o prestazioni ottimizzate , PHP 7 porta anche molte nuove e utili estensioni del linguaggio. Lo "Spaceship Operator" è finalmente arrivato nel mondo di PHP (i programmatori Ruby e Perl lo sanno da tempo). \($a <=> $b\) restituisce \(0\) se e solo se entrambi gli operandi sono uguali, \(1\) se quello di sinistra è più grande e \(-1\) altrimenti.

.­.­.

Timeout FastCGI di IIS 7.5 PHP

Se si integra PHP tramite FastCGI su IIS 7.5, ogni script viene interrotto per impostazione predefinita dopo 600 secondi (ovvero 10 minuti). La modifica della nota variabile "max_execution_time" in php.ini non ha alcun effetto su questo, devi (anche) regolare le impostazioni FastCGI. Per questo, IIS offre una comoda interfaccia per la gestione delle variabili rilevanti.

.­.­.

Paradosso degli stocastici

La teoria condizionale della probabilità porta con sé bellissimi compiti con soluzioni controintuitive. Oltre al noto problema dei fratelli , tratterò ora brevemente un altro esempio: "Ora ho due figli. Uno di loro è un maschio ed è nato di giovedì. Qual è la probabilità che anche l'altro figlio sia un maschio?"

.­.­.

Git, Shopware e cartelle vuote

Il sistema di controllo delle versioni dei file Git è snello, veloce e portatile. Git gestisce sempre gli oggetti, ovvero i file. Le cartelle vengono create solo se ci sono file al loro interno, altrimenti Git non le registrerà nemmeno. Ciò ha spiacevoli effetti collaterali in alcuni progetti. Ad esempio, il sistema del negozio Shopware si basa sulla stretta aderenza alla struttura delle cartelle per funzionare.

.­.­.

Shopware: spese di spedizione individuali

Shopware ha un potente modulo dei costi di spedizione su cui puoi intervenire in modo specifico nel calcolo. Nel nostro caso, vogliamo implementare il seguente scenario: I costi di spedizione per articolo sono inizialmente determinati in base al peso dell'articolo (i limiti di peso sono specificati). Solo per eccezioni speciali dovrebbe essere possibile impostare costi di spedizione fissi per ogni articolo.

.­.­.

Permalink dinamici in WordPress

Il sistema permalink di WordPress può essere adattato molto bene alle tue esigenze con l'aiuto dei tag di struttura . L'impostazione% postname% è probabilmente la soluzione più comune e praticabile. Tuttavia, se desideri implementare collegamenti dinamici reali, devi prima espandere il sistema con il tuo codice.

.­.­.

Collegamenti ipertestuali danneggiati in Word ed Excel

Si potrebbe pensare che quando i collegamenti ipertestuali vengono aperti da un documento Word / Excel, il browser standard viene avviato con l'URL desiderato. Stranamente, questo non è il caso, il che porta a spiacevoli effetti collaterali e rende impossibili i collegamenti per le pagine protette da login basate su sessione / cookie nei suddetti programmi per ufficio.

.­.­.

Un paradosso per la festa del papà

Per la festa del papà di oggi, una figlia sta regalando a suo padre un quadro che ha dipinto lei stessa, che suo padre aveva desiderato. La figlia dice: "Ti darò la foto che hai desiderato e il mio regalo sarà una sorpresa". Il padre è sorpreso e riflette sulla verità di questa affermazione.

.­.­.

Integra script dinamici con e senza HTTPS

Se includi script non crittografati nell'area <head> e chiami una pagina con un certificato SSL crittografato esistente, questi script vengono bloccati e quindi non eseguiti. Se si omette semplicemente il protocollo, tutti gli script vengono richiamati automaticamente in forma crittografata se si accede al sito Web tramite https: //, altrimenti non crittografati.

.­.­.

Usabilità nei menu a tendina

Quando si lavora con menu a discesa multidimensionali, spesso ci si imbatte nel problema che i sottomenu sbagliati vengono aperti accidentalmente o il sottomenu desiderato viene chiuso accidentalmente. Questo effetto si verifica quando il puntatore del mouse lascia il menu corrispondente al livello superiore durante la navigazione in un sottomenu già espanso.

.­.­.

Shopware: disattiva automaticamente le varianti

In Shopware , l'intero articolo viene disattivato nel caso di un ordine reale per un articolo in saldo se tutte le varianti hanno un livello di stock inferiore o uguale a 0. Per implementarlo in modo variabile, ho programmato un piccolo plugin, il Bootstrap.php di cui fornirò di seguito.

.­.­.

Doppia richiesta di password con SSL

La seguente costellazione ha sempre uno spiacevole effetto collaterale: se proteggi il tuo sito con htaccess / htpasswd e allo stesso tempo forzi una connessione SSL, devi sempre inserire la stessa password due volte (una volta per http e di nuovo dopo l'inserimento riuscito per https). Con l'aiuto delle sezioni di configurazione introdotte in Apache 2.4, il problema può essere facilmente risolto.

.­.­.

Stringhe multilinea in JavaScript

Quando si programma con JavaScript, spesso ci si imbatte nell'incapacità di implementare stringhe multilinea inserendole in più righe nel codice. Sebbene l'attività in altri linguaggi come PHP o Ruby non sia un problema, con JavaScript puoi inizialmente aggirare solo soluzioni alternative, il cui utilizzo è deciso dal gusto personale o dal supporto del browser.

.­.­.

mail () in PHP con UTF-8 e dieresi

L'invio di e-mail con PHP è implementato al meglio con classi potenti come PHPMailer . Comode funzioni wrapper consentono di utilizzare contenuto UTF-8, incorporare immagini e inviare allegati crittografati con poche righe di codice. Se vuoi risparmiarti l'overhead e, contrariamente a quanto consigliato, usa la funzione PHP mail () , ti imbatterai in problemi quando usi dieresi e UTF-8 al più tardi.

.­.­.

Google PageSpeed ​​Insights vs. statistiche di Google

Strumenti di convalida come il W3C Markup Validation Service o Google PageSpeed ​​Insights sono utili per valutare oggettivamente il codice e le prestazioni di un sito web. Google in particolare influenza un intero settore con concetti come above the fold e fornisce anche linee guida rigide ma utili per la compressione delle immagini e la memorizzazione nella cache. Ma può succedere che Google passi da solo.

.­.­.

Benvenuto JavaScript 2.0

JavaScript domina il web ed ECMAScript, il cuore del linguaggio sta crescendo. La nuova specifica (ES6 o JS2), prevista per la metà di quest'anno, porta con sé numerose innovazioni che possono essere già provate oggi. Firefox attualmente ha il miglior supporto , ma sono possibili anche i polyfill attraverso i cosiddetti transpiler come Google Traceur . Quanto segue è una breve panoramica delle nuove funzionalità di ES6.

.­.­.

0,99999... = 1?

Sia a scuola che all'università: una domanda interessante che \( 0,99999... = 1 \) tanto include la domanda se la seguente equazione sia vera: \( 0,99999... = 1 \) . Sebbene l'infinito \(0,99999... = A\) nella parte sinistra dell'equazione, gli diamo un nome: \(0,99999... = A\) . Dopo la moltiplicazione per il fattore \(10\) e semplici trasformazioni algebriche, otteniamo la prima sorprendente intuizione.

.­.­.

SQL: prestazioni scadenti nonostante index

Mi sono appena confrontato con il seguente problema di prestazioni di un database SQL: in una tabella SQL chiamata "utenti" con ~ 1.000.000 di voci, sono stati necessari 28 secondi inaccettabili per determinare il numero di registrazioni odierne. Gli orari delle registrazioni sono stati salvati nel formato “Ymd H: i: s” nella colonna “creato”.

.­.­.

Piccolo problema di scacchi

Oltre al noto problema del cavaliere e del problema della regina, ci sono molte altre interessanti domande nel mondo degli scacchi. Ho accennato a due piccole curiosità in un precedente post sul blog . Se affronti matematicamente i problemi degli scacchi, scoprirai rapidamente che la matematica fornisce risposte molto semplici e illuminanti a molte domande.

.­.­.

File disponibili online con OneDrive

Se Una guida, Dropbox, Google Drive, OwnCloud, Box.net: Indipendentemente dalla casella in cui memorizzi i tuoi file, i servizi sono quasi gli stessi. I client disponibili per tutti i sistemi desktop e mobili, i file standard non crittografati e le opzioni di condivisione differiscono solo marginalmente. Ma OneDrive, che è stato integrato in modo permanente nel sistema da Windows 8.1, ha una caratteristica speciale: solo i file disponibili online.

.­.­.

PHP: accesso ai file con dieresi in Windows

I file sui server web dovrebbero sempre essere senza spazi (non "questa è un'immagine.jpg"), senza dieresi o caratteri speciali (non "football.jpg"), senza backslash (non "Arbeit \ Auto.jpg") e in minuscolo (non " test.JPG "). Di recente, tuttavia, ho dovuto accedere ed elaborare un gran numero di file preimpostati con qualsiasi nome di file per un progetto del cliente.

.­.­.

Query SQL per determinare una classifica

Oggi mi sono imbattuto nella seguente attività mentre lavoravo a un progetto di un cliente: prendere una tabella SQL "utente" con le colonne "id" e "punteggio" e determinare una classifica di tutti gli utenti ordinati per "punteggio" in cui gli utenti con il ottenere la stessa classifica con lo stesso punteggio. Questa attività può essere risolta in modo intuitivo e semplice utilizzando variabili definite dall'utente .

.­.­.

Facebook SDK: controlla i token sul lato server

Quando si lavora con l'SDK di Facebook (più precisamente quando si implementa una funzione di login di Facebook all'interno di un'interfaccia REST), il token che il client ha ricevuto da Facebook deve prima essere verificato dal server prima che vengano eseguite ulteriori operazioni .

.­.­.

Chrome DevTools: indirizza gli elementi DOM

Che si tratti di Chrome, Firefox, Opera, Safari o persino Internet Explorer: mentre gli strumenti di sviluppo ben progettati erano un punto di forza unico di Firefox e del popolare plug-in Firebug fino a pochi anni fa, potenti strumenti di sviluppo fanno ora parte dell'ambito standard di ogni browser, in cui c'è molto da scoprire dà.

.­.­.

Accesso al file system tramite SQL

Mi sono appena imbattuto in una bella opzione in MySQL per attingere al file system e ottenere informazioni preziose, ad esempio sull'esistenza di file e cartelle o sul loro contenuto. Questo può essere molto utile come alternativa alla funzione php file_exists , poiché le informazioni sull'esistenza dei file possono ancora essere utilizzate nella query per ulteriori funzioni di ordinamento e aggregazione.

.­.­.

Sfondi animati con tela

Gli sfondi vettoriali animati possono aggiungere varietà a un panorama web caratterizzato da foto e video a schermo intero. Sarebbe bello se questo andasse di pari passo con i tempi di caricamento e un ampio supporto hardware e software. Una soluzione è: tela. L'elemento HTML controllato da JavaScript è supportato da tutti i browser attuali e riprodotto con alte prestazioni sui dispositivi mobili.

.­.­.

Proporzioni fisse per elementi HTML

In qualità di sviluppatore web, si è spesso imbarazzati a lavorare con elementi HTML che da soli, a differenza dell'elemento img, ad esempio, non hanno né una dimensione fissa né un rapporto di aspetto fisso. Spesso si desidera ottenere che questi oggetti si comportino in modo reattivo, ma viene mantenuta la proporzione tra larghezza e altezza. CSS non offre una soluzione intuitiva qui per impostazione predefinita. Ma con l'aiuto della proprietà di imbottitura verticale puoi raggiungere il tuo obiettivo.

.­.­.

Sentenza del tribunale sull'uso di foto d'archivio

Dopo che il tribunale regionale di Colonia ha risposto allo scandalo RedTube la scorsa settimana e non è mai stato autorizzato ad approvare la consegna dei controversi indirizzi IP, emette un altro giudizio altamente controverso e discutibile con la decisione 14 O 427/13: L'autore di Stock- Anche le foto di una determinata agenzia fotografica devono essere nominate tramite l'accesso diretto alle sue immagini tramite il loro URL.

.­.­.

Arrivederci Block & Inline - Benvenuto HTML5

Le innovazioni della specifica HTML5 sono numerose e molte di esse sono già supportate dalla maggior parte del panorama dei browser - di seguito voglio evidenziare un interessante cambiamento alle regole per la nidificazione degli elementi. L'HTML ha sempre distinto tra elementi di blocco e inline. La definizione del tipo di documento di HTML4, ad esempio, nomina h1, p e div come elementi di blocco e a, span, img come elementi inline.

.­.­.

Registrazione HTTP su IIS e Apache

Sia Apache su Unix che IIS su sistemi Windows registrano le richieste HTTP immediatamente sotto forma di file. Le richieste al tuo sito web non dovrebbero solo essere regolarmente valutate e analizzate manualmente e automaticamente (ad esempio da analizzatori di file di log come AWStats ) per proteggersi dagli attacchi di hacking. I percorsi dei file di registro pertinenti nelle configurazioni ampiamente utilizzate sono, ad esempio, i seguenti:

  • /var/log/apache2/access.log (Esempio: Ubuntu 12.04, Apache 2.2)
  • C:\inetpub\logs\LogFiles\W3SVC1\u_ex<YYMMDD>.log (Esempio: Windows Server 2012 R2, IIS 8.5)
.­.­.

Joomla, IIS e i diritti di directory

Quando si integra Joomla 3.2 su un Windows Server 2008 R2 con IIS 7.5, si verificano spesso problemi con i diritti di directory, che spesso vengono risolti in modo inadeguato con impostazioni troppo generose. La seguente soluzione è sicura e perfettamente funzionante:

  • Il gruppo IIS_IUSRS necessita dei diritti per C: \ inetpub \ wwwroot \: lettura ed esecuzione, mostra contenuto cartella, lettura, scrittura
  • Il gruppo IIS_IUSRS necessita dei diritti per C: \ Windows \ Temp \: lettura ed esecuzione, mostra contenuto cartella, lettura, scrittura
  • L'utente IUSR deve essere nel gruppo IIS_IUSRS (Gestione computer> Utenti e gruppi locali> Gruppi)

Se hai bisogno di ulteriori diritti di directory speciali per tutti i file caricati tramite PHP (ad esempio per SSH o FTP), puoi anche impostarli per la cartella C: \ Windows \ Temp \. Se carichi un file tramite PHP, PHP copia questo file prima nel percorso temporaneo e poi nel percorso finale. Se il file è arrivato nella directory temporanea, eredita i suoi diritti e li conserva dopo essere passato alla directory finale.

.­.­.

Anonimo online: impossibile?

Ai tempi dello scandalo NSA, non sono solo gli utenti esperti di reti a chiedersi se e come si possa navigare in Internet in modo anonimo per sfuggire alla frenesia della raccolta dati delle autorità e dei servizi segreti. Tuttavia, questo spesso porta a errori e ipotesi errate. Un malinteso centrale è la riduzione dell'anonimato all'offuscamento dell'indirizzo IP.

.­.­.

McFIT - nuovo logo, nuova immagine

La catena di sconti fitness McFIT si è rinnovata. Mentre una mascotte giallo brillante a forma di banana adornava la scritta blu, un fiocco giallo su uno sfondo color antracite è ora abilmente avvolto l'uno nell'altro e forma così una struttura astratta. I colori FDP blu e giallo lasciano il posto non solo al logo, ma anche a tutti gli altri articoli stampati del marchio McFIT.

.­.­.

Photoshop: viaggia indietro nel tempo

Quando i fratelli Thomas e John Knoll hanno iniziato a sviluppare Adobe Photoshop nel 1987, non ero ancora nato. Oggi, nel 2013, il software è uno dei programmi più apprezzati in generale e leader indiscusso del mercato nell'editing di immagini. Grazie ad Adobe e al Computer History Museum, il software sarà ora conservato per i posteri in una forma molto speciale.

.­.­.

Curiosità nel gioco dei re

Gli scacchi hanno affascinato le persone per secoli: le sue regole sono facili da imparare e la sua incredibile profondità è accessibile solo ai giocatori esperti (sfortunatamente, non sono uno di loro). Di seguito tratterò due brevi domande: È possibile, attraverso una corretta sequenza di mosse, arrivare ad una posizione in cui il re nero viene attaccato da due donne bianche contemporaneamente? È possibile anche con due torri bianche?

.­.­.

Docu-soap al posto del blockbuster: 48fps

I filmati vengono solitamente registrati e riprodotti a 24 fotogrammi al secondo, ma il formato standard "24p" di quasi 100 anni fa sembra oscillare. Al fine di prevenire gli spiacevoli effetti collaterali (ad esempio il forte jerking durante le panoramiche medio-veloci della telecamera) della proiezione a 24 fps, si è lavorato a lungo per raddoppiare il frame rate a 48 frame al secondo e oltre.

.­.­.

Controlla l'ortografia sui siti web

Il controllo ortografico e grammaticale automatizzato è ora una dotazione standard nei programmi di elaborazione testi, ma il controllo automatico dell'ortografia di un sito Web è stato relativamente complicato fino ad ora. Google Chrome sta compiendo un primo passo in questa direzione con un controllo integrato nei campi di input multilinea (textarea). Ora c'è un servizio che lo rende possibile per interi siti web.

.­.­.

Numeri di telefono nei collegamenti: un rischio per la sicurezza?

Qualche settimana fa ho segnalato come puoi consentire ai tuoi visitatori di aprire l'app del telefono sui dispositivi mobili toccando un numero di telefono. Ora è emersa la possibilità di bloccare irrevocabilmente la scheda SIM o di ripristinare il dispositivo alle impostazioni di fabbrica senza alcuna azione da parte dell'utente.

.­.­.

Interessanti curiosità via email

I nomi di dominio e gli indirizzi e-mail devono essere sempre minuscoli per assicurarti di arrivare dove vuoi? O è completamente irrilevante? Ad esempio, i server di posta di Google hanno impostazioni curiose con effetti interessanti, che introdurrò brevemente nel seguente articolo.

.­.­.

Progettazione delle quotazioni di borsa negli argomenti quotidiani

Seguo da vicino la progettazione di vari programmi della televisione tedesca. Quasi nessuna trasmissione conserva permanentemente il suo design aziendale. Il rito serale dell'incontro davanti allo schermo televisivo alle 22:15 sui temi della giornata mi sta provocando negli ultimi tempi mal di pancia: da qualche mese a questa parte si è scelto uno schema cromatico del tutto confuso per la presentazione delle quotazioni correnti di borsa.

.­.­.

Collega correttamente i numeri di telefono

Se ottimizzi il tuo sito web per i dispositivi mobili, non dovresti solo prestare attenzione alle diverse dimensioni dello schermo, ai tempi di caricamento ottimizzati e alle caratteristiche speciali in funzione (come gli effetti hover), ma anche considerare le capacità speciali dei dispositivi. Ciò include anche (alcune persone potrebbero aver dimenticato) le telefonate.

.­.­.

Duplica i contenuti sui blog

Lo stesso contenuto su diversi siti Web viene punito da Google in molti casi, tuttavia l'algoritmo di Google è intelligente e riconosce se gli elementi nell'intestazione e nel piè di pagina rimangono gli stessi o se è possibile accedere due volte a interi passaggi di test con URL diversi. La domanda interessante è come Google gestisce le pagine di panoramica degli articoli del blog.

.­.­.

Aumenta la sicurezza di WordPress

La sicurezza del sistema di gestione dei contenuti WordPress attualmente più popolare può essere notevolmente aumentata ruotando due piccole viti. Ci vogliono solo 5 minuti e due righe di codice. Sebbene il problema possa essere risolto anche con una varietà di plugin, mi limito deliberatamente a soluzioni prive di plugin.

.­.­.