Lecture 12 Asymmetric Information and Reputation Systems(对称信息和声誉系统)

1 Preamble(前言)

之前的几讲,我们都在声誉系统的边缘游走——BitTorrent参考客户端(Lecture 5)可以被看做是使用了一个原始的信誉系统;而信誉系统也出现在我们对众包系统的讨论中(Lecture 10)。在本讲座中,我们将直接探讨信誉系统。

信誉系统的历史可能和贸易本身的历史一样长。同时,信誉系统在也是在线平台的一个至关重要的成分,比如我们熟知的ebay,amazon,uber,airbnb,等等。

2 The Market for Lemons(柠檬市场/次品市场)

本讲的大部分内容旨在说明信誉系统到底是用来解决哪些问题的。

第一个问题称为**“adverse selection(逆向选择)”**问题。它显示了当市场的一侧(买方或卖方)比另一侧拥有更多有关产品价值的信息时,市场失灵是如何发生的。 我们首先讨论学术史上最著名的一个例子,然后将从中学到的经验教训与在线市场联系起来。

George Akerlof设计了以下故事,称为“The Market for Lemons”,以说明信息不对称的危险。这里的“Lemon”的意思其实不是柠檬,而是美国俚语中的“次品、“不中用的东西”,在这里指”快要报废的的二手车

假设有多个卖家,并且每个卖家要么有好二手车,要么有坏二手车。 每个卖家都知道自己的车好坏。 假设也有多个相同的买家——具体来说,假设买家多于卖家(这不是一个重要的假设)。

假设一辆好车对买方的价值为12,卖方的价值为10,而一辆坏车对买方的价值为6,对卖方的价值为4。 请注意,买家对所有汽车的估价都高于卖方,因此,我们想要的结果是以合理的价格出售所有汽车(好车在10到12之间,坏车在4到6之间)。

最简单的情况是,买家拥有与卖家一样多的信息——他们能辨别好车和坏车。 那么,可以预料的是,所有汽车都会卖出去,好车卖12,坏车卖6.(由于买家多于卖家,因此需求方面的竞争应将价格推高至买家愿意支付的最高价。 )

有趣且更现实的情况是,买家对汽车质量的信息少于卖家。 为了使故事尽可能简单,让我们假设所有汽车在购买者看来都是一样的。 因此,在购买汽车的时候,买到一辆好汽车的概率等于市场上好汽车的比例。 请注意,如果所有车看起来都是一样的,那么所有汽车的售价就应大致相同。

假设可能投放市场的汽车中有g∈[0,1]的比例是好车,并且每个人都知道g。 令h表示好车在实际出售的汽车中所占的比例(如果现行价格过低,卖方可以选择不出售其汽车)。例如,如果所有的坏车都投放市场,但是一些好车的卖家却拒绝出售他们的车子,则h <g。

那么,平衡时h的值是多少? 我们先通过直觉来考虑一下。 基本上,发生的交易对双方都有利,并且所有不在市场上的卖方都不愿进入。

一种可能是h =0。这意味着所有待售汽车都是坏车。 由于买主确认她要买的车是坏车,所以她最多愿意付出的价格为6。坏车的卖方可以通过以价格6出售自己的汽车而受益,因此,坏车的所有者都不会退出市场。 好车的卖方则相反:6的价格低于他能容忍的价格,因此他们不想进入市场。因此,从**self-reinforcing(自稳定性)**的意义上讲,h=0(价格为6)是一个平衡。 (无论g是多少,都是如此。)

我们也可能希望h=g构成一个平衡。这将取决于g的值。为了弄清楚这一点,请注意,如果买家知道售出的汽车中有比例为g的好车,那么买家愿意支付的价格就是
12 g + 6 ( 1 − g ) = 6 + 6 g 12g + 6(1 - g) = 6 + 6g 12g+6(1−g)=6+6g
(为简单起见,我们假设买主只关心期望值。)正如期望的那样,支付意愿在6到12之间插值,与好车的比例成线性关系。 卖家愿意接受6+6g的价格吗?拥有好车(价格为10)的卖家将在且仅当其至少为10时(即且仅当g≥2/3时)接受此价格。显然,拥有坏车的卖家会欣喜若狂地以这样的价格出售他的车。

