苹果M1芯片的MBP安装WIN10
前言朋友买了一台M1的MBP,但是又需要安装财务软件(财务软件需要安装在windows系统上),M1目前还不支持原生安装WIN10,所以采用虚拟安装的方法来安装对应的WIN10。 安装步骤一开始不知道这里面有坑,直接在https://next.itellyou.cn/ 网站上下载了普通的WIN10企业版,结果自然不可用。 然后发现镜像列表中是有ARM的镜像可下,然而经过漫长的文件下载过程后,发现镜像仍不可用。 这时候就各种查文档,然后查到了网上说去微软官网下载官方ARM的官方预览版,我兴致冲冲的找到了对应的版本,然后不给下,需要注册成为预览版的体验用户,但是并没有告诉我成为预览版体验用户的入口。。。 但是这时候我并没有放弃,找了一大堆文档,终于找到了下载镜像的方法。 如果需要在M1芯片的Mac电脑上安装基于ARM64内部预览版的Windows 10虚拟机,需要ARM64安装源 (VHDX)。下面是详细步骤: 点击访问微软 Windows内部预览下载网页. 如果自己已经是内部体验用户,请使用页面右上角的 “登录” 选项进行登录。 如果不是内部体验用户,请点击 链接点击注...
clickhouse和mysql的不同用法之陷入误区
前言我们的数据计算式基于clickhouse的,由于接触clickhouse不久,看官网介绍语法和mysql是类似的,就放心大胆的使用mysql的大量语法,然后遇到了一个很奇怪的问题,也是这个奇怪的问题让我对列式数据库有了更深入的了解。 遇到的问题先了解一下clickhouse对列式数据库的图表述: 再了解一下mysql的行式数据库的图表述: 然后下面这样一段sql: 123456select a,0 as b,0 as cfrom tbl_xxxwhere del = 1 and (1>1 or b in (1,2,3) or c in (4,5,6))group by a,b,corder by a desc 这样一段很简单的sql,在clickhouse中却无论如何都查询不出结果,明明在where条件在数据库中满足条件的数据量非常的多,却出现这样奇怪的现象。 排查问题 排查到的问题1:以为是 1>1这个语句导致了数据库无法查询出数据,所以将1>1 改成了 2>1,然而能查询出数据了,但是查询出的是全量的数据,所以经过验证后发现该问题无解 排查到的问题...
go-web容器化中遇到的两个问题
前言今年开始接触并且实践到Golang,近期自己写了一个相册的服务,是基于前后端分离的模式,由Go提供rest给web页面使用。在项目前期是直接使用的打包完成的二进制文件执行,在管理方面存在一些不方便的地方,所以周末抽时间将其容器化,实现自动化的部署方案,主要就是采用coding的devops流程,容器化使用的还是docker容器,使用的是alpine的镜像,在这个过程中遇到一些问题,下面会详细讲出,以此记录。 docker容器化过程将服务自动化发布流程还是比较简单的,分为以下几步:1、github上创建对应的代码仓库,作为源代码的提交2、在coding上新建一个项目,与github的代码库绑定(github同时也提供github action,也是非常好用的,但是我的服务器主机都在国内,所以涉及到一个跨境网络同步延时很高的问题)3、在创建的项目中有个持续集成-构建计划,此时就是自己编写对应的jenkins文件,当代码有更新时,会自动hook到流程中,执行对应的build/deploy过程4、完成deploy过程后,检查对应容器的服务状态以及接口状态是否ok,整个自动化...
standard-notes之集成自己的插件库
前言上一篇文章写了怎么部署standard notes的自建笔记本,在使用过程中发现还需要很多的插件来配合更好的使用standard notes,来做数据备份以及更好的编辑文档。standard notes的插件是可插拔的,简而言之就是将静态页面加载到页面中,来使用其中的功能,达到增强的目的。 关于standard notes 作为开源软件和服务提供商,它本身的写笔记和同步笔记是不收费的,提供了mac/win的客户端和web端应用,所以多端同步是它最大的优势之一,但它对于插件是使用的收费订阅的模式,每个月基本在3美金以内,但是我都自建服务了,为啥还需要去用它本身的服务了,所以参考了一些文档,调查了一些插件的接入步骤,陆续接入了很多插件。 接入插件步骤查看对应的插件接入文档作为开发人员,一般了解到一个不太熟悉的内容,或者需要接入某些组件,第一件事就是查看对应的文档,自己了解到一些细节点,文档地址:https://docs.standardnotes.org/extensions/intro/ 查看github上大牛帮你收集好的插件集合github上有很多各种领域的大牛,能...
好用的日常笔记本standard notes
前言很久很久之前就一直在找一些好用的并且开源的note app,尝试过trilium、蚂蚁笔记、notion、语雀 都没有找到我心仪的那一款,要么是数据是存储在境外,一旦国家的墙更厚了,就尬了,另外一些就是数据很分散,备份出来的数据无法很顺利的导入到其他的app中。直到有一天我发现了Standard notes。 关于Standard notesStandard notes是一款免费、开源且完全加密的笔记应用程序。 简单介绍一些它的优点: 开源 代码开源,可以自己创建对应的服务,将数据存储在自己的自建数据库中,这也是我最看重的一点 免费 知识付费时代,有一些免费的可维护的项目也是很难得,该产品也是通过开源的形式,然后使用官方的服务队插件进行收费 完全加密 按照文档的说法是完全的端到端加密,数据在浏览器进行接口传输之前就已经进行了加密,避免网络传输过程中被拦截后数据泄露的场景 部署Standard notesStandard notes大部分语言是使用node写的,按照微服务的方式进行拆分,分为几大块: 服务层: 同步服务器 业务逻辑的核心,负责对用户数据的所有操作。 同步服务...
如何为网站申请泛域名证书并自动续约
自己有很多的网站,每次都需要申请SSL证书,所以最近在鼓捣怎么申请泛域名证书减少工作量。 前言现在随着chrome大力推广网站HTTPS化,推进互联网的数据安全进程,SSL证书的申请渠道有非常的多,个人用户申请免费的SSL证书很方便。 阿里云、腾讯云都支持20个以内的单域名SSL证书,有效期是一年,但是因为网站比较多,所以首先考虑方案是申请一个免费的泛域名证书,这样在一级的所有网站可以复用一套SSL证书,更新起来也不用那么繁琐。 申请SSL免费证书的渠道 使用certbot申请SSL证书,可申请普通域名和泛域名证书并配置自动续约,有效期90天 使用acme.sh申请SSL证书,可申请普通域名和泛域名证书并配置自动续约,有效期90天 使用阿里云申请SSL证书,仅可申请普通单域名证书,过期需要人工再次申请,有效期365天 使用腾讯云申请SSL证书,仅可申请普通单域名证书,过期需要人工再次申请,有效期365天 … 使用acme.sh申请免费的SSL证书并配置自动续期为什么选择acme.sh? 由于certbot的方式需要安装对应的安装包并且需要支持python环境,配置起来较为麻...
基于authelia的最佳实践
前言作为一名工程师,在这个繁杂的网络世界中,想有自己的一片净土。自己有很多的网站,方便自己工作生活,但是苦于网络安全问题不敢轻易部署在公网中,所以发掘了这块一款SSO工具:authelia,他能很方便的在nginx层给你的网站加上独属于你的防火墙,账号密码,如果网站很多,并且没有自己独立的账号系统,那这款工具可以说非常适合你了。 关于autheliaAuthelia是一个开源身份验证和授权服务器,可通过Web门户为您的应用程序提供2要素身份验证和单点登录(SSO)。它充当反向代理(如nginx,Traefik或HAProxy)的伴侣,以使他们知道查询是否应该通过。未经身份验证的用户将重定向到Authelia登录门户。目前主要可用功能 几种第二因素方法: 带有Yubikey的安全密钥(U2F)。 使用Google Authenticator的基于时间的一次性密码。 带有Duo的移动推送通知。 使用电子邮件确认通过身份验证重置密码。 仅单因素身份验证方法可用。 尝试过多身份验证后的访问限制。 每个子域,用户,资源和网络的细粒度访问控制。 支持受单一因素保护的端点的基本身份验...
scp日常使用记录
scp 在平常会比较常用,所以记录一下对应的基本使用方法。 scp 命令介绍scp 是使用ssh协议的sftp文件上传方式,可以将文件、文件夹在服务器和本地机器之间互传,在没有图形化客户端的条件还是比较好用的 常见使用方法从服务器下载文件或者文件夹到本地123456#下载文件scp -P 30010 <username>@<hostname>:/data/ToolsetIdeaPlugin-1.0.0.zip .#下载文件夹scp -P 30010 -r <username>@<hostname>:/data . 注意: -r 代表下载递归文件夹,如果非文件夹可去掉 -P 大写的P代表对应host的端口,为了安全考虑,我们一般不会使用22作为ssh的端口 命令最后有一个 . 表示当前目录的意思。 从服务器下载多个文件到本地12# 下载多个文件到当前文件夹scp -P 30010 <username>@<hostname>:/data/\{a.md, b.md, c.md\...
Linux安装mongodb
前言因为需要部署蚂蚁笔记,就想着将数据库放在云上,后来发现基本上所有的云厂商对Mongodb收费都比较高昂,所以就选择了便宜的方案,在公有云服务器上自建mongodb服务。mongodb服务构建主要是使用的docker,数据挂载在磁盘固定的位置,并且定时进行同步 步骤 使用docker最新版的mongodb镜像 1docker pull mongo 给mongodb创建对应的本地数据存储空间以及数据备份空间 12mkdir -p /data/mongo-datamkdir -p /data/mongo-backup 写docker容器创建命令 1234#创建mongo容器并且指定对外Port为20011 挂载数据内容以及备份内容,`--auth` 开启mongo认证,不建议在公网环境暴露docker run -d -p 20011:27017 --name mongo -v /data/mongo-data:/data/db -v /data/mongo-backup:/data/backup mongo --auth 启动mongo后创建对应账号 123456docker...
Git常用命令
仓库12345678# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url] 配置123456789# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]" 增加、删除文件123456789101112131415161718192021# 添加指定文件到暂存区$ git add [file1] [file2] ...# 添加指定目录到暂存区,包括子目录$ git add [dir]# 添加当前目录的所有文件到暂存区$ git add .# 添加每个变化前,都会要求确认# 对于同一个文件的多处...