Afrundingsfejl under overgangen

En samlet gennemsnitskarakter på \(2{,}33\) bekræfter egnethed til gymnasiet i Bayern, \(2{,}34\) bekræfter ikke længere ens egnethed til gymnasiet. Med denne skarpe grænse kan rækkefølgen af ​​to runder afgøre, hvilken side et barn lander på. De mulige konsekvenser af denne afrundingseffekt diskuteres i et blogindlæg af Günther Felbinger . Af interesse har jeg selv beregnet effekterne på tværs af alle karakterkombinationer, der er tilladt i modellen.

.­.­.

Nulstil Facebook 2FA

På grund af et uheld blev alle eksporterede koder slettet under eksportprocessen i Google Authenticator . Jeg havde gemt gendannelseskoderne for alle poster, men ikke Facebook- koden. Jeg havde ikke behov for det, og det hastede ikke, da jeg ikke havde brugt det sociale netværk i årevis, men jeg ville se, om jeg på en eller anden måde kunne få adgang igen. Begyndelsen på en odyssé.

.­.­.

Hvem ved sådan noget?

Nogle gange er et enkelt spørgsmål i programmet tidligt om aftenen (i dette tilfælde fra den anerkendte vært Kai Pflaume) nok til at forvandle en harmløs quizfinale til et mindre optimeringsproblem. Det er præcis, hvad der sker i "Hvem ved hvad?". Hovedspørgsmål: Kategorien er kendt, svaret ikke endnu – men indsatsen afgør allerede, hvilke resultater der stadig er gode.

.­.­.

Korrekt eller forkert forkortelse

Grundlæggende viden om brøker: Det er tilladt at forenkle ens faktorer. Det er ikke tilladt at forenkle ens cifre. Og alligevel er der brøker, hvor denne forbudte forenkling ser ud til at virke. Det er værd at undersøge en særlig simpel brøkfamilie nærmere: brøker, hvor det samme ciffer optræder i slutningen af tælleren og i begyndelsen af nævneren.

.­.­.

Stille tog

Underholdende skakopgaver forsøder livet. Dagens opgave: Hvids træk, makker i to. Stillingen stammer fra Erich Brunner i 1926 - og den er interessant, netop fordi den slet ikke ligner en typisk to-træks stilling. Du prøver direkte skakbud, tjekker tårntræk, ser efter dronningetræk og efter et par minutter bemærker du: Det er ikke de oplagte ideer.

.­.­.

Lad os kryptere DomainFactory

Nogle delte hostingpakker med cPanel tilbyder ikke AutoSSL eller tilbyder dem kun til højere priser. Resultatet: Du kan ikke udstede et gratis Let's Encrypt-certifikat via cPanel-grænsefladen, og alle domæner sidder fast på et selvsigneret certifikat. Browseren viser siden som "ikke sikker". Vejen ud: Hent selv certifikatet med acme.sh og installer det via cPanel UAPI - automatisk fornyelse, uden AutoSSL.

.­.­.

Delelighed

Hos Who Wants to Be a Millionaire var der for nylig et fint lille spørgsmål, som Günther Jauch tydeligvis måtte tænke på: "Et tal er altid deleligt med \(4\) uden en rest, hvis tallet dannes ud fra dets to sidste cifre...?" – og det er netop her, man skal tænke matematisk et øjeblik i stedet for at lade sig lokke af de kønne distraktioner. For mens svar som "er lige", "indeholder en \(0\) " eller "krydssummen er lig med \(4\) " lyder plausible ved første øjekast, er det rigtige svar baseret på en simpel egenskab ved vores decimalsystem.

.­.­.

AI vs. Erdős

Nogle matematiske problemer er formuleret så enkelt, at de kan forklares for et barn, men er så vanskelige, at de optager generationer af matematikere. Et sådant problem er det såkaldte enhedsafstandsproblem: Placer \(n\) punkter i planet. Hvor mange par af punkter kan så have en afstand på præcis \(1\) ? Problemet stammer fra Paul Erdős og er blevet studeret siden 1946. OpenAI har nu offentliggjort, at en intern model har afkræftet en længe kendt formodning om dette problem.

.­.­.

Kode i primtal

I oktober 1999 udgav en gruppe ledet af den dengang 16-årige nordmand Jon Lech Johansen DeCSS- programmet for at omgå Content Scramble System (CSS) DVD-afspilningsbeskyttelse. CSS brugte 40-bit kryptering, hvis nøgler blev distribueret til licenserede producenter, til at begrænse DVD-afspilning. Fordi distributionen af koden faldt ind under den amerikanske DMCA og var juridisk forbudt, søgte aktivister måder at skjule koden som en matematisk enhed.

.­.­.

ℚ er ikke komplet

Ved første øjekast virker de rationelle tal \(\mathbb{Q}\) som et mellemrumsløst kontinuum: mellem hver to brøker er der altid en anden. Men dette indtryk er misvisende: der er sæt af rationelle tal, der er afgrænsede, men hvis supremum eller infimum simpelthen ikke eksisterer i \(\mathbb{Q}\) . Årsagen ligger i eksistensen af ​​irrationelle tal som \(\sqrt{2}\) , der så at sige river usynlige huller i den rationelle tallinje.

.­.­.

Minecraft Boss Bars

PaperMC tilbyder et simpelt fundament for at udvide Minecraft-serversiden med små plugins, uden at klienter skal installere noget. Når man udvikler plugins, opstår spørgsmålet om, hvordan man viser dynamisk information til spilleren. Svaret ligger i en ofte overset standardfunktion: bossbaren . Bossbaren, der oprindeligt var beregnet til endbosser, kan genbruges og bruges som en minimalistisk HUD.

.­.­.

IPv6

Internetprotokollen (IP) er fundamentet for alle internetapplikationer. Andre protokoller, såsom TCP og UDP, bygger videre på den og transporterer til gengæld tjenester som HTTP(S), e-mail, telefoni og DNS. IPv6 erstatter den ældre IPv4-protokol, fordi dens relativt lille adresseområde på omkring 4 milliarder adresser for længst er udtømt. IPv6 er nu næsten allestedsnærværende og mere nyttigt, end mange er klar over.

.­.­.

Git uden SSH

Hvem har ikke oplevet dette: Du skal hurtigt downloade noget på en billig shared hosting-pakke (f.eks. fra IONOS). git pull Du vil måske gerne køre et program eller bruge en database, men din hostingudbyder giver ikke SSH-adgang – eller kun i dyrere abonnementer. Ofte er den eneste mulighed tilbage den besværlige proces med manuelt at uploade filer via FTP, hvilket gør implementeringer unødvendigt komplicerede og udsatte for fejl.

.­.­.

Amazon og moms

Amazon er den perfekte shoppingkanal for freelancere: hurtigt, overkommeligt og alt samlet ét sted. Amazon har nu formået konsekvent at levere rettidige og let tilgængelige fakturaer til download (selv for køb på Marketplace). Uanset om det er en ny bærbar computer, en kontorstol eller bare en hurtig bestilling af printerpapir – kan varerne bestilles med blot et par klik, normalt via den personlige konto, du alligevel har haft i årevis.

.­.­.

git-status 2.0

Den, der er først om morgenen git status at skrive og derefter drikke kaffe vil elske denne lille hjælper. Især når mange webprojekter udvikles sideløbende, er ét værd kompakt overblik: Hvor er arbejdstræet rent, hvor hænger usammenflettede ændringer, og hvor venter et træk/skub? Et lille shell-værktøj vil gøre tricket - så længe det robust håndterer mellemrum/Unicode i stier og ikke kvæler ved hængende fjernbetjeninger.

.­.­.

Sprog og logik

Der er en smuk sang af Cali Rose , der hedder "It Is What It Is and It Ain't What Is Ain't ". Dette kan forenkles til "It is what it is and it isn't what it isn't". Med blot et par ord kan hele verdener af sandhed udforskes. Ved at variere og kombinere de to halvdele opstår en lille legeplads for logik. Nu kan du tage denne sætning og finde andre interessante eksempler.

.­.­.

Thunderbird-automatisering

Thunderbird har oplevet en bemærkelsesværdig genoplivning siden 2022. Efter flere års stagnation investerer Mozilla Foundation igen aktivt i dens udvikling. Supernova-initiativet (Thunderbird 115+) medførte grundlæggende moderniseringer såsom Rust-integration til ydeevnekritiske komponenter, en moderniseret brugergrænseflade baseret på webkomponenter og native Exchange-understøttelse via EWS/Microsoft Graph API.

.­.­.

Walrus-operator i PHP

