Debouncing von Computed Properties in Vue

Der folgende Ansatz kann verwendet werden um Benutzereingaben zu entprellen, die das Rendern der vuejs computed properties auslösen. Bei Bedarf erhöht das Entprellen die Leistung der Website und verbessert die Benutzerfreundlichkeit der Funktionen. Im folgenden Beispiel wird ein Datensatz gefiltert und die Ergebnisse werden interaktiv in einer Tabelle angezeigt. Die Berechnung erfolgt nur einmal, genau 250 ms nachdem der Benutzer aufgehört hat im Eingabefeld zu Tippen. Das Entprellen von computed properties kann durch Überwachung einer Proxy-Variablen (in diesem Fall queryTableBuffer) oder mit den Getter / Setter Methoden der computed properties erreicht werden.

<template lang="pug">
  section.section
    b-field
      b-input(v-model="queryTableBuffer")
    b-table(:data="queryTableResults")
</template>

<script>
import { debounce } from 'lodash'

export default {
  data() {
    return {
      table: [],
      queryTable: '',
      queryTableBuffer: ''
    }
  },
  computed: {
    queryTableResults() {
      return extFilteredAndSortedArray(this.table, this.queryTable)
    }
  },
  watch: {
    queryTableBuffer: debounce(function (newVal) {
      this.queryTable = newVal
    }, 250)
  },
  created() {
    this.generateTable()
  },
  methods: {
    generateTable() {
      this.table = extGetDataset()
    }
  }
}
</script>

Hintergrundunschärfe

Justo, consequat vitae, tellus. ante, eleifend Aenean Etiam justo, amet, dolor. Aliquam natoque in, varius In eleifend sit pretium eget ut, enim. porttitor tincidunt. Donec pretium. massa. Quisque Vivamus Aenean vulputate Nulla Lorem dis laoreet. lorem felis, ultricies enim. dictum eget, dapibus nec, rhoncus feugiat Phasellus pede parturient vel augue. nisi dui. pede a, mus. ligula Nam felis Aenean vitae, commodo consectetuer nisi. elementum dolor Curabitur quis, fringilla Aenean imperdiet eu, quis, rutrum. et magnis ipsum Nullam Aenean montes, eu, nulla Cras viverra penatibus Integer justo. quam ligula, Cum sociis imperdiet. viverra pellentesque vel, arcu. a, mollis ullamcorper consequat vulputate ridiculus ac, leo venenatis enim ultricies elit. ultricies aliquet Donec metus eget massa tellus. nisi. quis semper sem. adipiscing dapibus. eu ut nascetur nec, Justo, consequat vitae, tellus. ante, eleifend Aenean Etiam justo, amet, dolor.

JavaScript – String-Interpolation in regulären Ausdrücken

Wenn Sie eine Variable innerhalb eines regulären Ausdrucks ersetzen müssen, können Sie die übliche Zeichenfolgeninterpolation in JavaScript nicht verwenden. Sie müssen ein RegExp-Objekt erstellen.

Angenommen, Sie haben einen komplexen regulären Ausdruck wie /^(?!.*(\w{2}).*\1)\s*(?:(?:en|de|fr|it|es)\b\s*){5}$/ und Sie müssen die Teile (?:en|de|fr|it|es) und {5} dynamisch bearbeiten.

Vergessen Sie nicht die Backslashes zu escapen

function generate_regex(array) {
  return new RegExp(
    `^(?!.*(\\w{2}).*\\1)\\s*(?:(?:${array.join('|')})\\b\\s*){${
      array.length
    }}$`
  )
}

generate_regex(['en', 'de', 'fr', 'it', 'es'])

/^(?!.*(\w{2}).*\1)\s*(?:(?:en|de|fr|it|es)\b\s*){5}$/


generate_regex(['en', 'de', 'fr'])

/^(?!.*(\w{2}).*\1)\s*(?:(?:en|de|fr)\b\s*){3}$/

Entfernung von unnötigen Zeichen aus Schriften

