Entry

科技圈大佬集体谴责!特朗普颁布“签证限制令”,H1B、J1、L等“高技能人才”“学术交流”签证受波及

送分小仙女□ 提交于 2020-08-07 21:43:22
   美东时间 6 月 22 日,特朗普签署的一项移民签证限制政令让美国科技圈“炸了锅”。 政令表示因新冠疫情影响了美国经济下滑,当前国内失业率飙升,为保护美国公民的利益,遂做出这样的决定。   6 月 23 日,针对这个举措,包括苹果 CEO 库克、谷歌 CEO 桑达尔 · 皮查伊、SpaceX & 特斯拉 CEO 埃隆 · 马斯克、AI 权威学者吴恩达等在内的诸多科技圈大佬纷纷表示难以接受。 很大一部分原因是,这项新政令将限制 H-1B 签证,这是美国签发给在该国从事专业技术类工作人士的一种签证,是美国最主要的工作签证类别,这可能将直接影响科技公司的正常运营。    H-1B 签证持有者可以在美国工作三年,然后可以再延长三年,该签证通常至少需要学士学位或更高学位或者学历,基本都是专业人才持有。 “专业性”职位包括但不限于:建筑师、工程师、教授、科研人员、医疗专家、程序员、会计师、律师、经济学家等。根据招聘公司 Dice 的数据,仅 Google 一家公司在 2019 财年就申请了 7600 多个 H-1B 签证。    而 J 签证影响交流访问学者签证,针对在美国进行教育、艺术以及科学方面学术交流人士;L 签证则涉及外国商人和外国专家到美国工作、做生意和投资;   如果大家都不能续签,这项新政令的波及面可想而知。      图|美国永久居民卡,“绿卡”持有者暂不受新政令影响

Hikari 连接池关闭连接

天大地大妈咪最大 提交于 2020-08-07 18:52:09
项目中使用hakari 连接池管理conn,在使用过程中遇到如果没有声明事物,连接不会关闭的情况,故花时间看了hakari的源码 首先,hikari有一堆配置,这个配置的注意事项可以去网上找一下,这里提供一个地址 https://blog.51cto.com/1197822/2298344 、 另外如果要看具体问题与解决方法最好去github 上找一下。 HikariConfig 另外配置类中也做了详细说明,推荐看下这个类,其中作者标名了某些配置的默认值、执行过程中可改变与不可改变的值 private static final char [] ID_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" .toCharArray(); private static final long CONNECTION_TIMEOUT = SECONDS.toMillis(30 ); private static final long VALIDATION_TIMEOUT = SECONDS.toMillis(5 ); private static final long IDLE_TIMEOUT = MINUTES.toMillis(10 ); private static final long

hashmap简单理解

牧云@^-^@ 提交于 2020-08-07 16:23:23
hashmap 1. 什么是 HashMap? HashMap 是基于 哈希表 的 Map 接口 是实现的。 此实现提供所有可选操作,并允许使用 null 做为值(key)和键(value)。 HashMap 不保证映射的顺序,特别是它不保证该顺序恒久不变。此实现假定哈希函数将元素适当的分布在各个桶之间,可作为基本操作(get 和 put)提供稳定的性能。 在jdk1.7中的HashMap是基于 数组+链表 实现的,在jdk1.8中的HashMap是由 数组+链表+红黑树 实现的。 2. HashMap的简单使用 哈希映射 是java中的一种数据结构,它使用对象来检索另一个对象,第一个对象是键,第二个对象是值,它们是作为java.util包中的HashMap类来实现的 1.new初始化 1.可以通过调用其无参的构造函数来创建哈希映射: HashMap map = new HashMap(); 使用泛型来指明键和值的类,它们放在"<“和”>"字符内,而且类名使用逗号分隔,如下所示 HashMap<String, Integer> map = new HashMap<>(); 2. put存储(写) put(Object,Object) 通过调用带有两个参数(键和值)的put(Object,Object)方法,将对象存储到哈希映射中 map.put("Tom", 18);

