Das Doomsday-Argument

Unter der Annahme, dass die Anzahl \(Y\) aller Menschen, die jemals geboren wurden und irgendwann geboren werden, begrenzt ist, sei \(x\) Deine absolute Position vom Beginn der Liste. Dann ist \(0 < \frac{x}{Y} \leq 1\). Wir können nun mit einer Wahrscheinlichkeit von \(95\%\) sagen, dass Du unter den letzten \(95\%\) aller jemals geborenen Menschen bist, also \(0,05 < \frac{x}{Y} \leq 1\) und damit \(Y < \frac{x}{0,05} = \frac{100 \cdot x}{5} = 20 \cdot x\).

.­.­.

Dryckesparadox

Följande mening är känd som "drickarens paradox": "Det finns någon på puben så att om han eller hon dricker, då dricker alla på puben." Det spelar ingen roll om den ena personen uppmuntrar andra att dricka eller om det finns någon annan bakdörr, som vi kommer att se om ett ögonblick. Det är ett fint exempel från matematisk första ordningens logik.

.­.­.

Gissning av siffror

En pojke tänker på ett nummer som är \(1\) , \(2\) eller \(3\) och en tjej får då bara ställa en fråga om det numret. Pojken kan bara svara " Ja ", " Nej ", eller " Jag vet inte" . Genom ett smart förhör lyckas flickan namnge rätt nummer som pojken tänkte på efter att pojken har svarat henne. Vad är din fråga?

.­.­.

Föremål utan ursprung

Föreställ dig att du en dag får ett mystiskt paket utan avsändare. Nyfiken öppnar du paketet och hittar en ring som du ger till din dotter. Decennier senare är det hon som kan använda ett maskhål för att skicka föremål tillbaka i tiden. Det gör hon med ringen som du en gång gav henne, inslagen i ett paket som hon adresserar till dig. Frågan är: var kommer ringen ifrån?

.­.­.

CI med GitHub Actions

Som ett alternativ till den högt värderade Travis CI har GitHub Actions också funnits tillgänglig sedan en tid tillbaka.Som ett kontinuerligt integrationsverktyg är det mycket väl integrerat på GitHub-kodplattformen och är nu mycket stabilt. GitHub-åtgärder är baserade på YAML-konfigurationsfiler placerade i arkivet där arbetsflödet ska köras.

.­.­.

Steins paradox

1961 publicerade James och Stein tidningen Estimation with Quadratic Loss . Ta normalfördelade data med ett okänt medelvärde \(\mu\) och varians \(1\) . Om du nu väljer ett slumpmässigt värde \(x\) från dessa data och måste uppskatta medelvärdet \(\mu\) utifrån detta, är \(x\) intuitivt en rimlig uppskattning för \(\mu\) (eftersom en normalfördelning finns, är den slumpmässigt valda \(x\) förmodligen nära \(\mu\) ).

.­.­.

Åtkomst med PHP till Exchange/Office 365

Länge meddelat - nu verklighet : Microsoft har stängt av autentisering med lösenord för vissa protokoll i Exchange Online från september 2022 till förmån för oAuth2. GitHub-problemen i många bibliotek och säkerhetskopieringsskript gör det klart att övergången överraskade många administratörer. Nedan visar vi ett sätt hur du kan fortsätta komma åt innehållet i din Exchange-postlåda med hjälp av oAuth2 via PHP via IMAP.

.­.­.

UUID i databaser

UUID (Universellt unika ID -enifierare) är 128-bitars värden som bland annat används i databaser för att unikt identifiera tabellposter. De representeras som en hexadecimal sträng uppdelad i fem grupper separerade med bindestreck (exempel: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). Det finns talrik Diskussioner om fördelarna och nackdelarna med UUID i databaser - de är oumbärliga i distribuerade system.

.­.­.

Rensa upp Git-historik del 2

Känslig data eller för mycket minnesförbrukning: Det finns goda skäl att vilja ändra Git-historiken. I det här blogginlägget förklarade jag hur man rensar filer från Git-historiken med BFG . En svag punkt med BFG är bristen på stöd för direkta sökvägar , så du kan inte specifikt ta bort filer eller mappar i undermappar från historiken. Med det är det dags att titta på alternativa lösningar.

.­.­.

Minnesgräns i WordPress

tl;dr: Manuellt inställt värde eller standardvärdena för WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT har ingen effekt om WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT mindre än eller lika med minnesgränsen för PHP (nedan memory_limit kallas) är. De används för att ställa in för låga värden på memory_limit dynamiskt till ett rekommenderat minimum.

.­.­.

Snabbtips: Ändra iframe

Om du bäddar in en iframe från tredje part (som en widget) kan du inte komma åt dess innehåll med vare sig CSS eller JavaScript (på grund av den så kallade same-origin policy ). Det finns dock en mycket enkel procedur för att modifiera valfri kod (även i andra filer som laddas om i iframen). För att göra detta dirigerar du URL:en genom din egen PHP-proxy och ändrar innehållet som du vill.

.­.­.

Mynt i ANTON-appen

ANTON är en av de mest populära inlärningsapparna för elever i årskurs 1-10. Klass. Vid en första anblick kan gamification-aspekten med att skaffa mynt ("mynt") tyckas konstigt för vuxna – men det multiplicerar märkbart motivationen, inte bara hos mina barn. Det sparar till och med en liten "kudde" av mynt som du inte rör.

.­.­.

Om robustheten hos IBAN

Det tyska IBAN består som bekant av landskoden (DE), en tvåsiffrig kontrollsiffra (enligt ISO 7064 ), bankkoden (8-siffrig) och kontonumret (inklusive underkontonummer, 10 -siffra, saknade siffror fylls med inledande nollor) och är därför 22 -siffriga. För att beräkna kontrollsiffran bildas det så kallade BBAN (bankkod och kontonummer) samt den numeriska landskoden \(1314\) för Tyskland och kontrollsiffran \(00\) ).

.­.­.

Matematik i spelet Dobble

Vid den sista familjekvällen togs spelet Dobble (i Harry Potter Edition) entusiastiskt fram till bordet av barnen. Efter den 5:e förlorade omgången (utan synlig träff av mitt kort med spelkortet) fick jag till min förvåning höra att varje spelare alltid kan hitta en träff i varje runda. Men min misstro erkändes bara med ytterligare förlorade varv - barnen var helt enkelt snabbare.

.­.­.

Bitcoin blockeringstid

Du vet: Den förväntade tiden mellan två Bitcoin-block är i genomsnitt \(10\) minuter. Nu gör du en viktig Bitcoin-transaktion och väntar ivrigt på att se om och när den dyker upp i nästa block:

e50bfacc95975a4e7545d83d8954645f

.­.­.

Corona matematik

I RKI:s veckorapport 2021-11-11 står det på s. 22 att \(36\%\) de över 60-åriga coronapatienterna på intensivvårdsavdelningen redan var helt vaccinerade. I denna åldersgrupp var \(87\%\) helt vaccinerade vid denna tidpunkt (se sid. 18).

.­.­.

Beräkning av SIstrix synlighetsindex

Tillsammans med Xovi är SISTRIX- verktyget det mest använda analysprogrammet i Tyskland inom SEO-området. Synlighetsindexet har etablerat sig som en kvasistandard för synligheten av en sida i Google-sökning. Parametrarna som ingår i dess beräkning förklaras till exempel här och här och här och här och här , men en exakt beräkningsformel är inte officiellt publicerad. Följande är resultaten av min sex månader långa personliga forskning, som inte gör anspråk på att vara komplett eller korrekt.

.­.­.

Decimalbråk

Finita decimaltal kallas decimalbråk, eftersom de är en annan representation för bråk med tiopotenser i nämnaren. Så är det:

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

med \(k \in \mathbb{N}\) och \(q_k\) \(k-1\) -th platsen till höger efter kommatecken.

.­.­.

Snabbtips: Ändra nodversionen automatiskt

Användning av nvm rekommenderas för snabb installation och byte av nodversioner. Om du vill uttryckligen ange den nödvändiga nodversionen i ett projekt lägger du in en fil som heter .nvmrc med det exakta versionsnumret (t.ex. "12.10.0") i samma mapp som package.json finns i. Om du nu byter till mappen kör följande filtillägg för filen ~ / .bash_profile for bash kommandot nvm -användning , som automatiskt ställer in denna version:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