因此,在有很多好车(g≥2/3)的情况下,h=g的情况也是一个平衡点(价格为6+6g),且所有交易使双方都满意,没有卖方愿意退出市场 。有趣的是,出现了两个非常不同的平衡点,每个平衡点都是自稳定的。如果所有买家都认为只有劣质的汽车,因此给出很低的报价,那么,实际上没有好车的卖家会参加。但是,如果所有买家都认为所有好车都在市场上并因此愿意提供更高的报价,那么可以肯定的是,所有好车都将在市场上出售。无论哪种情况,购买者的信念都是一种自我实现(self-fulfilling)的预言。

在仅有少量好车的情况下(g<2/3),价格6+6g<10的价格太低而无法被好车的车主接受,因此它们将退出市场。 因此,在这种情况下,h=0是唯一的平衡点。从市场结果不是帕累托最优的意义上讲,这是“市场失灵”。 (由于买主比卖主更看重汽车,因此要使帕累托最优,唯一的方法就是卖掉所有的汽车,否则,存在互利互惠的交易未得到执行。)

这种特定类型的市场失灵称为逆向选择罪魁祸首是信息不对称——市场上的商品具有不同的质量,但只有市场的一侧知道质量是什么。结果是只有低质量的商品留在市场上(价格低廉)。因此,市场不幸地选择了最差的商品。

情况甚至可能变得更糟。假设除了好车和坏车之外,还混入了“lemon(破烂)“(对买卖双方的价值均为0)。假设最初好车/坏车/破烂的比例为(所有人都知道)1:1:1。 如果所有汽车都投放市场,那么现行价格将是6。如此低的价格会使所有好车的卖家都退出市场——这进一步压低了售价:坏车和破烂之间的比例为1:1,这样买家只愿意为一辆车支付3。在这个价格下,即使是坏车的卖家也将退出,从而留下一个仅由破烂组成的破烂市场。

3 Asymmetric Information and Adverse Selection(非对称信息和逆向选择)

3.1 More Examples

触发逆向选择的关键因素是信息的不对称,这是因为市场的两端对所售商品的价值具有不同的信息。结果是只有最低价值的产品保留在市场上。

逆向选择有许多著名的例子。例如,考虑一下健康保险市场。在这个市场中,所售商品是保健政策。卖方是保险公司,买方是个人。货物对买方的价值(以及卖方的成本)是保险公司需要偿还的医疗费用的预期金额。谁拥有更多信息,买方还是卖方?通常,与保险公司相比,购买者(即个人)对自己的健康状况有更好的了解。(请注意,这与柠檬市场是相反的)如果保险公司无法区分不同的个人的健康状况,则它必须向每个人提供相同价格的保险。在给定的价格下,获得最大价值的买家正是那些最不健康的人。也就是说,如果有50%的人口购买健康保险,那么它将是人口中健康状况最低的一半。知道这一点,保险公司必须向健康保险收取更多费用。但是,这驱使更多的人退出市场(剩下的人里面最健康的人),这进一步推高了价格,依此类推。在极端情况下,逆向选择的最终结果是医疗保险的价格很高,只有非常不健康的人购买它。实施全民医疗保健制度的原因之一正是要减轻这种逆向选择问题——如果所有人都强制购买医疗保险(尤其是健康人),那么医疗保险的成本就会降低。

另一个著名的例子是劳动力市场。在这里,买主是公司,卖主是工人,商品是工人。可以想象,有些工人比其他工人生产力更高,因此对一家公司而言更有价值。就像在柠檬市场上一样,在这里,个人通常比公司更好地了解商品的价值(即他们自己的生产力)。在极端情况下,如果公司根本无法区分不同的工人,那么它就必须向所有工人支付相同的工资。这可能导致生产能力最高的工人退出(他们可能通过保持独立而赚取比普通工资更多的钱),进而压低公司愿意支付的工资,从而导致更多工人退出(剩下的最有生产力的人),等等。最终的结果是,只剩下低生产率和低工资的市场。

