<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RSS - Ashtray</title>
    <description>Ashtray - 烟灰缸'S BLOG</description>
    <link>Ashtray.github.io</link>
    <atom:link href="Ashtray.github.io/page/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Mon, 13 Jan 2020 08:36:34 +0000</pubDate>
    <lastBuildDate>Mon, 13 Jan 2020 08:36:34 +0000</lastBuildDate>
    <generator>烟灰缸</generator>
    
      <item>
        <title>CryptDB</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/lunzi2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;!-- more --&gt;

&lt;h1 id=&quot;cryptdb&quot;&gt;CryptDB&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;title&lt;/code&gt;: CryptDB: Protecting Confidentiality with Encrypted Query Processing&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Author&lt;/code&gt;: Raluca Ada Popa&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt;: 2015&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site&lt;/code&gt;: 205 util 07/29/2015&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;link&lt;/code&gt;: http://www.mit.edu/~ralucap/CryptDB-sosp11.pdf&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;http://css.csail.mit.edu/cryptdb/cryptdbdiag.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;##CryptDB  Introduction&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Online applications are vulnerable to theft of sensitive information because adversaries can exploit software bugs to gain access to private data, and because curious or malicious administrators may capture and leak data. CryptDB is a system that provides practical and provable confidentiality in the face of these attacks for applications backed by SQL databases. It works by executing SQL queries over encrypted data using a collection of efficient SQL-aware encryption schemes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;problem&quot;&gt;Problem&lt;/h2&gt;

&lt;p&gt;Online apps are vulnerable because:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;adversaries can exploit software bugs to gain access to private data&lt;/li&gt;
  &lt;li&gt;curious or malicious administrators capture and leak data&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;chanllenges&quot;&gt;Chanllenges&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;最小化给数据库的密钥。最大化query语句执行效率。&lt;/code&gt;tension between &lt;strong&gt;minimizing confidential info revealed to the DBMS&lt;/strong&gt; and &lt;strong&gt;efficiently execute queries&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;应用服务器被攻破后也能保护。&lt;/code&gt;minimize data leak when application server is compromised, in addition to DBMS server&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;idea&quot;&gt;Idea&lt;/h2&gt;

&lt;p&gt;Provide practical and provable confidentiality for the problem.
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;实际且证明有效的算法。&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;在加密过的数据上执行SQL语句。&lt;/code&gt;execute SQL queries over encrypted data using a collection of efficient SQL-aware encryption schemes.&lt;/li&gt;
  &lt;li&gt;adjustable query-based encryption&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;用每个用户的key来加密。&lt;/code&gt;chain encryption keys to user passwords&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;result&quot;&gt;Result&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;数据库管理员无法单从数据库上获取明文信息。&lt;/code&gt;A database administrator never gets access to decrypted data&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;应用服务器也被攻破了？没有登的信息还是可以得到保护。&lt;/code&gt;even if all servers are compromised, an adversary cannot decrypt data of user who is not logged in&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;全文翻译&quot;&gt;全文翻译&lt;/h2&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;1-introduction&quot;&gt;1. Introduction&lt;/h3&gt;
&lt;p&gt;private信息不安全。漏洞可以获取server权限;应用服务器管理员会做坏事;物理上接触server的人可以直接从硬盘和内存中读。&lt;/p&gt;

&lt;p&gt;naive方法：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;极端：所有数据加密，在客户端解密，在客户端运算。有些运算需要做运算在大量数据上;将现有server应用转换到client上比较困难。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TODO server上不做运算，或者做少量数据量大的运算。怎样easy的将数据转换到client上来做？&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;完全同态加密。server运行所有函数，都可以对加密的数据使用，client看到解密数据。太慢不实际。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CryptDB处理情形：数据库和分离的应用服务器。两种thread：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;DBA从数据库上泄漏数据&lt;/li&gt;
  &lt;li&gt;Hacker得到数据库和应用服务器的权限。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;两个chanllenge：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;最小化给数据库的密钥。最大化query语句执行效率。现有方法不是太慢就是安全不够，或者功能不强（有些query执行不了）&lt;/li&gt;
  &lt;li&gt;应用服务器被攻破后也能保护。&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;cryptDB解决这些的3个key idea&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;在加密数据上执行query。&lt;br /&gt;
实现这个想法，通过 &lt;em&gt;SQL-aware encryption strategy&lt;/em&gt;，&lt;br /&gt;
利用的是所有SQL语句都是由well-defined原语组成的，&lt;br /&gt;
比如equality check,order comparison,sum,join.&lt;br /&gt;
使用现有的encryption scheme（对equality,sum,order),&lt;br /&gt;
和新的privacy-preserving cryptographic(对join)。&lt;br /&gt;
为什么快？mostly使用对称加密，避免同态加密，而且不用修改数据库结构。&lt;/li&gt;
  &lt;li&gt;adjustable query-based encryption. 自适应改变加密策略。&lt;br /&gt;
