Erreurs d'arrondi pendant la transition

En Bavière, une note moyenne globale de \(2{,}33\) certifie l'aptitude au lycée, \(2{,}34\) ne certifie plus l'aptitude au lycée. Avec cette limite nette, l’ordre de deux tours peut décider de quel côté un enfant atterrit. Les conséquences possibles de cet effet d'arrondi sont discutées dans un article de blog de Günther Felbinger . Par simple intérêt, j'ai calculé moi-même les effets pour toutes les combinaisons de notes autorisées dans le modèle.

.­.­.

Réinitialiser l'authentification à deux facteurs Facebook

Suite à un incident, tous les codes exportés ont été supprimés lors de l'exportation depuis Google Authenticator . J'avais sauvegardé les codes de récupération pour tous mes comptes, sauf celui de Facebook . N'ayant pas utilisé ce réseau social depuis des années, je n'en avais pas besoin et je n'étais pas pressé, mais je voulais voir si je pouvais y accéder à nouveau. Le début d'une longue aventure.

.­.­.

Qui sait quelque chose comme ça ?

Parfois, une simple question posée en début de soirée (ici, par le présentateur renommé Kai Pflaume) suffit à transformer la finale d'un jeu télévisé anodin en un petit problème d'optimisation. C'est exactement ce qui se passe dans « Who Knows What? » Question maîtresse: La catégorie est connue, la réponse pas encore – mais les enjeux déterminent déjà quels résultats sont encore acceptables.

.­.­.

Raccourcir correctement ou incorrectement

Notions de base sur les fractions : la simplification des facteurs communs est autorisée, mais pas celle des chiffres identiques. Pourtant, il existe des fractions pour lesquelles cette simplification interdite semble fonctionner. Il est intéressant d'examiner de plus près une famille de fractions particulièrement simple : celles où le même chiffre apparaît à la fois au numérateur et au dénominateur.

.­.­.

Train silencieux

Des tâches d'échecs divertissantes adoucissent la vie. La tâche du jour : le coup des Blancs, mat en deux. La position vient d' Erich Brunner en 1926 - et elle est intéressante précisément parce qu'elle ne ressemble pas du tout à une position typique à deux coups. Vous essayez les enchères directes aux échecs, vérifiez les mouvements des tours, recherchez les mouvements des dames et après quelques minutes vous remarquez : ce ne sont pas des idées évidentes.

.­.­.

Let's Encrypt DomainFactory

Certains forfaits d'hébergement partagé avec cPanel n'offrent pas AutoSSL ou ne les proposent qu'à des tarifs plus élevés. Le résultat : vous ne pouvez pas émettre de certificat Let's Encrypt gratuit via l'interface cPanel, et tous les domaines sont bloqués sur un certificat auto-signé. Le navigateur affiche la page comme « non sécurisée ». La solution : obtenez vous-même le certificat avec acme.sh et installez-le via le cPanel UAPI - en se renouvelant automatiquement, sans AutoSSL.

.­.­.

Divisibilité

Dans Qui veut gagner des millions, il y a eu récemment une petite question intéressante à laquelle Günther Jauch devait clairement réfléchir : « Un nombre est toujours divisible par \(4\) sans reste si le nombre formé de ses deux derniers chiffres... ? – et c’est justement là qu’il faut réfléchir un instant mathématiquement au lieu de se laisser attirer par les jolies distractions. Parce que même si des réponses telles que « est pair », « contient un \(0\) » ou « la somme croisée est égale à \(4\) » semblent plausibles à première vue, la bonne réponse repose sur une propriété simple de notre système décimal.

.­.­.

IA contre Erdős

Certains problèmes mathématiques sont formulés avec une telle simplicité qu'ils peuvent être expliqués à un enfant, et pourtant ils sont si difficiles qu'ils mobilisent des générations de mathématiciens. L'un de ces problèmes est le problème de la distance unitaire : étant donné \(n\) points dans le plan, combien de paires de points peuvent avoir une distance exactement égale à \(1\) ? Ce problème remonte à Paul Erdős et est étudié depuis 1946. OpenAI vient de publier qu'un modèle interne a réfuté une conjecture longtemps admise à son sujet.

.­.­.

Code en nombres premiers

En octobre 1999, un groupe dirigé par le Norvégien Jon Lech Johansen, alors âgé de 16 ans, a diffusé le programme DeCSS afin de contourner le système de cryptage CSS (Content Scramble System), une protection de lecture des DVD. Le CSS utilisait un chiffrement 40 bits, dont les clés étaient distribuées aux fabricants agréés, pour restreindre la lecture des DVD. La distribution du code étant soumise à la loi américaine DMCA et donc illégale, les militants ont cherché des moyens de le dissimuler sous l'apparence d'une entité mathématique.

.­.­.

ℚ n'est pas complet

À première vue, les nombres rationnels \(\mathbb{Q}\) semblent être un continuum sans interruption : entre deux fractions, il y en a toujours une autre. Mais cette impression est trompeuse : il existe des ensembles de nombres rationnels qui sont bornés, mais dont le supremum ou l'infimum n'existe tout simplement pas dans \(\mathbb{Q}\) . La raison réside dans l’existence de nombres irrationnels comme \(\sqrt{2}\) , qui, pour ainsi dire, déchirent des trous invisibles dans la droite numérique rationnelle.

.­.­.

Barres de boss Minecraft

PaperMC offre une base simple pour étendre le serveur Minecraft avec de petits plugins, sans que les clients aient à installer quoi que ce soit. Lors du développement de plugins, la question de l'affichage d'informations dynamiques au joueur se pose. La réponse réside dans une fonctionnalité vanilla souvent négligée : la barre de boss . Conçue à l'origine pour les boss de fin, cette barre peut être réutilisée comme une interface minimaliste.

.­.­.

IPv6

Le protocole Internet (IP) est la base de toutes les applications Internet. D'autres protocoles, tels que TCP et UDP, s'appuient sur lui et prennent en charge des services comme HTTP(S), la messagerie électronique, la téléphonie et le DNS. L'IPv6 remplace progressivement l'ancien protocole IPv4, car son espace d'adressage relativement restreint d'environ 4 milliards d'adresses est saturé depuis longtemps. L'IPv6 est aujourd'hui quasi omniprésent et plus utile qu'on ne le pense.

.­.­.

Git sans SSH

Qui n'a jamais vécu ça : avoir besoin de télécharger rapidement quelque chose sur un forfait d'hébergement mutualisé bon marché (par exemple, chez IONOS) ? git pull Vous souhaitez peut-être exécuter un programme ou utiliser une base de données, mais votre hébergeur ne propose pas d'accès SSH, ou seulement dans ses formules les plus onéreuses. Souvent, la seule option restante est le fastidieux processus de transfert manuel des fichiers via FTP, ce qui complexifie inutilement les déploiements et augmente les risques d'erreurs.

.­.­.

Amazon et la taxe de vente

Amazon est le canal d'achat idéal pour les indépendants : rapide, abordable et tout au même endroit. Amazon propose désormais systématiquement des factures à jour et facilement téléchargeables (même pour les achats effectués sur la Marketplace). Qu'il s'agisse d'un nouvel ordinateur portable, d'une chaise de bureau ou simplement d'une commande de papier pour imprimante, les articles peuvent être commandés en quelques clics, généralement via le compte personnel que vous utilisez depuis des années.

.­.­.

git status 2.0

Celui qui est le premier le matin git status taper puis boire du café adorera cette petite aide. Surtout lorsque de nombreux projets Web sont développés en parallèle, un seul en vaut la peine aperçu compact: Où l'arborescence de travail est-elle propre, où sont les modifications non fusionnées suspendues et où attend un pull/push ? Un petit outil shell fera l'affaire - à condition qu'il gère de manière robuste les espaces/Unicode dans les chemins et ne s'étouffe pas avec les télécommandes suspendues.

.­.­.

Langage et logique

Il existe une magnifique chanson de Cali Rose intitulée « It Is What It Is and It Ain't What Is Ain't ». On peut la simplifier ainsi : « C'est ce que c'est et ce n'est pas ce que ce n'est pas. » En quelques mots seulement, on peut explorer des univers entiers de vérité. En variant et en combinant les deux parties, un terrain d'expérimentation logique se dessine. À présent, vous pouvez partir de cette phrase et trouver d'autres exemples intéressants.

.­.­.

Automatisation de Thunderbird

Depuis 2022, Thunderbird connaît un renouveau remarquable. Après des années de stagnation, la Fondation Mozilla investit de nouveau activement dans son développement. L' initiative Supernova (Thunderbird 115+) a apporté des modernisations fondamentales, telles que l'intégration de Rust pour les composants critiques en termes de performances, une interface utilisateur modernisée basée sur les Web Components et la prise en charge native d'Exchange via l'API EWS/Microsoft Graph.

.­.­.

Opérateur Walrus en PHP

En octobre 2019, Python 3.8 a introduit l'opérateur Walrus (:=) via PEP 572 – et déclencha ainsi l'une des plus grandes controverses de l'histoire du langage de programmation. Le débat fut si âpre que l'inventeur de Python Guido van Rossum en juillet 2018 – avant même sa sortie – sa position de BDFL (Dictateur bienveillant à vie). Depuis début 2019, Python est désormais gouverné par un Conseil de pilotage élu.

.­.­.

De Celsius et de Fahrenheit

Vous êtes au téléphone avec un ami aux États-Unis par une froide journée d'hiver. « Il fait moins \(40\) degrés ici ! » vous exclamez-vous tous les deux simultanément. Normalement, il s'agirait de clarifier qui parle de Celsius et qui parle de Fahrenheit, mais pas à cette température précise. Pourquoi ? C'est la seule température où les échelles Celsius et Fahrenheit concordent !

.­.­.

Confusion dans l'ordre de tri naturel

La plupart des gestionnaires de fichiers graphiques ne trient pas strictement de manière lexicographique, mais utilisent plutôt le « tri naturel ». Les blocs de chiffres dans le nom sont interprétés comme des nombres - le bloc de chiffres le plus grand l'emporte, même si le contraire apparaît en termes purement alphabétiques. L'idée derrière le tri naturel : ce que les gens veulent le plus, c'est « 9 avant 10 », « Chapitre 2 avant le chapitre 10 », sans avoir à ajouter de zéros non significatifs.

.­.­.

Priorité dans le planificateur de tâches Windows

Quiconque exécute des tâches dans le planificateur de tâches Windows tombera tôt ou tard sur des différences inexplicables dans le temps d'exécution. Un script PHP qui s'exécute en 5 minutes sur la ligne de commande prend soudainement 20 minutes lorsqu'il est exécuté via le Planificateur de tâches Windows. Même utilisateur, mêmes droits, même code – quatre fois le temps d'exécution. Que se passait-il là-bas ?

.­.­.

Le benchmark ARC-AGI

La baisse continue du prix de la puissance de calcul – deux ordres de grandeur par décennie – a considérablement stimulé les modèles d'apprentissage profond depuis 2010. Des réseaux plus vastes et un volume de données plus important ont permis d'obtenir des scores toujours plus élevés sur les benchmarks courants, et ont alimenté l'espoir que la seule mise à l'échelle mènerait inévitablement à l'IAG. Dès 2019, François Chollet a présenté le benchmark ARC-AGI . pour mesurer l'intelligence.

.­.­.

Afficher l'adresse e-mail de l'expéditeur dans Outlook

