JS 用 Set 实现 交集、并集、差集
1234567891011121314let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);// 交集let intersect = new Set([...a].filter(x => b.has(x)));// set {2, 3}// 并集let union = new Set([...a, ...b]);// Set {1, 2, 3, 4}// 差集let difference = new Set([...a].filter(x => !b.has(x)));// Set {1}
Spring Boot 3.4.1 + Spring security 6.4.2 重写登录
依赖引入 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.4.1</version> <relativePath/> <!-- lookup parent from repository --></parent><dependencies> <dependency> <groupId>org.projectlombok</groupId> ...
docker 部署 nginx
1. 拉取 nginx 镜像 1docker pull nginx 2. 运行容器 这里我映射到了本地的9000端口,可以根据需要修改 1docker run --name nginx -p 9000:80 -d nginx 3. 浏览器访问 浏览器访问 http://ip:9000,如果看到下图则表示 nginx 部署成功
Vue3 + Element Plus 自定义验证
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798import type {FormInstance, FormRules} from 'element-plus'// 判断是否是移动端的函数import {isMobileDevice} from "@/utils/commonMethod";// 定义表单数据类型interface RuleForm { name: string password: string confirmPassword: string email: string code: string}//...
安装并使用 GitStack
下载 GitStack 下载地址 安装 GitStack 下载完成后,双击运行 GitStackSetup.exe 文件,点击 Next。 点击 I Agree。 选择安装位置,点击 Next。 画红框的必须全选,不然会出一些意想不到的错误,而后点击 Install 如果选择了Launch GitStack选项,那么点击Finish后会自动打开GitStack的管理页面。安装完成后,点击 Finish。 使用 GitStack 打开浏览器,输入http://localhost/gitstack,跳转到以下页面,默认用户名密码是admin/admin,点击Sign In登录。 登录成功后,可以在这里添加一个新的仓库,输入新仓库的名称(字母和数字组合),而后点击Create。
Spark Sql 常用函数 (Scala 语言)
基于 org.apache.spark.sql.functions._ 包下的函数 col 用于在DataFrame或Dataset中引用列,通常与Spark的SQL查询或者DataFrame操作一起使用。 语法: 1col(colName: String): Column column 与 col 函数功能相同。 lit 用于将一个常量值转换为 Column 类型,以便在 Spark SQL 操作中使用。 1lit(literal: Any): Column typeLit typedLit 函数是一个类型安全的版本的 lit 函数。它用于将字面量(常量)转换为指定类型的 Column,并确保在编译时类型匹配。typedLit 适用于 Spark 3.x 版本,提供比 lit 更严格的类型检查,从而避免潜在的类型不匹配问题。 1typedLit[T: TypeTag](literal: T): Column greatest 用于比较多列的值,返回每行中这些列中的最大值。 12greatest(exprs: Column*):...
Spark 增量抽取 (Scala 实现)
题目 编写Scala代码,使用Spark将MySQL的shtd_store库中表user_info、sku_info、base_province、base_region、order_info、order_detail的数据增量抽取到Hive的ods库中对应表user_info、sku_info、base_province、base_region、order_info、order_detail中。(若ods库中部分表没有数据,正常抽取即可) 第一题 1、抽取shtd_store库中user_info的增量数据进入Hive的ods库中表user_info。根据ods.user_info表中operate_time或create_time作为增量字段(即MySQL中每条数据取这两个时间中较大的那个时间作为增量字段去和ods里的这两个字段中较大的时间进行比较),只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions...
docker 映射端口外部设备访问不到
容器内部 查看服务是否开启,以nginx为例 1ps -ef | grep nginx 返回类似于以下图片,说明服务已经启动 1systemctl stop firewalld 如果容器有防火墙,可以先关闭防火墙试一下 先查一下防火墙的状态,如果为下图就是关着呢 宿主机 先看容器是否正确映射端口 下图画红框的地方就是将容器内部的nginx服务映射到宿主机的32770端口,如果这里没有映射,那么外部设备肯定访问不到。 查看宿主机端口是否开启 1ss -tlnp | grep 32770 类似于以下输出,说明端口没问题 如果还是访问不了,那么就是防火墙的问题了,可以尝试关闭防火墙。 1systemctl stop firewalld 类似于下图就是关着呢 配置iptables使得所有流量都允许,可以通过以下命令清除当前的规则并设置允许所有的流量。 123sudo iptables -F # 清除所有链中的规则sudo iptables -X # 删除所有自定义链sudo iptables -Z # 清空规则链中的计数器 设置默认链为...
CentOS 7 配置 IP 地址
切换至特权模式,并输入密码 1su root 查看网卡信息 1ip a 修改网卡配置文件 123456789vim /etc/sysconfig/network-scripts/ifcfg-ens33 //进入网卡ens33的配置页面i //输i进入文件编辑模式(i=insert)BOOTPROTO="dhcp" //修改:将dhcp修改为static,修改后为BOOTPROTO=staticONBOOT=yes //修改为yes, 网卡开机自启动Esc或Ctrl+c //退出文件编辑模式:wq //保存文件修改并退出service network restart //重启网卡ip add //查看网卡ens33的IP地址已经变成配置的静态IP地址ping xxx.xxx.xxx.xxx //ping自己,ping网关,验证网络能通
Pandas 例题 - 1
电商订单数据清洗 任务详情 请根据系统提供的订单数据表,按要求完成以下任务: 统计订单表格中,商品描述(choice_description)中为“NaN”的数量,并将其批量替换为“banana”, 请根据以上要求,将函数 nanCount() 补充完整,函数的返回值为整数值,既为“NaN”的数量。 任务要求 订单数据表为以逗号为分隔符的csv文件,编码方式为 UTF-8; 注意:DataFrame 由后台生成,作为参数 order_data 传递到 nonCount() 中,不需要生成新的 DataFrame; DataFrame 读取为订单数据表; 返回值为 NaN 的数量,int 数据类型。 订单数据表.csv 1234567891011121314import pandas as pdclass Solution: def nanCount(self)-> int: # 读取csv文件 order_data =...