编程语言 Java单元测试JUnit5总结 Java单元测试JUnit5总结 单元测试简单流程 1.1 准备待测试代码 Java程序最小的功能单元是方法,因此,对Java程序进行单元测试就是针对单个Java方法的测试。对于高质量的代码来说,测试覆盖率应该在80%以上。测试类和待测试类名称一一对应:HelloJava 对应 HelloJavaTest yuziyue 30 Aug 2023 · 3 min read
前端开发 如何在浏览器使用vscode编辑器 如何在浏览器使用vscode编辑器 monaco-editor编辑器文档,vscode我们都知道非常好用,有没办法吧 vscode 编辑器嵌入到我的网站里面,当然有,微软官方的编辑器 monaco-editor ,vscode 就是基于 monaco-editor 开发的,它功能与易用性是不言而喻的,本文就来详细描述如何使用 monaco-editor 编辑器。 yuziyue 27 Aug 2023 · 3 min read
操作系统 纯真IP地址库setup.exe程序提取qqwry.dat文件并解析txt纯文本 纯真IP地址库setup.exe程序提取qqwry.dat文件, 下载地址 https://update.cz88.net/help?id=free,需要关注微信公众号,然后获取最新的下载地址,下载后会得到类似 su9Izakq-2023-08-23.zip 的压缩包,解压后就有 setup.exe 文件了。纯真IP地址数据库 yuziyue 25 Aug 2023 · 3 min read
前端开发 React如何使用Prism.js使代码高亮 React如何使用Prism.js使代码高亮 Prism.js安装 首先确保你的 React 应用能正常运行,然后安装 prismjs 组件。定义高亮组件 定义一个组件专门用来亮代码,只需要传入语言类型和需要高亮的代码即可。 // 选择 prismjs 主题,可选主题包括: // prism prism-coy prism-dark prism-funky prism-okaidia // prism-solarizedlight prism-tomorrow prism-twilight yuziyue 24 Aug 2023 · 1 min read
编程语言 Java命令行解析commons-cli完整示例 Java命令行解析commons-cli完整示例 Config用于存最终的参数值 .longOpt 指定长参数名称 .hasArg 参数后面是否有值 .required 是否必传参数 .desc 描述信息 OptionGroup groupAction = new OptionGroup();创建一个组,组内的参数是互斥的,只能传一个。 yuziyue 19 Aug 2023 · 2 min read
编程语言 Java之lambda表达式总结 Java之lambda表达式总结 使用方法举例 在Java程序中,我们经常遇到一大堆单方法接口,即一个接口只定义了一个方法,此时可以以匿名类方式编写。如下是一个排序的例子 lambda语法详细解释 参数是(s1, s2),参数类型、返回值都可以省略,因为编译器可以自动推断出类型。-> { ... }表示方法体,所有代码写在内部即可。如果只有一行return xxx的代码,可以简写成(s1, s2) -> s1.compareTo(s2) yuziyue 19 Aug 2023 · 3 min read
编程语言 安装 jupyter notebook 并将其嵌入iframe 配置 jupyter notebook 下面的配置主要包括:配置根目录 配置 allow origin 即允许嵌入iframe 配置监听端口和ip地址 启动后是否自动浏览器打开地址 c.NotebookApp.tornado_settings = { 'headers': { 'Content-Security-Policy': "frame-ancestors self *" } } vim 1.html ,然后把 1.html 文件放到一个web服务器目录 yuziyue 19 Aug 2023 · 1 min read
大数据开发 Airflow跨dag依赖的特殊情况 在使用跨dag依赖task的时候,通常情况下是依赖的dag的execution_date小于当前dag的execution_date的,如果依赖的task是在将来执行的(execution_date大于当前dag的execution_date),这时候该怎么办呢?假设 dag1 是每天 0:30 执行,比如 execution_date 为 2023-08-18 00:30:00 yuziyue 18 Aug 2023 · 2 min read
编程语言 Java 数组操作总结 Java 数组操作总结 // 只定义: 会默认初始化。 // String型初始化为null // int型初始化为0 // float型初始化为0.0 // bool型是false String[] names = new String[5]; System.out.println(Arrays.toString(names)); System.out.println(names.length); 二. 数组遍历 yuziyue 13 Aug 2023 · 2 min read
编程语言 JAVA 线程池参数总结 Java多线程开发时,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler,下面会对这7个参数一一解释。线程池不会无限制的去创建新线程,它会有一个最大线程数量的限制,这个数量即由maximunPoolSize指定。 yuziyue 13 Aug 2023 · 4 min read
编程语言 Java 时间处理函数总结 从Java 8开始,java.time 包提供了新的日期和时间 API,主要涉及的类型有: 本地日期和时间:LocalDateTime,LocalDate,LocalTime; 带时区的日期和时间:ZonedDateTime; 时刻:Instant; 时区:ZoneId,ZoneOffset; 时间间隔:Duration 时间格式化:DateTimeFormatter yuziyue 12 Aug 2023 · 10 min read
编程语言 Go语言之slice总结 Go语言之slice总结 slice的结构 slice 翻译成中文就是切片,它和数组(array)很类似,可以用下标的方式进行访问,如果越界,就会产生 panic。但是它比数组更灵活,可以自动地进行扩容。长度,表示切片可用元素的个数,也就是说使用下标对 slice 的元素进行访问时,下标不能超过 slice 的长度; yuziyue 11 Aug 2023 · 6 min read
编程语言 Go语言之map总结 Go语言之map总结 一. map声明 key必须是支持==和!=比较的类型,比如int、string等, value可以是任意类型,因此value可以嵌套 nill map只有仅写var m map[key_type]value_type才能得到nil map,一旦初始化,即m = make(map[key_type]value_type)就不是nil map了 yuziyue 11 Aug 2023 · 1 min read
编程语言 Scala偏函数和偏应用函数 偏函数定义 偏函数是指仅定义了输入参数的子集的函数,下图显示的一个偏函数:f : X -> Y,该函数仅定义了输入参数X的子集1和3,没有包含2。对某些值现在还无法给出具体的操作(即需求还不明朗),也有可能存在几种处理方式(具体的需求),我们可以先对需求明确的部分进行定义,然后视具体情况补充其他域的定义。 yuziyue 10 Aug 2023 · 4 min read
编程语言 Golang 之 int string hex []byte 相互转换 int分为有符号型(int)和无符号型(uint),从使用的角度说,区别就是能支持的数范围大小。大端存储:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。内存地址由小向大增加,而数据从高位往低位放,比如4个字节的数组[0 0 1 0]表示十进制数 256。 yuziyue 10 Aug 2023 · 9 min read
大数据开发 Flink 如何使用广播变量(批处理) Flink 如何使用广播变量(批处理) 一. 广播变量介绍 广播变量用于批计算。Flink支持广播变量,可以将数据广播到TaskManager上,数据存储在内存中,这样可以减缓大量的shuffle操作,使用广播变量同时也可以节省内存。 某个算子使用广播变量后,该算子内部的任何函数都可以使用这个广播变量。 yuziyue 8 Aug 2023 · 2 min read
大数据开发 Flink 如何实现双流 join 连接 Flink 如何实现双流 join 连接 一. join() join() 即inner join,算子提供的语义为"Window join",即按照指定字段和(滚动/滑动/会话)窗口进行 inner join,支持处理时间和事件时间两种时间类型。left join 可以使用 coGroup 实现。二. coGroup() 使用 coGroup,不管能不能匹配上,都会把原始数据传递,下面的示例使用 coGroup 实现了 left join 的功能。 yuziyue 8 Aug 2023 · 5 min read
大数据开发 Spark task多线程资源争抢问题 Spark task多线程资源争抢问题 在多个task同时读取 object 单例的内部非线程安全的对象时会报错,示例代码如下: 这个对象是线程不安全的,但是在task里面的多个线程会共用这个对象所有可能会有问题 val sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") 单个 partition 顺序执行的不会出现争抢问题 yuziyue 8 Aug 2023 · 1 min read