L'adresse électronique de l'expéditeur reste un bon indicateur pour déterminer si un courriel est un spam. Par défaut, dans Microsoft Outlook Desktop, il n'est pas intuitif d'ajouter une colonne affichant l'adresse électronique complète plutôt que le nom. Microsoft n'a pas encore intégré cette fonctionnalité comme option simple ; toutefois, il est possible de l'ajouter à la version classique d'Outlook pour Windows à l'aide des outils intégrés.

.­.­.

SSL dans un environnement de développement local

À l'heure des navigateurs HTTPS uniquement, des cookies SameSite et des conditions de développement réalistes, il est important de travailler localement avec de vrais certificats SSL. Let's Encrypt a fait un travail de pionnier ici : avec l'aide de certbot et de Cloudflare , la création et le renouvellement de certificats génériques sont rapides et faciles. Cela vous permet d'accéder à vos projets web cryptés sur n'importe quel appareil (smartphone, VM, ...) du réseau local ou via VPN.

.­.­.

Créez votre propre modèle de langage à grande échelle

« Une machine peut avoir une grande mémoire, mais elle ne peut pas penser – à moins que nous ne le lui apprenions. » – Alan Turing. Les modèles d’IA modernes tels que GPT-4 ou Llama sont basés sur d’énormes ensembles de données et des structures mathématiques complexes. Mais qu'est-ce qui se cache réellement derrière tout cela ? Dans cet article, nous examinons les composants clés nécessaires pour créer un modèle de langage à partir de zéro.

.­.­.

Hébergez vous-même OpenStreetMap

OpenStreetMap (OSM) est une carte du monde gratuite créée de manière collaborative par des personnes du monde entier – gratuite, ouverte et indépendante. Alors que Google Maps, en tant que leader du marché, est souvent le premier choix pour les cartes numériques, OSM s'appuie sur un principe complètement différent : une communauté collaborative qui collecte, améliore et met à disposition gratuitement des données géographiques.

.­.­.

Accès avec PHP à Exchange/Office 365

Longtemps annoncé - maintenant réalité : Microsoft a désactivé l'authentification par mot de passe pour certains protocoles dans Exchange Online à partir de septembre 2022 au profit de oAuth2. Les problèmes GitHub de nombreuses bibliothèques et scripts de sauvegarde montrent clairement que le changement a pris de nombreux administrateurs par surprise. Ci-dessous, nous montrons comment vous pouvez continuer à accéder au contenu de votre boîte aux lettres Exchange à l'aide de oAuth2 via PHP via IMAP.

.­.­.

Envoi d'e-mails en retard

L'heure n'est pas la bonne ? Email envoyé trop tôt ? Retarder les e-mails peut être utile dans de nombreuses situations : que ce soit pour vous donner du temps de révision ou pour gérer efficacement votre propre charge de travail, le timing peut être crucial. Voici trois façons de retarder l’envoi d’e-mails et d’optimiser vos propres communications.

.­.­.

Contrôler les navigateurs avec l'IA

L'automatisation du navigateur joue un rôle important dans des domaines tels que le web scraping, les tests automatisés et l'interaction avec les applications Web. Jusqu’à présent, par exemple, Puppeteer a été utilisé à cette fin. Avec l'avènement de l'IA, de nouvelles opportunités s'ouvrent désormais pour rendre l'automatisation du navigateur plus intuitive et moins gourmande en maintenance - ouvrez la voie à Stagehand .

.­.­.

Débogage PHP avec Xdebug

Xdebug est un outil puissant de débogage et de profilage pour PHP qui permet d'analyser et d'optimiser les applications PHP. Il prend en charge des fonctionnalités telles que le débogage pas à pas, la mesure des performances et le traçage de la pile, ce qui simplifie considérablement le dépannage et offre une meilleure compréhension du code. Voici un guide d'installation rapide pour l'utiliser dans VS Code.

.­.­.

À propos des liquides

Imaginez deux tasses identiques - l'une remplie de café et l'autre de lait, toutes deux au même niveau. Une cuillère à café de café est alors versée de la tasse de café dans la tasse de lait et mélangée. Ensuite, une cuillère à café du mélange de la tasse de lait est reversée dans la tasse de café. Dans quelle tasse se trouve ensuite le plus de liquide étranger ?

.­.­.

Messages Git Commit avec ChatGPT

Les messages de commit dans Git sont souvent négligés. Beaucoup les considèrent comme un simple mal nécessaire pour enregistrer les modifications. Pourtant, des messages de commit pertinents sont essentiels à la réussite d'un projet : ils garantissent une bonne traçabilité des modifications, une collaboration efficace au sein de l'équipe et une correction plus rapide des bugs. Autant de raisons d'automatiser leur génération grâce à l'IA.

.­.­.

Le février rectangulaire

Le mois de février prend parfois une forme particulièrement attrayante dans le calendrier. Par exemple, en février 2021, on a pu observer un « février parfaitement rectangulaire ». Ce phénomène rare se produit lorsque février compte exactement \(28\) jours et que le 1er février tombe un lundi. Mais à quelle fréquence cela se produit-il réellement, et combien de temps faut-il attendre avant que cela se reproduise ?

.­.­.

Centrage vertical en CSS

CSS est encore déroutant pour la plupart d'entre nous : il possède des centaines de propriétés mal nommées, dont chacune peut influencer le résultat de manière non intuitive. Le positionnement vertical des éléments dans le développement web est délicat et a souvent été un casse-tête par le passé. Mais cette époque est heureusement révolue.

.­.­.

animer height : 0 à height : auto avec CSS

Les transitions CSS sont un bon moyen de créer de l'interactivité. Il suffit de, transition à l'état initial d'un élément, et le navigateur anime la transition entre les deux états. Les transitions pour les tailles d'éléments intrinsèques comme auto sont cependant un problème pour les développeurs web depuis des décennies, et la seule possibilité consistait à calculer la hauteur de manière dynamique avec JavaScript.

.­.­.

Il n'y a pas d'entier entre 0 et 1

Il n'y a pas de \ (n \ dans \mathbb{Z}^+\), donc \ (0 < n < 1\).

.­.­.

Paradoxe de l'ascenseur

En 1950, les physiciens George Gamow et Marvin Stern ont remarqué un phénomène intéressant : Gamow, qui avait un bureau au premier étage d'un immeuble de six étages, a remarqué que cinq fois sur six, le prochain ascenseur qui arrivait descendait alors qu'il voulait monter. Stern, qui travaillait au cinquième étage, a observé le contraire.

.­.­.

Quine

Un programme Quine ou Quine est un programme qui, lorsqu'il est exécuté, affiche son propre code source. Un Quine ne doit pas "sortir de lui-même", par exemple en imprimant le contenu du fichier qui le contient ou en utilisant des capacités introspectives pour imprimer sa propre représentation. Au lieu de cela, il doit calculer son propre code source.

.­.­.

Rotation de fichiers avec un script bash

Des outils puissants comme logrotate facilitent grandement le travail de rotation des fichiers journaux ou de sauvegarde. Cela fera pivoter les fichiers après une certaine période de temps ou lorsqu'ils atteignent une certaine taille. Si cet outil n'est pas disponible sur un serveur distant et que vous ne pouvez exécuter que des commandes SSH distantes, vous pouvez utiliser un petit script bash qui supprime les anciens fichiers et n'effectue qu'une seule requête.

.­.­.

La loi de Benford

Dans le monde des nombres, on rencontre souvent des modèles surprenants qui peuvent être à la fois étonnants et éclairants. La loi de Benford, également connue sous le nom de loi du premier chiffre, est l'une de ces curiosités. Ce phénomène mathématique décrit la distribution de fréquence des premiers chiffres dans de nombreux ensembles de données réelles et offre un aperçu intéressant de la nature des nombres tels qu'ils apparaissent dans notre environnement.

.­.­.

Probabilités paradoxales

J'ai deux enfants, un garçon né un jeudi. Quelle est la probabilité d'avoir une fille ? Notons les jours de la semaine par les nombres \(1, 2, … , 7\)\(1\ =\) lundi, \(2 =\) mardi, etc. On peut alors définir l'événement « Le jour \(n\) un garçon est né » par \(B_n\) , et de même pour \(G_n\) .

.­.­.

L'argument de l'apocalypse

En supposant que le nombre \ (Y\) de toutes les personnes qui sont nées et qui naîtront un jour est limité, soit \ (x\) ta position absolue depuis le début de la liste. Alors \ (0 < \frac{x}{Y} \leq 1\). Nous pouvons maintenant dire avec une probabilité de \ (95\%\ ) que tu es parmi les derniers \ (95\%\) de toutes les personnes qui sont nées, donc \ (0,05 < \frac{x}{Y} \leq 1\) et donc \ (Y < \frac{x}{0,05} = \frac{100 \cdot x}{5} = 20 \cdot x\).

.­.­.

Paradoxe du buveur

La phrase suivante est connue sous le nom de « paradoxe du buveur » : « Il y a quelqu'un dans le bar, donc s'il boit, tout le monde dans le bar boit ». Peu importe qu'une personne encourage les autres à boire ou qu'il existe une autre porte dérobée, comme nous le verrons dans un instant. C'est un bel exemple de logique mathématique des prédicats.

.­.­.

Deviner un nombre

Un garçon pense à un nombre qui est \(1\) , \(2\) ou \(3\) et une fille n'est alors autorisée à poser qu'une seule question sur ce nombre. Le garçon ne peut répondre que « oui », « non » ou « je ne sais pas ». En posant intelligemment la question, la fille parvient à nommer le numéro correct auquel le garçon pensait après que le garçon lui ait répondu. Quelle est votre question ?

.­.­.

Objet sans origine

Imaginez recevoir un jour un colis mystérieux, sans adresse d'expéditeur. Intrigué(e), vous l'ouvrez et y trouvez une bague que vous offrez à votre fille. Des décennies plus tard, c'est elle qui peut envoyer des objets dans le passé grâce à un trou de ver. Elle utilise pour cela la bague qu'elle avait reçue de vous, emballée dans un colis qui vous était adressé. La question est : d'où vient cette bague ?

.­.­.

CI avec actions GitHub

Comme alternative au très apprécié Travis CI, GitHub Actions est disponible depuis un certain temps déjà. En tant qu'outil d'intégration continue, il est très bien intégré à la plateforme de code GitHub et fonctionne désormais de manière très stable. GitHub Actions s'appuie sur des fichiers de configuration YAML qui sont placés dans le référentiel où le workflow doit être exécuté.

.­.­.

Le paradoxe de Stein

En 1961, James et Stein ont publié l'article Estimation with Quadratic Loss . Prenez des données distribuées normalement avec une moyenne inconnue \(\mu\) et une variance \(1\) . Si vous choisissez maintenant une valeur aléatoire \(x\) à partir de ces données et devez estimer la moyenne \(\mu\) sur cette base, intuitivement \(x\) est une estimation raisonnable pour \(\mu\) (puisqu'une distribution normale est présente, le \(x\) choisi au hasard est probablement proche de \(\mu\) ).

.­.­.

UUID dans les bases de données

UUID (Identifiants universellement uniques) sont des valeurs de 128 bits qui sont utilisées, entre autres, dans les bases de données pour identifier de manière unique les entrées de table. Ils sont représentés sous la forme d'une chaîne hexadécimale divisée en cinq groupes séparés par des tirets (exemple: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). Il y a nombreux Discussion sur les avantages et les inconvénients des UUID dans les bases de données - ils sont indispensables dans les systèmes distribués.

