树莓派3b+踩坑记录

选择那个版本的系统? 不要过高的估算树莓派的性能,最好不要选择那些具有漂亮界面的ubuntu或者manjaro, 因为当你使用这些带桌面的系统时,很大概率界面能让你卡的想把树莓派砸了。 所以优先选择不带图形界面的lite版本的系统,如果确实需要的话,可以再安装lxde 网线插了,还是无法联网 插了网线,网口上的绿灯也是在闪烁,但是eth0就是无法联网成功。真是气人。 解决方案: 编辑 /etc/network/interfaces, 将里面的内容改写成下面的,然后重启树莓派。 这个配置文件的涵义是:在启动时就使用eth0有线网卡,并且使用dhcp给这个网卡自动配置IP auto eth0 iface eth0 inet dhcp iface etho inet6 dhcp source-directory /etc/network/interfaces.d 无桌面版本,如何手工安装桌面 首先安装lxde sudo apt update sudo apt install lxde -y 然后通过raspi-config, 配置默认从桌面启动 sudo rasip-config 选择系统配置, 按回车键进入 选择Boot/Auto login, 按回车进入 选择Desktop, 回车确认。保存之后,退出重启。 键盘无法输入| | 在linux中是管道的意思,然而我的键盘却无法输入。最终发现是键盘布局的原因。 在图标上右键,选择配置 注意这里是US, 这是正常的。如果是UK,就是英式布局,是有问题的,需要把UK的删除,重新增加一个US的。 如何安装最新版本的neovim? 树莓派使用apt安装的neovim, 版本太老了。很多插件使用上都会体验不好。所以建议安装最新版的neovim。 ...

2021-08-14 11:01:17 · 1 分钟 · Eddie Wang

udp cluster 多进程调度策略学习

本来我的目的是使用cluster模块的fork出多个进程,让各个进程都能处理udp消息的。但是最终测试发现,实际上仅有一个进程处理了绝大数消息,其他的进程,要么不处理消息,要么处理的非常少的消息。 然而使用cluster来开启http服务的多进程,却能够达到多进程的负载。 server端demo代码: const cluster = require('cluster') const numCPUs = require('os').cpus().length const { logger } = require('./logger') const dgram = require('dgram') // const { createHTTPServer, createUDPServer } = require('./app') const port = 8088 if (cluster.isMaster) { for (let i = 0; i < numCPUs; i++) { cluster.fork() } cluster.on('exit', (worker, code, signal) => { logger.info(`工作进程 ${worker.process.pid} 已退出`) }) } else { const server = dgram.createSocket({ type: 'udp4', reuseAddr: true }) server.on('error', (err) => { logger.info(`udp server error:\n${err.stack}`) server.close() }) server.on('message', (msg, rinfo) => { logger.info(`${process.pid} udp server got: ${msg} from ${rinfo.address}:${rinfo.port}`) }) server.on('listening', () => { const address = server.address() logger.info(`udp server listening ${address.address}:${address.port}`) }) server.bind(port) } 日志库如下: ...

2021-07-21 12:57:03 · 4 分钟 · Eddie Wang

使用nginx为udp服务负载均衡

对nginx的最低版本要求是? 1.9.13 The ngx_stream_proxy_module module (1.9.0) allows proxying data streams over TCP, UDP (1.9.13), and UNIX-domain sockets. 简单的配置是什么样? 例如监听本地53的udp端口,然后转发到192.168.136.130和192.168.136.131的53端口 注意事项 stream是顶层的配置,不能包含在http模块里面 proxy_responses很重要,如果你的udp服务只接受udp消息,并不发送udp消息,那么务必将proxy_responses的值设置为0 stream { upstream dns_upstreams { server 192.168.136.130:53; server 192.168.136.131:53; } server { listen 53 udp; proxy_pass dns_upstreams; proxy_timeout 1s; proxy_responses 0; error_log logs/dns.log; } } | Syntax: | proxy_responses number; Default: — Context: stream, server | This directive appeared in version 1.9.13. Sets the number of datagrams expected from the proxied server in response to a client datagram if the UDP protocol is used. The number serves as a hint for session termination. By default, the number of datagrams is not limited. If zero value is specified, no response is expected. However, if a response is received and the session is still not finished, the response will be handled. ...

2021-07-17 19:28:18 · 1 分钟 · Eddie Wang

windows版本nc教程:在windows上做udp测试

有时候,客户端的udp包被中间的防火墙拦截了,在linux上可以很简单的用nc启动一个udp server # 启动udp server 监听8888端口 nc -ulp 20000 # 启动udp client nc -u 127.0.0.1 20000 在linux上启动nc udp server很简单,但是在windows上,没办法安装nc啊?😭 峰回路转 https://nmap.org/download.html 在查看了nc的官网之后,发现nc实际上也提供了windows的程序,有两种版本。 有GUI界面的,使用友好,安装包比较大 https://nmap.org/dist/nmap-7.91-setup.exe 仅仅在命令行下执行,刚好满足需求 https://nmap.org/dist/nmap-7.91-win32.zip 看看带GUI界面的 附件 nmap-7.91-win32.zip