数据实时同步之MongoDB

社会主义新天地 提交于 2020-08-07 10:58:13
​转载本文需注明出处:微信公众号EAWorld,违者必究。 前言: 随着传统企业的发展,企业数据呈现多样化,海量化,难以实现数据快速分析。 MongoDB是当前很多企业使用的,当日积月累数据很大时,就可能会忽略历史数据的价值,可以把数据实时同步到其他储存: HBASE、HIVE、HDFS文件等等。 在当前大数据、云计算的时代潮流下,实现数据价值,对企业决策力、洞察发现力极其有益。 在MongoDB 3.6 之后版本,提供Change Streams API。但目前数据量庞大的仍还是3.6之前版本的历史悠久企业。这些资产数据是不可缺少的,所以当使用3.6之前版本,两步走:首先对历史库数据迁移。再开始监听MongoDB库增量变化,实现MongoDB的监听和实时同步(Oplog)。 目录: 1.Oplog简介 2.MongoDB服务配置启动 3.Oplog获取和查看 4.简单Java代码实现 1.Oplog简介 1、认识 当在MongoDB的Primary下,我们进行操作库表时,这些操作会以特殊格式储存在local库下的一个固定集合中(下面会介绍到)。Secondary(次)就会通过获取主的oplog,来进行同步数据,并且存储自己的Oplog。所以Oplog 也是Mongodb Replication的重要组成了。 2、大小 Mongodb默认将其大小分配的是5%的空闲磁盘空间

恕我直言你可能真的不会java第12篇-如何使用Stream API对Map类型元素排序

让人想犯罪 __ 提交于 2020-08-07 10:54:08
在这篇文章中,您将学习 如何使用Java对Map进行排序 。前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题。所以我决定写这样一篇文章。在Java中,有多种方法可以对Map进行排序,但是我们将重点介绍Java 8 Stream,这是实现目标的一种非常优雅的方法。 一、什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序。下面是它的工作原理: 将Map或List等集合类对象转换为Stream对象 使用Streams的 sorted() 方法对其进行排序 最终将其返回为 LinkedHashMap (可以保留排序顺序) sorted() 方法以a Comparator 作为参数,从而可以按任何类型的值对Map进行排序。如果对Comparator不熟悉,可以看本号前几天的文章,有一篇文章专门介绍了使用Comparator对List进行排序。 二、学习一下HashMap的merge()函数 在学习Map排序之前,有必要讲一下HashMap的merge()函数,该函数应用场景就是当Key重复的时候,如何处理Map的元素值。这个函数有三个参数: 参数一:向map里面put的键 参数二:向map里面put的值 参数三:如果键发生重复,如何处理值。可以是一个函数,也可以写成lambda表达式。

java中Map集合获取功能

走远了吗. 提交于 2020-08-07 08:57:02
1、V get(Objectkey) 根据键获取值 2、Set<K> KeySet() 获取所有键的集合 3、Collection<V> values 获取所有值得集合 4、Set<Map.Entry<K, V>> entrySet() 获取所有键值对的集合 来源: oschina 链接: https://my.oschina.net/u/4344760/blog/4476708

数据异构之 Canal 初探(技巧篇)

