利用github的actions实现blog的cicd
参考: https://zellwk.com/blog/github-actions-deploy/ 首先博客如果使用hexo搭建, 且借助hexo-deployer-git依赖进行远程上传的话, 则需要将repo设置为ssh方式, https方式是不支持的, 如下 12345deploy: type: git # Windows: https://github.com/wang-xiaowu/wang-xiaowu.github.io.git repo: git@github.com:wang-xiaowu/wang-xiaowu.github.io.git branch: master 当前样例为, 一个blog_source库(未公开)存储未编译md文档, 走cicd流程之后, 将编译好的资源利用hexo d的方式部署到另一个一个github源仓库(开源库) 首先配置ssh/private key1ssh-keygen -t rsa -b 4096 -C "943915349@qq.com" -f key 邮箱修改为本人邮箱 复...
定制化Gitbook在线文档服务
定制化gitbook在线文档服务项目介绍 定制化gitbook服务 安装部署教程 Docker 安装docker服务:https://docs.docker.com/install/#supported-platforms 安装docker-compose:https://docs.docker.com/compose/install/ 进入根目录执行 docker-compose up -d 本地试运行 安装 GitBook-cli npm install gitbook-cli -g cmd切到book下,gitbook 初始化 gitbook init注: 超过node10的版本,需替换掉/xxx/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js文件,或注释掉61-63 下载依赖项,执行 gitbook install 注: 4,5可选一个执行 服务形式启动,默认端口4000:执行gitbook serve 构建成静态文件:执行gitbook ...
记录hexo整合pwa的使用
pwa介绍 渐进式网络应用程式(英语:Progressive Web Apps,简称:PWA)是一种普通网页或网站架构起来的网络应用程式,但它可以以传统应用程式或原生移动应用程式形式展示给用户。这种应用程式形态视图将目前最为现代化的浏览器提供的功能与行动装置的体验优势相结合。 当你的网站实现了 PWA,那就代表了 用户可以添加你的博客到电脑 / 手机的桌面,以原生应用般的方式浏览你的博客 用户本地可以自动生成缓存,二次访问速度大大加快 用户可以离线浏览你的博客 下面的 PWA 实现方法借助了 Gulp 插件,在站点有内容更新时,可以弹窗提醒用户刷新页面。 背景 本文使用butterfly主题作为演示 虽然官方对pwa做了很好的集成,但是文档中介绍的并不全面,而且还有许多坑需要自己踩一遍,特此记录下 配置 本文使用Gulp 和 WorkBox组合进行配置pwa 克隆现成的butterfly demo项目,默认集成了hexo-offline和gulp https://github.com/jerryc127/butterfly.js.org.git 去除he...
记录valine和waline评论插件的使用
leancloud地址: https://console.leancloud.app/ butterfly主题已默认整合了这两个评论系统, 不需要再安装 Valine获取APP ID 和 APP Key请先登录或注册LeanCloud, 进入控制台后点击左下角创建应用 应用创建好以后,进入刚刚创建的应用,选择左下角的设置>应用Key,然后就能看到你的APP ID和APP Key了: 然后在主题配置文件中填好配置 WalineLeanCloud数据库+Vercel部署还是先进入leancloud, 然后记住id,key和masterkey Vercel 部署 (服务端) 点击上方按钮,跳转至 Vercel 进行 Server 端部署。 注 如果你未登录的话,Vercel 会让你注册或登录,请使用 GitHub 账户进行快捷登录。 输入一个你喜欢的 Vercel 项目名称并点击 Create 继续: 此时 Vercel 会基于 Waline 模板帮助你新建并初始化仓库,仓库名为你之前输入的项目名。 一两分钟后,满屏的烟花会庆祝你部署成功。此时点击...
Clickhouse解决连接/查询超时(Read timeout)
jdbc jdbc:clickhouse://{host}:{port}[/{database}]?socket_timeout=600000 datagrip等远程连接工具
clickhouse创建分布式表和本地表并远程同步mysql数据
此处以mergetree引擎举例,如果是用于高可用开发,还是需要换成replicatemergetree系列引擎1234567891011121314151617181920212223242526272829303132333435363738394041424344454647-- tablename和clustername不用提前建立好,会自动建立-- 分布式表和本地表都需要删除drop table if exists <database>.<tablename_local> on cluster <clustername>;drop table if exists <database>.<tablename_local> on cluster <clustername>;-- 先创建本地表(因为同步远程表没办法以集群模式同步,所以可以先同步表结构,不插入数据,然后再使用insert同步数据到各个节点)CREATE TABLE <database>.<tablename_local&g...
clickhouse简述
clickhouse什么是clickhouse?优势是什么,为什么选择ch? 全称 :Click Stream Data WareHouse 简称ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 ClickHouse的核心特性 ClickHouse拥有完备的管理功能,所以它称得上是一个DBMS(Database Management System,数据库管理系统),而不仅是一个数据库。 DDL(数据定义语言):可以动态地创建、修改或删除数据库、表和视图,而无须重启服务。 DML(数据操作语言):可以动态查询、插入、修改或删除数据。 权限控制:可以按照用户粒度设置数据库或者表的操作权限,保障数据的安全性。 数据备份与恢复:提供了数据备份导出与导入恢复机制,满足生产环境的要求。 分布式管理:提供集群模式,能够自动管理多个数据库节点。 列式存储与数据压缩 列式存储:想让查询变得更快,最简单且有效的方法是减少数据扫描范围和数据传输时的大小。假设一张数据表A拥有50个字段A1~A50,以及100行数据。现在需要查询前5个字段并进行数据分析...
clickhouse安装及简单使用
官方文档 安装(centos7) 检测环境许可 1$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" 添加官方存储库 123sudo yum install yum-utilssudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPGsudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/stable/x86_64 如果您想使用最新的版本,请用testing替代stable(我们只推荐您用于测试环境)。prestable有时也可用。 安装 1sudo yum install clickhouse-server clickhouse-client 启动 配置文件/etc/clickhouse-server/config.xml 1注释掉...
clickhouse工作中常用命令(长期)
全量从mysql导入数据到clickhouse(并建表)123clickhouse-client -m -u default --password 123456 --query="CREATE TABLE clickhouse_database_name.clickhouse_table_name ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql('ip:port', 'database_name', 'table_name','name', 'password');"; clickhouse数据导出到csv文件1clickhouse-client -h 127.0.0.1 --database="db" --query="select * from db.test_table FORMAT CSV" > test.csv csv文件导入到clickho...
clickhouse常用函数
group_concat(distinct xxx)1groupUniqArray(toString(xxx)) :得到的是数组 列转行1groupArray(xxx) :得到的是数组 合并数组成一个字符串1arrayStringConcat(arr, separator) 行转列1arrayJoin(groupArray(xxx)) 去重函数1arrayDistinct(array) 将数组拼接成一行12arrayConcat(array):此函数只有一个数组参数,无法设置分割符,可使用arrayStringConcat(array,'分隔符')设置分隔符 结果的最后一个1anyLast(xxx) 取出现次数前(3)的值1topK(3)(xxx) 复杂函数,过滤数组,取其中不等于a的第一个值1arrayElement(arrayFilter(x -> x!='a',['a','b','c'],1) 格式化日期1formatDateTime(currentTime...