想要执行特定的功能的语句（order,euqlity)，需要泄漏更多信息。&lt;br /&gt;
但是也有不泄漏的加密，但是不能执行一些语句。&lt;br /&gt;
所以对不同数据使用不同加密。&lt;br /&gt;
但是我们只有在运行的时候才能知道操作到底需要什么功能。&lt;br /&gt;
使用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;onions of encryption&lt;/code&gt;。&lt;br /&gt;
紧密的存储多个密文。&lt;/li&gt;
  &lt;li&gt;chain encryption keys to user passwords.&lt;br /&gt;
数据只能通过对应用户的密码来解。&lt;br /&gt;
结果是就算应用服务器被攻破了没，不登录的用户是安全的。&lt;br /&gt;
为了构造这个chain，developer在应用的SQL schema上提供policy annotations。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;2-security-overview&quot;&gt;2. Security Overview&lt;/h3&gt;

&lt;h4 id=&quot;thread1-数据库&quot;&gt;Thread1: 数据库&lt;/h4&gt;

&lt;h4 id=&quot;thread2-应用server也被攻破&quot;&gt;THread2: 应用server也被攻破&lt;/h4&gt;

&lt;h3 id=&quot;3-queries-over-encrypted-data&quot;&gt;3. Queries over encrypted data&lt;/h3&gt;

&lt;h4 id=&quot;sql-aware-encryption&quot;&gt;SQL-aware encryption&lt;/h4&gt;

&lt;p&gt;encryption type. 对于每一个type，讨论cryptdb需要的安全属性，功能，实现。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Random(RND)&lt;/li&gt;
  &lt;li&gt;Deterministic(DET)&lt;/li&gt;
  &lt;li&gt;Order-preserving encryption(OPE)&lt;/li&gt;
  &lt;li&gt;Homomorphic encryption(HOM)&lt;/li&gt;
  &lt;li&gt;Join(JOIN and OPE-JOIN) 新的。&lt;/li&gt;
  &lt;li&gt;Word search(SEARCH)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;adjustable-query-based-encryption&quot;&gt;Adjustable Query-based Encryption&lt;/h4&gt;

&lt;h4 id=&quot;executing-over-encrypted-data&quot;&gt;Executing over Encrypted Data&lt;/h4&gt;

&lt;h4 id=&quot;computing-joins&quot;&gt;Computing Joins&lt;/h4&gt;

&lt;h4 id=&quot;improving-security-and-performance&quot;&gt;Improving Security and Performance&lt;/h4&gt;

&lt;h3 id=&quot;4-multiple-principals&quot;&gt;4. Multiple Principals&lt;/h3&gt;

&lt;h3 id=&quot;5-application-case-studies&quot;&gt;5. Application case studies&lt;/h3&gt;

&lt;h3 id=&quot;6-discussion&quot;&gt;6. discussion&lt;/h3&gt;

&lt;h3 id=&quot;7-implementation&quot;&gt;7. implementation&lt;/h3&gt;

&lt;h3 id=&quot;8-experimental-evaluation&quot;&gt;8. experimental evaluation&lt;/h3&gt;

&lt;h3 id=&quot;9-related-work&quot;&gt;9. related work&lt;/h3&gt;

&lt;h3 id=&quot;10-conclusion&quot;&gt;10. conclusion&lt;/h3&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Tue, 01 Sep 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/09/01/cryptdb.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/09/01/cryptdb.html</guid>
        
        <category>翻译</category>
        
      </item>
    
      <item>
        <title>下推自动机</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/%E6%AF%9B%E6%B3%BD%E4%B8%9C%E6%80%9D%E6%83%B3%E4%B8%87%E5%B2%81.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;傻刚的精神胜利法&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;premise 1A：俗话说 物以类聚，人以群分，所以当你发现自己身边有sb的时候，就是时候反省自己了。&lt;/p&gt;

&lt;p&gt;premise 1B：研究发现，一个人的道德素养水平是否与受教育程度高低无关，使样本全部来自985，正态分布依然成立&lt;/p&gt;

&lt;p&gt;premise 2A：团队总会有个傻叉活跃气氛，娱乐大众，他出现在哪里，哪里就充满了快活的空气。&lt;br /&gt;
而当你环顾四周并没发现这样的人，那你就危险了。&lt;/p&gt;

&lt;p&gt;premise 2B：基于正态分布，身边特别笨，傻，呆板的人的数量和聪明的，智慧的，有领导风范的人的数量是相当的，又由3σ原则推出，这类人数（1-99.73%）平分天下，所以当你发现一个人超出了你的理解范围的时候，不是在这头就是在那头（傻叉or大神）&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;不幸的事实1：通讯录里可查得本团队人数为386，下取整算得386*（1-99.73%）=1&lt;/p&gt;