拥有回忆 提交于 2020-08-07 07:35:46
1、应用场景 提到 Canal,大家应该都能想到这是一个用于解析 MySQL binlog 日志的工具,并将 MySQL 数据库中数据同步到其他存储介质中,例如 Elasticsearch。 即 Canal 一个非常常用的使用场景:数据异构,一种更高级别的数据读写分离架构设计方法。 随着业务不断的发展,企业发展到一定阶段,发现单体的关系型数据库已无法支撑业务高速发展带来数据不断累积的压力,从而会诞生出一种设计架构:分库分表。分库分表对缓解单库数据库压力确实是一种非常好的解决方案,但又衍生出另外一种困境,关联查询不友好,甚至跨库JOIN就更加如此。 举例说明如下: 例如一个订单系统,通常有两类用户需要去查询订单,一类是顾客,一类是商家,在对数据库进行分库分表时,如果以顾客(buy_id)进行分库的话,同一个商家的订单数据会分布在不同的库中,如果以商家(shop_id)进行分库的话,同一个用户购买的所有订单数据将会分布子啊不同的库中,这样进行关联查询,就必然需要跨库进行join,其成本都会偏高。而且上面的场景只能满足一方的需求,那如何是好呢? Canal 这个时候就闪亮登场了,在电商设计中,其实商家、顾客会被拆分成两个不同的服务,我们可以为两个不同的服务搭建不同的数据库集群,我们可以用户订单库、商家订单库进行分库,以用户订单库为主库,当用户在订单系统下单后,数据进入到用户订单库中

List、Set、Map有什么异同(详解)

风流意气都作罢 提交于 2020-08-07 06:58:57
引言:Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中 Java集合框架(常用接口): Collection 接口存储一组不唯一,无序的对象 (父类接口) List 接口存储一组不唯一,有序(插入顺序)的对象 Set 接口存储一组唯一,无序的对象 Map接口存储一组键值对象,提供key到value的映射 一、List接口 List是一个继承于Collection的接口,即List是集合中的一种。List是有序的队列,List中的每一个元素都有一个索引;第一个元素的索引值是0,往后的元素的索引值依次+1。和Set不同,List中允许有重复的元素。实现List接口的集合主要有:ArrayList、LinkedList、Vector、Stack。 1.可以允许重复的对象。    2.可以插入多个null元素。 3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。 4.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。 ArrayList ArrayList是一个动态数组,也是我们最常用的集合。它允许任何符合规则的元素插入甚至包括null

使用Sentinel实现隔离、限流

落爺英雄遲暮 提交于 2020-08-07 03:21:28
在18年Hystrix停止更新,Sentinel和Resilience4j逐步成熟,在国内Sentinel的使用企业更加多一些,接下来通过一个实站例子把Sentinel的主要功能使用起来。 功能对比 Sentinel Hystrix resilience4j 隔离策略 信号量隔离(并发线程数限流) 线程池隔离/信号量隔离 信号量隔离 熔断降级策略 基于响应时间、异常比率、异常数 基于异常比率 基于异常比率、响应时间 实时统计实现 滑动窗口(LeapArray) 滑动窗口(基于 RxJava) Ring Bit Buffer 动态规则配置 支持多种数据源 支持多种数据源 有限支持 扩展性 多个扩展点 插件的形式 接口的形式 基于注解的支持 支持 支持 支持 限流 基于 QPS,支持基于调用关系的限流 有限的支持 Rate Limiter 流量整形 支持预热模式、匀速器模式、预热排队模式 不支持 简单的 Rate Limiter 模式 系统自适应保护 支持 不支持 不支持 控制台 提供开箱即用的控制台,可配置规则、查看秒级监控、机器发现等 简单的监控查看 不提供控制台,可对接其它监控系统 Sentinel 基本概念 资源 资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码

EFcore 修改部分字段

吃可爱长大的小学妹 提交于 2020-08-07 03:10:17
using System.Linq.Expressions; // 用表达式树,部分字段 Expression<Func<CourseSchedule, object >>[] updatedProperties = { p => p.createtime, }; 调用Helper类 _courseScheduleRepository.Value.UpdateEntity(schedule, updatedProperties, true ); Helper类 /// <summary> /// 更新部分字段 /// </summary> public virtual int UpdateEntity(T entity, Expression<Func<T, object >>[] updatedProperties, bool IsCommit = true ) { int result = 0 ; _dbContext.Set <T> ().Attach(entity); if (updatedProperties.Any()) { foreach ( var property in updatedProperties) { _dbContext.Entry <T>(entity).Property(property).IsModified = true ; } } if