BLCL的博客小馆

标签 · TECHNOLOGY

首页

关于

归档

LinuxTECHNOLOGYVim

把 vim 的缩进设为 4 个字符,并且 tab 自动转空格

修改本用户的 ~/.vimrc 文件,添加以下内容。如果要想 sudo vim 也生效,那 /root/.vimrc 也要改。1234567filetype plugin indent on" show existing tab with 4 spaces widthset tabstop=4" when indenting with '>', use 4 spaces widthset shiftwidth=4" On pressing tab, insert 4 spacesset expandtab上面的注释已经解释了含义。

更多
LinuxTECHNOLOGY网络通信

在 Linux 中显示所有正在监听的 TCP 端口

netstat1sudo netstat -tulpn | grep LISTEN其中 -t 表示显示 TCP,-u 表示显示 UDP,-l 表示显示监听的端口,-p 表示显示对应的程序名,-n 表示不去查询 IP 对应的主机名。lsof1sudo lsof -i -P -n | grep LISTEN其中 -i 表示显示 IP 协议,-P 表示把端口号保留为数字形式,-n 表示不去查询 IP 对应的主机名。

更多
TECHNOLOGYNginx

让 Nginx 反向代理的程序获取客户端真实 IP

Nginx 配置添加以下内容:12345location / { proxy_pass http://127.0.0.1:8000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}其含义就是在反代时,在客户端发起的请求报文上添加 X-Real-IP 和 X-Forwarded-For 两个 HTTP 头。X-Real-IP 表示表观客户端地址,X-Forwarded-For,顾名思义,就是“为谁代理”的意思,这个可以用来嵌套式传输客户端真实地址。被代理的服务,只要能正确解析这两个头,就能获得客..

更多
LinuxTECHNOLOGYUbuntu

在 Ubuntu 中启用 swap

首先,swap 多大比较好?如果你有一个 2G 内存的服务器,偶尔内存有点吃紧,那就再开 2G 的 swap 吧。其他的情况,随缘。如果内存不紧张,就不用开。依次执行:12345678910sudo fallocate -l 2G /swapfile # 在根目录下创建一个 2G 大小的 swap 文件sudo chmod 600 /swapfile # 修改权限配置sudo mkswap /swapfile # 把这个文件作为 swapsudo swapon /swapfile # 启用 swapsudo vim /etc/fstab # 编辑 fstab 以自动挂载 swap 文件# 添加以下内容/swapfile swap swap defaults 0 0sudo swapon --show # ..

更多
C++TECHNOLOGYC

再一次理解 C++ 中的 extern "C"

本文是“攻玉计划”的一部分,翻译自 https://stackoverflow.com/questions/1041866/what-is-the-effect-of-extern-c-in-c 中 Ciro Santilli 的回答通过反汇编了解 extern “C” 的作用main.cpp12345678910void f() {}void g();extern "C" { void ef() {} void eg();}/* Prevent g and eg from being optimized away. */void h() { g(); eg(); }将上述代码编译为 ELF 格式的二进制,然后反汇编:12g++ -c -std=c++11 -Wall -Wextra -ped..

更多
loading..
TECHNOLOGY航模舵机

航模舵机控制及其 PWM 调制的进一步理解

起因是这样的,前段时间,我同时开始玩履带车和固定翼航模。履带车的动力是直流电机加驱动板,PWM 调制,0-100% 占空比控制电机从静止到全速转动。航模的话,虽说十年前我就开始接触了,但一直都是浮于表面的玩,能动就行。玩航模必须要有遥控器和接收机,接收机也是输出 PWM 信号的,连接舵机就能控制其在指定角度范围内运动,连接电调就能控制电机转速。于是,我想当然的,航模接收机 应该也是输出 0-100% 占空比的 PWM 信号,0 就是舵机一个极限角度,50% 就是中位,100% 就是另一个极限角度。然而事实并不是,我把履带车的驱动板接上航模的接收机,不管我怎么推拉摇杆,履带车始终以一个非常低的速度运动。这就引起了我的好奇。先简单看下航模接收机的 PWM 信号图形手头没有示波器,就拿一个简单的逻辑分析仪应付一..

更多
TECHNOLOGY证书HTTPS

如何自签名带 SAN 字段的 SSL/TLS 证书

前言在本站之前一篇文章 如何成为 CA,并签发自己的证书 中,我们介绍了如何做一个“正规”的自签名证书。但是,这个方法对于现代的浏览器不太管用了,因为 Chrome、Firefox 等浏览器已经不再判定证书的 CN (Common Name) 字段与域名是否一致了,而是改用判定 SAN (Subject Alternative Name) 字段。具体为什么这么做以及 SAN 的含义,网上有很多解释,很重要但是这里不谈,只谈如何在自签名证书中正确配置 SAN 字段。网上的教程有很多,但很多没有说清楚,或者缺少一些关键步骤和参数,导致实际情况下出各种问题,这里我尽量整理了一个完善的版本。准备步骤首先,CA 的证书与文首提到的文章一致,如果之前配置过,那就不需要再生成了。然后,生成待签发证书的私钥,这一步也与上..

更多
loading..
C#XamarinWEBTECHNOLOGY

如何 DIY 一个苏康码与行程码“双码合一”的健康码 APP

背景介绍众所周知的背景:苏康码打开很慢,在支付宝中如果没有快捷键,需要以下步骤:点击打开支付宝 -> 点击健康码 -> 点击立即查看,如果设置了长按图标打开健康码,也得至少两步;其他 APP 比如“苏周到”,可以实现长按快捷键后一步访问,但是其中存在三个步骤:APP 启动 -> 健康码小程序启动 -> 加载网页,这种不可理喻的框架,在某些低端机上冷启动,可能需要长达数十秒的时间;行程卡打开也很慢,在微信小程序中打开,不知道为什么每次都让我确认一下“同意并授权运营商查询”,严重影响效率;很多地方两个码都要查,于是慢*2,话说我也不知道为什么有关部门不把这两个码合二为一……所以干脆 DIY 一个。开发流程我想做出这样的效果:打开 APP 后,直接显示苏康码,滑动屏幕可切换到行程码,不需..

更多
TECHNOLOGYARMFPU

我两周就写了三行代码 - ARM Cortex A9 中断与浮点数运算、FPU 问题

问题出现公司产品采用了 Xilinx Zynq 7z010 芯片,用于运动控制以及网络通讯。两周前,测试过程中发现网络通信会小概率出错,TCP 收到的数据 CRC 校验失败,无法稳定复现。设备平台概述:CPU: Cortex-A9 双核RAM: 1GB DDR3操作系统: FreeRTOS网络协议栈: lwip211定位过程怀疑应用层数据处理问题TCP 是二进制数据流,每个包的长度不固定,应用层也许会写错。于是我修改了应用层的处理方案,手动构造了定长的数据包,虽然会导致 TCP 流量大幅上涨,但是逻辑看起来更清晰。然而,修改后,似乎由于流量变大了,原来小概率出现的错误,现在大概率会出现!这也给 Debug 带来了有利的一面。怀疑网络通讯链路电磁干扰问题但是这个怀疑方向很快就被否定了,因为我用了 TCP 协..

更多
123