records

一个茴字有三种写法——吐槽C#9.0的Records

自古美人都是妖i 提交于 2020-08-08 11:13:25
最近是微软开了Build 2020大会,由于疫情原因,改成了在线举行,Build大会上,C#公布9.0版本。 我个人对于C#的更新向来都是喜闻乐见,乐于接受的,对于博客园上某些人天天嘲讽C#只会增加语法糖的人,我向来对他们不屑一顾,认为他们是井底之蛙。 因此我仔细看了微软发的文章 Welcome to C# 9.0 ,准备好好观摩和学习。但当我看到Records语法时,我就隐隐感觉C#这样玩语法糖要翻车了。 后来看到知乎上的问题 如何评价即将发布的 C# 9.0? ,我稍加思索,愈发觉得Records语法完全是大型翻车现场,因此整理出来我认为的Records的翻车点(兼吐槽)。 首先看官方给出的Records样例 public data class Person { public string FirstName { get; init; } public string LastName { get; init; } } 第一个吐槽点: data class 声明有必要吗?如果要多加一个 data 关键字,直接用 record 不好吗,如果不加关键字,为什么不用 readonly class 啊。 public record Person {} public readonly class Person {} 第二个吐槽点,官方给出上面的等价定义 public data class

mysql大表在不停机的情况下增加字段该怎么处理

落花浮王杯 提交于 2020-08-06 23:34:31
MySQL中给一张千万甚至更大量级的表添加字段一直是比较头疼的问题,遇到此情况通常该如果处理?本文通过常见的三种场景进行案例说明。 1、 环境准备 数据库版本 : 5.7.25-28(Percona 分支) 服务器配置: 3台centos 7虚拟机,配置均为2CPU 2G内存 数据库架构: 1主2从的MHA架构(为了方便主从切换场景的演示,如开启GTID,则两节点即可),关于MHA搭建可参考此文 MySQL高可用之MHA集群部署 准备测试表: 创建一张2kw记录的表,快速创建的方法可以参考 快速创建连续数 本次对存储过程稍作修改,多添加几个字段,存储过程如下: DELIMITER $$ CREATE PROCEDURE `sp_createNum`(cnt INT ) BEGIN DECLARE i INT DEFAULT 1 ; DROP TABLE if exists tb_add_columns; CREATE TABLE if not exists tb_add_columns(id int primary key ,col1 int ,col2 varchar ( 32 )); INSERT INTO tb_add_columns(id,col1,col2) SELECT i as id ,i % 7 as col1,md5(i) as col2; WHILE i <

手把手教你给行情收集器升级回测自定义数据源功能

江枫思渺然 提交于 2020-08-06 08:27:22
上一篇文章 手把手教你实现一个行情收集器 我们一起实现了一个收集行情的机器人程序,收集了行情数据接下来怎么使用呢?当然是用于回测系统了,这里依托于发明者量化交易平台回测系统的自定义数据源功能,我们就可以直接把收集到的数据作为回测系统的数据源,这样我们就可以让回测系统应用于任何我们想回测历史数据的市场了。 因此,我们可以给「行情收集器」来一个升级!让行情收集器同时可以作为自定义数据源给回测系统提供数据。 有了需求,动手! 准备 和上次文章中的准备工作有所不同,上一次是在我的本机MAC电脑上运行的托管者程序,安装mongodb数据库启动数据库服务。这次我们把运行环境换到VPS上,使用阿里云linux服务器,来运行我们这一套程序。 mongodb数据库 和上篇文章一样,需要在行情收集器程序运行的设备上安装mongodb数据库,并且开启服务。和在MAC电脑上安装mongodb基本一样,网上有不少教程,可以搜索看下,很简单。 安装python3 程序使用python3语言,注意用到了一些库,没有的话需要安装。 pymongo http urllib 托管者 运行一个发明者量化交易平台的托管者即可。 改造「行情收集器」 行情收集器即 RecordsCollecter (教学) 这个策略。 我们来对它做一些改造: 在程序进入收集数据的while循环之前,使用多线程库,并发执行启动一个服务

Linux命令:MySQL系列之四--MySQL管理创建CREATE表和索引