&lt;p&gt;不幸的事实2：我环顾四周并没有发现这样的人&lt;/p&gt;

&lt;p&gt;不幸的事实3：太阳当空照，花儿对我笑，莫非我周围都是快活的空气？&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	心里OS：我怎么可能是傻叉啊喂，醒醒，我可是站在正态分布顶端的男人，3σ都套不住我这匹脱缰的野马    
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;音乐起（爱上一匹野马，头上都是草原）~&lt;/p&gt;

&lt;p&gt;此处应运用阿Q精神胜利法，反压制，大力出奇迹。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	Loop until EOF  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/HK/IMG_0127.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Sat, 29 Aug 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/08/29/push-down.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/08/29/push-down.html</guid>
        
        <category>心情</category>
        
      </item>
    
      <item>
        <title>解忧杂货店</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/%E6%97%A0%E8%84%B8%E7%94%B7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;看完了圭吾先生的白夜行与嫌疑犯，顺势看了本这个暖心的杂货店，感谢推理起家的吾儿也能这么暖心的文字&lt;/p&gt;

&lt;p&gt;借用豆瓣的一篇短评：&lt;/p&gt;

&lt;!-- more --&gt;

&lt;blockquote&gt;
  &lt;p&gt;最喜欢最后一个关于白纸的回复：&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	能够给出这样的回答爷爷真是太棒了！关于浪矢杂货店和丸之光孤儿院的羁绊，  
	我想大概是多年前那对未能私奔成功的男女在冥冥之中对彼此的眷恋吧，就让我们在天上照顾彼此挂念的孩子们，  
	这样想会不会觉得很温暖呢？
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;推理界的言情小说家写出了这样推理气息单薄的故事，居然还不难看，真是略意外。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://img1.cache.netease.com/catchpic/E/ED/ED476D20A9F18893C8A2C9B790F46056.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://img4.douban.com/lpic/s27284878.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Thu, 20 Aug 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/08/20/Grief-grocery-store.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/08/20/Grief-grocery-store.html</guid>
        
        <category>读/观后</category>
        
      </item>
    
      <item>
        <title>TR069 协议栈</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/JUSTICE.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;ACS为自动配置服务器，负责对终端设备CPE进行管理。&lt;/p&gt;

&lt;p&gt;ACS与CPE间的接口为南向接口，ACS与管理系统间的接口为北向接口。TR069协议主要定义了南向接口。&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;&lt;img src=&quot;http://p.blog.csdn.net/images/p_blog_csdn_net/Dreamcode/EntryImages/20090205/tr069framework.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;TR069的实现（协议栈）&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	（1）TR069协议基于TCP层；  
	（2）ACS与CPE间的消息传输使用HTTP1.1，ACS为HTTP服务器，CPE为HTTP客户端；  
	（3）消息的具体内容使用SOAP包进行封装，SOAP包是一个包含SOAP Head（SOAP头）和 SOAP Body （SOAP体）组成的XML文档   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;http://p.blog.csdn.net/images/p_blog_csdn_net/Dreamcode/EntryImages/20090205/SOAPMessage.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://p.blog.csdn.net/images/p_blog_csdn_net/Dreamcode/EntryImages/20090205/SOAPBindingWithHttp.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;ACS的管理方法就是对CPE上的管理函数进行远程调用，因此需要向CPE传输要调用的函数名及参数，这些内容包含在SOAP体中。ACS并不直接对设备本身的接口进行调用 ，ACS所使用的函数为TR069的标准函数（称作TR-069 RPC Methods），CPE需要通过一个设备上的中间层解析出RPC方法，再由这个中间层调用设备自身的接口，这个中间层就是TR069 Agent。&lt;/p&gt;

&lt;p&gt;使用SSL/TLS并不强制要求，确保CPE和ACS之间基于证书的鉴权&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	——————————————  
	CPE/ACS Management App  
	——————————————  
	RPC Method  
	——————————————  
	SOAP
	——————————————  
	HTTP 1.1
	——————————————  
	SSL3.0 orTLS1.0
	——————————————  
	TCP/IP
	——————————————  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;TR069协议的RPC函数（或称RPC方法）&lt;/p&gt;
  &lt;blockquote&gt;
    &lt;p&gt;如上所述ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。&lt;br /&gt;
  CPE函数由ACS调用，用来对CPE进行管理如：设置CPE参数、获取CPE参数、硬件升级、重启设备等；&lt;br /&gt;
  ACS函数由CPE调用，用来向ACS上报状态信息，请求硬件镜像文件下载（用来升级硬件）等等。&lt;br /&gt;
  这些方法中有些是必须的有些是可选的（Required/Optional）&lt;/p&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;http://p.blog.csdn.net/images/p_blog_csdn_net/Dreamcode/EntryImages/20090206/RPCMethods.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;blockquote&gt;
  &lt;p&gt;网络架构上包含两种设备类型，因此包含两套数据模型：&lt;br /&gt;
   （1）网络网关设备(Internet Gateway Device)，如路由器，缩写为IGD DM(Data Model)&lt;br /&gt;
   （2）网关下的普通局域网设备(LAN Device)，如可视电话，缩写为Device DM(Data Model)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;TR069协议定义了其中网关设备的数据模型&lt;/p&gt;

