冰月酱的备忘录
47 subscribers
60 photos
1 video
3 files
39 links
日常技术备忘以及一些好玩的东西。

运营: @haruue
Twitter: twitter.com/HaruueIcymoon
GitHub: git.io/haruue
Blog: haruue.moe

======
所有未标识来源的原创内容以及转发自 @haruue 的内容均以 CC-BY-SA 3.0 非本地化协议授权,代码部分额外以 Apache License 2.0 协议授权。
其他内容则与转发来源或标明的来源使用的授权协议一致。
频道头像来自 とある科学の超電磁砲 EP#20 01:20
Download Telegram
Forwarded from Haruue | 春上ひつき
"\ufffd\ufffd".encode("utf-8").decode("gbk")
'锟斤拷'
Forwarded from Haruue | 春上ひつき
REPLACEMENT CHARACTER
Forwarded from Haruue | 春上ひつき
b"\xcc\xcc\xcc\xcc\xcc\xcc".decode("gbk")
'烫烫烫'
Forwarded from Haruue | 春上ひつき
>>> b"\xcd\xcd\xcd\xcd\xcd\xcd".decode("gbk")
'屯屯屯'
Forwarded from Haruue | 春上ひつき
这两个是调试作用。。vs 在调试模式下把未初始化的栈内存设为 0xCC ,堆内存设为 0xCD
Forwarded from Haruue | 春上ひつき
"中".encode("utf-8-sig").decode("gbk")
'锘夸腑'
Forwarded from Haruue | 春上ひつき
这个是 UTF-8 BOM
Forwarded from Haruue | 春上ひつき
实践中应该不可能出现 锘锘锘 。。。
冰月酱的备忘录
"\ufffd\ufffd".encode("utf-8").decode("gbk") '锟斤拷'
手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。
#utf8 #gbk #encode
任何人都可以自行搭建同时支持地域优化和无污染的 DNS 。

您只需要:
+ 一个 DNS 服务器软件 (比如可以跑在 Open WRT 上的 dnsmasq ,或者更加通用的 BIND 和 Unbound)
+ 一个您本地运营商提供的 DNS 地址
+ 一个无污染 DNS 地址(请勿让明文的 DNS 请求直接通过 GFW,例如在大陆使用 1.1.1.1 或者在海外使用 101.6.6.6 ,任何通过 GFW 的明文 DNS 请求都可能被篡改)
+ 一份适用于中国大陆的域名白名单列表,肥猫维护了一份 https://github.com/felixonmars/dnsmasq-china-list

然后配置的思路就像它的 README.md 里所说的:把这份白名单里的域名交给运营商 DNS 解析,其余域名交给无污染 DNS 解析即可。具体配置方法请直接参考项目的 README.md
这个方案也可以解决运营商 DNS 对 NXDOMAIN 的劫持,因为只有白名单里的域名会交给运营商解析。NXDOMAIN 的情况会交给无污染 DNS 解析。此项目还提供了一份 bogus-nxdomain 规则作为补充。
Forwarded from Haruue | 春上ひつき
woc 这也太不负责任了。。。
Forwarded from Haruue | 春上ひつき
Forwarded from Haruue | 春上ひつき
我心中充满了 mmp 。。。
Forwarded from Haruue | 春上ひつき
垃圾 #bionic 毁我青春
在服务器上搭建自己的在线 maven 仓库

实际上只需要符合一定的目录规则(和你的 mavenLocal() 也就是 ~/.m2/repository/ 一致)即可,这样就可以先发布到本地仓库,然后直接将本地仓库上传到服务器的 webroot ,完全不需要去装 nexus 那堆东西。
1. 在你的 build.gradle 中,先定义 groupIdversionartifactId 将和你的 module 的名字一致。
group 'moe.haruue'
version '1.2'

2. 确保你载入了 maven 插件,这将带来 :uploadArchives task
apply plugin: 'maven'

3. 在 build.gradle 末尾加上
uploadArchives {
repositories {
mavenDeployer {
// 指定一个本地的发布位置
repository(url: uri('./.m2'))
}
}
}

tasks.whenTaskAdded {
if (it.name == 'jar') {
uploadArchives.dependsOn it
}
}

4. 把上一步中指定的本地发布位置下面的所有文件同步到服务器上的 webroot ,例如用 scp ,我个人习惯 rsync 一把梭。
rsync -r ./.m2/ 10.24.0.1:/var/www/maven/

5. 在需要使用的项目中,添加
repositories {
maven { url "http://你的服务器地址/" }
}

然后你就可以在用 compile 'groupId:artifactId:version' 来依赖它了,其中 groupIdversion 是你在库的 build.gradle 中定义的, artifactId 是你的 module 的名字,例如在上面的例子中,假设库的 module 名字是 library ,那么依赖就是
compile 'moe.haruue:library:1.2'
Forwarded from 神奇的笔记 (神楽坂 立音)
在 Docker 里运行的 glxgears .....
通过 -v /tmp/.X11-unix:/tmp/.X11-unix 将 X11 Socket 挂载到 docker 里....
设置 xauth 的 token
创建与 host 系统相同 uid 的用户,设置 DISPLAY 参数,然后启动...
感谢 @ClassicOldSong@epoll_ctl
Forwarded from 神奇的笔记 (神楽坂 立音)
docker 挂载 X11 Socket 里 -v /tmp/.X11-unix:/tmp/.X11-unix
xauth 则通过在 host 系统里执行 xauth list 得到 Token
在 host 中执行 id 得到 UID
在 host 中执行 echo $DISPLAY 得到类似 :0 的参数
安装 X11 (我是直接安装了 wine) 和 xauth
然后在 Docker 里 adduser -u UID username 创建用户,然后执行 su username 进入用户,然后执行
export DISPLAY=:0
touch .Xauthority
xauth add $DISPLAY . Token Token 用之前 xauth list 中最后一个参数替换
现在就可以运行你想运行的程序了