由于gfw的阻碍,gradle脚本无法在android studio自动执行,只能依靠手工输入命令的方式,因此需要找到terminal界面。
路径如下:
View -> Appearance -> Tool Window Bars -> Terminal
量化自我和极简主义的窝藏点
由于gfw的阻碍,gradle脚本无法在android studio自动执行,只能依靠手工输入命令的方式,因此需要找到terminal界面。
路径如下:
View -> Appearance -> Tool Window Bars -> Terminal
转载 https://sspai.com/post/56079
使用certbot生成SSL/TLS证书,文件夹在/etc/letsencrypt/live目录下面
备份server.pem文件,然后再生成新的文件
cat /etc/letsencrypt/live/chat123.zone/privkey.pem /etc/letsencrypt/live/chat123.zone/fullchain.pem > /opt/ejabberd/conf/server.pem
最后重启ejabberd即可
由于中国互联网的隐私问题,安装开源软件是一种选择。这里介绍android手机输入法 。
首先在https://f-droid.org/packages/com.osfans.trime下载trime安装包
rimer的词库和配置
https://github.com/Bambooin/rimerc/blob/master/README_sc.md
下载最新版本
https://github.com/Bambooin/rimerc/releases/download/0.1.6/rimerc-trime-0.1.6.zip
解压命名为rime并拷贝到android手机上的/sdcard/rime
注:只能输出繁体中文
应该是 opencc 没有导致的,尝试在 设置->恢复默认设置->勾选 opencc->然后重新部署
命令如下: npm root -g 可以查询npm安装包全局有效的安装目录
在编译android apk的时候出现以下报错,已经翻墙过了
IOException: https://dl.google.com/android/repository/addons_list-3.xml
java.net.ConnectException: Connection refused: connect
IOException: https://dl.google.com/android/repository/addons_list-2.xml
java.net.ConnectException: Connection refused: connect
IOException: https://dl.google.com/android/repository/addons_list-1.xml
java.net.ConnectException: Connection refused: connect
Failed to download any source lists!
解决办法:打开~/.gradle/gradle.properties 文件,打开并删掉代理配置(带有“proxy”的端口或ip地址配置)
$ ejabberdctl change-password User Host newPassword
//user -> 用户名 Host -> 域名 newPassword -> 新密码
Excel:
随机小写字母:=CHAR(INT(RAND()*25+97))
随机大写字母:=CHAR(INT(RAND()*25+65))
随机数字:=CHAR(INT(RAND()*9+48))
随机数字大小写字母:IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97))))
混合6位:=CONCATENATE(IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))))
Python:
''.join(random.sample('abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789', length))
service nginx stop
certbot renew –dry-run
certbot renew
service nginx start