I oktober 2019 introducerede Python 3.8 Walrus-operatoren (:=) via PEP 572 – og dermed udløste en af de største kontroverser i programmeringssprogets historie. Debatten var så bitter, at Pythons opfinder Guido van Rossum i juli 2018 – selv før løsladelsen – sin stilling som BDFL (Velvillig diktator for livetSiden begyndelsen af 2019 har Python i stedet været styret af et valgt styringsråd.

.­.­.

Af Celsius og Fahrenheit

Du taler i telefon med en ven i USA på en iskold vinterdag. "Det er minus \(40\) grader her!" udbryder I begge samtidig. Normalt ville det handle om at præcisere, hvem der mener Celsius, og hvem der mener Fahrenheit – men ikke ved denne specifikke temperatur. Hvorfor det? Dette punkt er den eneste temperatur, hvor Celsius- og Fahrenheit-skalaerne stemmer overens!

.­.­.

Forvirring i den naturlige sorteringsorden

De fleste grafiske filhåndteringer sorterer ikke strengt leksikografisk, men bruger snarere "naturlig sortering". Blokke af tal i navnet tolkes som tal - den større blok af tal vinder, selvom det modsatte ville komme ud rent alfabetisk. Idéen bag naturlig sortering: Det folk mest ønsker er "9 før 10", "Kapitel 2 før kapitel 10", uden at skulle tilføje indledende nuller.

.­.­.

Prioritet i Windows Opgaveplanlægger

Enhver, der kører job i Windows opgaveplanlægning, vil før eller siden støde på uforklarlige forskelle i kørselstid. Et PHP-script, der kører på 5 minutter på kommandolinjen, tager pludselig 20 minutter, når det køres via Windows Task Scheduler. Samme bruger, samme rettigheder, samme kode – fire gange udførelsestiden. Hvad foregik der?

.­.­.

ARC-AGI-benchmarken

Det kontinuerlige fald i prisen på computerkraft – to størrelsesordener pr. årti – har givet næring til deep learning-modeller siden 2010. Større netværk plus flere data leverede tilsyneladende pålideligt stadigt højere scorer på almindelige benchmarks – og nærede håbet om, at skalering alene uundgåeligt ville føre til AGI. Allerede i 2019 introducerede François Chollet ARC-AGI- benchmarket. at måle intelligens.

.­.­.

Vis afsenderens e-mailadresse i Outlook

Afsenderens e-mailadresse er fortsat en god indikator for, om en e-mail er spam eller ej. Som standard er det ikke intuitivt i Microsoft Outlook Desktop at tilføje en kolonne, der viser den faktiske e-mailadresse i stedet for navnet. Microsoft har ikke implementeret denne funktion som en simpel mulighed indtil videre – men den kan tilføjes til den klassiske Windows-version af Outlook ved hjælp af indbyggede værktøjer.

.­.­.

SSL i lokalt udviklingsmiljø

I tider med kun HTTPS-browsere, SameSite-cookies og realistiske udviklingsforhold er det vigtigt at arbejde lokalt med rigtige SSL-certifikater. Let's Encrypt har udført banebrydende arbejde her – ved hjælp af certbot og Cloudflare er det hurtigt og nemt at oprette og forny jokertegncertifikater. Dette giver dig adgang til dine webprojekter krypteret på enhver enhed (smartphone, VM, ...) i det lokale netværk eller via VPN.

.­.­.

Byg din egen store sprogmodel

"En maskine kan have en stor hukommelse, men den kan ikke tænke - medmindre vi lærer den." – Alan Turing. Moderne AI-modeller som GPT-4 eller Llama er baseret på enorme datasæt og komplekse matematiske strukturer. Men hvad ligger der egentlig bag? I denne artikel ser vi på de nøglekomponenter, der er nødvendige for at bygge en sprogmodel fra bunden.

.­.­.

Vær selv vært for OpenStreetMap

OpenStreetMap (OSM) er et gratis verdenskort skabt i samarbejde af mennesker over hele verden - gratis, åbent og uafhængigt. Mens Google Maps som markedsleder ofte er førstevalget for digitale kort, er OSM afhængig af et helt andet princip: et samarbejdsfællesskab, der indsamler, forbedrer og gør geografiske data gratis tilgængelige.

.­.­.

Adgang med PHP til Exchange/Office 365

Længe annonceret - nu virkelighed : Microsoft har slået autentificering med adgangskode fra for visse protokoller i Exchange Online fra september 2022 til fordel for oAuth2. GitHub-problemerne i mange biblioteker og backup-scripts gør det klart, at skiftet overraskede mange administratorer. Nedenfor viser vi en måde, hvordan du kan fortsætte med at få adgang til indholdet af din Exchange-postkasse ved hjælp af oAuth2 via PHP via IMAP.

.­.­.

Send e-mails forsinket

Tiden er ikke rigtig? Sendt e-mail for tidligt? At forsinke e-mails kan være nyttigt i mange situationer: om du skal give dig selv gennemgangstid eller for effektivt at styre din egen arbejdsbyrde - timing kan være afgørende. Her er tre måder, hvorpå du kan forsinke afsendelsen af ​​e-mails og optimere din egen kommunikation.

.­.­.

Styr browsere med AI

Browserautomatisering spiller en stor rolle inden for områder som web-skrabning, automatiseret test og interaktion med webapplikationer. Hidtil er for eksempel Puppeteer blevet brugt til dette formål. Med fremkomsten af ​​kunstig intelligens åbner der sig nu nye muligheder for at gøre browserautomatisering mere intuitiv og mindre vedligeholdelsesintensiv - ryd scenen for Stagehand .

.­.­.

Fejlretning af PHP med Xdebug

Xdebug er et kraftfuldt værktøj til debugging og profilering til PHP, der hjælper os med at analysere og optimere PHP-applikationer. Det understøtter funktioner som trinvis debugging, performancemåling og stack tracing, hvilket i høj grad forenkler fejlfinding og giver bedre indsigt i koden. Følgende er en kort opsætningsvejledning til brug i VS Code.

.­.­.

Om væsker

Forestil dig to identiske kopper - den ene fyldt med kaffe og den anden med mælk, begge på samme niveau. En teskefuld kaffe hældes nu fra kaffekoppen ned i mælkekoppen og røres. Tilsæt derefter en teskefuld af blandingen fra mælkekoppen tilbage i kaffekoppen. Hvilken kop indeholder mere fremmed væske bagefter?

.­.­.

Git commit beskeder med ChatGPT

Commit-beskeder i Git bliver ofte overset. Mange ser dem blot som et nødvendigt onde for at gemme ændringer. Men meningsfulde commit-beskeder er en afgørende faktor for et projekts succes: de sikrer god sporbarhed af ændringer, effektivt teamsamarbejde og hurtigere fejlretning. Grund nok til at få commit-beskeder udarbejdet automatisk ved hjælp af AI.

.­.­.

Den rektangulære februar

Februar antager sommetider en usædvanlig tiltalende form i kalenderen. For eksempel kunne man i februar 2021 opleve en sådan "perfekt rektangulær februar". Denne sjældne effekt opstår, når februar har præcis \(28\) dage, og den 1. februar falder på en mandag. Men hvor ofte sker dette egentlig, og hvor længe skal vi vente på næste gang?

.­.­.

Lodret centrering i CSS

CSS er stadig forvirrende for de fleste af os: det har hundredvis af dårligt navngivne egenskaber, som hver især kan påvirke resultatet på ikke-intuitive måder. Den vertikale placering af elementer i webudvikling er vanskelig og har tidligere ofte forårsaget hovedpine. Men de dage er heldigvis forbi.

.­.­.

højde: 0 til højde: autoanimer med CSS

CSS-overgange er en fantastisk måde at skabe interaktivitet på. Det er nok, transition til starttilstanden for et element, og browseren animerer overgangen mellem de to tilstande. Overgange for iboende elementstørrelser som auto Har dog været et problem for webudviklere i årtier, og den eneste mulighed var dynamisk at beregne højden ved hjælp af JavaScript.

.­.­.

Der er intet heltal mellem 0 og 1

Der er ingen \(n \in \mathbb{Z}^+\) sådan at \(0 < n < 1\) .

.­.­.

Elevator paradoks

I 1950 bemærkede fysikerne George Gamow og Marvin Stern et interessant fænomen: Gamow, der havde et kontor på første sal i en seks-etagers bygning, bemærkede, at fem ud af seks gange den næste elevator, der ankom, gik ned, selvom han ønskede at gå op. Stern, der arbejdede på femte sal, observerede det modsatte.

.­.­.

Quine

Et Quine-program eller Quine er et program, der udsender sin egen kildekode, når det udføres. En Quine må ikke "træde uden for sig selv" ved for eksempel at udskrive indholdet af filen, der indeholder den eller bruge introspektive evner til at udskrive sin egen repræsentation. I stedet skal den beregne sin egen kildekode.

.­.­.

Filrotation med bash-script

Kraftige værktøjer som logrotate gør arbejdet med at rotere log- eller backupfiler meget lettere. Så filerne roteres efter et vist tidsrum, eller når de når en vis størrelse. Hvis du ikke har dette værktøj tilgængeligt på en ekstern server og kun kan udføre eksterne SSH-kommandoer, kan du bruge et lille bash-script, der sletter gamle filer og kun laver én anmodning.

.­.­.

Benfords lov

I tallenes verden støder du altid på overraskende mønstre, der kan være både forbløffende og oplysende. En sådan kuriosum er Benfords lov, også kendt som loven om det første ciffer. Dette matematiske fænomen beskriver frekvensfordelingen af de første cifre i mange rigtige datasæt og giver interessant indsigt i tallenes natur, som de forekommer i vores miljø.

.­.­.

Paradoksal sandsynlighedsberegning

Jeg har to børn, en søn der blev født om torsdagen. Hvad er sandsynligheden for, at jeg får en datter? Lad os betegne ugedagene med tallene \(1, 2, … , 7\) hvor \(1\ =\) mandag, \(2 =\) tirsdag osv. Nu kan vi definere begivenheden "På dag \(n\) blev en dreng født" som \(B_n\) og analogt for \(G_n\)

.­.­.

Dommedagsargumentet

Hvis vi antager, at antallet \(Y\) af alle mennesker, der nogensinde har været og med tiden vil blive født, er begrænset, så lad \(x\) være din absolutte position fra starten af listen. Derefter \(0 < \frac{x}{Y} \leq 1\) . Vi kan nu sige med en sandsynlighed på \(95\%\) , at du er blandt de sidste \(95\%\) af alle mennesker, der nogensinde er født, så \(0,05 < \frac{x}{Y} \leq 1\) og derfor \(Y < \frac{x}{0,05} = \frac{100 \cdot x}{5} = 20 \cdot x\) .

.­.­.

Drikker paradoks

Følgende sætning er kendt som "drikkerens paradoks": "Der er nogen i baren, så hvis han eller hun drikker, drikker alle i baren." Det er lige meget, om den ene person opfordrer andre til at drikke, eller om der findes en anden bagdør, som vi vil se om et øjeblik. Det er et fint eksempel fra matematisk prædikatlogik.

.­.­.

Tal gætte

En dreng tænker på et tal, der er \(1\) , \(2\) eller \(3\) , og en pige må derefter kun stille ét spørgsmål om dette tal. Drengen kan kun svare " ja ", " nej " eller " jeg ved det ikke." Ved at stille spørgsmålet klogt, formår pigen at navngive det rigtige nummer, som drengen tænkte på, efter at drengen har svaret hende. Hvad er dit spørgsmål?

.­.­.

Genstand uden oprindelse

Forestil dig, at du en dag modtager en mystisk pakke uden returadresse. Nysgerrig åbner du den og finder en ring, som du giver til din datter. Årtier senere er det hende, der kan sende genstande tilbage i fortiden ved hjælp af et ormehul. Hun gør det med den ring, hun engang modtog fra dig, pakket i en pakke adresseret til dig. Spørgsmålet er: Hvor kom ringen fra?

.­.­.

CI med GitHub Actions

Som et alternativ til det højt værdsatte Travis CI har GitHub Actions været tilgængeligt i nogen tid nu. Som et kontinuerligt integrationsværktøj er det meget godt integreret i GitHub-kodeplatformen og kører nu meget stabilt. GitHub Actions er afhængig af YAML-konfigurationsfiler, der er placeret i det lager, hvor workflowet skal udføres.

.­.­.

Steins paradoks

I 1961 udgav James og Stein papiret Estimation with Quadratic Loss . Tag normalfordelte data med en ukendt middelværdi \(\mu\) og varians \(1\) . Hvis du nu vælger en tilfældig værdi \(x\) fra disse data og skal estimere middelværdien \(\mu\) på baggrund af dette, er \(x\) intuitivt et rimeligt estimat for \(\mu\) (da en normalfordeling er til stede, er den tilfældigt valgte \(x\) sandsynligvis nær \(\mu\) ).

.­.­.

UUID'er i databaser

UUID'er (Universelt unikke id -enifikatorer) er 128-bit værdier, der blandt andet bruges i databaser til entydigt at identificere tabelposter. De er repræsenteret som en hexadecimal streng opdelt i fem grupper adskilt af bindestreger (eksempel: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). Der er talrige Diskussioner om fordele og ulemper ved UUID'er i databaser - de er uundværlige i distribuerede systemer.

.­.­.

Ryd op i Git historie del 2

Følsomme data eller for stort lagerpladsforbrug: Der er gode grunde til at ændre Git-historikken. I dette blogindlæg forklarede jeg, hvordan man sletter filer fra Git-historikken ved hjælp af BFG . Et svagt punkt ved BFG er manglen på understøttelse af direkte stier , så du kan ikke specifikt fjerne filer eller mapper i undermapper fra historikken. Med det er det tid til at se på alternative løsninger.

.­.­.

Hukommelsesbegrænsning i WordPress

tl;dr: Indstil manuelt værdier eller standardværdierne for WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT har ingen effekt hvis WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT mindre end eller lig med PHP's hukommelsesgrænse (herefter benævnt memory_limit kaldet) er. De bruges til at indstille for lave værdier af memory_limit dynamisk til et anbefalet minimum.

.­.­.

Hurtigt tip: Rediger iframe

Hvis du indlejrer en tredjeparts iframe (som en widget), kan du ikke få adgang til dens indhold med hverken CSS eller JavaScript (på grund af den såkaldte same-origin policy ). Der er dog en meget enkel procedure til at ændre enhver kode (også i andre filer, der genindlæses i iframen). For at gøre dette, dirigerer du URL'en gennem din egen PHP-proxy og ændrer indholdet, som du ønsker.

.­.­.

Mønter i ANTON-appen

ANTON er en af ​​de mest populære læringsapps for elever i klasse 1-10. klasse. Ved første øjekast kan gamification-aspektet ved at erhverve mønter ("mønter") virke mærkeligt for voksne – men det multiplicerer mærkbart motivationen, ikke kun hos mine børn. Det sparer endda en lille "pude" af mønter, som du ikke rører.

.­.­.

Om robustheden af ​​IBAN

Det tyske IBAN består af landekoden (DE), et tocifret kontrolciffer (i henhold til ISO 7064 ), bankkoden (8 cifre) og kontonummeret (inklusive underkontonummer, 10 cifre, manglende cifre udfyldt med foranstillede nuller), hvilket gør det 22 tegn langt. For at beregne kontrolcifferet dannes der først en sekvens af det såkaldte BBAN (bankkode og kontonummer), den numeriske landekode \(1314\) for Tyskland og kontrolcifferet \(00\) .

.­.­.

Matematik i spillet Dobble

Ved vores sidste familiespilaften fremviste børnene entusiastisk spillet Dobble (Harry Potter-udgaven). Efter at have tabt fem runder (uden at mit kort synligt matchede spillekortet), blev jeg overrasket over at erfare, at alle spillere altid kan finde en match i hver runde. Min vantro blev dog kun mødt med flere tabte runder – børnene var simpelthen hurtigere.

.­.­.

Bitcoin blokeringstid

Du ved: Den forventede tid mellem to Bitcoin-blokke er i gennemsnit \(10\) minutter. Nu laver du en vigtig Bitcoin-transaktion og venter spændt på at se, om og hvornår den dukker op i næste blok:

e50bfacc95975a4e7545d83d8954645f

.­.­.

Corona matematik

I RKI-ugerapporten af ​​11.11.2021 står det på s. 22, at \(36\%\) de over 60-årige coronapatienter på intensivafdelingen allerede var fuldt vaccineret. I denne aldersgruppe var \(87\%\) fuldstændig vaccineret på dette tidspunkt (se s. 18).

.­.­.

Decimalbrøker

Finite decimaltal kaldes decimalbrøker, fordi de er en anden repræsentation for brøker med ti potenser i nævneren. Det er også:

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

med \(k \in \mathbb{N}\) og \(q_k\) \(k-1\) -te pladsen til højre efter kommaet.

.­.­.

Hurtigt tip: Skift automatisk nodeversionen

Brug af nvm anbefales til hurtig installation og ændring af nodeversioner. Hvis du eksplicit vil angive den nødvendige nodeversion i et projekt, placerer du en fil kaldet .nvmrc med det nøjagtige versionsnummer (f.eks. "12.10.0") i den samme mappe, som package.json er placeret i. Hvis du nu skifter til mappen, udfører følgende udvidelse af filen ~ / .bash_profile for bash kommandoen nvm -brug , som automatisk indstiller denne version:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

Brug containerforespørgsler i dag

Siden fremkomsten af responsivt webdesign har udviklere efterspurgt muligheden for at style DOM-elementer baseret på deres faktiske størrelse i stedet for browserens viewport-størrelse (ved hjælp af media queries ). Faktisk er container queries (oprindeligt element queries) nok den mest efterspurgte CSS-funktion, som browsere stadig mangler .

.­.­.

Ryd op i Git -historien

Følsomme data såsom adgangskoder bør gemmes i .env-filer og, hvis muligt, ikke i Git-repositories. Det er dog sandsynligvis sket for os alle mindst én gang ved en fejltagelse: hurtigt at udgive et flot Google Maps JS API-script til GitHub Gists (som "offentlig") og utilsigtet undlade at skjule vores egen private Maps API-nøgle.

.­.­.

Klip SVG'er ud af billeder med klipsti

Hvis du vil klippe et billede ud ved hjælp af en SVG, anbefales det at bruge CSS-egenskaben `clip-path` . Følgende script fjerner flere hindringer: SVG'er kan gemmes ved hjælp af Illustrator, du kan angive den (relative eller absolutte) URL for en SVG (Chrome understøtter i øjeblikket kun indlejrede SVG'er), og udskæringen er også fuldstændig responsiv.

