Categories
程式開發

一张壁纸使Android手机集体变砖,目前尚无解决方法

近日,一名网友在Twitter上传了一张壁纸并表示该壁纸会使他的三星手机崩溃。此前已经有日历Bug导致三星手机集体崩溃的事情发生,而这一次三星手机再次中招。只因为使用了一张风景壁纸就能导致手机崩溃?经该网友测试,不止是三星,包括谷歌亲儿子 Google Pixel 在内的众多手机品牌纷纷中招。

事件回顾

5月31日,一位名为“Ice universe”的网友在Twitter中上传了一张壁纸并表示:“警告!切勿将此图片设置为壁纸,尤其是三星手机用户!它会导致你的手机崩溃!千万不要尝试!”

一张壁纸使Android手机集体变砖,目前尚无解决方法 1

图为“肇事”的壁纸,大家不要轻易尝试!

而后,该用户又发布了一条推文表示,不止是三星的手机,他的 Google …

Categories
程式開發

特斯拉再次翻车,把火箭送上天的马斯克,还是解决不了自动驾驶安全问题

马斯克最近很忙,火箭刚刚升天的喜悦之情还未褪去,这边,特斯拉汽车却翻车了。

事件回溯

6月1日,据媒体报道,一辆特斯拉Model 3行驶在台湾高速公路上时,直接撞向一辆翻倒在公路上的大卡车。事发时车辆中只有司机一人,所幸没有造成人员伤亡。

根据道路上的视频监控画面显示,事发时天气晴朗,司机视野良好。在卡车翻倒在地时卡车司机站在一旁的隔离带上等待救援,当卡车司机看到特拉了汽车直奔卡车冲过来没有丝毫减速时,卡车司机还试图向特斯拉驾驶员挥手致意,但即便如此,特斯拉轿车也没有及时刹住车,直直撞向了卡车。

事发后,当地媒体对事故发生的原因进行了探究,据警方介绍:“司机表示自己在车辆行驶时开启了自动驾驶辅助功能,将车速固定在了110公里/小时,行驶途中自己有些分神,没有将全部注意力集中在车辆和道路上。”

又是自动驾驶惹的祸?

特斯拉的事故车Model 3目前能支持L3级别的自动驾驶,L3级别的自动驾驶要求驾驶员随时做好接管汽车的准备。在特斯拉的官网上,同样注明了其Auto Pilot属于辅助驾驶功能,车主的手不能脱离方向盘,且注意力需要集中在驾驶上。…

Categories
程式開發

不可变数据库的实现:类似于区块链,但没有使用区块链

本文最初发表于 SubStack 博客,经原作者授权,InfoQ 中文站翻译并分享。

导读:不可变数据库,看起来很像区块链,但实际上,它并非区块链。

我不知道区块链技术最终是否会蓬勃发展,是否会得到广泛应用,但可以肯定的是,这项颠覆性技术所带来的许多创新都将会流传下去。从新的共识算法的实现、到更好的分布式网络协议的设计,再到新的密码原语的设计和实现,区块链技术给我们带来了许多进步,即使我们最终放弃了区块链技术的永恒承诺,这些进步也将继续盛行。…

Categories
程式開發

事件溯源和有状态系统的结合应用

事件溯源和有状态系统的结合应用 10

本文最初发布于stitcher博客,经原作者授权由InfoQ中文站编译并分享。

首先来看场景概况。这是我们曾经做过的一个比较大的项目。一旦项目完成,它将为数以十万计的用户提供服务,处理大量财务交易,并且需要即时创建独立的租户专属安装。该项目的一个关键需求是需要轻松地报告和追踪产品订购流程的历史记录,这一流程也是业务的核心。

除了这个面向前端的客户流程外,还会有一个复杂的管理面板来管理产品。这里几乎完全不需要报告或追踪管理活动的历史记录。主要目标是提供一个易于使用的产品管理系统。

希望你能理解我故意使用模糊术语的做法,因为这显然不是一个开源项目。不过,我认为“产品管理”和“订单”的概念足以让你了解我们所做的是怎样的设计决策了。