.­.­.

Nettoyer l'historique de Git partie 2

Données sensibles ou consommation excessive d’espace de stockage : Il existe de bonnes raisons de vouloir modifier l’historique Git. Dans cet article de blog, j'ai expliqué comment supprimer des fichiers de l'historique Git à l'aide de BFG . Un point faible de BFG est le manque de prise en charge des chemins directs , vous ne pouvez donc pas supprimer spécifiquement les fichiers ou dossiers des sous-dossiers de l'historique. Avec cela, il est temps d’envisager des solutions alternatives.

.­.­.

Limite de mémoire dans WordPress

En bref : Définissez manuellement les valeurs ou les valeurs par défaut de WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT n'aura aucun effet si WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT inférieur ou égal à la limite de mémoire de PHP (ci-après dénommée memory_limit appelé) est. Ils sont utilisés pour définir des valeurs trop faibles de memory_limit dynamiquement à un minimum recommandé.

.­.­.

Conseil rapide : modifier l'Iframe

Si vous intégrez un iframe tiers (comme un widget), vous ne pouvez pas accéder à son contenu avec CSS ou JavaScript (en raison de la politique dite de même origine ). Cependant, il existe une procédure très simple pour modifier n'importe quel code (également dans d'autres fichiers qui sont rechargés dans l'iframe). Pour ce faire, vous routez l'URL via votre propre proxy PHP et modifiez le contenu à votre guise.

.­.­.

Pièces dans l'application ANTON

ANTON est l'une des applications d'apprentissage les plus populaires pour les élèves de la 1re à la 10e année. Classe. À première vue, l'aspect gamification de l'acquisition de pièces ("pièces") peut sembler étrange aux adultes - mais il multiplie sensiblement la motivation, pas seulement de mes enfants. Il enregistre même un petit "coussin" de pièces que vous ne touchez pas.

.­.­.

A propos de la robustesse de l'IBAN

L'IBAN allemand se compose du code pays (DE), d'un chiffre de contrôle à deux chiffres (conformément à la norme ISO 7064 ), du code banque (8 chiffres) et du numéro de compte (incluant le numéro de sous-compte, 10 chiffres, les chiffres manquants étant complétés par des zéros non significatifs), ce qui lui confère une longueur de 22 caractères. Pour calculer le chiffre de contrôle, on forme d'abord une séquence à partir du BBAN (code banque et numéro de compte), du code pays numérique \(1314\) pour l'Allemagne et du chiffre de contrôle \(00\) .

.­.­.

Mathématiques dans le jeu Dobble

Lors de notre dernière soirée jeux en famille, les enfants ont sorti avec enthousiasme le jeu Dobble (édition Harry Potter). Après avoir perdu cinq manches (sans que ma carte ne corresponde visiblement à la carte jouée), j'ai été surpris d'apprendre que chaque joueur trouve toujours une paire à chaque manche. Cependant, mon incrédulité n'a fait que s'accentuer avec l'accumulation de manches perdues : les enfants étaient tout simplement plus rapides.

.­.­.

Temps de blocage Bitcoin

Vous savez : Le temps attendu entre deux blocs Bitcoin est en moyenne de \(10\) minutes. Maintenant, vous effectuez une transaction Bitcoin importante et attendez avec impatience de voir si et quand elle apparaîtra dans le prochain bloc:

e50bfacc95975a4e7545d83d8954645f

.­.­.

Mathématiques corona

Dans le rapport hebdomadaire RKI du 11.11.2021, il est indiqué à la page 22 que \(36\%\) patients corona âgés \(36\%\) plus de 60 ans dans l'unité de soins intensifs étaient déjà complètement vaccinés. Dans cette tranche d'âge, \(87\%\) complètement vaccinés à ce moment-là (voir p. 18).

.­.­.

Fractions décimales

Les nombres décimaux finis sont appelés fractions décimales, car ils sont une représentation différente des fractions dont le dénominateur est une puissance de dix. Ainsi est:

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

avec \(k \in \mathbb{N}\) et \(q_k\) la \(k-1\) -ième place à droite après la virgule.

.­.­.

Conseil rapide : modifiez automatiquement la version du nœud

L'utilisation de nvm est recommandée pour une installation et un changement rapides des versions de nœuds. Si vous souhaitez spécifier explicitement la version de nœud requise dans un projet, vous placez un fichier appelé .nvmrc avec le numéro de version exact (par exemple "12.10.0") dans le même dossier dans lequel se trouve le package.json . Si vous passez maintenant au dossier, l'extension suivante du fichier ~ / .bash_profile pour bash exécute la commande nvm use , qui définit automatiquement cette version:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

Utiliser les requêtes de conteneur aujourd'hui

Depuis l'avènement du responsive web design, les développeurs réclament la possibilité de styliser les éléments DOM en fonction de leur taille réelle plutôt que de celle de la fenêtre du navigateur (via les media queries ). De fait, les media queries (anciennement media queries) sont probablement la fonctionnalité CSS la plus demandée et qui fait encore défaut aux navigateurs.

.­.­.

Nettoyer l'historique de Git

Les données sensibles, comme les mots de passe, doivent être stockées dans des fichiers .env et, si possible, pas dans les dépôts Git. Cependant, il nous est probablement tous arrivé au moins une fois, par inadvertance : publier rapidement un script JavaScript pour l’API Google Maps sur GitHub Gists (en tant que « public ») et oublier de masquer notre clé API privée.

.­.­.

Découpez des SVG à partir d'images avec clip-path

Pour détourer une image à partir d'un fichier SVG, il est recommandé d'utiliser la propriété CSS `clip-path` . Le script suivant lève plusieurs obstacles : les fichiers SVG peuvent être enregistrés avec Illustrator, vous pouvez spécifier l'URL (relative ou absolue) d'un fichier SVG (Chrome ne prend actuellement en charge nativement que les SVG intégrés), et le détourage est parfaitement adaptatif.

.­.­.

Conseil rapide : WP_Query et champs multilignes

L'attribut `meta_query` de la puissante classe WordPress `WP_Query` permet de filtrer les articles en fonction de valeurs spécifiques dans leurs champs méta. Si vous avez créé un champ méta multiligne (par exemple, avec Advanced Custom Fields ) et que vous souhaitez uniquement trouver les articles contenant une valeur spécifique dans ce champ, l' utilisation des expressions régulières (REGEX) de MySQL est recommandée.

.­.­.

Intégrer nativement les animations Adobe Animate

Dans un article précédent, j'ai décrit comment intégrer facilement des animations d' Adobe Animate dans un site Web à l'aide d'une exportation APNG. Il existe également la méthode native via HTML5 Canvas Export , mais quiconque a déjà travaillé avec lui remarquera qu'il y a des problèmes à chaque instant (support réactif insuffisant, intégration lourde dans les sites Web existants, pas de fréquences d'images différentes par animation, etc.). La bibliothèque Adobe-Animate-embed peut vous aider ici.

.­.­.

Google Maps sans clé API

Normalement, lors de l'intégration de Google Maps, vous travaillez avec l' API Maps JavaScript , qui nécessite une clé API et peut entraîner des coûts qui ne doivent pas être sous-estimés avec des numéros d'accès plus élevés. Il existe d'excellentes alternatives telles que mapbox ou OpenStreetMap , mais elles n'atteignent pas encore la variété des fonctionnalités offertes par Google. Google lui-même propose également un moyen sans clé API via la fonction de partage, que nous pouvons utiliser à nos fins.

.­.­.

Exportation Adobe Animate APNG

La prise en charge des fichiers PNG animés par les navigateurs est désormais si avancée que les animations créées avec Animate CC peuvent être facilement exportées au format APNG, puis intégrées à une page web à l'aide d'une simple balise `<img>`. Cette méthode offre une alternative simple et de haute qualité à la méthode de publication d'Animate CC, qui génère du JavaScript. Les étapes nécessaires sont décrites ci-dessous.

.­.­.

Élargir la recherche WordPress

Si vous souhaitez étendre la recherche native de WordPress pour inclure les champs méta, par exemple, il est conseillé d'utiliser les filtres déclenchés. Pour garantir le bon fonctionnement de la pagination et éviter que les futures améliorations de la recherche ne soient compromises, le hook `posts_search` est recommandé. Le code suivant, utilisant les fonctions REGEXP et ExtractValue , étend cette recherche aux articles contenant au moins un des termes de recherche saisis dans tous leurs champs méta.

.­.­.

Calcul de l'indice de visibilité SISTRIX

Avec Xovi, l'outil SISTRIX est le programme d'analyse le plus utilisé en Allemagne dans le domaine du référencement. L'indice de visibilité s'est imposé comme un quasi-standard pour la visibilité d'une page dans la recherche Google. Les paramètres qui sont inclus dans son calcul sont, par exemple , expliqués ici et ici et ici et ici et ici , mais une formule de calcul exacte n'est pas officiellement publiée. Ce qui suit sont les résultats de mes recherches personnelles de six mois, qui ne prétendent pas être complètes ou correctes.

.­.­.

Le chef-d'œuvre de Godel

Lorsque Kurt Gödel a publié ses fameux théorèmes d'incomplétude en 1931, cela a ébranlé les fondements de la logique mathématique: il a réfuté que tous les axiomes qui peuvent être établis comme base possible sont inévitablement incomplets afin de prouver toutes les déclarations sur les nombres - et détruit cela Le rêve de Hilbert de prouver la cohérence de la théorie mathématique.

.­.­.

Utilisez WhatsApp via l'API

Malgré tous les problèmes liés à la protection des données, WhatsApp reste l'application de messagerie préférée des Allemands. En plus de l' application spéciale WhatsApp Business, Facebook a également créé une interface officielle, l'API WhatsApp Business, pour la rendre plus intéressante pour les entreprises. Si vous souhaitez envoyer des messages WhatsApp par programme depuis votre application Web, il existe également d'autres options.

.­.­.

Flouter la page derrière la superposition en utilisant CSS

Si vous utilisez des éléments tels que des superpositions (qui est la règle à l'époque de l'actionnisme du RGPD) et que vous souhaitez adoucir la zone derrière la superposition, par exemple, vous rencontrez souvent le problème du contexte d'empilement . Par exemple, si vous avez des éléments positionnés de manière absolue ou dans une position fixe, ils sont soudainement affichés différemment que sans filtre appliqué. Mais il existe un remède.

.­.­.

Astuce: Split Testing avec Apache

Pour réaliser des tests A/B d'URL simples, il n'est pas nécessaire d'utiliser un outil puissant comme Google Optimize ; vous pouvez également implémenter un test A/B avec Apache via le fichier .htaccess. L'extrait de code suivant répartit équitablement les visiteurs des deux pages https://vielhuber.de/test1.php (Variante 1) et https://vielhuber.de/test2.php (Variante 2) entre les deux versions. La répartition est aléatoire et basée sur l'heure actuelle du serveur.

.­.­.

Via la notation des fonctions ramifiées

Les accolades sont utilisées dans la notation des définitions de fonctions avec distinction de casse. Nous poursuivons la simple question de savoir si cette représentation peut également être éliminée et si la fonction peut être réduite à une notation qui peut s'en passer. Par exemple, la fonction

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

le représenter sous la forme d'un terme sur une seule ligne en utilisant les quatre opérations arithmétiques de base ?

.­.­.