.­.­.

Hurtigt tip: WP_Query & multi-line felter

Ved at bruge `meta_query`- attributten i den kraftfulde WordPress-klasse `WP_Query` kan du filtrere indlæg, der har specifikke værdier i deres metafelter. Hvis du har oprettet et metafelt med flere linjer (f.eks. ved hjælp af Advanced Custom Fields ) og kun ønsker at finde indlæg, der indeholder en specifik værdi i dette linjeseparerede felt, anbefales REGEX-verdenen i MySQL.

.­.­.

Integrer Adobe Animate-animationer indbygget

I en tidligere artikel beskrev jeg, hvordan du nemt kan integrere animationer fra Adobe Animate på et websted ved hjælp af en APNG-eksport. Der er også den native måde via HTML5 Canvas Export , men alle, der allerede har arbejdet med det, vil bemærke, at der er problemer ved hver tur (utilstrækkelig responsiv support, besværlig integration i eksisterende websteder, ingen forskellige billedhastigheder pr. animation osv.). Biblioteket adobe-animate-embed kan hjælpe her.

.­.­.

Google Maps uden en API-nøgle

Normalt, når du integrerer Google Maps, arbejder du med Maps JavaScript API , som kræver en API-nøgle og kan medføre omkostninger, der ikke bør undervurderes med højere adgangsnumre. Der er gode alternativer såsom mapbox eller OpenStreetMap , men de opnår endnu ikke de mange funktioner, der tilbydes af Google. Google tilbyder også en måde uden en API-nøgle via delingsfunktionen, som vi kan bruge til vores formål.

.­.­.

Adobe Animate APNG Export

Browserunderstøttelse af animerede PNG-filer er nu så avanceret, at animationer oprettet med Animate CC nemt kan eksporteres som APNG og derefter integreres på en webside ved hjælp af et simpelt `<img>`-tag. Dette giver et simpelt og højkvalitetsalternativ til publiceringsmetoden i Animate CC, som genererer JavaScript. De nødvendige trin er beskrevet nedenfor.

.­.­.

Udvid WordPress-søgning

Hvis du vil udvide den native WordPress-søgning til f.eks. at inkludere metafelter, anbefales det at se på de aktiverede filtre . For at sikre, at paginering fortsat fungerer, og at fremtidige søgeforbedringer ikke kompromitteres, anbefales hook'en `posts_search` . Følgende kode, der bruger funktionerne REGEXP og ExtractValue , udvider denne søgning til at inkludere indlæg, der indeholder et af de indtastede søgeord i alle metafelter.

.­.­.

Beregning af SIstrix synlighedsindeks

Sammen med Xovi er SISTRIX- værktøjet det mest udbredte analyseprogram i Tyskland inden for SEO-området. Synlighedsindekset har etableret sig som en kvasi-standard for synlighed af en side i Google-søgning. De parametre, der indgår i dens beregning, er for eksempel forklaret her og her og her og her og her , men en nøjagtig beregningsformel er ikke officielt offentliggjort. Følgende er resultaterne af mine seks måneder lange personlige undersøgelser, som ikke hævder at være fuldstændige eller korrekte.

.­.­.

Godels mesterværk

Da Kurt Gödel offentliggjorde sine berømte ufuldstændighedssætninger i 1931, rystede det grundlaget for matematisk logik: Han tilbageviste, at alle aksiomer, der kan indstilles som et muligt grundlag, uundgåeligt er ufuldstændige for at bevise alle udsagn om tal - og ødelagde det Hilberts drøm om at bevise konsistensen af ​​matematisk teori.

.­.­.

Brug WhatsApp via API

På trods af alle bekymringer om databeskyttelse er WhatsApp stadig tyskernes foretrukne messenger-app. Udover den særlige WhatsApp Business-app har Facebook også lavet en officiel grænseflade, WhatsApp Business API, for at gøre den mere interessant for virksomheder. Hvis du vil sende WhatsApp-beskeder programmatisk fra din webapplikation, er der også andre muligheder.

.­.­.

Slør siden bag overlayet ved hjælp af CSS

Hvis du bruger elementer som f.eks. Overlays (som er reglen i tider med GDPR-actionisme) og f.eks. Vil blødgøre området bag overlayet, støder du ofte på problemet med stablingskonteksten . For eksempel, hvis du har elementer placeret absolut eller i en fast position, vises de pludselig anderledes end uden et anvendt filter. Men der er et middel.

.­.­.

Hurtigt tip: Opdel test med Apache

Du behøver ikke et effektivt værktøj som Google Optimize til simple URL-splittests; du kan også implementere en splittest med Apache ved hjælp af .htaccess. Følgende kodestykke fordeler besøgende fra de to sider https://vielhuber.de/test1.php (Variant 1) og https://vielhuber.de/test2.php (Variant 2) ligeligt mellem begge versioner. Randomiseringen er baseret på den aktuelle servertid.

.­.­.

Om notationen af ​​forgrenede funktioner

