Python实现自动提取Win10聚焦锁屏壁纸到当前目录
环境依赖:
操作系统:win10
Python:3.8.10(注意3.9安装pyinstaller插件插件,不在支持win7环境,必须降级到3.8)
IDE:PyCharm 2021.3
源码如下:
[……]
编辑语言全部放在这里
环境依赖:
操作系统:win10
Python:3.8.10(注意3.9安装pyinstaller插件插件,不在支持win7环境,必须降级到3.8)
IDE:PyCharm 2021.3
源码如下:
[……]
环境依赖:
操作系统:win10
Python:3.8.10(注意3.9安装pyinstaller插件插件,不在支持win7环境,必须降级到3.8)
IDE:PyCharm 2021.3
源码如下:
[……]
SonarQube是一个开源的代码质量管理系统。其特点在wiki上解释的很详细,我就不再这里重述了。
下面直接奔主题,在windows环境中搭建SonarQube,之后解释如何上传代码与在SonarQube系统中查看代码质量相关指标信息;
1、Windows7 64bit;
2、搭建SonarQube6.7.2之前,要求JDK环境必须是JDK8(包含)以上;
3、数据库:我选择Mysql,要求5.6以上,其它数据库也支持,详见下方官方文档说明选择合适版本,其它数据库本人就不做介绍了;
4、浏览器:要求IE11以上、以及当前最新版Chrome,Firefox、Safari、Edge;
6、Maven:支持JDK8的版本要求在3.3以上;
至此,我本人所使用的软件环境是 JDK8 + SonarQube6.7.2 + MySQL5.7.17 + Maven3.5.2 + Chrome65.0.3325.181;
SonarQube6.7软件环境详细介绍文档入口
1、JDK8的详细安装过程直接忽略,Google搜索一大堆;简单说就是下载 -> 安装 -> 配置系统环境变量-> 在windows终端验证”java -version”是否安装成功;
2、数据库为MySQL,直接安装即可,身为程序猿,如果不会安装MySQL的话就自行面壁思过好了。
下载地址:https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.2.zip
[……]
开头先用图示的方式介绍一下Maven中央仓库、私有服务器、与本地仓库的关系,如下图:
上面非常直观的解释他们这三者之间的关系,本人就不再详细展开说明,不明白的请自行Google :)
下面直接进入主题,因为项目需要使用Maven中央仓库与私有仓库的jar包并要运行Resin中,同时采用直接部署代码的方式而非用war包的方式部署项目。
下面我详细是一下配置方法:
按照惯例,先介绍一下开发环境版本:
OS:windows 7
IDE:Intellij IDEA 2016.3.4;
Build Automation:Apache Maven 3.2.5;
Server:Resin-3.1.14;
我这里不介绍如何安装Intellij IDEA、Maven、Resin,不会的请自行Google;
[xml]
<profiles>
<profile>
<!– profile的唯一标识 –>
<id>Test</id>
<!– 远程仓库列表 –>
<repositories>
<!–包含需要连接到远程仓库的信息 –>
<repository>
!–远程仓库唯一标识 –>
<id>Test</id>
<!–远程仓库名称 –>
<name>Test-Repository</name>
<url>http://url…</url>
<!–如何处理远程仓库里发布版本的下载 –>
<releases>
<!–true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启。 –>
<enabled>true</enabled>
</releases>
<!–如何处理远程仓库里快照版本的下载。–>
<snapshots
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<!– 手动激活profiles的列表 –>
<activeProfiles>
<activeProfile>Test</activeProfile>
</activeProfiles>
[/xml]
[……]
数组版
[java]
int min = 1, max = 10, count = 5,n;
int[] array = new int[min+max];
do {
n = new Random().nextInt(max)%(max-min+1) + min;
if (array[n] == 0) {
array[n] = n;
count–;
}
} while (count > 0);
for (int i = min; i <= max; i++) {
System.out.println(array[i]);
}
[/java]
List版
[……]
最近各种数据库泄露问题,让我不得不考虑自身密码的强度,下面特意写两种生成密码的方法,已被日后之用;
介绍两种生成随机密码的方式:(在密码字典里面,可以根据实际需要,手工注释不需要生成的字符段)
方式一:
[java]
/**
* 生成随机密码生成方式一
* 密码字典 -> 随机获取字符
* @param len 生成密码长度
* @return
*/
public static String getPassWordOne(int len){
int i; //生成的随机数
int count = 0; //生成的密码的长度
// 密码字典
char[] str = {
‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’,
‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’,
‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’,
‘~’, ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’, ‘-‘, ‘+’
};
StringBuffer stringBuffer = new StringBuffer("");
Random r = new Random();
while(count < len){
//生成 0 ~ 密码字典-1之间的随机数
i = r.nextInt(str.length);
stringBuffer.append(str[i]);
count ++;
}
return stringBuffer.toString();
}
[/java]
方式二:
[……]
最近想了解一下Java模板语言方面的知识,发现Velocity比较火,连OSC也在用它,就用两三天时间大概学习入门下;
官网地址,官方有详细的说明,可以仔细看下。
这里有一个新的概念,就是Velocity Template Language (VTL),官方有介绍,En不好的也可以Google一下搜索中文文档。
[……]
这里只介绍如何使用jsoup的方法,其它代码略过。
首先下载jsoup;
其次,看看下面示例代码;
[java]
/**
* 获取<script>标签中src地址或者获取<a>标签中href地址
* String html 获取页面源代码
* String rule 选择器规则
*/
Set<String> links = new LinkedHashSet<String>();
… …
Document doc = Jsoup.parse(html);
Elements clicks = doc.select(rule);
if (clicks.size() == 1) {
if (rule.indexOf("src") > 0) {
links.add(clicks.get(0).attr("src"));
}
} else {
for(Element et : clicks){
links.add(et.attr("href"));
}
}
… …
[/java]
[……]
在安装方面,本人还是遵从把代码拿到本地的原则(不使用easy_install方式),这样可以解决因为版本不兼容导致的各种匪夷所思问题发生。
[……]
Continue reading用py写了一个获取手机所在地区的工具。哈哈,纯当练习之用。
#####phone.txt内容####
11位手机
11位手机
…
#######################
[……]
Continue reading