Série de dates dans Google Sheets

Lors de la visualisation des données dans Google Sheets, on rencontre le problème que l'axe \(x\) pour les valeurs de texte (telles que les semaines calendaires) ne peut pas remplir automatiquement les espaces manquants. Pour résoudre le problème, vous générez une série continue de dates, comptez les cellules qui se produisent vous-même puis visualisez les sommes accumulées.

.­.­.

Astuce rapide: PHP clearstatcache

Trouve l'erreur:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Piratage de l'API Google Translation

Google propose l' API Google Translation avec une structure de coûts basée sur l'utilisation dans le cadre de son Google Cloud. Il existe également une API non documentée qui peut être utilisée sans clé , mais qui refuse de fonctionner après seulement quelques requêtes. Lorsque vous utilisez la fonction de traduction de site Web de Google Chrome, il est à noter que les pages peuvent être traduites en très bonne qualité sans aucune limitation notable.

.­.­.

Astuce rapide: marquage automatique Git

Lors de la liaison de GitHub avec Composer , l'attribution d'un numéro de version via `git tag` est obligatoire. La commande suivante détermine l'étiquette actuelle et l'incrémente (conformément à SemVer ) d'un numéro de version. Par exemple, la version 1.1.0 succède à la version 1.0.9. Si aucune étiquette n'est attribuée, la version est automatiquement étiquetée 1.0.0. Des outils comme Flimsy ou les hooks Git permettent de raccourcir ce processus d'étiquetage.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

Modifier le déclencheur MySQL

Malheureusement, MySQL ne propose pas de fonction ALTER TRIGGER. Pour modifier un déclencheur existant, vous devez d'abord le supprimer puis le recréer. L'instruction CREATE TRIGGER est accessible indirectement via le schéma information_schema . Cela permet de modifier les déclencheurs indirectement. Pour ce faire, apportez vos modifications au résultat de la commande SELECT suivante (après avoir modifié la base de données et le nom du déclencheur) et exécutez la requête.

.­.­.

Déclencher des événements de changement dans VanillaJS

VanillaJS a été à égalité avec le vétéran jQuery dans presque tous les domaines depuis ES6 et est maintenant bien supérieur. Il est donc avantageux de migrer progressivement le code hérité de jQuery. Cependant, vous devez être prudent lorsque vous déclenchez des événements de modification manuelle. Par exemple, document.addEventListener ne se déclenche pas sur jQuery.change () . L'aperçu suivant résume les fonctionnalités spéciales.

.­.­.

Contrôler les cookies avec PHP et JS

La configuration des cookies à l'aide de vos propres scripts ou de ceux de tiers peut être contrôlée avec précision à l'aide de PHP et de JavaScript. Bien que cela ne soit pas une solution suffisante pour mettre en œuvre des solutions de cookies après la décision de justice contre Planet49 (il est ici crucial que les outils de suivi tels que Google Analytics ne suivent pas en premier lieu et ne définissent donc pas de cookies), il peut être judicieux de mettre généralement les cookies sur liste blanche/noire.

.­.­.

Désactiver les appareils via un script sous Windows

Afin d'économiser de l'électricité ou de réduire votre propre paranoïa de surveillance, il est conseillé de déconnecter complètement les appareils qui ne sont pas utilisés sur votre propre ordinateur. Les appareils tels que les boîtes de son ou les webcams peuvent être activés / désactivés de manière classique à l'aide du gestionnaire d'appareils. Le tout fonctionne également via un script. La manière standard de faire cela était devcon . Windows 10 offre désormais un moyen plus pratique de le faire via PowerShell .

.­.­.

Flou d'arrière-plan Skype

Skype a une fonction intéressante, quelque peu cachée : lors des transmissions vidéo, vous pouvez facilement flouter automatiquement l'arrière-plan en cliquant sur le bouton vidéo et en utilisant la fonction « Flou mon arrière-plan ». Grâce à l’intelligence artificielle, cela fonctionne avec n’importe quelle caméra, même sans informations de profondeur. L’ensemble apparaît alors plus professionnel et cache des choses privées en arrière-plan ou des choses sans importance pour la conversation.

.­.­.

Optimisation du démarrage PHP OPcache

Pour les sites Web basés sur WordPress , Joomla ou Laravel , par exemple, et n'ayant aucun contenu spécifique à l'utilisateur, il est recommandé de conserver toutes les pages dans un cache HTML statique et de ne régénérer le cache que manuellement (ou automatiquement) s'il y a des modifications dans le backend. Cependant, si la page contient un contenu dynamique qui dépend des sessions et des cookies ou de la langue et de l'emplacement, l'utilisation d' OPcache est adaptée.

.­.­.

Exportation SVG depuis Illustrator

Les SVG jouent un rôle central dans le Web d'aujourd'hui. Ils ont non seulement déplacé les polices d'icônes, mais offrent également la possibilité de manipulation via CSS ou JavaScript. Si vous souhaitez enregistrer un graphique vectoriel pour le Web à partir d' Adobe Illustrator au format SVG, vous devez effectuer certains réglages pour éviter les pièges et réduire les temps de chargement, que je présenterai dans l'article suivant.

.­.­.

Projet Euler: chemins de treillis

Le projet Euler est une série de problèmes de programmation passionnants, souvent à fondement mathématique. Ces problèmes sont fréquemment conçus pour nécessiter le développement d'algorithmes sophistiqués afin d'atteindre l'objectif dans un délai raisonnable. Aujourd'hui, nous allons résoudre le problème 15 : Chemins de réseau , qui peut être résolu à l'aide de méthodes combinatoires simples.

.­.­.

Mises à jour automatiques de WordPress

Depuis la version 3.7, WordPress intègre nativement les mises à jour en arrière-plan et les active automatiquement pour les versions mineures. Les filtres permettent de contrôler plus précisément les éléments mis à jour automatiquement. L'installation permanente et entièrement automatisée de toutes les mises à jour mineures, majeures, des extensions, des thèmes et des traductions n'est pas prise en charge, mais peut être facilement réalisée par d'autres moyens.

.­.­.

Google Sheets: développer les formules

Pour étendre les formules à des colonnes entières dans Google Sheets, nous vous recommandons d'utiliser la fonction utile ARRAYFORMULA . Malheureusement, cela ne fonctionne pas en combinaison avec d'autres fonctions importantes telles que QUERY ou INDIRECT , c'est pourquoi vous devez entièrement personnaliser la logique à l'aide de Google Apps Script ou, alternativement, copier manuellement la formule jusqu'à la dernière ligne.

.­.­.

Le paradoxe des Simpson

Le paradoxe de Simpson est l'un des phénomènes à la fois facilement compréhensibles et étonnants de la statistique. Cela se produit chaque fois que des groupes de données montrent une tendance particulière, mais cette tendance s'inverse lorsque les groupes sont combinés. À l'aide d'un exemple simple, le paradoxe peut être compris immédiatement.

.­.­.

Conseil rapide: Google Tag Manager

Le Google Tag Manager s'est imposé comme la norme de facto pour l'intégration de scripts de suivi. De cette manière, d'une part, les responsabilités (marketing en ligne vs programmation) sont parfaitement séparées et, d'autre part, vous pouvez rapidement configurer et modifier le suivi via un canal de déploiement supplémentaire. Voici deux petits conseils pour configurer les déclencheurs.

.­.­.

Petit conseil: point d'accès WLAN de FRITZ! Box

À partir de FRITZ! OS 07.10, en cas de panne d'Internet, FRITZ! Box peut temporairement utiliser le point d'accès sans fil d'un téléphone portable comme solution de secours. La fonction est masquée sous Internet> Données d'accès> Fournisseur Internet> Accès existant via WLAN . La FRITZ! Box fonctionne alors elle-même comme un routeur et fournit un réseau avec sa propre plage d'adresses. Lorsque Internet est à nouveau disponible, il vous suffit de réinitialiser le paramètre. J'ai également dû cocher les options WLAN> Réseau radio> Bande de fréquence 2,4 GHz active et Internet> Données d' accès > IPv6> Prise en charge IPv6 active .

.­.­.

Fleur de vie

La Fleur de Vie est un motif géométrique floral bien connu, présent dans les temples, les manuscrits et, plus récemment, dans la culture populaire depuis des millénaires. Ce motif joue également un rôle dans l'ésotérisme. Nous n'aborderons pas ces aspects ici et nous concentrerons sur la construction simple de cette forme géométrique, composée de plusieurs cercles régulièrement espacés et se chevauchant.

.­.­.

Retard des e-mails dans Outlook

Le support de communication asynchrone, le courrier électronique, est - malgré toutes les prophéties catastrophiques entourant Slack et Discord - le support de communication dominant dans les entreprises du monde entier. Outre Inbox Zero de Merlin Mann, il existe de nombreuses autres stratégies pour faire face au flot quotidien d'e-mails, notamment ce que l'on appelle le retardement des e-mails, c'est-à-dire la livraison retardée des e-mails.

.­.­.

Une spirale de nombres

Depuis quelques jours, j'étudie la question suivante sur StackExchange sur une spirale d'entiers. Nous recherchons une formule fermée pour les coordonnées du \(n\) -ème élément dans la spirale entière suivante, qui s'étend de l'origine vers l'extérieur et de plus en plus loin dans l'infini:

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

Droits de lecture dans Google Sheets

Lorsque vous travaillez avec Google Sheets, vous pouvez définir des règles précises et personnalisées pour la modification des feuilles de calcul, des colonnes et des lignes. Malheureusement, il est impossible de restreindre l'accès en lecture. Cette fonctionnalité serait pourtant très utile dans de nombreux cas, par exemple pour afficher à vos clients uniquement les tickets qui les concernent, ou à vos employés uniquement les projets sur lesquels ils travaillent.

.­.­.

Plug'n'play de fil

npm est le gestionnaire de packages par défaut pour Node.js. Facebook développe depuis longtemps une solution alternative de gestion de packages appelée Yarn . Yarn semble disparaître lentement des readmes GitHub en tant que solution par défaut et les statistiques sur le site officiel montrent que seule une fraction des installations de packages est effectuée avec Yarn. Néanmoins, cela vaut la peine de sortir des sentiers battus.

.­.­.

Convertir un PDF en LaTeX


Le système de composition \(\TeX\) été développé en 1977 par le légendaire Donald E. Knuth . Le progiciel \(\LaTeX\) fait toujours partie du répertoire standard lors de la création d'articles scientifiques. Avec les deux outils suivants, les PDF déjà générés et les notes manuscrites peuvent être convertis entièrement automatiquement en TeX. Les résultats sont très prometteurs.

.­.­.

L'argument de la simulation

L'argument de simulation de Nick Bostrom est incroyablement simple et clair. Il n'essaie pas de prouver que nous vivons dans une simulation, mais au contraire formule élégamment trois possibilités, dont l'une doit être vraie. Elon Musk préconise également une thèse similaire, qui a fait connaître l'idée à un large public. Le journal officiel a plus de 14 ans et autant de pages sont courtes. La déclaration centrale est facile à comprendre et compacte.

.­.­.

Bogue critique lors de l'utilisation de WPML + ACF

Les puissants plugins WPML pour le multilinguisme et les champs personnalisés avancés pour vos propres champs sont des équipements standard dans de nombreuses installations. Il est ennuyeux de combiner des dysfonctionnements et des pertes de données. Les rapports de bogues sur le sujet datent de quelques années et restent sans réponse ( ici et ici et ici et ici et ici ). Je viens de regarder de plus près le problème.

