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

LibreOffice Calc Hints

How to swap a column in Calc:

Select column B

Click anywhere in the highlighted area and drag the column. The mouse pointer should change to show the drag operation.

Before you release the mouse button, also press the Alt key. When the mouse pointer is at the left side of column A, release the mouse button.

Column B should be moved to the left of column A so that A and B are switched.

linux @blog

Projects

Tags

Capsule Servers

Lost connection to server.