概念

YAML 语言教程

编程免不了要写配置文件,怎么写配置也是一门学问。

YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。

本文介绍 YAML 的语法,以 JS-YAML 的实现为例。你可以去在线 Demo 验证下面的例子。

一、简介

YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。

它的基本语法规则如下。

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

# 表示注释,从这个字符一直到行尾,都会被解析器忽略。

YAML 支持的数据结构有三种。

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

以下分别介绍这三种数据结构。

二、对象

对象的一组键值对,使用冒号结构表示。


animal:

依赖注入(Dependency Injection)模式

2.1 依赖注入模式

依赖注入(Dependency Injection) 是一个非常简单的概念,伸手-等待。(让DIP、IoC滚蛋)

如例程2.1所示,Client依赖于抽象类型(甚至是具体类) IServer,蛋是(1)Client的类体中不创建IServer(子类)的对象,它不想自己创建IServer对象,而是提供public的构造器Client(IServer)或设置方法setIServer (IServer)等(伸手),(2)坐等外界将初始化后的IServer对象(的引用)传递进来(等待)。…

怎样理解 cosocket

笔者认为,cosocket 是 OpenResty 世界中技术、实用价值最高的部分。让我们可以用非常低廉的成本,优雅的姿势,比传统 socket 编程效率高好几倍的方式进行网络编程。无论资源占用、执行效率、并发数等都非常出色。

鲁迅有句名言“其实世界上本没有路,走的人多了便有了路”,其实对于 cosocket 的中文翻译貌似我也碰到了类似的问题。当我想给大家一个正面解释,爬过了官方 wiki 发现,原来作者本人(章亦春)也没有先给出 cosocket 定义。…

互联网协议入门

我们每天使用互联网,你是否想过,它是如何实现的?

全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?…

利用 oEmbed 和 PHP 访问第三方内容

将来自流行应用程序和网站的富内容和数据添加到自己的 web 页面

oEmbed 规范提供了一种方法,可以在 web 页面中显示来自第三方内容共享站点的内容的嵌入式表示。本文介绍 oEmbed API,并在一个 PHP 应用程序上下文中进行演示,解释如何使用它来嵌入来自诸如 Flickr、YouTube、Slideshare、Wikipedia 等流行网站的内容。

oEmbed: 一个嵌入媒体的开放格式

oEmbed 是一个最新的规格,由Cal Henderson (Flickr), Mike Malone, Leah Culver (Pownce), 和Richard Crowley (OpenDNS) 公布.

oEmbed是一个开放格式,来标准化嵌入图片、视频、链接或者其他媒体的方法,以及绕过媒体提供者的API(或需要屏幕抓取但没有).在一个用户发表直接指向具体媒体资源链接时,它使网站能快速简单地嵌入这个媒体.它的工作原理是:把链接作相应转换,也就是说,把图片或者视频转成XML或者JSON,告诉用户如何嵌入媒体.

“oEmbed是一个格式,允许一个URL的嵌入代理存在于第三方站点.当一个用户发表一个资源的链接时,简单的API允许一个网站显示嵌入内容(比如图片、视频),而没有必要直接解析这个资源.”作者在oEmbed网页上说.…

常用的数据结构以及算法

一、关于数据的几个概念

1、数据。是对客观事物的符号表示。在计算机科学是指所有能够输入到计算机中并能被

计算机程序处理的符号集合。包括数值、文字、图像、图像、音频、视频等形式。

2、数据项。所谓数据项就是数据中具有独立含义的、不可再分割的最小数据单位。是客

观实体一种特征的数据表示。

Page 5 of 512345