举一个更加接近这门课程范围的例子:在线广告市场,例如出售搜索引擎的结果页面上的赞助链接的市场。在这个市场中,卖方是广告商,所售商品是各个赞助链接的点击量。买家是搜索引擎的用户。点击赞助商链接对应于购买商品。(对买方而言)商品的价值与链接的目标网页的质量相对应。请注意,搜索引擎本身既不是买方也不是卖方,它只是交易的平台,并且它以对每次点击收取付款的形式收取交易费。在这里,非对称信息再次出现了。与购买者相比,广告主更了解自己的目标网页的质量。如果买方无法区分高质量和低质量的广告(并且搜索引擎没有进行区分),那么她的点击倾向将由平均广告质量决定。如果高质量的广告受到这样的对待,就可能导致市场上高质量的广告退出。这降低了平均广告质量,从而降低了用户点击广告的倾向,从而降低了搜索引擎的收入。最终结果将是广告变成了纯粹的点击诱饵,但用户几乎从不点击广告。(译者注:不觉得这和现在中国大部分网站上的广告的状况很像吗——网页上充斥着大量的垃圾广告和虚假宣传,而用户在上当数次之后就对广告失去了兴趣。)

3.2 Mitigating Adverse Selection(缓解逆向选择)

如果逆向选择是由不对称信息驱动的,那么一个显然的解决方案就是通过公开更多有关所售商品价值的信息来减少信息的不对称。这使得高质量的卖方或买方有能力将自己与质量较低的买方和卖方区分开。让我们考虑一下这个方法能够如何应用于上述示例中。

在柠檬市场上,优质汽车的卖家必须能够脱颖而出。一种方法是让汽车质量由受信任的第三方(例如,经过适当认证的机械师)验证。另一种方法是提供保修(在给定的时间范围内由卖方包揽所有的维修事宜)。由于劣质汽车的卖方提供保修的预期成本比优质汽车的卖方高得多,因此保修是汽车质量的可靠信号。

在劳动力市场上,高生产率的工人需要向公司展现自己的优秀之处。教育可以被视为做到这一点的一种方式。假设工人的生产力与在学校的良好表现之间存在正相关,(当然,这是一个不完美的假设)那么,对于生产工人来说,获得学位的成本要比非生产工人低,而且前者可以通过获得更多的学术学位来表明他们可能的生产率。根据这样的区别,企业便可以向受过更高等教育的工人支付更高的工资。关键是,教育不仅具有许多直接的好处(学习很多新的思想和技能,结识很多新朋友等),而且,即使与这些好处无关,教育也可以被解释为劳动力市场中缓解逆向选择的一个手段。

最后,在在线广告中,搜索引擎的明智做法是精确估算各种广告的质量,并将该信息展现给用户(例如,通过为质量最高的广告提供最突出的展示位置)。例如,谷歌就已经做了很多年这样的事情。这样做的好处包括:高素质的广告客户会留在市场中(即,逆向选择得到缓解);用户继续以正常的频率点击广告,并且搜索引擎可以通过收集其点击数据来更加精确地投放定向广告;搜索引擎未来的搜索广告收入也能够得到保障。

既然我们已经理解了什么是逆向选择,我们就可以将信誉系统看做为缓解逆向选择的一种机制。一个很好的例子是大众点评。假设不存在餐厅评论制度,那么,食客往往无法通过实际尝试来区分餐厅的质量(只有餐厅自己知道自己的食品质量)。这样,用餐者只愿意为一顿饭支付平均的价格,而这可能不足以让高品质的餐馆继续营业(一般来说,高质量的餐厅付出的成本更高)。当高质量的餐厅退出时,食客只会为用餐付出更少的费用。最终的结果就是——唯一能够保持营业的餐厅是最便宜和最差的餐厅。大众XX(没给广告费)通过评论把餐厅质量的相关信息传递给购买者,从而减少了信息的不对称性,避免了礼崩乐坏的可怕后果。