&lt;blockquote&gt;
  &lt;blockquote&gt;
    &lt;p&gt;参数名  ：使用由类似树型的点分层关系组织起来。树干为需要配置的对象，树叶为具体的配置参数，所有配置参数都具有是否可读写属性。&lt;br /&gt;
              如：InternetGatewayDevice.IPPingDiagnostics.Interface&lt;br /&gt;
参数类型：基于SOAP的数据类型&lt;/p&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;函数具体功能（TR069协议的功能）&lt;br /&gt;
 （1）自动配置和动态业务服务（Auto-configuration and dynamic service provisioning）&lt;br /&gt;
      TR069协议规定了ACS可以在CPE第一次上线或上线后的任何时候对CPE进行配置如：ACS使用CPE函数中的set方法对CPE进行配置。&lt;br /&gt;
 （2）软件和硬件镜像管理（Software/Firmware image management）&lt;br /&gt;
      TR069协议规定了软件和硬件版本号鉴权机制，和下载触发机制（CPE和ACS都可以主动发起下载），以及下载失败后的通知机制&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    如：ACS使用CPE函数中的download和upload方法，下载新的版本以供升级设备或上传当前版本软件镜像文件  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;（3）状态和性能监控（Status and performance monitoring）&lt;br /&gt;
      TR069协议规定了一种CPE随时（有些地方翻译为“动态”）上报给（有些地方翻译为“通知”）ACS它自身状态的机制&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    如：CPE使用ACS函数的inform方法：CPE通过定时调用ACS的inform方法上报硬件状态信息  

                       ［Inform SOAP包信息］  

	DeviceID    标识CPE
	Event    此次Inform发起的原因 如：2 PERIODIC CPE周期性的发起
	Inform调用，上报状态
	MaxEnvelopes    HTTP Response 可携带的SOAP包（信封）      
	CurrentTime    CPE 当前时间
	RetryCount    这次Session最大的重复连接数
	ParameterList    这次Inform 函数所代参数
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;TR069协议的安全性&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;TR069协议支持使用“SSL/TLS”的证书鉴权机制，CPE必须使用ACS提供的证书来鉴权ACS。&lt;/p&gt;
  &lt;blockquote&gt;
    &lt;p&gt;如果CPE没有经过SSL/TLS认证，ACS就必须使用HTTP对CPE进行认证；如果已经通过“SSL/TLS”认证，ACS可以使用“HTTP basic”认证或“HTTP digest”认证.&lt;/p&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Sat, 15 Aug 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/08/15/fieldwork.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/08/15/fieldwork.html</guid>
        
        <category>技术</category>
        
      </item>
    
      <item>
        <title>HK-Walk</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/%E5%93%A5%E5%93%A5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;香港——压马路～～～&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;总之嫩 就是场资本主义的走马观花&lt;br /&gt;
旺角-&amp;gt;油麻地-&amp;gt;佐敦-&amp;gt;尖沙咀-&amp;gt;中环-&amp;gt;金钟-&amp;gt;湾仔-&amp;gt;铜锣湾-&amp;gt;天后&lt;br /&gt;
除去来回未果利亚湾的地铁，全程25000+步，晒傻了，大太阳好欢乐&lt;br /&gt;
不说了 看图看图|||&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_101941.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;中环》》》》》》
&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_104842.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_104915.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_105714.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我就是这么会找厕所～～
&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_105954.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_110256.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_110333.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_110449_1.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_110714.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_110726.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_111627.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_113404.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_113813.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_114246.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_114423.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_114528.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_115240.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_121303.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_121307.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_123059.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_132009.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_144213.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_151055.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_151103.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_153707.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/Ashtray/Ashtray.github.io/blob/master/HK/IMG_20150809_160107.jpg?raw=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Sun, 09 Aug 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/08/09/HK-walk.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/08/09/HK-walk.html</guid>
        
        <category>游～</category>
        
      </item>
    
      <item>
        <title>webpy</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/honey.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;实习题目拿到，是个关于路由配置协议的实现，需要搭建一个web服务器端，当然，没有任何理由从头做起，牛顿他老人家也是站在巨人的后背上呢（摔~）。&lt;/p&gt;

&lt;hr /&gt;

&lt;!-- more --&gt;