Dieser gulp Task entfernt alle nicht verwendeten Zeichen aus Schriftarten. Es durchsucht rekursiv das build Verzeichnis und fügt seinen Textinhalt in fontmin ein. Der Task erzeugt zusätzlich woff2 Dateien neben den Standardtypen eot, svg, ttf und woff. Es ist eine großartige Nachbearbeitungsroutine um Ihre Assets klein zu halten und die keep request counts low and transfer sizes small Benachrichtigung aus dem lighthouse Bericht zu entfernen.

So erhalten Sie einen RSS-Feed für einen YouTube-Kanal

Wie Daniel Miessler aufzeigte, ist es möglich, einen RSS-Feed für einen Youtube-Kanal zu erhalten. Sie müssen jedoch channel-external-id in seinem Blog-Beitrag durch channelId ersetzen.

Anleitung

  1. Besuchen Sie eine Kanalseite https://www.youtube.com/user/PewDiePie

  2. Zeigen Sie die Quelle an und filtern Sie dann nach channelId

  3. Fügen Sie die channelId am Ende der unteren Zeichenfolge hinzu

https://www.youtube.com/feeds/videos.xml?channel_id=

DNS-Server in macOS schnell einstellen

# Clear and receive from AP
networksetup -setdnsservers Wi-Fi EMPTY
networksetup -setdnsservers "Thunderbolt Ethernet" EMPTY

# localhost
networksetup -setdnsservers Wi-Fi 127.0.0.1
networksetup -setdnsservers "Thunderbolt Ethernet" 127.0.0.1

# Cloudflare
networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1
networksetup -setdnsservers "Thunderbolt Ethernet" 1.1.1.1 1.0.0.1

# Google
networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.8.4
networksetup -setdnsservers "Thunderbolt Ethernet" 8.8.8.8 8.8.8.4

# Open DNS
networksetup -setdnsservers Wi-Fi 208.67.222.222 208.67.222.220
networksetup -setdnsservers "Thunderbolt Ethernet" 208.67.222.222 208.67.222.220

# Show result
networksetup -getdnsservers Wi-Fi
networksetup -getdnsservers "Thunderbolt Ethernet"

Found Quoted Keyword Warning in Phoenix loswerden

mix phx.server
warning: found quoted keyword "test" but the quotes are not required. Note that keywords are always atoms, even when quoted, and quotes should only be used to introduce keywords with foreign characters in them

Ändern Sie folgendes in mix.exs von

defp aliases do
  [
    "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
    "ecto.reset": ["ecto.drop", "ecto.setup"],
    "test": ["ecto.create --quiet", "ecto.migrate", "test"]
  ]
end

zu