4 More Hazard(更多的风险)

在柠檬市场上,卖坏车的人不是坏人——她只是没有好车。在这种模式下,坏车的销售商不能打个响指就把汽车从坏的变为好的。逆向选择,在这种最纯粹的形式下,并非由任何人故意造成的有害行为引起的。

考虑其他在线市场,例如eBay和Amazon,我们可以看到,减少逆向选择并不是信誉系统的最重要目标。例如,在eBay中,问题并不在于某些卖家天生就没有优质的产品,而在于有些卖家为了自己的个人利益而选择敲诈买家。与柠檬市场相比,这个问题更像是囚徒困境(第5章),而且它有自己的名字:moralhazard(道德风险)

**简单地说,道德风险是指采取对他人有害的行动的动机。**更加形式化地说,它是指一项成本不完全由决策者承担的行动。道德风险也可以被认为是信息不对称带来的问题,决策者知道她可以采取一些比其他人更好的措施。

让我们看看在我们刚刚举出的例子中会产生怎样的道德风险。在健康保险市场上,我们之前假设每个人的健康水平都是一成不变的。但是事实上一个人的行为会影响他的健康。如果这个人必须承担医疗的全部费用,那么他就有很大的动力去保持健康。但是,如果这笔费用主要由保险公司承担,那么保持健康的动力就会减少。同样的,在劳动力市场上,我们讨论里的工人的生产率水平好像是与生俱来的,但是,事实上工人可以控制自己所付出的努力和随之带来的生产率水平。工人付出的努力越多,生产率就越高。但是,如果付出努力的成本很高,而企业无法直接观察到它(因此无法根据努力水平来补偿工人),那么工人努力工作的动力就会下降(在这种情况下,不努力工作的成本在很大程度上由公司而不是工人承担)。像eBay这样的在线平台上,卖方面临的道德风险问题是在收到买方付款后是否履行交易义务。如果没有恰当的惩罚机制,购买者受到敲诈的成本将由购买者而不是决策者(出售者)承担。

减轻道德风险问题的一种自然方法是公开有关决策者采取的行动的更多信息。这使得根据历史行为区别决策者的善恶成为课程,并且提供了惩罚机制的杠杆。这才是在线平台(例如eBay或Amazon)中信誉系统的主要目的。

在许多情境中,逆向选择和道德风险都会同时(blend)出现。例如,考虑一下Airbnb(爱彼迎)中的信誉系统。通过提前查看卖家的信息,买家可以减少不利的选择,因为如果没有这些信息,卖家会比买家远远地更了解自己的住宿质量。这也减轻了一些道德风险问题,例如,如果某些租房者开了场party,糟蹋了他们租用的公寓,那么他们将获得负面的评价,并且未来可能会被其他卖家拒绝提供服务。

5 Reputation in the Repeated Prisoner’s Dilemma(重复博弈囚徒困境中的声誉机制)

在第五讲中提到的“重复博弈囚徒困境”提供了一个很好的观察声誉机制如何在减缓道德风险问题中起作用的方式。

5.1 Review of Repeated Prisoner’s Dilemma(回顾重复博弈囚徒困境)

首先,我们来回顾一下重复博弈囚徒困境:

https://blog.csdn.net/ldc1513/article/details/113787946,第3节

关键词:GT,TFT,贴现率讨论

5.2 存在n个参与者的重复博弈囚徒困境

在像eBay这样的在线平台上,参与者成对进行交易(一个买家和一个卖家),但是系统中有两个以上的参与者。这是重复犯人困境的自然扩展,这种情况涉及n名玩家(n很大):

重复

​ —选择两个随机玩家进行囚徒困境博弈(支付矩阵如下所示)

​ —这两个玩家的行动可以被所有玩家观察到

