Guava 解析
前言 Guava 本身适配不同的环境,Jdk 1.8 以上使用 jre flavor,Jdk 1.7 和 android 使用 android flavor。 类库的作者,不要使用 @Beta 成员,以后它们不会是 source-compatible。但我们可以使用其他成员,它们会是 binary-compatible,Guava 现在不会再因为非安全原因删除成员了,即使是 @Deprecated 的。 可用的功能见这个 User Guide。 common Collect Multimap 这个数据结构首先是一个接口,有以下子接口: ListMultimap、SetMultimap。不同的子接口的 Get 方法返回不同的数据结构。 有两种方法可以理解这个数据结构: 1234<ul> <li>a → 1, 2 <li>b → 3</ul> 第一种形式同 Stream 的 groupingBy 的操作结果类似: 1234Map<MapKey, List<Object>> map = actionAggr...
RESTful 资料归集
资料归集 Google Cloud API Design Guide github的 restful api restcookbook.com 开发 REST 应用 微观 SOA:服务设计原则及其实践方式(上篇) 微观 SOA:服务设计原则及其实践方式(下篇) 《【REST系列】详解REST架构风格 —— 带你阅读Web发展史上的一个重要技术文献》 REST 十诫 FROM:https://www.infoq.cn/article/oJ3FX8MtAER4UubZgAt9 本文最初发表于 Treblle 网站,经原作者 Vedran Cindrić 授权,InfoQ 中文站翻译并分享。 我在过去十年里,一直在研究的核心内容之一就是 API:从单一客户端使用的简单 API,到多种设备和多种用途的 API。在过去这些年来,我也有机会与很多第三方 API 一起工作,比如 Stripe、Twilio,以及其他一些不太流行但很有吸引力的 API。这些 API 几乎都以 REST 为基础,有些地方是独一无二的。 REST 之所以流行,有许多理由可以解释。它易于理解、灵活、适用于各种规模,拥有...
一秒钟
在台下起冲突的时候,范电影拿着话筒,对台下说了一句台词,看电影是让你们学好的。 但范电影所处的世界,并没有几件好事,更没几个好人:普通的老百姓,物质文化生活极度贫乏。他们两个月才有一次娱乐,即使是看过无数次的《英雄儿女》,也要聚在一起,一遍遍地把电影看到天亮。保卫科的干事,虽然看电影对王芳和父亲的别离感动不已,却对没有父母的刘闺女、失去了女儿的张九声视若无睹。张九声只是打了一场架,就被关了六年(加上电影结尾的两年,一共八年)。他为了看一场电影,要逃出农场,挟持范电影。因为被欺负得狠了,刘闺女不惜当窃贼、打闷棍,也要把胶片抢到手。而范电影享受着电影放映员带来的虚荣和权力,是个精致的利己主义者(或者说乡愿)。 生活在这样的世界里面,高道德水平是无用的,或者不存在的-全片没有出场一个这样的人物,低道德水平有时候是管用的。如果骗没有用,就用偷袭的方法(不知道刘闺女是不是练过泰拳)。如果不幸举止泄漏,外部惩罚就异常严厉。烧坏一个灯罩,就从此再也不能看电影;看了几次女儿的电影,就先被打个头破血流。 这种苦况,让主要人物的心理扭曲得非常厉害。张九声的人生很苦,没有出路,这种没有出路体现在行动上...
生活的意义
生活的意义来自于几个地方: 未来:长大后、工作后、谈恋爱后、结婚后、去旅游后、升职后、中举后、退休后、获奖后。 过去:童年时。 此时此刻。 把人生的意义寄托于未来,大多数情况下会带来马不停蹄的疲惫,和劳而无功的失望。所以人性的极端发展,产生了宗教的理念:把未来定到来生,定到无限轮回的某个时刻。定到某个终极时刻,那个时代可以见到佛祖或者上帝,一切都会得到 paid,然后 inner peace 和 eternal peace 就降临了。 把人生的意义寄托于过去,则人只能面对失去得到而后失去的现实。无论怎样改变思路,都只能改变自己看法和体验,而无法改变客观的事实。 最容易忽略的,反而是此时此刻、活在当下的意义。但“当下”往往就是人类忍耐的时刻,当下的意义平凡而微不足道,既不如未来充满光明,也不像回忆柔情似水。因此人读佛经的时候,总是忽略这些意义,看不懂为什么世尊拈花,迦叶微笑。 此时此刻,拈花微笑,可能就是生活唯一的意义,可能这就是禅定、开释和自在。
分手的决心
《分手的决心》,是内地拍不出来的电影。 但这个戏要拿奥斯卡,还差几分火候。 在人物情感线的架设、展开上,这部片运用了很多悬疑片的技巧来讲了一个东方审美下的爱情故事,是弱推理,非本格派的拍法-大量故事的悬疑要素来源于人物自身的性格带来的视角偏差,但也有很多冷峻的镜头,减弱悬疑和爱情这两类要素混搭在一起的情感强度,让这个戏的情感张力分布得更加平均,让最后剧情的几个高潮的情感冲击在观众的眼里被烘托得更加自然。但是这个故事要拿奥斯卡奖,很难,它对了东方人的胃口,就未必那么对西方人的胃口了。 我看这个戏,主要是为了汤唯,所以重点讲讲汤唯。我甚至觉得导演拍这个戏,是先有的汤唯,才有的宋徐来。汤唯可能是那种大导眼里,能够带出名角色,传世佳作的女演员-如果本身演技不够,也要强改剧本,贴着演员特质的边来设计角色,量身定做人物的命运,强行让演员最出彩的一面在角色身上绽放出来的那种女演员。看到宋徐来,我会想到《黄金时代》里的萧红,会想到《晚秋》里的安娜,《分手的决心》甚至可以另起一个名字,叫作《萧红杀人事件》。 宋徐来这个角色代表了某些导演对女性的想象:美艳但又不夺目,表面上看起来弱小,只能任由命运摆...
你的答案在你的宇宙里
《瞬息全宇宙》这个电影不如我预期的好,可能是我预期太高了。它用了非常多的符号和镜头切换来合理化逻辑论证的跳脱,这是很多观众不易接纳的(特别是中国观众)。当然它最后讲出来的仍然是好莱坞这些年念兹在兹的人生真谛:不要去思考人生的问题,因为不够好的东西是注定的,好的人生是 you enjoy it 的人生。这也是中国观众早已习以为常的耳边风。所以这个片子自从网飞开片,中国本土观众可以收看以来,在豆瓣的评分一直往下掉,中国人因为离不开这种人生真谛给它打高分,又因为厌倦了这种人生真谛,给不了多么高的分数。 很多人的生存哲学是:我将如何通过摆烂获得peace或者我将如何通过奋斗(struggle)来获得 peace。但我们的人生体验告诉我们,无论哪种方法都不算peace,而且快乐是短暂的,悲伤是长久的。人生绝大部分快乐总是一下子就消散掉了,悲伤对人的消极影响通常是沉浸式的,悲伤甚至可以改变一个人的人格,而快乐永远做不到这一点。人们渴望的快乐是简单纯粹而彻底安全的,人为了获得这一点会拼命需要别人给自己供养安全感,这种安全感就是我们心中的爱。而所有人学会渴求爱的行为模式,都是从家庭的教养中来的。...
可观测性问题
可观测性 现代的可观测性(Observability)等于以下三者的集合。 MTL 可观测性概念起源于控制理论中的可观察性(observability) 系统的可观测性,指该系统可以由其外部输出推断其内部状态的程度 某一个系统的可观测性越强,那么我们对这个系统的把控能力也会越强 需要明确,监控是一个动作。 目前认为,一个完整的可观测性系统,具备输出三种类型数据的能力:metrics、log、trace。 实际上,metrics、log、trace只是三种数据类型,本身与可观测性无关。仅仅是收集这些类型的数据,并不能保证系统的可观测性。 但是将这些数据进行合理的收集、存储、分析和利用,就容易使系统具有一定的可观测性。因此这些数据,又被称为可观测数据。 定义: - metrics指标:是原子性的、可累加的一种值,用于表示在⼀段时间内测量的数值,每个metrics都是一个逻辑计量单元。 - trace链路追踪:又称分布式链路追踪,表示 请求通过分布式系统 的端到端的路径。 - log日志:用于描述一些离散的(不连续的)事件,是对特定时间发⽣的事件的⽂本记录。 特性: ...
Dapper 论文
参考译文 dapper分布式跟踪系统原文 概述 当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能部署在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。 Dapper–Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低开销、应用透明的、大范围部署这三个需求的。当然Dapper设计之初,参考了一些其他分布式系统的理念,尤其是Magpie和X-Trace,但是我们之所以能成功应用在生产环境上,还需要一些画龙点睛之笔,例如采样率的使用以及把代码植入限制在一小部分公共库的改造上。 介绍 我们开发Dapper是为了收集更多的复杂分布式系统的行为信息,然后呈现给Google的开发者们。这样的分布式系统有一个特殊的好处,因为那些大规模的低端服务器,作为互联网服务的载体,是一个特殊的经济划算的平台。想要在这个上下文中理解分布式系统的行为,就需要监控那些横跨...
重写 ELK 相关信息
ELK in docker 官方文档见:《Running the Elastic Stack (“ELK”) on Docker》 Start Elasticsearch and Kibana in Docker 任意在容器中启动的单节点 Elasticsearch 集群都会 security will be automatically enabled and configured for you。这包括: 证书和key会在配置目录下自动生成。Certificates and keys are generated for the transport and HTTP layers.``When you install Elasticsearch, the following certificates and keys are generated in the Elasticsearch configuration directory, which are used to connect a Kibana instance to your secured Elasticsearc...
一个隐藏了17年的 JDK Bug
摘要 本文介绍了发现JDK-8286463 : DiscardPolicy may block invokeAll forever的全过程。 问题起因 因为工作需要,笔者最近考虑利用 Java 标准文档里的标准 API做一个批量执行任务的框架: invokeAll 这个 API 的语义是: 批量执行任务。 在任务执行完成(不管任务是被正常终止还是异常终止)后,批量返回一个持有任务状态的 Future 列表。 我们团队内部的代码里已经有了一个自定义线程池的工厂方法,大义是: 1234567891011121314151617181920212223242526272829303132333435363738394041/** * 一个有缺陷的线程池构造器 * * @param corePoolSize the number of threads to keep in the pool, even * if they are idle, unless {@code allowCoreThreadTimeO...