huangyanxiong

huangyanxiong

127 posts
vue组件间的通讯

vue组件间的通讯

vue组件间通讯主要有两种,一种使用事件总线的方式,两种是使用外部状态管理器vuex 事件总线 这种方式的缺点就是不适合开发大型的应用,主要工作原理是使用事件,当应用逐渐长大,开发人员越来越多,定义的事件名称就会可能出现重复,导致应用不能正常工作,通常构建大型应用不建议使用这种通讯方式,适合个人短期的小应用,其优点就是简单,快速构建应用 Bus 创建事件总线中介 import Vue from 'vue' export default new Vue(); Items <template> <div> <ul&

  • huangyanxiong
    huangyanxiong
3 min read
教你怎么使用破屏手机

教你怎么使用破屏手机

不下心就把手机跌破屏,还等着手机上网的,那些没有回到消息,很抱歉,在这里说声"对不起"。逼不得已,想到勉强能用办法,就是通过笔记本来控制手机,虽然不能离开笔记本,也只能迁就了 安装基础软件工具 在安装stf之前需要先安装一些基础接口和库 Node.js Node.js是基于Chrome's V8 JavaScript 引擎,使用事件驱动,非阻塞式I/O,轻量级编程语言 curl -sL https://deb.nodesource.com/setup_

  • huangyanxiong
    huangyanxiong
3 min read
在Laravel的中间件获取路由参数

在Laravel的中间件获取路由参数

由于要做文件的上传到OSS,上传后要删除本地文件,并且响应客户端下载这个文件,如果把调用删除操作写在控制器,则无法响应客户端下载操作,因此使用Laravel的终止中间件来做个操作,下面整个处理流程 还有一个问题就是Laravel中间件获取参数的问题,下面是解决方式 public function handle($request, Closure $next) { echo $request->route('id'); return $next($request); }

  • huangyanxiong
    huangyanxiong
1 min read

使用supervisor管理进程

Supervisor是一个C/S架构的软件,允许其用户在类UNIX操作系统上控制多个进程,类似与systemd,但没有systemd那么强大,由supervisord作为服务端,supervisorctl提供CLI方式进行管理,提供Web Server服务组建进行远程管理和验证 安装Supervisor Debian/Ubuntu ➜ sudo apt-get install supervisor RedHat/Fedora ➜ yum install python-simplevisor.noarch supervisor 配置说明 配置远程管理http_server ; http server config [inet_http_server] port=

  • huangyanxiong
    huangyanxiong
3 min read

Docker可信注册

Docker Trusted Registry (简称DTR),中文Docker可信注册表,通俗的理解就是Docker镜像的仓库,Docker的企业级的镜像存储解决方案,你可以将它安装在防火墙之后,使用它来管理应用镜像,内置基于角色RABC访问控制系统 DTR架构 你可以把它部署到本地服务器或者云服务器中来管理和存储应用镜像,也可以把它部署到swarm集群woker Node中 DTR内部组件 Name Description dtr-api-<replica_id> 执行DTR的业务逻辑,为APi和web应用服务 dtr-etcd-<replica_id> 使用etcd key-value 持久化存储配置信息 dtr-jobrunner-&

  • huangyanxiong
    huangyanxiong
2 min read

sass基础与扩展

Sass是CSS的扩展,为基本语言增添了更为强大的特性。 它允许您使用变量,嵌套规则,混合,内联导入等等,并提供sass,scss两种的语法选择,具有完全CSS兼容的语法,Sass可以很好的帮助你组织好大型样式表,特别是在Compass样式库的帮助下,接下来我们可以体验Sass的特性 变量 可以使用$来定义变量,就像PHP,他可以存储任何你想重用的信息,比如字体,颜色;然后可以在样式表中引用这个变量 // 定义变量 $font-stack: Helvetica, sans-serif $master-color: #333 body font: 100% $font-stack //use font var

  • huangyanxiong
    huangyanxiong
4 min read
Linux的umask值计算与设置

Linux的umask值计算与设置

umask是用来控制创建文件模式的命令,它为创建文件定义初始化的权限位,uamsk遵循POSIX的标准,因为它会影响当前shell的执行环境,通常内置到shell中 查看当前umask值 ➜ umask 000 计算umask值 当创建新文件时,通常都会有默认的权限位,这是因为系统会根据我们设置umask值来为新文件设置权限,有时我们需要更改此值,需要重新计算umask的值,假设我们系统的umask值是027 0 第一位即user的所有权 7-0 7 2 第二位即group的所有权 7-2 5 7 第三位即other的所有权 7-7 0 十进制 二进制 含义 0 000 没有权限

  • huangyanxiong
    huangyanxiong
2 min read
安装gitlab遇到的问题

安装gitlab遇到的问题

打开external_url时页面显示的nginx欢迎页 解决方法:如果使用GitLab CE Omnibus package安装方式,那么只需要关闭已有的nginx服务,因为gitlab已经打包了nginx服务器 打开external_url时页面显示502错误 sudo gitlab-ctl status 检查所依赖的服务是否运行 sudo gitlab-ctl tail 检查gitlab所依赖的服务是否在运行时出错 sudo gitlab-rake gitlab:check 检查的配置是否正确,如果有错误,请根据提示解决它 error: proxyRoundTripper: GET "/" failed with:

  • huangyanxiong
    huangyanxiong
1 min read
配置openresty并加入到服务中

配置openresty并加入到服务中

systemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。systemd 的特性有:支持并行化任务;同时采用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。 [Unit] Description=openresty service [Service] Restart=

  • huangyanxiong
    huangyanxiong