Krøllede parenteser bruges i notationen af ​​funktionsdefinitioner med forskel mellem store og små bogstaver. Vi forfølger det enkle spørgsmål om, hvorvidt denne repræsentation også kan elimineres, og funktionen kan reduceres til en notation, der kan klare sig uden den. For eksempel funktionen

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

repræsentere det i et en-linjeled ved hjælp af de fire grundlæggende aritmetiske operationer?

.­.­.

Dataserier i Google Sheets

Når man visualiserer data i Google Sheets, støder man på problemet, at \(x\) -aksen ikke automatisk kan udfylde de manglende huller i tekstværdier (f.eks. I kalenderuge). For at løse problemet genererer du en kontinuerlig serie af datoer, tæller cellerne, der forekommer selv, og visualiserer derefter de kumulative summer.

.­.­.

Hurtigt tip: PHP clearstatcache

Find fejlen:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Google Oversæt API Hacking

Google tilbyder Google Translation API med en brugsbaseret omkostningsstruktur som en del af sin Google Cloud. Der er også en udokumenteret API, der kan bruges uden nøgle , men som nægter at arbejde efter blot et par anmodninger. Når du bruger webstedsoversættelsesfunktionen i Google Chrome, bemærkes det, at sider kan oversættes i meget god kvalitet uden nogen mærkbar begrænsning.

.­.­.

Hurtigt tip: Git automatisk tagging

Når GitHub linkes til Composer , er det obligatorisk at tildele et versionsnummer via `git tag` . Følgende kommandolinjekommando bestemmer det aktuelle tag og øger det (i henhold til SemVer ) med et versionsnummer. For eksempel følger version 1.1.0 1.0.9. Hvis der ikke tildeles et tag, tagges versionen automatisk med 1.0.0. Værktøjer som flimsy eller ` git hooks` forkorter denne lange taggingproces.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

Rediger MySQL-udløser

Desværre tilbyder MySQL ikke en ALTER TRIGGER-funktion. For at redigere en eksisterende trigger skal du først slette den og derefter generere den igen. CREATE TRIGGER-sætningen kan tilgås indirekte via information_schema . Dette giver os mulighed for at ændre triggere indirekte. For at gøre dette skal du foretage dine ændringer i resultatet af følgende SELECT-kommando (efter at have ændret database- og triggernavnene) og udføre forespørgslen.

.­.­.

Udløs ændringshændelser i VanillaJS

VanillaJS har været på niveau med veteran jQuery på næsten alle områder siden ES6 og er nu langt overlegen. Så det lønner sig at gradvist migrere ældre kode væk fra jQuery. Du skal dog være forsigtig, når du udløser manuelle ændringer. For eksempel udløses document.addEventListener ikke på jQuery.change () . Den følgende oversigt opsummerer de særlige funktioner.

.­.­.

Kontroller cookies med PHP og JS

Indstillingen af ​​cookies ved hjælp af dine egne eller tredjeparts scripts kan fint kontrolleres ved hjælp af både PHP og JavaScript. Selvom dette ikke er en tilstrækkelig løsning til implementering af cookie-løsninger efter domstolens dom mod Planet49 (her er det afgørende, at sporingsværktøjer som Google Analytics ikke sporer i første omgang og derfor ikke sætter cookies), så kan det give mening generelt at hvid-/sortliste cookies.

.­.­.

Deaktiver enheder via script i Windows

For at spare strøm eller reducere din egen overvågningsparanoia tilrådes det at frakoble ubrugte enheder på din egen computer fuldstændigt fra strømmen. Enheder såsom lydbokse eller webkameraer kan aktiveres / deaktiveres på den klassiske måde ved hjælp af enhedsadministratoren. Det hele fungerer også via script. Standardmåden at gøre dette plejede at være devcon . Windows 10 tilbyder nu en mere bekvem måde at gøre dette på via PowerShell .

.­.­.

Sløring af Skype-baggrund

Skype har en fin, lidt skjult funktion: Under videotransmissioner kan du nemt sløre baggrunden automatisk ved at klikke på videoknappen og bruge funktionen " Slør min baggrund ". Ved hjælp af kunstig intelligens fungerer dette med ethvert kamera, selv uden dybdeinformation. Det hele fremstår så mere professionelt og skjuler private ting i baggrunden eller ting, der er ligegyldige for samtalen.

.­.­.

OPcache PHP opstartsoptimering

For hjemmesider, der eksempelvis er baseret på WordPress , Joomla eller Laravel , og som ikke har noget brugerspecifikt indhold, anbefales det at holde alle sider i en statisk HTML-cache og kun regenerere cachen manuelt (eller automatisk), hvis der er ændringer i backend. Men hvis siden indeholder dynamisk indhold, der afhænger af sessioner og cookies eller sprog og placering, er brugen af ​​OPcache velegnet.

.­.­.

SVG-eksport fra Illustrator

SVG'er spiller en central rolle i dagens internet. De har ikke kun fortrængt ikonskrifttyper, men giver også mulighed for manipulation via CSS eller JavaScript. Hvis du vil gemme en vektorgrafik til internettet fra Adobe Illustrator som SVG, skal du foretage nogle indstillinger for at undgå faldgruber og reducere indlæsningstider, hvilket jeg vil præsentere i den følgende artikel.

.­.­.

Project Euler: Gitterstier

Projekt Euler er en række spændende programmeringsproblemer, ofte med en matematisk baggrund. Problemerne er ofte designet til at kræve udvikling af sofistikerede algoritmer for at nå målet inden for en rimelig tidsramme. I dag løser vi problem 15: Gitterbaner , som kan løses ved hjælp af simple kombinatoriske metoder.

.­.­.

Automatiske WordPress-opdateringer

Siden version 3.7 har WordPress implementeret baggrundsopdateringer og automatisk aktiveret dem for mindre udgivelser. Filtre giver dig mulighed for mere præcist at kontrollere, hvad der opdateres automatisk. En permanent, fuldautomatisk installation af alle mindre, større, plugin-, tema- og oversættelsesopdateringer understøttes ikke, men kan nemt opnås på andre måder.

.­.­.

Google Sheets: Udvidelse af formler

For at udvide formler til hele kolonner i Google Sheets anbefaler vi at bruge den nyttige ARRAYFORMULA- funktion. Desværre virker dette ikke i kombination med nogle andre vigtige funktioner såsom QUERY eller INDIRECT , hvorfor du helt skal tilpasse logikken ved hjælp af Google Apps Script eller alternativt manuelt kopiere formlen ned til sidste linje.

.­.­.

Simpson-paradokset

Simpsons paradoks er et af de let forståelige og samtidig forbløffende fænomener i statistikken. Det forekommer, når datagrupper viser en bestemt tendens, men denne tendens vendes, når grupperne kombineres. Ved hjælp af et simpelt eksempel kan paradokset forstås med det samme.

.­.­.

Hurtigt tip: Google Tag Manager

Google Tag Manager har etableret sig som de facto-standarden for integration af tracking-scripts. På den ene side adskiller dette klart ansvarsområderne (online markedsføring vs. programmering), og på den anden side kan du hurtigt oprette og ændre sporing via en ekstra distributionskanal. Her er to små tip til opsætning af udløsere.

.­.­.

Hurtigt tip: FRITZ! Box WLAN-hotspot

Fra FRITZ! OS 07.10 og fremefter, hvis internettet mislykkes, kan FRITZ! Box midlertidigt bruge det trådløse hotspot på en mobiltelefon som en reserve. Funktionen er skjult under Internet> Adgangsdata> Internetudbyder> Eksisterende adgang via WLAN . FRITZ! Box fungerer derefter som en router i sig selv og forsyner et netværk med sit eget adresseområde. Når internettet er tilgængeligt igen, nulstilles du blot indstillingen. Jeg var også nødt til at kontrollere indstillingerne WLAN> Radionetværk> 2,4 GHz frekvensbånd aktivt og Internet> Adgangsdata > IPv6> IPv6-understøttelse aktiv .

.­.­.

Livets blomst

Livets Blomst er et velkendt, blomsterlignende, geometrisk mønster, der har optrådt i templer, manuskripter og, for nylig, i populærkulturen i tusinder af år. Mønsteret spiller også en rolle i esoterismen. Vi vil se bort fra alt dette her og fokusere på den simple konstruktion af den geometriske form, som består af flere jævnt fordelte, overlappende cirkler.

.­.­.

E-mail forsinkelse i Outlook

Det asynkrone kommunikationsmedie e-mail er - på trods af alle undergangsprofetier omkring Slack og Discord - det dominerende kommunikationsmedie i erhvervslivet verden over. Ud over Inbox Zero fra Merlin Mann er der adskillige andre strategier til at håndtere den daglige strøm af e-mails, herunder såkaldt e-mail-forsinkelse, det vil sige den forsinkede levering af e-mails.

.­.­.

En spiral af tal

I de sidste par dage har jeg undersøgt følgende spørgsmål på StackExchange om en spiral af heltal. Vi leder efter en lukket formel for koordinaterne til \(n\) -th-elementet i det følgende heltalsspiral, der strækker sig fra oprindelsen til det ydre og længere og længere ind i uendelig:

..  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 rettigheder i Google Sheets

Når du arbejder med Google Sheets, kan du definere detaljerede, brugerbaserede regler for redigering af regneark, kolonner og rækker i et regneark. Desværre er der ingen måde at begrænse læseadgang på. Dette ville være meget nyttigt i mange scenarier, for eksempel for kun at vise dine kunder de supportsager, der er relevante for dem, eller dine medarbejdere kun de projekter, de arbejder på.

.­.­.

Garn plug'n'play

npm er standardpakkehåndteringen for Node.js. Facebook har længe udviklet en alternativ pakkehåndteringsløsning kaldet Yarn . Garn ser ud til langsomt at forsvinde fra GitHub readmes som standardløsningen, og statistikken på det officielle websted viser, at kun en brøkdel af pakkeinstallationerne udføres med Yarn. Ikke desto mindre er det værd at kigge uden for boksen.

.­.­.

Konverter PDF til LaTeX


Sætningssystemet \(\TeX\) blev udviklet i 1977 af den legendariske Donald E. Knuth . Softwarepakken \(\LaTeX\) er stadig en del af standardrepertoiret, når der oprettes videnskabelige artikler. Med de følgende to værktøjer kan allerede genererede PDF-filer og håndskrevne noter konverteres fuldt ud automatisk til TeX. Resultaterne er meget lovende.

.­.­.

Simuleringsargumentet

Nick Bostroms simuleringsargument er imponerende enkel og klar. Det forsøger ikke at bevise, at vi lever i en simulering, men formulerer i stedet elegant tre muligheder, hvoraf den ene skal være sand. Elon Musk går også ind for en lignende afhandling, der gjorde ideen kendt for en bred offentlighed. Det officielle papir er over 14 år og lige så mange sider er korte. Den centrale erklæring er let at forstå og kompakt.