.­.­.

Téléchargement de fichiers dans le navigateur Facebook In App

Sur certains téléphones Android, les navigateurs intégrés aux applications Facebook et Instagram (à ce jour) se comportent de manière incorrecte lorsque l'attribut d'acceptation est spécifié pour un champ de téléchargement dans une page de destination promue ou liée. Le bouton n'avait donc aucune fonction. Si vous ouvrez la page dans un navigateur externe normal en dehors de l'application Facebook, tout va bien. C'est ennuyeux (d'autant plus que cela est signalé depuis longtemps), mais cela peut être résolu avec une solution de contournement.

.­.­.

Chrome Devtools: déplacer des éléments DOM

Les outils de développement de Google Chrome figurent parmi les plus performants du marché des navigateurs. De nouvelles fonctionnalités sont ajoutées chaque mois et Google les présente de manière concise sur YouTube . Mais ce sont souvent les petits détails qui font le bonheur. Si vous souhaitez supprimer des éléments DOM dans Google Chrome, vous pouvez utiliser la touche Suppr. Mais ce n'est qu'aujourd'hui que j'ai réalisé qu'il est également possible de déplacer des éléments DOM par simple glisser-déposer.:

.­.­.

Astuce rapide: git status --r

Une règle d' or dans l'univers git est: "Engagez-vous tôt et souvent". Si la nuit a été un peu plus longue, ou si vous voulez juste un aperçu de la situation actuelle sur votre propre ordinateur, la commande vous emmène

d8a38f92d0baa14f9d4568826c13ad46

un "git status" pour tous les référentiels qui sont dans le dossier actuel ou dans n'importe quel sous-dossier et agrège les valeurs dans un bel aperçu:

.­.­.

Pile LAMP dans le sous-système Windows pour Linux

Lors de la recherche d'un environnement de développement optimal, Windows 10 offre un large éventail d'options, outre les solutions complètes telles que XAMPP , WAMP et MAMP , les installations natives manuelles et les solutions de virtualisation comme Vagrant ( ScotchBox ) et Docker ( DevilBox , Laradock ). Cependant, aucune de ces solutions ne répondait à mes exigences – notamment la libre configurabilité, les certificats SSL génériques, l'accès depuis tous les appareils du réseau local, ainsi qu'une stabilité et des performances élevées – à une exception près.

.­.­.

Astuces pour les relations éloquentes avec Laravel

L'une des forces de Laravel est sa syntaxe élégante. Si vous avez beaucoup de modèles et de relations dans Laravel (en raison du grand nombre de tables dans la base de données), le parcours peut souvent aboutir à un code moins élégant. Au fil du temps, trois petites extensions se sont révélées efficaces pour moi, que je voudrais présenter brièvement ci-dessous. Pour ce faire, nous utilisons simplement un héritage, des méthodes magiques et des collections personnalisées.

.­.­.

Empêcher l'accès public à .git