Använd containerfrågor idag

Ända sedan det har varit responsiv webbdesign har utvecklare frågat om möjligheten att designa DOM -element baserat på deras faktiska storlek och inte på storleken på visningsporten i webbläsaren (med hjälp av mediefrågor ). Faktum är att containerfrågor (ursprungligen elementfrågor) förmodligen är den mest efterfrågade CSS -funktionen som webbläsare fortfarande inte har .

.­.­.

Rensa upp Git -historien

Känslig data som lösenord bör finnas i .env -filer och, om möjligt, inte hamna i Git -arkiv. Men det har förmodligen hänt oss alla minst en gång av misstag: Snabbt publicerat ett trevligt Google Maps JS API -skriptGitHub Gists (som "offentligt") utan att oavsiktligt dölja vår egen privata Maps API -nyckel.

.­.­.

Klipp ut SVG från bilder med klippväg

Om du vill klippa ut en bild med hjälp av en SVG, rekommenderas användning av CSS-egenskapens klippväg . Följande skript utlöser ojämna hinder: SVG kan sparas med hjälp av Illustrator, du kan ange (relativ eller absolut) URL till en SVG (Chrome stöder hittills endast inbyggt SVG) och halsen är också helt lyhörd.

.­.­.

Snabbtips: WP_Query & Multi-Line Fields

Med hjälp av meta_query -attributet i den kraftfulla WordPress WP_Query -klassen kan inlägg filtreras som har vissa värden i sina metafält. Om du har skapat ett metafält med flera rader (t.ex. med hjälp av avancerade anpassade fält ) och bara vill hitta inlägg som innehåller ett visst värde i detta fält åtskilda av radbrytningar, rekommenderas REGEX-världen i MySQL.

.­.­.

Integrera Adobe Animate-animationer naturligt

I en tidigare artikel beskrev jag hur man enkelt kan integrera animationer från Adobe Animate till en webbplats via omvägen till en APNG-export. Det finns också det inhemska sättet via HTML5-kanvasexporten , men den som redan har arbetat med den kommer att upptäcka att den sitter fast vid alla vinklar och kranar (otillräckligt responsivt stöd, besvärlig integration i en befintlig webbplats, inga olika bildhastigheter per animation, etc.).). Biblioteket adobe-animate-embed ger ett botemedel här.

.­.­.

Google Maps utan API-nyckel

Normalt arbetar du med Maps JavaScript API när du integrerar Google Maps, vilket kräver en API-nyckel och kan orsaka kostnader som inte bör underskattas med högre åtkomstnummer. Det finns bra alternativ som mapbox eller OpenStreetMap , men de uppnår ännu inte de många funktioner som erbjuds av Google. Google själv erbjuder också ett sätt utan en API-nyckel via delningsfunktionen, som vi kan använda för våra ändamål.

.­.­.

Adobe Animate APNG Export

Webbläsarstödet för animerade PNG-filer är nu så bra att animationer som skapats med Animate CC enkelt kan exporteras till APNG och sedan införlivas på en webbplats i en enkel <img> -tagg. Detta är ett enkelt och bra kvalitetsalternativ till publiceringsmetoden i Animate CC, som genererar JavaScript. Stegen som ska tas beskrivs nedan.

.­.­.

Expandera WordPress-sökning

Om du vill utöka den inbyggda WordPress-sökningen med till exempel metafält, är det lämpligt att ta en titt på de avfyrade filtren . Posts_search- kroken rekommenderas så att paginering fortsätter att fungera och framtida förbättringar i sökningen inte avbryts . Med hjälp av RegExp och ExtractValue funktioner sträcker följande kod sökningen till att omfatta inlägg som innehåller ett av sökorden införs i samtliga metafält.

.­.­.

Godels mästerverk

När Kurt Gödel publicerade sina berömda ofullständighetssatser 1931 skakade det grunden för matematisk logik: Han avvisade att alla axiom som kan ställas in som en möjlig grund oundvikligen är ofullständiga för att bevisa alla uttalanden om tal - och förstörde det Hilberts dröm att bevisa konsistensen i matematisk teori.

.­.­.

Använd WhatsApp via API

Trots alla problem med dataskydd är WhatsApp fortfarande den tyska favorit messenger-appen. Förutom den speciella WhatsApp Business App har Facebook också skapat ett officiellt gränssnitt, WhatsApp Business API, för att göra det mer intressant för företag. Om du vill skicka WhatsApp-meddelanden programmatiskt från din webbapplikation finns det också andra sätt.

.­.­.

Oskärpa sidan bakom överlägget med CSS

Om du använder element som överlägg (vilket är regeln i tider med GDPR-actionism) och till exempel vill mjuka upp området bakom överlägget, stöter du ofta på problemet med staplingskontext . Till exempel, om du har element placerade absolut eller i en fast position, visas de plötsligt annorlunda än utan ett applicerat filter. Men det finns ett botemedel.

.­.­.

Snabbtips: Delad testning med Apache

Du behöver inte använda ett kraftfullt verktyg som Google Optimize för enkla URL-delningstester, du kan också lösa Apache via .htaccess. Följande kodavsnitt fördelar sina besökare jämnt över båda versionerna för de två sidorna https://vielhuber.de/test1.php (variant 1) och https://vielhuber.de/test2.php (variant 2). Randomiseringen baseras på aktuell servertid.

.­.­.

Om noteringen av grenade funktioner

Lockiga parenteser används i beteckningen av funktionsdefinitioner med skillnad mellan olika fall. Vi strävar efter den enkla frågan om denna representation också kan elimineras och funktionen kan reduceras till en notation som klarar sig utan den. Till exempel funktionen

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

med hjälp av de fyra grundläggande aritmetiska operationerna med en en-rads term?

.­.­.

Datumserie i Google Sheets

När man visualiserar data i Google Sheets stöter man på problemet att \(x\) -axeln inte automatiskt kan fylla i de saknade luckorna i textvärden (t.ex. i kalenderveckor). För att lösa problemet genererar man en kontinuerlig serie av datum, räknar cellerna som förekommer och visualiserar sedan de kumulativa summorna.

.­.­.

Snabbtips: PHP clearstatcache

Hitta misstaget:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Google-översättning API-hacking

Google erbjuder API för Google Översättning med en användningsbaserad kostnadsstruktur som en del av Google Cloud. Det finns också ett odokumenterat API som kan användas utan nyckel , men som vägrar att fungera efter bara några få förfrågningar. När du använder webbplatsens översättningsfunktion i Google Chrome märks det att sidor kan översättas i mycket god kvalitet utan någon märkbar begränsning.

.­.­.

Snabbtips: Git automatisk märkning

Om du länkar Github till Composer måste ett versionsnummer tilldelas via git-taggen . Följande kommandoradskommando bestämmer den aktuella dagen och ökar den (enligt SemVer ) med ett versionsnummer. Till exempel följer version 1.1.0 efter 1.0.9. Om ingen tagg tilldelas märks versionen automatiskt med 1.0.0. Verktyg som tunn eller git krokar förkortar denna öken av symboler.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

Redigera MySQL-utlösaren

Tyvärr erbjuder MySQL inte ALTER TRIGGER-funktionen. För att redigera en befintlig utlösare måste du först radera den och sedan återskapa den. Uttalandet CREATE TRIGGER kan läsas indirekt via informationsschemat . Detta gör att vi kan ändra triggers via en omväg. För att göra detta, gör dina ändringar i resultatet av följande SELECT-kommando (ändra databas och utlösarnamn i förväg) och kör frågan.

.­.­.

Trigger-förändringshändelser i VanillaJS

VanillaJS har varit i nivå med veteran jQuery på nästan alla områden sedan ES6 och är nu långt överlägsen. Så det lönar sig att gradvis migrera äldre kod bort från jQuery. Du måste dock vara försiktig när du utlöser manuella ändringshändelser. Till exempel document.addEventListener inte utlöserjQuery.change () . Följande översikt sammanfattar specialfunktionerna.

.­.­.

Kontrollera cookies med PHP och JS

