Xiaopei's DokuWiki

These are the good times in your life,
so put on a smile and it'll be alright

User Tools

Site Tools


it:misc

Misc

oracle TDE

强加密算法 / 强效加密法

至 2016 年(PCI DSS 3.2),经过行业测试和认可的标准和算法包括 AES(128 位和更高)、TDES/TDEA(最少三倍长的密钥)、RSA(2048 位和更高)、ECC(224 位和更高)以及 DSA/D-H(2048/224 位和更高)。关于密钥强度和算法的更多指南,请参见《NIST 特别出版物 800-57》第 1 部分的最新版本(http://csrc.nist.gov/publications/)。

国密

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。

SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。

SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

ISO/GB

下载 GB 文件比较方便: 标准文献网

GB 是强制标准

GB/T 的 T 代表推荐,非强制标准

有些标准是直接从 ISO 翻译的,会标注 ISO 原标号

  • MOD:修改采用 modified
  • IDT:等同采用 indentical
  • EQV:等效采用 equivalent
  • NEQ:非等效采用 no equivalent

Non-breaking space $nbsp; c2a0

\xc2\xa0 means 0xC2 0xA0 is so-called

Non-breaking space

正常的空格是 0x20,用户输入可能是 $nbsp;,存在数据库里我们不一样,select 不出来就头疼了,可以在保存前做 x.replace(“\xc2\xa0”, “ ”) 替换

税务

会计

  • 计提 accrual
  • 权责发生制 accrual basis

Darik's Boot and Nuke (DBAN) 硬盘抹除

DBAN 下载 iso 直接 dd 烧到 U 盘上好像不能启动,看原因是 MBR 和 floppy(软盘)的区别,最后用 windows 下的 linux 烧录软件 Pendrive Linux Universal USB-Installer 烧成功

用 2.2.8 版本,更新的版本🕯️🐔有些电脑 boot 不起来报错 cat: can't open '/proc/cmdline' : No such file or directory

如果遇到无法加载,可能换个 U 盘能好

如果系统不能从 u 盘 boot,一般需要进到 bios 中,禁用 secure boot,并且 boot mode 禁用 uefi,用 lagacy mode!

DBAN won't boot on Windows 10 : techsupport

清除浏览器缓存

机房 机柜 rack

REST API 对比

API 说明 示例
GitHub API v31)
  • 用 HTTP Status 表示成功与否
  • HTTP Body 里只放成功的数据或错误信息,没有 wrapper
    • 400 Bad Request 用来表示请求 body 格式错误
    • 422 Unprocessable Entity 用来表示请求 body 参数不对(错误字段在返回 body 里)
    • 401 Unauthorized 登录信息出错
    • 403 Forbidden 出错请求数量达到限制
  • 版本、限流用 X- header 表示
  • 分页
    • 直接用 json 数组返回
    • pagination 信息放在 header 的 link 里 Link: <https://api.github.com/search/code?q=addClass+user%3Amozilla&page=2>; rel="next", <https://api.github.com/search/code?q=addClass+user%3Amozilla&page=34>; rel="last"
    • link 需要自行解析,且必须用返回的页码(In some instances, such as in the Commits API, pagination is based on SHA1 and not on page number.)
curl -i https://api.github.com/users/defunkt

HTTP/1.1 200 OK
Server: GitHub.com
Date: Sun, 11 Nov 2012 18:43:28 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Status: 200 OK
ETag: "bfd85cbf23ac0b0c8a29bee02e7117c6"
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1352660008
X-GitHub-Media-Type: github.v3
Vary: Accept
Cache-Control: public, max-age=60, s-maxage=60
X-Content-Type-Options: nosniff
Content-Length: 692
Last-Modified: Tue, 30 Oct 2012 18:58:42 GMT

{
  "login": "defunkt",
  "id": 2,
  "url": "https://api.github.com/users/defunkt",
  "html_url": "https://github.com/defunkt",
  ...
}

RESTFUL API

