乱码时光

个人收藏夹

Mac下批量删除.DS_Store

2020-5-30 admin

sudo find "/Users/lee/Desktop/webroot" -name ".DS_Store" -depth -exec rm {} \;

评论(0) 浏览(394)

Laravel 自定义 Artisan 命令

2020-3-26 admin

1、新建 Artisan 命令
$ php artisan make:command CalculateActiveUser --command=time:calculate-active-user

2、编辑 Artisan 命令 app/Console/Commands/CalculateActiveUser.php
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Models\User;

class CalculateActiveUser extends Command
{
    /**
     * The name and signature of the console command.
     * 调用命令
     *
     * @var string
     */
    protected $signature = 'time:calculate-active-user';

    /**
     * The console command description.
     * 命令描述
     *
     * @var string
     */
    protected $description = '生成活跃用户';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     * 命令执行的具体逻辑
     * @return mixed
     */
    public function handle(User $user)
    {
        $this->info("start~");

        // 业务代码...

        $this->info("end~");
    }
}


3、执行 Artisan 命令
$ php artisan time:calculate-active-user

评论(0) 浏览(644)

JS 使用 require 和 import 引入依赖的区别?

2020-3-21 admin

require 和 import,都是为了JS模块化使用。一个项目中最好是对引入方式做一个规范。下面我们就来看一下require 和 import的区别:

一.require
require 是 Commonjs 的规范,node 应用是由模块组成的,遵从 commonjs 的规范。用法:

a.js

function test (args) {
    console.log(args);
}

module.exports = {
    test
};

b.js

let { test } = require('./a.js');

test('this is a test.');
require 的核心概念:在导出的文件中定义 module.exports ,导出的对象类型不予限定(可为任意类型)。在导入的文件中使用 require() 引入即可使用。本质上,是将要导出的对象,赋值给 module 这个对象的 exports 属性,在其他文件中通过 require 这个方法来访问 exports 这个属性。上面b.js中,require(./a.js) = exports 这个对象,然后使用 es6 取值方式从 exports 对象中取出 test 的值。

二.import
import 是 es6 为 js 模块化提出的新语法,import (导入)要与export (导出)结合使用。用法:

a.js:

export function test (args) {
    // body...
    console.log(args);
}

// 默认导出模块,一个文件中只能定义一个
export default function() {...};

export const name = "lyn";

b.js:

// _代表引入的export default的内容
import _, { test, name } from './a.js';

test(`my name is ${name}`);

三、commonjs 模块 与 ES6 模块的区别
commonjs 输出的,是一个值的拷贝,而 es6 输出的是值的引用;
commonjs 是运行时加载,es6是编译时输出接口;

版权声明:本文为CSDN博主「liya_nan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liya_nan/article/details/81141244

评论(0) 浏览(489)

Laravel 计划任务使用记录

2020-2-26 admin

Laravel 命令调度器允许你在 Laravel 中对命令调度进行定义,只需要增加一条 Cron 命令。
修改系统的 Cron 计划任务配置信息
$ export EDITOR=vi && crontab -e

添加一条 Cron
* * * * * php /home/wwwroot/www.time.me/artisan schedule:run >> /dev/null 2>&1

Laravel 命令调度器在 app/Console/Kernel.php 文件的 schedule 方法中定义。
protected function schedule(Schedule $schedule)
{
    // 每天2点执行一次命令
    $schedule->command('time:backup-database')->dailyAt('02:00');

    // 1小时执行一次命令
    $schedule->command('time:calculate-active-user')->hourly();

    // 1分钟执行一次命令
    $schedule->command('time:get-wechat-avatar')->everyMinute();
}

Cron 软件将会每分钟调用一次 Laravel 命令调度器

评论(0) 浏览(659)

mysql 5.7 重置root密码

2020-2-26 admin

编辑 mysql 配置文件 /etc/my.cnf
[mysqld]下添加skip-grant-tables
重启 mysql 服务 service mysqld restart

修改 root 的密码为 123456
use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;
quit

编辑 mysql 配置文件 /etc/my.cnf
注释掉 skip-grant-tables
重启 mysql 服务 service mysqld restart

评论(0) 浏览(484)

Javascript 判断是否微信、安卓、iOS

2019-11-14 admin

const u = navigator.userAgent
const isWechat = u.indexOf('MicroMessenger') > -1
const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1
const isiOS = u.indexOf('iPhone') > -1 || u.indexOf('iPad') > -1

评论(0) 浏览(504)

Javascript 判断空值 undefined 和 null

2019-10-11 admin

Javascript 判断 undefined
const a = undefined
if (typeof(a) == "undefined")
{
  alert("undefined")
}

Javascript 判断 null
const a = null
if (!a && typeof(a) != "undefined" && a != 0)
{
  alert("is null");
}

评论(0) 浏览(486)

Nginx 负载均衡配置

2019-10-1

upstream slave_hosts {
    server 192.168.199.101:80 weight=1;
    server 192.168.199.102:80 weight=1;
}

server {
  listen 80;
  server_name www.nginx-test.me ;
  index index.html index.htm index.php default.html default.htm default.php;
  root  /home/wwwroot/www.nginx-test.me;

  location / {
      # proxy_set_header Host www.ng.me;
      proxy_pass http://slave_hosts;
  }

  access_log  /home/wwwlogs/www.nginx-test.me.log;
}

评论(0) 浏览(609)