Inställningen av kakor med dina egna eller tredjepartsskript kan kontrolleras fint med hjälp av PHP och JavaScript. Även om detta inte är en tillräcklig lösning för implementering av kakelösningar efter domstolsavgörandet mot Planet49 (här är det avgörande att spårningsverktyg som Google Analytics inte ens spårar och följaktligen inte anger några kakor), men det kan vara vettigt vara i allmänhet vitlista / svartlistkakor.

.­.­.

Inaktivera enheter via skript i Windows

För att spara el eller minska din egen övervakningsparanoia är det lämpligt att helt koppla bort enheter som inte används på din egen dator. Enheter som ljudboxar eller webbkameror kan inaktiveras / aktiveras på klassiskt sätt via enhetshanteraren. Hela saken fungerar också via skript. Det vanliga sättet att göra detta brukade vara devcon . Windows 10 erbjuder nu ett bekvämare sätt att göra detta via PowerShell .

.­.­.

Oskärpa på Skype

Skype har en trevlig, något dold funktion: i fallet med videoöverföringar kan bakgrunden suddas ut automatiskt genom att klicka på videoknappen och " Suddig min bakgrund " -funktion. Med hjälp av artificiell intelligens fungerar detta med vilken kamera som helst utan djupinformation. Hela saken ser sedan mer professionell ut och bleknar ut privata eller obetydliga saker i bakgrunden.

.­.­.

SVG-export från Illustrator

SVG spelar en central roll i dagens webb. De har inte bara ersatt ikonfonter, utan ger också möjlighet till manipulation via CSS eller JavaScript. Om du vill spara en vektorgrafik för webben från Adobe Illustrator som SVG, måste du göra några inställningar för att undvika fallgropar och minska laddningstiderna, vilket jag kommer att presentera i följande artikel.

.­.­.

Project Euler: Gitterbanor

Project Euler är en serie spännande programmeringsproblem, ofta med matematisk bakgrund. Problemen ställs ofta på ett sådant sätt att sofistikerade algoritmer måste utvecklas för att uppnå målet på en rimlig tid. Idag löser vi problem 15: Gittervägar , där du kan hitta lösningen med enkla kombinatoriska medel.

.­.­.

Automatiska WordPress-uppdateringar

WordPress har implementerat bakgrundsuppdateringar sedan version 3.7 och aktiverat dem automatiskt för mindre utgåvor. Med hjälp av filter kan du styra beteendet mer exakt, vad exakt uppdateras automatiskt. En permanent, helautomatisk installation av alla mindre, större, plugin-program, tema- och översättningsuppdateringar är inte avsedda, men kan enkelt göras på annat sätt.

.­.­.

OPcache PHP startoptimering

För webbplatser som till exempel är baserade på WordPress , Joomla eller Laravel och inte har något användarspecifikt innehåll, är det tillrådligt att hålla alla sidor i en statisk HTML-cache och bara återskapa cache manuellt (eller automatiskt) när ändringar görs i backend. Men om sidan innehåller dynamiskt innehåll som beror på sessioner och cookies eller även på språk och plats, är OPcache lämplig .

.­.­.

Google Sheets: Expanderande formler

För att utöka formler till hela kolumner i Google Sheets rekommenderar vi att du använder den användbara ARRAYFORMULA- funktionen. Tyvärr fungerar detta inte i kombination med några andra viktiga funktioner som QUERY eller INDIRECT , varför det finns fullständig individuell programmering av logiken med hjälp av Google Apps Script eller alternativt manuell kopiering av formeln ner till sista raden.

.­.­.

Simpson Paradox

Simpsons paradox är ett av de lättförståeliga och samtidigt förvånande fenomenen i statistiken. Det inträffar när grupper av data visar en viss trend, men den trenden vänds när grupperna kombineras. Med hjälp av ett enkelt exempel kan paradoxen förstås omedelbart.

.­.­.

Snabbtips: Google Tag Manager

Google Tag Manager har etablerat sig som de facto-standarden för integrering av spårningsskript. På det här sättet är å ena sidan ansvarsområdena (online marknadsföring kontra programmering) tydligt åtskilda och å andra sidan kan du snabbt ställa in och ändra spårning via en ytterligare distributionskanal. Här är två små tips för att ställa in triggers.

.­.­.

Snabbtips: FRITZ! Box WLAN-hotspot

Från och med FRITZ! OS 07.10 och framåt, om internet misslyckas, kan FRITZ! Box tillfälligt använda den trådlösa hotspoten på en mobiltelefon som reserv. Funktionen är dold under Internet> Åtkomstdata> Internetleverantör> Befintlig åtkomst via WLAN . FRITZ! Box fungerar sedan som en router själv och ger ett nätverk med sitt eget adressområde. När internet är tillgängligt återställer du helt enkelt inställningen. Jag var också tvungen att kontrollera alternativen WLAN> Radionätverk> 2,4 GHz frekvensband aktivt och Internet> Åtkomstdata > IPv6> IPv6-stöd aktivt .

.­.­.

Livets blomma

Livets blomma är ett välbekant, blommliknande, geometriskt mönster som har hittats i tempel, manuskript och under ganska lång tid i populärkulturen i tusentals år. Mönstret spelar också en roll i esotericism. Vi ignorerar allt detta vid denna tidpunkt och koncentrerar oss på den enkla konstruktionen av den geometriska formen, som består av flera jämnt fördelade, överlappande cirklar.

.­.­.

E-postfördröjning i Outlook

Trots alla undergångsprofetier kring Slack och Discord är det asynkrona kommunikationsmediet e-post det dominerande kommunikationsmediet i näringslivet världen över. Förutom Inbox Zero från Merlin Mann finns det många andra strategier för att hantera den dagliga översvämningen av e-postmeddelanden, inklusive så kallad e-postfördröjning, dvs. försenad leverans av e-post.

.­.­.

En spiral av siffror

Under de senaste dagarna har jag studerat följande fråga på StackExchange om en spiral av heltal. Vi letar efter en sluten formel för koordinaterna för \(n\) -th-elementet i följande heltalsspiral, som expanderar från ursprunget utåt och vidare och vidare till oändligheten:

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

Läs rättigheter i Google Sheets

När du arbetar med Google Sheets kan fina, användarbaserade regler för redigering av kalkylblad, kolumner och rader definieras i ett kalkylark. Tyvärr finns det inget sätt att begränsa läsrättigheterna. Detta skulle dock vara till stor hjälp i många scenarier. Så du visar bara dina kunder de biljetter som bara berör dem eller de anställda de projekt de jobbar med.

.­.­.

Garn plug'n'play

npm är standardpakethanteraren för Node.js. Facebook har länge utvecklat en alternativ lösning för pakethantering som heter Yarn . Garn verkar långsamt försvinna från Github readmes som standardlösning och statistiken på den officiella webbplatsen visar att endast en bråkdel av förpackningarna utförs av garn. Ändå är det värt att tänka utanför lådan.

.­.­.

Konvertera PDF till LaTeX


Satsningssystemet \(\TeX\) utvecklades 1977 av den legendariska Donald E. Knuth . Programvarupaketet \(\LaTeX\) är fortfarande en del av standardrepertoaren när du skapar vetenskapliga artiklar. Med följande två verktyg kan redan genererade PDF-filer och handskrivna anteckningar konverteras helt automatiskt till TeX. Resultaten är mycket lovande.

.­.­.

Simuleringsargumentet

Nick Bostroms simuleringsargument är imponerande enkelt och tydligt. Det försöker inte bevisa att vi lever i en simulering, utan formulerar istället elegant tre möjligheter, varav en måste vara sant. Elon Musk förespråkar också en liknande avhandling, som gjorde idén känd för en bred allmänhet. Den officiella tidningen är över 14 år gammal och lika många sidor är korta. Det centrala uttalandet är lätt att förstå och kompakt.

.­.­.

Kritisk bugg när du använder WPML + ACF

De kraftfulla WPML-pluginsna för flerspråkighet och avancerade anpassade fält för dina egna fält är standardutrustning i många installationer. Det är irriterande när fel och dataförlust uppstår i kombination. Felrapporterna om ämnet är några år gamla och obesvarade ( här och här och här och här och här ). Jag har just tittat närmare på problemet.

.­.­.