Le contrôle de version Git est désormais une pratique courante dans presque tous les projets et environnements web (y compris en production). Git crée systématiquement un sous-répertoire nommé `.git` . Si ce dernier se trouve au même niveau que le répertoire public du site web, les fichiers sensibles sont accessibles publiquement (par exemple, l'accès à `/.git/logs /HEAD` affiche les derniers commits). Ce guide explique en détail comment cloner un autre dépôt Git, même sans liste de fichiers.

.­.­.

Node.js / npm / Composer sans racine

Dans un article de blog plus ancien, j'ai décrit comment héberger Node.js gratuitement en utilisant Heroku . Maintenant, je vais vous montrer comment installer Node.js , npm et Composer sur n'importe quel autre hôte partagé sans droits root avec quelques lignes de code. Avec lui, vous pouvez installer des packages, déployer des applications Vue.js ou simplement démarrer un serveur Express.js. Nous travaillons toujours dans le répertoire utilisateur et utilisons nvm - le gestionnaire de packages de nœuds.

.­.­.

Bug dans les tableaux associatifs en PHP <7.2

En PHP <7.2, vous pouvez créer des tableaux qui ne sont plus accessibles correctement:

91367d1c4636fd753b381406024e303c

Vous pouvez faire certaines choses avec.

.­.­.

Exécuter les commandes directement après la connexion SSH

La commande suivante établit une connexion SSH à un serveur, exécute plusieurs commandes (par exemple, se déplacer dans un sous-répertoire et exécuter `git status` ), et laisse l'interpréteur de commandes ouvert. Elle charge le fichier `.bashrc`, qui active les sous-interpréteurs de commandes colorés. L'astuce consiste à enregistrer un fichier temporaire `/tmp/initfile` contenant les commandes souhaitées et à démarrer un sous-interpréteur de commandes (ici, `bash`) avec l'option `--init-file`. Dans ce fichier `initfile`, ce même fichier est immédiatement supprimé afin de ne laisser aucune trace.

.­.­.

Lecteur réseau en tant qu'administrateur

Lorsque vous mappez un lecteur réseau dans l'Explorateur Windows, cette action n'est pas globale et ne s'applique qu'au compte utilisateur actuel. Cela signifie qu'une application exécutée avec des privilèges d'administrateur ne peut pas accéder à ce lecteur réseau. Pour modifier ce comportement, créez une nouvelle valeur DWORD (32 bits) nommée EnableLinkedConnections et attribuez-lui la valeur 1 dans le registre, sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System , puis redémarrez votre ordinateur. Les lecteurs réseau mappés seront alors visibles partout.

.­.­.

Astuce rapide: inclure le dossier comme lecteur

Si vous souhaitez accéder rapidement à un dossier local sous Windows que vous utilisez encore et encore, vous pouvez simplement lui attribuer votre propre lettre de lecteur. Il n'y a qu'un détour via "Connecter le lecteur réseau", car vous ne pouvez pas spécifier le chemin C: \ Users \ David \ Downloads, par exemple. La solution est le partage dit administratif du lecteur, qui existe par défaut pour chaque dossier: dans l'exemple ci-dessus, ce serait \\ localhost \ c $ \ Users \ David \ Downloads .

.­.­.

Attraper des grenouilles

Une grenouille se déplace sur une droite numérique, et le but est de l'attraper. Les sauts et les attraper alternent. La grenouille part de la position \(s \in \mathbb{Z}\) et, à chaque déplacement, elle saute d'une distance \(z \in \mathbb{Z}\) (si \(z>0\) , elle saute vers la droite ; sinon, vers la gauche). \(z\) est la même pour chaque saut. Attraper la grenouille implique de spécifier une position entière. Ni \(z\) ni \(s\) ne sont connus. Nous allons montrer qu'il existe une procédure qui permet toujours d'attraper la grenouille.

.­.­.

Noms de fichiers longs sur Windows 10

Ce n'est pas seulement lorsque vous utilisez npm sous Windows que vous rencontrez une limite vieille de près de 30 ans et qui limite les chemins d'accès aux dossiers et fichiers à un maximum de 255 caractères. Ce n'est pas NTFS qui est à blâmer ici, c'est LFN . Cela conduit à des bugs gênants et à une incompatibilité entre les systèmes d'exploitation. C'est une situation malheureuse à l'époque du WSL , mais heureusement, vous pouvez la corriger vous-même dans le registre depuis un certain temps déjà.

.­.­.

Laravel files d'attente sur localhost

Dans le framework PHP Laravel, en environnement de production, des processus comme le superviseur garantissent l'exécution des tâches stockées dans Redis , par exemple. Si vous souhaitez vous en affranchir totalement en local, vous pouvez utiliser le pilote de synchronisation pour exécuter les tâches immédiatement. Cependant, cette méthode présente l'inconvénient de bloquer le processus PHP en cours et de maintenir la requête en attente jusqu'à la fin de l'exécution de la tâche.

.­.­.

Conseil rapide: regroupez les objectifs dans Google Analytics

Grâce à la bibliothèque JavaScript analytics.js de Google Analytics, il est possible de suivre tous les événements sur les sites web. Ces événements incluent, par exemple, la mesure précise du temps passé sur la page, la profondeur de défilement maximale des visiteurs ou d'autres actions individuelles telles que la soumission de formulaires. Si vous souhaitez ensuite évaluer des campagnes publicitaires ou réaliser des tests A/B, vous créez des objectifs.

.­.­.

Invalidation pragmatique du cache

Le rendu côté serveur est désormais une pratique courante pour les sites web et les applications. Les navigateurs comme Google Chrome ont également tendance à mettre en cache autant que possible afin de minimiser les temps de chargement des requêtes suivantes. L'invalidation du cache des fichiers CSS, JS et images peut être réalisée à l'aide de `mod_pagespeed` , de l'en-tête de contrôle `Expires` / `Cache` , d'un manifeste de cache ou, plus pragmatiquement et directement, en ajoutant des paramètres personnalisés au nom de fichier.

.­.­.

Clés Bitbucket et SSH

Le fournisseur Bitbucket n'offre pas (même dans les tarifs Standard et Premium payants ) la possibilité de stocker des clés SSH avec droits d'écriture au niveau du référentiel. Le stockage de votre clé SSH personnelle sur le serveur de production n'est pas une option, sinon vous pouvez accéder à tous les autres projets sur lesquels vous travaillez actuellement à partir de là. Il existe des soi-disant clés d'accès , mais celles-ci n'autorisent que des droits de lecture.

.­.­.

Windows Sysinternals via un lecteur réseau

Les outils Sysinternals de Mark Russinovich sont indispensables pour tout ordinateur Windows. Pour disposer en permanence de la dernière version, mappez-la comme un lecteur réseau. Il suffit d'exécuter la commande `net use s: \\live.sysinternals.com\DavWWWRoot` dans l'invite de commandes (en tant qu'utilisateur normal). Vous bénéficierez ainsi d'un accès portable à des outils pratiques tels que PsList, PsKill et Process Explorer sur le lecteur S.

.­.­.

Astuce rapide: Google Sheets et les semaines de l'agenda

Lors de la sortie des semaines calendaires à une certaine date, vous devez être prudent dans Google Sheets (tout comme dans Microsoft Excel). La fonction = CALENDRIER SEMAINE (AUJOURD'HUI ()) calcule en utilisant la norme américaine, pour laquelle le premier jour de l'année est toujours affecté à la semaine calendaire 1. En Allemagne, cela est défini différemment: ici, la première semaine civile est la semaine à partir de laquelle au moins 4 jours entrent dans la nouvelle année. Dans Google Sheets, vous pouvez résoudre le problème (ainsi que d'autres alternatives intéressantes telles que = SHORTEN ((TODAY () - DATE (YEAR (TODAY () - REST (TODAY () - 2; 7) +3); 1; REST (TODAY ( ) -2; 7) -9)) / 7) et la modification = SEMAINE DU CALENDRIER (AUJOURD'HUI (); 21) ) facilement avec la fonction spécialement conçue = ISOWEEKNUM (TODAY ()) .

.­.­.

Certificats SSL auto-signés dans Chrome 58

Depuis Let's Encrypt , le chiffrement des sites web est devenu la norme. Les certificats SSL sont également quasiment indispensables en développement local (par exemple, navigator.geolocation requiert un chiffrement SSL local). Depuis la version 58 de Chrome, la prise en charge du CN (Common Name) a été abandonnée et le SAN (Subject Alternative Name) est désormais obligatoire. Par conséquent, Chrome n'accepte plus aucun certificat SSL créé selon les méthodes traditionnelles .

.­.­.

Deux fois l'âge de deux personnes

Considérons deux personnes \(A\) et \(B\) qui n'ont pas le même anniversaire, où \(A\) est plus jeune que \(B\) . Afficher : Il existe exactement deux constellations d'âge \(a,b \in \mathbb{N}\) pour lesquelles ce qui suit s'applique : \(2\cdot a = b\) . Nous définissons d'abord \(d \in \mathbb{R}^+\) comme la différence d'âge entre \(A\) et \(B\) à la naissance de \(A\) avec \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) . Nous considérons maintenant un temps arbitraire \(x \in \mathbb{R}^+\) après la naissance de \(A\) avec \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git et dossiers vides

Puisque Git ne connaît pas les dossiers, seuls les fichiers, les structures de dossiers vides ne se retrouvent pas dans le référentiel. Étant donné que de nombreux frameworks et projets en ont absolument besoin, ils devraient y aboutir. Une pratique courante consiste à créer des fichiers dits fictifs (souvent appelés .gitkeep), qui spécifient implicitement la structure des dossiers. Vous pouvez facilement créer ces fichiers et, si vous le souhaitez, vous assurer que les autres fichiers des dossiers sont ignorés.

.­.­.

Hébergement Node.js gratuit avec Heroku

L'hébergement pour Node.js n'est pas encore très répandu, en particulier dans les pays germanophones. La société américaine de cloud Heroku propose une solution ici - et même gratuitement . Vous remarquez toujours le paradigme "Construire des applications ... pas une infrastructure" et vous n'avez encore pratiquement aucune restriction. À titre d'exemple, nous implémentons un petit travail cron basé sur PhantomJS , qui supprime un site Web tous les jours et envoie le titre de la page par e-mail.

.­.­.

Fonction d'appairage de Cantor

En plus des arguments diagonaux , Georg Cantor a également développé la fonction d'appariement de Cantor \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , qui encode deux nombres quelconques \(x,y \in \mathbb{N}\) dans un nouveau nombre \(z \in \mathbb{N}\) . Par exemple, \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) un codage unique des nombres \(3\) et \(4\) dans le nombre \(31\) . Afficher: L'ensemble de valeurs \(\mathbb{W} = \mathbb{N}\) , c'est-à-dire \(z\) suppose tous les nombres naturels.

.­.­.

La terre et le pois

Considérez la terre (comme une sphère avec \(r_1 = 6370km\) ) et un pois (comme une sphère avec \(r_2 = 2mm\) ) et tendez une corde à travers l'équateur afin qu'elle repose fermement sur la surface. Rallongez maintenant les deux cordes d'un mètre chacune. Les deux câbles devraient maintenant se trouver complètement étendus au-dessus de l'équateur - mais ils ne sont plus complètement à la surface, mais flottent au-dessus de l'équateur. À quelle hauteur au-dessus de la surface la corde flotte-t-elle au-dessus de la terre, à quelle hauteur au-dessus du pois ?

.­.­.

Probabilités sur l'horloge analogique

Dans quel% du temps d'une journée les trois aiguilles d'une montre analogique se trouvent-elles dans la moitié droite du cadran? Tout d'abord, regardez l'aiguille des heures, qui se trouve sur le côté droit toutes les 12 heures sur 24 (50%). A partir de ce moment, l'aiguille des minutes sera sur le côté droit (25%) dans 6 heures sur 12. Sur ces 6 heures, la trotteuse passe 3 heures sur le côté droit (12,5%).

.­.­.

Laravel: travailler avec des relations éloquentes

Laravel facilite grandement la communication avec la base de données avec Eloquent. Lorsque vous travaillez avec des relations éloquentes, lorsque vous appelez des variables dynamiques (à l'aide des méthodes magiques de PHP), vous devez être conscient que les instances des modèles ne reflètent pas les nouvelles modifications, mais les mettent plutôt en cache de manière permanente lors du premier appel.

.­.­.

Bitbucket: supprimer le dossier de l'historique Git

Lors de l'hébergement de Git sur Bitbucket , il existe une limite stricte de 2 Go - si cette limite est dépassée, vous n'avez qu'un accès en lecture seule au référentiel. Pour éviter cela, vous pouvez, par exemple, supprimer rétroactivement de gros dossiers ou fichiers de vos commits. Mais dans d'autres cas également (si les données d'accès ont trouvé leur chemin dans l'historique ou si node_modules est passé à master à nouveau), vous devez manipuler rétroactivement l'historique de Git, contrairement à sa nature.

.­.­.

Intégrer le certificat SSL de DomainFactory sur IIS

À l'ère de Let's Encrypt, le chiffrement des sites web est devenu la norme. Toutefois, des certificats génériques ou étendus, avec une validation du propriétaire particulièrement fiable, sont souvent requis. DomainFactory propose des certificats SSL économiques, utilisables également en externe. Leur installation sur un serveur IIS actuel est possible sans CSR grâce à OpenSSL . Vous trouverez ci-dessous un bref aperçu des étapes nécessaires.

.­.­.

Stratégie gagnante paradoxale pour deviner les nombres

Thomas M. Cover a posé la question étonnante suivante en 1987 dans "Open Problems in Communication and Computation": Player \(X\) écrit deux nombres naturels différents et choisis au hasard \(A\) et \(B\) à deux différents Glissez du papier et posez-le face cachée sur une table. Le joueur \(Y\) sélectionne maintenant au hasard l'un de ces morceaux de papier, voit le nombre et doit maintenant décider si ce nombre est plus petit ou plus grand que l'autre nombre qui est toujours caché sur la table.

.­.­.

Football et algèbre linéaire

Lorsqu'un match de football commence, le ballon repose au centre du terrain et est ensuite déplacé sur le terrain pendant 45 minutes en se déplaçant et en tournant. Au début de la seconde mi-temps, le ballon est à nouveau au centre du terrain. Nous montrons avec des moyens simples d'algèbre linéaire que soit un nombre infini de points sur la surface sont toujours exactement dans la même position que dans l'état d'origine, soit exactement 2.

.­.­.

Laravel: débogage du modèle de lame

Lors du débogage des modèles de lame dans Laravel 5.*, vous recevez souvent des messages d'erreur dénués de sens pointant vers des vues mises en cache. Avant, tout allait mieux : la vue de débogage de la version 4 contenait des fonctions plus utiles et était également visuellement plus attrayante. Avec quelques lignes de code, vous pouvez récupérer cette fonctionnalité à l'aide de whoops (« Erreurs PHP pour les enfants cool »).

.­.­.

Affichage harmonieux des logos avec JavaScript

Qu'il s'agisse de références, de partenaires ou de clients - il existe de nombreux cas dans lesquels vous souhaitez afficher harmonieusement plusieurs logos les uns à côté des autres. Les proportions des logos sont pour la plupart incohérentes. Souvent, vous suivez votre instinct pour la représentation de la taille dans la conception, mais il existe également une méthode de calcul exacte pour une représentation visuellement attrayante en assimilant les zones des logos. Dans l'exemple suivant, vous pouvez le faire avec seulement quelques lignes de JavaScript.

.­.­.

Vérifier l'existence des variables PHP / JS

Lorsque vous travaillez quotidiennement avec des variables en PHP et JavaScript, on rencontre souvent la question de savoir si une variable est vide. Il est utile de connaître les fonctions natives et leurs différences à des fins de vérification. Malheureusement, il n'y a pas de moyen facile de vérifier intuitivement si une variable est présente ou non. La matrice ci-dessous clarifie ce que cela signifie. Cependant, ce que vous voulez peut être modernisé à l'aide de petites fonctions d'assistance.

.­.­.

Appels téléphoniques massifs avec sipgate.io

Avec sipgate.io, Sipgate a créé une API cloud passionnante avec laquelle on dispose d'une multitude d'options pour la téléphonie Internet. Un compte est gratuit, et il est également possible de définir gratuitement n'importe quel numéro d'expéditeur gratuit dans le Feature Store. La documentation de sipgate.io est toujours extensible, mais avec un peu de lecture dans l' API officielle de Sipgate, on peut rapidement réaliser des choses passionnantes.

.­.­.

Récursivité en SQL

Les systèmes de gestion de bases de données relationnelles basés sur SQL ne sont que partiellement adaptés aux requêtes hiérarchiques ou récursives. D'autres systèmes, comme ArangoDB, sont plus performants dans ce domaine (une excellente présentation à ce sujet a eu lieu lors de la conférence GOTO 2016 ). Il est toutefois possible de créer des requêtes récursives en SQL à l'aide des expressions de table communes (CTE) , ce qui permet, par exemple, d'interroger des tables parent/enfant classiques pour obtenir tous leurs ancêtres et descendants.

.­.­.

WordPress: désactiver les pages d'archives

Selon w3techs.com , environ 27,4% de tous les sites Web dans le monde sont actuellement exploités avec l'aide de WordPress. Dans de très nombreux cas, ce ne sont pas des blogs. WordPress génère automatiquement de nombreuses URL souvent inutilisées et produit tellement de liens indexés par Google que l'exploitant du site Web n'avait même pas à l'écran. Tout cela peut être désactivé avec une simple commande.

.­.­.

Renommer les champs de formulaire PDF en bloc

Si, comme moi, vous avez la difficulté à renommer des milliers de noms de champs de formulaire, la console JavaScript incluse dans Acrobat est idéale. En cela, vous pouvez non seulement exécuter n'importe quel code JavaScript, mais également accéder à tout le contenu du PDF (y compris les champs de formulaire). Puisqu'il n'y a pas de fonction native pour renommer dans l'API JS, les champs de formulaire avec toutes leurs propriétés sont copiés et créés avec un nouveau nom.

.­.­.

Shopware: réparer les modifications de variantes

Dans Shopware 5, un problème connu n'a toujours pas été résolu: si vous créez un article avec des variantes interdépendantes avec des options de configuration mutuellement exclusives, il peut arriver que certaines combinaisons ne puissent pas être sélectionnées dans le front-end et ne puissent donc pas être commandées. Avec l'aide d'un plugin, le problème peut être facilement résolu pour le moment.

.­.­.

Une ligne pour l'infini des nombres premiers

Il existe de nombreuses preuves de l'infinité des nombres premiers - le théorème d'Euclide bien connu du Livre des éléments ne manque dans aucun cours de théorie des nombres de base. Dans l' American Mathematical Monthly (numéro 122) en 2015, Sam Northshield a publié une preuve de contradiction non moins élégante sous la forme d'un one-liner, que je ne veux pas vous cacher (avec de brefs commentaires).

.­.­.

Égayez la ligne de commande Windows

L'invite de commande Windows terne peut être mise à niveau visuellement en quelques étapes simples. Ainsi, vous pouvez non seulement ajuster la couleur et la taille de la ligne de commande, mais aussi l'étendre fonctionnellement (en augmentant le tampon, en installant un grand ensemble d'outils UNIX). Bien que l'invite de commande ne se rapproche pas de PowerShell 6.0 ou du nouveau Windows 10 Bash Shell , elle n'a pas besoin de se cacher pour les tâches quotidiennes.

.­.­.

URL dynamiques dans Joomla

Dans les systèmes de gestion de contenu, les URL ne sont généralement pas prédéfinies et ne sont donc pas créées statiquement (comme les articles ou les éléments de menu), mais accèdent plutôt à des objets de la base de données. À l'instar de WordPress ( comme décrit ici ), il est également possible de créer des structures d'URL dynamiques dans Joomla (indépendamment du système d'alias interne). Ceci peut être réalisé soit avec JRouter , soit avec une simple ligne de code dans le fichier .htaccess.

.­.­.

Coller JavaScript

Les navigateurs modernes peuvent utiliser JavaScript pour accéder au presse-papiers de l'utilisateur et le manipuler, en lecture comme en écriture. La technologie sous-jacente n'est pas nouvelle, mais ce n'est que récemment que des attaques (connues sous le nom de « pastejacking ») ont émergé en ligne, exploitant cette fonctionnalité au détriment d'utilisateurs non avertis. L'implémentation de cette fonctionnalité en JavaScript est relativement simple.

.­.­.

Permuter les colonnes dans PostgreSQL

L'échange de colonnes de table SQL fait partie du répertoire standard avec MySQL - ce n'est pas (encore) pris en charge avec PostgreSQL. Bien que le wiki officiel consacre son propre article au problème, il ne présente aucune solution pratique prenant également en charge les vues, les index et les déclencheurs. La classe suivante effectue ce travail (pour MySQL et PostgreSQL) soit sur la ligne de commande - soit directement dans Laravel 5.

.­.­.

Astuce rapide pour l'Explorateur Windows

Si vous souhaitez ouvrir rapidement l'invite de commande dans un dossier de l'Explorateur Windows, cliquez sur (un niveau supérieur) avec le bouton droit de la souris et maintenez la touche Maj enfoncée sur le dossier, puis sélectionnez «Ouvrir l'invite de commande ici» dans le menu contextuel. Je viens de découvrir une autre méthode plus rapide lorsque vous êtes à l'intérieur du dossier: Ici, vous cliquez sur le chemin du dossier actuel, tapez "cmd" et confirmez avec Entrée.

.­.­.

Catégories WordPress: arborescence / héritage

Lorsque vous travaillez avec des catégories hiérarchiques (taxonomies) dans WordPress, vous constaterez que l'affichage des catégories sélectionnées dans l'interface d'administration peut prêter à confusion, et que les articles ne sont pas automatiquement placés dans leur catégorie parente lorsqu'ils sont déplacés vers une sous-catégorie. Ces deux problèmes peuvent être facilement résolus en quelques lignes de code grâce au puissant système de hooks (sous la forme d'une action et d'un filtre).

.­.­.

PHP 7 et l'opérateur de vaisseau spatial

En plus de nouvelles fonctionnalités telles que l' indication de type pour les types de données scalaires ou des performances optimisées , PHP 7 apporte également de nombreuses nouvelles extensions de langage utiles. Le "Spaceship Operator" a finalement fait son entrée dans le monde de PHP (les programmeurs Ruby et Perl le connaissent depuis longtemps). \($a <=> $b\) renvoie \(0\) si et seulement si les deux opérandes sont égaux, \(1\) si celui de gauche est plus grand et \(-1\) sinon.

.­.­.

Délai d'expiration de FastCGI pour IIS 7.5 PHP

Si vous intégrez PHP via FastCGI sur IIS 7.5, chaque script est abandonné par défaut après 600 secondes (soit 10 minutes). Changer la variable bien connue "max_execution_time" dans php.ini n'a aucune influence sur cela ; vous devez (également) ajuster les paramètres FastCGI. À cet effet, IIS propose une interface pratique pour gérer les variables pertinentes.

.­.­.

Paradoxe de la stochastique

La théorie conditionnelle des probabilités apporte de belles tâches avec des solutions contre-intuitives. En plus du problème bien connu des frères et sœurs , je vais maintenant aborder brièvement un autre exemple: "J'ai maintenant deux enfants. L'un d'eux est un garçon et est né un jeudi. Quelle est la probabilité que l'autre enfant soit aussi un garçon?"

.­.­.

Git, Shopware et dossiers vides

Le système de contrôle de version de fichier Git est léger, rapide et portable. Git gère toujours les objets, à savoir les fichiers. Les dossiers ne sont créés que s'ils contiennent des fichiers, sinon Git ne les enregistrera même pas. Cela a des effets secondaires désagréables dans certains projets. Par exemple, le système de boutique Shopware repose sur le strict respect de la structure des dossiers pour fonctionner.

.­.­.

Shopware: frais d'expédition individuels

Shopware dispose d'un puissant module de frais de port que vous pouvez spécifiquement intervenir dans le calcul. Dans notre cas, nous souhaitons mettre en œuvre le scénario suivant: Les frais de port par article sont initialement déterminés en fonction du poids de l'article (les limites de poids sont précisées). Uniquement pour des exceptions spéciales, il devrait être possible de fixer des frais d'expédition fixes pour chaque article.

.­.­.

Permaliens dynamiques dans WordPress

Le système de permalien WordPress peut très bien être adapté à vos propres besoins à l'aide de balises de structure . Le paramètre% postname% est probablement la solution la plus courante et la plus pratique. Cependant, si vous souhaitez implémenter de vrais liens dynamiques, vous devez d'abord étendre le système avec votre propre code.

.­.­.

Liens hypertexte corrompus dans Word et Excel

On pourrait s'attendre à ce que l'ouverture d'un lien hypertexte depuis un document Word/Excel lance le navigateur par défaut avec l'URL souhaitée. Curieusement, ce n'est pas le cas, ce qui entraîne des effets indésirables et rend impossible l'ouverture de liens vers des pages protégées par authentification (session ou cookies) dans ces applications Office.

.­.­.

Un paradoxe pour la fête des pères

Pour la fête des pères d'aujourd'hui, une fille offre à son père un tableau qu'elle a peint elle-même, ce que son père avait désiré. La fille dit: "Je vais vous donner la photo que vous avez souhaitée et mon cadeau sera une surprise". Le père est surpris et s'interroge sur la vérité de cette déclaration.

.­.­.

Intégrez des scripts dynamiques avec et sans HTTPS

Si vous incluez des scripts non chiffrés dans la zone <head> et que vous appelez une page avec un certificat SSL existant chiffré, ces scripts sont bloqués et ne sont donc pas exécutés. Si vous omettez simplement le protocole, tous les scripts sont automatiquement appelés sous forme cryptée si le site Web est accessible via https: // - sinon non crypté.

.­.­.

Convivialité dans les menus déroulants

Lorsqu'on travaille avec des menus déroulants multidimensionnels, il arrive fréquemment d'ouvrir accidentellement le mauvais sous-menu ou de fermer accidentellement le sous-menu souhaité. Cela se produit lorsque le curseur de la souris quitte le menu principal pendant la navigation vers un sous-menu déjà développé.

.­.­.

Shopware: désactiver automatiquement les variantes

Dans Shopware , l'article entier est désactivé en cas de commande réelle si toutes les variantes ont un niveau de stock inférieur ou égal à 0. Afin de l'implémenter sur une base de variante, j'ai programmé un petit plugin, le Bootstrap.php que je fournirai ci-dessous.

.­.­.

Requête double mot de passe avec SSL

Le scénario suivant entraîne systématiquement un effet secondaire indésirable : si vous protégez votre site avec .htaccess/.htpasswd et imposez simultanément une connexion SSL, vous devez saisir le même mot de passe deux fois (une fois pour HTTP et une autre fois pour HTTPS après une authentification réussie). Ce problème peut être facilement résolu grâce aux sections de configuration introduites dans Apache 2.4.

.­.­.

Chaînes multilignes en JavaScript

Lors de la programmation avec JavaScript, on tombe souvent sur l'incapacité d'implémenter des chaînes multilignes en les saisissant sur plusieurs lignes dans le code. Bien que la tâche dans d'autres langages tels que PHP ou Ruby ne pose pas de problème, avec JavaScript, vous ne pouvez initialement vous contenter que de solutions de contournement, dont l'utilisation est décidée par les goûts personnels ou le support du navigateur.

.­.­.

mail () en PHP avec UTF-8 et trémas

L'envoi d' e-mails avec PHP est mieux implémenté avec des classes puissantes telles que PHPMailer . Des fonctions d'encapsulation pratiques permettent d'utiliser le contenu UTF-8, d'intégrer des images et d'envoyer des pièces jointes cryptées avec seulement quelques lignes de code. Si vous voulez vous épargner la surcharge et utiliser la fonction PHP mail () contrairement à la recommandation, vous rencontrerez des problèmes lors de l'utilisation des trémas et UTF-8 au plus tard.

.­.­.

Google PageSpeed ​​Insights vs. Google Analytics

Les outils de validation comme le service de validation de balisage du W3C ou Google PageSpeed Insights sont utiles pour évaluer objectivement le code et les performances d'un site web. Google, en particulier, influence tout un secteur avec des concepts comme le « contenu visible au chargement de la page » et établit également des directives strictes mais pertinentes concernant la compression et la mise en cache des images. Cependant, ce faisant, Google peut parfois se piéger lui-même.

.­.­.

Bienvenue JavaScript 2.0

JavaScript domine le web et ECMAScript, le cœur du langage, arrive à maturité. La nouvelle spécification (ES6 ou JS2), attendue pour le milieu de l'année, apporte de nombreuses innovations déjà testables. Firefox offre actuellement la meilleure prise en charge , mais des polyfills via des transpileurs comme Google Traceur sont également possibles. Voici un bref aperçu des nouvelles fonctionnalités d'ES6.

.­.­.

0,99999... = 1?

Que ce soit à l'école ou à l'université: Une question intéressante qui \( 0,99999... = 1 \) temps inclut la question de savoir si l'équation suivante est vraie: \( 0,99999... = 1 \) . Bien que l'infini \(0,99999... = A\) dans la partie gauche de l'équation, nous lui donnons un nom: \(0,99999... = A\) . Après multiplication par le facteur \(10\) et de simples transformations algébriques, nous obtenons un premier aperçu étonnant.

.­.­.

SQL: performances médiocres malgré l'index

Je viens d'être confronté au problème de performance suivant d'une base de données SQL: Dans une table SQL appelée "users" avec ~ 1 000 000 entrées, il a fallu 28 secondes inacceptables pour déterminer le nombre d'enregistrements aujourd'hui. Les heures des inscriptions ont été sauvegardées au format «Ymd H: i: s» dans la colonne «créé».

.­.­.

Petit problème d'échecs

En plus du problème bien connu des chevaliers et des reines, il existe de nombreuses autres questions passionnantes dans le monde des échecs. J'ai abordé deux petites curiosités dans une précédente entrée de blog . Si vous traitez mathématiquement des problèmes d'échecs, vous découvrirez rapidement que les mathématiques fournissent des réponses très simples et éclairantes à de nombreuses questions.

.­.­.

Fichiers disponibles en ligne avec OneDrive

Si OneDrive, Dropbox, Google Drive, OwnCloud, Box.net: Indépendamment de la boîte dans laquelle vous stockez vos fichiers, les services sont presque les mêmes. Les clients disponibles pour tous les systèmes de bureau et mobiles, les fichiers non chiffrés standard et les options de partage ne diffèrent que marginalement. Mais le OneDrive, qui a été intégré en permanence dans le système depuis Windows 8.1, a une particularité: seuls les fichiers disponibles en ligne.

.­.­.

PHP: accès aux fichiers avec des trémas sous Windows

Les fichiers sur les serveurs web doivent toujours être stockés sans espaces (et non « ceci est une image.jpg »), sans trémas ni caractères spéciaux (et non « football.jpg »), sans barres obliques inverses (et non « travail\voiture.jpg ») et en minuscules (et non « test.JPG »). Récemment, cependant, dans le cadre d'un projet client, j'ai dû accéder à un grand nombre de fichiers prédéfinis aux noms arbitraires et les traiter.

.­.­.

Requête SQL pour déterminer une liste de classement

Aujourd'hui, je suis tombé sur la tâche suivante en travaillant sur un projet client : prenez une table SQL "user" avec les colonnes "id" et "score" et déterminez une liste de classement de tous les utilisateurs, triés en fonction du "score", dans laquelle les utilisateurs avec le même score obtiennent le même classement. En utilisant des variables définies par l'utilisateur, cette tâche peut être résolue de manière intuitive et simple.

.­.­.

SDK Facebook: vérifiez les jetons côté serveur

Lorsque vous travaillez avec le SDK Facebook (plus précisément lors de la mise en œuvre d'une fonction de connexion Facebook dans une interface REST), le jeton transmis que le client a reçu de Facebook doit d'abord être vérifié par le serveur pour vérifier sa validité avant que d'autres opérations ne soient effectuées. .

.­.­.

Chrome DevTools: adressage des éléments DOM

Que ce soit Chrome, Firefox, Opera, Safari ou même Internet Explorer: alors que les outils de développement bien conçus étaient un argument de vente unique de Firefox et du populaire plug-in Firebug jusqu'à il y a quelques années, de puissants outils de développement font désormais partie de la portée standard de chaque navigateur, dans lequel il y a beaucoup à découvrir. donne.

.­.­.

Accès au système de fichiers via SQL

J'ai récemment découvert une méthode astucieuse pour accéder au système de fichiers et récupérer des informations précieuses, comme l'existence de fichiers et de dossiers, ainsi que leur contenu. Cette méthode peut s'avérer très utile comme alternative à la fonction PHP ` file_exists` , car les informations relatives à l'existence des fichiers peuvent être utilisées dans la requête pour des fonctions de tri et d'agrégation ultérieures.

.­.­.

Arrière-plans animés avec toile

Les arrière-plans vectoriels animés peuvent ajouter de la variété à un paysage Web caractérisé par des photos et des vidéos en plein écran. Ce serait bien si cela allait de pair avec des temps de chargement et un large support matériel et logiciel. Une solution est: la toile. L'élément HTML contrôlé par JavaScript est pris en charge par tous les navigateurs actuels et reproduit avec des performances élevées sur les appareils mobiles.

.­.­.

Rapport hauteur / largeur fixe pour les éléments HTML

En tant que développeur Web, vous vous retrouvez souvent confronté au dilemme de travailler avec des éléments HTML qui, contrairement à l'élément img par exemple, n'ont ni une taille ni un rapport hauteur/largeur fixe. Souvent, vous souhaitez vous assurer que ces objets se comportent de manière réactive, mais que la proportion entre la largeur et la hauteur est conservée. Par défaut, CSS ne propose pas ici de solution intuitive. Mais avec l'aide de la propriété de remplissage vertical, vous pouvez atteindre votre objectif.

.­.­.

Décision du tribunal sur l'utilisation de photos d'archives

Après que le tribunal régional de Cologne soit revenu sur sa décision la semaine dernière dans le scandale RedTube et n'aurait jamais dû autoriser la publication des adresses IP controversées, il a maintenant rendu une autre décision très controversée et contestable avec la décision 14 O 427/13 : L'auteur des photos d'une agence d'images spécifique doit également être nommé lorsque ses images sont consultées directement via leur URL.

.­.­.

Au revoir Block & Inline - Bienvenue HTML5

Les innovations de la spécification HTML5 sont nombreuses et beaucoup d'entre elles sont déjà prises en charge par la majorité du paysage des navigateurs - je voudrais souligner ci-dessous un changement intéressant dans les règles d'imbrication des éléments. HTML a toujours fait la distinction entre les éléments en bloc et les éléments en ligne. Par exemple, la définition de type de document HTML4 répertorie h1, p et div comme éléments de bloc et a, span et img comme éléments en ligne.

.­.­.

Journalisation HTTP sur IIS et Apache

Apache sur Unix et IIS sur les systèmes Windows enregistrent les requêtes HTTP prêtes à l'emploi sous forme de fichier. Pour vous protéger contre les attaques de piratage, les requêtes adressées à votre propre site Web doivent être régulièrement évaluées et analysées manuellement et automatiquement (par exemple à l'aide d'analyseurs de fichiers journaux tels que AWStats ). Par exemple, dans les configurations largement utilisées, les chemins des fichiers journaux pertinents sont les suivants:

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

Joomla, IIS et les droits d'annuaire

Lors de l'intégration de Joomla 3.2 sur un Windows Server 2008 R2 avec IIS 7.5, des problèmes de droits de répertoire surviennent souvent, qui sont souvent mal résolus avec des paramètres trop généreux. La solution suivante est sûre et entièrement fonctionnelle:

  • Le groupe IIS_IUSRS a besoin des droits pour C: \ inetpub \ wwwroot \: lire et exécuter, afficher le contenu du dossier, lire, écrire
  • Le groupe IIS_IUSRS a besoin des droits pour C: \ Windows \ Temp \: Read & Execute, Show folder contents, Read, Write
  • L'utilisateur IUSR doit être dans le groupe IIS_IUSRS (Gestion de l'ordinateur> Utilisateurs et groupes locaux> Groupes)

Si vous avez besoin de droits de répertoire spéciaux supplémentaires (par exemple pour SSH ou FTP) pour tous les fichiers téléchargés via PHP, vous devez également les définir pour le dossier C:\Windows\Temp\. Si vous téléchargez un fichier via PHP, PHP copie d'abord ce fichier dans le chemin temporaire, puis dans le chemin final. Si le fichier s'est retrouvé dans le répertoire temporaire, il hérite de ses droits et les conserve après avoir été déplacé vers le répertoire final.

.­.­.

Anonyme en ligne: impossible?

À l'heure du scandale de la NSA, ce ne sont pas seulement les utilisateurs avertis des réseaux qui se demandent si et comment on peut naviguer sur Internet de manière anonyme afin d'échapper à la frénésie de collecte de données des autorités et des services secrets. Cependant, cela conduit souvent à des erreurs et à des hypothèses incorrectes. Une idée fausse centrale est la réduction de l'anonymat à l'obfuscation de l'adresse IP.

.­.­.

McFIT - nouveau logo, nouvelle image

La chaîne de fitness discount McFIT se donne un nouveau visage. Alors qu'une mascotte jaune vif en forme de banane ornait autrefois le lettrage bleu, aujourd'hui un nœud jaune sur un fond anthracite s'enroule habilement pour former une structure abstraite. Les couleurs FDP bleu et jaune apparaissent non seulement sur le logo, mais également sur tous les autres articles imprimés de la marque McFIT.

.­.­.

Photoshop: voyagez dans le temps

Lorsque les frères Thomas et John Knoll ont commencé à développer Adobe Photoshop en 1987, je n'étais pas encore né. Aujourd'hui, en 2013, le logiciel est l'un des programmes les plus populaires en général et est considéré comme le leader incontesté dans le secteur de l'édition d'images. Grâce à Adobe et au Computer History Museum, le logiciel sera désormais conservé pour la postérité sous une forme très particulière.

.­.­.

Curiosités dans le jeu des rois

Les échecs fascinent les gens depuis des siècles - ses règles sont faciles à apprendre et son incroyable profondeur n'est accessible qu'aux joueurs expérimentés (malheureusement, je n'en fais pas partie). Dans ce qui suit, je traiterai de deux brèves questions: est-il possible, grâce à une séquence correcte de mouvements, d'arriver à une position dans laquelle le roi noir est attaqué par deux reines blanches en même temps? Est-ce également possible avec deux tours blanches?

.­.­.

Docu-soap au lieu de blockbuster: 48 ips

Les films sont généralement enregistrés et lus à 24 images complètes par seconde - mais le format standard « 24p », vieux de presque 100 ans, semble vaciller. Afin d'éviter les effets secondaires désagréables (par exemple les fortes secousses lors d'un panoramique de caméra moyennement rapide) de la projection à 24 ips, des travaux sont en cours depuis longtemps pour doubler la fréquence d'images à 48 images par seconde et plus.

.­.­.

Vérifier l'orthographe sur les sites Web

Les vérifications automatisées de l'orthographe et de la grammaire font désormais partie de l'équipement standard des programmes de traitement de texte - mais la vérification automatique de l'orthographe d'un site Web a été relativement fastidieuse jusqu'à présent. Google Chrome fait un premier pas dans cette direction avec une vérification intégrée dans les champs de saisie multilignes (textarea). Il existe maintenant un service qui rend cela possible pour des sites Web entiers.

.­.­.

Numéros de téléphone dans les liens - un risque pour la sécurité?

Il y a quelques semaines , j'ai expliqué comment vous pouvez permettre à vos visiteurs d'ouvrir l'application de téléphone sur des appareils mobiles en appuyant sur un numéro de téléphone. Une possibilité est maintenant apparue de verrouiller irrévocablement la carte SIM ou de réinitialiser l'appareil aux paramètres d'usine sans que l'utilisateur n'ait à faire quoi que ce soit.

.­.­.

Curiosités de courrier électronique intéressantes

Les noms de domaine et les adresses e-mail doivent-ils toujours être en minuscules pour être sûr d'arriver là où vous voulez aller ? Ou est-ce totalement hors de propos ? Les serveurs de messagerie de Google, par exemple, ont des paramètres étranges avec des effets intéressants, que je présenterai brièvement ci-dessous.

.­.­.

Conception des cours boursiers dans les thèmes quotidiens

Je suis de près la conception de divers programmes à la télévision allemande. Presque aucune émission ne conserve sa conception d'entreprise de manière permanente. Le rituel de tous les soirs de la réunion devant l'écran de télévision à 22h15 sur les sujets du jour m'a fait mal au ventre ces derniers temps: un jeu de couleurs complètement déroutant a été choisi depuis plusieurs mois lorsque les cours boursiers actuels sont présentés.

.­.­.

Associez correctement les numéros de téléphone

Si vous optimisez votre propre site Web pour les appareils mobiles, vous devez non seulement prêter attention aux différentes tailles d'écran, aux temps de chargement optimisés et aux fonctionnalités spéciales en fonctionnement (telles que les effets de survol), mais également prendre en compte les capacités particulières des appareils. Cela inclut également (certaines personnes l’ont peut-être oublié) les appels téléphoniques.

.­.­.

Dupliquer du contenu sur les blogs

Google pénalise souvent les contenus identiques sur plusieurs sites web. Cependant, son algorithme est intelligent et sait reconnaître si les éléments de l'en-tête et du pied de page sont cohérents ou si des passages de texte entiers sont accessibles deux fois sous des URL différentes. La question de la manière dont Google gère les pages de présentation des articles de blog est particulièrement intéressante.

.­.­.

Augmentez la sécurité de WordPress

La sécurité de WordPress, actuellement le système de gestion de contenu le plus populaire, peut être considérablement améliorée en modifiant deux paramètres mineurs. Cela ne prend que 5 minutes et deux lignes de code. Bien que ce problème puisse également être résolu à l'aide de divers plugins, je me limiterai volontairement ici aux solutions sans plugin.

.­.­.