&lt;blockquote&gt;
  &lt;p&gt;就目前的需求来看，ACS端就是配置给每个攻城狮链接路由器调试的工具，那么需求比较简单，能够胜任处理标准的HTTP请求即可，考虑到复杂的实现并不会给这个项目增加一分可取之处，反而会让人感觉复杂，功能累赘并不是用，还有就是安装方便，这一点上已经很难容以满足了，全司茫茫多人，可不想每个人在就如何安装使用上邮件我，虽然我很闲。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;之所以选择webpy，正因为它够简单，尤其是对于我这种python新人来说。它是一款轻量级的python web开发框架，对于个人开发小应用来说很适合。&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;###webpy install###&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;下载：wget http://webpy.org/static/web.py-0.37.tar.gz  
安装：python setup.py install  
webpy 'hello world'  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;可参考webpy的官方文档：http://webpy.org/docs/0.3/tutorial&lt;/p&gt;

&lt;p&gt;hello, world如下：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;import web  

urls = (  
  	  '/', 'index'  
)  

class index:  
 	   def GET(self):  
   	     return &quot;Hello, world!&quot;  

if __name__ == &quot;__main__&quot;:  
 	   app = web.application(urls, globals())  
  	   app.run()  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;在webpy中，url请求的映射在urls元组中，如上图中GET ip:port/   会直接调用index类的GET方法，返回字符串’hello, world!’；&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;class index中包含了一个GET方法，用来处理与index相应的url的GET请求的；&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;blockquote&gt;
    &lt;p&gt;在主函数中，只需要创建一个application对象，运行就可以开启一个简单的web应用，默认的地址为：127.0.0.1:8080&lt;/p&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;###GET &amp;amp;&amp;amp; POST###&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;web包含两种方法：GET和POST&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;对于GET，可以采用：&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;class index:   
  	  def GET(self):  
  		  return &quot;Hello, world!&quot;  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;而，对于POST，采用：&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;class index:  
   	   def POST(self):  
 	   	 data = web.input(name=None)  
   		 return &quot;Hello, &quot; + data.name + &quot;!&quot;  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;###html模板###&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;在webpy中，一般采用templates来存放html页面文件。大概的访问方式如下：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;urls = (  
  	        '/img', 'image'  
         )  

render = web.template.render('templates')  

class image:  
	   def GET(self):  
            return render.image()      
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;urls中定义了url映射，访问ip:port/img会直接条用class image来处理；&lt;/p&gt;

&lt;p&gt;web.template.render(path)是用来指定存放html的目录，上面指定了html的指定存放位置位于当前文件夹下的templates文件下；&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;返回的render.image()表示在render所指定的目录下寻找image.html文件并作为返回结果。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;class show:  
   	      def GET(self):  
  	  		return render.show('hello world!')  
  
$def with(str)  
&amp;lt;html&amp;gt;  
  	  &amp;lt;body&amp;gt;  
    	 $for i in range(5):  
        	&amp;lt;h1&amp;gt;$str&amp;lt;/h1&amp;gt;  
   	  &amp;lt;body&amp;gt;  
&amp;lt;/html&amp;gt;   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;show类是用来展示字符串’hello world!’，下面的html为show.html，webpy支持模板，支持参数以$def with()开始作为函数的开始；&lt;/p&gt;

&lt;p&gt;在html中可以使用python语句，但语句前需要添加$，在上面的html中str会在页面上打印5次。&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;###静态文件###&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;在webpy中，提供了默认的静态文件的访问方式&lt;br /&gt;
webpy作为服务器时，在当前目录下建立static目录，webpy会自动在该目录下寻找静态文件&lt;/p&gt;

&lt;p&gt;在 Apache 中可以使用 Alias 指令，在处理 web.py 之前将请求映射到指定的目录。&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;###webpy db###&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;在webpy中提供了数据库访问的API，其实从源码中可以看出来是对MySQLdb的封装，但为了方便起见用起来还是可以的。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db = web.database(dbn='mysql', db='test', user='root', pw='123123')  
 
def new_post(title, content):  
		db.insert('news', title=title, content=content, posted_on=datetime.datetime.utcnow())  

def get_post(id):  
		try:  
   		  return db.select('news', where='id=$id', vars=locals())[0]  
		except IndexError:  
    		return None  

def get_posts():  
   	   return db.select('news', order = 'id DESC')  

def del_post(id):  
   	    db.delete('news', where = 'id = $id', vars = locals())  

def update_post(id, title, content):  
		db.update('news', where='id = $id', vars=locals(), title=title, content=content)   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;###webpy也支持事务：###&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;import web  

db = web.database(dbn=&quot;postgres&quot;, db=&quot;webpy&quot;, user=&quot;foo&quot;, pw=&quot;&quot;)  
t = db.transaction()  
try:  
   		db.insert('person', name='foo')  
   		db.insert('person', name='bar')  
except:  
   		t.rollback()  
   		raise  