HTTP Verb Path Controller#Action Used forReturn
GET /photos photos#index display a list of all photos返回资源对象的列表(数组)
GET /photos/new photos#new return an HTML form for creating a new photo -
POST /photos photos#create create a new photo返回新生成的资源对象
GET /photos/:id photos#show display a specific photo返回单个资源对象
GET /photos/:id/edit photos#edit return an HTML form for editing a photo -
PATCH/PUT /photos/:id photos#update update a specific photo返回单个资源对象
DELETE /photos/:id photos#destroy delete a specific photo返回一个空文档
HTTP Verb Path Controller#Action Used for
GET /magazines/:magazine_id/ads ads#index display a list of all ads for a specific magazine
GET /magazines/:magazine_id/ads/new ads#new return an HTML form for creating a new ad belonging to a specific magazine
POST /magazines/:magazine_id/ads ads#create create a new ad belonging to a specific magazine
GET /magazines/:magazine_id/ads/:id ads#show display a specific ad belonging to a specific magazine
GET /magazines/:magazine_id/ads/:id/edit ads#edit return an HTML form for editing an ad belonging to a specific magazine
PATCH/PUT /magazines/:magazine_id/ads/:id ads#update update a specific ad belonging to a specific magazine
DELETE /magazines/:magazine_id/ads/:id ads#destroy delete a specific ad belonging to a specific magazine

Resources should never be nested more than 1 level deep. One way to avoid deep nesting is to generate the collection actions scoped under the parent, so as to get a sense of the hierarchy, but to not nest the member actions. In other words, to only build routes with the minimal amount of information to uniquely identify the resource. 详见 rails routing 文档

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

  • 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
  • 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
  • 204 NO CONTENT - [DELETE]:用户删除数据成功。
  • 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。。
  • 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
  • 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

tips

  • 对于经常使用的搜索查询,我们可以为他们设立别名,这样会让API更加优雅。例如:get /tickets?q=recently_closedget /tickets/recently_closed
  • 在post,put,patch上使用json作为输入
  • embed 自动加载相关的资源(值得提醒的是,这个功能有时候会很复杂,并且可能导致N+1 SELECT 问题)
    # get /ticket/12?embed=customer.name,assigned_user
    {
        id: 12,
        subject: "J'ai un question!",
        summary: "Bonjour, ...",
        customer: {
    	name: "Bob"
        },
        assigned_user: {
    	id: 42,
    	name: "Jim"
        }
    }
  • 速度限制
    • RFC 6585 引入了HTTP状态码429(too many requests)
    • 提示标准上没有说明,不过流行的方法是使用HTTP的返回头。下面是几个必须的返回头(依照twitter的命名规则):
      • X-Rate-Limit-Limit :当前时间段允许的并发请求数
      • X-Rate-Limit-Remaining:当前时间段保留的请求数。
      • X-Rate-Limit-Reset:当前时间段剩余秒数
  • 缓存。HTTP提供了自带的缓存框架。你需要做的是在返回的时候加入一些返回头信息,在接受输入的时候加入输入验证。基本两种方法:
    • ETag
    • Last-Modified
  • RESTful API最好做到Hypermedia,即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么。如下是 github 的例子:
// GET api.github.com
{
  "current_user_url": "https://api.github.com/user",
  "authorizations_url": "https://api.github.com/authorizations",
  "code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}",
  "emails_url": "https://api.github.com/user/emails",
  "emojis_url": "https://api.github.com/emojis",
  "events_url": "https://api.github.com/events",
  "feeds_url": "https://api.github.com/feeds",
  "following_url": "https://api.github.com/user/following{/target}",
  "gists_url": "https://api.github.com/gists{/gist_id}",
  "hub_url": "https://api.github.com/hub",
  "issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}",
  "issues_url": "https://api.github.com/issues",
  "keys_url": "https://api.github.com/user/keys",
  "notifications_url": "https://api.github.com/notifications",
  "organization_repositories_url": "https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}",
  "organization_url": "https://api.github.com/orgs/{org}",
  "public_gists_url": "https://api.github.com/gists/public",
  "rate_limit_url": "https://api.github.com/rate_limit",
  "repository_url": "https://api.github.com/repos/{owner}/{repo}",
  "repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}",
  "current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}",
  "starred_url": "https://api.github.com/user/starred{/owner}{/repo}",
  "starred_gists_url": "https://api.github.com/gists/starred",
  "team_url": "https://api.github.com/teams",
  "user_url": "https://api.github.com/users/{user}",
  "user_organizations_url": "https://api.github.com/user/orgs",
  "user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}",
  "user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}"
}

