Topuino - 你愿意在办公桌上放一个监控服务器的小摆件吗?
我做了一个用来监控服务器的桌面小摆件什么是 TopuinoTopuino 是我 DIY 的一个桌面小摆件,可以实现通用服务器或计算机的数据监控,包括 CPU 占用、RAM 占用、两个硬盘的可用空间、硬盘读写速度、网络 IO 速率。为什么叫 Topuino在 Linux 系列服务器上,我们通常使用 top 命令查看 CPU 内存占用,我最初的设想也是将 top 命令实物化,这就是 Topuino 中 Top 的由来。在选型的时候,为了兼顾开发效率和成本,我选用了大名鼎鼎的 ESP8266 单片机,配合了 Arduino 开发框架,Arduino 则是 Topuino 中 uino 的由来。Topuino 有哪些亮点先看图解:我觉得它挺好看,哑光黑的 PCB 底板富有科技感,红绿蓝三色 LED 层次分明,指示..
更多写一个高可用Rpc服务(基础知识篇)
前言最近实在是太忙啦,每天都加班,这是开博这么久首次,一个月都没UPDATE,my bad,这个月保证日更三篇,补上补上。 久违的freestyle时间,(虽然我现在玩爵士了) 123456789101112131415每天reload存档似乎总会是一样加班就像是吃饭一样平常内心是否总想这样看不见未来的远方迷雾它层层阻挡思绪飞扬总在寂寞的晚上让我来静静的品尝 为什么要写这篇文章首先是因为我自己,最近非常的忙,但是我又在想,我他喵的忙了个什么 汇报一下最近(这一个月)的战果 从无到有编写完成了一个RPC服务,并且开源给全公司的项目使用 完成了一个CEPH多站点数据同步的开发(我在想这玩意到底有什么用) 完成了一个ElasticSearch项目的开..
更多Golang 1.10 到 1.17 期间发生的语言规范改动
因为 Golang 1.10 到 1.17 期间发生了相当多的语言规范改动,所以写了这篇博客来记录它。Golang 1.10无类型常量移位确定了无类型常量移位这种极端场景的处理方法。允许这样的索引表达式:x[1.0 << s],其中 s 是无符号整数。方法表达式放宽了方法表达式的语法。允许任何类型的表达式作为接收器。如:struct{io.Reader}.Read。Golang 1.11语言规范没有改动。Golang 1.12语言规范没有改动。Golang 1.13现代化的数字字面量前缀二进制整数:使用前缀 0b 或 0B。如:0b1011;八进制整数:使用前缀 0o 或 0O。如:0o660.0。原来以 0 为前缀的八进制表示法仍然有效,如0666;十六进制浮点数:使用前缀 0x 或 0X。..
更多通过修改 Mach-O 文件解决闭源组件符号冲突问题
# 符号冲突影响程序运行的正确性 这里我以一个例子说明这个问题。工程结构如下: example ├── foo │ ├── call_lib_foo.c │ ├── call_lib_foo.h │ ├── foo.c │ └── foo.h ├── main.c ├── my_foo.c └── my_foo.h foo 的目录有两个文件,内容分别为: // foo.c void foo(void) { printf("foo in lib\n"); } // call_lib_foo.c void call_lib_foo(void) { foo(); } 构建命令如下: clang -c foo/foo.c -o build/foo/foo.o clang -c f..
更多状态码造成微信公众号“该公众号提供的服务出现故障”
bug描述我们使用NestJS写后台代码,给微信公众号提供服务。用户给公众号发消息时,公众号会显示“该公众号提供的服务出现故障”。虽然后台代码可以正常处理业务,但这个提示非常影响用户体验。检查根据微信公众号文档给的提示,出现这个问题的原因是没有给微信服务器返回正确的信息。微信服务器需要的是success或者空的字符串。不能是json格式的字符串。搜了一下其他文章,有的说xml里也不能带有空格;有的说公众号绑定了第三方平台,要去解绑。但这些和我们的情况不一致。给公众号的接口是默认返回success的。查看运行log,发现用户发送1条消息给公众号,我们的服务端会收到4条一模一样的消息。这4条消息的MsgId是一样的。网上也有人提供了防止重复消息的办法。于是尝试以下方法维护一个map,key是MsgId。接收到..
更多Writeup for Web-Checkin in CyBRICS CTF 2021 (Mirror)
This is the fork of my friend’s blog: Writeup for Web-Checkin in CyBRICS CTF 2021. We have worked together for two days to solve the hardest web CheckIn in the CybricsCTF 2021. It is nearly a crypto challenge but I think it deserves a writeup.[toc]TL;DRPadding Oracle Attack + Bit Flip Attack + XSSThis is a hard web challenge in CyBRICS CTF 2021. For some ..
更多