用工作流的思维方式, 思考 需求/功能 实现

代码地址:https://github.com/extra-demo/workflow-demo

最近项目流程重构,在思考如何更合理的解耦,方便理解,后续方便扩展和维护。

FSM(有限状态机

先简单对这个概念做个解释

有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机(英语:finite-state automation,缩写:FSA),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。

  1. 状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须满足确使转移发生的条件来描述它。
  2. 动作是在给定时刻要进行的活动的描述。有多种类型的动作:
    1. 进入动作(entry action):在进入状态时进行
    2. 退出动作(exit action):在退出状态时进行
    3. 输入动作:依赖于当前状态和输入条件进行
    4. 转移动作:在进行特定转移时进行

Jd K2 Keyboard

问题

京造 K2 84键键盘,在ubuntu上遇到了一个神奇的问题,F1-F12 无法使用,按照其说明书使用 fn+x+l 进行多媒体和功能键动切换,emmm,没有生效,遂搜之~

Hyperf Metrics

代码地址 GitHub - extra-demo/hyperf-metrics-demo: hyperf-metrics-demo 创建项目并集成组件 创建 hyperf 项目 1 composer create-project hyperf/hyperf-skeleton hyperf-metrics-demo 一路默认即可,等待它安装完成 集成组件 1 composer require hyperf/metric 发布配置文件 php bin/hyperf.php vendor:publish hyperf/metric 修改配置文件 修改 /config/autoload/metric.php 文件

如何动态的给类增加方法

前言 之所以写这篇博客,是因为写 http demo 的时候的时候,用到了 laravel 里边的 validation 组件,按照老版本的方式调用 $this->validate() 的时候,找不到这个方法了,所以就看了一下文档,发

群晖修改 docker 源

修改配置文件 1 vi /var/packages/Docker/etc/dockerd.json 可以看到如下配置 1 2 3 4 5 { "data-root" : "/var/packages/Docker/target/docker", "log-driver" : "json-file", "registry-mirrors" : [] } 改为如下即可 1 2 3 4 5 { "data-root" : "/var/packages/Docker/target/docker", "log-driver" : "json-file", "registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn/"] } 完成配置之后重启群晖 docker 组件 1 synoservice

traefik2.0 启用 api

[TOC] 在traefit2.0 启用 dashboard traefik 2.0 提供了一个比 1.0 更加友好的一个 dashboard。如下图 开启方式也很简单: 命令行 --api.dashboard=true traefik.yaml 配置文件 1 2 3 4 5 6 7 api:#

WSL 设置字体

前言 为什么需要这个设置? 当我们使用 WSL,的时候,默认的终端可以进行自定义字体和大小设置 但是当我们使用VIM或者tmux的时候会发现,终端似

用到的calibre

calibre 是一个电子书管理器,最好的,没有之一。而且免费。 大概长这样: 基本的导入导出就不再说了,主要介绍下用到的功能。 多级目录管理 建立像这样自定义的