Filöverföring i webbläsaren Facebook i appen

På vissa Android-telefoner beter sig både webbläsarna i Facebook och Instagram (från och med idag) felaktigt om ett uppladdningsfält inom en annonserad eller länkad målsida hade attributet accept. Knappen var därför utan funktion. Om du öppnar sidan i den externa, normala webbläsaren utanför Facebook-appen är allt bra. Detta är irriterande (särskilt eftersom det har rapporterats under en lång tid ), men kan lösas med en lösning.

.­.­.

Chrome Devtools: Flytta DOM-element

Google Chromes utvecklarverktyg är bland de mest kraftfulla på webbläsarmarknaden. Nya funktioner strömmar in varje månad, som Google presenterar i komprimerad form på YouTube . Men ofta är det de små sakerna i livet som glädjer sig. Om du vill ta bort DOM-element i Google Chrome kan du göra det med borttagningsknappen. Men först idag märkte jag att DOM-element också enkelt kan flyttas med hjälp av dra och släpp:

.­.­.

Snabbtips: git-status --r

En gyllene regel i gituniversumet är: "Gör tidigt och ofta". Om natten var lite längre eller om du bara vill ha en översikt över den aktuella situationen på din egen dator, tar kommandot dig

d8a38f92d0baa14f9d4568826c13ad46

en "git-status" för alla arkiv som finns i den aktuella mappen eller i någon undermapp och sammanställer värdena i en fin översikt:

.­.­.

LAMP-stack i Windows Subsystem för Linux

När vi letar efter den optimala utvecklingsmiljön erbjuder Windows 10 kompletta lösningar som XAMPP , WAMP och MAMP , integrerad installation för hand och virtualiseringslösningar som Vagrant ( Scotch Box ) och Docker ( Devilbox , Laradock ). Men på grund av mina krav som gratis konfigurerbarhet, riktiga jokertecken SSL-certifikat, åtkomst från alla slutenheter i det lokala nätverket samt hög stabilitet och prestanda misslyckades alla lösningar - förutom en.

.­.­.

Tricks för Laravel Eloquent Relationships

En av Laravels styrkor är dess eleganta syntax. Om du har många modeller och relationer i Laravel (på grund av många tabeller i databasen) kan traversering ofta sluta med mindre elegant kod. Med tiden har tre små tillägg visat sig för mig, som jag kort vill presentera nedan. Vi använder bara några arv, magiska metoder och anpassade samlingar.

.­.­.

Förhindra allmänhetens tillgång till .git

Git- versionhantering är nu standard i nästan alla webbprojekt och i alla miljöer (inklusive produktion). Git skapar alltid undermappen .git och om detta är på nivå med den offentliga mappen på webbplatsen kan du få tillgång till känsliga filer offentligt (till exempel ringer /.git/logs/HEAD visar de senaste åtagandena) . Det förklarar i detalj hur du kan klona ett Git-arkiv från tredje part utan en kataloglista.

.­.­.

Node.js / npm / Composer utan root

I ett äldre blogginlägg beskrev jag hur jag är värd för Node.js gratis med Heroku . Nu ska jag visa dig hur du kan installera Node.js , npm och Composer på någon annan delad värd utan root-rättigheter med några rader kod. Med den kan du installera paket, distribuera Vue.js-applikationer eller bara starta en Express.js-server. Vi arbetar alltid i användarkatalogen och använder nvm - Node Package Manager.

.­.­.

Fel i associerande matriser i PHP <7.2

I PHP <7.2 kan du skapa matriser som inte längre kan nås ordentligt:

91367d1c4636fd753b381406024e303c

Du kan göra vissa saker med det.

.­.­.

Kör kommandon direkt efter SSH-anslutning

Följande kommando upprättar en anslutning till en server via SSH, kör några kommandon (till exempel ändras till en underkatalog och skickar en git-status ) och lämnar skalet öppet. .Bashrc-filen laddas, vilket möjliggör färgade subshells. Tricket är att spara en tillfällig fil / tmp / initfil med önskade kommandon, att starta en subshell (i vårt fall bash) med kommandot --init-file. Inom denna initfil raderas samma fil omedelbart igen för att inte lämna några spår.

.­.­.

Nätverksenhet som administratör

Om du integrerar en nätverksenhet i Windows Explorer, gäller detta inte hela systemet utan endast för det aktuella användarkontot. Det betyder att du inte kan komma åt denna nätverksenhet i ett program som körs med administratörsrättigheter. Detta kan enkelt ändras: Skapa ett nytt DWORD (32 bit) med namnet EnableLinkedConnections med värdet 1 i registret under HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System och starta om. Integrerade nätverksenheter är då synliga överallt.

.­.­.

Snabbtips: Inkludera mapp som enhet

Om du snabbt vill nå en lokal mapp under Windows som du använder om och om igen kan du helt enkelt tilldela den din egen enhetsbokstav. Det finns bara en omväg via "Anslut nätverksenhet", eftersom du till exempel inte kan ange sökvägen C: \ Användare \ David \ Nedladdningar. Som en lösning anger du den så kallade administrativa delen av enheten, som finns som standard för varje mapp: I exemplet ovan skulle detta vara \\ localhost \ c $ \ Users \ David \ Downloads .

.­.­.

Fånga grodor

En groda hoppar runt på nummerlinjen och du försöker fånga den. Hoppning och fånga växlar alltid. Grodan börjar vid position \(s \in \mathbb{Z}\) och för varje drag hoppar den avståndet \(z \in \mathbb{Z}\) (om \(z>0\) hoppar den till höger, annars till vänster). \(z\) är densamma för varje hopp. Snapping består av att ange en heltalsposition. Man vet varken \(z\) eller \(s\) . Vi visar att det finns ett sätt att alltid fånga grodan.

.­.­.

Långa filnamn på Windows 10

Det är inte bara när du använder npm under Windows som du stöter på en gräns som nu är nästan 30 år gammal, vilket begränsar sökvägarna till mappar och filer till maximalt 255 tecken. Detta är inte NTFS fel, utan LFN . Detta leder till irriterande buggar och inkompatibilitet mellan operativsystem. I tider av WSL är detta ett beklagligt tillstånd, som du lyckligtvis kan fixa dig själv i registret under en tid.

.­.­.

Laravelköer på localhost

I PHP-ramverket ser Laravel inom produktiva miljöer, arbetare och arbetsledare till att de jobb som lagras i till exempel Redis behandlas. Om du vill vara helt oberoende av detta på localhost använder du antingen synkroniseringsdrivrutinen för att alltid utföra jobben omedelbart. Detta har nackdelen att den nuvarande PHP-processen blockeras och begäran hänger tills jobbet har bearbetats.

.­.­.

Snabbtips: Samla mål i Google Analytics

Med hjälp av JavaScript-biblioteket analytics.js från Google Analytics kan alla händelser på webbplatser spåras. Dessa händelser är till exempel en exakt mätning av vistelsens längd, det maximala rullningsdjupet för besökarna eller andra enskilda åtgärder som att skicka formulär. Om du senare vill utvärdera reklamkampanjer eller genomföra exempelvis A / B-tester skapar du så kallade målprojekt.

.­.­.

Pragmatisk cache-ogiltigförklaring

Rendering på serversidan är nu en del av standardrepertoaren för webbplatser och applikationer. Webbläsare som Google Chrome tenderar också att cacha så mycket som möjligt för att minimera laddningstiderna för ytterligare samtal. Cache-ogiltigheten av CSS / JS / bildfiler kan lösas med hjälp av mod_pagespeed , Expires / Cache-kontrollhuvud , ett cache-manifest eller mycket pragmatiskt och direkt genom enskilda parametrar efter filnamnet.

.­.­.

Bitbucket och SSH-nycklar

Leverantören Bitbucket erbjuder inte (även i avgiftsbaserade standard- och premiumtariffer) möjligheten att lagra SSH-nycklar med skrivbehörighet på förvarets nivå. Att lagra din personliga SSH-nyckel på produktionsservern är inte ett alternativ, annars kan du komma åt alla andra projekt som du arbetar med därifrån. Det finns så kallade åtkomstnycklar , men dessa tillåter bara läsrättigheter.

.­.­.

