3.19周报
创始人
2025-05-31 05:11:42
0

周报

代码行数:

周一

621

周二

579

周三

561

周四

573

周五

593

周六

577

周日

548

遇到的问题:
四舍五入保留小数点后2位:

 BigDecimal DE = (BigDecimal) data.get("drivingExperience");
        DE = DE.setScale(2, BigDecimal.ROUND_HALF_DOWN);
浮点数精度问题:double在转换为bigdecimal时数值有变化,对四舍五入有影响,比如说某一位为0.5,转换后变成0.4999999,四舍五入的结果就会不同

解决:两次四舍五入:

        BigDecimal ER = (BigDecimal) data.get("emissionReduction");
        ER = ER.setScale(3, BigDecimal.ROUND_HALF_DOWN);
        ER = ER.setScale(2, BigDecimal.ROUND_HALF_DOWN);
不敢确定自己写的定时调度的cron表达式对不对

找的了插件

 

 

 很棒,很nice。

中间有次死活不显示,原因是“?”用的中文的,刚好后面有空格,根本看不出来好吧。

英文:

 

中文: 
知识点:

一、WebSocket客户端
websocket允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器间双向的通信。在websocket中有两个方法:  
    1、send() 向远程服务器发送数据
    2、close() 关闭该websocket链接
  websocket同时还定义了几个监听函数    
    1、onopen 当网络连接建立时触发该事件
    2、onerror 当网络发生错误时触发该事件
    3、onclose 当websocket被关闭时触发该事件
    4、onmessage 当websocket接收到服务器发来的消息的时触发的事件,也是通信中最重要的一个监听事件。msg.data
  websocket还定义了一个readyState属性,这个属性可以返回websocket所处的状态:
    1、CONNECTING(0) websocket正尝试与服务器建立连接
    2、OPEN(1) websocket与服务器已经建立连接
    3、CLOSING(2) websocket正在关闭与服务器的连接
    4、CLOSED(3) websocket已经关闭了与服务器的连接

  websocket的url开头是ws,如果需要ssl加密可以使用wss,当我们调用websocket的构造方法构建一个websocket对象(new WebSocket(url))的之后,就可以进行即时通信了。


WebSocket 客户端

二、WebSocket服务器端
JSR356定义了WebSocket的规范,Tomcat7中实现了该标准。JSR356 的 WebSocket 规范使用 javax.websocket.*的 API,可以将一个普通 Java 对象(POJO)使用 @ServerEndpoint 注释作为 WebSocket 服务器的端点。
 

package org.springframework.samples.websocket.echo2;import java.io.IOException;import javax.websocket.CloseReason;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;@ServerEndpoint("/push")
public class EchoEndpoint {@OnOpenpublic void onOpen(Session session) throws IOException {// 以下代码省略...}@OnMessagepublic String onMessage(String message) {// 以下代码省略...return null;}@Message(maxMessageSize = 6)public void receiveMessage(String s) {// 以下代码省略...}@OnErrorpublic void onError(Throwable t) {// 以下代码省略...}@OnClosepublic void onClose(Session session, CloseReason reason) {// 以下代码省略...}}

上面简洁代码即建立了一个WebSocket的服务端,@ServerEndpoint("/push")的annotation注释端点表示将WebSocket服务端运行在ws://[Server端IP或域名]:[Server端口]/项目/push的访问端点,客户端浏览器已经可以对WebSocket客户端API发起HTTP长连接了。
使用ServerEndpoint注释的类必须有一个公共的无参数构造函数,

@OnMessage注解的Java方法用于接收传入的WebSocket信息,这个信息可以是文本格式,也可以是二进制格式。
@OnOpen注解的java方法用于在这个端点一个新的连接建立时被调用。参数提供了连接的另一端的更多细节。Session表明两个WebSocket端点对话连接的另一端,可以理解为类似HTTPSession的概念。
@OnClose注解的java方法用于在连接被终止时调用。参数closeReason可封装更多细节,如为什么一个WebSocket连接关闭。
更高级的定制如@Message注释,MaxMessageSize属性可以被用来定义消息字节最大限制,在示例程序中,如果超过6个字节的信息被接收,就报告错误和连接关闭。
 

与前端联调数据看板

确定小磨盘数据传输格式

开发了部分功能

学习c++

C++基础教程
一、数据类型
1.1、第一个C++程序


1.2、数据类型


1.3、常量及符号
1、整型常量:整型常量可以分为有符号整型常量和无符号整型常量

八进制:以0开头,即以0作为八进制数的前缀,每位取值范围是0~7,八进制数通常是无符号数。

例如:016、0101、0128都是合法的八进制数
十六进制:以0x或者0X开头,其数码取值范围0 ~ 9,以及A ~ F或者a ~ f

例如:0X2A1、0XC5、0XFFFF都是合法的16进制数
2、实型常量

小数表示法:由整数部分和小数部分组成,整数部分和小数部分每位取值范围是0~9,例如:0.0、3.25、0.00596、2.0
指数表示法:指数部分以符号"e"或者"E"开始,但必须是整数,并且符号"e"或"E"两边都必须有一个数,例如:1.2e20和-3.4e-2
3、字符常量:字符常量是单引号括起来的字符,例如:'a'和'?'都是合法字符常量。字符'a'的ASCII码值是97,字符'A'的ASCII码值是41,字符'?'的ASCII码值是63

