RESTful 入门知识

学习elasticsearch,看到REST接口,于是了解了一下REST,备忘记录一下

Elasticsearch是一个分布式的基于REST接口的为云而设计的搜索引擎

REST即Representational State Transfer的缩写,可译为”表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。 它是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件,它主要用于客户端和服务端交互类的软件。基于这个风格设计的软件可以更简介,更有层次,更易于实现缓存等机制。

RESTful架构风格最初由Roy T. Fielding(HTTP/1.1协议专家组负责人)在其2000年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。

作者:布莱恩特
链接:https://zhuanlan.zhihu.com/p/90367875
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

RESTful6大原则

REST之父Roy Fielding在论文中阐述REST架构的6大原则。

1. C-S架构

数据的存储在Server端,Client端只需使用就行。两端彻底分离的好处使client端代码的可移植性变强,Server端的拓展性变强。两端单独开发,互不干扰。

2. 无状态

http请求本身就是无状态的,基于C-S架构,客户端的每一次请求带有充分的信息能够让服务端识别。请求所需的一些信息都包含在URL的查询参数、header、body,服务端能够根据请求的各种参数,无需保存客户端的状态,将响应正确返回给客户端。无状态的特征大大提高的服务端的健壮性和可拓展性。

当然这总无状态性的约束也是有缺点的,客户端的每一次请求都必须带上相同重复的信息确定自己的身份和状态(这也是必须的),造成传输数据的冗余性,但这种确定对于性能和使用来说,几乎是忽略不计的。

3.统一的接口

这个才是REST架构的核心,统一的接口对于RESTful服务非常重要。客户端只需要关注实现接口就可以,接口的可读性加强,使用人员方便调用。

4.一致的数据格式

服务端返回的数据格式要么是XML,要么是Json(获取数据),或者直接返回状态码,有兴趣的可以看看博客园的开放平台的操作数据的api,post、put、patch都是返回的一个状态码 。

自我描述的信息,每项数据应该是可以自我描述的,方便代码去处理和解析其中的内容。比如通过HTTP返回的数据里面有 [MIME type ]信息,我们从MIME type里面可以知道数据的具体格式,是图片,视频还是JSON,客户端通过body内容、查询串参数、请求头和URI(资源名称)来传送状态。服务端通过body内容,响应码和响应头传送状态给客户端。这项技术被称为超媒体(或超文本链接)。

除了上述内容外,HATEOS也意味着,必要的时候链接也可被包含在返回的body(或头部)中,以提供URI来检索对象本身或关联对象。下文将对此进行更详细的阐述。

如请求一条微博信息,服务端响应信息应该包含这条微博相关的其他URL,客户端可以进一步利用这些URL发起请求获取感兴趣的信息,再如分页可以从第一页的返回数据中获取下一页的URT也是基于这个原理。

4.系统分层

客户端通常无法表明自己是直接还是间接与端服务器进行连接,分层时同样要考虑安全策略。

5.可缓存

在万维网上,客户端可以缓存页面的响应内容。因此响应都应隐式或显式的定义为可缓存的,若不可缓存则要避免客户端在多次请求后用旧数据或脏数据来响应。管理得当的缓存会部分地或完全地除去客户端和服务端之间的交互,进一步改善性能和延展性。

6.按需编码、可定制代码(可选)

服务端可选择临时给客户端下发一些功能代码让客户端来执行,从而定制和扩展客户端的某些功能。比如服务端可以返回一些 Javascript 代码让客户端执行,去实现某些特定的功能。 提示:REST架构中的设计准则中,只有按需编码为可选项。如果某个服务违反了其他任意一项准则,严格意思上不能称之为RESTful风格。

RESTful架构风格的特点

1.1.1 资源

所谓”资源”,就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。资源总要通过某种载体反应其内容,文本可以用txt格式表现,也可以用HTML格式、XML格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现;JSON是现在最常用的资源表示格式。

结合我的开发实践,我对资源和数据理解如下:

资源是以json(或其他Representation)为载体的、面向用户的一组数据集,资源对信息的表达倾向于概念模型中的数据:

  • 资源总是以某种Representation为载体显示的,即序列化的信息
  • 常用的Representation是json(推荐)或者xml(不推荐)等
  • Represntation 是REST架构的表现层

相对而言,数据(尤其是数据库)是一种更加抽象的、对计算机更高效和友好的数据表现形式,更多的存在于逻辑模型中

资源和数据关系如下:

resource vs data

1.1.2 统一接口

RESTful架构风格规定,数据的元操作,即CRUD(create, read, update和delete,即数据的增删查改)操作,分别对应于HTTP方法:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源,这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作。

即:

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。
  • DELETE(DELETE):从服务器删除资源。

1.1.3 URI

可以用一个URI(统一资源定位符)指向资源,即每个URI都对应一个特定的资源。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或识别符。

一般的,每个资源至少有一个URI与之对应,最典型的URI即URL。

1.1.4 无状态

所谓无状态的,即所有的资源,都可以通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变。有状态和无状态的区别,举个简单的例子说明一下。如查询员工的工资,如果查询工资是需要登录系统,进入查询工资的页面,执行相关操作后,获取工资的多少,则这种情况是有状态的,因为查询工资的每一步操作都依赖于前一步操作,只要前置操作不成功,后续操作就无法执行;如果输入一个url即可得到指定员工的工资,则这种情况是无状态的,因为获取工资不依赖于其他资源或状态,且这种情况下,员工工资是一个资源,由一个url与之对应,可以通过HTTP中的GET方法得到资源,这是典型的RESTful风格。

作者:布莱恩特
链接:https://zhuanlan.zhihu.com/p/90367875
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

RESTful的7个最佳实践

1. 版本

如github开放平台 https://developer.github.com/v3/
就是将版本放在url,简洁明了,这个只有用了才知道,一般的项目加版本v1,v2,v3?好吧,这个加版本估计只有大公司大项目才会去使用,说出来不怕尴尬,我真没用过。有的会将版本号放在header里面,但是不如url直接了当。

举例

https://example.com/api/v1/

2.参数命名规范

query parameter可以采用驼峰命名法,也可以采用下划线命名的方式,推荐采用下划线命名的方式,据说后者比前者的识别度要高,可能是用的人多了吧,因人而异,因团队规范而异吧。

举例

https://example.com/api/users/today_login 获取今天登陆的用户 
https://example.com/api/users/today_login&sort=login_desc 获取今天登陆的用户、登陆时间降序排列

3.url命名规范

API 命名应该采用约定俗成的方式,保持简洁明了。在RESTful架构中,每个url代表一种资源所以url中不能有动词,只能有名词,并且名词中也应该使用复数。实现者应使用相应的Http动词GET、POST、PUT、PATCH、DELETE、HEAD来操作这些资源即可

不规范的的url,冗余没有意义,形式不固定,不同的开发者还需要了解文档才能调用。

举例

https://example.com/api/getallUsers GET 获取所有用户 
https://example.com/api/getuser/1 GET 获取标识为1用户信息 
https://example.com/api/user/delete/1 GET/POST 删除标识为1用户信息 
https://example.com/api/updateUser/1 POST 更新标识为1用户信息 
https://example.com/api/User/add POST 添加新的用户

规范后的RESTful风格的url,形式固定,可读性强,根据users名词和http动词就可以操作这些资源

举例

https://example.com/api/users GET 获取所有用户信息 
https://example.com/api/users/1 GET 获取标识为1用户信息 
https://example.com/api/users/1 DELETE 删除标识为1用户信息 
https://example.com/api/users/1 Patch 更新标识为1用户部分信息,包含在body中 
https://example.com/api/users POST 添加新的用户

4. 统一返回数据格式

对于合法的请求应该统一返回数据格式,这里演示的是json

  • code——包含一个整数类型的HTTP响应状态码。
  • status——包含文本:”success”,”fail”或”error”。HTTP状态响应码在500-599之间为”fail”,在400-499之间为”error”,其它均为”success”(例如:响应状态码为1XX、2XX和3XX)。这个根据实际情况其实是可要可不要的。
  • message——当状态值为”fail”和”error”时有效,用于显示错误信息。参照国际化(il8n)标准,它可以包含信息号或者编码,可以只包含其中一个,或者同时包含并用分隔符隔开。
  • data——包含响应的body。当状态值为”fail”或”error”时,data仅包含错误原因或异常名称、或者null也是可以的

举例

返回成功的响应json格式

{
  "code": 200,
  "message": "success",
  "data": {
    "userName": "123456",
    "age": 16,
    "address": "beijing"
  }
}

返回失败的响应json格式

{
  "code": 401,
  "message": "error  message",
  "data": null
}

下面这个ApiResult的泛型类是在项目中用到的,拓展性强,使用方便。返回值使用统一的 ApiResult 或 ApiResult 错误返回 使用 ApiResult.Error 进行返回; 成功返回,要求使用 ApiResult.Ok 进行返回

public class ApiResult: ApiResult
    {
        public new static ApiResult<T> Error(string message)
        {
            return new ApiResult<T>
            {
                Code = 1,
                Message = message,
            };
        }
        [JsonProperty("data")]
        public T Data { get; set; }
    }
    public class ApiResult
    {
        public static ApiResult Error(string message)
        {
            return new ApiResult
            {
                Code = 1,
                Message = message,
            };
        }

        public static ApiResult<T> Ok<T>(T data)
        {
            return new ApiResult<T>()
            {
                Code = 0,
                Message = "",
                Data = data
            };
        }
        /// <summary>
        /// 0 是 正常 1 是有错误
        /// </summary>
        [JsonProperty("code")]
        public int Code { get; set; }
        [JsonProperty("msg")]
        public string Message { get; set; }

        [JsonIgnore]
        public bool IsSuccess => Code == 0;
    }

