{"action":"created","comment":{"url":"https://api.github.com/repos/xitu/gold-miner/pulls/comments/71988299","id":71988299,"diff_hunk":"@@ -1,525 +1,509 @@\n > * 原文链接 : [real-world-flux-ios](http://blog.benjamin-encz.de/post/real-world-flux-ios/)\n-* 原文作者 : [Benjamin Encz](http://blog.benjamin-encz.de/about)\n-* 译文出自 : [掘金翻译计划](https://github.com/xitu/gold-miner)\n-* 译者 : \n-* 校对者:\n+> * 原文作者 : [Benjamin Encz](http://blog.benjamin-encz.de/about)\n+> * 译文出自 : [掘金翻译计划](https://github.com/xitu/gold-miner)\n+> * 译者 : [Nicolas(Yifei) Li](https://github.com/yifili09) \n+> * 校对者:\n \n-About half a year ago we started adopting the Flux architecture in the PlanGrid iOS app. This post will discuss our motivation for transitioning from traditional MVC to Flux and will share the experience we have gathered so far.\n+在半年前，我开始在 `PlanGrid` iOS 应用程序中采用 `Flux` 架构（开发）。这篇文章将会讨论我们从传统的 `MVC` 转换到 `Flux`的动机，和分享我们目前积累到的经验。\n \n-I’m attempting to describe large parts of our Flux implementation by discussing code that is in production today. If you’re only interested in the high level conclusion you can skip the middle part of this post.\n+我尝试通过讨论代码来描述我们大部分的 `Flux` 实现， 它用于我们今天的产品中。 如果你只对综合结果感兴趣， 请跳过这篇文章的中间部分。\n \n-## Why We Transitioned Away from MVC\n+## 为什么从 `MVC` 转移\n \n-To put our decision into context I want to describe some of the challenges the PlanGrid app faces. Some of them are unique to enterprise software, others should apply to most iOS apps.\n+为了引入我们的决定， 我想要先描述 `PlanGrid` 这个应用遇到的一些挑战。一些问题仅针对企业级应用程序，其他应该适用于大部分的 `iOS` 应用程序。\n \n-### We Have All the State\n+### We Have All the State （我们有所有的状态）\n \n-PlanGrid is a fairly complex iOS app. It allows users to view blueprints and to collaborate on them using different types of annotations, issues and attachments (and a lot of other stuff that requires industry specific knowledge).\n+`PlanGrid` 是一个相当复杂的 `iOS` 应用程序。它允许用户能看到（设计）蓝图并且可以使用不同类型的（标记)注释，问题和附件（和很多其他特定工业需要的知识）。\n \n-An important aspect of the app is that it is offline first. Users can interact with all features in the app, whether they have an internet connection or not. This means that we need to store a lot of data & state on the client. We also need to enforce a subset of the business rules locally (e.g. which annotation can a user delete?).\n+一个重要的方面是， 这个应用程序（可以）先离线使用。无论是否有英特网连接，用户可以使用所有应用程序提供的特性。这意味着我们需要在客户端存储许多数据和状态。我们也需要实施一些本地的业务规则（例如，一个注释是否可以被用户删除？）。 \n \n-The PlanGrid app runs on both iPad and iPhone, but its UI is optimized to make use of the larger available space on tablets. This means that unlike many iPhone apps we often present multiple view controllers at a time. These view controllers tend to share a decent amount of state.\n+`PlanGrid` 可以在 `iPad` 和 `iPhone` 平台上运行，但他的 `UI` 被优化过，可以充分使用平板的屏幕。这意味着不像其他 `iPhone` 应用程序，我们常常同时展现多个视图控制器。这些视图控制器常常（互相）共享着相当多的状态。\n \n-### The State of State Management\n+### The State of State Management （状态管理器）\n \n-All of this means that our app puts a lot of effort into managing state. Any mutation within the app results in more or less the following steps:\n+所有的这些意味着，我们的应用程序花费了很多努力在状态管理上。任何应用程序结果的变化或多或少都和以下几点相关：\n \n-1.  Update state in local object.\n-2.  Update UI.\n-3.  Update database.\n-4.  Enqueue change that will be sent to server upon available network connection.\n-5.  **Notify other objects about state change.**\n+1. 更新本地对象的状态。\n+2. 更新 `UI`。\n+3. 更新数据库。\n+4. 用队列保存变化，它将在有网络连接的情况下发送给服务器。\n+5. **当状态改变时，通知其他对象**\n \n-Though I plan on covering other aspects of our new architecture in future blog posts, I want to focus on the 5\\. step today. _How should we populate state updates within our app?_\n+尽管我计划在之后的文章中（更新）包含我们新架构中其他的部分，我今天想把精力集中在第5个\\. _我们怎么在应用程序中构成状态更新（机制）？_ \n \n-This is the billion dollar question of app development.\n+这是我们应用程序开发中至关重要的问题（价值十亿美元 :moneybag:）。\n \n-Most iOS engineers, including early developers of the PlanGrid app, come up with the following answers:\n+大多数 `iOS` 的工程师，包括 `PlanGrid` 应用程序早些时候的开发者们，想出了以下答案： \n \n-*   Delegation\n-*   KVO\n-*   NSNotificationCenter\n-*   Callback Blocks\n-*   Using the DB as source of truth\n+* 代理机制 (`Delegation`)\n+* 键值观察策略 （`KVO`）\n+* 通知中心 （`NSNotificationCenter`）\n+* 回调代码块 （`Callback Blocks`）\n+* 使用数据库作为来源 （`Using the DB as source of truth`）\n \n-All of these approaches can be valid in different scenarios. However, this menu of different options is a big source of inconsistencies in a large codebase that has grown over multiple years.\n+所有这些实现都在不同的情况下有效。然而，这些不同的操作是来源于很多在由发展多年以来的很大的代码库中的不一致。\n \n-### Freedom is Dangerous\n+### Freedom is Dangerous （自由是危险的）\n \n-Classic MVC only advocates the separation of data and its representation. With the lack of other architectural guidance, everything else is left up to individual developers.\n+经典的 `MVC` 只提倡分离数据和它的展示层。在缺少其他结构性的指导下，剩下的东西都由个别开发者们决定。\n \n-For the longest time the PlanGrid app (like most iOS apps) didn’t have a defined pattern for state management.\n+很长一段时间 `PlanGrid` 应用程序（像其他 `iOS` 应用程序）都没有一个定义好的模式去管理状态。\n \n-Many of the existing state management tools such as delegation and blocks tend to create strong dependencies between components that might not be desirable - two view controllers quickly become tightly coupled in an attempt to share state updates with each other.\n+很多现存的状态管理工具，例如 `delegation` 和 `blocks` 常常去在组件中创建强连接（依赖），这并不令人满意 - 两个视图控制器迅速变得强耦合，在尝试互相分享更新的状态时。\n \n-Other tools, such as KVO and Notifications, create invisible dependencies. Using them in a large codebase can quickly lead to code changes that cause unexpected side effects. It is far to easy for a controller to observe details of the model layer which it shouldn’t be interested in.\n+其他工具，例如，`KVO` 和 `通知`， 创建无形的（程序）依赖。将他们使用在很大的代码库中，会迅速导致代码的变化，引起不可预期的副作用。对于一个控制器来说，想观察到那些本不需要关心的数据模型层的细节实在是太容易了。\n \n-Thorough code reviews & style guides can only do so much, many of these architectural issues start with small inconsistencies and take a long time to evolve into serious problems. With well defined patterns in place it is a lot easier to detect deviations early.\n+完整的代码审阅和样式指导的作用有限，许多架构上的问题都从很小的不一致性开始并且花很长的时间扩展到许多严重的问题。使用意义清晰明确的模式替换，这将会很容易尽早发现差异。\n \n-### An Architectural Pattern for State Management\n+### An Architectural Pattern for State Management（状态管理的一种架构的模式）\n \n-One of our most important goals during refactoring the PlanGrid app was putting clear patterns & best practices in place. This would allow future features to be written in a more consistent way and make onboarding of new engineers a lot more efficient.\n+在重构 `PlanGrid` 应用程序期间，我们最重要的目标是，采用一个清晰的模式和（创造）最佳实现方式。这样允许未来的新特性能以更加一致的方式写入代码库，也让更多新进的工程师提高工作效率。\n \n-State management was one of the largest sources of complexity in our app, so we decided to define a pattern that all new features could use going forward.\n+在我们的应用程序中，状态管理是复杂度比较大的代码源之一，所以我们决定去定义一个模式，所有新的特性都会按照这个模式更好的前进。\n \n-A lot of the pain we felt in our existing codebase reminded us strongly of the issues that Facebook brought up when they first presented the Flux pattern:\n+在遭遇了很多我们代码中的痛苦后，更加让我们相信，那些脸书（`Facebook`）在第一次提出 `Flux` 模式是偶提出的问题：\n \n-*   Unexpected, Cascading State Updates\n-*   Hard to Understand Dependencies Between Components\n-*   Tangled Flow of Information\n-*   Unclear Source of Truth\n+* 无法遇见性，联级状态更新\n+* 很难在（多个）组件中明白（互相）依赖关系\n+* 复杂的信息流程\n+* 不清晰的真实来源\n \n-It seemed that Flux would be a great fit for solving many of the issues we were experiencing.\n+看上去 `Flux` 将会非常适合解决很多我们现在遇到的问题。\n \n-## A Brief Intro to Flux\n+## A Brief Intro to Flux （`Flux`的简单概要）\n \n-Flux is a very lightweight architectural pattern that Facebook uses for client-side web applications. Even though there is a [reference implementation](https://github.com/facebook/flux), Facebook emphasizes that the ideas of the Flux pattern are a lot more relevant than this particular implementation.\n+`Flux` 是一个轻量级的架构的模式，它被脸书（`Facebook`）用在客户端的网页应用程序中。虽然有一个 [参考的演示程序](https://github.com/facebook/flux)，脸书强调说，`Flux` 模式的想法有比这个单独实现更多的想法（内容）。","path":"TODO/real-world-flux-ios.md","position":121,"original_position":121,"commit_id":"9f0cd9b33d81744723bcca474eebc4aea6fa0816","original_commit_id":"9f0cd9b33d81744723bcca474eebc4aea6fa0816","user":{"login":"rccoder","id":7554325,"avatar_url":"https://avatars.githubusercontent.com/u/7554325?v=3","gravatar_id":"","url":"https://api.github.com/users/rccoder","html_url":"https://github.com/rccoder","followers_url":"https://api.github.com/users/rccoder/followers","following_url":"https://api.github.com/users/rccoder/following{/other_user}","gists_url":"https://api.github.com/users/rccoder/gists{/gist_id}","starred_url":"https://api.github.com/users/rccoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rccoder/subscriptions","organizations_url":"https://api.github.com/users/rccoder/orgs","repos_url":"https://api.github.com/users/rccoder/repos","events_url":"https://api.github.com/users/rccoder/events{/privacy}","received_events_url":"https://api.github.com/users/rccoder/received_events","type":"User","site_admin":false},"body":"同上","created_at":"2016-07-24T13:00:41Z","updated_at":"2016-07-24T13:00:41Z","html_url":"https://github.com/xitu/gold-miner/pull/569#discussion_r71988299","pull_request_url":"https://api.github.com/repos/xitu/gold-miner/pulls/569","_links":{"self":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/comments/71988299"},"html":{"href":"https://github.com/xitu/gold-miner/pull/569#discussion_r71988299"},"pull_request":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/569"}}},"pull_request":{"url":"https://api.github.com/repos/xitu/gold-miner/pulls/569","id":78489205,"html_url":"https://github.com/xitu/gold-miner/pull/569","diff_url":"https://github.com/xitu/gold-miner/pull/569.diff","patch_url":"https://github.com/xitu/gold-miner/pull/569.patch","issue_url":"https://api.github.com/repos/xitu/gold-miner/issues/569","number":569,"state":"open","locked":false,"title":"Add translation for [real-world-flux-ios]","user":{"login":"yifili09","id":1016943,"avatar_url":"https://avatars.githubusercontent.com/u/1016943?v=3","gravatar_id":"","url":"https://api.github.com/users/yifili09","html_url":"https://github.com/yifili09","followers_url":"https://api.github.com/users/yifili09/followers","following_url":"https://api.github.com/users/yifili09/following{/other_user}","gists_url":"https://api.github.com/users/yifili09/gists{/gist_id}","starred_url":"https://api.github.com/users/yifili09/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yifili09/subscriptions","organizations_url":"https://api.github.com/users/yifili09/orgs","repos_url":"https://api.github.com/users/yifili09/repos","events_url":"https://api.github.com/users/yifili09/events{/privacy}","received_events_url":"https://api.github.com/users/yifili09/received_events","type":"User","site_admin":false},"body":"💥 Ready For Merge💥\r\n\r\nPR for #549 ","created_at":"2016-07-22T14:48:24Z","updated_at":"2016-07-24T13:00:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"add4094b5a63fd63ca787f5a8762f7b6967c54a7","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/xitu/gold-miner/pulls/569/commits","review_comments_url":"https://api.github.com/repos/xitu/gold-miner/pulls/569/comments","review_comment_url":"https://api.github.com/repos/xitu/gold-miner/pulls/comments{/number}","comments_url":"https://api.github.com/repos/xitu/gold-miner/issues/569/comments","statuses_url":"https://api.github.com/repos/xitu/gold-miner/statuses/9f0cd9b33d81744723bcca474eebc4aea6fa0816","head":{"label":"yifili09:translation","ref":"translation","sha":"9f0cd9b33d81744723bcca474eebc4aea6fa0816","user":{"login":"yifili09","id":1016943,"avatar_url":"https://avatars.githubusercontent.com/u/1016943?v=3","gravatar_id":"","url":"https://api.github.com/users/yifili09","html_url":"https://github.com/yifili09","followers_url":"https://api.github.com/users/yifili09/followers","following_url":"https://api.github.com/users/yifili09/following{/other_user}","gists_url":"https://api.github.com/users/yifili09/gists{/gist_id}","starred_url":"https://api.github.com/users/yifili09/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yifili09/subscriptions","organizations_url":"https://api.github.com/users/yifili09/orgs","repos_url":"https://api.github.com/users/yifili09/repos","events_url":"https://api.github.com/users/yifili09/events{/privacy}","received_events_url":"https://api.github.com/users/yifili09/received_events","type":"User","site_admin":false},"repo":{"id":61690573,"name":"gold-miner","full_name":"yifili09/gold-miner","owner":{"login":"yifili09","id":1016943,"avatar_url":"https://avatars.githubusercontent.com/u/1016943?v=3","gravatar_id":"","url":"https://api.github.com/users/yifili09","html_url":"https://github.com/yifili09","followers_url":"https://api.github.com/users/yifili09/followers","following_url":"https://api.github.com/users/yifili09/following{/other_user}","gists_url":"https://api.github.com/users/yifili09/gists{/gist_id}","starred_url":"https://api.github.com/users/yifili09/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yifili09/subscriptions","organizations_url":"https://api.github.com/users/yifili09/orgs","repos_url":"https://api.github.com/users/yifili09/repos","events_url":"https://api.github.com/users/yifili09/events{/privacy}","received_events_url":"https://api.github.com/users/yifili09/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yifili09/gold-miner","description":"掘金翻译计划，翻译掘金上优质的英文文章","fork":true,"url":"https://api.github.com/repos/yifili09/gold-miner","forks_url":"https://api.github.com/repos/yifili09/gold-miner/forks","keys_url":"https://api.github.com/repos/yifili09/gold-miner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yifili09/gold-miner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yifili09/gold-miner/teams","hooks_url":"https://api.github.com/repos/yifili09/gold-miner/hooks","issue_events_url":"https://api.github.com/repos/yifili09/gold-miner/issues/events{/number}","events_url":"https://api.github.com/repos/yifili09/gold-miner/events","assignees_url":"https://api.github.com/repos/yifili09/gold-miner/assignees{/user}","branches_url":"https://api.github.com/repos/yifili09/gold-miner/branches{/branch}","tags_url":"https://api.github.com/repos/yifili09/gold-miner/tags","blobs_url":"https://api.github.com/repos/yifili09/gold-miner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yifili09/gold-miner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yifili09/gold-miner/git/refs{/sha}","trees_url":"https://api.github.com/repos/yifili09/gold-miner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yifili09/gold-miner/statuses/{sha}","languages_url":"https://api.github.com/repos/yifili09/gold-miner/languages","stargazers_url":"https://api.github.com/repos/yifili09/gold-miner/stargazers","contributors_url":"https://api.github.com/repos/yifili09/gold-miner/contributors","subscribers_url":"https://api.github.com/repos/yifili09/gold-miner/subscribers","subscription_url":"https://api.github.com/repos/yifili09/gold-miner/subscription","commits_url":"https://api.github.com/repos/yifili09/gold-miner/commits{/sha}","git_commits_url":"https://api.github.com/repos/yifili09/gold-miner/git/commits{/sha}","comments_url":"https://api.github.com/repos/yifili09/gold-miner/comments{/number}","issue_comment_url":"https://api.github.com/repos/yifili09/gold-miner/issues/comments{/number}","contents_url":"https://api.github.com/repos/yifili09/gold-miner/contents/{+path}","compare_url":"https://api.github.com/repos/yifili09/gold-miner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yifili09/gold-miner/merges","archive_url":"https://api.github.com/repos/yifili09/gold-miner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yifili09/gold-miner/downloads","issues_url":"https://api.github.com/repos/yifili09/gold-miner/issues{/number}","pulls_url":"https://api.github.com/repos/yifili09/gold-miner/pulls{/number}","milestones_url":"https://api.github.com/repos/yifili09/gold-miner/milestones{/number}","notifications_url":"https://api.github.com/repos/yifili09/gold-miner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yifili09/gold-miner/labels{/name}","releases_url":"https://api.github.com/repos/yifili09/gold-miner/releases{/id}","deployments_url":"https://api.github.com/repos/yifili09/gold-miner/deployments","created_at":"2016-06-22T05:09:22Z","updated_at":"2016-06-22T05:08:36Z","pushed_at":"2016-07-22T14:43:57Z","git_url":"git://github.com/yifili09/gold-miner.git","ssh_url":"git@github.com:yifili09/gold-miner.git","clone_url":"https://github.com/yifili09/gold-miner.git","svn_url":"https://github.com/yifili09/gold-miner","homepage":"http://gold.xitu.io","size":14049,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"xitu:master","ref":"master","sha":"fad5f93cf9a52c5c848a49926acf4240e8f0c9b3","user":{"login":"xitu","id":10482599,"avatar_url":"https://avatars.githubusercontent.com/u/10482599?v=3","gravatar_id":"","url":"https://api.github.com/users/xitu","html_url":"https://github.com/xitu","followers_url":"https://api.github.com/users/xitu/followers","following_url":"https://api.github.com/users/xitu/following{/other_user}","gists_url":"https://api.github.com/users/xitu/gists{/gist_id}","starred_url":"https://api.github.com/users/xitu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xitu/subscriptions","organizations_url":"https://api.github.com/users/xitu/orgs","repos_url":"https://api.github.com/users/xitu/repos","events_url":"https://api.github.com/users/xitu/events{/privacy}","received_events_url":"https://api.github.com/users/xitu/received_events","type":"Organization","site_admin":false},"repo":{"id":45512989,"name":"gold-miner","full_name":"xitu/gold-miner","owner":{"login":"xitu","id":10482599,"avatar_url":"https://avatars.githubusercontent.com/u/10482599?v=3","gravatar_id":"","url":"https://api.github.com/users/xitu","html_url":"https://github.com/xitu","followers_url":"https://api.github.com/users/xitu/followers","following_url":"https://api.github.com/users/xitu/following{/other_user}","gists_url":"https://api.github.com/users/xitu/gists{/gist_id}","starred_url":"https://api.github.com/users/xitu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xitu/subscriptions","organizations_url":"https://api.github.com/users/xitu/orgs","repos_url":"https://api.github.com/users/xitu/repos","events_url":"https://api.github.com/users/xitu/events{/privacy}","received_events_url":"https://api.github.com/users/xitu/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/xitu/gold-miner","description":"掘金翻译计划，翻译掘金上优质的英文文章","fork":false,"url":"https://api.github.com/repos/xitu/gold-miner","forks_url":"https://api.github.com/repos/xitu/gold-miner/forks","keys_url":"https://api.github.com/repos/xitu/gold-miner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xitu/gold-miner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xitu/gold-miner/teams","hooks_url":"https://api.github.com/repos/xitu/gold-miner/hooks","issue_events_url":"https://api.github.com/repos/xitu/gold-miner/issues/events{/number}","events_url":"https://api.github.com/repos/xitu/gold-miner/events","assignees_url":"https://api.github.com/repos/xitu/gold-miner/assignees{/user}","branches_url":"https://api.github.com/repos/xitu/gold-miner/branches{/branch}","tags_url":"https://api.github.com/repos/xitu/gold-miner/tags","blobs_url":"https://api.github.com/repos/xitu/gold-miner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xitu/gold-miner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xitu/gold-miner/git/refs{/sha}","trees_url":"https://api.github.com/repos/xitu/gold-miner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xitu/gold-miner/statuses/{sha}","languages_url":"https://api.github.com/repos/xitu/gold-miner/languages","stargazers_url":"https://api.github.com/repos/xitu/gold-miner/stargazers","contributors_url":"https://api.github.com/repos/xitu/gold-miner/contributors","subscribers_url":"https://api.github.com/repos/xitu/gold-miner/subscribers","subscription_url":"https://api.github.com/repos/xitu/gold-miner/subscription","commits_url":"https://api.github.com/repos/xitu/gold-miner/commits{/sha}","git_commits_url":"https://api.github.com/repos/xitu/gold-miner/git/commits{/sha}","comments_url":"https://api.github.com/repos/xitu/gold-miner/comments{/number}","issue_comment_url":"https://api.github.com/repos/xitu/gold-miner/issues/comments{/number}","contents_url":"https://api.github.com/repos/xitu/gold-miner/contents/{+path}","compare_url":"https://api.github.com/repos/xitu/gold-miner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xitu/gold-miner/merges","archive_url":"https://api.github.com/repos/xitu/gold-miner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xitu/gold-miner/downloads","issues_url":"https://api.github.com/repos/xitu/gold-miner/issues{/number}","pulls_url":"https://api.github.com/repos/xitu/gold-miner/pulls{/number}","milestones_url":"https://api.github.com/repos/xitu/gold-miner/milestones{/number}","notifications_url":"https://api.github.com/repos/xitu/gold-miner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xitu/gold-miner/labels{/name}","releases_url":"https://api.github.com/repos/xitu/gold-miner/releases{/id}","deployments_url":"https://api.github.com/repos/xitu/gold-miner/deployments","created_at":"2015-11-04T03:29:13Z","updated_at":"2016-07-24T10:16:29Z","pushed_at":"2016-07-23T16:17:07Z","git_url":"git://github.com/xitu/gold-miner.git","ssh_url":"git@github.com:xitu/gold-miner.git","clone_url":"https://github.com/xitu/gold-miner.git","svn_url":"https://github.com/xitu/gold-miner","homepage":"http://gold.xitu.io","size":14937,"stargazers_count":2532,"watchers_count":2532,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":485,"mirror_url":null,"open_issues_count":20,"forks":485,"open_issues":20,"watchers":2532,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/569"},"html":{"href":"https://github.com/xitu/gold-miner/pull/569"},"issue":{"href":"https://api.github.com/repos/xitu/gold-miner/issues/569"},"comments":{"href":"https://api.github.com/repos/xitu/gold-miner/issues/569/comments"},"review_comments":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/569/comments"},"review_comment":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/569/commits"},"statuses":{"href":"https://api.github.com/repos/xitu/gold-miner/statuses/9f0cd9b33d81744723bcca474eebc4aea6fa0816"}}}}
{"actor":{"display_login":"rccoder"}}