玩家可以再次参考对手过去的行为做出反应,从而实施GT或TFT等策略。因此,在新版本的GT中,玩家只有当其对手在过去的某个时刻(可能是与其他玩家对战)背叛时才会出现选择背叛。在TFT中,当且仅当她的对手在上次比赛中出现背叛,玩家才会选择背叛。

从玩家的视角来看,多人重复博弈的收益和单人时其实是一样的(没轮到自己的轮次对自己的利益没有任何影响),因此同样有γ≥1/2的时候,所有人都使用TFT/GT是一个Nash均衡。

玩家选择的动作必须被所有其他玩家观察到,这一点很重要。如果玩家仅观察自己进行过的博弈中的双方行为,那么他将在下次见面之前没有机会惩罚对手。由于她的对手在此期间的期望是进行n个阶段的博弈,因此付出的背叛成本减少到了γ^n 。因此,需要将“γ≥1/2”的假设更改为“γ^n≥12”,这意味着贴现率需要在1-1/n左右。因此,当n大时,折现率会很高。

译者注:现实中的情况也确实如此——在信息化之前,如果你某天打车的时候司机绕了路,你也没有办法在下次坐车的时候惩罚他(让他不要绕路),因为在茫茫人海中坐到同一辆出租车的概率真是少之又少。但是信息化时代引入的评论系统有效地缓解了这个问题。

我们可以从声誉的角度解释在n人囚徒困境中进行合作的动机。所有人都可以观察到其它人的行为的假设相当于一个实施良好的信誉系统。(回想一下信誉系统的主要作用之一就是公开信息)例如,使用GT策略,我们可以将玩家的声誉视为“良好”(如果她过去从未背叛过)或“不好”(如果有的话)。采用TFT策略,玩家的声望会根据最近的行为在好与坏之间切换。不过,所有人在一开始都具有好的声誉。

5.3 Whitewashing(洗白)

在第10讲中我们谈到了Sybil攻击,在其中一个用户通过创建多个身份来发动攻击。在某些系统(例如使用虚拟名字(pseudonyms)的eBay)中,这种行为比其他系统(例如需要某种程度的身份验证的Airbnb)更容易发生。然而,当这种行为很容易执行时(例如在eBay中),不良的行为更易发生。例如,通过使用廉价的多重身份,当其他玩家执行GT或TFT的策略时,合作不再是在n人囚徒困境中的最佳反应。更好的策略(收益能够增加50%)是反复背叛,退出系统然后重新加入。该攻击正是利用了玩家最初被认为具有良好声誉的事实。

**退出然后重新加入系统的攻击称为洗白。**有多种防御洗白攻击的策,一种是增加获得多个身份的难度(例如,要求提供真实姓名,电话号码,身份证号等)。另一种是在人们加入时收取入场费。在n人囚徒困境中,当γ> 1/2时,收取价值2的入场费足以防御洗白攻击。

另一个办法是惩罚声誉系统内部的新成员。例如,我们可以允许玩家拥有三种声誉中的一种:“好”,“坏”和“新”(通常,我们假设系统知道哪些用户是新加入的)。预期的行为是使玩家背叛声誉为“坏”或“新”的人,并与声誉“好”的玩家合作。任何偏离此预期行为的玩家都将永远获得“坏”的声誉。这就是所谓的**pay-your-dues(行为预期付费)**策略。由于新来者总是处于不利地位,因此,如果所有其他参与者都在采用这种策略,那么最好的应对方法就是始终合作,而且不去洗白自己(假设γ> 1/2)。

5.4 Other Undesirable Behavior

能够廉价地获得多个身份还会引发了洗白之外的问题。

第一个问题是,可以通过创建大量身份,并让每两个身份之间进行交易的方式来建立良好的声誉。防御此攻击的策略包括:使得难以获得多个身份(如上所述),施加不平凡的交易成本(这样建立良好的声誉需要大量的成本)以及努力识别假帐户(基于用户行为或不同用户之间的互动方式)。