5. http状态码

在之前开发的xamarin android博客园客户端的时候,patch、delete、post操作时body响应里面没有任何信息,仅仅只有http status code。HTTP状态码本身就有足够的含义,根据http status code就可以知道删除、添加、修改等是否成功。(ps:有点linux设计的味道哦,没有返回消息就是最好的消息,表示已经成功了)服务段向用户返回这些状态码并不是一个强制性的约束。简单点说你可以指定这些状态,但是不是强制的。常用HTTP状态码对照表 HTTP状态码也是有规律的

  • 1**请求未成功
  • 2**请求成功、表示成功处理了请求的状态代码。
  • 3**请求被重定向、表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
  • 4** 请求错误这些状态代码表示请求可能出错,妨碍了服务器的处理。
  • 5**(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。

6. 合理使用query parameter

在请求数据时,客户端经常会对数据进行过滤和分页等要求,而这些参数推荐采用HTTP Query Parameter的方式实现

比如设计一个最近登陆的所有用户
https://example.com/api/users?recently_login_day=3
搜索用户,并按照注册时间降序
https://example.com/api/users?recently_login_day=3
搜索用户,并按照注册时间升序、活跃度降序
https://example.com/api/users?q=key&sort=create_title_asc,liveness_desc
关于分页,看看博客园开放平台分页获取精华区博文列表
https://api.cnblogs.com/api/blogposts/@picked?pageIndex={pageIndex}&pageSize={pageSize} 
返回示例: 
[ 
{ 
“Id”: 1, 
“Title”: “sample string 2”, 
“Url”: “sample string 3”, 
“Description”: “sample string 4”, 
“Author”: “sample string 5”, 
“BlogApp”: “sample string 6”, 
“Avatar”: “sample string 7”, 
“PostDate”: “2017-06-25T20:13:38.892135+08:00”, 
“ViewCount”: 9, 
“CommentCount”: 10, 
“DiggCount”: 11 
}, 
{ 
“Id”: 1, 
“Title”: “sample string 2”, 
“Url”: “sample string 3”, 
“Description”: “sample string 4”, 
“Author”: “sample string 5”, 
“BlogApp”: “sample string 6”, 
“Avatar”: “sample string 7”, 
“PostDate”: “2017-06-25T20:13:38.892135+08:00”, 
“ViewCount”: 9, 
“CommentCount”: 10, 
“DiggCount”: 11 
} 
]

7. 多表、多参数连接查询如何设计URL

这是一个比较头痛的问题,在做单个实体的查询比较容易和规范操作,但是在实际的API并不是这么简单而已,这其中常常会设计到多表连接、多条件筛选、排序等。 比如我想查询一个获取在6月份的订单中大于500元的且用户地址是北京,用户年龄在22岁到40岁、购买金额降序排列的订单列表

https://example.com/api/orders?order_month=6&order_amount_greater=500&address_city=北京&sort=order_amount_desc&age_min=22&age_max=40

从这个URL上看,参数众多、调用起来还得一个一个仔细对着,而且API本身非常不容易维护,命名看起来不是很容易,不能太长,也不能太随意。

在.net WebAPI总我们可以使用属性路由,属性路由就是讲路由附加到特定的控制器或操作方法上装饰Controll及其使用[Route]属性定义路由的方法称为属性路由。

这种好处就是可以精准地控制URL,而不是基于约定的路由,简直就是为这种多表查询量身定制似的的。 从webapi 2开发,现在是RESTful API开发中最推荐的路由类型。 我们可以在Controll中标记Route

[Route(“api/orders/{address}/{month}”)]

Action中的查询参数就只有金额、排序、年龄。减少了查询参数、API的可读性和可维护行增强了。

https://example.com/api/orders/beijing/6?order_amount_greater=500&sort=order_amount_desc&age_min=22&age_max=40

这种属性路由比如在博客园开放的API也有这方面的应用,如获取个人博客随笔列表

请求方式:GET 
请求地址:https://api.cnblogs.com/api/blogs/{blogApp}/posts?pageIndex={pageIndex} 
(ps:blogApp:博客名)

认证机制

stateless-auth

由于RESTful风格的服务是无状态的,认证机制尤为重要。例如上文提到的员工工资,这应该是一个隐私资源,只有员工本人或其他少数有权限的人有资格看到,如果不通过权限认证机制对资源做一层限制,那么所有资源都以公开方式暴露出来,这是不合理的,也是很危险的。

认证机制解决的问题是,确定访问资源的用户是谁;权限机制解决的问题是,确定用户是否被许可使用、修改、删除或创建资源。权限机制通常与服务的业务逻辑绑定,因此权限机制需要在每个系统内部定制,而认证机制基本上是通用的,常用的认证机制包括 session auth(即通过用户名密码登录),basic authtoken authOAuth,服务开发中常用的认证机制为后三者。

2.1 Basic Auth

HTTP Basic authentication (BA) implementation is the simplest technique for enforcing access controls to web resources because it doesn’t require cookies, session identifier and login pages. Rather, HTTP Basic authentication uses static, standard fields in the HTTP header which means that no handshakes have to be done in anticipation.

Visit Wikipedia To Read More

简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避免采用Basic Auth

2.2 Token Auth

Token Auth并不常用,它与Basic Auth的区别是,不将用户名和密码发送给服务器做用户认证,而是向服务器发送一个事先在服务器端生成的token来做认证。因此Token Auth要求服务器端要具备一套完整的Token创建和管理机制,该机制的实现会增加大量且非必须的服务器端开发工作,也不见得这套机制足够安全和通用,因此Token Auth用的并不多。

本文不在展开介绍Token Auth,我个人对这套机制也了解有限,有兴趣了解这套机制的同学不妨从Stack Overflow上的这篇讨论入手。

2.3 OAuth

OAuth is an open standard for authorization. OAuth provides client applications a ‘secure delegated access’ to server resources on behalf of a resource owner. It specifies a process for resource owners to authorize third-party access to their server resources without sharing their credentials. Designed specifically to work with Hypertext Transfer Protocol (HTTP), OAuth essentially allows access tokens to be issued to third-party clients by an authorization server, with the approval of the resource owner. The client then uses the access token to access the protected resources hosted by the resource server. OAuth is commonly used as a way for Internet users to log into third party websites using their Microsoft, Google, Facebook or Twitter accounts without exposing their password.

OAuth is a service that is complementary to and distinct from OpenID. OAuth is also distinct from OATH, which is a reference architecture for authentication, not a standard for authorization. However, OAuth is directly related to OpenID Connect (OIDC) since OIDC is an authentication layer built on top of OAuth 2.0.

Visit Wikipedia To Read More

OAuth(开放授权)是一个开放的授权标准,允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的第三方系统(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。

为什么要使用REST风格呢?

肯定是因为它的优点,所以才选择使用它呀。因此现在先介绍它的优点,

要介绍它的优点又要提到它的六个限制,我看其他答案只提到了限制,但是没有写限制的好处,在这里我列出限制和它的好处:

1.客户-服务器(Client-Server)客户端服务器分离

优点,提高用户界面的便携性(操作简单)

通过简化服务器提高可伸缩性(高性能,低成本)

允许组件分别优化(可以让服务端和客户端分别进行改进和优化)

2.无状态(Stateless)

从客户端的每个请求要包含服务器所需要的所有信息

优点:

提高可见性(可以单独考虑每个请求)

提高了可靠性(更容易从局部故障中修复)

提高可扩展性(降低了服务器资源使用)

3.缓存(Cachable)

服务器返回信息必须被标记是否可以缓存,如果缓存,客户端可能会重用之前的信息发送请求。

优点:

减少交互次数

减少交互的平均延迟

4.分层系统(Layered System)

系统组件不需要知道与他交流组件之外的事情。封装服务,引入中间层。

优点:

限制了系统的复杂性

提高可扩展性

5.统一接口(Uniform Interface)

优点:

提高交互的可见性

鼓励单独改善组件

6.支持按需代码(Code-On-Demand 可选)

优点:

提高可扩展性

Restful风格API 设计指南

RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。

个人对restful风格API的理解即遵循restful风格和期设计原则设计的API

【以下摘至 RESTful API 设计指南 – 阮一峰的网络日志

一、协议

API与用户的通信协议,总是使用HTTPs协议

二、域名

应该尽量将API部署在专用域名之下。

https://api.example.com

如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。

https://example.org/api/

三、版本(Versioning)

应该将API的版本号放入URL。

https://api.example.com/v1/

另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。

四、路径(Endpoint)

路径又称”终点”(endpoint),表示API的具体网址。

在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的”集合”(collection),所以API中的名词也应该使用复数。

举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。

https://api.example.com/v1/zoos

https://api.example.com/v1/animals

https://api.example.com/v1/employees

五、HTTP动词

对于资源的具体操作类型,由HTTP动词表示。

常用的HTTP动词有下面五个(括号里是对应的SQL命令)。

GET(SELECT):从服务器取出资源(一项或多项)。

POST(CREATE):在服务器新建一个资源。

PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。

PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。

DELETE(DELETE):从服务器删除资源。

还有两个不常用的HTTP动词。

HEAD:获取资源的元数据。

OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

下面是一些例子。

GET /zoos:列出所有动物园

POST /zoos:新建一个动物园

GET /zoos/ID:获取某个指定动物园的信息

PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)

PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)

DELETE /zoos/ID:删除某个动物园

GET /zoos/ID/animals:列出某个指定动物园的所有动物

DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

六、过滤信息(Filtering)

如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。

下面是一些常见的参数。

?limit=10:指定返回记录的数量

?offset=10:指定返回记录的开始位置。

?page=2&per_page=100:指定第几页,以及每页的记录数。

?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。

?animal_type_id=1:指定筛选条件