我们首先来讨论这个系统的一种设计方法,这种方法出自我之前写过的《超越CRUD的Laravel》文章系列。

在这样的系统中可能会有两个域组:Product和Order,以及两个同时使用这些域的应用程序:AdminApplication和…

Categories
程式開發

Vue生成AST算法的解析

在看vue源码的过程中,不只加深了对vue本身的理解,也理解了正则,以及各种设计模式。

博客大部分是从代码开始讲起,所以,我打算更细致的讲一讲这部分的思想。

首先我们要知道什么是AST,以及为什么要用AST生成虚拟dom。

AST是指抽象语法树(abstract syntax tree),或者语法树(syntax tree),是源代码的抽象语法结构的树状表现形式。Vue在mount过程中,template会被编译成AST语法树。

简单来说,在js中AST的表现形式是像下面的结构

Vue生成AST算法的解析 17

它是怎么来的呢? 是通过js中的类html字符串转换而来的,所以我们的任务就变成了把类html转换成这种结构啦。 …

Categories
程式開發

携程异地多活-MySQL实时双向(多向)复制实践

一、前言

携程内部MySQL部署采用多机房部署,机房A部署一主一从,机房B部署一从,作为DR(Disaster Recovery)切换使用。当前部署下,机房B部署的应用需要跨机房进行写操作;当机房A出现故障时,DBA需要手动对数据库进行DR切换。

为了做到真正的数据异地多活,实现MySQL同机房就近读写,机房故障时无需进行数据库DR操作,只进行流量切换,就需要引入数据实时双向(多向)复制组件。

携程异地多活-MySQL实时双向(多向)复制实践 22

二、DRC 介绍

DRC(Data Replicate Center)是携程框架架构研发部推出的用于数据双向或多向复制的数据库中间件,在公司G2(高品质Great Service、全球化Globalization)战略的背景下,服务于异地多活项目,赋予了业务全球化的部署能力。…

Categories
程式開發

Istio 1.6:回归单体架构,惊喜还是失望?

从 1.2 版本开始,Istio 进入季度发布的节奏。5 月 21 日发布的 1.6 版本可以说是最准时的一次。我们是否可以理解 Istio …

Categories
程式開發

编程语言的老祖宗ALGOL 60诞辰60周年

2020年是ALGOL 60的60周年诞辰。ALGOL 60为多种计算机编程语言奠定了基础。

The Register网站采访了英国国家计算机博物馆的Peter Onion和Andrew Herbert,进一步了解了穿孔磁带时代的美好往昔。

ALGOL 60是ALGOL 58的继承者。ALGOL …

Categories
程式開發

深度解读Flink 1.11:流批一体Hive数仓

Flink 1.11 features 已经冻结,流批一体在新版中是浓墨重彩的一笔,在此提前对 Flink 1.11 中流批一体方面的改善进行深度解读,大家可期待正式版本的发布。

Flink 1.11 中流计算结合 …

Categories
程式開發

这些Java8官方挖的坑,你踩过几个?

导读:系统启动异常日志竟然被JDK吞噬无法定位?同样的加密方法,竟然出现部分数据解密失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10天JDK能否识别?Stream很高大上,List转Map却全失败……这些JDK8官方挖的坑,你踩过几个?

目录

一、Base64:你是我解不开的迷

二、被吞噬的异常:我不敢说出你的名字

三、日期计算:我想留住时间,让1天像1年那么长

四、List:一如你我初见,不增不减

五、Stream处理:给你,独一无二

六、结尾:纸上得来终觉浅,绝知此事要躬行!

一、Base64:你是我解不开的迷

出于用户隐私信息保护的目的,系统上需将姓名、身份证、手机号等敏感信息进行加密存储,很自然选择了AES算法,外面又套了一层Base64,之前用的是sun.misc.BASE64Decoder/BASE64Encoder,网上的资料基本也都是这种写法,运行得很完美。但这种写法在idea或者maven编译时就会有一些黄色告警提示。到了Java …