2021-06-16 13:31:13 · 1 分钟 · Eddie Wang

5个接口压力测试工具

ab C语言 优点 安装简单 缺点 不支持指定测试时长 安装 # debian/ubuntu apt-get install apache2-utils # centos yum -y install httpd-tools wrk https://github.com/wg/wrk C语言 优点 支持lua脚本 wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue. An optional LuaJIT script can perform HTTP request generation, response processing, and custom reporting. Details are available in SCRIPTING and several examples are located in scripts/. ...

2021-05-31 13:00:16 · 2 分钟 · Eddie Wang

又发现了一个宝藏linux发行版 manjaro

overview 我主要使用过4个操纵系统。windows,macos,ubuntu,manjaro,每个操作系统,我都有上年或者上月的使用体会。 如果你是普通用户,无论工作还是学习,都不涉及到写代码的话。windows和mac是最好的选择,如果你是一名开发人员,那么macos,ubuntu和manjaro都是可以选择的。 我是一个很容易接受操切换作系统改变的人,从每个系统上我都可以很顺畅的切换。但是并不是所有人都是如此,有些人即使用了一年多的mac,还是无法接受,最终又换回了windows。 changelog 大学到工作第一年,我一直用windows,满足各种需求 工作第二年,我换了mac。因为我想轻便的笔记本,另外也想尝尝鲜。mac的屏幕、界面UI、触摸板都是值得称道的地方,键盘体验就不足人意了。 从mac切换到ubuntu, macbook使用接近4年了。明显感觉到一些性能上的不足,刚好又发现一台空闲的台式机没人用,台式机性能不错,之前是做服务器的,CPU、内存、磁盘资源都比较丰富。然后我就在上面安装了ubuntu。系统的初始化软件安装有些折腾人,要安装中文输入法,常见的软件例如微信和QQ, 安装还是有些难度的。ubuntu刚开始使用还是比较流畅的,但是接下来遇到非常致命的问题,UI经常卡死。查下来发现和Xorg以及系统的显卡有关,网上搜了下,很多人遇到类似的问题,也尝试了一些解决方案,但是还是无法解决。索性我就关了ubuntu的图形界面,仅仅ssh远程开发。 从ubuntu切换到macos, 恢复到之前的状态,感觉很好。但是看到macbook pro上接的扩展坞,以及被各种线缆高的乱糟糟的桌面,想尝试其他Linux发行版的想法又在心里悄悄发了芽,一路疯长。 道除了ubuntu, 就没有其他选择了吗?调研一番,发现了manjaro这个发行版,用户评价很不错。然后我就试试看,结果发现安装各种软件比ubuntu方便多了,试用了几天,也是越来越喜欢。又发现了一个宝藏发行版。 其实我一直对manjaro这个单词又很大的好奇,这个英文名是什么意思呢?词典上没有对这个英文词的介绍,只是说是一个linux发行版。 manjaro 什么意思?如何发音? marjaro这个词来自kilimanjaro, 乞力马扎罗是非洲最高的高山,这座山是由于火山爆发所产生的,这个可能比较贴合marjaro的滚动发布的特点,也说明这个发行版是比较活跃的吧。 Although the inspiration for the name originates from Mount Kilimanjaro, it may be pronounced as ‘Man-jar-o’ or as ‘Man-ha-ro’. https://wiki.manjaro.org/index.php/Manjaro_FAQ 乞力马扎罗山(斯瓦西里语:Kilimanjaro,意为“灿烂发光的山”)位于坦桑尼亚东北的乞力马扎罗区,临近肯尼亚边界,是非洲的最高山,常被称为“非洲屋脊”、“非洲之王”。其最高峰为基博峰(也称乌呼鲁峰),海拔5895米。 manjaro发行版的特点 图形化安装界面,非常方便 自带图形界面 自动硬件检测,图形化支持做的比ubuntu好太多 滚动更新 非常多的包,可以使用AUR来安装包 相比与Arch, manjaro对新手非常友好 参考 https://manjaro.org/terms-of-use/ Developed in Austria, France, and Germany, Manjaro provides all the benefits of the Arch operating system combined with a focus on user-friendliness and accessibility. https://wiki.manjaro.org/index.php/About_Manjaro ...

2021-05-30 13:42:36 · 1 分钟 · Eddie Wang

大写锁定键映射为escape