// https://api.github.com/users/toksea
{
  "login": "toksea",
  "id": 501894,
  "avatar_url": "https://avatars.githubusercontent.com/u/501894?v=2",
  "gravatar_id": "",
  "url": "https://api.github.com/users/toksea",
  "html_url": "https://github.com/toksea",
  "followers_url": "https://api.github.com/users/toksea/followers",
  "following_url": "https://api.github.com/users/toksea/following{/other_user}",
  "gists_url": "https://api.github.com/users/toksea/gists{/gist_id}",
  "starred_url": "https://api.github.com/users/toksea/starred{/owner}{/repo}",
  "subscriptions_url": "https://api.github.com/users/toksea/subscriptions",
  "organizations_url": "https://api.github.com/users/toksea/orgs",
  "repos_url": "https://api.github.com/users/toksea/repos",
  "events_url": "https://api.github.com/users/toksea/events{/privacy}",
  "received_events_url": "https://api.github.com/users/toksea/received_events",
  "type": "User",
  "site_admin": false,
  "name": "Xiaopei Li",
  "company": "",
  "blog": "http://xiaopei.li",
  "location": "Beijing, China",
  "email": "toksea@gmail.com",
  "hireable": true,
  "bio": null,
  "public_repos": 14,
  "public_gists": 1,
  "followers": 15,
  "following": 34,
  "created_at": "2010-11-29T14:20:53Z",
  "updated_at": "2014-10-17T07:43:52Z"
}

身份证相关的测试用例

  • 先检查校验位,再做二要素检查
  • 三方检查成功的和检查失败的都可以本地缓存,避免重复请求浪费钱
  • 是否支持输入 x
  • x 是否忽略大小写
  • 过期时间是否是长期

iCal, iCalendar, 日历, rfc 2445 (i for Internet, not apple)

rfc2445 Internet Calendaring and Scheduling Core Object Specification (iCalendar)

js 解析 rfc2445 的 rrule (repeat rule, 重复规则) 有专门的库: rrule

LaTeX

Math Synbols

小时候电视信号串线是什么原理?

当时AV线不流行 大家接FC都是用看电视的RF射频线

RF射频线说白了 就是为了兼容电视接受无线信号的功能 而做出来的在有线线路上跑无线信号的接口 但是因为RF线的信号屏蔽做的并不好 所以会有无线信号外漏 你家用RF线看电视的时候 接受到了隔壁家FC输出后外漏的RF无线信号 就能看到隔壁打游戏的画面了

电视的RF接口本身在设计之初就是用来插天线的 闭路电视技术实际上就是把原本应该以无线传播的电波信号 放在了同轴电缆上来传输 但是虽然是有线传输了 里面跑的信号频率编码什么的实际上和无线信号本质上是一样的 因为RF线一般都有一定的长度 正好和里面跑的信号的频率相符 可以作为辐射/接收的天线使用 所以 这种串台现象中 其实是隔壁家的FC上插的RF线作为发射天线 而你家电视上插的RF线作为接收天线

小时候电视信号串线是什么原理? - 游戏论坛 - Stage1st - stage1/s1 游戏动漫论坛

eMule

SPM - Statistical Parametric Mapping

序列化 Serialization

JSON

YAML

一些查询接口

银行卡 bin 查询:

联行号-银行联行号查询

序号联行行号银行名称电话地址
1102100099996中国工商银行总行清算中心010-68217526北京市海淀区翠微路15号
2102100034678中国工商银行股份有限公司北京十八里店南桥支行87641760北京市朝阳区十八里店南桥观筑庭园801号楼103、203号

安装后, 可使用 nali[tab] 查看可用的命令. 没有的命令, 如 mtr, 也能使用 mtr | nali 来翻译(详见 cat `which nali-dig`).

0.2 及以上版本有 nali-update 命令, 可更新数据库.