  转义字符是特殊的字符常量,使用时以字符串’'代表开始转义,和后面不同的字符表示转义的字符。转义字符表如下所示:


4、字符串常量:是由一对双引号括起来的零个或多个字符序列,例如:“welcome to our school”、“hello world”。""可以表示一个空字符串。

字符常量’A’和字符串常量"A"是不同的,字符串常量"A"是由'A'和'\0'两个字符组成的,字符串长度是2,字符串常量'A'只是一个字符,没有长度。
5、其他常量

布尔常量:布尔常量只有两个,一个是true,表示真;另一个是false,表示假。
枚举常量:枚举型数据中定义的成员也是常量,这将在后文介绍。
宏定义常量:通过#define宏定义的一些值也是常量。例如:define PI3.1415。其中PI就是常量。
1.4、变量
1、标识符:是用来对C++程序中的常量、变量、语句标号以及用户自定义函数的名称进行标识的符号。
标识符命名规则:
1.有字母、数字及下划线组成,且不能以数字开头。
2.大写和小写字母代表不同意义。
3.不能与关键字同名
4.尽量“见名知义”,应该受一定规则的约束。
不合法的标识符:6A、ABC*、case(保留字)
c++保留关键字,如表所示:


2、变量与变量说明:变量使用前一定要定义或说明,变量声明的一般形式如下:[修饰符] 类型 变量名标识符;

类型是变量类型的说明符,说明变量的数据类型。修改师傅是任选的,可以没有。

3、整型变量:整型变量可以分为短整型、整型和长整型,变量类型说明符分别是short、int、long。根据是否有符号还可分为以下6种。

整型 [signed] int
无符号整型 unsigned [int]
有符号短整型 [signed] short [int]
无符号短整型 unsigned short [int]
有符号长整型 [signed] long [int]
无符号长整型 unsigned long [int]

4、实型变量:又称为浮点型变量,变量可分为单精度(float)、双精度(double)和长双精度(long double)三种。


5、变量赋值:变量值是动态改变的,每次改变都需要进行赋值运算。变量赋值的形式如下:变量名标识符 = 表达式,例如:


6、变量赋初值:可以在声明变量的时候就把数据赋给变量,这个过程叫变量赋初值,赋初值的情况有以下几种:

int x=5;:表示定义x为有符号的基本整型变量,赋初值为5
int x,y,z=6;:表示定义x、y、z为有符号的基本整型变量,z赋初值为6
int x=3,y=3,z=3;:表示定义x、y、z为有符号的基本整型变量,且赋予的初值均为3
7、字符变量:

1、一个字符类型,即可以字符形式输出,也可以整数类型输出:

2、允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算:

1.5、数据输入与输出
1、控制台屏幕

2、操作控制:在头文件iomanip.h中定义了一些控制流输出格式的函数,默认情况下整型数按十进制形式输出,也可以通过hex将其设置为十六进制输出。流操作的控制具体函数如下


shell脚本

在这里插入图片描述

 在这里插入图片描述

 

算法题:

题目描述
给定一棵包含 NN 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A_1, A_2, ··· A_NA1​,A2​,⋅⋅⋅AN​,如下图所示:

现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。

注:根的深度是 1。

输入描述
第一行包含一个整数 N(1 \leq N \leq 10^5)N(1≤N≤105)。

第二行包含 NN 个整数 A_1, A_2, ··· A_N (−10^5 \leq A_i \leq 10^5)A1​,A2​,⋅⋅⋅AN​(−105≤Ai​≤105)。

输出描述
输出一个整数代表答案。

输入输出样例
示例

输入

7
1 6 5 4 3 2 1
输出

2

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] q = new int[n];for (int i = 0; i < n; i++) {q[i] = scanner.nextInt();}int[] max = new int[2];//两层循环,//外层遍历分支层记录最大权值和,//内层遍历本层节点,并求和.for (int i = 0; i < ceng(n); i++) {int sum = 0;for (int j = cifsng(i); j < cifsng(i + 1)&&j<=n; j++) {sum = q[j-1] + sum;}if (sum > max[1]) {max[0] = i;max[1] = sum;}}System.out.println(max[0] + 1);}//2的i次方public static int cifsng(int a) {int b = 1;for (int i = 0; i < a; i++) {b = b * 2;}return b;}//由总数计算层数public static int ceng(int n) {int sum = 0;int a=0;for (int i = 0; i < n; i++) {sum = sum + cifsng(i);if (sum >= n) {a=i+1;break;}}return a;}
}

 

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int[] data=new int[n];int he=0;for (int i=0;i

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...