Windows Sysinternals via nätverksenhet

Verktygen från Sysinternals av Mark Russinovich bör inte saknas på någon Windows-dator. Om du alltid vill ha den senaste versionen till hands kan du integrera den som en nätverksenhet. Kommandonätanvändningen s: \\ live.sysinternals.com \ DavWWWRoot på kommandoraden är tillräcklig (som en normal användare). Då är fina verktyg som PsList, PsKill eller Process Explorer bärbara på enheten S.

.­.­.

Snabbtips: Google Sheets och Kalenderveckor

När du anger kalenderveckor på ett visst datum måste du vara försiktig i Google Sheets (precis som i Microsoft Excel). Funktionen = CALENDAR WEEK (TODAY ()) beräknar med den amerikanska standarden, för vilken den första dagen på året alltid tilldelas kalendervecka 1. I Tyskland definieras det annorlunda: Här är den första kalenderveckan den vecka från vilken minst fyra dagar faller in i det nya året. I Google Sheets kan du lösa problemet (tillsammans med andra spännande alternativ som = SHORTEN ((TODAY () - DATE (YEAR (TODAY () - REST (TODAY () - 2; 7) +3); 1; REST (DAG ( ) -2; 7) -9)) / 7) och den modifierade = KALENDERVECKA (IDAG (); 21) ) enkelt med den specialdesignade funktionen = ISOWEEKNUM (TODAY ()) .

.­.­.

Självsignerade SSL-certifikat i Chrome 58

Sedan Let's Encrypt är krypterade webbplatser nu standard. Även med lokal utveckling är SSL-certifikat oumbärliga (till exempel navigator.geolocation kräver SSL-kryptering lokalt). Sedan version 58 av Chrome har support för CN (Common Name) avbrutits och SAN (Subject Alternative Name) har gjorts obligatoriskt. Som ett resultat accepterar Chrome plötsligt inte längre alla konventionellt skapade SSL-certifikat.

.­.­.

Två gånger två års ålder

Tänk på två personer \(A\) och \(B\) som inte är födda samma dag och \(A\) yngre än \(B\) . Visa: Det finns exakt två ålderskonstellationer \(a,b \in \mathbb{N}\) , för vilka gäller: \(2\cdot a = b\) . Vi ställer först in \(d \in \mathbb{R}^+\) som åldersskillnad mellan \(A\) och \(B\) vid födelsen av \(A\) med \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) . Vi betraktar nu en godtycklig tidpunkt \(x \in \mathbb{R}^+\) efter födelsen av \(A\) med \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git och tomma mappar

Eftersom Git inte känner till några mappar, bara filer, tomma mappstrukturer hamnar inte i arkivet. Men eftersom många ramar och projekt absolut behöver detta borde de hamna där. En vanlig praxis är att skapa så kallade platshållarfiler (ofta kallade .gitkeep), som implicit specificerar mappstrukturen. Dessa filer kan enkelt skapas och, om så önskas, också se till att andra filer i mapparna ignoreras.

.­.­.

Gratis värd för Node.js med Heroku

Hosting för Node.js är fortfarande inte särskilt utbrett, särskilt i tysktalande länder. Det amerikanska molnföretaget Heroku erbjuder en lösning här - och till och med gratis . Du märker alltid paradigmet "Bygg appar ... inte infrastruktur" och har fortfarande knappast några begränsningar. Som ett exempel implementerar vi ett litet cron-jobb baserat på PhantomJS , som skrotar en webbplats varje dag och skickar sidrubriken via e-post.

.­.­.

Cantors parningsfunktion

Förutom de diagonala argumenten utvecklade Georg Cantor också parningsfunktionen Cantor \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , som kodar två siffror \(x,y \in \mathbb{N}\) i ett nytt nummer \(z \in \mathbb{N}\) . Till exempel \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) en unik kodning av siffrorna \(3\) och \(4\) i siffran \(31\) . Visa: Värdeuppsättningen \(\mathbb{W} = \mathbb{N}\) , dvs \(z\) antar alla naturliga tal.

.­.­.

Jorden och ärten

\(r_1 = 6370km\) på jorden (som en sfär med \(r_1 = 6370km\) ) och en ärta (som en sfär med \(r_2 = 2mm\) ) och \(r_2 = 2mm\) ett rep över ekvatorn så att det ligger tätt på ytan. Nu förlänger du båda repen med en meter vardera. Båda repen ska nu ligga helt utsträckta över ekvatorn igen - de ligger inte längre helt på ytan utan svävar över ekvatorn. Hur högt över ytan flyter repet över jorden, hur högt över ärten?

.­.­.

Sannolikheter på den analoga klockan

På vilken% av tiden på en dag är alla tre händerna på en analog klocka i högra ratten? Titta först på timvisaren, som är på höger sida var 12: e timme (50%). Från denna tid kommer minutvisaren att vara på höger sida om 6 av 12 timmar (25%). Av dessa 6 timmar spenderar sekundvisaren 3 timmar på höger sida (12,5%).

.­.­.

Laravel: Arbeta med vältaliga relationer

Laravel gör kommunikationen med databasen mycket enklare med Eloquent. När du arbetar med Eloquent Relationships , när du ringer till dynamiska variabler (med hjälp av de magiska metoderna för PHP), bör du vara medveten om att förekomsten av modellerna inte återspeglar nya ändringar utan lagras permanent när de först anropas.

.­.­.

Bitbucket: Ta bort mapp från Git-historik

När du är värd för Git på Bitbucket finns det en hård gräns på 2 GB - om detta överskrids har du bara skrivskyddad åtkomst till förvaret. För att förhindra detta kan du till exempel ta bort stora mappar eller filer i efterhand från dina åtaganden. Men även i andra fall (om åtkomstdata har gått in i historiken eller nod_modules har glidit tillbaka till master) måste du retroaktivt manipulera Git-historien, i motsats till dess natur.

.­.­.

Integrera SSL-certifikat från DomainFactory i IIS

I en tid av Let's Encrypt är krypterade webbplatser nu standard. Men jokertecken eller utökade certifikat med särskilt pålitlig ägarvalidering krävs också ofta. Leverantören DomainFactory erbjuder billiga SSL-certifikat som också kan användas externt. Installationen av en aktuell IIS lyckas utan CSR med hjälp av OpenSSL . I det följande kommer jag kort att visa vilka steg som krävs för detta.

.­.­.

Paradoxal vinnande strategi när man gissar siffror

Thomas M. Cover ställde följande häpnadsväckande fråga 1987 i "Öppna problem inom kommunikation och beräkning": Spelare \(X\) skriver två olika och slumpmässigt valda naturliga nummer \(A\) och \(B\) till två olika Papper och lägg det med framsidan nedåt på ett bord. Spelare \(Y\) väljer nu slumpmässigt en av dessa pappersbitar, ser numret och måste nu avgöra om detta nummer är mindre eller större än det andra numret som fortfarande är vänt nedåt på bordet.

.­.­.

Fotboll och linjär algebra

När ett fotbollsmatch startar ligger bollen i mitten av fältet och flyttas sedan runt fältet i 45 minuter genom att flytta och vrida. I början av andra halvlek är bollen igen i mitten av planen. Vi visar med enkla medel för linjär algebra att antingen ett oändligt antal punkter på ytan alltid är i exakt samma position som i det ursprungliga tillståndet eller exakt 2.

.­.­.

Laravel: Felsökning av bladmallar

När du felsöker bladmallar i Laravel 5. * får du ofta meningslösa felmeddelanden som hänvisar till cachade vyer. Tidigare var alla bättre: felsökningsvyn i version 4 innehöll mer användbara funktioner och var också visuellt trevligare. Med några få kodrader kan du få tillbaka den här funktionen med hjälp av whoops ("PHP-fel för coola barn").

.­.­.

Harmonisk visning av logotyper med JavaScript

Oavsett referenser, partners eller kunder - det finns många fall där du vill visa flera logotyper bredvid varandra på ett harmoniskt sätt. Andelen logotyper är oftast inkonsekventa. Du följer ofta din tarminstinkt för storleksrepresentationen i designen, men det finns också en exakt beräkningsmetod för en visuellt tilltalande representation genom att jämföra logotypens områden. I följande exempel kan du göra detta med bara några rader JavaScript.