第二个问题是,用户可能会拒绝反馈或提交虚假的反馈。发生这种情况的较为温和的原因仅仅是人们在配置公共物品上动力不足(第6讲),因为提交反馈是具有成本的(至少要浪费时间),但成本仅由评估者承担,而受益者是所有的用户。可以想象,用户的贡献水平会低于最佳水平。以下的案例研究表明,还有一些更邪恶的造成用户拒绝或提供虚假反馈的原因。

6 The Evolution of eBay’s Reputation System(eBay声誉系统的演变)

eBay成立于1995年,在互联网时代几乎是史前时期。 例如,您猜想当时人们使用的是哪种Web浏览器? Google(更不用说Chrome)在1995年并不存在了。Firefox也不存在。 而Internet Explorer刚刚被发明。 这也在Paypal推出之前,因此许多买家使用通过蜗牛邮件发送的个人支票为商品付款。 关键是,互联网在eBay成立之初仍然是狂野的西部,如果eBay不仔细关注其推荐系统,就根本无法生存到现在。

在eBay中,买家对卖家进行评分,反之亦然。 但是并非所有在线市场都如此。 例如,在亚马逊中,买方可以对卖方和特定产品进行评级,但是卖方不能对买方进行评级。 鉴于在eBay成立之初,买卖双方直接进行交易(例如,买方可能寄出一张假支票),因此需要同时对买方进行评级。 但是,在亚马逊,所有付款都通过亚马逊的系统进行,因此可以更轻松地直接与流氓买家进行交易。

eBay上一个持续存在的问题是,买家的反馈意见严重偏向积极一侧。 例如,根据保守估计,不满意交易在eBay上的占比约为3.4%。但是,购买者留下的反馈实际上不到1%。为什么会这样?

一个棘手的问题是,双方的反馈是顺序报告还是同时报告。 在eBay使用的顺序报告策略下,一方做出的反馈会立即报告给另一方。 这增加了报复的可能性。收到负面反馈的卖方会立即对买方报复性地给出负面反馈。 而且,报复可能比留下负面反馈要糟得多:在美国,有报道称,有卖家给留下负面反馈的买家拨打威胁电话,甚至,在英国,出现了诽谤诉讼的情况。 几年前,eBay更改了信誉系统,卖方只能留下正面的反馈和对买方的评论,不能给出负面的反馈。

eBay还尝试了如何根据卖家的历史记录计算信誉得分的方法。 “percent positive(PP,积极百分比)”是eBay中使用的声誉度量标准,其定义为:
# 得到积极反馈的交易数量 # 总反馈数量  \frac{\# \text { 得到积极反馈的交易数量}}{\# \text {总反馈数量 }} #总反馈数量 # 得到积极反馈的交易数量​

听起来,PP达到98%非常好,对不对?但是事实上只有10%的卖方得到了低于98%的分数。

PP分数具有误导性,因为它忽略了没有给出反馈的那些交易。如果一个卖方的交易有很大一部分没有收到反馈,那么我们可以自然地假设这些交易中的一部分并不令人满意。这导致了“effective percent positive(EPP,有效积极百分比)”的出现:
# 得到积极反馈的交易数量 # 总交易数量 \frac{\# \text{得到积极反馈的交易数量}}{\# \text{总交易数量}} #总交易数量#得到积极反馈的交易数量​
并不令人震惊,EPP数据的分布比PP要广的多。不过,eBay并没有设置EPP数据为可见——说不准买方会怎么解读它们呢。而且,他们也不希望鼓励卖方与这个度量进行博弈。然而,事实上eBay在他们的搜索算法中使用的是EPP信息——EPP高的人排在前,EPP低的排在后。这个算法看起来相当有用——在实行了这个算法后,大量的用户成为了回头客。