defp aliases do
  [
    {:"ecto.setup", ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"]},
    {:"ecto.reset", ["ecto.drop", "ecto.setup"]},
    test: ["ecto.create --quiet", "ecto.migrate", "test"]
  ]
end

Ist es möglich HTML mit Regex zu parsen?

Sie können [X]HTML nicht mithilfe von Regex analysieren. Da die HTML-Sprache nicht von Regex analysiert werden kann. Regex ist kein Tool, das zum ordnungsgemäßen Analysieren von HTML verwendet werden kann. Wie ich antwortete in HTML und Regex Fragen hier so oft vor, mit Regex wird nicht zulassen, dass Sie HTML verbrauchen. Reguläre Ausdrücke sind ein schlecht entwickeltes Werkzeug zum Verständnis der von HTML verwendeten Konstruktionen. HTML ist keine normale Sprache und kann nicht durch reguläre Ausdrücke analysiert werden. Regex-Abfragen sind nicht ausgestattet, um den HTML-Code in seine signifikanten Teile aufzuteilen. So oft, aber es ist nicht immer für mich. Selbst die unregelmäßigen Extended regulären Ausdrücke, die von Perl verwendet werden, sind nicht die Aufgabe der HTML-Analyse. Du wirst mich nie knacken lassen. HTML ist eine Sprache mit ausreichender Komplexität, die nicht durch reguläre Ausdrücke analysiert werden kann. Sogar Jon Taube kann den HTML nicht mit regulären Ausdrücken analysieren. Jedes Mal, wenn Sie versuchen, den HTML-Code mit regulären Ausdrücken zu analysieren, schreit das Kind das Blut der Jungfrauen, und die russischen Piraten haben ihre webapp. Das Analysieren von HTML mit Regex Ruft die beschädigte Seele im Reich der lebenden ab. HTML und Regex gehen zusammen wie Liebe, Ehe und Tötung von rituellen Kindern. Der <center> kann nicht halten, es ist zu spät. Die Kraft von Regex und HTML zusammen im gleichen konzeptionellen Raum wird Ihren Verstand zerstören, wie so viele PuTTY Wasser. Wenn Sie den HTML-Code mit Regex analysieren, geben Sie es Ihnen und ihren Blasphemous-Möglichkeiten, dass alle von uns zu unmenschlichen Problemen für diejenigen, deren Name nicht in den grundlegenden mehrsprachigen Plan ausgedrückt werden kann, ist es. HTML Plus-regexp Sie schmelzen die erves der während Sie Ihre Psyche im Angriff des Terrors beobachten. Rege̿̔̉X-basierter HTML-Parser sind Krebs, der tötet StackOverflow ist zu spät, es ist zu spät, können wir nicht gerettet werden die trangession eines garantierten Chi͡LD Regex wird alle lebenden Gewebe konsumieren (außer HTML, das kann nicht, wie bereits prophezeit, lieber Herr, helfen uns, wie kann jemand diese Plage mit HTML-Regex-Analyse überleben, hat die Menschheit zu einer Ewigkeit von Folter und Dreadlocks mit Regex als Werkzeug für die HTML-Verarbeitung wird eine Pause zwischen dieser Welt und die erschreckende Bereich der Entitäten C͒ͪo͛ͫrrupt (wie die SGML-Entitäten, aber beschädigt) ein einfacher Einblick in die Welt des Ex reg Parser für HTML geht an die auntyly, die ein Programmierer-Bewusstsein in einer Welt der endlosen Schreie trägt, es ist, der Gestank Alacridi-Infektion Regex Wil L verschlingen den HT-ml-Parser, die Anwendung und die Existenz der ganzen Zeit, dass Visual Basic bekommt nur noch schlimmer kommt nicht mit ihm com̡e̶s , ̕h̵i s UN̨Ho͞ly radiańcé Destro҉Ying alle ENLI̍̈́̂̈́ghtenment, Tags HTML Lea͠Ki̧n͘g fr̶ǫm ̡Yo ͟ur Eye͢s̸u ̛l̕IK͏e FL UID Schmerz, das Lied der Re̸Gular Exp-resion-Analyse wird Feuer nguish die Stimmen des Mannes Mor Tal des SP hier kann sehen, dass er Sie sehen kann ̲͚̖͔̙î̩́t̲͎̩̱͔́̋̀ ist ziemlich t er schließlich schalten Sie den Mann liegt alles ist LOŚ͖̩͇̗̪̏̈́T alles, was ich verlor die Pon̷y es ist , du C̶̮OMES es ist, ich oder dringt alle meine Gesicht mein Gesicht oder H Gott keine Noo̼O oder NATO Stop A * ̶͑̾̾ ̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s ͎a̧͈͖r̽̾̈́͒͑e n OT Rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ za̡͊͠͝LGΌ isͮ̂҉̯͈͕̹̘̱ to͇̹̺ͅɲ̴ȳ̳ Th̘Ë͖́̉a ͠P̯͍̭O̚ N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎ȩ̬̩̾͛ͪ̈́̀́͘



Haben Sie versucht einen XML-Parser zu verwenden? bobince

SIP & Gatekeeper deaktivieren

SIP

csrutil status
System Integrity Protection status: enabled.

Um den Systemintegritätsschutz (SIP) zu deaktivieren müssen Sie Ihren Mac in den Wiederherstellungs-Modus booten (CMD + R) und folgendes ins Terminal eingeben.

csrutil disable
Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.

SIP Einschränkungen

# Enable SIP and allow installation of unsigned kernel extensions
csrutil enable --without kext

# Enable SIP and disable filesystem protections
csrutil enable --without fs

# Enable SIP and disable debugging restrictions
csrutil enable --without debug

# Enable SIP and disable DTrace restrictions
csrutil enable --without dtrace

# Enable SIP and disable restrictions on writing to NVRAM
csrutil enable --without nvram

System Integrity Protection – Adding another layer to Apple’s security model

Gatekeeper

# Per Application:
sudo xattr -rd com.apple.quarantine /Applications/SelectApp.app

# Globally:
sudo spctl --master-disable

Letsencrypt Zertifikat für jede Domain

Mit Letsencrypt kann man mehrere Domains in einem Zertifikat kombinieren oder Zertifikate für jede Domain getrennt verwenden. Wenn Letzteres der Fall ist sollte man die Ratenbegrenzung beachten.

cli.ini

rsa-key-size = 4096
#server = https://acme-v01.api.letsencrypt.org/directory
authenticator = webroot
webroot-path = /var/www
email = youremail@domain.tld
renew-by-default = True
agree-tos = True
certbot --config /etc/letsencrypt/cli.ini certonly -d sub.domain.tld

Es ist auch möglich eine Domaingruppe ein einzelnes Zertifikat teilen zu lassen.

certbot --config /etc/letsencrypt/cli.ini certonly -d domain.tld -d www.domain.tld -d sub.domain.tld

httpd.conf

SSLCertificateFile /etc/letsencrypt/live/$servername/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/$servername/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/$servername/chain.pem

Auflisting der Apache Vhosts

Erneuerung

certbot --config /etc/letsencrypt/cli.ini renew

Auflisting der Apache Vhosts

Sie können all Ihre apache/httpd virtuellen Server mit diesem Befehl auflisten.

# normal
httpd -S | rg '^.*namevhost (\S+) \(.*' --replace '$1' | sort -u

# with counter
httpd -S | rg '^.*namevhost (\S+) \(.*' --replace '$1' | sort | uniq -c

ripgrep muss dafür installiert sein oder mit sed ersetzt werden.

Andere nützliche httpd Befehle

Verwendete Konfigurations-Dateien anzeigen.

httpd -t -D DUMP_INCLUDES

Verwendete Module anzeigen.

httpd -M

Syntaxkontrolle der Konfigurations-Dateien...

CSS nth

n-faches eines einzelnen Typs

1234567891011nth-child
(8)
(n+6)
(-n+9)
(n+4)(-n+8)
(n+2)(odd)
(3n+1)(even)
.e:nth-child(8) { ... }
.e:nth-child(n+6) { ... }
.e:nth-child(-n+9) { ... }
.e:nth-child(n+4):nth-child(-n+8) { ... }
.e:nth-child(n+2):nth-child(odd):nth-child(-n+9) { ... }
.e:nth-child(3n+1):nth-child(even) { ... }

JavaScript Tastaturbelegungs-Codes

Drücken Sie eine beliebige Taste um den entsprechenden Code zu erhalten:

TasteShift
Code16

Dies zeigt die JavaScript-Codes für eine beliebige Taste auf Ihrer Tastatur.

Die Code-Nummer können Sie verwenden um der Taste einen Event zuzuweisen.

window.addEventListener('keydown', funcname, false);
function funcname(e) {

  /* up */ if (e.keyCode === 38   ) { exec_if_pressed() }
  /* dn */ if (e.keyCode === 40   ) { exec_if_pressed() }
  /*...

Wie man Optionen mit Gulp übergibt

Sie können Optionen mit der { key0: value, key1: value, key2: value, ... } Syntax an Ihren Gulp Task übergeben.

Beispiel für gulp-purifycss

Der Task gulp-purifycss verwendet purifycss.

.pipe(purify(['./public/app/**/*.js', './public/**/*.html']))

wird zu

.pipe(purify(['./public/app/**/*.js', './public/**/*.html'], { minify: true, info: true, rejected: false }))

Beispiel für gulp-rsync

Der Task gulp-rsync verwendet rsync.

gulp.task('deploy', function() {
  return gulp.src('build')
  ...

Wie man ein eigenes Ruby Gem aus beliebigen Pfaden verwendet

Es ist möglich selbst angefertigte ruby gems aus beliebigen Pfaden, zum Beispiel dem lokalen Rechner, LAN oder Server zu installieren ohne die Notwendigkeit über den offiziellen ruby gem index zu gehen.

Über die Angabe des :path Attributs wird das gem von diesem Pfad aus auf dem lokalen Rechner installiert.

gem "foreman", :path => "/Users/pje/my_foreman_fork"

Alternativ dazu kann man das :git Attribut verwenden um das gem über ein remote git repository installieren zu lassen.

gem "foreman...

Wie Sie Ihre IP-Adresse dokumentieren

Haben Sie sich schon jemals gedacht: "Mhhmmm… war das ich hinter dieser IP-Adresse zu diesem ganz bestimmten Zeitpunkt? Ich wünschte nur, dass ich es wüsste, weil weil es mir bei DIESEM BESTIMMTEN PROBLEM SEHR HELFEN WÜRDE!"

Bash-Skript

#!/bin/bash

ipcur=$(curl -s ipecho.net/plain)
if ! tail -n 1 ~/.cronjobs/iplog.csv | grep -q "$ipcur"; then
    {
    printf '%s;' "$(date "+%Y-%m-%d;%H:%M")";
    curl -s ipinfo.io/json | jq -r '.ip + ";"
    + .hostname + ";"
    + .city + ";"
    + .region...

Die Leistung der Opus Komprimierung

Opus Compression

Wenn Sie generell viele Podcasts, Vorträge oder Hörbücher anhören und Sie möchten so viel davon unterwegs dabei haben wie Sie können, dann ist der Opus Audio Codec etwas was Sie interessieren könnte. Ich verwende selten diesen Begriff, aber hier kann er angewendet werden: die Ergebnisse raubten mir den Verstand. Es ist erstaunlich wieviel Audio Sie auf ein mobiles Gerät mit extremen Kapazitätsgrenzen packen können.

Ich habe gerade das:

none 162 Files mp3, 44100 Hz, mono, s16p, 129 kb/s Total...

Nur ausführen wenn Gerät angeschlossen ist

Waren Sie jemals in der Situation in der Sie ein Programm öffnen müssen, Sie dieses bestimmte Programm aber nur öffnen möchten wenn ein spezielles Gerät angeschlossen ist? Zum Beispiel wenn es einen symbolischen Link zu einer enormen Bibliothek auf einem externen Laufwerk gibt. Oder die Audio-Schnittstelle sollte eingesteckt werden bevor die DAW geöffnet wird.

Solche Anwendungen auszuführen ohne diese Anforderungen zu erfüllen kann Ihre Einstellungen durcheinander bringen und Sie müssen möglicherweise...

MAC Address Spoofing unter OS X/macOS

Das kann auf Reisen nützlich sein.

Funktion

Sie können dies in Ihre .zshrc/.bashrc/etc. einsetzen.

spoof () {
    CRED='\033[0;31m'
    CBLUE='\033[0;34m'
    getmac () {
        ifconfig "$1" | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
    }

    macorig=$(networksetup -getmacaddress "$1" | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}')
    macprev=$(getmac "$1")
    macrand=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
    sudo /System/Library/PrivateFrameworks...

Rouge Syntax-Highlighting

Die folgenden Beispiele zeigen Rouge Syntax-highlighting für viele verschiedene Programmiersprachen. Rouge wird von Jeanine Adkisson entwickelt. Es ist ein sehr guter Syntax-Highlighter der bemerkenswert präzise arbeitet.

Rouge strebt die höchste Lexing-Qualität in allen unterstützten Sprachen an, auch für aussergewöhnliche Features und Ausnahmefälle.

Das stimmt, ich kann es bestätigen, dass Rouge eher gar nichts hervorhebt als etwas Falsches auszugeben, was mir die ganze Zeit bei Pygments

Hallo Welt - Deutsch

Goethe

Ihr naht euch wieder, schwankende Gestalten! Die früh sich einst dem trüben Blick gezeigt. Versuch’ ich wohl euch diesmal fest zu halten? Fühl’ ich mein Herz noch jenem Wahn geneigt? Ihr drängt euch zu! nun gut, so mögt ihr walten. Wie ihr aus Dunst und Nebel um mich steigt. Mein Busen fühlt sich jugendlich erschüttert. Vom Zauberhauch der euren Zug umwittert. Ihr bringt mit euch die Bilder froher Tage. Und manche liebe Schatten steigen auf Gleich einer alten, halbverklungnen Sage. Kommt...