大写锁定键一般都是非常鸡肋的功能。 仅仅一次生效 setxkbmap -option caps:escape 大写锁定键改为esc setxkbmap -option ctrl:nocaps 大写锁定键改为ctrl 永久生效 /etc/X11/xorg.conf.d/90-custom-kbd.conf Section "InputClass" Identifier "keyboard defaults" MatchIsKeyboard "on" Option "XKbOptions" "caps:escape" EndSection 注销或者重启后生效 https://superuser.com/questions/566871/how-to-map-the-caps-lock-key-to-escape-key-in-arch-linuxhttps://wiki.archlinux.org/title/X_keyboard_extension

2021-05-24 20:25:34 · 1 分钟 · Eddie Wang

再读鲁滨逊漂流记: 成年人如何面对孤独

初中的时候,我曾经读过鲁滨逊漂流记,那时候这本书中最吸引我的是各种新奇的冒险体验,鲁滨逊接下来会遇到什么事情,是我最关注的事情。 最近,我又开始读这本书了。是因为我感觉到很孤独,我不知道如何解决。我想,鲁滨逊一个人在一个荒岛上过了二十八年,他是如何面对孤独的呢?我想找到这个答案。 写日记 小说中有不少的章节,都是鲁滨逊的日记。记录了他每天的工作和经历,通过写日志,他仿佛能够与自己对话。所以,有时候当我感到孤独的时候,我也写日记,把我的感想,我的困惑和烦恼统统写出来。对我自己来说,这也是一种释放。 投身工作,制造产品,让自己忙活 除非生病或者下雨,鲁兵逊总是在不停的忙活着。 收集葡萄,晒葡萄干 圈养小羊,让自己有充足的肉可以吃 种植大麦,自己制作面包 加固自己的房子 晒制陶土,制作陶器 环岛旅行 … 鲁滨逊每天都在忙活着,每一天过得都非常有意义。我也觉得自己决不能浪费时间。 找到自己的信仰 鲁滨逊在一次生病过程中,身体非常虚弱,当他回忆往事的时候,总觉得自己是个罪恶的人,无法得到谅解。但是偶然他得到一本《圣经》,他阅读圣经,从中找到自己的信仰。有信仰是非常幸福的事情,但是你若问我我的信仰是什么,我也不知道我的信仰是什么。 这是最好的时代,也是最坏的时代。所有的人都觉得90后是压力最大的一代,90都神经也是最敏感的(腾讯张军的致敬青年,白岩松的“不会吧”)。我们承受着各种压力,其中最大的可能就是房价了。 人生当中,自由自在可能仅仅是片刻的,承受压力却是主旋律。但是如何面对压力,却把人分成了不同的样子。有的人会被压力击垮,放弃抵抗,沉醉于各种网络精神鸦片中,有的人却能负重前行,坚持学习,一往无前。 罗曼罗兰说过:这世上只有一种真正的英雄主义,就是认清生活的真相,并且任然热爱她。

2021-05-17 18:23:41 · 1 分钟 · Eddie Wang

RabbitMq 大量的连接抖动

连接抖动介绍 Workloads with high connection churn (a high rate of connections being opened and closed) will require TCP setting tuning to avoid exhaustion of certain resources: max number of file handles, Erlang processes on RabbitMQ nodes, kernel’s ephemeral port range (for hosts that open a lot of connections, including Federation links and Shovel connections), and others. Nodes that are exhausted of those resources won’t be able to accept new connections, which will negatively affect overall system availability. ...

2021-05-13 11:41:43 · 1 分钟 · Eddie Wang

macbook pro 使用三年后的感受

我的macbook是2017买的, 使用到今天大概1204天。 最初的使用体验是 触摸板很灵敏 屏幕很高清 系统很流畅 三年中出现过的问题 键盘中的几个按键出现过问题,按键不灵敏。17年是用的蝴蝶键盘,这个键盘问题很多。最新版已经换成了剪刀脚键盘了。 屏幕老化,屏幕的四周出现淡红色的红晕,但是不影响使用。 如果不充电的情况下,掉电蛮快的,而且有时候电量还很多,就自动关机。 现在的感觉: 触摸板我基本不会用了,因为大部分时间我都是用键盘可以搞定一切。因为我用了vim编辑器。 我也不再使用macbook pro自带的键盘,因为真是不好用。所有的笔记本键盘,除了thinkpad的键盘。都不太好用,不适合长时间打字。所以我用了外接的静电容键盘。 无论多么好的自带键盘,都比不过外接的键盘,毕竟是专业的。当然除非你经常初查或者移动,外接键盘真是非常值得入手。 关于下一台电脑:下一台电脑我会等待M2芯片, macbook pro或则是macbook mini, 这个我还没想好。我对命令行以及相关unix有着很大的依赖。即使用ubuntu, 我也不可能再使用windows。

2020-12-30 13:25:21 · 1 分钟 · Eddie Wang