wechat

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

旧巷老猫 提交于 2020-10-14 01:42:18
Jenkins 插件名称高频关键词有哪些?一切尽在酷炫多彩的词云图 作为最流行的 CI/CD 工具,Jenkins 的优势之一是其生态强大,而这与其插件体系分不开的。 目前 Jenkins 插件 1500+ (截止2020年06月17日,插件数量为1749)。 近日发现词云比较好玩,于是想着以 Jenkins 插件名称为数据源,形成的词云会是什么样的呢,什么关键字会比较突出呢? 想到就去做,带着问题,带着好奇心,开始了实践之旅~ 插件基本字段说明 以 Jenkins 中文本地化插件为例,在 Jenkins 官网插件详情页面可以看出: 其 ID 为 localization-zh-cn,Name 为 Localization: Chinese (Simplified)。 获取所有 Jenkins 插件的名称 如何获取所有 Jenkins 插件的名称呢?这里我想到3种方式,或许还有更多方式: 插件官网 爬虫抓取 插件权限文件 获取 插件更新中心配置文件 获取 对比上面的三种方式,插件权限文件中并没有 Name 字段,插件更新中心配置文件相对从插件官网抓取比较简单。 所以计划从 update-center.json 进行解析,其中插件名称在 json 中对应字段为 title。 生成 Jenkins 插件名称文件 读取 update-center.json 中 plugin 的

springboot整合email

蹲街弑〆低调 提交于 2020-10-12 04:19:03
一。pom文件 <? xml version ="1.0" encoding ="UTF-8" ?> <project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi :schemaLocation ="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion> 4.0.0 </modelVersion> <parent> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-parent </artifactId> <version> 2.3.1.RELEASE </version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId> com.huawei </groupId> <artifactId> demo </artifactId> <version> 0.0.1-SNAPSHOT <

Java工具类——数学相关的类

[亡魂溺海] 提交于 2020-10-10 18:15:45
Java工具类——数学相关的类 在上一篇文章中,我们系统学习了 Java 里面的包装类,那么这篇文章,我们就来学习一下Java提供好的类——数学相关的类。 一、数学类介绍 在最早期学习 Java 基础语法结构的时候,其实我们学习并了解了加减乘除这些算数运算符,有了这些运算符,我们就可以做一些简单的运算了,但是当我们需要做一些比较复杂的运算的时候,其实用这些运算符是很难去处理的(比如获取随机数等等)。其实数学类对于我们并不陌生,在学习 Java 基础的时候,你一定用过 Math 类的,这个其实就是我们最早期接触的一个数学类了,其实与数学相关的类还有 BigInteger 类、BigDecimal 类等等,下面这个表格将这三个类做了一个小的梳理总结: 数学类 所属包 继承关系 Math类 java.lang包,不需要导包 默认继承Object基类 BigInteger类 java.math包,需要导包 继承自Number类,实现了Serializable, Comparable接口 BigDecimal类 java.math包,需要导包 继承自Number类,实现了Serializable, Comparable接口 下面我们就对这三种类做一个详细的学习。 二、Math类 其实看源码我们看到,Math 这个类是 final 修饰的,意思就是不能让子类去继承的,只能使用这个类。

IntelliJ IDEA 最常用配置详细图解,新手入门必看!

徘徊边缘 提交于 2020-10-09 04:29:52
作者:李学凯 https://blog.csdn.net/qq_27093465/article/details/52918873 刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。 总结一下,免得下次换了系统,还得再找一遍配置。 设置外观和字体大小 这个呢是设置一下外观。和字体大小。放在第一个没问题。 设置编辑器的快捷键,也就是keymap 这个是修改咱习惯的快捷键映射表,因为我是从eclipse转来的,估计大部分都和我差不多啦,那就可以在这配置成eclipse的快捷键映射表,那么就没有必要再去记一套快捷键映射了,比如我们常用的删除一行 Ctrl d,复制一行Ctrl + alt + 下方向。注释一行,Ctrl + / 这都是我们常用的。也是我们习惯的,这个也是极好的设置啊。点击 这里 查看Intellij IDEA非常6的十个姿势! 我图上就是把eclipse的键盘映射复制一下,然后重命名一下,因为还是有些快捷键修改下,用着比较好。 关于整个项目的文件目录的说明 快捷键简单搞定 之后,再熟悉一下,下面这个图。 这个也是通用结构,我箭头所指的地方有三个按钮, 第一个,点击之后

聊聊Java中的异常及处理

心已入冬 提交于 2020-10-07 07:13:14
前言 在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常与error介绍 下面还是先让我们来看一下基本概念吧! ​ 异常 指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。 ​ Java是采用面向对象的方式来处理异常的。处理过程: 抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。 捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。 让我们来看看前面所讲到的异常类究竟是个什么东西! 其实所有的异常对象都是派生于Throwable类的一个实例。如果内置的异常类不能够满足需要,还可以创建自己的异常类。所有异常的根类为java.lang.Throwable。看看它的家族长什么样。 Throwable类下面主要是两大门派。 Error 和 Exception 。 Error

安装vant-weapp 组件

回眸只為那壹抹淺笑 提交于 2020-10-07 06:51:11
一、新建小程序项目 二、打开cmd,小程序项目目录下 npm i vant-weapp -S --production 2.1 如果执行上面的代码报错了 那你就执行一下:npm init -y 微信开发工具里面就会出现:package.json这样就解决问题了 2.2 接着就可以执行:npm i vant-weapp -S --production 这样就可以了~~~~ 三、在微信开发者工具中,就可以用了 四、使用 在app.json引入 { "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" }, "style": "v2", "sitemapLocation": "sitemap.json", "usingComponents":{ "van-cell":"./miniprogram_npm/vant-weapp/cell/index" } } 在wxml里面使用了! <van-cell-group> <van-cell