.­.­.

Kritisk fejl, når du bruger WPML + ACF

De kraftfulde WPML- plugins til flersprogethed og Advanced Custom Fields til dine egne felter er standardudstyr i mange installationer. Det er irriterende, når der opstår funktionsfejl og datatab i kombination. Fejlrapporterne om emnet er et par år gamle og ubesvarede ( her og her og her og her og her ). Jeg har lige kigget nærmere på problemet.

.­.­.

Filupload i Facebook In App Browser

På nogle Android-telefoner opfører både Facebook- og Instagram-browseren i appen (i dag) sig forkert, når accept-attributten er angivet for et upload-felt på en promoveret eller linket landingsside. Knappen havde derfor ingen funktion. Hvis du åbner siden i en ekstern, normal browser uden for Facebook-appen, er alt i orden. Dette er irriterende (især da det har været rapporteret i lang tid), men det kan løses med en løsning.

.­.­.

Chrome Devtools: Flyt DOM-elementer

Google Chromes udviklerværktøjer er blandt de mest kraftfulde på browsermarkedet. Nye funktioner tilføjes månedligt, som Google præsenterer i et komprimeret format på YouTube . Men ofte er det de små ting i livet, der bringer glæde. Hvis du vil slette DOM-elementer i Google Chrome, kan du gøre det med Delete-tasten. Men først i dag indså jeg, at du også blot kan flytte DOM-elementer ved hjælp af træk og slip.:

.­.­.

Hurtigt tip: git status --r

En gylden regel i gituniverset er: "Foretag dig tidligt og ofte". Hvis natten var lidt længere, eller hvis du bare vil have et overblik over den aktuelle situation på din egen computer, tager kommandoen dig

d8a38f92d0baa14f9d4568826c13ad46

en "git-status" for alle arkiver, der er placeret i den aktuelle mappe eller i en hvilken som helst undermappe og akkumulerer værdierne i et godt overblik:

.­.­.

LAMP stak i Windows Subsystem til Linux

Når man søger efter det optimale udviklingsmiljø, tilbyder Windows 10 en række muligheder udover komplette løsninger som XAMPP , WAMP og MAMP , manuelle native installationer , samt virtualiseringsløsninger som Vagrant ( ScotchBox ) og Docker ( DevilBox , Laradock ). Imidlertid opfyldte alle løsninger ikke mine krav – såsom fri konfigurerbarhed, ægte wildcard SSL-certifikater, adgang fra alle enheder på det lokale netværk samt høj stabilitet og ydeevne – undtagen én.

.­.­.

Tricks til Laravel Eloquent Relationships

En af Laravels styrker er dens elegante syntaks. Hvis du har mange modeller og relationer i Laravel (pga. mange tabeller i databasen), kan traversering ofte ende i mindre elegant kode. Med tiden har tre små udvidelser vist sig at være succesrige for mig, som jeg kort vil introducere nedenfor. For at gøre dette bruger vi bare nogle arv, magiske metoder og tilpassede samlinger.

.­.­.

Forhindre offentlig adgang til .git

Git- versionskontrol er nu standardpraksis i næsten alle webprojekter og -miljøer (inklusive produktion). Git opretter altid en undermappe kaldet `.git` , og hvis denne er placeret på samme niveau som webstedets offentlige mappe, kan følsomme filer tilgås offentligt (for eksempel viser adgang til `/.git/logs /HEAD` de seneste commits). Denne guide forklarer detaljeret, hvordan man kloner et andet Git-repository, selv uden en mappefortegnelse.

.­.­.

Node.js / npm / komponist uden rod

I et ældre blogindlæg beskrev jeg, hvordan man hoster Node.js gratis ved hjælp af Heroku . Nu vil jeg vise dig en måde, hvordan du kan installere Node.js , npm og Composer på enhver anden delt vært uden rodrettigheder med et par kodelinjer. Med det kan du installere pakker, distribuere Vue.js-applikationer eller bare starte en Express.js-server. Vi arbejder altid i brugerkataloget og bruger nvm - Node Package Manager.

.­.­.

Fejl i associerende arrays i PHP <7.2

I PHP <7.2 kan du oprette arrays, der ikke længere kan åbnes korrekt:

91367d1c4636fd753b381406024e303c

Du kan gøre nogle ting med det.

.­.­.

Udfør kommandoer direkte efter SSH-forbindelse

Følgende kommando opretter en SSH-forbindelse til en server, udfører adskillige kommandoer (for eksempel skift til en undermappe og kørsel af `git status` ), og lader skallen være åben. Dette indlæser `.bashrc`-filen, som aktiverer farvede underskaller. Tricket er at gemme en midlertidig fil `/tmp/initfile`, der indeholder de ønskede kommandoer, og starte en undershell (i vores tilfælde `bash`) med `--init-file`-kommandoen. Inden for denne `initfile` slettes den samme fil øjeblikkeligt for at undgå spor.

.­.­.

Netværksdrev som administrator

Når du tilknytter et netværksdrev i Windows Stifinder, gælder dette ikke for hele systemet, men kun for den aktuelle brugerkonto. Det betyder, at et program, der kører med administratorrettigheder, ikke kan få adgang til dette netværksdrev. Du kan nemt ændre dette: Opret en ny DWORD-værdi (32-bit) med navnet EnableLinkedConnections med værdien 1 i registreringsdatabasen under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System , og genstart computeren. Derefter vil de tilknyttede netværksdrev være synlige overalt.

.­.­.

Hurtigt tip: Inkluder mappe som drev

Hvis du hurtigt vil nå en lokal mappe under Windows, som du bruger igen og igen, kan du blot tildele det dit eget drevbogstav. Der er kun en omvej via "Tilslut netværksdrev", da du f.eks. Ikke kan angive stien C: \ Brugere \ David \ Downloads. Som en løsning skal du indtaste den såkaldte administrative del af drevet, som findes som standard for hver mappe: I ovenstående eksempel ville dette være \\ localhost \ c $ \ Brugere \ David \ Downloads .

.­.­.

Fang frøer

En frø hopper rundt på en tallinje, og målet er at fange den. Hopping og gribning skiftes til. Frøen starter ved position \(s \in \mathbb{Z}\) , og med hvert træk hopper den en afstand på \(z \in \mathbb{Z}\) (hvis \(z>0\) , hopper den til højre; ellers til venstre). \(z\) er den samme for hvert hop. At fange frøen indebærer at angive en heltalsposition. Hverken \(z\) eller \(s\) er kendt. Vi vil vise, at der er en procedure, der altid tillader os at fange frøen.

.­.­.

Lange filnavne på Windows 10

Det er ikke kun, når du bruger npm på Windows, at du støder på en grænse, der er næsten 30 år gammel og begrænser stier til mapper og filer til maksimalt 255 tegn. Det er ikke NTFS, der er skyld her, det er LFN . Dette fører til irriterende fejl og inkompatibilitet mellem operativsystemer. Dette er en uheldig situation i tider med WSL , men heldigvis har du været i stand til at rette det selv i registreringsdatabasen i nogen tid nu.

.­.­.

Laravel køer på localhost

I PHP-frameworket Laravel, i produktionsmiljøer, sørger arbejdere som supervisoren for, at job gemt i Redis , for eksempel, udføres. Hvis du vil være helt uafhængig af dette på localhost, kan du bruge sync- driveren til at udføre job med det samme. Dette har dog den ulempe, at den aktuelle PHP-proces blokeres, og anmodningen hænger, indtil jobbet er færdigt.

.­.­.

Hurtigt tip: Bundt mål i Google Analytics

Ved hjælp af JavaScript-biblioteket analytics.js fra Google Analytics kan alle hændelser på websteder spores. Disse hændelser omfatter f.eks. præcis måling af opholdstid, den maksimale scrolldybde for besøgende eller andre individuelle handlinger såsom formularindsendelser. Hvis du senere vil evaluere reklamekampagner eller udføre A/B-tests, opretter du såkaldte mål.

.­.­.

Pragmatisk cache ugyldiggørelse

Server-side rendering er nu standardpraksis for websteder og applikationer. Browsere som Google Chrome har også en tendens til at cache så meget som muligt for at minimere indlæsningstider for efterfølgende anmodninger. Cache-ugyldiggørelse af CSS-, JS- og billedfiler kan opnås ved hjælp af `mod_pagespeed` , kontrolheaderen `Expires` / `Cache` , et cachemanifest eller, mere pragmatisk og direkte, ved at tilføje brugerdefinerede parametre til filnavnet.

.­.­.

Bitbucket og SSH nøgler

Udbyderen Bitbucket tilbyder ikke (selv i de gebyrbaserede standard- og premium- takster ) muligheden for at gemme SSH-nøgler med skriveadgang på lagerniveauet. Det er ikke en mulighed at gemme din personlige SSH-nøgle på produktionsserveren, ellers kan du få adgang til alle andre projekter, som du i øjeblikket arbejder på derfra. Der er såkaldte adgangsnøgler , men disse tillader kun læserettigheder.

.­.­.

Windows Sysinternals via netværksdrev

Mark Russinovichs Sysinternals- værktøjer er essentielle for enhver Windows-computer. For altid at have den nyeste version let tilgængelig, skal du tilknytte den som et netværksdrev. Kør blot kommandoen `net use s: \\live.sysinternals.com\DavWWWRoot` på kommandolinjen (som en almindelig bruger). Dette vil derefter give bærbar adgang til nyttige værktøjer som PsList, PsKill og Process Explorer på drev S.

.­.­.

Hurtigt tip: Google Sheets og Kalenderuger

Når du udsender kalenderuge på en bestemt dato, skal du være forsigtig i Google Sheets (ligesom i Microsoft Excel). Funktionen = KALENDERUGE (I DAG ()) beregner ved hjælp af den amerikanske standard, for hvilken den første dag i året altid tildeles kalenderuge 1. I Tyskland defineres dette forskelligt: ​​Her er den første kalenderuge den uge, hvorfra mindst 4 dage falder ind i det nye år. I Google Sheets kan du løse problemet (blandt andet spændende alternativer som = KORT ((I DAG () - DATO (ÅR (I DAG () - HVIL (I DAG () - 2; 7) +3); 1; HVIL (I DAG ( ) -2; 7) -9)) / 7) og den modificerede = KALENDERUGE (I DAG (); 21) ) let med den specielt designede funktion = ISOWEEKNUM (I DAG ()) .

.­.­.

Selvsignerede SSL-certifikater i Chrome 58

