blog-frontend icon indicating copy to clipboard operation
blog-frontend copied to clipboard

Vue3+Vite+ElementPlus实现的个人博客,包含GitlabCI、Docker、Nginx、docker-compose相关配置

Results 65 blog-frontend issues
Sort by recently updated
recently updated
newest added

## 1. 实践:Redis搭建1主2从3哨兵 前置条件:三台安装了docker的云服务器 + 2c4g (主), 首先启动redis-master + 1c2g (从), 启动redis-slave1 + 1c2g (从), 启动redis-slave2 redis配置均在redis官方提供的配置文件样例上做最小修改,实践角度不考虑安全性等问题, **实践证明:安全组开放端口以及不去调整默认端口能让你很快的搭建完毕** ```` // Redis配置 wget http://download.redis.io/redis-stable/redis.conf // Sentinel配置 wget http://download.redis.io/redis-stable/sentinel.conf ```` docker启动redis的脚本内容 ````...

Gitalk
Redis一主二从三哨兵搭建以及相关原理

## Protobuf简介 **将其理解为更快,更简单、更小的JSON或者XML,区别在于Protocol Buffers是二进制格式,而JSON和XML是文本格式** 优点: + 写法上简洁 + 传输体积小 + 解析速度快 缺点: + 社区规模较小 + 语言支持不全面(暂时) + 不直观 ## 1. 体积对比 对比JSON和Protobuf,定义protobuf结构为 ```` syntax = "proto3"; package TestPackage; message TestStruct...

Gitalk
Protocol Buffers编码原理

## 1. 文档部分 注册自定义指令 ```` Vue.directive('my-directive', { bind(){}, inserted(){}, update(){}, componentUpdated(){}, unbind(){} }) ```` 钩子函数 + `bind`: 只调用一次,指令第一次绑定到元素时调用,这里可以进行初始化操作 + `inserted`: 被绑定元素插入父节点时调用(仅保证父节点存在,但不一定被插入文档中) + `update`: 所在组件的VNode更新时调用 + `componentUpdated`: 指令所在组件的VNode及其子VNode全部更新后调用 + `unbind`: 只调用一次,指令与元素解绑时调用...

Gitalk
Vue-自定义指令

## 参考 [Egg 源码解析之 egg-cluster](https://zhuanlan.zhihu.com/p/29374045) ## 1. 整体了解一下 ### 1. Egg多进程模型 为了将多核CPU的性能发挥到极致,最大程度地榨干服务器资源,egg采用了多进程模型,解决了一个Node.js进程只能运行在一个CPU上的问题,`egg-cluster`是用于egg多进程管理的基础模块,**负责底层的IPC通道的建立以及处理各进程的通信** ![](https://static.calabash.top/img/file-1536733329034.jpg) + master: 主进程 + worker: master的子进程,一般是**根据服务器有多少个CPU启动多少个这样的worker进程,主要用于对外服务,处理业务层面上的事情** + agent: master的子进程,主要处理公共资源的访问,或者帮worker处理一些公共事务 **master类似于一个守护进程的存在** + 负责agent的启动,退出,重启 + 负责各个worker的启动,退出,refork,重启 + 负责agent和各个worker之间的通信 +...

Gitalk
Egg-cluster源码学习(水)

## 1. 第一章: 基础知识 ### 1.1 在设置canvas的宽度和高度时,不能使用px后缀 其实是可以的,书中观点是:**从canvas规范来说不使用px后缀更加规范** good ```` ```` bad ```` ```` ### 1.2 Canvas元素的大小和绘图表面的大小 在看文档的时候,通常都会得到这样一个信息:**不应该使用css属性来改变canvas元素的大小** 原因在于:**canvas元素有两套尺寸,一套是元素本身的大小,还有一个就是元素绘图表面的大小,当设置元素的width/height时实际是同时修改了两者,如果使用CSS属性来设定canvas元素的大小,那么只会改变元素本身的大小** **当元素大小与绘图表面的大小不一致时,浏览器会对绘图表面进行缩放,使其符合元素的大小,这样就会导致不合预期的效果** 元素大小 !== 绘图表面大小 ```` #canvas { width: 600px; height: 300px;...

Gitalk
HTML5 Canvas核心技术读书笔记