家里找电信开通了动态公网地址,每天IP会变一次。我的域名是在阿里云申请的,路由器只支持花生壳和公云的DDNS设置,每天手动变更一次域名指向麻烦,利用阿里云的API,写了一个动态更新的小工具。
首先在阿里云后台申请创建AccessKey:


家里找电信开通了动态公网地址,每天IP会变一次。我的域名是在阿里云申请的,路由器只支持花生壳和公云的DDNS设置,每天手动变更一次域名指向麻烦,利用阿里云的API,写了一个动态更新的小工具。
首先在阿里云后台申请创建AccessKey:
逻辑操作符是程序中进行判断的根本要素,也是执行不同的语句组合的依据。有时这也被称为流控制。
Bash 中有大量的用于不同条件表达式的逻辑操作符。最基本的是 if
控制结构,它判断一个条件,如果条件为真,就执行一些程序语句。操作符共有三类:文件、数字和非数字操作符。如果条件为真,所有的操作符返回真值(0
),如果条件为假,返回假值(1
)。
这些比较操作符的函数语法是,一个操作符加一个或两个参数放在中括号内,后面跟一系列程序语句,如果条件为真,程序语句执行,可能会有另一个程序语句列表,该列表在条件为假时执行:
if [ arg1 operator arg2 ] ; then list
或
if [ arg1 operator arg2 ] ; then list ; else list ; fi
像例子中那样,在比较表达式中,空格不能省略。中括号的每部分,[
和 ]
,是跟 test
命令一样的传统的 Bash 符号:
if test arg1 operator arg2 ; then list
还有一个更新的语法能提供一点点便利,一些系统管理员比较喜欢用。这种格式对于不同版本的 Bash 和一些 shell 如 ksh(Korn shell)兼容性稍差。格式如下:
if [[ arg1 operator arg2 ]] ; then list
Shell 是操作系统的命令解释器,其中 Bash 是我最喜欢的。每当用户或者系统管理员将命令输入系统的时候,Linux 的 shell 解释器就会把这些命令转换成操作系统可以理解的形式。而执行结果返回 shell 程序后,它会将结果输出到 STDOUT(标准输出),默认情况下,这些结果会显示在你的终端。所有我熟悉的 shell 同时也是一门编程语言。
Bash 是个功能强大的 shell,包含众多便捷特性,比如:tab 补全、命令回溯和再编辑、别名等。它的命令行默认编辑模式是 Emacs,但是我最喜欢的 Bash 特性之一是我可以将其更改为 Vi 模式,以使用那些储存在我肌肉记忆中的的编辑命令。
打开idea报错:Address already in use: bind
昨天还用的好好的,只是后来升级Android Studio插件失败过。Android Studio是Google基于Idea开发的,所以会不会是这个影响?
打开Android Studio,发现也报错。
现在浏览器基本都支持PAC格式的代理脚本。本文仅介绍PAC脚本语法,并不解释使用方法。
示例脚本
function FindProxyForURL(url, host) {
// our local URLs from the domains below example.com don't need a proxy:
if (shExpMatch(host, "*.example.com")) {
return "DIRECT";
}
// URLs within this network are accessed through
// port 8080 on fastproxy.example.com:
if (isInNet(host, "10.0.0.0", "255.255.248.0")) {
return "PROXY fastproxy.example.com:8080";
}
// All other requests go through port 8080 of proxy.example.com.
// should that fail to respond, go directly to the WWW:
return "PROXY proxy.example.com:8080; DIRECT";
}
从今年初接触Sharding JDBC 4.0到现在,近一年了,用来做日志和消息分表一直运行,没什么大的问题。前些天生产新上了一个服务,是因为Sharding JDBC把select for update语句解析为查询,在从库中执行,因为从库是只读权限所以报错。
之前没在测试环境发现这个问题,是因为测试环境数据库没有主从。想起当时刚接触Sharding JDBC写的Demo,于是整理一番,重新拉分支,并完善整个流程,模拟真实场景。
在自己的服务器开启防火墙,使用UFW设置规则:
ufw default deny
默认禁用所有连接,测试发现,用Docker运行的APP端口能正常访问。
UFW是为了简化Iptables产生的,它在Iptables有自己的规则链。Docker在启动时在Iptables会创建自己的规则链,所以不生效。
Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图:
从上图中可以看出 Spring 框架中的核心组件只有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。没有它们就不可能有 AOP、Web 等上层的特性功能。下面也将主要从这三个组件入手分析 Spring。
笔记本在睿频时耗电量增加,风扇声会很大。平时浏览网页写写文档完全可以关闭睿频。关闭睿频只需把处理器电源管理中CPU最大使用设为99%,系统扇热方式设为被动即可。详细可参考:Windows设置处理器电源管理
系统升级为Win10 20H2后发现处理器电源设置选项消失,注册表电源管理没有”CsEnabled”项。即使手动增加项,设置值也不生效。另一台台式机同样版本系统是有该设置项的。
也许是新系统的设置变更,也有电源管理驱动原因,想着通过修改注册表来设置。网上找了一轮,遇到一样问题的人有,就是没人给出解决办法。直接在注册表里找设置项如大海捞针。我在用电源命令工具查看设置项,无意中找到方法。
合上笔记本盖不进入休眠。在Ubuntu的电源管理没有找到相应设置,可以手动修改配置文件完成。
vi /etc/systemd/logind.conf
打开logind.conf配置文件,找到:
HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend
修改为:
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
重启生效!