.­.­.

Kontrollera variabler i PHP / JS för existens

När man arbetar med variabler i PHP och JavaScript dagligen kommer man ofta över frågan om en variabel är tom. Det är värt att känna till de inbyggda funktionerna och deras skillnader för kontrolländamål. Irriterande finns det inget enkelt sätt att intuitivt kontrollera om en variabel finns eller inte. Matrisen nedan klargör vad som menas med detta. Men vad du vill kan eftermonteras med hjälp av små hjälpfunktioner.

.­.­.

Massiva telefonsamtal med sipgate.io

Med sipgate.io har Sipgate skapat ett spännande moln-API med vilket man har en mängd alternativ för internettelefoni. Ett konto är gratis, och det finns också möjlighet att ställa in ett gratis avsändarnummer i funktionsbutiken. Dokumentationen från sipgate.io kan fortfarande utökas, men med lite läsning i det officiella Sipgate API kan du snabbt inse spännande saker.

.­.­.

Rekursion i SQL

Relationella databashanteringssystem baserade på SQL är endast delvis lämpliga för hierarkiska eller rekursiva frågor. Andra system som ArangoDB är bättre här (det var ett bra samtal om detta på GOTO 2016 ). Du kan också skapa rekursiva frågor i SQL med hjälp av vanliga tabelluttryck och därmed fråga klassiska överordnade / underordnade tabeller för alla förfäder och ättlingar.

.­.­.

WordPress: Inaktivera arkivsidor

Enligt w3techs.com drivs för närvarande cirka 27,4% av alla webbplatser över hela världen med hjälp av WordPress. I mycket många fall är det inte bloggar. WordPress genererar automatiskt många, ofta oanvända webbadresser och producerar så många länkar indexerade av Google att webbplatsoperatören inte ens hade på skärmen. Allt detta kan inaktiveras med ett enkelt kommando.

.­.­.

Byt namn på PDF-formulärfält i bulk

Om du som jag får problem med att byta namn på tusentals formulärfältnamn är JavaScript-konsolen som ingår i Acrobat perfekt. I detta kan du inte bara köra någon JavaScript-kod utan också få tillgång till allt innehåll i PDF-filen (inklusive formulärfält). Eftersom det inte finns någon egen funktion för att byta namn i JS API, kopieras formulärfälten med alla deras egenskaper och får ett nytt namn.

.­.­.

Shopware: ändringar av reparationsvarianter

I Shopware 5 har ett känt problem fortfarande inte lösts: Om du skapar en artikel med ömsesidigt beroende varianter med ömsesidigt exklusiva konfigurationsalternativ kan det hända att vissa kombinationer inte kan väljas i fronten och därför inte kan beställas. Med hjälp av ett plugin kan problemet enkelt åtgärdas just nu.

.­.­.

En rad för oändligheten av primtal

Det finns många bevis på oändligheten av primtal - den välkända euklidiska satsen från elementboken saknas inte i någon grundläggande talteorikurs. I American Mathematical Monthly (nummer 122) 2015 publicerade Sam Northshield ett inte mindre elegant motsägelsebevis i form av en rad, som jag inte vill förhindra från dig (med korta kommentarer).

.­.­.

Ljus upp Windows-kommandoraden

Den tråkiga Windows-kommandotolken kan uppgraderas visuellt i några enkla steg. Så du kan inte bara anpassa färgen och storleken på kommandoraden utan också utöka den funktionellt (öka bufferten, installera en stor uppsättning UNIX-verktyg). Även om kommandotolken inte kommer nära PowerShell 6.0 eller den nya Windows 10 Bash Shell , behöver den inte döljas för vardagliga uppgifter.

.­.­.

Dynamiska webbadresser i Joomla

I innehållshanteringssystem är URL: er ofta inte alltid fixade i förväg och skapas därför inte statiskt i förväg (som ett bidrag eller menyalternativ) utan adressobjekt från databasen. I likhet med WordPress ( som beskrivs här ) är det också möjligt i Joomla att bygga dynamiska URL-strukturer (oberoende av det interna aliasystemet). Antingen kan JRouter användas här - eller så kan du använda en one-liner i .htaccess.

.­.­.

JavaScript PasteJacking

Med hjälp av JavaScript kan moderna webbläsare läsa och skriva till användarens urklipp, dvs. de kan också manipulera det. Den underliggande tekniken är redan gammal hatt, men det är först nyligen som fler och fler attacker (under namnet "PasteJacking") har cirkulerat på Internet, vilket utnyttjar denna möjlighet för den oerfarna användaren. En implementering i JavaScript är banal.

.­.­.

Byt kolumner i PostgreSQL

Att byta SQL-tabellkolumner är en del av standardrepertoaren med MySQL - detta stöds inte (ännu) med PostgreSQL. Även om den officiella wiki ägnar sin egen artikel åt problemet, visar den inte någon praktisk lösning som också stöder åsikter, index och utlösare. Följande klass gör det här jobbet (för både MySQL och PostgreSQL) antingen på kommandoraden - eller alternativt direkt i Laravel 5.

.­.­.

Snabbtips för Windows Explorer

Om du snabbt vill öppna kommandotolken i en mapp i Utforskaren, klicka (en nivå högre) med höger musknapp och håll ned Skift-tangenten i mappen och välj sedan "Öppna kommandotolken här" från snabbmenyn. Jag fick precis en annan snabbare metod när du befinner dig i mappen: Här klickar du in i den aktuella mappsökvägen, skriver "cmd" och bekräftar med Enter.

.­.­.

WordPress-kategorier: Trädvy / arv

Om du arbetar med hierarkiska kategorier (taxonomier) i WordPress, kommer du att märka att å ena sidan är visningen av de markerade kategorierna i backend förvirrande och å andra sidan hamnar inlägg inte automatiskt i föräldrakategorin om de placeras i underkategorin. Båda kan rätas ut med bara några rader kod med hjälp av det kraftfulla haksystemet (i form av en åtgärd och ett filter).

.­.­.

PHP 7 och rymdskeppsoperatören

Förutom nya funktioner som typtips för skalära datatyper eller optimerad prestanda , kommer PHP 7 också med många nya, användbara språktillägg. "Rymdskeppsoperatören" har äntligen gjort det till en värld av PHP (Ruby och Perl-programmerare har känt det länge). \($a <=> $b\) returnerar \(0\) om och endast om båda operanderna är lika, \(1\) om den vänstra är större och \(-1\) annars.

.­.­.

IIS 7.5 PHP FastCGI timeout

Om du integrerar PHP via FastCGI på IIS 7.5 avbryts varje skript som standard efter 600 sekunder (dvs. 10 minuter). En ändring av den kända variabeln "max_execution_time" i php.ini har inget inflytande på detta, du måste (även) justera FastCGI-inställningarna. För detta erbjuder IIS ett bekvämt gränssnitt för hantering av relevanta variabler.

.­.­.

Paradox av stokastik

Den villkorade sannolikhetsteorin för med sig vackra uppgifter med kontraintuitiva lösningar. Förutom det välkända syskonproblemet kommer jag nu kort att ta itu med ett annat exempel: "Jag har nu två barn. Ett av dem är en pojke och föddes på en torsdag. Vad är sannolikheten för att det andra barnet också är en pojke?"

.­.­.

Git, Shopware och tomma mappar

Git-filversioneringssystemet är magert, snabbt och bärbart. Git hanterar alltid objekt, nämligen filer. Mappar skapas bara om det finns filer i dem, annars spelar Git inte ens in dem. Detta har obehagliga biverkningar i vissa projekt. Shopware-butikssystemet är till exempel beroende av att mappstrukturen följs strikt för att fungera.

.­.­.

Shopware: Individuella fraktkostnader

Shopware har en kraftfull fraktkostnadsmodul som du specifikt kan ingripa i beräkningen. I vårt fall vill vi implementera följande scenario: Fraktkostnaderna per artikel bestäms initialt utifrån artikelns vikt (viktgränserna anges). Endast för särskilda undantag skulle det vara möjligt att ställa in fasta fraktkostnader för varje artikel.

.­.­.

Dynamiska permalänkar i WordPress

