Wayne's blog

首页

关于

归档

好友们

loading..
USBDrive

我的USB存储器

我手上的 存储器 故事最近在搬家的时候,整理了东西,这无处安放的三个存储器非常有意思。 三个U盘,跨了很多很多年,我记不起来它们都是在什么时间买的,而且对应着几个时代。 最左侧到最右侧,容量从低到高,速度从低到高。 闪迪 8G USB2那个时候的 CPU 制程,大概是 45nm,这个存储器的唯一存在目的,就是给我装系统用, 直到现在这个U盘仍被我当作系统盘来用,可惜速度太太太慢了,写入 6M/s。 那个时候还在玩 腾讯的 FPS 游戏,有时候还会下载 “高科技”,但那时候的高科技有时候会带来病毒,删掉系统引导项什么的(那时候的操作系统在现在看来 实在是太不安全了)。 如果 哪天打不开机了,就很惨,当时并没有第二台电脑来供我恢复另一台电脑。 而且在当时 带宽水平 只有 4Mbps (大概 512kb..

更多
loading..
npmnode

Node项目离线构建

背景想要在一个无网络的环境下通过源代码构建dist,而不是拷贝dist到目标机器上,这样很难改动部分源代码重新部署应用。 offline build其实首先能明白一个理念就好解决了。(https://stackoverflow.com/questions/43064107/how-to-install-npm-package-while-offline) npm install 只是检查依赖项,如果没有找到本地文件中的相关依赖,则会下载他们。 但是 node_modules 又和平台相关,所以我们只需要建立和目标平台一致的联网环境即可,拷贝 node_modules 到无网环境中的源代码里就可以了。 接着执行 npm run build, 即可正常构建,整体感觉还是非常容易的。 cp -r ./node_m..

更多
loading..
scp

PSCP

SCP & PSCP背景一般情况下,操作系统之间用命令行快速的传文件都会用到 scp 命令, win10起就开始支持这个命令了。Linux,macOS很早就有了。 简单,快速,安全。 但是偏偏有些sb运维给禁掉了这个东西。导致传东西没有权限。 SCPscp -i ./id_priv_key ./localfile [email protected]:/files/remotefile scp其实是需要服务端配合的,如果scp在服务端被下了权限的话 是用不了的。 参考了 https://unix.stackexchange.com/questions/92715/can-i-transfer-files-using-ssh 可以用pscp,不需要服务端的scp权限。 PSCP https:..

更多
loading..
programming

移动端和后端加解密

移动端和后端加解密背景最近做一个加解密的需求,虽然用的标准很老,但是还是被坑到了。 前后端加解密竟然不统一 前端 https://github.com/brix/crypto-js 前端加解密框架的选择较少,我看下来 能用的只有 crypto-js. 并且文档极少,官网实例都没写全,完全要找源代码才能调用。Github 13K star,疯了真的是。 ECB/Pkcs7 实例const encryptMessage = (msg:string) => { let keyHex = CryptoJS.enc.Utf8.parse('secret_key'); console.log(keyHex) return CryptoJS.DES .e..

更多
loading..
Alpine

Alpine Linux

Alpine Linux背景Ubuntu 一定是最好的 Linux 发行版,但不是最轻量的,比如说 较高的内存占用,磁盘空间占用。 如果你想找一个 运行条件非常“瘦”,并且操作相对友好,那么 你要找的 一定是 Alpine。 Alpine安装和大多数发行版都不太一样。 Alpine会直接启动进去 所以 第一步其实是登录。默认账户名 root,没有密码 直接 enter登进去。 然后执行 setup-alpine 在这之后才和正常的Linux发行版差不多,但是只有命令行,没有GUI。但这不影响。 apk(包管理软件)其实用一个操作系统,无非就是在用它的一个软件生态。APK 就会让我感觉眼前一亮。 一个字,快! 另外一个原因是有更简单的命令。 想要安装一个软件: apk add vim 想要移除一个软件: ap..

更多
loading..
DNSmDNS

mDNS

multicast DNS背景我之前一直都在想,怎么解决路由器的DNS的映射问题。其实要求不高,只需要一个符合逻辑的 域名 就可以了。 太难了,不管是之前的小米路由器,还是现在的华硕路由器,维护起来太麻烦。 所以现在我要介绍一个技术:mDNS 路由器 DNS一般来说路由器上都会自带一个DNS作为缓存(dnsmasq),用来加速访问。 不管是运营商提供的 DNS 或者是 Public DNS,延迟 一般都会在 5 - 30 ms 左右,而路由器上的 DNS 因为距离实在太短了,所以 几乎都在 <= 1 m, 所以一般情况下 会有 5 - 30倍的速度提升。 Also,你还可以利用这个本地DNS来做一些自定义功能,比如做一些短域名解析,或者说自定义的主机解析。但大多数路由器厂商都没有提供这个功能..

更多
loading..
Python

Python 打包平台二进制文件

Python 打包平台二进制文件背景不知道为什么 Python 怎么那么火,到处都有在用,导致不得不用Python来完成一些事情。 python 安装依赖需要用到 pip,而且还需要有外网,但是这对离线部署就很不友好。 所以 在一些场景下还是需要打包二进制的。 e.gprogram// app.py from flask import Flask import service.user import service.algorithm app = Flask(__name__) @app.route("/") def hello(): return {"status": "UP"} @app.route(&quo..

更多
loading..
HTTPSAPI

基于 HTTPS 保护的 API

基于 HTTPS 保护的 API最近部署了 ELK,KubeSphere,发现好多东西都在使用自签发的证书,并且现在HTTPS的网站覆盖率已经非常非常高了。 既然 HTTPS 这么好用,能不能解决更多问题呢。 我经常遇到一个场景,现代微服务应用,很多服务的职责非常清晰,只提供一个功能,一两个接口。 那么为了这一个接口而设计 各种权限认证 或者 Token 校验,显得非常罗嗦 麻烦。 但苦于一直没有找到轻量化的方案,所以一般情况下 我更多的选择是 IP Allow List。 但 我觉得 这个解,非 HTTPS 不可。 HTTPS生成证书mkdir -p certs openssl req \ -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key ..

更多
loading..
k8skubesphere

KubeSphere 离线部署 (2022)

KubeSphereOffline installA主机0. required 有网络 有国际代理 相同系统 可用空间 >= 40GiB 1. 下载相关依赖apt update apt install sudo curl openssl wget vim htop apt install socat conntrack ebtables ipset # 下载 kube key curl -sfL https://get-kk.kubesphere.io | sh - # 下载 所需要的images curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/images-list.tx..

更多
loading..
ELKlog

ELK Docker deploy (2022)

ELK Docker deploy背景又到了各种运维time的时候了,最近要搭好多东西,比如 今天的主角 ELK,还有一些其他的基础设施,像是K8s,skywalking,prometheus。 每次安装这些组件版本都会比以前更新很多,并且和以前的安装方式有很大区别,每次都会踩新坑,那么现在就开始吧。 这里的 ELK 是 采用 Docker + 二进制的部署方式,因为 logstash 的 Docker 镜像似乎有些问题,Logstash 有些地方还是很坑的,所以后续我还会研究下更优雅的方式去做日志传输。 ElasticSearch 存储日志 Logstash 传输日志到 ElasticSearch Kibana 查看日志和分析日志 ElasticSearch ES 目前的 8.1 版本 链接方式..

更多
1234514