网易有道 IP地址、邮编区号及城市查询、手机号码归属地和身份证 查询接口API - gg137608987的专栏 - 博客频道 - CSDN.NET

  • IP查询:http://www.yodao.com/smartresult-xml/search.s?type=ip&q=IP地址
  • 手机归属查询:http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码
  • 身份证查询:http://www.yodao.com/smartresult-xml/search.s?type=id&q=身份证号码
  • 查城市名/邮编/区号:http://www.youdao.com/smartresult-xml/search.s?type=zip&q=邮箱或区号

Newline | line break | end-of-line (EOL) | 换行

Newline

类型 输出 hex value
LF(Line feed) “\n” 0x0A
CR(Carriage return) “\r” 0x0D
CR+LF(CR followed by LF) “\r\n” 0x0D0A
OS 类型
UNIXLF
WindowsCR+LF

UPS (Uninterruptible Power Supply)

UPS 类型:

  • 在线式不断电系统(On-Line UPS)的运作模式为“市电和用电设备是隔离的,市电不会直接供电给用电设备”,而是到了UPS就被转换成直流电,再兵分两路,一路为电池充电,另一路则转回交流电,供电给用电设备,市电供电品质不稳或停电时,电池从充电转为供电,直到市电恢复正常才转回充电,“UPS在用电的整个过程是全程介入的”。其优点是输出的波型和市电一样是正弦波,而且纯净无杂讯,不受市电不稳定的影响,可供电给“电感型负载”,例如电风扇,只要在UPS输出功率足够的前题下,可以供电给任何使用市电的设备。
  • 后备式又称为离线式不断电系统(Off-Line UPS),它只是“备援”性质的UPS,市电直接供电给用电设备也为电池充电(Normal Mode),一旦市电供电品质不稳或停电了,市电的回路会自动切断,电池的直流电会被转换成交流电接手供电的任务(Battery Mode),直到市电恢复正常,“UPS只有在市电停电了才会介入供电”,不过从直流电转换的交流电是方波,只限于供电给电容型负载,如电脑和监视器。
  • 线上交错式又称为线上互动式或在线互动式(Line-Interactive UPS),基本运作方式和离线式一样,不同之处在于线上交错式虽不像在线式全程介入供电,但随时都在监视市电的供电状况,本身具备升压和减压补偿电路,在市电的供电状况不理想时,即时校正,减少不必要的“Battery Mode”切换,延长电池寿命。

山特 C1K 系列 UPS 工作原理:

电学基础:

  • 交流电(英语:Alternating Current,缩写:AC)是指大小和方向都发生周期性变化的电流,因为周期电流在一个周期内的运行平均值为零,称为交变电流或简称交流电。通常波形为正弦曲线2)。交流电可以有效传输电力。生活中使用的市电就是具有正弦波形的交流电。
  • 直流电(Direct Current,缩写:DC): 是指方向不随时间发生改变的电流,但电流大小可能不固定,而产生波形。直流电的电荷在一个电路中沿着单一方向流动。日常生活中,电池提供的电流就是直流电。

refs

oEmbed

oEmbed 是一种站点 A (比如你的博客)向站点 B (比如 YouTube)去请求嵌入内容(比如视频)的 HTML 代码的协议。

oEmbed 设计出来是为了嵌入媒体网站的内容的时候避免复制和粘贴 HTML 代码,它支持视频,图片,文本等等更多。