WordPress permalinksystem kan anpassas mycket väl till dina egna behov med hjälp av strukturtaggar . Inställningen% postnamn% är förmodligen den vanligaste och mest praktiska lösningen. Men om du vill implementera riktiga dynamiska länkar måste du först utöka systemet med din egen kod.

.­.­.

Korrupta hyperlänkar i Word och Excel

Man skulle tro att när man öppnar hyperlänkar från ett Word / Excel-dokument startas standardwebbläsaren med önskad URL. Konstigt nog är detta inte fallet - vilket leder till obehagliga biverkningar och gör det omöjligt att länka till session / cookie-baserade inloggningsskyddade sidor i de nämnda Office-programmen.

.­.­.

En paradox för fars dag

För farsdagen idag ger en dotter sin far en bild som hon själv har målat, som hennes far hade längtat efter av henne. Dottern säger: "Jag kommer att ge dig den bild som du har önskat och min present kommer att bli en överraskning". Fadern pausar och funderar över sanningen i detta uttalande.

.­.­.

Integrera dynamiska skript med och utan HTTPS

Om du inkluderar okrypterade skript i <head> -området och ringer upp en sida med ett befintligt SSL-certifikat krypterat blockeras dessa skript och körs därför inte. Om du helt enkelt utelämnar protokollet anropas alla skript automatiskt i krypterad form om webbplatsen nås via https: // - annars okrypterad.

.­.­.

Användbarhet i rullgardinsmenyer

När du arbetar med flerdimensionella rullgardinsmenyer stöter man ofta på problemet att fel undermenyer öppnas av misstag eller att önskad undermeny stängs av misstag. Denna effekt uppstår när muspekaren lämnar motsvarande meny på den översta nivån när du navigerar till en redan utökad undermeny.

.­.­.

Shopware: Inaktivera varianter automatiskt

I Shopware inaktiveras hela artikeln vid en riktig order på en försäljningsartikel om alla varianter har en lagernivå som är mindre än eller lika med 0. För att implementera detta på en variantbasis programmerade jag ett litet plugin, vars Bootstrap.php jag tillhandahåller nedan.

.­.­.

Dubbel lösenordsfråga med SSL

Följande konstellation har alltid en obehaglig bieffekt: Om du skyddar din webbplats med htaccess / htpasswd och samtidigt tvingar en SSL-anslutning behöver du alltid samma lösenord för att anges två gånger (en gång för http och igen efter lyckad post för https). Med hjälp av konfigurationsavsnitten som introducerades i Apache 2.4 kan problemet enkelt hanteras.

.­.­.

Flera linjesträngar i JavaScript

Vid programmering med JavaScript snubblar man ofta över oförmågan att implementera strängar med flera rader genom att ange dem i flera rader i koden. Även om uppgiften på andra språk som PHP eller Ruby inte är ett problem, med JavaScript kan du initialt bara nöja dig med lösningar, vars användning bestäms av personlig smak eller webbläsarstöd.

.­.­.

mail () i PHP med UTF-8 och paraplyer

Att skicka e-post med PHP implementeras bäst med kraftfulla klasser som PHPMailer . Praktiska omslagsfunktioner gör det möjligt att använda UTF-8-innehåll, att bädda in bilder och skicka krypterade bilagor med bara några få kodrader. Om du vill spara kostnaden och, tvärtemot rekommendationen, använda PHP-funktionen mail () , kommer du att stöta på problem när du använder umlauts och UTF-8 senast.

.­.­.

Google PageSpeed ​​Insights vs. Google Analytics

Valideringsverktyg som W3C Markup Validation Service eller Google PageSpeed ​​Insights är användbara för att objektivt utvärdera koden och prestanda för en webbplats. Särskilt Google påverkar en hel bransch med begrepp som ovanför mitten - och ger också strikta men användbara riktlinjer för bildkomprimering och cachning. Men det kan hända att Google går på egna ben.

.­.­.

Välkommen JavaScript 2.0

JavaScript dominerar på webben och ECMAScript, kärnan i språket växer upp. Den nya specifikationen (ES6 eller JS2), som förväntas i mitten av året, för med sig många innovationer som kan testas idag. Firefox har för närvarande det bästa stödet , men polyfills genom så kallade transpilers som Google Traceur är också möjliga. Följande är en kort översikt över de nya funktionerna i ES6.

.­.­.

0,99999... = 1?

Vare sig i skolan eller på universitetet: En intressant fråga som \( 0,99999... = 1 \) och då inkluderar frågan om följande ekvation är sant: \( 0,99999... = 1 \) . Även om oändligheten \(0,99999... = A\) i den vänstra delen av ekvationen, ger vi den ett namn: \(0,99999... = A\) . Efter multiplicering med faktorn \(10\) och enkla algebraiska transformationer får vi en första häpnadsväckande insikt.

.­.­.

SQL: dålig prestanda trots index

Jag konfronterades precis med följande prestandaproblem för en SQL-databas: I en SQL-tabell som heter "användare" med ~ 1 000 000 poster tog bestämningen av antalet registreringar idag en oacceptabel 28 sekunder. Registreringstiderna sparades i formatet "Ymd H: i: s" i kolumnen "skapad".

.­.­.

Litet schackproblem

Förutom det välkända riddarproblemet och drottningsproblemet finns det många andra spännande frågor i schackvärlden. Jag berörde två små nyfikenheter i ett tidigare blogginlägg . Om du matematiskt hanterar schackproblem kommer du snabbt att upptäcka att matematik ger mycket enkla och lysande svar på många frågor.

.­.­.

Filer tillgängliga online med OneDrive

Om OneDrive, Dropbox, Google Drive, OwnCloud, Box.net: Oavsett i vilken ruta du lagrar dina filer - tjänsterna är nästan desamma. De tillgängliga klienterna för alla stationära och mobila system, standardkrypterade filer och delningsalternativen skiljer sig bara marginellt. Men OneDrive, som har integrerats permanent i systemet sedan Windows 8.1, har en speciell funktion: endast filer tillgängliga online.

.­.­.

PHP: Filåtkomst med paraplyer under Windows

