C#10引入了日期DateOnly,时间TimeOnly:
//从DateTime转换 Console.WriteLine(DateOnly.FromDateTime(DateTime.Now)); //从字会串转换 Console.WriteLine(DateOnly.Parse(2021-10-23)); //从0001-01-01到现在的天数 Console.WriteLine(DateOnly.FromDayNumber(738085)); //从DateTime转换 Console.WriteLine(TimeOnly.FromDateTime(DateTime.Now)); //从TimeSpan转换 Console.WriteLine(TimeOnly.FromTimeSpan(new TimeSpan(12,12,12))); //从字符串转换 Console.WriteLine(TimeOnly.Parse(12:13:14)); //从带格式的字t会串转换 Console.WriteLine(TimeOnly.ParseExact(12时13分14秒,HH时mm分ss秒)); 结果:
由此想到数据库有Date和Time类型,能不能使用,试验一下:
CREATE TABLE [dbo].[Test]( [ID] [int] IDENTITY(1,1) NOT NULL, [CreateDate] [date] NULL, [CreateTime] [time](7) NULL ) ON [PRIMARY] 查看ado.net下是否有效
using var con = new SqlConnection(server=.;database=testdb;uid=sa;pwd=sa;TrustServerCertificate=True;); var sql = @ INSERT INTO [dbo].[Test] ([CreateDate] ,[CreateTime]) VALUES (@CreateDate ,@CreateTime); using var cmd = new SqlCommand(sql, con); con.Open(); cmd.Parameters.Add(new SqlParameter(@CreateDate, SqlDbType.Date) { Value = DateOnly.
C#10引入了日期DateOnly,时间TimeOnly:
//从DateTime转换 Console.WriteLine(DateOnly.FromDateTime(DateTime.Now)); //从字会串转换 Console.WriteLine(DateOnly.Parse(2021-10-23)); //从0001-01-01到现在的天数 Console.WriteLine(DateOnly.FromDayNumber(738085)); //从DateTime转换 Console.WriteLine(TimeOnly.FromDateTime(DateTime.Now)); //从TimeSpan转换 Console.WriteLine(TimeOnly.FromTimeSpan(new TimeSpan(12,12,12))); //从字符串转换 Console.WriteLine(TimeOnly.Parse(12:13:14)); //从带格式的字t会串转换 Console.WriteLine(TimeOnly.ParseExact(12时13分14秒,HH时mm分ss秒)); 结果:
由此想到数据库有Date和Time类型,能不能使用,试验一下:
CREATE TABLE [dbo].[Test]( [ID] [int] IDENTITY(1,1) NOT NULL, [CreateDate] [date] NULL, [CreateTime] [time](7) NULL ) ON [PRIMARY] 查看ado.net下是否有效
using var con = new SqlConnection(server=.;database=testdb;uid=sa;pwd=sa;TrustServerCertificate=True;); var sql = @ INSERT INTO [dbo].[Test] ([CreateDate] ,[CreateTime]) VALUES (@CreateDate ,@CreateTime); using var cmd = new SqlCommand(sql, con); con.Open(); cmd.Parameters.Add(new SqlParameter(@CreateDate, SqlDbType.Date) { Value = DateOnly.
目录form表单1.属性action2.input标签3.select标签4.textarea标签网络请求方式CSS简介CSS查找标签之基本选择器(重要)CSS查找标签之组合选择器(重要)属性选择器分组与嵌套伪类选择器
form表单 form作用:获取前端用户数据并发送给后端服务器。URL:统一资源定位符(网址)。
<form action=></form> # 需要在form标签内部编写获取用户数据标签 1.属性action 作用:控制数据的提交地址
填写方式1:写全路径
<form action=http://www.aa7a.cn/user.php></form> 填写方式2:写后缀(自动补全IP和PORT)
<form action=user.php></form> 填写方式3:不写(朝网页所在的地址提交)
<form action=></form> 2.input标签 作用:获取用户各中类型数据的标签(html里面的变形金刚)。
type属性 功能 text 正常展示的普通文本 password 密文展示 date 日历展示 radio 单选。可以通过添加checked=checked设置默认值。ps:如果属性名和属性值相同 可以简写checked checkbox 多选。可以通过添加checked=checked设置默认值。ps:如果属性名和属性值相同 可以简写checked email 邮箱格式数据 file 文件数据。可以通过添加multiple属性控制获取单个还是多个文件 submit 触发form表单提交数据的动作 reset 重置页面填写的数据 button 普通按钮默认没有任何的功能,意味着以后可以给它添加任意的功能(JS事件) lable标签:专门给input标签配文字说明。
1.指定时间段导出日志文件
mysqlbinlog -v --base64-output=decode-rows --start-datetime='2022-04-25 09:42:00' --stop-datetime='2022-04-25 10:45:00' mybinlog.000331 >> 1.log
2.指定时间段关键表或者字段导出日志文件
mysqlbinlog -v --base64-output=decode-rows --start-datetime='2022-04-25 09:42:00' --stop-datetime='2022-04-25 10:50:00' mybinlog.000331 | grep -i 'tsecu_produce' >> 1.log
枚举参考文件夹中的文件,并与待比较文件件中的同名文件比较是否一致。
#! /usr/bin/python3.6 # -*- coding:utf-8 -*- import os import sys import json import numpy as np from sqlalchemy import false def cmp_file(ref_file: str, dst_file: str) -> bool: ref_base_name = os.path.basename(ref_file) dst_base_name = os.path.basename(dst_file) assert os.path.exists(ref_file), fref file not exist: {ref_base_name} if not os.path.exists(dst_file): print(f'dst file not exist: {dst_base_name}') return false ref_data = np.fromfile(ref_file, dtype=np.ubyte, count=-1) dst_data = np.fromfile(dst_file, dtype=np.ubyte, count=-1) is_equal = np.array_equal(ref_data, dst_data) print(is_equal, : , ref_base_name) return is_equal def cmp_dir(ref_dir: str, dst_dir: str) -> None: print(f'\n========== Start compare {ref_dir} and {dst_dir}') ref_names = os.
log4j2 + slf4j
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.17.2</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.17.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.17.2</version> </dependency> (32条消息) springboot(log4j2配置) 和slf4j+log4j2详细配置,纯日志配置_Alex_cun的博客-CSDN博客_slf4j整合log4j2
这一期是学习两个在控制流程中会使用到的语句。
一、break
break语句在任何循环流程中都可以使用,用途是强制终止流程
在这里我们可以看到在while循环里面本来的输出结果是1-100的,但加入了一个if语句,在循环=30时就停止循环。所以在这里就可以看到break是用来终止循环的。
而在最下面还有一个输出语句,这一句成功输出了,是用来证明break语句是用于终止语句,而没有终止程序。
二、contiune
contiune语句是用于在循环中终止一次循环,然后再继续循环的。
这上面这个循环中,我们在while中加入一个if,里面写入了contiune,是为了在输出时把能与10整除的数字都去除,结果也可以看到,contiune并没有把整个循环都终止了,而是把能与十整除的数字都去除了,这就说明contiune可以在循环运行到某个过程时停止,而不是像break一样将整个循环停止。
它是一款面向开发人员的互联网连接测量工具。Speedtest CLI 为命令行带来 Speedtest 背后的可信技术和全球服务器网络。
【阅读全文】
Speedtest CLI 专为软件开发人员、系统管理员和计算机爱好者等打造,是 Ookla® 提供技术支持的首款正式 Linux 本机 Speedtest 应用程序。
Speedtest CLI是使用python语言开发的,不仅可以直接在命令行运行。也可以作为python模块在python IDE中直接调用。
首先,看一下如何在python应用中进行调用,使用pip直接安装。
pip install speedtest-cli 将该模块直接导入到我们当前的代码块中。
import speedtest as spt 创建网络测试对象
spd = spt.Speedtest() 打印当前可用于测试的服务器列表
from pprint import pprint pprint(spd.get_servers()) # {721.5702755019188: [{'cc': 'CN', # 'country': 'China', # 'd': 721.5702755019188, # 'host': 'speedtest1.he.chinamobile.com:8080', # 'id': '41912', # 'lat': '38.0428', # 'lon': '114.5149', # 'name': '石家庄', # 'sponsor': 'China Mobile Hebei Co.
8.1 客户端JavaScript的重要性 8.1.1 Web 应用程序的发展 随着互联网的发展,现在的网页已经能够支持各种复杂的功能了。这里所说的网页已经不仅仅是单纯的文档,而是变为了一种应用程序,所以也称为 Web 应用程序。
Web 应用程序的功能 Web 应用程序会在两个地方执行操作以实现其功能,即服务器端与客户端(浏览器)。对于服务器端的处理,可以使用 Java、Perl、Python、Ruby、SQL 等多种类型的语言实现。与之相对,用于描述客户端功能的语言可以说只有 JavaScript 一种。
除了 JavaScript,能够实现客户端程序功能的技术还有 Adobe Flash 和 Silverlight,不过它们只能在特定的环境中运行。鉴于这一限制,要开发、发布能够广泛运用的 Web 应用程序,最好选择 JavaScript。
现在的 Web 应用程序已经能够提供各种各样的功能。下面列举其中一些基本功能。 • 拖曳操作(Drag and drop) • 异步读取 • 键盘快捷键(键盘访问) • 动画效果
8.1.2 JavaScript 的性能提升 得益于快速的发布周期,JavaScript 处理引擎的功能得到了大幅增强,JavaScript 的性能得以提升。
8.1.3 JavaScript 的作用 JavaScript 的作用之一是提供良好的用户体验,使应用程序能够具有更加易于理解的界面外观以及更高的易用性。
应该尽可能考虑如何利用 JavaScript 实现优秀的用户界面,但是不应该认为仅仅依靠 JavaScript 就能实现所有的功能。理由有以下两点。
很多浏览器都禁用 JavaScript 有些浏览器允许用户执行自定义的 JavaScript 也就是说,在有些情况下,并不能保证 JavaScript 能够按照 Web 应用程序开发者的预期执行。所以,应该理解JavaScript 的使用范围与局限性,在服务器和客户端分别 选择合适的实现方式。
040.mysql-datax从hive导入mysql报错:(表情包字符)
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x87\xF0\x9F...' for column 'member_name
解决方法
:jdbc链接添加配置
?com.mysql.jdbc.faultInjection.serverCharsetIndex=45
- name: exp_ads_table_name type: command config: command: sh tools/mysql.sh ${accuracy} ${entry} ${abort} customers ads_table_name ${hive.database.saas} ${engine2.jdbc.url}&com.mysql.jdbc.faultInjection.serverCharsetIndex=45 ${engine2.jdbc.user} ${engine2.jdbc.password}