回眸只為那壹抹淺笑 提交于 2020-08-06 03:40:45
SQL语句: 数据库 表 索引 视图 DML语句 单字段: PRIMARY KEY 主键 UNIQUE KEY 唯一键 单或者多字段: PRIMARY KEY(col,...) UNIQUE KEY(col,...) INDEX(col,...) 数据类型: data_type: BIT [(length)] 比特 | TINYINT [(length)] [UNSIGNED] [ZEROFILL] 非常小的整数(1字节) | SMALLINT [(length)] [UNSIGNED] [ZEROFILL] 小的整数(2字节) | MEDIUMINT [(length)] [UNSIGNED] [ZEROFILL] 中等的整数(3字节) | INT [(length)] [UNSIGNED] [ZEROFILL] 整数(4字节) | INTEGER [(length)] [UNSIGNED] [ZEROFILL] 整数(4字节)相当于INT | BIGINT [(length)] [UNSIGNED] [ZEROFILL] 大的整数(8个字节) | REAL [(length,decimals)] [UNSIGNED] [ZEROFILL] 实数 | DOUBLE [(length,decimals)] [UNSIGNED] [ZEROFILL] 双数 | FLOAT [

一个茴字有三种写法——吐槽C#9.0的Records

喜欢而已 提交于 2020-08-05 21:13:34
最近是微软开了Build 2020大会,由于疫情原因,改成了在线举行,Build大会上,C#公布9.0版本。 我个人对于C#的更新向来都是喜闻乐见,乐于接受的,对于博客园上某些人天天嘲讽C#只会增加语法糖的人,我向来对他们不屑一顾,认为他们是井底之蛙。 因此我仔细看了微软发的文章 Welcome to C# 9.0 ,准备好好观摩和学习。但当我看到Records语法时,我就隐隐感觉C#这样玩语法糖要翻车了。 后来看到知乎上的问题 如何评价即将发布的 C# 9.0? ,我稍加思索,愈发觉得Records语法完全是大型翻车现场,因此整理出来我认为的Records的翻车点(兼吐槽)。 首先看官方给出的Records样例 public data class Person { public string FirstName { get; init; } public string LastName { get; init; } } 第一个吐槽点: data class 声明有必要吗?如果要多加一个 data 关键字,直接用 record 不好吗,如果不加关键字,为什么不用 readonly class 啊。 public record Person {} public readonly class Person {} 第二个吐槽点,官方给出上面的等价定义 public data class

爬虫 全国建筑市场监管服务平台小程序 数据抓取与采集

人盡茶涼 提交于 2020-08-05 13:28:25
原来发了几遍文章关于 全国建筑市场监管公共服务平台(四库一平台)平台的网站数据采集和抓取: 建筑资质爬虫抓取-全国建筑市场监管公共服务平台(一)入门篇 建筑资质爬虫抓取-全国建筑市场监管公共服务平台(二)-接口篇 新版建筑市场(四库一平台)抓取最新信息(爬虫) 最近发现 建筑市场监监管平台推出了自己的小程序《全国建筑市场监管服务平台》。 ​在使用过程中,发现没有前端的辅助验证码,和一些访问的现在,于是就研究如何通过小程序来抓取数据,经过的学习和研究基本完成的数据的采集和抓取,就把整个流程最一点记录,如果需要相关的技术支持和爬虫数据可以联系我(QQ:397713472 电话:13880334484[微信同号])。 一、使用爬虫抓包工作抓取小程序访问链接 我喜欢用 Fiddler 抓包工具,我这里就不详细说怎么配置和安装,这个网上的教程很多;安装和配置好了,我们访问小程序,在Fiddler上面就看到相关的访问链接: 然后通过分析小程序的接口就两个 https://sky.mohurd.gov.cn/skyapi/api/statis/getExtResult https://sky.mohurd.gov.cn/skyapi/api/statis/getResult 都是通过改变参数keys的方式来实现相关业务,这里就不多少,通过接口很轻松的分析相关的功能。 二

Java 14 祭出代码简化大器,Lombok 要被干掉了?

天大地大妈咪最大 提交于 2020-08-05 08:01:05
Java 14 3 月发布距现在已经发布 2 个多月,发布了很多新特性,详细的新特性介绍可以看这篇文章: http://www.javastack.cn/article/2020/java14-has-been-released/ 栈长之前也陆续分享过两篇 Java 14 的新特性: Java 14 之模式匹配,非常赞的一个新特性! Java 14 来势汹汹,这回让空指针无处遁形!! 感觉很好玩,今天再来分享一个新特性: JEP 359: Records (Preview) https://openjdk.java.net/jeps/359 Java 14 祭出大器啊!!! 背景介绍 我们经常听到一些对 Java 的抱怨,"Java 太冗长啰嗦了",Java 确实经常要写很多低级(low)的代码,比如: constructors, getters, equals(), hashCode(), toString() 方法等,是不是感同身受? 如果开发人员为了偷懒而省略其中的某些方法,甚至会带来问题。 基本介绍 Records 是一种新的类申明形式,和枚举类型一样,它是一种受限制的类(class)。 简单来说,Records 就是一种新的语法糖,目的还是为了简化代码,相当于 Lombok 的 @Data 注解,但又不能完全替代,现在还是个预览特性,在未来可能会有变更。

谷歌训练BERT仅23秒,英伟达A100破八项AI性能纪录,最新MLPerf榜单

﹥>﹥吖頭↗ 提交于 2020-08-05 07:08:04
  机器之心报道    编辑:泽南、张倩    在最新的 MLPerf 基准测试结果中,英伟达新出的 A100 GPU 打破了八项 AI 性能纪录,谷歌的 4096 块 TPU V3 将 VERT 的训练时间缩短到了 23 秒。华为昇腾 910 这次也跑了个分。      在距离推出不到一个月的时间里,内置超过 2000 块英伟达 A100 GPU 的全新 DGX SuperPOD 服务器就在各项针对大规模计算性能的 MLPerf 基准测试中取得了优异成绩。   在今天官方发布的 MLPerf 第三批 AI 训练芯片测试结果中,英伟达 A100 Tensor Core GPU 在全部八项基准测试中展现了最快性能。在实现总体最快的大规模解决方案方面,利用 HDR InfiniBand 实现多个 DGX A100 系统互联的服务器集群 DGX SuperPOD 系统也同样创造了业内最优性能。   行业基准测试组织 MLPerf 于 2018 年 5 月由谷歌、百度、英特尔、AMD、哈佛和斯坦福大学共同发起,目前已成为机器学习领域芯片性能的重要参考标准。此次结果已是英伟达在 MLPerf 训练测试中连续第三次展现了最强性能。早在 2018 年 12 月,英伟达就曾在 MLPerf 训练基准测试中创下了六项纪录,次年 7 月英伟达再次创下八项纪录。   最新版的 MLPerf 基准测试包含

e chart

﹥>﹥吖頭↗ 提交于 2020-08-04 16:34:44
store.load(function (records, operation, success) { // 正态分布图 var chart1Panel = Plantpanel.down('panel[name=NormalDistributionChart]' ); var chart1Id = chart1Panel.getId(); var myChart1 = echarts.init(document.getElementById(chart1Id)); // XBAR图表 var chart2Panel = Plantpanel.down('panel[name=XBARChart]' ); var chart2Id = chart2Panel.getId(); var myChart2 = echarts.init(document.getElementById(chart2Id)); // R图表 var chart3Panel = Plantpanel.down('panel[name=RChart]' ); var chart3Id = chart3Panel.getId(); var myChart3 = echarts.init(document.getElementById(chart3Id)); myChart1.clear(); myChart2

聊聊DebeziumEngine

有些话、适合烂在心里 提交于 2020-07-29 07:12:19
序 本文主要研究一下DebeziumEngine DebeziumEngine debezium-v1.1.1.Final/debezium-api/src/main/java/io/debezium/engine/DebeziumEngine.java @Incubating public interface DebeziumEngine<R> extends Runnable, Closeable { //...... public static <T> Builder<T> create(Class<? extends ChangeEventFormat<T>> eventFormat) { final ServiceLoader<Builder> loader = ServiceLoader.load(Builder.class); final Iterator<Builder> iterator = loader.iterator(); if (!iterator.hasNext()) { throw new DebeziumException("No implementation of Debezium engine builder was found"); } final Builder builder = iterator.next(); if (iterator