1 min read
Tmux 快捷键

Tmux 快捷键

tmux简介 tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以同时开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此 tmux使用C/S模型构建,主要包括以下单元模块: 模块 名字 说明 server 服务 输入tmux命令时就开启了一个服务器 session 会话 一个服务器可以包含多个回话 window 窗口 一个会话可以包含多个窗口 pane 面板 一个窗口可以包含多个面板 2. tmux常用快捷键 系统操作

  • huangyanxiong
    huangyanxiong
3 min read
编译安装Openresty

编译安装Openresty

OpenResty ™ 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关 Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用ANSI C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。和许多“大而全”的语言不一样,网路通讯、图形界面等都没有默认提供。但是Lua可以很容易地被扩展:由宿主语言(

  • huangyanxiong
    huangyanxiong
2 min read
MySQL存储过程与函数

MySQL存储过程与函数

权限 创建存储子程序需要CREATE ROUTINE权限,移除存储子程序需要ALTER ROUTINE权限。这个权限自动授予子程序的创建者,执行子程序需要EXECUTE权限。然而,这个权限自动授予子程序的创建者。同样,子程序默认的SQL SECURITY 特征是DEFINER,它允许用该子程序访问数据库的用户与执行子程序联系到一起 mysql函数即使重启mysqld服务后函数依然会存在,只存在指定的数据库,不会跨数据库 创建数据库 drop database if exists test_1; create database test_1; use test_1; 函数 第一个函数

  • huangyanxiong
    huangyanxiong
7 min read
什么是I/O

什么是I/O

I/O即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出(来自Wiki) 这句话换到编程中就是CPU与外部存储器的输入输出,包括CPU本身的一,二,三级的缓存,内存,硬盘,网络,Usb设备等等 在编程中常见的I/O操作有那些 一般软件都会有数据库,不论是web软件还是移动,桌面端软件,如果数据库是保存在硬盘的话,那么对数据库的增,删,改,查都是对硬盘I/O的操作 PHP $result = query(select/insert/update.....); Node.js query(

  • huangyanxiong
    huangyanxiong
1 min read
理解Node.js事件轮询Event Loop

理解Node.js事件轮询Event Loop

一般Web后端软件都没有很多的复杂计算,CPU很多时间都是在等待I/O操作完成或者等待网络应答消息,下图是CPU的一级缓存和二级缓存,硬盘,内存操作所花费的CPU cycles I/O即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出 不同硬件设备I/O操作所花费CPU cycles Action Cost (CPU cycles) L1 Cache* 3 L2 Cache* 14 RAM* 250 Disk 41,000,000 Network 240,000,

  • huangyanxiong
    huangyanxiong
4 min read
ECMAScript 6与Es5的等价

ECMAScript 6与Es5的等价

请注意文档还在处理中,欢迎你的贡献. 目录: 箭头函数 块级作用域 模板字符串 属性名称的计算 解构赋值 默认参数 迭代器和For-of Classes类 模块 数字字面量 属性方法 对象快速初始化 rest参数 延展操作符 代理函数对象 关于 License 箭头函数 与函数表达式相比,箭头函数表达式具有更短的语法,并且以词法的方式绑定值,箭头函数是匿名函数。 ES6: [1, 2, 3].map(n => n

  • huangyanxiong
    huangyanxiong
9 min read
Facebook的yarn包管理器

Facebook的yarn包管理器

Yarn是一个新的包管理器,替换npm或其它包管理器的现有工作流程,并保持与npm 的registry兼容。 它具有与现有工作流程相同的功能集,同时操作速度更快,更安全,更可靠 Facebook为了解决包的依赖重复安装的问题而开发,因为在npm每个包的依赖会被重复的安装,还有就是在项目持续集成时,facebook由于安全的考虑在采用离线的沙盒环境进行构建,因此要求包管理器必须支持离线安装。 Yarn的架构 Yarn解决依赖包的重复是通过使用文件锁和可靠的安装算法来解决版本控制和非确定性方面的问题,文件锁的作用是将已安装的依赖关系锁定到文件中,并确保安装在所有计算机上的node_modules中产生完全相同的文件 安装包的过程可分为三步: 解释: Yarn通过发起请求到registry并递归的解释每个包的依赖 获取: 接下来,Yarn在全局缓存目录查找包是否已经被下载过,如果不存在,Yarn获取包和依赖并放到全局缓存目录中,用于离线安装,依赖也可以放在源控制中作为包离线安装 连接: 最后Yarn从全局缓存中复制所需的文件到本地node_modules目录中 开始使用Yarn 安装Yarn

  • huangyanxiong
    huangyanxiong
2 min read

在Docker的swarm上构建Nginx集群

Docker Engine从1.12开始整合swarm(集群)模式,集成很多工具和特性,比如:跨主机上快速部署服务,服务的快速扩展,集群的管理整合到docker引擎,这意味着可以不可以不使用第三方管理工具。分散设计,声明式的服务模型,可扩展,状态协调处理,多主机网络,分布式的服务发现,负载均衡,滚动更新,安全(通信的加密)等等,下面开始创建Docker集群,但是要先认识一些集群swarm模式关键概念 关键概念 Swarm 集群的管理和编排是使用嵌入到docker引擎的SwarmKit,可以在docker初始化时启动swarm模式或者加入已存在的swarm Node 一个节点(node)是已加入到swarm的Docker引擎的实例 当部署应用到集群,

  • huangyanxiong
    huangyanxiong
5 min read

欢迎订阅