参数的设计允许存在冗余,即允许API路径和URL参数偶尔有重复。比如,GET /zoo/ID/animals 与 GET /animals?zoo_id=ID 的含义是相同的。

七、状态码(Status Codes)

服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词)。

200 OK – [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。

201 CREATED – [POST/PUT/PATCH]:用户新建或修改数据成功。

202 Accepted – [*]:表示一个请求已经进入后台排队(异步任务)

204 NO CONTENT – [DELETE]:用户删除数据成功。

400 INVALID REQUEST – [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。

401 Unauthorized – [*]:表示用户没有权限(令牌、用户名、密码错误)。

403 Forbidden – [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。

404 NOT FOUND – [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。

406 Not Acceptable – [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。

410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。

422 Unprocesable entity – [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。

500 INTERNAL SERVER ERROR – [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

状态码的完全列表参见这里

八、错误处理(Error handling)

如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。

{error:”Invalid API key”}

九、返回结果

针对不同操作,服务器向用户返回的结果应该符合以下规范。

GET /collection:返回资源对象的列表(数组)

GET /collection/resource:返回单个资源对象

POST /collection:返回新生成的资源对象

PUT /collection/resource:返回完整的资源对象

PATCH /collection/resource:返回完整的资源对象

DELETE /collection/resource:返回一个空文档

十、Hypermedia API

RESTful API最好做到Hypermedia,即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么。

比如,当用户向api.example.com的根目录发出请求,会得到这样一个文档。

{“link”:

    {“rel”:”collectionhttps://www.example.com/zoos“,

      “href”:”https://api.example.com/zoos“,

      “title”:”List of zoos”,

      “type”:”application/vnd.yourformat+json”

}}

上面代码表示,文档中有一个link属性,用户读取这个属性就知道下一步该调用什么API了。rel表示这个API与当前网址的关系(collection关系,并给出该collection的网址),href表示API的路径,title表示API的标题,type表示返回类型。

Hypermedia API的设计被称为HATEOAS。Github的API就是这种设计,访问api.github.com会得到一个所有可用API的网址列表。

{

“current_user_url”:”https://api.github.com/user“,

“authorizations_url”:”https://api.github.com/authorizations“,

// …

}

从上面可以看到,如果想获取当前用户的信息,应该去访问api.github.com/user,然后就得到了下面结果。

{

“message”:”Requires authentication”,

“documentation_url”:”https://developer.github.com/v3

}

上面代码表示,服务器给出了提示信息,以及文档的网址。

十一、其他

(1)API的身份认证应该使用OAuth 2.0框架。

(2)服务器返回的数据格式,应该尽量使用JSON,避免使用XML。

作者:Fairy_妍
链接:https://www.jianshu.com/p/73d2415956bd
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

读书:《 孩子看的编程启蒙书(第1辑,共4册)》

稍微空闲一点,手上正好有《 孩子看的编程启蒙书》,那就翻来看一看吧

怎么只有三本了,第4本不知道跑到哪去了

买的书太多,下次找找估计出来了

一上来就说算法,感觉还比较新颖,这也算是让小朋友从开始就认识到算法了

流程图这一册,还是不错的

每一册确实是用小朋友熟悉的例子引入新的概念,浅显易懂

大篇幅的图画,少量的文字,对于成人来说翻翻只是十来分钟的事情

算法是解决问题、实现目标的方法。 每当想做一件事(目的)时,我们都会思考该怎么做(方法),这里的方法,就是算法。算法要解决的是:按什么顺序,做什么事情。

编程:思考算法,指挥计算机去做做的事情 。是为了指挥计算机实现特定的目标,用字母和符号来编写程序。

过水洼的不同办法,就是不同的算法。

排序算法:冒泡排序,选择排序,插入排序

检索算法:二分检索,线性检索

流程图:用线条和箭头把写有文字的指令框连接起来

算法的三种基本结构 :顺序结构,条件结构,循环结构

二流文青的鄙视链自嗨,迟早被真香定律暴打

二流文青的鄙视链自嗨,迟早被真香定律暴打

在这个世界上,

大多数愚蠢里,

含有假装和弄假成真的成分。

——作家·王小波

逝于1997年4月11日

代表作品:《沉默的大多数》

……

01.
《晓说》最后一季,大紧讲《三体》花了整整四集。第一集便说这本巨著是他近10年读过的最伟大的中文小说。实际上最早他读到40页就读不下去了,实在没瞧出好来。

 

首先文字水平上,就觉得很一般,无美感。此后每与人搓饭,听各路豪杰谈起《三体》滔滔不绝,大紧就纳闷,这书到底哪儿好?

 

对方斜眼看他:

 

“哼,你?文艺青年,骚柔小资!你的胸怀怎么能装下这么浩瀚的宇宙?”

 

回去后,大紧跳过前40页往下读,一读就跪了。并在节目里为大刘辩护:

 

“伟大作品的文笔都是次要的。有人说这书男女爱情写得不好,要我说,在这么宏大的哲学和科学面前,爱情那算个屁呀?”

 

文艺青年的成见和鄙视链情节是有历史传承的,它是每一个文青成长岁月里逃不掉的通病。读完《三体》的大紧采访大刘时,“真香”二字一寸寸都写在脸上。

不瞒各位,我也有太多这样的时刻。

 

早年青葱、幼稚如我,以不读、不看烂大街的通俗作品为荣,除了经典小说和豆瓣8.0以上的电影,其他不屑一顾。

 

每一次,我都觉得好骄傲,好不做作,跟那些只顾肤浅快乐的肥宅们好不一样,被自己的审美追求感动得一塌糊涂。

 

是“真香定律”狠狠暴打了我。

 

 

 

02.

 

 

 

刚上大学那会儿,我迷上80年代严肃作家的作品。其中尤爱朔爷,他那套四卷本文集读了不下十遍。每当看到身边读网络小说的同学,以读纯文学为乐的我,眼神都变得犀利了。觉得人家读垃圾,浪费青春。

 

为了解王老师的趣味,我曾把《无知者无畏》通读三遍。每次读《我看金庸》都乐不可支。现在的年轻人可能不知道当年他是如何评价金大侠的。这里我随手摘一段:

 

“初读金庸是一次很糟糕的体验:情节重复,行文啰嗦,永远是见面就打架,一句话能说清楚的偏不说清楚,而且谁也干不掉谁,一到要出人命的时候,就从天上掉下来一个挡横儿的,全部人物都有一些胡乱的深仇大恨,整个故事情节就靠这个推动着。”

 

对于这些,金写过一篇回复,大意是要宠辱不惊,对王老师的小说表示认可,也对他的批评表示理解,气量相当大。双方一来一回,就是上世纪有名的“金王论战”。论战扩大后,变成纯文学和通俗文学之间的审美较量。

 

当时涉世未深如我,自然觉得严肃文学赛高,武侠小说很Low,至于网络小说,那能叫Low吗?那叫Low穿地球,Low出天际。

 

三年后,被自己啪啪打脸。

起因也简单,当年我给杂志社写悬疑故事混生计,编辑让我读《盗墓笔记》学习学习。我就为混个稿费,哪有心思学悬疑架构?骨子里认为在《收获》《当代》发文才有追求。可架不住编辑一直唠叨,只好去看。

 

结果这一看,简直一发不可收拾。在我有限的阅读生涯里,茶饭不思追读的两套书,一本是《三体》,一本就是《盗墓笔记》。

 

后者虽然在深度上不可与前者相提并论。但万分诚恳地说,在故事的宏观构架上,在悬念的铺设上,在人物有血有肉的塑造上,《盗墓》一点不输美剧。

 

我一口气追完三本,大呼“真香!”,此后再不敢说什么网文很Low。

 

又过了两年,当我捧起金大侠的小说,才发觉以前图样图乃义务,是多么浅薄的一个青年人。听了老师几句胡话,就以为了解整个世界。在金庸小说里,对社会风气的批判,对人性深刻的挖掘,丝毫不输严肃文学。

 

讲故事的方式是通俗的,但不代表人家的观念、洞察是俗气的。读完金大侠的小说,回过头看,某些所谓严肃作家,可能一辈子还达不到人家一本书的高度。严肃性达不到,故事好看,更是被金大侠甩出一万条街。

 

雅俗共赏,焉能不香?

 

我这才懊悔啊,二流文青病难治啊,以为自己读了几本经典,别的东西就不入眼了,没想到错过了好东西。尤其看到某些公号文章对金庸作品反复咂摸,看到金大侠离世时各界人士的追怀感念,更加认识到:

 

以固有的审美成见,将某些作品拒之门外,是多么可怕、多么狭隘的一件事。

 

总之就是,非常后悔,非常自责。

 

 

 

03.

 

 

历史循环往复,人生兜兜转转,在漫长的文青自我修养岁月里,我抱有的偏见不止一次,犯过的错误也不止一次,但最终都以“真香”收场。也正是通过这些教训,我对世间每个人的趣味,有了更多理解和尊重。

 

早年我自由撰稿,每月完成定期稿额,剩下时间都很自由。那时节,我几乎每天一部电影,部部都是经典。什么王家卫、杨德昌、侯孝贤、姜文、大卫·林奇、昆丁、戈达尔,费里尼…像集邮一样看下去。所谓大师电影看得越多,自我陶醉也越深。

 

仿佛牛逼的作品,我也有份。

 

当然也不能时刻看电影,尤其文艺片,超级费脑子。像《柏林苍穹下》《伊万的童年》这种,一口气看下来,需要多大的毅力?不想费脑子,只能看电视剧。

 

而众所周知,在电视剧观影圈里,也有着深深的鄙视链。它一般是这样的:

 

看英剧的瞧不起看美剧的,看美剧的瞧不起看日剧的,看日剧的瞧不起看泰剧的,看泰剧的瞧不起看韩剧的,而所有这些人加起来,统统瞧不起看国产剧的。

 

骄傲如我,只看英剧、美剧。

 

然而就在2013年,一部名叫《来自星星的你》的韩剧火遍全国。现在的年轻人可能不知道了,都教授当年的流量,可以说吊打蔡徐坤。一开始我还绷着,后来实在抵不住诱惑,好奇地打开这部剧,也是我人生中第一部韩剧。那叫一个香啊。一口气追完,我终于理解了那句著名论断:

韩剧就是给女生看的毛片。

 

换我是一女的,我也想要都敏俊。

 

两年后,我上班。由于要追热点,观影鄙视链再一次被颠覆。这部国产网剧,就是《太子妃升职记》。现在来看,这剧也没啥。可当初这部兼搞笑和悲情于一体被各公号吹烂的网剧,让我熬夜追了一宿。

 

追完后,对自己产生了深深的怀疑。

 

是我堕落了吗?

 

我一个看《权力游戏》的人,居然被太子妃的命运牵着走,恨不能跟她同呼吸、共悲欢,时不时流两滴感伤热泪。随后我清醒了:

 

去他妈的文艺骄傲。

 

好看不是硬道理?

 

 

 

04.

 

 

随着一次次被“真香”暴打,昔日我二流文青的自嗨病,终于得到有效缓解。也是从那之后,我开始学会理解别人的趣味,开始学会接纳更多形式审美。哪怕有人说Low,也不能带着固有的Low的目光去审视。

 

往昔看严肃文学和经典电影得到品味优越感,更是彻底没有了。接触不同审美的作品越多,就越能理解王二常引用罗素的话:

 

“参差多态,才是幸福本源。”

 

美有高低么?有。作品有金线吗?也有。但是,怀揣不同审美的个体和看不同层次作品的人,没必要扯出个高低之分。

 

每个人的教育背景不同,每个人的生命经历不同,每个人的生活频道也不一样。不能因为自以为是的高雅,就觉得别人低级。就跟老郭说的,有人喜欢咖啡,有人就喜欢大蒜。喝咖啡就高雅?吃大蒜就低级?

 

你以为卡车司机听《冲动的惩罚》低级?在他的情感共振上,那跟坐在高级写字楼里下了班之后听《处处吻》的白领是一样的。

 

都是心灵抚慰,谁瞧不起谁呀。

 

作为一名三好文艺青年,如不能从这个层面去理解差异,包容更多趣味,书就是白读了。自以为是的品味,会变成一厢情愿的自嗨。

 

节目里,大紧也说了:

 

“都说摇滚乐伟大,那摇滚乐里也有垃圾;民谣骚柔吧,可写民谣的也有厉害的笔。重要不在类型,而在创作者本身。”

 

这就是为啥会有那么多真香现场。

 

当我们抛开固有偏见,抛开外界打在事物身上的标签、符号,亲自去触摸那些事物,我们八成会发现它们背后的别有洞天。

 

不仅是审美,万事万物,都是如此。

 

 

 

05.

 

 

 

说来惭愧,当年我一个浅薄文青,不但在观影、阅读趣味上凹造型,在其他趣味上也脑抽过。最典型是买智能机,一看满大街都用苹果,我就想,那不能啊,咱得遗世独立啊。

 

王二说,一个人只拥有此生此世是不够的,还应该拥有诗意的世界。然而很多文青误会了,他们拥有的不是诗意的世界,是装逼的世界。

 

譬如我就非要买诺基亚撸妹儿的1520,手机是Windows系统的,小众到不像智能机。因为别人在APP海洋里畅游时,我连日常使用的APP都凑不齐。没有用过Windows系统的人,根本无法想象它是多么简陋。

 

可当时我还觉得自己不入俗流。

 

这简直是天大的误会。

 

终于,在滴滴都打不到后,我换了一台苹果。不出意外,又一次真香向我袭来,让我明白了自己陶醉的趣味是多么卑微。那顺滑的触感,五彩斑斓的界面,浩如烟海的APP,极佳的用户体验,吊打了我的执念和装。

 

「全文完,下次再会」

 


END

转自:https://mp.weixin.qq.com/s/z_WkrYRVJz9ADkPIDjaYxA

清华男生卖艺20年,会唱的赚不过会说的

清华男生卖艺20年,会唱的赚不过会说的

年轻的时候,

我们总误将创作冲动,

当成了创作才能。”

——文学研究家·钱钟书

逝于1998年12月19日

出自小说:《围城》

……

01.

 

1928年,清华迎来首批住校女生。由于没有宿舍,女生们只能暂住古月堂。4年后,杨绛到清华借读,一早从古月堂西厢的一间平房出来,抬眼就看到了钱钟书。第二年,钱老与杨绛订婚。半个多世纪后,80年代末的清华男生就没有钱才子那么幸运了。据说当时男女比例,高达七比一。

 

1987年,北大图书馆东边草坪上,一个叫朴勋的男孩抱琴歌唱,引来无数女生注意。此后,越来越多的北大男生来这里嗅姑娘,形成草坪文化。待这一风潮席卷北京高校,各校男生望风而动,抱琴而歌,纷纷投入到弹琴事业中来。短短两年,为吸引姑娘而作的歌曲产量飙升。其中一首《星期天》,更是在北大传唱到校歌的水平。其作者是日后创立真格基金的徐小平。

 

徐小平被分配到北大艺术教研室任教,上班第一件事就是搞吉他培训。俗称“小蓝本”的教材在高校男生手头传了又传,一点不亚于文革时的手抄本《曼娜回忆录》。男生们凭此宝书,操琴而歌,只为姑娘美目盼兮。40多年前,钱钟书在《围城》里说:

 

“哪有爱情,都是生殖冲动。”

 

这话放到彼时清华,应该叫做:

 

哪有文艺,都是嗅蜜冲动。

 

谁能想到啊,日后影响内地华语原创音乐的清华小子们,居然是被北大启蒙的。

 

1988年,高晓松考入清华,正赶上操琴风潮。那时节,长得好和分数高并无卵用。男生出风头,无非三件事,打架、踢球、弹琴。在清华7:1的时代背景下,吉他成为吸引姑娘的神器。高晓松也只好跟风,跑到草坪上弹琴。有人冲上去问,知道宋柯吗?高说不知,来者恨恨道:

 

“呸!宋柯都不知道,敢在这儿弹琴?”

 

高晓松进校时,刚毕业的师兄宋柯已是清华传奇。大三那年,宋柯写了首《一走了之》,被清华学子广为传唱。卖给孙国庆,赚了60块。写的《风雨尽头》,还被张楚收录在专辑里。当年全北京高校外国歌曲大赛,宋柯拿第二。拿第一的那位,日后在北京奥运开幕式上,唱了《我和你》。

 

从根本上导致高对宋柯的崇拜,是他看上一个师姐,结果人家是宋柯前女友。彼时,宋柯红到有女生半路劫道。经多方牵线,大紧终于在师兄回校看女友时跟他吃上一顿涮羊肉,从此发誓,要像师兄一样迷人。

 

如今的清华女生恐怕不知道,当她们沉迷于朴树的纯净,听着他的歌感动下泪时,都要感谢20多年前师姐们做的历史贡献。

 

要不是她们一个个对高晓松们爱搭不理,哪有日后的归来少年啊。

 

 

 

02.

 

那正是中国摇滚发轫的日子,受崔健影响,高校掀起一波乐队风潮。高晓松的“青铜器”差个主唱,在老狼女友潘茜的牵线下,大紧认识了老狼。北京建筑学院门口,老狼用一曲《我要的不多》征服了高晓松。

 

后来高晓松开玩笑说,之所以找老狼,主要是因为他态度端正,要的不多。

 

清华岁月,后来被称为白衣飘飘的年代。通过各大高校碴琴串联,高晓松认识了沈庆、郁冬这些优秀校园歌手,开始创作伤春悲秋的民谣。另一头,又跟家人要钱下血本、攒乐器,跟“青铜器”在政法大学的传达室里排练,唱的都是重金属。排练间隙,鼓手大紧总臊眉耷眼地抄起吉他说:“哥们儿写了一首骚柔小调,请诸位赏脸听听。”

 

硬核的年代,呐喊的洪流,被崔教父和《百年孤独》震撼的清华男生们,个个壮怀激烈、怒肠百结,没人瞧得起那些个“忧伤、惆怅、暮色、山岗、姑娘发带、刻字老墙”。

 

大二暑假,高晓松非要出去卖艺。乐队的人都不去,就老狼去。恰逢老狼失恋,一路哭着跟高晓松去海口,在“癫马”歌厅里卖艺赚钱。两人在这时结下了旁人不可替代的革命友谊。最后赚的钱刚够一人回去,高让老狼先走,自己去厦大浪了一年。经此一役,心就飘了,从厦大捞了个姑娘回清华,对成为科学家彻底失去兴趣,毅然辍学。

 

1991年,清华西阶搞了场汇演。当年清华有名有姓的校园歌手都到场了。唱至高潮处,大紧冲到前排,抱着从厦门带来的女友狠亲一口,就此与清华道别。随后,老狼拿毕业证,下乡给人装电机。从清华肄业的高晓松,北电落榜后,却误打误撞,在亚运村拍起了广告,成了土豪。

 

老狼拿到第一笔工资请他吃饭,大紧喝高了,在公交车上痛哭流涕道:

 

“哥们儿我写那么多歌,唱给谁听啊?”

 

那会儿他刚失恋。沈庆到亚运村,他抄起吉他就唱了《青春无悔》,唱得潸然泪下,拉着沈庆诉说音乐理想。虽说大紧已经开上豪车,住六居室,但仅仅有钱,还无法满足他激扬文字、指点江山的心。日后,高晓松带着师兄宋柯一路趟饭、开辟音乐江山也证明了沈庆当年的判断:

 

“我们那拨人里,高晓松是最想出来的。”

 

沈庆在这件事上做了突出贡献。是他带着校园歌手们的小样,前后找了几家唱片公司。头一家嫌高晓松的词太俗,没谈拢。第二家又要找晚会歌手唱,高晓松又不乐意。终于,沈庆遇到了黄小茂。年届三十的黄小茂被作品里的青春气息所感动,答应帮他们出唱片。并为作品取了个名字:校园民谣。

 

为了让情感表达准确,黄小茂决定不用专业歌手,让他们自己唱。黄肯定没想到,这一决定将如何影响内地音乐的格局。

 

那一年,北京南礼士路原广电部的录音棚,中国首批民谣原创音乐人一起试音。时至今日,其他人都被遗忘,反倒没开口的高晓松依然傲立潮头。由于大紧的嗓子实在不堪入耳,当时他所有作品都由老狼代唱。

 

偏偏一首歌没写的老狼火了。

 

1994年,中国摇滚声势看似很大,实际上都是浮光泡沫。那年北京高校联合搞了个大学生晚会,老狼上去唱《同桌的你》,一夜爆红。第二年春晚,又作为新生代歌手登台,虽然真唱持续跑音,最终还是名扬全国。

 

把“魔岩三杰”送入红磡的张培仁曾总结:

 

“人民的方向,是你不可阻挡的。”

 

1994年,在愤怒摇滚和骚柔民谣间,广大青年做出了历史性选择。崔教父一直教育高晓松,不要总风花雪月要为时代呐喊,但事实证明为时代呐喊这碗饭不是谁都吃得上的。高的格局,就是忧伤山岗。

 

就那么红了,幸福可以说来得太突然。1996年,高晓松和老狼拿了无数奖,27岁的他在南京五台山开了一场万人音乐会。作品集《青春无悔》以高居不下的销量成为了一代青年感怀岁月的心灵圣经。

 

清华音乐男孩,就此登场。

 

 

03.

 

 

 

1994年那场大学生毕业晚会上,除了老狼《同桌的你》,还有一首不起眼的歌叫《成长》。它的词曲作者卢庚戌,比高晓松要小一届,1989年以市状元身份进入清华建筑系。一进清华,同级生里就有李劲这样名声赫赫的人。5年前,邓小平站在13岁的李劲身后说了那句著名的话:

 

“计算机要从娃娃抓起。”

 

环顾四周,李劲还不是最能打的。学霸卢庚戌顿时失去了学习兴趣,一边暴啃先锋文学、朦胧诗,一边向女生献殷勤。为了引起女生注意,先是写诗,不灵,又画画,还是不灵。抬头一看,都练琴呢。尤其听说老学长宋柯一个人泡了好几个校花,赶紧加入轰轰烈烈的校园歌曲运动。

 

不幸的是,卢庚戌不像高晓松和老狼有家学。高晓松他妈教他吹过黑管,老狼他妈是交响乐团团长。卢抱着吉他练了一年,室友们忍了他一年。一年后,卢参加校园歌手大赛,连决赛都没进去。

 

自知唱功不行,卢庚戌组了个“梦中草原”组合,开始退居二线,负责创作、和声,终于如愿拿到决赛冠军,名扬清华。起初他跟高晓松、郁冬他们混。这俩退学后,他仍旧没写出什么像样的作品。1994年,师兄《同桌的你》火遍大江南北,心下落寞读大五的卢庚戌,迎来了他的师弟李健。

 

清华音乐男孩这拨人里,论唱功李健首屈一指。毕竟人家是靠唱《说句心里话》保送上清华的,从底子上就甩了师哥们一大截。进校后,李健加入合唱班。一天听见宿舍楼有人弹琴,推门进去,见一胖乎乎同学抱琴而歌,上前打招呼。此后四年,两人经常切磋琴技,还一起搞了毕业演唱会。

 

这位弹琴的,就是缪杰。

 

上学没几天,李健就遭遇了跟卢一样的冲击,发现周围学霸太多,根本找不到存在感。为此,他把精力转移到音乐上。那时李健学唱谭咏麟,惟妙惟肖。早在哈尔滨读书时,高一文艺汇演,他唱谭的《朋友》,把全校师生吓了一跳。高中同学都爱围着他,听他唱歌。关掉屋里的灯,听他抱着吉他来一曲《爱在深秋》,黑暗之中,每个人都听得泪流满面。那时,李健才16岁。

 

进入合唱队后,一师兄点拨李健:“别听什么谭咏麟了,你要听披头士!”自此开拓音乐格局。合唱队一次表演,李健上去唱《黄杨扁担》,卢庚戌被其音色震撼。此后,有事没事李健就到卢师兄宿舍聊天。聊至深夜,就在卢的上铺过夜。再加上缪杰,三人在卢大学时光最后一年来往甚密。

 

后来搞“水木年华”,主要是卢庚戌牵头。跟高一样,卢也有一种强烈的想出头的冲动。大俗话叫“想红”,卢管这叫“追梦”。

 

毕业后,他被分配到纺织部设计院,干了两天,最终还是决定搞音乐。

 

1997年,卢庚戌和几个朋友在上海、江苏多地寻找机会,又回北京,在清华北门外租了个房子,靠着画图纸赚外快,支持自己的音乐梦想。李健没事就往卢庚戌那儿跑,坐在被风吹动的麦浪前,跟一帮诗人、画家瞎聊天、谈理想。每次他西安的女友来了,卢庚戌还得想办法回学校去蹭一宿。

 

卢庚戌辞职时,问家里人要了梦想基金,跟爸妈说,只要写歌,打榜就能红。结果三年过去,都27岁了,还没有红得迹象。

 

这期间,他遇到好几个音乐人,都劝他放弃,踏实上班。尤其指出他唱功太烂,就是搞音乐也是做幕后,当歌手,别想。他去见田震的制作人,人家问他卖不卖歌,卖就签。他说我的歌不是拿来卖的。

“我是要自己唱的。”

 

北京冬天奇冷无比,室内没暖气,卢庚戌每天睡到半夜就得爬起来续煤。硬扛了两年,扛到缪杰和李健都毕业了。1999年,他拿家里人支持的钱出了张《未来的未来》,没多大声响。高晓松和宋柯都劝:

 

“我俩长这样都没当上歌手,甭说你了。”

 

卢为音乐梦挣扎时,李健也差点退学。一想到父母的期盼,忍着拿了毕业证,然后进广电总局,下乡搞村村通。每次爬电线杆,看到脚下猪圈里的猪就肝儿颤。在单位干了一年,李健胖得快没人样了,上楼都费劲。

 

当时一个月工资4000块钱,按理说也不低。但有一天去中友百货,他看见一条599的Lee牌牛仔裤,心想一个月工资连10条牛仔裤都买不上,多巴胺顿时就不分泌了。后来又一天,在秀水街碰到刚拍完戏的李亚鹏,人穿一大皮衣,看得李健流口水。

 

李健本不是一个沉迷物欲的青年,那会儿就觉得,在单位里待着也挣不了什么钱,还不如出去干自己喜欢的事。

 

所以卢庚戌邀他组乐队,立马就答应了。

 

“我要一个月挣五万当时就不去搞音乐了。”

 

李健加入时,卢已经联系到发片机会。主要唱功不佳,希望师弟帮忙。两人攒了几首歌,觉得还行。卢早年因失恋写过一首《收藏青春》,李健和缪杰唱它还拿了校园歌曲大赛一等奖。经过几次改名,临发片前,卢又给这歌弄出来,为了祭奠业已逝去的青春爱情,将其命名为《一生有你》。

 

《一生有你》虽然没掀起《同桌的你》那样巨大的波澜,但也踩在了广大青年祭奠青春的麻筋儿上。熬了5年的卢庚戌,终于可以在师兄面前扬眉吐气一回。

 

歌曲打榜后,公司要求他和李健多搞点这种作品,还准备给他们安排绯闻。李健听了,觉得这与初心背道而驰。

 

他给自己的定位,是做个人文音乐人,不是写街歌,是艺术家,不是娱乐圈红人。

 

道不同不相为谋,随后,李健退出。

 

彼时的“水木年华”,只能说略有名气,离彻底走红还差四年的距离。事业伙伴突然离去,卢庚戌为此失眠整整一个月。

 

前阵子有网友提及此事,卢亲自回复说:

 

“李健那时的决定,是不负责任的。”

 

04.

 

 

 

《一生有你》打榜时,膨胀的高晓松早已不满足于做一个普通创作者。当时他打算写书、拍电影,做知识分子,苦于没有门路,只好跟郑钧到各大高校嗅姑娘。

 

那时,他俩遇到了在酒吧里弹琴的叶蓓,认识了打算卖歌赚钱的朴树和音乐老师小柯。他把小柯和朴树介绍到红星社,红星只要小柯,把朴树打发走了。好巧不巧,在美国看到真正摇滚乐、一度放弃音乐梦的宋柯转行卖珠宝。听说他回国,高晓松找到师兄:

 

“咱搞个唱片公司吧。”

 

一句话,把宋柯的音乐梦唤醒了。

 

在美国时,宋柯看了本《音乐商业》,专门教人如何把一首歌变成可以赚钱的版权产品。自己卖艺不行,卖别人的艺,宋柯很有兴趣。当年在清华开吉他班,一学期5块钱,宋柯能招到40个学弟。高晓松找上门,两人一拍即合,成立了麦田音乐。宋柯变卖珠宝,先往公司里砸了20万。

 

麦田签的头三个歌手,是朴树、叶蓓和尹吾。公司草创期,每个会弹吉他的员工都很兴奋。4年下来,不惜成本做了3张专辑。每天都能收到全国各地乐迷一麻袋的来信。当时《音乐生活报》定期总结各大排行榜,高晓松的一大乐趣,就是拿红笔把麦田的上榜歌圈出来。朴树的出现,尤其令这对搭档无限欣喜,以做废一版专辑的代价,给内地华语原创音乐做了突出贡献。

 

然而一切还是想得太美了。

 

由于盗版猖獗,94年后,内地唱片公司都赚不到什么钱。按照宋柯分析,做内容商,音乐也好影视也罢,拿不到四成收益,行业就得不到良性发展。但内地唱片业最高也就到15%。加上麦田做音乐不惜成本,4年下来,连年亏损。到了第四年,3个月发不出工资,全靠宋柯打麻将续命。

 

当时盗版占了90%的市场。做完《我去2000》年后,宋柯和高晓松从市面上买到50多种盗版,当时心就凉了。不止他们,像“大地”“红星社”这些有香港资本的唱片公司,要么转卖,要么撤退。

 

红星给许巍做《那一年》,直接把制作丢给许巍,让他自己找乐手,后期缩混又不通知他。专辑出了,还是汪峰打电话,许巍才跑到街上买了一张。拆开一听,缩混乱七八糟。专辑封面都是从MV上抠的。

 

宋柯一看这势头,准备去荷兰的银行上班,大紧也搭上了张朝阳。就在这时,华纳进入中国,许晓峰是总负责人。许是北大的,跟宋柯同届,当年还一起参加过歌手比赛,被宋柯的乐队打得找不着北。听说华纳进来,高宋二人活动心思,找许晓峰“求收购”。许一看挺便宜,就把麦田买了。

 

北大虽然没出几个知名歌手,却在这件事上取得了战胜清华的历史性胜利。

 

此后,高晓松在互联网、电影圈开疆拓土。转入华纳的宋柯,给朴树弄了那张《生如夏花》,帮那英、孙楠、周迅等人做专辑。四年弄下来,成绩也不算突出。2000年后互联网兴起,网民没有知识产权意识,各种网络侵权,连盗版商都撤了。高晓松和宋柯去找互联网公司谈判,说你们花巨款做公关,打压我们唱片公司,还不如直接把钱给我们买版权。没想到人家来了一句:

 

“你们懂个屁的互联网经济。”

 

2004年,彩铃横空出世,很多音乐公司趁势杀出。充满商业嗅觉的高晓松一看有搞头,又拉宋柯找太合地产投资,拿钱创立太合麦田。之后8年,宋柯干了两件大事。一是签约李宇春,二是拿下刀郎《2002年的第一场雪》的数字版权。后者给麦田带来2000万收入。尽管如此,眼看唱片业日薄西山,在各种谈判中失去话语权,大师兄还是撤了。

 

帮人卖艺12年后,宋柯终于明白这一行的局限性。这期间,高晓松的心早也不在音乐上,他是《写在墙上的脸》的作者,是《那时花开》的导演,是选秀节目里最难看的评委,是各大饭局上最能侃的雅痞。

 

2012年,撂下句“唱片已死”,宋柯转身开了烤鸭店。经常有业内人去照顾生意。

 

这让宋柯明白了:

 

“这鸭子我做好了,真有人来吃,付完钱人家谢我,说做得真好吃;做音乐做好了真没用,没人付你钱,还骂你。”

 

 

 

05.

 

 

李健走后,卢庚戌独木难支,只好把廖杰找来。当时廖杰在IBM里拿着上万的高薪,为了音乐,说走就走。除了廖杰,卢还找来了清华另一位学弟姚勇。姚勇上大学时就想做摇滚乐手,为了断他痴心妄想,父母还请他舅舅王小波出马说服。舅舅问,玩摇滚,你有喝风屙尿的本事吗?

 

喝风屙尿的本事没有,为梦断粮的本事还是有的。可惜这本事没持续太久,姚勇扭头给马化腾抄了个游戏,赚了百万身家,留下卢、缪坚守阵地。

 

2003年前后,歌陆陆续续红了一些,但乐队老是不红。那二年内地有羽泉,港台有周杰伦、F4,他们人气是差了点。第一张专辑做完,没公司愿意签约,两人只好开了家“水木同创”,自己把自己签了。

 

都是命啊,水木同创一位股东,是完美时空的董事。2006年,国内网游热,《完美世界》四处砸钱,“水木年华”写了首主题曲。由于歌曲和春晚主题契合,两人又上春晚。游戏出来后,曝光剧增。总算赚到钱了。第二年,“水木同创”就签下王筝、李延亮和高旗,准备轰轰烈烈大干一场。

 

当时宋、高抱着李宇春和刀郎都恰不好饭,更别提他们了。两年后,所有签约的人都散了。校园民谣的荣光也散了。互联网兴起后,“水木年华”同样面临严重的侵权,线上音乐赚不到钱,只能出去走穴,演出时,反反复复唱那首《一生有你》。久而久之,两人心思也不在音乐上了。

 

那两年,他俩发现很多店面乃至楼盘都打着“水木年华”旗号。哥俩一想,与其让别人吃肉,不如自己烧烤。2008年,两人去双龙峡旅游,看中一眼矿泉水,组了“水木晶世食品”,打算做矿泉水生意。业务交给人家,自己挂品牌。结果合作公司不靠谱,钱砸了半天没反应。两人只好自己干。

 

隔行如隔山,成立不到三年,公司被迫停产,还欠了人家100万承包款。

 

卢庚戌恨啊,眼看清华同学一个个创业上市,财富自由,自己还要走穴,“过气明星”的帽子躲不过去,不能就这么算了。

 

接下来,他们又跟TCL合作,推出3款音乐手机。一个月卖了几万台,卢喜笑颜开,目标要做音乐界李宁。两年后,他们也找到了许晓峰,在深圳成立一家科技文化公司,准备把音乐版权和数码产品深度绑定,推出MP3、平板等“水木”系列。同时,又在中央民族大学和西单大悦城开“水木年华奶茶店”,推出服装和吉他。

 

缪杰展望未来,人们的生活是这样:

 

早起一杯“水木年华”的矿泉水,穿着“水木年华”的衣服出门,下班后去“水木年华”KTV唱歌,抱着“水木年华”色吉他嗅蜜,听着“水木年华”音箱里的歌曲入睡。

 

这么牛逼的生态,李嘉诚都不敢想。

 

结果无一例外,都黄了。

 

前前后后,卢庚戌损失500万。

 

而当四个师兄忙着想在商业上挖一矿金时,老老实实沉下心做音乐并不断想做出好音乐的,只有李健一个人。退出“水木年华”后,李健租住在大杂院里,埋头往心目中的人文音乐迈进。出完《似水流年》和《为你而来》,市面上几乎没了他的声音,演出长时间也只穿梭于高校之间。

 

那几年,网络歌曲红、R&B红、彩铃红,有人就劝他:“别写那些文艺的,写点小情小爱,弄个彩铃,一首歌就发了。”

 

李健没听进去。他还是觉得写内心的东西,最有成就感。当时身边一拨一拨人出头,尤其清华校友都成了社会精英,自己身上还掏不出一万块,也挺慌的。34岁那年他也问自己,人孙楠34岁都红成什么样了?

 

想来想去,还是睡着了。

 

唯一的成就感,来自圈儿内肯定。两张专辑下来,那英、孙楠都管他邀歌。做到第三张《想念你》,他离开老东家,签约新公司。新公司的副总正好是他前经纪人。为了让李健出来,特意找张亚东做专辑。同年,公司签下赵薇。签约发布会时,公司安排李健去站台,两人就这么认识了。

 

没几天,李健接到一个电话,那头自称是赵薇的好友,喜欢他的新专辑,希望有机会合作。电话那头的女人,名字叫王菲。

 

2008年,李健在北京星光现场开个唱,王菲去了。两年后,天后酝酿复出。春晚希望她唱《人间》,她选了李健的《传奇》。歌的前奏是96年写的,整体在2002年完成。演出前,李健跟王中军、羽泉等人吃饭,大家都说,这下你要火了。果不其然,这首沉默8年的歌,一夜红遍全国。

 

第二年,李健登上了春晚。

 

8年的沉寂和坚守,总算迎来回报。

 

而那时,卢庚戌正迷失在人生十字路口,不知接下来该干嘛;宋柯那句“唱片已死”呼之欲出,正打算去CBD卖烤鸭。

 

最惨的还是第一个成名并屡次膨胀的高晓松。2011年5月9日晚上十点半,高晓松醉驾出了车祸,被判入狱半年。

 

大紧老爱把一句话挂在嘴边,叫:

 

“一生温暖纯良,不舍爱与自由。”

 

那一次,他失去自由184天。

 

 

 

06.

 

 

 

在狱中,高晓松反思人生,又是译马尔克斯,又是跟狱友掏心窝子。后来他说要感谢老天爷,让自己悬崖勒马,否则不定干出什么事来。这期间,他执导的《大武生》上映,各路明星纷纷站台,可见人缘之好。

 

许家印恐怕也是看中了他的资源,托人给大紧带话,说你出来后,之前谈的事情还算数。原来高晓松出事前,老许找过他几次,想在音乐上做点事。一个搞地产的人来搞音乐,那他的目的一定很单纯。

 

绝不是为了扶持音乐。

 

这一年,烤鸭店开张没多久,宋柯就被出狱的学弟拉着去见老许。经许老板垄断演出场馆的想法打通任督二脉,高、宋也想明白了,别费那个劲培养歌手,买一堆版权,一年弄他几十场演出,还要啥自行车啊?

 

随后,恒大的音乐节立项,2013年搞了22场演出。2014年又咬牙做了一年,发现现实跟做唱片一样残酷。一场演出成本300万,赞助还不到200万。2015年,高、宋觉得这事儿没谱。线下搞不动,转线上吧。借着2014年杭州开音乐会跟马爸爸搭上线,高晓松离开恒大,带着师哥去了阿里。

 

当时阿里收购虾米音乐和天天动听,准备大干一场。高晓松建议马云打造一个覆盖全产业的平台,老马被说服了。随后,高又拉来何炅做内容官。一帮人非常高调地开了个“阿里星球”发布会,当天台下坐着老狼、郑钧、蔡康永、郭德纲、黄渤…据事后回忆,很多人脸上,都是不怀好意的坏笑。

 

笑容是危险的,心太大,也是危险的。由于产品逻辑混乱、对用户不友好,后来QQ和网易版权大战时,星球已经没声儿了。

 

网上流传着一段视频,马云调侃说:

 

“我觉得高晓松口才也不是很好,他的知识乱七八糟,我也不知道多少是真的多少是假的,但是听着很舒服,让人觉得有道理。”

 

马爸爸估计也没想到,这一通“觉得有道理”,就搭进去一个天天动听。

 

早知道,天天动听还不如改叫“听着舒服”。

 

星球创立前,高晓松很自信,跟马云说,肯定要独立,我们不是来做员工的,是来做股东的。结果3年下来,大紧成功卸任了阿里音乐科技董事长。此后他的主要工作重心,是给公司写一本《阿里传》。

 

高师兄的产品梦碎了。

 

卢师兄的电影梦也没做太好。

 

赔了500万后,卢庚戌还是觉得自己适合搞创作,表达一下爱情、梦想和青春。随后买了本《21天写剧本》和《怎样做导演》,拍了部《怒放青春》。投资1000万,票房200万。从哪儿跌倒,卢庚戌决定从哪儿爬起。2015年,自组“梦时光”,拿到联想之星王明耀的500万融资,加上清华校友投资,耗时近4年拍了自传电影《一生有你2019》,豆瓣评分4.0,票房4100万。

 

联想之星有个CEO特训班,卢庚戌也该去读读。像他后来参加《我是创始人》,被所在队伍合谋淘汰,来自清华的王小川就说:

 

“卢导是个单纯的人。”

 

出自清华的优秀企业家很多,除了王小川,还有孙宏斌、王兴。单纯的清华音乐男孩们,想在人生下半场转型搞经济,还是要多向地产和互联网校友们多学习一个,否则根本就不知道资本江湖到底有多凶险。

 

不信去问问孙宏斌,看看他对山西来的老乡贾会计有什么想法。

 

 

 

07.

 

 

高晓松曾说,每次拜庙见菩萨,从不许愿,一个劲儿说我挺好的。确实挺好。2012年,他不但搭上许家印,重踏音乐寻梦路。出狱后不久,手机就被打爆。无数人要约他上节目。高晓松也明白这帮人是来干嘛的。

 

那拨人里,时任优酷总编辑朱向阳找了他三次,约他吃饭。见面后,朱向阳表示优酷想弄节目,真人秀之类的,让高做评委。高说那太麻烦了,你要弄不如咱弄个最简单的,我一个人对着镜头说话。清华辍学的高晓松想管它叫《闲得蛋疼》,松江二中辍学的韩寒说你应该叫《晓说》。

 

我都不知道这俩人谁更有文化。

 

对知识分子家庭出身的高晓松而言,说话跟吃饭一样简单。打小他们家聚餐就是知识肉搏战,高晓松要抢话才能从她学建筑的妈嘴里捡上几句。加之他自幼博览群书,看各种历史文献、军事著作,日后又在文艺圈纵横驰骋,在嗅蜜岁月里几经跌宕,什么历史、八卦、绯闻、艺术信口拈来。长大后无论什么饭局他都是上知天文下知地理的话题旋涡中心,滔滔不绝,一骑绝尘。

 

这就是传说中的名流吧。

 

2012年,《晓说》上线,高晓松聊奥斯卡。那是编导去美国出差随手录的。不过画面里大紧出现在奥斯卡现场走廊的镜头,花了几十万。事后证明这几十万花得值,高晓松一路聊青楼镖局、世界历史、民谣往事、八十年代灯塔,播放量蹭蹭破亿。大紧不分成,只拿保底的钱。但光是出场费也不低。日后,他和清华校友龚宇见面,坊间传闻,为了挖他去爱奇艺,龚宇开了天价。

 

2012 年至 2016 年底,《晓说》《晓松奇谈》超过 15.3 亿播放量。

 

录一年节目,高晓松只要26个下午。

 

这产值比,你说得多高。

 

凭借《晓说》,大紧收割不知多少粉丝,一时间跃升为这个时代最著名的知识输出分子。赚钱速度和收割观众的打击面,远比在阿里吭哧吭哧加班来得容易。自打1996年从五台山上下来,转入幕后当制作人、搞唱片公司、弄互联网产品,兜兜转转20年,折腾半天,到底不如现身卖艺强。

 

不过高晓松觉得《晓说》连卖艺都算不上:

 

“说脱口秀就是卖下水。音乐、电影、文学这些是正经手艺,但你卖下水卖了一盆,岂不是卖艺的时候就更从容了?”

 

立志做知识分子的高晓松,一直很有商业头脑。从麦田到阿里大文娱,一直是他带着师兄宋柯趟饭。早年他跟史航等人录节目,在化妆间,一个人都不认识,上来就问,咱今天多少钱?把在座的知识分子都惊着了。

 

人家能赚,不是诗与远方撑起来的。

 

也别清高了,说世道变坏是从知识分子下场圈钱开始的。从另一个角度看,是高老师维护了清华卖艺人士最后的变现体面。

 

 

 

08.

 

 

2015年,高晓松在网上侃大山时,李健入世一跳,登上《我是歌手》,收获了搞音乐这么多年最高的一波人气。不但民间姑娘媳妇们拍手欢迎,圈子内部击节赞叹,连向来苛刻的评论家朱大可,都夸他是中国绝无仅有的知识分子音乐人。尽管荣誉加身,赶上了真人秀时代热的李健,还是选择淡出公众视线。他一直把自己定位为创作者。

 

至于怎么卖,不操那份心。

 

在争名夺利上,更像是高晓松的反面。

 

走红前那8年,李健相当安于寂寞。一年挣十来万就知足了。住在大杂院里,每天睡到自然醒,弹琴、读书、写歌、跑步,全照着自己步调。身边一个个清华校友都取得了世俗上的成功,他依然故我。一年夏天,基友钟立风去他家做客,听蝉听风,赏花赏琴赏CD,真觉得他和女友把日子过成了诗。

 

走红后,有企业拿100万找他合作。李健没接,觉得接了,生活本质上不会有什么改变,但自己心灵可能要纠结很久。他早想明白了此生之行。做完导师后,有意淡出,跑到国外躲了一阵。后来要不是吴秀波出事,你都想不起这哥们儿。他对名利相当警惕,生怕它冲淡对音乐的热爱。

 

“无论是从持久度还是深度来看,很多商业上的成功、名利的获得,对我来说,都比不上写出某一首歌的愉悦感。”

 

瞧瞧,什么叫专业。

 

这里要说的是,李健和高晓松,没什么高低之分,无非是每个人活出自认为最明白的那条路。这就跟嗅蜜一样,最漂亮的不是最好的,最合适的,才是最好的。

 

有人爱活个面子,有人爱活个里子。

 

都是口味不同使然。

 

20多年过去了,当年从清华西阶出发,抱着吉他投身音乐事业的清华男孩们,到头来只剩李健一棵独苗,不为时代风云所动,坚持初心写歌。其他操琴而歌的哥儿几个,在变幻的岁月里,在名利的潮流下,不是做了文化商人、创业小咖、助农帮手,就是当了业余网红。也对,当年李健操琴是为寻找人生寄托,这几位主要还是冲着泡妞去的。

 

这叫各得其所。

 

2018年清华88级30年聚会,有同学大醉,指着高晓松说:“你还记得我们读书时的梦想,纵横四海改造国家吗?结果你今天拥有这么大的话语权,却在节目里说些不疼不痒的东西,你背叛了我们当年的理想!”

 

搞得高晓松特别委屈。

 

高老师人家早在《奇葩说》里教育参赛者梁植,说你一没有胸怀天下,二没有改造国家的欲望,你愧不愧对清华十多年的教育。

 

醉酒的那位,你真以为高老师傻吗?

 

前段时间,另一位知识分子兼创业者,来自北大的许知远,采访历史学家许倬云。许倬云说,现在的知识分子不是思考者,是检索机器。看到这一幕,不知为何我脑中就飘出《晓说》里的活百科全书高晓松。

 

能紧跟时代步伐的人,往往是人生赢家。

 

这么看,清华学子现在肯定不操琴了。

 

他们当中的胸怀激荡者,心目中的偶像大概率不是唱《一走了之》的宋柯,而是来自胡建的师兄王兴。尤其想到隔壁北大戴威的小黄车退不出押金李国庆摔杯为号抢夺公章孙宇晨老师又在微博里撒币,争做时代弄潮儿的雄心,就能变得格外坚定。

「全文完,下次再会」

部分参考资料:

[1]《“门客”高晓松》,三联

[2]《歌手李健,规则之外》,同上

[3]《越挫越勇的创业者,卢庚戌》,跨界见真章

[4]《校园民谣十年》,王小峰

[5]《唱片时代过后,他们找到新玩法》,博客天下

[6]《高晓松&宋柯:模范拍档》,南方人物周刊

[7]《为梦而生:我不想无所谓地存在过》,卢庚戌

[8]《高晓松:门客尽力不尽义》,南方人物周刊


END

转自:https://mp.weixin.qq.com/s/VSLn302iprqUHZlQUkBClA

以组织的名义

以组织的名义

今年4月17日,是医生谭秦东出狱两周年的日子。那天他发了一条朋友圈:

自由两周年纪念,感谢万千朋友的帮助。

两年多前,憨厚的谭医生写文章质疑鸿茅药酒的安全性,内蒙古凉城警方千里迢迢从广东把他请回内蒙喝茶。

看守所里的茶,谭医生一连喝了97天,直接喝出了PTSD。

谭医生和我说,现在的他每天看书、写文章、礼佛。他也发很多很多的朋友圈,偶尔会搬出世界卫生组织的言论,劝诫网友们不要爱上喝酒:

对于不同意见,可以争论,切忌上纲上线。

当年给谭医生上纲上线的鸿茅药酒,这两年过得不错。他们重新上了地方电视台,入选了国家媒体的民族品牌工程,甚至被中药协会评为2019年履行社会责任明星企业。广告文案也变成了:

喝鸿茅药酒,相信中药的力量。

中药协会是个好组织,归真堂、鸿茅药酒、步长制药、康美药业、绿谷制药,这几年让你印象深刻的中药力量,基本上都是组织的成员。

会长房书亭从当选会长那天起,就让会员们感受到了春天的温暖。中药力量被大众质疑比较多,房会长一直奔波在替各种辩解现场,反复给大众普及过去不诚信的企业也可以现在变得诚信这个理念。

2012年,活熊取胆的归真堂准备上市,房会长站出来告诉记者们,取胆汁就像开自来水管一样简单、自然、无痛:

完了之后,熊就痛痛快快出去玩儿了。

中药协的会员年费从5000到3万不等。除了这些,还有庞杂的捐赠、会议、评奖甚至和行业生产标准挂钩的“咨询费”。

当年记者们问房会长,是不是因为归真堂是组织的人你才这么护犊子。房会长大手一挥:不是,我们不会为了某个企业争取利益。

几个小时后,中药协回复媒体们:

归真堂是会员,会长记错了。

其实房会长说得很有道理,你们又不是组织的熊,怎么知道它不痛快。

1

1989年,4岁的徐迅跟随父母前往美国,为了尽快在美国立足,一家人都很努力,小徐迅就经常和妈妈一起在餐馆刷碗。

徐迅是个聪明孩子,大学期间,他利用美国近9成餐馆不送餐这个空隙,创立了自己的外卖生意,后来发展为美国最大的外卖平台DoorDash。

美国的外卖平台向饭店收取的费用包括配送费、基础佣金和推广费,外卖员把餐交到顾客手上时,还会有15%的小费。

所以美国朋友们吃个外卖,有一半的钱和吃什么没有关系。最近一段时间,平台、饭店、顾客之间的平衡被新冠肺炎打破了。

疫情期间收这么高的佣金,不是给敌对势力递筷子吗?

美国一些地方政府站了出来,要求平台们把佣金从50%降到15%以下。

同样的事情也发生在中国。

前段时间,广东省餐饮服务协会公布了一封盖着30多个鲜红印章的联名函,指责某外卖平台佣金收得高,新进平台的饭店竟然要付20多个百分点的佣金,而且,

疫情期间仍不收手。

美国网友们发现,政府降低外卖平台佣金后,因为没有人送外卖了,不少餐馆歇业,自己点的外卖送达时间也越来越慢。于是大家在社交媒体上把政府喷成了筛子。

和美国网友们发愁下顿吃什么不一样,中国网友们发愁的是:

我们到底该骂谁?

疫情期间,外卖平台在中国发挥了巨大的作用,很多家庭一日三餐和生鲜食品配送的担子都在骑手们身上,不能堂食的很多中小餐馆也越来越依赖外卖平台。

而且,平台15%-20%的佣金率在世界范围内也不算高,但这并不代表他们做得无可指摘。

很多人都觉得广东省餐饮服务协会降低商户佣金5%这项普惠需求提得很好,但很少有人把联名函读到最后,那里隐藏了最核心的诉求:

重点扶持广东百强餐饮企业、钻石酒家企业、米其林餐厅及广东省、市、区餐饮协会会员企业。

广东省餐饮服务协会虽然不是政府组织,但会员资格也是明码标价的。每年的会员费从1000到15000,还有特别会费1到8万不等,可谓是丰俭由人。

某平台上那些沙县小吃,大家鸡排,兽爷煎饼能不能付得起这些会费兽爷不知道,但需要重点扶持的百强餐饮企业、钻石酒家、米其林餐厅肯定付得起,广东省、市、区餐饮协会会员企业更不用说了,他们已经付过了。

疫情之前他们是看不上外卖平台的,毕竟客单价40元左右只能在这些饭店里喝一杯酸酸的柠檬水。

2

2012年,南方周末曝光了世界奢侈品协会。这个注册在境外的协会,通过发布大量标题党的报告制造影响力。他们对外称是非营利组织,但一直在敛财。

中国的各种山寨协会自此浮出水面。他们往往通过收取会员费、搞评选颁奖收钱。这些协会的名字,往往被私营小老板当成后缀印在名片上。有些斜杠老板协会身份之多,一张名片印不完,还要折页印两张。

刚来北京练摊的时候,我会被这些人显赫头衔震惊到,有些头衔厉害到地球人看不懂了。摆了几年摊后,我才明白一件事,那些名片里各种协会头衔非常多的、一个月23天都在饭局上的、总说我认识谁谁谁的、动辄就说钱不是问题的,大概率是骗子。

后来民政部设立了曝光台,陆续公布了1000多家“离岸社团”,山寨协会得到了一些净化。但有件事情大家忽视了,所有山寨协会的问题,都是从正规协会那遗传过来的。

去年1月包叔写过一篇文章《亩产又万斤》,说北京中房研协做的2018年房企销售额榜单上,一家2017年销售额79亿的房企佳源,被拔高到875亿。另一家上市平台销售额才28亿的福晟,榜单销售额竟然是621亿。

中房研协是中国房地产业协会和代理公司易居合资成立公司,主要模式就是向地产商卖排行榜。你只要花几百万,就能获得销售额乃至排名在榜单上的增加。地产业最正规、最权威的协会,果然不吝啬用公章背书,和易居一起帮房企成长。

2018年获得了榜单加持的福晟,2019年差点破产,后来卖给了世茂,股价只剩9分钱,数百名跟投员工被套。另一个被加持的佳源,股价也精壮得只有去年年初的零头。

至于广东省餐饮服务协会,会长叫谭海城,90年代起就在广东各地围绕餐饮行业展开了自己的商业布局。

很多人好奇为什么这次广东省餐饮服务协会的联名函里有30多个各类协会的公章,声势如此壮大。

广东省社会组织总会曾经是官办机构,2014年与行政机关脱钩,但还是很多行业组织的娘家。和广东省社会组织总会有实在亲戚的谭海城说过:“行业协会无官无权,人家企业凭什么信任你?”

对于凭什么这个问题,《亮剑》里楚云飞也问过李云龙,老李嘿嘿一乐说,很简单:

凭的是对手不知道我的厉害!

1925年,诗人军阀张宗昌与朋友闲谈,一人递名片求见。张宗昌命令手下把他枪毙了。朋友惊问为什么杀他,张宗昌答:

那人名片上光各种头衔就列了十几条,足见他绝不是什么好人。

3

最近,很多人因为新冠疫情肆虐失去了工作,大家不约而同选择去做外卖员。

美国网友们见过的外卖员有园艺师,珠宝店主,甚至哈里王子。他和自己的妻子,带着保安团队,开着两辆SUV,送起了外卖。

《新乡时报》写了一个故事,疫情中的脱衣舞俱乐部被迫停业,年轻姑娘们开始在店里做食品送外卖。她们的生意非常火爆,从早上七点一直忙到凌晨一点,送餐费30美元起跳。

你包叔专门在美国的点评网站看了客户评价,有一条写得非常有意思:

年轻真好。她们帮我找回了曾经的骄傲。

在中国,很多骑手都是兼职。据说有个90后设计师放弃四万月薪改送饿了么外卖,最后脂肪肝都跑没了。还有不少自媒体博主下班都去做外卖。这一点我是可以作证了,看到一些自拍网站上出现了很多穿黄色骑手制服为主角的电影后,包叔也去跑外卖了。

但保障一个国家的城市生活服务系统正常运转,不能只靠大家的兴趣爱好。

中国有800万外卖骑手,能让他们养家糊口,并且在任何时候都顶风冒雨急速奔跑,可真是一件难事。这一点,一门心思都在自己会员身上的广东省餐饮服务协会,眼光还是要放高一点的。

疫情阴影下,今年不知道乌镇大会还会不会搞。大前年的乌镇大会,马云在开幕式演讲上讲了一个故事。

一百多年前,富起来的英国人喜欢上了汽车。这种交通工具在当时并不讨喜,马车制造商们联合起来要抵制这种危险的交通工具。

1865年,英国议会通过了《机动车法案》,法案中规定,一辆汽车必须由三人驾驶,其中一个人必须一直走在汽车前面的50米,不断挥动红旗为机动车进行引导。

当时,法案还规定,汽车时速不能超过6.4公里,进城后时速不能超过3.2公里。

这部法案后来被人们称为红旗法案,基本彻底消灭了英国的汽车工业。

新老利益团体冲突的可笑案例,伴生了人类的商业史。比如150年前,美国也有制作灯具、蜡烛的工业主向政府提出,应该重新征收玻璃税、窗户税:

以禁止阳光照入屋内。

时代不一样了,以前蜡烛是用来照明,现在用来发微博,当然还有少数包叔这样的传统人士,用来滴在身上。


转自:https://mp.weixin.qq.com/s/n65bGDY1c9X_pehoWmfa5Q