WordPress 中默认支持一部分网站, 见 wp-includes/class-oembed.php. 扩展 WordPress 的 oEmbed 有以下方法:

  1. 若某网站已提供 oEmbed 接口, 可使用 wp_oembed_add_provider() 将该网站加入白名单
    <?php wp_oembed_add_provider( 'http://site.com/watchvideo/*', 'http://site.com/oembedprovider' ); ?>
  2. 若想自己写 oEmbed handler, 可使用 wp_embed_register_handler()
    <?php
     
    wp_embed_register_handler( 'forbes', '#http://(?:www|video)\.forbes\.com/(?:video/embed/embed\.html|embedvideo/)\?show=([\d]+)&format=frame&height=([\d]+)&width=([\d]+)&video=(.+?)($|&)#i', 'wp_embed_handler_forbes' );
     
    function wp_embed_handler_forbes( $matches, $attr, $url, $rawattr ) {
     
    	$embed = sprintf(
    			'<iframe src="http://www.forbes.com/video/embed/embed.html?show=%1$s&format=frame&height=%2$s&width=%3$s&video=%4$s&mode=render" width="%3$spx" height="%2$spx" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe>',
    			esc_attr($matches[1]),
    			esc_attr($matches[2]),
    			esc_attr($matches[3]),
    			esc_attr($matches[4])
    			);
     
    	return apply_filters( 'embed_forbes', $embed, $matches, $attr, $url, $rawattr );
    }
     
    ?>
  3. 若某网站未提供 oEmbed 接口, 自己又写不出来 handler, 可使用 Embedly. Embedly 是一个第三方 oEmbed 服务: 一个 API 就能嵌入 100 多个网站的资源. 但 API 需要 key 才能工作, key 有免费版每月支持 10000 次调用. Embedly 有 WP 插件. 3)

refs

Directory Service 目录服务

A directory service is the software system that stores, organizes and provides access to information in a directory(like a tree?). In software engineering, a directory is a map between names and values. It allows the lookup of values given a name, similar to a dictionary. As a word in a dictionary may have multiple definitions, in a directory, a name may be associated with multiple, different pieces of information. Likewise, as a word may have different parts of speech and different definitions, a name in a directory may have many different types of data.

Directories may be very narrow in scope, supporting only a small set of node types and data types, or they may be very broad, supporting an arbitrary or extensible set of types. In a telephone directory, the nodes are names and the data items are telephone numbers. In the DNS the nodes are domain names and the data items are IP addresses (and alias, mail server names, etc.). In a directory used by a network operating system, the nodes represent resources that are managed by the OS, including users, computers, printers and other shared resources.

中文编码

gb18030 为 gb2312 的超集, Linux 下对 Windows 的中文文件做转码时应 $ iconv -f gb18030

