Debounce proprietà calcolate in Vue

Il seguente approccio può essere utilizzato per rimandare l'input dell'utente che innesca il rendering delle proprietà calcolate di vuejs. Se necessario, il debounce aumenterà le prestazioni del sito e migliorerà l'usabilità delle funzionalità. Nell'esempio seguente un set di dati viene filtrato e i risultati vengono visualizzati interattivamente in una tabella. Il calcolo avviene solo una volta esattamente 250 ms dopo che l'utente ha smesso di digitare nel campo di input. Il debouncing di una proprietà calcolata può essere ottenuto osservando una variabile proxy (queryTableBuffer in questo caso) o con i metodi getter / setter della proprietà calcolata.

<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>

Sfocatura dello sfondo

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 – Interpolazione di stringhe all'interno di espressioni regolari

Quando è necessario sostituire una variabile all'interno di un'espressione regolare, non è possibile utilizzare la solita interpolazione di stringhe in JavaScript. Devi creare un oggetto RegExp.

Supponiamo che tu abbia una regex complessa come /^(?!.*(\w{2}).*\1)\s*(?:(?:en|de|fr|it|es)\b\s*){5}$/ e devi manipolare dinamicamente le parti (?:en|de|fr|it|es) e {5}.

Non dimenticare di sfuggire alle barre rovesciate.

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}$/

Rimuovi i caratteri non necessari dai caratteri

Questa attività gulp rimuove tutti i caratteri inutilizzati dai caratteri. Esegue una scansione ricorsiva della directory di build e inietta il suo contenuto di testo in fontmin. L'attività inoltre produce file woff2 accanto ai tipi predefiniti di eot, svg, ttf e woff. È un'ottima routine di post-elaborazione per contenere le risorse e eliminare la notifica keep request counts low and transfer sizes small nel rapporto lighthouse.

Come ottenere un feed RSS per un canale YouTube

Come Daniel Miessler ha sottolineato è possibile ottenere un feed RSS per un canale youtube. Tuttavia, è necessario sostituire channel-external-id con channelId nel suo post sul blog.

Istruzioni

  1. Visita una pagina del canale https://www.youtube.com/user/PewDiePie

  2. Visualizza l'origine e poi filtra per channelId

  3. Aggiungi channelId alla fine della stringa di seguito

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

Regolare rapidamente il server DNS in macOS

# 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"

Sbarazzarsi di Found Quoted Keyword Warning in Phoenix

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

Cambia il seguente all'interno di mix.exs da

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

a

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

È possibile analizzare HTML con Regex?