Siden Let's Encrypt er krypterede websteder blevet standardpraksis. SSL-certifikater er også praktisk talt uundværlige i lokal udvikling (for eksempel kræver navigator.geolocation SSL-kryptering lokalt). Siden Chrome version 58 er understøttelse af CN (Common Name) blevet droppet, og SAN (Subject Alternative Name) er nu obligatorisk. Som et resultat accepterer Chrome ikke længere SSL-certifikater oprettet ved hjælp af traditionelle metoder .

.­.­.

To gange alderen på to personer

Overvej to personer \(A\) og \(B\) , som ikke har samme fødselsdag, hvor \(A\) er yngre end \(B\) . Vis: Der er præcis to alderskonstellationer \(a,b \in \mathbb{N}\) for hvilke følgende gælder: \(2\cdot a = b\) . Vi satte først \(d \in \mathbb{R}^+\) som aldersforskellen mellem \(A\) og \(B\) ved fødslen af \(A\) med \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) Vi betragter nu en vilkårlig tid \(x \in \mathbb{R}^+\) efter fødslen af \(A\) med \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git og tomme mapper

Da Git ikke kender mapper, er det kun filer, tomme mappestrukturer, der ikke ender i depotet. Da mange rammer og projekter absolut har brug for disse, burde de ende der. En almindelig praksis er at oprette såkaldte pladsholderfiler (ofte kaldet .gitkeep), som implicit specificerer mappestrukturen. Du kan nemt oprette disse filer og, hvis det ønskes, sikre, at andre filer i mapperne ignoreres.

.­.­.

Gratis Node.js-hosting med Heroku

Hosting til Node.js er stadig ikke særlig almindelig, især i tysktalende lande. Det amerikanske skyfirma Heroku tilbyder en løsning her - og endda gratis . Du bemærker altid paradigmet "Byg apps ... ikke infrastruktur" og har stadig næppe nogen begrænsninger. Som et eksempel implementerer vi et lille cron-job, der er baseret på PhantomJS , som hver dag skrotter et websted og sender sidetitlen via e-mail.

.­.­.

Cantors parringsfunktion

Ud over de diagonale argumenter udviklede Georg Cantor også parringsfunktionen Cantor \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , der koder et hvilket som helst to tal \(x,y \in \mathbb{N}\) i et nyt nummer \(z \in \mathbb{N}\) . For eksempel \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) en unik kodning af tallene \(3\) og \(4\) i nummeret \(31\) . Vis: Sættet af værdier \(\mathbb{W} = \mathbb{N}\) , dvs. \(z\) antager alle naturlige tal.

.­.­.

Jorden og ærten

Betragt jorden (som en kugle med \(r_1 = 6370km\) ) og en ært (som en kugle med \(r_2 = 2mm\) ) og stræk et reb hen over ækvator, så det ligger tæt på overfladen. Forlæng nu begge reb med en meter hver. Begge kabler skulle nu ligge helt udstrakt over ækvator - men de er ikke længere helt på overfladen, men svæver over ækvator. Hvor højt over overfladen svæver rebet over jorden, hvor højt over ærten?

.­.­.

Sandsynligheder på det analoge ur

På hvilken% af tiden på en dag er alle tre hænder på et analogt ur i højre halvdel af skiven? Se først på timeviseren, som er på højre side hver 12. af 24 timer (50%). Fra dette tidspunkt vil minutviseren være på højre side om 6 af 12 timer (25%). Af disse 6 timer bruger den anden hånd 3 timer på højre side (12,5%).

.­.­.

Laravel: Arbejde med veltalende forhold

Laravel gør kommunikationen med databasen meget lettere med Eloquent. Når du arbejder med Eloquent Relationships, skal du, når du kalder dynamiske variabler (ved hjælp af PHPs magiske metoder ), være opmærksom på, at forekomsterne af modellerne ikke afspejler nye ændringer, men snarere cacher dem permanent første gang, de kaldes.

.­.­.

Bitbucket: Slet mappe fra Git-historik

Når du hoster Git på Bitbucket , er der en hård grænse på 2 GB - hvis denne overskrides, har du kun skrivebeskyttet adgang til depotet. For at forhindre dette kan du for eksempel med tilbagevirkende kraft fjerne store mapper eller filer fra dine commits. Men også i andre tilfælde (hvis adgangsdata har fundet vej ind i historikken eller node_modules er faldet til at mestre igen) er du nødt til at manipulere Gits historie med tilbagevirkende kraft, i modsætning til dens natur.

.­.­.

Integrer SSL-certifikat fra DomainFactory i IIS

I Let's Encrypt- tiden er krypterede hjemmesider nu standard. Wildcard- eller udvidede certifikater med særlig pålidelig ejervalidering er dog også ofte påkrævet. DomainFactory tilbyder omkostningseffektive SSL-certifikater, der også kan bruges eksternt. Opsætning på en nuværende IIS-server er mulig uden en CSR ved hjælp af OpenSSL . Nedenfor vil jeg kort skitsere de nødvendige trin.

.­.­.

Paradoksal vinderstrategi, når du gætter på tal

Thomas M. Cover stillede følgende forbløffende spørgsmål i 1987 i "Åbne problemer i kommunikation og beregning": Player \(X\) skriver to forskellige og tilfældigt valgte naturlige tal \(A\) og \(B\) til to forskellige Skub papir, og læg det med forsiden nedad på et bord. Spiller \(Y\) vælger nu tilfældigt et af disse stykker papir, ser nummeret og skal nu beslutte, om dette tal er mindre eller større end det andet nummer, der stadig er med billedsiden nedad på bordet.

.­.­.

Fodbold og lineær algebra

Når en fodboldkamp starter, ligger bolden midt i banen og flyttes derefter rundt i banen i 45 minutter ved at skifte og dreje. I begyndelsen af ​​anden halvdel er bolden igen midt på banen. Vi viser med enkle midler til lineær algebra, at enten et uendeligt antal punkter på overfladen altid er i nøjagtig den samme position som i den oprindelige tilstand eller nøjagtigt 2.

.­.­.

Laravel: Fejlretning af bladskabeloner

Når du fejlfinder bladeskabeloner i Laravel 5.*, får du ofte meningsløse fejlmeddelelser, der peger på cachelagrede visninger. Alt plejede at være bedre: Fejlretningsvisningen i version 4 indeholdt flere nyttige funktioner og var også visuelt mere attraktiv. Med et par linjer kode kan du få denne funktionalitet tilbage ved hjælp af whoops ("PHP-fejl for seje børn").

.­.­.

Harmonisk visning af logoer med JavaScript

Uanset om der er referencer, partnere eller kunder - der er mange tilfælde, hvor du vil vise flere logoer ved siden af ​​hinanden harmonisk. Andelene af logoerne er for det meste inkonsekvente. Ofte følger du din tarmfølelse for størrelsesrepræsentationen i designet, men der er også en nøjagtig beregningsmetode til en visuelt tiltalende repræsentation ved at sidestille logoernes områder. I det følgende eksempel kan du gøre dette med blot et par linjer JavaScript.

.­.­.

Kontroller variabler i PHP / JS for eksistens

Når man arbejder med variabler i PHP og JavaScript dagligt, kommer man ofte på tværs af forespørgslen, om en variabel er tom. Det er værd at kende de oprindelige funktioner og deres forskelle til kontrolformål. Irriterende er der ingen nem måde at intuitivt kontrollere, om en variabel er til stede eller ej. Matrixen nedenfor præciserer, hvad der menes med dette. Det, du ønsker, kan dog eftermonteres ved hjælp af små hjælperfunktioner.

.­.­.

Massive telefonopkald med sipgate.io

Sipgate har oprettet en spændende sky-API med sipgate.io , som man har en lang række muligheder omkring internettelefoni med. En konto er gratis, og der er også mulighed for at indstille et gratis afsendernummer i Feature Store gratis. Dokumentationen fra sipgate.io kan stadig udvides, men med lidt læsning i den officielle Sipgate API kan du hurtigt indse spændende ting.

.­.­.

Rekursion i SQL

Relationelle databasestyringssystemer baseret på SQL er kun delvist egnede til hierarkiske eller rekursive forespørgsler. Andre systemer som ArangoDB er bedre egnet til dette (der var en god snak om dette på GOTO 2016 ). Det er dog også muligt at oprette rekursive forespørgsler i SQL ved hjælp af Common Table Expressions , hvilket giver dig mulighed for f.eks. at forespørge klassiske forældre/underordnede tabeller for alle forfædre og efterkommere.

.­.­.

WordPress: Deaktiver arkivsider

Ifølge w3techs.com drives omkring 27,4% af alle websteder over hele verden i øjeblikket ved hjælp af WordPress. I meget mange tilfælde er dette ikke blogs. WordPress genererer automatisk adskillige, ofte ubrugte webadresser og producerer så mange links indekseret af Google, at webstedsoperatøren ikke engang havde på skærmen. Alt dette kan deaktiveres med en simpel kommando.

.­.­.

Omdøb PDF-formularfelter i bulk

Hvis du som mig får problemer med at omdøbe tusindvis af formfeltnavne, er JavaScript-konsollen, der er inkluderet i Acrobat, ideel. I dette kan du ikke kun udføre enhver JavaScript-kode, men også få adgang til alt indhold i PDF-filen (inklusive formularfelter). Da der ikke er nogen oprindelig funktion til omdøbning i JS API, kopieres formfelterne med alle deres egenskaber og får et nyt navn.

.­.­.

Shopware: ændringer af reparationsvarianter

I Shopware 5 er et kendt problem stadig ikke løst: Hvis du opretter en artikel med gensidigt afhængige varianter med gensidigt eksklusive konfigurationsindstillinger, kan det ske, at nogle kombinationer ikke kan vælges i frontenden og derfor ikke kan bestilles. Ved hjælp af et plugin kan problemet let løses i øjeblikket.

.­.­.

En linje for uendelighed af primtal

Der er adskillige beviser for uendelighed af primtal - den velkendte euklidiske sætning fra elementernes bog mangler ikke i noget grundlæggende talteorikursus. I American Mathematical Monthly (nummer 122) i 2015 offentliggjorde Sam Northshield et ikke mindre elegant modsætningsbevis i form af en linje, som jeg ikke ønsker at tilbageholde dig (med korte kommentarer).

.­.­.

Lys Windows-kommandolinjen op

Den kedelige Windows-kommandoprompt kan opgraderes visuelt i et par enkle trin. Så du kan ikke kun justere farven og størrelsen på kommandolinjen, men også udvide den funktionelt (øge bufferen, installere et stort sæt UNIX-værktøjer). Selvom kommandoprompten ikke kommer tæt på PowerShell 6.0 eller den nye Windows 10 Bash Shell , behøver den ikke at skjule sig til daglige opgaver.

.­.­.

Dynamiske webadresser i Joomla