UTF8 特殊字符

  • mysql 里展示特殊字符的编码
    mysql>SELECT CH_REAL_NAME, hex(CH_REAL_NAME), hex('魏再莲'), length(CH_REAL_NAME), length('魏再莲')
     FROM redpacket_user_bankcards_indiv where I_USER_ID=123;
    +------------------------+--------------------------------------+-------------------------+--------------------------------+----------------------------+
    | CH_REAL_NAME           | hex(CH_REAL_NAME)                    | hex('魏再莲')           | length(CH_REAL_NAME)           | length('魏再莲')           |
    +------------------------+--------------------------------------+-------------------------+--------------------------------+----------------------------+
    | ‍魏‍再‍莲           | E2808DE9AD8FE2808DE5868DE2808DE88EB2 | E9AD8FE5868DE88EB2      | 18                             | 9                          |
    +------------------------+--------------------------------------+-------------------------+--------------------------------+----------------------------+
  • 里面混入了奇怪的东西
  • 这个 utf8-decoder 很强大,把 hex 输入后,分别得到
    E9AD8FE5868DE88EB2
    ------
    As raw characters:魏再莲
    As a string of HTML entities: &#x9b4f;&#x518d;&#x83b2;
    As character names:
    U+9B4F CJK UNIFIED IDEOGRAPH character (&#x9B4F)
    U+518D CJK UNIFIED IDEOGRAPH character (&#x518D)
    U+83B2 CJK UNIFIED IDEOGRAPH character (&#x83B2)
    
    E2808DE9AD8FE2808DE5868DE2808DE88EB2
    ------
    As raw characters:‍魏‍再‍莲
    As a string of HTML entities:&#x200d;&#x9b4f;&#x200d;&#x518d;&#x200d;&#x83b2;
    As character names:
    U+200D ZERO WIDTH JOINER character (&#x200D;)
    U+9B4F CJK UNIFIED IDEOGRAPH character (&#x9B4F)
    U+200D ZERO WIDTH JOINER character (&#x200D;)
    U+518D CJK UNIFIED IDEOGRAPH character (&#x518D)
    U+200D ZERO WIDTH JOINER character (&#x200D;)
    U+83B2 CJK UNIFIED IDEOGRAPH character (&#x83B2)
  • 这个 U+200D ZERO WIDTH JOINER character (&#x200D;) 是什么呢?
  • 零宽连字:零宽连字符 (zero-width joiner,ZWJ)是一个不打印字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果。零宽连字符的Unicode码位是U+200D (HTML: &#8205; &zwj;)。
  • 中文里出现这个可能是 火星文输入法 产生的
  • 另外,emoji 里面也会用 ZWJ 来拼接一些复杂的表情 絵文字一覧(家族:family) | Let's EMOJI

NTP: Network Time Protocol

对于虚拟机(virtual machine, vm), 不应该使用 NTP, 而是安装 vm 的 client 插件做同步时间(及更多)操作

国内可用的 NTP 服务器

http://www.douban.com/note/171309770/

210.72.145.44 (国家授时中心服务器IP地址)
——————————————————————————
# 以下是教育网可用的 NTP 服务器地址
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学
s2c.time.edu.cn 北京邮电大学
s2d.time.edu.cn 西南地区网络中心
s2e.time.edu.cn 西北地区网络中心
s2f.time.edu.cn 东北地区网络中心
s2g.time.edu.cn 华东南地区网络中心
s2h.time.edu.cn 四川大学网络管理中心
s2j.time.edu.cn 大连理工大学网络中心
s2k.time.edu.cn CERNET桂林主节点
s2m.time.edu.cn 北京大学
——————————————————————————

HTTP 的幂等性(idempotence)

HTTP幂等性概念和应用

HTTP 方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用

非幂等幂等
非幂等 幂等

rails 是符合幂等性的.

class ProductsController < ApplicationController
  # POST /products
  def create
    # ...
  end
 
  # PUT /products/1
  def update
    # ...
  end
 
  # DELETE /products/1
  def destroy
    # ...
  end
end

并行计算 Parallel Computing

集群 cluster

计算机集群(cluster)是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性价比要高得多。

LVS

网格 grid

网格计算通过利用大量异构计算机(通常为桌面)的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别。

网格计算的设计目标是:解决对于任何单一的超级计算机来说,仍然大得难以解决的问题,并同时保持解决多个较小的问题的灵活性。这样,网格计算就提供了一个多用户环境。它的第二个目标就是:更好的利用可用计算力,迎合大型的计算练习的断断续续的需求。

这隐含着使用安全的授权技术,以允许远程用户控制计算资源。

网格计算包括共享异构资源(基于不同的平台,硬件/软件体系结构,以及计算机语言),这些资源位于不同的地理位置,属于一个使用公开标准的网络上的不同的管理域。简而言之,它包括虚拟化计算资源。

比如 SETI@home.

集群和网格的区别

网格计算经常和集群计算相混淆。二者主要的不同就是:集群是同构的,而网格是异构的;网格扩展包括用户桌面机,而集群一般局限于数据中心。

glossary

  • KVM Switch: Keyboard, Video and Mouse switch
  • SSO: Signle_Sign-on, 单点登陆
  • NLS: National/Native Language Support, 即 i18n/l10n, Internationalization_and_localization. in oracle: Oracle的NLS设置.
  • LSB,Linux Standard Base,Linux标准库。至今(2006)还没有厂家发布一款符合LSB的应用软件
  • POSIX,Portable Operation System Interface,可移植操作系统接口。实际是为UNIX制定的标准,Linux服从POSIX
  • USB: Universal Serial Bus
    • USB 2.0: 急速 480Mbit/s
    • USB 3.0: 急速 5Gbit/s
    • 只能 主设备 向 从设备 发数据/要数据
    • OTG: 鉴别主/从设备的技术
    • 传输类型: …
    • 设备类型: HID, mass storage, etc
  • HID: Human interface device, 人机接口, 键盘鼠标…
  • REPL, Read–eval–print loop, (loop (print (eval (read)))), also known as an interactive toplevel or language shell
2)
但实际上还有应用其他的波形,例如三角形波、正方形波。
3)
Embedly 对 youku 的处理在电脑很好, 但在 iPhone 不 work — 2012/11/29 22:40
it/misc.txt · Last modified: 2018/05/02 15:06 by admin