Non è possibile analizzare [X]HTML utilizzando Regex. Poiché il linguaggio HTML non può essere analizzato da Regex. Regex non è uno strumento che può essere utilizzato per analizzare correttamente HTML. Come ho risposto in HTML e domande Regex qui così spesso prima, utilizzando Regex non vi permetterà di consumare HTML. Le espressioni regolari sono uno strumento poco sviluppato per comprendere i disegni utilizzati dall'HTML. Il linguaggio HTML non è una lingua normale e non può essere analizzato da espressioni regolari. Le query Regex non sono attrezzate per dividere il codice HTML nelle relative parti importanti. Così spesso, ma non è sempre per me. Anche le espressioni regolari estese irregolari utilizzate da Perl non sono il compito dell'analisi HTML. Non mi lascerai mai crepare. L'HTML è un linguaggio con una complessità sufficiente che non può essere analizzato da espressioni regolari. Anche Jon colomba non può analizzare il codice HTML con le espressioni regolari. Ogni volta che si tenta di analizzare il codice HTML con le espressioni regolari, il bambino piange il sangue delle vergini, e dei pirati russi hanno la loro webapp. L'analisi HTML con Regex Ottiene l'anima danneggiata nel Regno dei vivi. HTML e Regex vanno insieme come l'amore, il matrimonio e l'uccisione di bambini rituali. Il <center> non può reggere, è troppo tardi. Il potere di Regex e HTML insieme nello stesso spazio concettuale distruggerà la vostra mente, come l'acqua così tanto Putty. Se si analizza il codice HTML con Regex, dare voi stessi e le vostre vie blasfeme che tutti noi possiamo diventare problemi disumani per coloro i cui nomi non possono essere espressi nel piano di base multilingue. HTML Plus-RegExp si fondono il erves a tutti mentre si guarda la loro psiche nell'attacco del terrore. Rege̿̔̉X-based parser HTML sono il cancro uccisione StackOverflow è troppo tardi, è troppo tardi, non possiamo essere salvati il trangession di una garanzia chi͡LD Regex consumerà tutti i tessuti viventi (tranne HTML, che non può,) come profetizzato, caro signore, aiutaci, come può chiunque sopravvivere a questa piaga con l'analisi HTML Regex, l'umanità è diventata un'eternità di torture e dreadlocks utilizzando Regex come strumento per l'elaborazione HTML prenderà una pausa tra questo Mondo e il Regno spaventoso di entità C͒ͪo͛ͫrrupt (come entità SGML, ma corrotto) uno scorcio semplice nel mondo del parser ex reg per HTML va al auntyly, chi trasporta un programmatore-coscienza in un mondo di grida infinite, è, il fetore alacridi-infezione Regex Wil L divorare l'analizzatore HT-ML, l'applicazione e l'esistenza di tutto il tempo che Visual Basic ottiene solo peggio non viene con esso com̡e̶s ̕h̵i s un̨ho͞ly radiańcé destro҉Ying tutti ENLI̍̈́̂̈́ghtenment, tag HTML Lea͠Ki̧n͘g FR̶ǫm ̡yo ͟ur Eye͢s̸u ̛l̕IK͏e FL UID dolore, la canzone del re̸gular exp-resion analisi sarà il fuoco nguish le voci dell'uomo Mor tal della SP qui può vedere che egli può vederli ̲͚̖͔̙î̩́t̲͎̩̱͔́̋̀ è abbastanza t egli finalmente girare l'uomo si trova tutto è LOŚ͖̩͇̗̪̏̈́T tutto ho perso il pon̷y è , si C̶̮omes è, io o penetra tutta la mia faccia la mia faccia o H Dio non noo̼O o Nato fermare un * ̶͑̾̾ ̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s ͎a̧͈͖r̽̾̈́͒͑e n ot rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ za̡͊͠͝LGΌ isͮ̂҉̯͈͕̹̘̱ to͇̹̺ͅɲ̴ȳ̳ TH̘Ë͖́̉a ͠P̯͍̭O̚ N̐Y̡u



Hai provato ad usare un parser XML? bobince

Disattivare SIP & Gatekeeper

SIP

csrutil status
System Integrity Protection status: enabled.

Per disattivare la Protezione integrità di sistema (SIP) è necessario avviare il vostro Mac in Modalità Recovery (CMD + R) e immettere quanto segue nel terminale.

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

Restrizioni di SIP

# 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

Certificato di Letsencrypt per ogni dominio

Letsencrypt propone di combinare più domini in un unico certificato o di separarli per ciascun dominio. Quando si fa quest'ultimo dovresti farti i limiti di frequenza.

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

È inoltre possibile combinare un gruppo di domini di condividere un unico certificato.

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

Elencare gli Apache vhost

Rinnovo

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

Elencare gli Apache vhost

È possibile elencare tutti gli apache/httpd vhost con questo comando.

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

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

È necessario installare ripgrep o sostituirlo con sed.

Altri comandi utili httpd

Visualizza tutti i file di configurazione inclusi.

httpd -t -D DUMP_INCLUDES

Visualizza tutti i moduli caricati.

httpd -M

Eseguire il controllo della sintassi per i file di configurazione...

CSS nth

n-esima di tipo singolo

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) { ... }

