Fast create MySQL user and db with prevs

CREATE USER 'fast'@'%'
  IDENTIFIED WITH mysql_native_password AS '***';
GRANT USAGE ON *.* TO 'fast'@'%'
REQUIRE NONE
WITH MAX_QUERIES_PER_HOUR 0
  MAX_CONNECTIONS_PER_HOUR 0
  MAX_UPDATES_PER_HOUR 0
  MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS `fast`;
GRANT ALL PRIVILEGES ON `fast`.* TO 'fast'@'%';
GRANT ALL PRIVILEGES ON `fast\_%`.* TO 'fast'@'%';

@blog

Grab Chome Extension Favicon

If unique favicon is available only via chrome extension. You can grab it:

chrome://favicon/size/48/http://localhost

@blog

Carbon & Moment.js

    //  check if expired
    Carbon::parse($createdAt)->addSeconds($this->expires)->isPast();


    // diff in seconds
    $then = Carbon::now()->addMinute();
    $now = Carbon::now();

    $then->diffInSeconds($now, false) // -60
    $now->diffInSeconds($then, false) // 60

// parse string let will_end = '2019-02-01 10:00:00'; let then = moment(new Date(will_end)); // diff in seconds let then = moment().add(1, 'minute'); let now = moment(); then.diff(now, 'seconds'); // 60 now.diff(then, 'seconds'); // -60

@blog #php #js

xdebug

sudo subl /etc/php/7.1/cli/php.ini
sudo subl /etc/php/7.1/fpm/php.ini


[Xdebug]
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.idekey="PHPSTORM"
xdebug.overload_var_dump=off

@blog #php

Network Tab fast image save

a. Right click on an entry in the network log. Then select Copy All as HAR

b. In console:

    x = [<<PASTE HERE>>]; // paste here copied HAR

    (function(logObj, mime) {
      var results = [];
      logObj[0].log.entries.forEach(function (entry) {
        if (mime && entry.response.content.mimeType !== mime) return;
        results.push(entry.request.url);
      });
      console.log(results.join('\n'));
    })(x, 'image/png');  // can be changed type

c. Save links in file

d. wget -i file

js #linux @blog

Vuejs 2

Cheatsheet

Components understanding:

Preventing easy:

    <a href="#" @click.prevent="toDo();"></a>

Easy event handling:

    <button @click.ctrl="onClick">A</button>

    <button @click.ctrl.exact="onCtrlClick">A</button>

Prop validation:


Vue.component('example', { props: { // basic type check (`null` means accept any type) propA: Number, // multiple possible types propB: [String, Number], // a required string propC: { type: String, required: true }, // a number with default value propD: { type: Number, default: 100 }, // object/array defaults should be returned from a // factory function propE: { type: Object, default: function () { return { message: 'hello' } } }, // custom validator function propF: { validator: function (value) { return value > 10 } } } })

Mixins:


require('myapp-bootstrap'); require('./components/bootstrap'); var app = new Vue({ mixins: [require('myapp')] }); module.exports = { el: '#myapp-app', /** * The application's data. */ data: { }, }

@blog

Slack Desktop Dark Theme

  1. Use command to find slack folder: find / -name app.asar.unpacked -type d

  2. Append at the end of this file: app.asar.unpacked/src/static/ssb-interop.js

    document.addEventListener('DOMContentLoaded', function() {
         $.ajax({
           url: 'https://raw.githubusercontent.com/sandra1n/slack-night-mode/master/css/raw/black.css',
           success: function(css) {
             $("<style></style>").appendTo('head').html(css);
           }
         });
    });
    
  3. Restart App

@blog #linux

Projects

Tags

Capsule Servers

Lost connection to server.