Filer på webbservrar ska alltid vara utan mellanslag (inte "detta är en bild.jpg"), utan paraplyer eller specialtecken (inte "football.jpg"), utan bakåtvända snedstreck (inte "Arbeit \ Auto.jpg") och i gemener (inte "" test.JPG "). Nyligen var jag dock tvungen att komma åt och bearbeta ett stort antal filer med vilket filnamn som helst för ett kundprojekt.

.­.­.

SQL-fråga för att bestämma en rankinglista

Idag stötte jag på följande uppgift när jag arbetade med ett kundprojekt: Ta en SQL-tabell "användare" med kolumnerna "id" och "poäng" och bestäm en rankningslista över alla användare sorterade efter "poäng" där användare med få samma ranking med samma poäng. Denna uppgift kan lösas intuitivt och enkelt med användardefinierade variabler .

.­.­.

Facebook SDK: Kontrollera tokens på serversidan

När du arbetar med Facebook SDK (närmare bestämt när du implementerar en Facebook-inloggningsfunktion i ett REST-gränssnitt) måste token som klienten fick från Facebook först kontrolleras för att den är giltig av servern innan ytterligare operationer utförs .

.­.­.

Chrome DevTools: Adressering av DOM-element

Vare sig Chrome, Firefox, Opera, Safari eller till och med Internet Explorer: Medan välutvecklade utvecklingsverktyg var en unik försäljningsargument för Firefox och det populära Firebug - tillägget fram till för några år sedan, är kraftfulla utvecklingsverktyg nu en del av standardområdet för varje webbläsare, där det finns mycket att upptäcka ger.

.­.­.

Åtkomst till filsystemet med SQL

Jag kom precis över ett trevligt alternativ i MySQL att utnyttja filsystemet och få värdefull information, till exempel om förekomsten av filer och mappar eller deras innehåll. Detta kan vara till stor hjälp som ett alternativ till php-funktionen file_exists , eftersom informationen om förekomsten av filen / filerna fortfarande kan användas i frågan för ytterligare sorterings- och aggregeringsfunktioner.

.­.­.

Animerade bakgrunder med duk

Animerade vektorbakgrunder kan lägga till variation i ett webblandskap som kännetecknas av foton och videor i helskärm. Det skulle vara trevligt om detta skulle gå hand i hand med laddningstider och bred support för hårdvara och programvara. En lösning är: canvas. HTML-elementet som styrs av JavaScript stöds av alla nuvarande webbläsare och återges med hög prestanda på mobila enheter.

.­.­.

Fast bildförhållande för HTML-element

Som webbutvecklare är man ofta generad över att arbeta med HTML-element som i sig - till skillnad från img-elementet till exempel - varken har en fast storlek eller ett fast bildförhållande. Ofta vill du uppnå att dessa objekt beter sig lyhörd, men proportionen mellan bredd och höjd bibehålls. CSS erbjuder inte en intuitiv lösning här som standard. Men med hjälp av den vertikala stoppningsegenskapen kan du uppnå ditt mål.

.­.­.

Domstolsbeslut om användning av stockfoton

Efter att Regiondomstolen i Köln rodde tillbaka i RedTube-skandalen förra veckan och aldrig fick godkänna överlämnandet av de kontroversiella IP-adresserna, avger den ytterligare en mycket kontroversiell och tvivelaktig dom med beslutet 14 O 427/13: Författaren till Stock- Foton från en viss bildbyrå måste också namnges via direkt åtkomst till dess bilder via deras URL.

.­.­.

Adjö Block & Inline - Välkommen HTML5

Innovationerna i HTML5-specifikationen är många och många av dem stöds redan av majoriteten av webbläsarlandskapet - nedan vill jag lyfta fram en intressant förändring av reglerna för kapslingselement. HTML har alltid skiljt mellan block och inline-element. Dokumenttypdefinitionen av HTML4, till exempel, heter h1, p och div som blockelement och a, span, img som inline-element.

.­.­.

HTTP-loggning på IIS och Apache

Både Apache på Unix och IIS på Windows-system loggar HTTP-förfrågningar direkt i filformat. Förfrågningar till din egen webbplats bör inte bara utvärderas regelbundet och analyseras manuellt och automatiskt (t.ex. av loggfilanalysatorer som AWStats ) för att skydda mot hackingattacker. Sökvägarna för relevanta loggfiler i allmänt använda konfigurationer är till exempel följande:

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

Joomla, IIS och katalogrättigheter

När du integrerar Joomla 3.2 på en Windows Server 2008 R2 med IIS 7.5, finns det ofta problem med katalogrättigheter, som ofta löses otillräckligt med inställningar som är för generöst valda. Följande lösning är säker och fullt fungerande:

  • IIS_IUSRS-gruppen behöver rättigheterna för C: \ inetpub \ wwwroot \: läs & kör, visa mappinnehåll, läs, skriv
  • IIS_IUSRS-gruppen behöver rättigheterna för C: \ Windows \ Temp \: Läs & kör, Visa mappinnehåll, läsa, skriva
  • Användaren IUSR måste vara i gruppen IIS_IUSRS (Datorhantering> Lokala användare och grupper> Grupper)

Om du behöver ytterligare speciella katalogrättigheter för alla filer som laddas upp via PHP (t.ex. för SSH eller FTP) kan du också ställa in dessa för mappen C: \ Windows \ Temp \. Om du laddar upp en fil via PHP kopierar PHP först den här filen till den tillfälliga och sedan till den slutliga sökvägen. Om filen har hamnat i den tillfälliga katalogen ärver den dess rättigheter och behåller dem efter att ha flyttat till den slutliga katalogen.

.­.­.

Anonym online: omöjligt?

Under NSA-skandalen undrar inte bara nätverkskunniga användare om och hur man kan flytta anonymt på Internet för att undkomma myndighets- och underrättelsetjänstens datainsamlingsmani. Detta leder dock ofta till fel och felaktiga antaganden. En central missuppfattning är minskningen av anonymitet till fördunkning av IP-adressen.

.­.­.

McFIT - ny logotyp, ny bild

Rabattkedjan McFIT har gett sig en makeover. Tidigare prydde en ljusgul maskot i form av en banan de blå bokstäverna, nu slingras en gul rosett på en antracitfärgad bakgrund skickligt in i varandra och bildar således en abstrakt struktur. FDP-färgerna blå och gul viker inte bara för logotypen utan även för alla andra McFIT-tryckvaror.

.­.­.

Photoshop: res tillbaka i tiden

När bröderna Thomas och John Knoll började utveckla Adobe Photoshop 1987 var jag ännu inte född. Idag, 2013, är programvaran ett av de mest populära programmen i allmänhet och den obestridda marknadsledaren inom bildredigering. Tack vare Adobe och Computer History Museum kommer programvaran att bevaras för eftertiden i en mycket speciell form.

.­.­.

Nyfikenheter i kungens spel

Schack har fascinerat människor i århundraden - dess regler är lätta att lära sig och dess otroliga djup är endast tillgängligt för erfarna spelare (tyvärr inte en av dem). I det följande kommer jag att behandla två korta frågor: Är det möjligt genom en korrekt sekvens av drag att komma till en position där den svarta kungen attackeras av två vita drottningar samtidigt? Är det också möjligt med två vita torn?

.­.­.

Docu-tvål istället för blockbuster: 48fps

Filmer spelas vanligtvis in och spelas upp med 24 bilder per sekund - men det nästan 100 år gamla standardformatet "24p" verkar vackla. För att förhindra de obehagliga biverkningarna (t.ex. det kraftiga ryck under mediesnabba kamerapannor) i 24 fps-projiceringen har man arbetat länge med att fördubbla bildhastigheten till 48 bilder per sekund och mer.

.­.­.

Kontrollera stavningen på webbplatser

Automatiserade stavnings- och grammatikkontroller är nu standardutrustning i ordbehandlingsprogram - men att kontrollera stavningen på en webbplats har varit relativt besvärligt hittills. Google Chrome tar ett första steg i denna riktning med en integrerad kontroll i flerradiga inmatningsfält (textarea). Nu finns det en tjänst som gör detta möjligt för hela webbplatser.

.­.­.

Telefonnummer i länkar - en säkerhetsrisk?

För några veckor sedan rapporterade jag hur du kan göra det möjligt för dina besökare att öppna telefonappen på mobila enheter genom att trycka på ett telefonnummer. Nu har det uppstått en möjlighet att oåterkalleligt blockera SIM-kortet eller att återställa enheten till fabriksinställningarna utan någon åtgärd från användarens sida.

.­.­.

Intressanta nyfikenheter via e-post

Bör domännamn och e-postadresser alltid vara små bokstäver för att se till att du kommer dit du vill åka? Eller är detta helt irrelevant? Till exempel har Googles e-postservrar nyfikna inställningar med intressanta effekter, som jag kort kommer att presentera i följande artikel.

.­.­.

Design av börskurserna i de dagliga ämnena

Jag följer noga utformningen av olika program på tysk tv. Knappast något program behåller sin företagsdesign permanent. Kvällsritualen för mötet framför TV-skärmen klockan 22.15 om dagens ämnen har orsakat mig ont i magen på senare tid: I några månader har ett helt förvirrande färgschema valts för presentationen av de aktuella börskurserna.

.­.­.

Länka telefonnummer korrekt

Om du optimerar din egen webbplats för mobila enheter bör du inte bara vara uppmärksam på olika skärmstorlekar, optimerade laddningstider och specialfunktioner i drift (som svävareffekter), utan också överväga enheternas speciella funktioner. Detta inkluderar även (vissa människor har glömt) att ringa telefonsamtal.

.­.­.

Duplicera innehåll på bloggar

Samma innehåll på olika webbplatser straffas av Google i många fall - ändå är Google-algoritmen intelligent och känner igen om elementen i sidhuvudet och sidfoten förblir desamma eller om hela testpassager kan nås två gånger under olika webbadresser. Den spännande frågan är hur Google hanterar bloggs artikelöversiktssidor.

.­.­.

Öka WordPress-säkerheten

Säkerheten för det för närvarande mest populära innehållshanteringssystemet WordPress kan ökas avsevärt genom att vrida två små skruvar. Det tar bara 5 minuter och två rader kod. Även om problemet också kan lösas med en mängd olika plugins begränsar jag mig medvetet till pluginfria lösningar.

.­.­.