Codici tasti JavaScript

Premere un tasto qualsiasi per ottenere il corrispondente codice:

TastoShift
Codice16

Questo indica i codici JavaScript per qualsiasi tasto sulla tastiera.

È possibile usare il numero di codice per assegnare un evento al tasto.

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

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

Come passare le opzioni con Gulp

È possibile passare le opzioni al tuo compito gulp con la sintassi { key0: value, key1: value, key2: value, ... }.

Esempio per gulp-purifycss

Il compito gulp-purifycss utilizza purifycss.

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

diventa

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

Esempio per gulp-rsync

Il compito gulp-rsync utilizza rsync.

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

Come utilizzare un gem del ruby personalizzato da qualsiasi cartelle

È possibile utilizzare i gems del ruby personalizzato da qualsiasi cartelle, per esempio la macchina locale, LAN o in remoto, senza la necessità di andare oltre il indice ufficiale degli gems ruby.

Specifica di un attributo :path installerà il gem da quella cartella sul computer locale.

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

In alternativa, specificando un attributo :git installerà il gem da cartella git remota.

gem "foreman", :git => "git://github.com/pje/foreman.git"

# ....

Come registrare il tuo indirizzo IP

Hai mai pensato: "Mhmmm… ero io dietro quell'indirizzo IP in questo particolare momento? Vorrei saperlo perché MI AIUTEREBBE MOLTO PER DETERMINARE SE HO UN PROBLEMA QUI O NON!"

Script di bash

#!/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 + ";"
    + .country + ";"
    + .loc + ";...

La potenza di compressione Opus

Opus Compression

Quando si desidera ascoltare un sacco di podcast, lezioni e libri audio per esempio, e volete portare con voi come gran parte di essa come si può, quindi il codec audio Opus è qualcosa che potrebbe interessarti. Io uso raramente questo termine ma qui può essere applicato: I risultati mi hanno stregato. È sorprendente quanto audio potete imballare su un dispositivo mobile con i limiti di capacità severa.

Ho appena convertito questo:

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

Spoofing l'indirizzo MAC su OS X/macOS

Questo può essere utile quando si viaggia.

Funzione

Si può mettere questo nel .zshrc/.bashrc/ecc.

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...

Eseguire solo se dispositivo è collegato

Sei mai stato nella situazione dove è necessario aprire un'applicazione, ma si desidera solo per aprire questa particolare applicazione, se è collegato un dispositivo specifico? Per esempio, quando c'è un link simbolico a una vasta libreria di dipendente su un'unità esterna. O l'interfaccia audio deve essere collegato prima di aprire il DAW.

L'esecuzione di tali applicazioni senza rispetto di questi requisiti può rovinare le impostazioni e potrebbe essere necessario regolare manualmente le preferenze...

L'evidenziazione della sintassi di Rouge

Gli esempi seguenti dimostrano evidenziazione della sintassi di Rouge per diversi linguaggi di programmazione. Rouge è sviluppato da Jeanine Adkisson. È un evidenziatore di sintassi molto buono che è estremamente precisi.

Rouge si propone per la lexing di qualità più alta in tutti i suoi linguaggi supportati, anche con caratteristiche strane e casi di angolo dispari.

È vero, posso confermare che Rouge piuttosto non evidenzia a tutti prima evidenziando cose sbagliate, che vedo succedendo...

Ciao mondo - Italiano

Boccaccio

Ser Cepperello con una falsa confessione inganna uno santo frate, e muorsi; ed essendo stato un pessimo uomo in vita, è morto reputato per santo e chiamato san Ciappelletto. Convenevole cosa è, carissime donne, che ciascheduna cosa la quale l’uomo fa, dallo ammirabile e santo nome di Colui il quale di tutte fu facitore le dea principio. Per che, dovendo io al nostro novellare, sì come primo, dare cominciamento, intendo da una delle sue maravigliose cose incominciare, acciò che, quella...