MySQL的七种join

守給你的承諾、 提交于 2020-10-06 09:02:48
建表 在这里呢我们先来建立两张有外键关联的张表。 CREATE DATABASE db0206; USE db0206; CREATE TABLE `db0206` . `tbl_dept` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR ( 30 ), `locAdd` VARCHAR ( 40 ), PRIMARY KEY ( `id` ) ) ENGINE = INNODB CHARSET =utf8; CREATE TABLE `db0206` . `tbl_emp` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT, `name` VARCHAR ( 20 ), `deptId` INT ( 11 ), PRIMARY KEY ( `id` ), FOREIGN KEY ( `deptId` ) REFERENCES `db0206` . `tb_dept` ( `id` ) ) ENGINE = INNODB CHARSET =utf8; /*插入数据*/ INSERT INTO tbl_dept(deptName,locAdd) VALUES ( 'RD' , 11 ); INSERT INTO tbl_dept(deptName,locAdd) VALUES

手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇

◇◆丶佛笑我妖孽 提交于 2020-10-06 01:55:50
/1 前言/ 平时我们要下载图片,要要一个一个点击下载是不是觉得很麻烦?那有没有更加简便的方法呢?答案是肯定的,这里我们以天堂网为例,批量下载天堂网的图片。 /2 项目准备工作/ 首先 我们第一步我们要安装一个pycham的软件。可以参考这篇文章: Python环境搭建—安利Python小白的Python和Pycharm安装详细教程 。 天堂网的网址: https://www.ivsky.com/bizhi/1920x1080/ 我们需要下载几个库,怎么下载呢?打开pycharm,依次点击File,再点开Settings,如下图所示。 打开后会出现这个界面点击你的项目名字(project:(你的项目名字)),之后在project interpreter下,点击加号,而后下载我们需要的库,如下图所示。 本项目需要用到的是库是requests、lxml、fake_useragent,如下图所示。fake_useragent一般是没有的,需要通过下面的命令进行安装: pip install fake_useragent /3 项目实现/ 1、导入需要的库(requests,lxml, fake_useragent)。 2、我用了封装方法去实现各个部分的功能。首先要写一个框架:构造一个类TianTangWebsite ,然后定义一个__init__方法里继承(self),再定义一个主方法

一个骚命令防止你的文件被误删除!

醉酒当歌 提交于 2020-10-05 13:52:27
大家好,我是良许。 文件是我们在电脑里最珍贵的财富,我们经常工作了老半天,然后出来的成果就只是一个文件而已。特别是程序员,我们写了半天的代码,结果也就是一个个代码文件而已。 但是,我们都有过这样惨痛的经历——工作了老半天,结果不小心把文件删除了…… 这时候,你的心情是怎样的?痛苦?自责?无奈? 今天良许就给大家介绍一个命令,它将给你的重要文件加一把锁,防止误删除或误修改,为你的宝贝文件保驾护航! chattr命令简介 这里我们需要使用到一个命令是: chattr ,这个命令在大部分的 Linux 发行版里都有,所以对于它的安装就不赘述了。它的基本用法如下: $ chattr 操作符 属性 文件名 对于操作符,有以下三种: + :给文件增加属性 - :去除文件属性 = :设置文件的仅有属性 注意,这里讲的属性不是文件对应的系统属性,而是 chattr 给文件赋予的属性。本文要讲的属性有以下两个: a - 允许给文件追加内容 i - 保护模式(不允许删除或修改) 但是,它的属性可以设置很多,有兴趣的小伙伴可以去看下它的 man 手册。 $ man chattr 防止文件被误删除或修改 假如我们现在有个国宝级重要文件 file.txt ,现在我们使用 chattr 对它进行保护。在这里,我们给文件增加 +i 属性: $ sudo chattr +i file.txt 然后,我们可以使用

揭密!程序员面试不得不知道的潜规则

给你一囗甜甜゛ 提交于 2020-10-05 10:26:41
作者:姿势帝 https://www.cnblogs.com/newAndHui/p/12451882.html 潜规则1:面试的本质不是考试,而是告诉面试官你会做什么 很多刚入行的小伙伴特别容易犯的一个错误,不清楚面试官到底想问什么,其实整个面试中面试官并没有想难道你的意思,只是想通过提问的方式来知道你会什么 比如: 面试官提问在实际项目中你们是怎么样使用缓存的? 初入行回答:使用redis,key-value存放 但是面试官可能是想知道:一般在业务中缓存什么样的数据,为什么要缓存这些数据,缓存数据如何保证实时性,如果缓存失效会对正常业务流程有什么影响,为什么要选择 redis , redis 的实现原理等等; 围绕着这个话题只要你能在某一方面回答得很深入很透彻,基本上面上的可能性会大大提高; 如果当你听到这个话题时,感觉不知道如何回到,或者说感觉很简单,几句换就说完了,那么基本上你很难面上,因为你的知识储备不够,说不出来关于技术相关的内容。 潜规则2:薪水要求高一点录取概率就大一点 我曾经面试一个刚毕业的大学生,简历上写的精通java,精通 mysql ,精通 spring ,然后我就问他你期望的薪水是多少呢? 他的回答是4K,先不说他简历上写的是真是假,但是有一点很明确,如果你在市场上去肉,别人都是卖30元一斤,而路边有个摆摊的只买10元一斤,那么你们会去买么? 另外