else:  
   		t.commit()   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Mon, 03 Aug 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/08/03/Fly-to-dreamland.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/08/03/Fly-to-dreamland.html</guid>
        
        <category>技术</category>
        
      </item>
    
      <item>
        <title>两杆大烟枪！</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/%E4%B8%80%E4%BB%A3%E5%AE%97%E5%B8%88.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;给大家推荐款Asics跑鞋，对的，你没看错，就是这双屎黄色，外观丑爆，内心温柔，舒适度怎么说呢，那感觉，就像踩在热翔上o(∩∩)o…&lt;/p&gt;

&lt;!-- more --&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;别问我怎么知道的，穿上就没脱.  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/asics.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/two-spirits.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;装了500M 的kindle PW2(还有本吉米多维奇！ 嗯 ) 与人生第二包烟^_^  两大精神安慰&lt;/p&gt;

&lt;p&gt;当然还有跑跑跑带来的&lt;strong&gt;多巴胺&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/paoxie.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	记人生最后一次考试前~~~~~  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;每天早起爬到实验室   然后就是玩玩玩  在看个侣行奇葩说啥的  就到晚上了&lt;/p&gt;

&lt;p&gt;跑步去喽  真是一种散养状态，马上毕业了~  happy^_^&lt;/p&gt;

&lt;p&gt;这就是单身狗的一天。你问想不想谈恋爱？呵呵。哪有时间啊喂！&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;/li&gt;
  &lt;li&gt;&lt;/li&gt;
  &lt;li&gt;&lt;/li&gt;
  &lt;li&gt;&lt;/li&gt;
  &lt;li&gt;&lt;/li&gt;
  &lt;li&gt;&lt;/li&gt;
  &lt;li&gt;
    &lt;blockquote&gt;
      &lt;blockquote&gt;

      &lt;/blockquote&gt;
    &lt;/blockquote&gt;

    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;才不是因为丑  ┴─┴︵╰（‵□′╰）  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/07/07/Two-spirits.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/07/07/Two-spirits.html</guid>
        
        <category>心情</category>
        
      </item>
    
      <item>
        <title>毕业Alpha</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/run-jump-fly.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;原来，路，是这么跑出来的。那个说了一千遍的话，找了一千遍的道理，原来是这样做出来的。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;2014.07.02–2015.07.02 本科毕业整一年，15年刚过半，发表下获奖感言吧。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/IMG_11555%20.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;			凤姐（左）傻刚（中）大饼（右）
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2014.07————————————-毕业喽~~~&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/shamate.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	一年前的今天，滚蛋回家前，包包和我的二人杀马特发型。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/me-full.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;出发前的准备，包个严严实实，但从结果而看，并没有什么卵用。
打包好所有行李（其实早就邮到家了）无非就一双肩包，包括了路上所有物资，来到大门口，小雨一阵阵，不管了，走吧，最后瞟一眼学校——呆了四年的地方，并没什么情绪，唯一有的就是祝愿大家未来安好。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/%E5%AD%A6%E6%A0%A1.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;壮士，干了这碗nai。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/nai.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;就此打住，去年骑车回家没更完就太监了，真是惭愧，这篇文章主要说说毕业一年&amp;amp;读研一年的感受（吐槽）。&lt;br /&gt;
阴差阳错，来到这间学校，&lt;strong&gt;加入豪华江浙沪包邮福利圈&lt;/strong&gt;，怎么说都是一种额外的惊喜，其实这一年来，并没有多大的改变，还是原来的心态，继续着上课下课的常态。&lt;/p&gt;

&lt;hr /&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;厌倦了？ 嗯，厌倦了，&lt;/strong&gt;书读得不多，依然很菜，但就不想读了，不想上课，得过且过，心想顺利毕业就行了，靠着学校，也会找份不错的工作，继续着自己的幻想。还好能出去实习，让我感受下外面的世界，终于要到社会上打拼，想想也蛮激动的。当周围朋友们向我抱怨着工作多无聊的时候，我是羡慕他们的，不在其位不谋其职，也许就是雾里看花，距离产生美，我也认了，毕竟挣不到钱的痛苦——无法独立（经济上）自觉是个致命的打击，作为农村里的孩子，同龄人早已在社会上摸爬滚打多年，沾染了世俗的气息，担着生活的印记，我缺少的，大概就是这份&lt;strong&gt;沉稳&lt;/strong&gt;吧。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;这个锅，我来背！  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;blockquote&gt;
  &lt;p&gt;说实话，自己&lt;strong&gt;大言不惭，口胡惯了&lt;/strong&gt;，自己也信以为真了吧，说什么能够照顾好别人，讲真，我自己都没活好，没自信去喜欢别人；我太过内向，没手段去追求别人；我自己未必能被人看上，却总看不上别人；我单得太久已经习惯了自我中心，不喜欢迁就别人。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;blockquote&gt;
    &lt;p&gt;如此而已。我却不敢对着人承认这些，反而拿一个已经失去的说事，来掩饰自己的情商低。结果反而显出了情商低，让人觉得我是放不下以前，看不到未来，哈哈，更没人愿意跟我了。所以倒更想提醒注意，&lt;strong&gt;失去别人虽痛却不可怕，可怕的是不能直面自己&lt;/strong&gt;。&lt;/p&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;直面自己，怎么做？  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;对于大多数不信教的国人，就少了自我审视，自我忏悔的一种可能，鉴于自己也是大多数，直觉一点说，对宗教认识微乎其微，宗教，小到洗涤心灵，修身养性，大致建立国家，发动战争，几乎都有名正言顺的缘由，处处体现“人文关怀”，『穷则搁置争议，达则自古以来』 势单力薄的个体，车轮滚滚，做不到碾压别人，那只能被碾压，人性——本来就性本恶的，没什么好讲，浮躁的社会，人人都想成功，成本本来就高，只能冲。&lt;/p&gt;