I indholdsstyringssystemer er URL'er ofte ikke forudbestemte og oprettes derfor ikke statisk (som indlæg eller menupunkter) på forhånd, men tilgår snarere objekter fra databasen. I lighed med WordPress ( som beskrevet her ) er det også muligt at oprette dynamiske URL-strukturer i Joomla (uafhængigt af det interne alias-system). Dette kan opnås enten med JRouter – eller med en enkelt linje kode i .htaccess-filen.

.­.­.

JavaScript PasteJacking

Moderne browsere kan bruge JavaScript til at tilgå og manipulere brugerens udklipsholder, både læsning og skrivning. Den underliggende teknologi er ikke noget nyt, men først for nylig er der dukket flere og flere angreb (kendt som "pastejacking") op online, der udnytter denne funktion til skade for intetanende brugere. Implementeringen af dette i JavaScript er ret simpel.

.­.­.

Byt kolonner i PostgreSQL

At bytte SQL-tabelkolonner er en del af standardrepertoiret med MySQL - dette understøttes (endnu) ikke med PostgreSQL. Selvom den officielle wiki bruger sin egen artikel til problemet, viser den ikke nogen praktisk løsning, der også understøtter synspunkter, indekser og udløsere. Den følgende klasse udfører dette job (for både MySQL og PostgreSQL) enten på kommandolinjen - eller alternativt direkte i Laravel 5.

.­.­.

Hurtigt tip til Windows Stifinder

Hvis du hurtigt vil åbne kommandoprompten i en mappe i Windows Stifinder, skal du klikke (et niveau højere) med højre museknap og holde Skift-tasten nede i mappen og derefter vælge "Åbn kommandoprompt her" i genvejsmenuen. Jeg fandt lige ud af en anden hurtigere metode, når du er inde i mappen: Her klikker du på den aktuelle mappesti, skriver "cmd" og bekræfter med Enter.

.­.­.

WordPress-kategorier: Træudsigt / arv

Når du arbejder med hierarkiske kategorier (taksonomier) i WordPress, vil du bemærke, at visningen af valgte kategorier i backend kan være forvirrende, og indlæg ender ikke automatisk i deres overordnede kategori, når de flyttes til en underkategori. Begge disse problemer kan nemt løses med blot et par linjer kode ved hjælp af det effektive hook-system (i form af en handling og et filter).

.­.­.

PHP 7 og rumskibsoperatøren

Ud over nye funktioner, som f.eks. Typebetegnelse for skalar datatyper eller optimeret ydelse , bringer PHP 7 også mange nye, nyttige sprogudvidelser med sig. "Spaceship Operator" har endelig gjort det til en verden af ​​PHP (Ruby og Perl-programmører har kendt det i lang tid). \($a <=> $b\) returnerer \(0\) hvis og kun hvis begge operander er ens, \(1\) hvis den venstre er større og \(-1\) ellers.

.­.­.

IIS 7.5 PHP FastCGI timeout

Hvis du integrerer PHP via FastCGI på IIS 7.5, afbrydes hvert script som standard efter 600 sekunder (dvs. 10 minutter). Ændring af den velkendte variabel "max_execution_time" i php.ini har ingen indflydelse på dette; du skal (også) justere FastCGI-indstillingerne. Til dette formål tilbyder IIS en praktisk grænseflade til styring af de relevante variabler.

.­.­.

Paradoks for stokastik

Teorien om betinget sandsynlighed medfører smukke opgaver med kontraintuitive løsninger. Ud over det velkendte søskeproblem , vil jeg nu kort behandle et andet eksempel: "Jeg har nu to børn. Den ene er dreng og blev født en torsdag. Hvad er sandsynligheden for, at det andet barn også er en dreng?"

.­.­.

Git, Shopware og tomme mapper

Git-filversioneringssystemet er magert, hurtigt og bærbart. Git håndterer altid objekter, nemlig filer. Mapper oprettes kun, hvis der er filer i dem, ellers vil Git ikke engang optage dem. Dette har ubehagelige bivirkninger i nogle projekter. For eksempel er Shopware shop-systemet afhængig af nøje overholdelse af mappestrukturen for at fungere.

.­.­.

Shopware: Individuelle forsendelsesomkostninger

Shopware har et kraftigt forsendelsesomkostningsmodul, som du specifikt kan gribe ind i beregningen. I vores tilfælde ønsker vi at implementere følgende scenarie: Forsendelsesomkostningerne pr. Artikel bestemmes oprindeligt i henhold til artiklens vægt (vægtgrænserne er specificeret). Kun med særlige undtagelser skal det være muligt at fastsætte faste forsendelsesomkostninger for hver vare.

.­.­.

Dynamiske permalinks i WordPress

WordPress permalink-systemet kan tilpasses meget godt til dine egne behov ved hjælp af struktur tags . Indstillingen% postname% er sandsynligvis den mest almindelige og gennemførlige løsning. Men hvis du vil implementere ægte dynamiske links, skal du først udvide systemet med din egen kode.

.­.­.

Korrupte hyperlinks i Word og Excel

Man ville forvente, at åbning af hyperlinks indefra et Word/Excel-dokument ville starte standardbrowseren med den ønskede URL. Mærkeligt nok er dette ikke tilfældet – hvilket fører til uønskede bivirkninger og gør links til sessions- eller cookiebaserede login-beskyttede sider umulige i disse Office-programmer.

.­.­.

Et paradoks for fars dag

Til dagens farsdag giver en datter sin far et billede, som hun selv har malet, som hendes far havde længtes efter. Datteren siger: "Jeg vil give dig det billede, du har ønsket dig, og min gave vil være en overraskelse". Faderen holder pause og tænker over sandheden i denne erklæring.

.­.­.

Integrer dynamiske scripts med og uden HTTPS

Hvis du inkluderer ukrypterede scripts i <head> -området og kalder en side med et eksisterende SSL-certifikat krypteret, blokeres disse scripts og udføres derfor ikke. Hvis du simpelthen udelader protokollen, kaldes alle scripts automatisk i krypteret form, hvis hjemmesiden er tilgængelig via https: // - ellers ukrypteret.

.­.­.

Brugervenlighed i rullemenuer

Når man arbejder med flerdimensionelle rullemenuer, støder man ofte på problemet med at åbne den forkerte undermenu ved et uheld eller lukke den ønskede undermenu ved et uheld. Dette sker, når musemarkøren forlader den tilsvarende menu på øverste niveau, mens man navigerer til en allerede udvidet undermenu.

.­.­.

Shopware: Deaktiver varianter automatisk

I Shopware deaktiveres hele artiklen for en reel ordre, hvis alle varianter har et lagerniveau, der er mindre end eller lig med 0. For at implementere dette på en variantbasis programmerede jeg et lille plugin, hvis Bootstrap.php jeg giver nedenfor.

.­.­.

Dobbelt adgangskodeforespørgsel med SSL

Følgende scenarie resulterer altid i en uønsket bivirkning: Hvis du beskytter dit websted med htaccess/htpasswd og samtidig håndhæver en SSL-forbindelse, skal du altid indtaste den samme adgangskode to gange (én gang for http og igen for https efter vellykket indtastning). Dette problem kan nemt løses ved hjælp af konfigurationsafsnittene introduceret i Apache 2.4.

.­.­.

Multi-line strenge i JavaScript

Ved programmering med JavaScript snubler man ofte over manglende evne til at realisere streng med flere linjer ved også at indtaste dem i flere linjer i koden. Mens opgaven på andre sprog som PHP eller Ruby ikke er et problem, med JavaScript kan du oprindeligt kun komme rundt med løsninger, hvis brug bestemmes af personlig smag eller browsersupport.

.­.­.

mail () i PHP med UTF-8 og umlauts

Afsendelse af e-mails med PHP implementeres bedst med kraftige klasser såsom PHPMailer . Praktiske indpakningsfunktioner gør det muligt at bruge indhold i UTF-8, at integrere billeder og sende krypterede vedhæftede filer med blot nogle få linjer kode. Hvis du vil spare dig selv for omkostningerne og i modsætning til anbefalingen bruge PHP-funktionen mail () , vil du løbe ind i problemer, når du bruger umlauts og UTF-8 senest.

.­.­.

Google PageSpeed ​​Insights vs. Google Analytics

Valideringsværktøjer som W3C Markup Validation Service eller Google PageSpeed Insights er nyttige til objektivt at evaluere et websteds kode og ydeevne. Google påvirker især en hel branche med koncepter som "above the fold" og sætter også strenge, men nyttige retningslinjer for billedkomprimering og caching. Men når man gør det, kan Google nogle gange snuble.

.­.­.

Velkommen JavaScript 2.0

JavaScript dominerer internettet – og ECMAScript, kernen i sproget, modnes. Den nye specifikation (ES6 eller JS2), der forventes at udkomme midt på året, bringer adskillige innovationer, der allerede kan testes. Firefox tilbyder i øjeblikket den bedste understøttelse , men polyfills via transpilere som Google Traceur er også mulige. En kort oversigt over de nye funktioner i ES6 følger.

.­.­.

0,99999... = 1?

Uanset om det er i skolen eller på universitetet: Et interessant spørgsmål, der \( 0,99999... = 1 \) og da, inkluderer spørgsmålet om, hvorvidt følgende ligning er sand: \( 0,99999... = 1 \) . Selvom uendelighed \(0,99999... = A\) i den venstre del af ligningen, giver vi det et navn: \(0,99999... = A\) . Efter multiplikation med faktoren \(10\) og enkle algebraiske transformationer får vi en første forbløffende indsigt.

.­.­.

SQL: dårlig præstation trods indeks

Jeg blev lige konfronteret med følgende ydeevneproblem i en SQL-database: I en SQL-tabel kaldet "brugere" med ~ 1.000.000 poster tog det i uacceptable 28 sekunder at bestemme antallet af registreringer i dag. Registreringstiderne blev gemt i formatet “Ymd H: i: s” i kolonnen “oprettet”.

.­.­.

Lille skakproblem

Ud over det velkendte ridderproblem og dronningsproblemet er der mange andre spændende spørgsmål i skakverdenen. Jeg berørte to små nysgerrigheder i et tidligere blogindlæg . Hvis du behandler skakproblemer matematisk, vil du hurtigt opdage, at matematik giver meget enkle og lysende svar på mange spørgsmål.

.­.­.

Filer tilgængelige online med OneDrive

Hvis OneDrive, Dropbox, Google Drev, OwnCloud, Box.net: Uanset hvilken boks du gemmer dine filer i - tjenesterne er næsten de samme. De tilgængelige klienter til alle stationære og mobile systemer, standardkrypterede filer og delingsindstillingerne adskiller sig kun marginalt. Men OneDrive, der er integreret i systemet siden Windows 8.1, har en speciel funktion: kun filer tilgængelige online.

.­.­.

PHP: Filadgang med umlauts under Windows