CS269I:Incentives in Computer Science 学习笔记 Lecture 12 对称信息和声誉系统相关推荐

  1. CS269I:Incentives in Computer Science 学习笔记 Lecture 17 评分规则和同辈预测(诚实预报和反馈激励)

    Lecture 17 Scoring Rules and Peer Prediction(Incentivizing Honest Forecasts and Feedback)(评分规则和同辈预测( ...

  2. CS269I:Incentives in Computer Science 学习笔记 Lecture 13:Introduction to Auctions(拍卖简介)

    Lecture 13 Introduction to Auctions(拍卖简介) 1 Preamble(前言) 为什么计算机科学家要关心拍卖?直到最近(甚至可能仍然),提到拍卖,我们脑海中联想到的图 ...

  3. CS269I:Incentives in Computer Science 学习笔记 Lecture 16: Revenue-Maximizing Auctions(收入最大化拍卖)

    Lecture 16: Revenue-Maximizing Auctions(收入最大化拍卖) 1 Revenue Maximization and Bayesian Analysis 一直以来,我 ...

  4. CS269I:Incentives in Computer Science 学习笔记 Lecture 15 The VCG Mechanism(VCG机制)

    Lecture 15 The VCG Mechanism(VCG机制) 1 GSP vs VCG 作为本讲的开始,我们来证明上一讲中的一个重要结论: 回忆一下背景:有k个广告位,它们 的点击率排布为) ...

  5. CS269I:Incentives in Computer Science 学习笔记:Lecture 7 Selfish Routing(自利寻径网络超额配置)

    Lecture 7 Selfish Routing & Network Over-Provisioning(自利寻径&网络超额配置) 在这一讲,我们要讨论的是shorest-delay ...

  6. GAMES101 学习笔记 Lecture 1~6

    目录 GAMES101 学习笔记 Lecture 1~6 往期作业汇总帖 Lecture 01 Overview of Computer Graphics 笔记参考 其他教程 怎么判断一个画面是否优秀 ...

  7. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  8. springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题

    springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题 参考文章: (1)springboot学习笔记:12.解决springboot打成可执行jar在 ...

  9. ElasticSearch 6.x 学习笔记:12.字段类型

    ElasticSearch 6.x 学习笔记:12.字段类型 欢迎转载. https://blog.csdn.net/chengyuqiang/article/details/79048800 12. ...

最新文章

  1. 新的工作电脑 神州优雅A550-i7
  2. 电厂运维的cis数据_【面向运行人员的电站智能运维管家系统】
  3. 四、编译安装php-5.5.34
  4. 【Linux】一步一步学Linux——tty命令(240)
  5. LOD优化策略-通篇
  6. Moving Average
  7. AI+混合云模式,如何最大化挖掘数据价值?
  8. 战胜阿里和腾讯,Ripple已经获得200家跨境支付客户!
  9. mysql8基本操作
  10. 8-2 代码覆盖率和性能测试
  11. windows下执行tensorflow/models的代码显示No module named ‘object_detection‘
  12. WINCE 中常见的问题收集
  13. js-合并两个有序数组
  14. Java -- 定时任务实现方式
  15. Word:文档中如何批量删除参考文献的引文格式[1]、[2]...
  16. 工业相机镜头的视场角、焦距、光圈和景深的关系
  17. linux mtd 块设备,基于块设备子系统的MTD子系统(2.6.26)
  18. js写可以暂停的电子时钟
  19. SQLIntegrityConstraintViolationException: ORA-00001: unique constraint及sequence调整初始值
  20. JetBrains-License-Server

热门文章

  1. 书论76 吴德旋《初月楼论书随笔》
  2. 怎么在Windows电脑上阅读epub小说,小说阅读器推荐
  3. libxxx.so: file not recognized: File truncated 问题
  4. 大学计算机成绩统计表怎么做,成绩统计表.ppt
  5. 技能设计新手入门(架构参考用)
  6. JS 删除数组中某个元素的几种方式
  7. java获取系统日期_java怎么获取当前日期
  8. Java 应用开发与实践 快递打印系统
  9. Word2Vec【附代码】
  10. TensorFlow官方教程《Neural Networks and Deep Learning》译(第二章)