&lt;p&gt;而我又不是多么的争强好胜，又或过了那个年纪，就像《松子》她说：&lt;strong&gt;『生而为人，我很抱歉』&lt;/strong&gt;每一次没有勇气做想做的事，每一次无可奈何作出的选择（妥协），每一次对他人的羡慕或嫉妒，每一次觉得自己好差，每一天每一刻的呼吸。都觉得，生而为人，我很抱歉——听到最绝望的一句话，不能再差了，这不是我想要的。就是这样一种既脆弱又可悲的名为人的生物，想做一件事的时候只需要一个理由，不想做的时候就有一万个理由，&lt;strong&gt;坚持得脆弱，放弃得可悲&lt;/strong&gt;。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;当然，也怨生不能成思聪，我很抱歉。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;现在读研了，和我想象中有差，过得不满意，不知道怎么办了，处在不满意现状又难以改变环境的状态  
难以前进，怎么才不那么戾气，平和一点，大多数国人认为心理问题不是问题  
『过一阵子就好了』 说出去是会被人笑话的，笑就笑吧，随您。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/div&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;p&gt;大概一月前开始跑步，当初的契机，偶然跟建总小跑，建总人生赢家，俺得向他看齐不是，除了前两天梅雨把我梅的够呛，基本坚持下来，若不讲计量讨论毒性是耍流氓，依着这个，不说里程的跑步就是吹牛X，每天五公里左右，前天尝试八公里，也没感到特别累，压压腿又是两公里（^_^）。这是上瘾的，信我，这就是一个渴求多巴胺所带来的快乐而被迫走上跑道的故事。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	慢慢养成独跑的习惯。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;偶尔看了村上的《跑步》 觉得跑步带来心理上的裨益是大于身体上的，当我跑步时，我在想什么，村上说&lt;strong&gt;『我特么知道我会想些什么？！』&lt;/strong&gt; 这回答很赞，干嘛要有什么想法，跑个步还这么有目的性累不累啊？说到这，想到知乎上有个问题&lt;strong&gt;『当我们在刷牙时，我们可以干些什么？』&lt;/strong&gt;呵呵哒，能做啥？听演讲？还是做人生规划？！我就纳了闷了，人都功利到了何种地步，牙你都不好好刷，你还能干啥，有没有独处什么也不想的时间，真正属于自己。当然提问者也许是为了提高效率多线程处理，祝早日成栋梁。简单的事好好做，才不会一团糟吧。&lt;/p&gt;

&lt;p&gt;所以跑步之于我是付出是坚持。所以村上春树说，&lt;strong&gt;长跑者的思维正是不想跑才去跑&lt;/strong&gt;。既有理论高度，又有现实指导作用，总结就是&lt;strong&gt;我可以跑马拉松&lt;/strong&gt;。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;我跑步必须是要听歌的，而且必须要是动感的节奏，这样才跑的愉快，有些歌，一跑就停不下来。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;拿点干货吧。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/div&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;*** 首推David Garret 的小提琴曲Viva La Vida   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/div&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/David%20Garrett.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;当然David Garret还有he’S A Pirate 太棒 viva la vida  ColdPlay也有唱，但小提琴拉出来太棒了。   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/viva%20la%20vada.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	*** Josh Vietti 的 Where is love 迷之带感
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/josh%20vietti.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	*** Diana Boncheva 的 Beethoven Virus &amp;amp;&amp;amp; Purple Passion 大赞
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/Diana%20Boncheva.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	必须停不下来，不听跟你们没完。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/yudongli.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;原来，路，是这么跑出来的。那个说了一千遍的话，找了一千遍的道理，原来是这样做出来的。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/images/%E6%88%91201506221.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;当然，马上去实习也是给我改变现状的机会，之所以这么啰啰嗦嗦讲，就是闲的，怎么的，不服过来打我呀。  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;—====完====—&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Thu, 02 Jul 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/07/02/internship.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/07/02/internship.html</guid>
        
        <category>心情</category>
        
      </item>
    
      <item>
        <title>特别的翻译技巧</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/%E7%BA%A2%E5%86%9B.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Lolita:   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;Lolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;请读一读Lolita开头三个版本的译文:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;洛丽塔，我的生命之光，我的欲念之火。我的罪恶，我的灵魂。 洛－丽－塔：分三下，舌尖自上颚往下，轻落到牙齿上。洛。丽。塔。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;洛丽塔，照亮我生命的光，点燃我情欲的火。我的罪恶，我的灵魂。洛－丽－塔：舌尖顶到上腭做一次三段旅行。洛。丽。塔。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;洛丽塔是我的生命之光，欲望之火，同时也是我的罪恶，我的灵魂。洛－丽－塔：舌尖得由上腭向下移动三次，到第三次再轻轻贴在牙齿上。洛-丽-塔。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;可我苦苦查找资料 为何酷比的工科男会这样翻译呢：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If we change our query to use an index, we’ll see that a BtreeCursor was used, as well as the index used to fulfill the
request:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db.unicorns.find({name: 'Pilot'}).explain()  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;Replication&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;MongoDB replication works in some ways similarly to how relational database replication works. All production deployments should be replica sets, which consist of ideally three or more servers that hold the same data. Writes are sent to a single server, the primary, from where it’s asynchronously replicated to every secondary. You can control whether you allow reads to happen on secondaries or not, which can help direct some special queries away from the primary, at the risk of reading slightly stale data. If the primary goes down, one of the secondaries will be automatically elected to be the new primary. Again, MongoDB replication is outside the scope of this book.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Sharding&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;MongoDB supports auto-sharding. &lt;em&gt;blablabla&lt;/em&gt;……&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;—————————–我是分割线————————————–&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;如果我们改用索引来查询，我们会看到的查询使用的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;BtreeCursor&lt;/code&gt;，以及用以查询的索引：&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db.unicorns.find({name: 'Pilot'}).explain()  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;###射后不理 的&lt;em&gt;写操作&lt;/em&gt;  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(这样翻译真的大丈夫吗)&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;之前我们有提到过，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MongoDB&lt;/code&gt; 中的写操作默认为射后不理。这样做可以获得一定的性能提高，同时也带来了系统奔溃时丢失数据的风险。有意思的是这种类型的写操作在插入/更新破坏了某唯一的约束时，是不返回错误的。若需要得到写失败的通知，就要在插入后调用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;db.getLastError()&lt;/code&gt;。很多驱动都把这一细节封装起来了，取而代之的是安全的写操作——往往会多提供一个参数用来设置。&lt;br /&gt;
可惜的是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shell&lt;/code&gt;并不提供安全的插入，因此我们就无法实验这一特性了。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;分片（&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sharding&lt;/code&gt;）&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;MongoDB支持自动分片。&lt;em&gt;布拉布拉布拉&lt;/em&gt;……&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Mon, 02 Feb 2015 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2015/02/02/Translate.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2015/02/02/Translate.html</guid>
        
        <category>翻译</category>
        
      </item>
    
      <item>
        <title>上帝视角</title>
        <description>&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Ashtray/Ashtray.github.io/master/imag/%E7%8E%9B%E4%B8%BD.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我总会有种&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;不就是XX嘛  有什么厉害的  我要是... 也会一样牛X哄哄的  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;这是病吗&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;请不要救我&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;嗯嗯  我总是假装懂得一切 &lt;br /&gt;
却自己连生活都是一团乱麻&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;生活？  还是生存？！
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;这就是生存  我要改变&lt;br /&gt;
不要自己活成连自己都讨厌的人&lt;/p&gt;

&lt;p&gt;越陷越深&lt;br /&gt;
这是毅种循环&lt;/p&gt;

&lt;p&gt;感觉自己整天无所事事  还蛮不在乎的样子挂在脸上&lt;/p&gt;

&lt;p&gt;那是不可一世嘛？！&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;请大声的告诉我  『你这个傻逼呵呵~』
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;这是病啊&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;得电，得治 :-)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;我要改变&lt;/p&gt;

&lt;p&gt;从不逃课开始  ^_^&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://Ashtray.github.io&quot;&gt;个人主页&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;「你还是一个人吗」
「难道我回变成一条狗吗」  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;「汪汪汪」&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

</description>
        <pubDate>Tue, 18 Nov 2014 00:00:00 +0000</pubDate>
        <link>Ashtray.github.io/blog/2014/11/18/FortheGodsake.html</link>
        <guid isPermaLink="true">Ashtray.github.io/blog/2014/11/18/FortheGodsake.html</guid>
        
        <category>心情</category>
        
      </item>
    
  </channel>
</rss>