Filer på webservere bør altid gemmes uden mellemrum (ikke "dette er et billede.jpg"), uden umlauter eller specialtegn (ikke "fodbold.jpg"), uden omvendte skråstreger (ikke "arbejde\bil.jpg") og med små bogstaver (ikke "test.JPG"). For nylig måtte jeg dog i forbindelse med et klientprojekt tilgå og behandle et stort antal foruddefinerede filer med vilkårlige filnavne.

.­.­.

SQL-forespørgsel for at bestemme en rangliste

I dag stødte jeg på følgende opgave, mens jeg arbejdede på et kundeprojekt: Tag en SQL-tabel "bruger" med kolonnerne "id" og "score" og bestem en rangliste over alle brugere, sorteret ud fra "score", hvor brugere med samme score får samme rangering. Ved at bruge brugerdefinerede variabler kan denne opgave løses intuitivt og nemt.

.­.­.

Facebook SDK: Kontroller tokens på serversiden

Når du arbejder med Facebook SDK (mere præcist ved implementering af en Facebook-loginfunktion inden for en REST-grænseflade), skal det transmitterede token, som klienten modtog fra Facebook, først kontrolleres af serveren for gyldighed, inden yderligere operationer udføres .

.­.­.

Chrome DevTools: Adressering af DOM-elementer

Uanset om Chrome, Firefox, Opera, Safari eller endda Internet Explorer: Mens veludviklede udviklerværktøjer var et unikt salgsargument for Firefox og det populære Firebug- plug-in indtil for et par år siden, er kraftfulde udviklerværktøjer nu en del af standardområdet for enhver browser, hvor der er meget at opdage giver.

.­.­.

Adgang til filsystemet ved hjælp af SQL

Jeg er for nylig stødt på en smart måde at få adgang til filsystemet og hente værdifulde oplysninger, såsom eksistensen af filer og mapper eller deres indhold. Dette kan være meget nyttigt som et alternativ til PHP-funktionen ` file_exists` , da oplysningerne om eksistensen af filen/filerne kan bruges i forespørgslen til yderligere sorterings- og aggregeringsfunktioner.

.­.­.

Animerede baggrunde med lærred

Animerede vektorbaggrunde kan tilføje variation i et weblandskab, der er kendetegnet ved fotos og videoer i fuld skærm. Det ville være rart, hvis dette ville gå hånd i hånd med indlæsningstider og bred hardware- og softwaresupport. En løsning er: lærred. HTML-elementet, der styres af JavaScript, understøttes af alle aktuelle browsere og gengives med høj ydeevne på mobile enheder.

.­.­.

Fast formatforhold for HTML-elementer

Som webudvikler står man ofte i dilemmaet med at arbejde med HTML-elementer, der – i modsætning til fx img-elementet – hverken har en fast størrelse eller et fast billedformat. Ofte vil man sikre sig, at disse objekter opfører sig responsivt, men forholdet mellem bredde og højde bibeholdes. Som standard tilbyder CSS ikke en intuitiv løsning her. Men ved hjælp af den lodrette polstringsegenskab kan du nå dit mål.

.­.­.

Domstolens afgørelse om brugen af ​​lagerfotos

Efter at Kölns regionale domstol i sidste uge trak initiativ i RedTube-skandalen og aldrig burde have godkendt frigivelsen af de kontroversielle IP-adresser, har den nu afsagt endnu en yderst kontroversiel og tvivlsom kendelse med afgørelse 14 O 427/13: Ophavsmanden til stockfotos fra et specifikt billedbureau skal også navngives, når hans billeder tilgås direkte via deres URL.

.­.­.

Farvel Block & Inline - Velkommen HTML5

Innovationerne i HTML5-specifikationen er talrige, og mange af dem er allerede understøttet af størstedelen af ​​browserlandskabet - nedenfor vil jeg gerne fremhæve en interessant ændring af reglerne for nesting-elementer. HTML har altid skelnet mellem blok- og inline-elementer. For eksempel viser HTML4's Document Type Definition h1, p og div som blokelementer og a, span og img som inline-elementer.

.­.­.

HTTP-logning på IIS og Apache

Både Apache på Unix og IIS på Windows-systemer logger HTTP-anmodninger ud af kassen i filform. For at beskytte mod hackingangreb bør forespørgsler til din egen hjemmeside regelmæssigt evalueres og analyseres manuelt og automatisk (for eksempel ved hjælp af logfilanalysatorer såsom AWStats ). For eksempel i udbredte konfigurationer er stierne til de relevante logfiler som følger:

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

Joomla, IIS og bibliotekets rettigheder

Når du integrerer Joomla 3.2 på en Windows Server 2008 R2 med IIS 7.5, opstår der ofte problemer med biblioteksrettigheder, som ofte løses utilstrækkeligt med indstillinger, der er for generøst valgt. Følgende løsning er sikker og fuldt funktionel:

  • Gruppen IIS_IUSRS har brug for rettighederne til C: \ inetpub \ wwwroot \: læse & udføre, vise mappens indhold, læse, skrive
  • IIS_IUSRS-gruppen har brug for rettighederne til C: \ Windows \ Temp \: Læs & udfør, Vis mappens indhold, Læs, skriv
  • Brugeren IUSR skal være i IIS_IUSRS-gruppen (Computeradministration> Lokale brugere og grupper> Grupper)

Hvis du har brug for yderligere specielle mapperettigheder (for eksempel til SSH eller FTP) for alle filer, der uploades via PHP, bør du også indstille disse til mappen C:\Windows\Temp\. Hvis du uploader en fil via PHP, kopierer PHP først denne fil til den midlertidige sti og derefter til den endelige sti. Hvis filen endte i den midlertidige mappe, arver den sine rettigheder og beholder dem efter at være flyttet til den endelige mappe.

.­.­.

Anonym online: Umuligt?

I tider med NSA-skandalen er det ikke kun netværkskyndige brugere, der spekulerer på, om og hvordan man kan navigere i netværket anonymt for at undslippe myndighedernes og hemmelige tjenesters dataindsamlingsmani. Dette fører imidlertid ofte til fejl og forkerte antagelser. En central misforståelse er reduktionen af ​​anonymitet til tilsløringen af ​​IP-adressen.

.­.­.

McFIT - nyt logo, nyt billede

Discountfitnesskæden McFIT giver sig selv et nyt ansigt. Mens en lys gul maskot i form af en banan plejede at pryde de blå bogstaver, pakker en gul sløjfe på en antracitfarvet baggrund sig dygtigt sammen og danner en abstrakt struktur. FDP-farverne blå og gul vises ikke kun på logoet, men også på alle andre trykte varer fra McFIT-mærket.

.­.­.

Photoshop: rejse tilbage i tiden

Da brødrene Thomas og John Knoll begyndte at udvikle Adobe Photoshop i 1987, var jeg endnu ikke født. I dag, i 2013, er softwaren et af de mest populære programmer generelt og betragtes som den ubestridte markedsleder inden for billedredigeringssektoren. Takket være Adobe og Computerhistorisk Museum vil softwaren nu blive bevaret for eftertiden i en helt særlig form.

.­.­.

Nysgerrighed i kongenes spil

Skak har fascineret mennesker i århundreder - dets regler er lette at lære, og dets utrolige dybde er kun tilgængelig for erfarne spillere (desværre er jeg ikke en af ​​dem). I det følgende vil jeg beskæftige mig med to korte spørgsmål: Er det muligt gennem en korrekt rækkefølge at komme til en position, hvor den sorte konge angribes af to hvide dronninger på samme tid? Er dette også muligt med to hvide tårne?

.­.­.

Docu-sæbe i stedet for blockbuster: 48 fps

Film optages og afspilles normalt med 24 hele billeder i sekundet – men det næsten 100 år gamle standardformat "24p" ser ud til at vakle. For at forhindre de ubehagelige bivirkninger (f.eks. de kraftige ryk ved mellemhurtig kamerapanorering) ved 24fps-projektionen, har man længe arbejdet på at fordoble billedhastigheden til 48 billeder i sekundet og mere.

.­.­.

Kontroller stavning på websteder

Automatiseret stave- og grammatikkontrol er nu standardudstyr i tekstbehandlingsprogrammer - men det har indtil videre været relativt besværligt at kontrollere stavningen på et websted. Google Chrome tager et første skridt i denne retning med en integreret kontrol i multi-line input felter (tekstarea). Nu er der en tjeneste, der gør dette muligt for hele websteder.

.­.­.

Telefonnumre i links - en sikkerhedsrisiko?

For et par uger siden rapporterede jeg om, hvordan du kan gøre det muligt for dine besøgende at åbne telefonappen på mobile enheder ved at trykke på et telefonnummer. Nu er der opstået en mulighed for uigenkaldeligt at blokere SIM-kortet eller at nulstille enheden til fabriksindstillingerne uden nogen handling fra brugerens side.

.­.­.

Interessante mailkuriositeter

Skal domænenavne og e-mailadresser altid være små for at sikre, at du når derhen, hvor du vil hen? Eller er dette fuldstændig irrelevant? Googles mailservere har for eksempel mærkelige indstillinger med interessante effekter, som jeg kort vil introducere nedenfor.

.­.­.

Design af børskurserne i de daglige emner

Jeg følger nøje design af forskellige programmer på tysk tv. Næppe nogen udsendelse bevarer sit virksomhedsdesign permanent. Aftensritualet for mødet foran fjernsynsskærmen kl. 10:15 om dagens emner har fået mig ondt i det seneste: I nogle måneder er der valgt et helt forvirrende farveskema til præsentationen af ​​de nuværende børskurser.

.­.­.

Link telefonnumre korrekt

Hvis du optimerer din egen hjemmeside til mobile enheder, skal du ikke kun være opmærksom på forskellige skærmstørrelser, optimerede indlæsningstider og specielle funktioner i drift (såsom svæveeffekter), men også tage højde for enhedernes særlige muligheder. Dette inkluderer også (nogle mennesker har måske glemt) at foretage telefonopkald.

.­.­.

Kopier indhold på blogs

Google straffer ofte identisk indhold på tværs af flere websteder – Googles algoritme er dog intelligent og genkender, om elementerne i header og footer er konsistente, eller om hele tekstpassager er tilgængelige to gange under forskellige URL'er. Spørgsmålet om, hvordan Google håndterer oversigtssider for blogartikler, er særligt interessant.

.­.­.

Forøg WordPress-sikkerhed

Sikkerheden i WordPress, det i øjeblikket mest populære content management system, kan forbedres betydeligt ved at justere to små indstillinger. Dette tager kun 5 minutter og to linjer kode. Selvom problemet også kan løses med en række forskellige plugins, vil jeg bevidst begrænse mig her til plugin-fri løsninger.

.­.­.