Freecodecamp: 弃用 Gitter 房间,下载所有数据

创建于 2016-05-03  ·  114评论  ·  资料来源: freeCodeCamp/freeCodeCamp

许多旧房间,例如 /helpBonfires 现在已弃用,但露营者仍然加入其中。 我们需要一个获得此 repo 写入权限的贡献者,通过运行以下命令来查看和更新​​这些房间的主题:

/topic This room is inactive, and only exists for archival purposes. Join some active rooms - here's the full list: https://www.freecodecamp.com/wiki/en/official-free-code-camp-chat-rooms/

最有用的评论

请保留编码工作聊天室。 即使我们不发表评论,我们中的很多人也会阅读它。 我已经看到工作机会弹出,我认为如果当时有人正在寻找编码员,他们在聊天而不是论坛中发帖会更容易、更快捷。 此外,动态对话更有趣。 谢谢您的考虑。

所有114条评论

房间通知

  • [x] 篝火
  • [x] Basejumps
  • [x] TwitchTV
  • [x] 节点学校

遗漏了城市特定的房间。

@QuincyLarson我认为应该是这样。

PS 我刚刚意识到我们有 540 个房间,通过这次审计。
其中一些真的很有趣,一些被创造出来并被遗忘了。

添加:

  • [x] 滑索

干得好!

@sludge256 @raisedadead实际上,我认为我们需要对不在我们官方房间列表中的每个房间都这样做(除非它在过去 3 天内碰巧有重大活动)。

检查了大多数房间,所有没有任何活动(一个多月)的房间都没有被触及(只是因为它会引发他们的讨论)。

露营地的房间不需要这个,他们已经有一个消息,上面的内容也适用于所有人。

关闭。

@raisedadead我们已停止使用 fcc wiki。 弃用的房间是否指向论坛中的相应帖子?

@伯克利真
我已经更新了主题。
他们仍然在聊天消息中链接到维基,我可以更新,只是不想触发通知。 考虑到大多数最近没有活动,最好保持原样。

然而,Ziplines 和 Bonfires 有时会吸引访客,因为 Gitter 将它们显示为建议的房间。

@raisedadead @BerkeleyTrue我们实际上可能只想删除已弃用的房间。 很少会被遗漏,这样,Gitter 的本地发现功能就会正常工作。 我们不必列出我们的官方房间——我们只有官方房间(所有非官方的其他房间将由露营者自己管理,而不是在 freecodecamp 前缀下。

缺点:我们丢失了一些历史记录和少量的 Google 搜索结果
好处:聊天室变得更容易向人们解释。

随着论坛的成功,我的目标是将 Gitter 上间歇性发生的大量交流转移到论坛上,在那里期望可能需要几天时间才能得到回应。

许多聊天室都是鬼城——因此我们经常修剪或弃用它们。

我们需要通过官方房间,看看哪些是活跃的。

是的,我同意。 我认为最好的好处是删除它们。 将进行审核并发布可以/必须删除的列表。

许多:> 100/天
一些:> 10/天,< 100/天,
少数:< 10/天
无效:今天没有帖子

FreeCodeCamp - 许多
帮助- 很多
帮助JavaScript - 许多
HelpFrontEnd - 许多
HelpDataViz - 一些
HelpBackEnd - 一些
Python - 很少
Java - 很少
红宝石- 不活动
PHP - 很少
- 不活动
长生不老药- 不活跃
.NET - 不活动
C++ - 不活动
流浪者- 不活跃
Git - 不活动
Linux - 不活动
SQL - 不活动
CodeReview - 许多
YouCanDoThis - 很少
编码工作- 很多
休闲- 一些
课程开发- 一些
数据科学- 一些
阿尔巴尼亚语- 不活跃
阿拉伯语- 很少
中国人- 许多
荷兰语- 不活跃
德语- 不活跃
法语- 不活跃
日语- 不活动
韩语- 不活跃
波斯语- 不活跃
葡萄牙语- 不活跃
罗马尼亚语- 不活跃
俄语- 很少
西班牙语- 一些
瑞典语- 不活跃
他加禄语- 不活动
泰语- 不活跃
越南语- 不活跃

我们的社区主要分布在 3 个地方:

  • 吉特
  • 我们的论坛
  • 脸书群组

就其价值而言,以下是我对这些媒介中的每一种的看法:

  • 聊天室- 为了使聊天室有用,人们通常应该在发布问题或评论后几分钟内得到回复。 这就是我们的主聊天室和大多数帮助室的情况。 聊天室应该引起你的注意。 正如许多团队发现的那样,它们不太适合异步通信。
  • Facebook 群组- 随便分享链接的有趣地方,异步进行肤浅的(非线程)讨论,只需滚动浏览最近的帖子。
  • 论坛- 非常适合深入的主题讨论。 有人发布链接或提出问题。 别人回答。 出现了讨论。 这些没有 F​​acebook 群组和聊天室那么有趣,但通常更实用。

在这三个中,聊天室建立了最紧密的联系。 与人实时交谈令人振奋,离开聊天室可能很难。 这就是说,聊天室受“鬼城”的影响远不止论坛或 Facebook 群组。 一旦聊天室中的事情平息下来,就很难重新开始对话。

通过将尽可能多的聊天室社区集中到几个关键房间,我们降低了鬼城的风险。

问题是我们要保留哪些房间?

基于以上研究,我虚心建议我们:

  • 将所有非 JavaScript 语言的讨论移至论坛
  • 将所有世界语言移至论坛,只打开中文和西班牙文 Gitter 室。 我们可以进一步鼓励使用这些的露营者也尝试使用论坛,看看这些房间是否继续活跃。
  • 一定要离开主房间,帮助房间,codeReview,coreTeam
  • 讨论课程开发、远足和其他房间的未来。 这些都可以组合成一个更通用、更活跃的“贡献者”房间。
  • 通过减少房间的数量,剩下的房间变得更加突出。 作为参考,这里是我们的“房间”页面现在的样子: https :

我很高兴听到每个人对此的想法。

昆西拉森

我看到了你提议的清单和你邀请讨论像 DataScience 这样的聊天室的未来。 我认为这个房间不适合“一般房间”格式:那里发生的讨论主要是关于数据科学。 将那个房间合并到另一个更一般的房间可能会扼杀房间的当前内容和动机,除非它与具有类似意图的房间合并。 像“贡献者”这样的房间看起来并不是这个房间的最佳标题。 我也可以说它很吸引人:房间目前有 680 名订阅者,有些人正在监视活动。

就像现在一样,我认为这个房间的性质和所涉及的活动不适合论坛形式。

我只能谈谈这个房间,因为它是我从成立以来一直管理的房间。

我还监控了 Python 房间的活动:不是“少数”而是“一些”。 然而,这是一个房间,由于其性质,可以搬到其他地方。

西班牙房间也是我见过的最活跃的房间之一...那里的人非常善于维护房间的活动。

这也不适合论坛格式。

如果你认为未来是删除那些房间,我认为西班牙人会受到删除 HelpDataViz、HelpJavaScript 等相关房间的影响。房间。 一旦您删除与帮助相关的房间并将活动移至论坛,西班牙房间可能无法生存或减少其活动。 如果 Gitter 的活动总体上减少,西班牙房间可能会消失。

我建议如下:
对于某些具有“某种”活动级别的项目,在删除其他可能相关的房间后,要么合并,要么等着看它们会发生什么。

我认为删除关于 Help- 的房间只会减少 Gitter 的整个活动,因为 Gitter 将不再是对帮助资源集的引用。

在删除其他可能相关的房间后,要么合并,要么等着看他们会发生什么。

@evaristoc刚刚想出了一个好主意。 与其立即做出重大改变,不如让我们逐步进行这些改变。
首先,我们可以关闭其他语言的聊天室(不是
如果反馈非常消极,那么我们将重新考虑关闭房间的整个想法。

@昆西拉森
如果实际计划是无论活动如何都删除它们,我建议为与主要主持人交谈的用户提供以下替代方案:

  • FCC 如何看待房间(它是主要核心的一部分吗?它是否为 FCC 增加了价值?)
  • 讨论可能性以及 FCC 将如何考虑组(它仍然是 FCC 的核心吗?还是应该由用户自己管理的替代方案?将来会得到 FCC 的支持吗?)
  • 同意退役计划:房间将被最终移动或删除的时间间隔。

至少,要防止用户有足够的时间“将他们的东西移到其他地方”。

我的理解是:
DataScience、西班牙语、俄语、中文、休闲不是 Free Code Camp 的主要核心和使命的一部分。 虽然我不想建议我管理的房间,并且我知道这会完全影响该房间的活动,但这些房间可能会退役到其他平台(如 FB),但需要注意的是他们将失去 A大量的流量 - 如果 Gitter 作为 FCC 平台变得不那么突出,他们无论如何都会这样做。

仅当您确定这些房间不直接为 FCC 项目做出贡献时,才应这样做。 否则,我建议您保留它们,直到您看到删除其他相关房间后 Gitter 活动会发生什么。

我同意昆西的观点。 如果有非常活跃的城市房间可以考虑保留(我知道克利夫兰,我来自哪里,自四月以来就没有了。)我确实认为将与其他房间重复的房间配对会让事情变得更容易。 像以前改过的旧帮助室。

现在,西班牙语/中文我们不碰它们。 中国人尤其是因为缺乏一个好的 FB 替代品。 我认为我们应该能够使用一系列技能组合来处理大约 15 个左右的房间。 正面、数据、背面、代码审查、配对、CodingJobs。 贡献者,核心。 我很确定应该添加其他房间,但这些是我最喜欢的房间。 一旦我们转向新课程(认证的每个部分都是它自己的认证可能保证有自己的房间)

也许作为一个远离编码的地方,可以远离话题。

@evaristoc感谢您的反馈。 我们可以将数据科学室分开,因为正如您指出的那样,它用于很多事情,并且活动和参与者非常健康。

我同意@CarlJKashnier 的观点,即我们应该拍摄 15 个总房间,这将有助于所有剩余的房间更加活跃。 我们以前曾多次清理过这些房间,距离上次清理已经有大约一年的时间了。

我不建议我们删除任何活动的帮助室——只删除不再使用的旧帮助室。 我们早就应该删除这些 - 它们造成的混乱超过了任何存档好处:

我建议我们立即删除以下房间:

  • 所有基于城市的房间
  • 所有旧的帮助室
  • 我们注意到在此线程中未提及但显然处于非活动状态的所有房间

对于特定于编程语言的房间,我认为我们应该@all提及它们并附上标准信息说明为什么我们认为论坛是讨论这些主题的更好场所(由于信息量很少),然后稍等几天看看人们的反应。

我认为应该@all通知课程开发、徒步旅行、LocalLeaders(过去一个月基本上不活跃)、CamperBot、NonprofitProjects(基本上不活跃)、LiveCoding 和 Translators,我们正在创建一个名为“贡献者”的新房间,并在 3 天内删除这些房间之后。

“贡献者”本质上是一个供 FCC 贡献者和“超级用户”(包括为非营利项目和 LetsMeet 风格的内部工具做出贡献的露营者)的房间。它将向所有人开放(CoreTeam 是我们唯一的专属房间)并且可以作为排序一群有兴趣让 Free Code Camp 变得更好的人。

建议? 预订?

同意。 有没有办法让我们联系 Gitter 并获取消息的副本以进行存档。

@raisedadead我认为所有这些房间仍然被谷歌索引

@BerkeleyTrue @raisedadead这些房间由 Google 存档,但在我们删除它们后,它们将不再显示在搜索结果中。 我创建了一个问题来协调完整数据集的下载和开放数据发布: https :

直到房间被删除,还可以在这些房间中添加欢迎消息,(可选)将所有人从房间中删除; 这样当有人加入时,它会显示欢迎信息。

这是用于添加欢迎消息的 gitter API 端点

METHOD: PUT
URI: /rooms/:roomId/meta/welcome-message
DATA: {"welcomeMessage":"# Welcome\n\nHi"}

我认为应该@/all通知课程开发、远足、LocalLeaders(过去一个月基本上不活跃)、CamperBot、NonprofitProjects(基本上不活跃)、LiveCoding 和 Translators,我们正在创建一个名为“贡献者”的新房间并删除3 天后这些房间。

@QuincyLarson我建议将项目房间(例如CamperBot房间)分开,因为它是一个不同的项目(_尽管是 FreeCodeCamp_ 的一部分)。

@abhisekp我只是好奇,如果这些项目室基本上处于非活动状态,为什么我们应该保留它们?

CamperBot 的房间非常不活跃 - 实际上每周一条消息。 我们的目标是将这些房间压缩到尽可能少的地方,以最大限度地提高整体活动量并最大限度地减少“大家好……[蟋蟀]”的影响。

我们可以在贡献者房间中轻松讨论在 FCC 整体改进的背景下对 camperbot 的更改。

@abhisekp感谢您找到我们可以命中的端点。 roomId 是房间的名字吗? 还是我们必须在单独的步骤中收集所有房间 ID 的列表?

@QuincyLarson :roomId<strong><code>FreeCodeCamp/FreeCodeCamp</code></strong> 房间是546fd572db8155e6700d6eaf可以通过按名字加入房间来获得,例如

METHOD: POST
URI: /rooms
DATA: {"uri": "FreeCodeCamp/FreeCodeCamp"}

这是一个两步过程。

:point_right: https://www.npmjs.com/package/node-gitter#promises -or-callbacks

文档: https : //developer.gitter.im/docs/welcome

@abhisekp很棒 - 谢谢你的澄清。

您是否有兴趣编写更新所有房间主题(我们计划保留的主题除外)的脚本? 这将为我们节省大量乏味的工作,我同意在我们下载他们的历史记录并准备删除它们的同时,将这些房间与这个主题分开几天会很棒。

@QuincyLarson当然......我会弄清楚并编写脚本。 :+1:

@abhisekp你有时间在这方面取得任何进展吗?

@QuincyLarson是的。 我已经取得了进展,并将尽快完成。

这几天我的健康状况不佳。 对不起! 对于延迟。

@abhisekp好的 - 太棒了! 我很高兴你还在研究这个。 不用担心延误。 我希望你能尽快感受到💯 :)

@QuincyLarson哪个房间做你不想贬低?
谢谢你给我这个机会。 在创建这个脚本时,我觉得需要一个速率限制器 api(_没有找到任何这样的存在_)。 所以我创建了一个速率限制器库 (https://rate-limiter-api.js.org) :smile: 用于管理 3rd 方 api 速率限制而没有任何麻烦。

脚本准备好了。 很抱歉耽搁了。

请向我提供以下信息

  • 新话题

该房间处于非活动状态,仅用于存档目的。 加入一些活跃的房间 - 这是完整列表: https :

  • 一条聊天消息
  • 欢迎留言
  • 要保存的房间列表(白名单)
  • 不保存的房间列表(黑名单)(_可选_)

    • 保存列表中不保存的房间列表


请不要弃用FreeCodeCamp/Git房间,因为 gitter (_weird_) 中没有 git 房间:stuck_out_tongue_winking_eye:
我一直在使用以下消息进行宣传,并且越来越多的人每天都来。

瓦拉! :tada: 现在我们有了FCC Git Room :mega:: :bell:

立即查看_all_您的Git相关问题。
不要害羞:脸红:。 立即解决它们。 解决方案是_仅一步之遥_。
通过 Git Ninjas 提问并得到回答:panda_face:
:point_right: FreeCodeCamp/Git :flushed:

@abhisekp我看到了你的消息

我估计用你的脚本,下载一百万条消息需要大约 17 天,我怀疑我们的主聊天室有更多。 如果您的优化会显着加快速度,那太好了 - 请制作它们。

否则,我建议我们专注于让这个脚本准备好在数字海洋服务器上为许多不同的房间连续运行,将这些数据转换为特定于房间的 .csv 文件,我们可以将其作为开放数据集发布。

我们可以先关注我们计划删除的所有房间,然后开始在我们的主要房间(不会被删除)上运行它。

您可以将它们转储到本地目录中,我可以手动检索它们并稍后将它们放在 bittorrent 上。

@Berkeleytrue你怎么看这个计划?

最主要的是我们尽快删除这些“鬼城”房间。 感谢您为此付出的辛勤工作。

@BerkeleyTrue你有什么想法?

@QuincyLarson @abhisekp
我一直在与@alayek交谈,他也想为此制作一个脚本。 不知道他在这方面的进展。

也许@abhisekp想联系他?

@abhisekp @alayek你好,我也在关注这个。 现场讨论它可能会很有趣。 你愿意参加在线会议吗? (Skype、谷歌环聊、webex ...)

@ladybugtju对不起! 我对文字聊天很舒服。 我们可以聊天<strong><code>FreeCodeCamp/HelpContributors</code></strong>房间。

你在这方面取得了什么进展,你的方法是什么?

@abhisekp您设法下载了多少聊天室? 我渴望推进整合,但不想在此过程中丢失任何数据。 谢谢!

@QuincyLarson我还需要几天时间。 我一直在寻求有关最佳解决方案逻辑的帮助。 _我的考试正在进行中,所以无法集中精力。_

如果有人可以帮助优化逻辑,那就太好了。 (_具有与 gitter 断开连接并存储在数据库中的故障保护_)即

  • 客户端应该从存储在特定房间(在数据库中)中的最早消息(_使用发送的时间_)恢复
  • 客户端应该在连接失败时重试 3 次(_重试之间有一些间隔_)
  • 客户端应该能够无故障且快速地保存所有检索到的消息(_也许消息代理可以提供帮助,例如 Redis 或 RabbitMQ_)。 (_我不太了解它_)

我正在尝试使用 PostgreSQL 为每个房间存储带有表格的消息。 (_使用 NoSQL 数据库,可能需要大量内存_)
我不知道所有东西在 HDD 中会占用多少空间。
PostgreSQL 支持导出为 csv。

一些事实:

  1. 每条消息都带有唯一的 ID、发送时间、用户名、消息文本
  2. API 端点可以包含以下查询参数(请参阅https://apigee.com/abhisekp/embed/console/gitter#gitter#18

    • beforeId

    • limit (_max 100_)

    • skip (_max 5000_)

  3. 使用单个令牌每分钟只能发出 100 个请求
    (_使用多个令牌,使用并行请求每分钟可以检索更多的消息_)
  4. 每个请求检索 100 条消息
  5. 如果响应为空数组,则房间没有更多消息要检索。
  6. 消息按时间倒序检索。

// cc: @alayek @evaristoc你们能帮忙吗?

@abhisekp感谢您的更新,并感谢您分享迄今为止的进展。

祝你考试顺利。

@FreeCodeCamp/issue-moderators 有人有兴趣解决这个问题吗?

@abhisekp是的,祝考试好运!

我明白你想做什么。 看起来不错! 你用什么语言? 这是端点 API 吗? 好主意!!!

  • 尽管我了解您想要实施的所有内容,但我不是实施它们的专家。 我有一些代码实现了那些用于从 Twitter (python) 和 Facebook (nodejs) API 查找数据的故障安全。 我从来没有遇到过 Gitter API 的中断问题。
  • 我最近一直在用redis(很简单!); RabbitMQ 没有太多实践经验。 我认为两者是不同类型的东西? RabbitMQ 更多用于消息传递,而 redis 是一个简单的 NoSQL,可用于内存存储和模拟代理。 RabbitMQ 的部署可能更先进,但我不确定。 如果您的计划是实现并行性,我认为 RabbitMQ 会更有意义……不确定这个说法……
  • 您对访问数据的方式有何计划?:

    • 在连接到 API 的 UI 上使用查询访问:PostgreSQL 没问题。 尽管您可以将所有这些数据发送到 mongoDB 中不会有太多问题,但 SQL 查询在数据分析师之间仍然比 mongoDB 查询更常见。

    • 一个简单的 API 端点,比如当前的排行榜:在这种情况下,更多的是关于它对你更方便的东西,真的。

    • 作为下载访问的文件:对于我在 kaggle 中看到的内容,它们只是保存您可以下载的 slqlite 文件。

我预计下载此材料的流量不会很大,但偶尔会出现大量下载。 我预计数据库不会承受很大压力,因此可能不需要额外的负载处理。 尽管如此,我想应该考虑警告下载损坏的情况......

  • 关于内存,当我下载数据时,我将 json 文件保存在本机二进制 python (pickle) 中。 除了主房间外,许多最活跃的房间都在 1-2 位数 MB 的数量级。 主房间是我检查过的最大的房间,从 2014 年 12 月到 2015 年 12 月计算为 1.3GB。使用 python 下载 1.3GB 的时间:我认为大约是 6-8 小时?
  • 让我们来看看代币……总的来说,我不会与任何人分享我的代币,但我们可以看看我们是否可以为此破例。
  • 我建议通过更改所有用户名和消息 ID(良好实践)来预处理数据。 虽然对当前数据的访问是完全免费的,但我们应该考虑保持一定程度的隐私保护。 我们在 FCC 中,可以将更改的索引保密以供将来参考和分析,但公共数据集应避免引用个人。 我已经和@alayek 谈过了。

代码在哪里,@abhisekp? 我喜欢你的方法...

@evaristoc听起来,如果件事。 无论如何,我们计划将所有这些房间的内容作为开放数据发布。 你能开始存档过程吗?

@FreeCodeCamp/issue-moderators

我们正在开始整合过程。

我们将执行以下操作:

  • 移除所有以技术为中心的房间(如果你看看它们,它们主要是露营者说“你好”或提出问题,然后没有得到回应)
  • 删除所有以语言为中心的房间,除了西班牙语和中文(我们不会将它们列为官方房间,但由于它们是活跃的,所以会保持原样。这样做的原因是其他人不可避免地会嫉妒并要求自己的房间语言,这将再次成为一个鬼城。)
  • 移除相对不活跃的房间

这是我们新的官方房间(我已经在我们的 wiki 上更新了
FreeCodeCamp我们的主要聊天室 - 闲逛,聊聊生活和学习
帮助从您的营员伙伴那里获得有关 HTML、CSS 和 jQuery 挑战的帮助
HelpJavaScript从您的营员伙伴
HelpFrontEnd从您的营员伙伴
HelpDataViz从您的营员伙伴
HelpBackEnd从您的营员伙伴
CodeReview就您的项目提供和接收来自其他营员的建设性反馈
YouCanDo学习编码很难 - 在这里分享您的感受并获得精神支持
休闲,你可以聊聊这里与其他营员的非编码利益
贡献者帮助我们改进我们的开源课程
DataScience帮助我们了解我们的演出和公共数据演出

我创建了一个名为“贡献者”的新房间,所有关于以任何方式(我们的开源存储库、YouTube、Medium 等)为 FCC 做出贡献的非核心团队讨论都将在那里进行。 这将促进更多的跨学科协作,让人们更好地了解人们在做什么,并引起轰动。

我告诉以下房间的人加入我们新的贡献者房间:

  • [x] 课程开发
  • [x] 远足
  • [x] YouTube
  • [x] 实时编码
  • [x] 维基
  • [x] 翻译
  • [x] 地方领导人
  • [x] 露营车
  • [x] 帮助贡献者

我正在寻找能够帮助我们完成以下工作的核心团队成员:

  • [ ] 确保不在此列表中的所有房间都有以下主题:“此房间将被关闭并存档。请将对该主题的讨论移至我们的论坛,或官方 Free Code Camp 聊天室之一:http: //forum.freecodecamp.com/t/free-code-camp-official-chat-rooms/19390"
  • [ ] 确保所有聊天室都已存档。 我们将把这个档案作为开放数据发布。
  • [ ] 一旦我们将所有这些房间存档(以及在多个物理位置和云上备份数据),我们就需要删除这些房间。

谁有兴趣帮助完成这个过程?

@QuincyLarson @evaristoc主题更改、聊天消息发布和欢迎消息已经使用脚本完成。 我可以立即启动它。

只是归档过程可能需要一点时间才能完成。

@abhisekp很棒 - 感谢您确认这一点。 是的,请这样做。

您是否已开始存档过程? 我们也许可以让不止一个人来做( @evaristoc可以做一半的房间,你可以做另一半?)这会加快存档过程。

@QuincyLarson很酷。 这是要保存的房间列表。 请确认,我可以开始了。 :+1:

FreeCodeCamp/FreeCodeCamp
FreeCodeCamp/Help
FreeCodeCamp/HelpJavaScript
FreeCodeCamp/HelpFrontEnd
FreeCodeCamp/HelpDataViz
FreeCodeCamp/HelpBackEnd
FreeCodeCamp/CodeReview
FreeCodeCamp/YouCanDoThis
FreeCodeCamp/Casual
FreeCodeCamp/Contributors
FreeCodeCamp/DataScience
FreeCodeCamp/CoreTeam

FreeCodeCamp/Espanol
FreeCodeCamp/chinese

_其他房间会有以下话题、聊天留言和欢迎留言_

话题

这个房间将被关闭并存档。 请将有关此主题的讨论移至我们的论坛或官方 Free Code Camp 聊天室之一: http :

聊天消息


这个房间将被关闭并存档。

@/all 请将有关此主题的讨论移至我们的论坛或官方 Free Code Camp 聊天室之一: http :


欢迎辞


这个房间将被关闭并存档。

请将有关此主题的讨论移至我们的论坛或官方 Free Code Camp 聊天室之一: http :


@abhisekp完美。 当您保存“已保存”时,您的意思是“未删除”,对吗?

@QuincyLarson是的。 不弃用。 :+1:

@abhisekp也请不要删除核心团队房间或修改其主题。

@QuincyLarson还有什么空间可以不弃用吗?

@abhisekp我不这么认为。 如果有人注意到某个房间收到了不应该收到的弃用通知,他们可以在此问题上提及它。

请保留编码工作聊天室。 即使我们不发表评论,我们中的很多人也会阅读它。 我已经看到工作机会弹出,我认为如果当时有人正在寻找编码员,他们在聊天而不是论坛中发帖会更容易、更快捷。 此外,动态对话更有趣。 谢谢您的考虑。

编码工作室在此线程中有许多帖子状态,并在那里张贴了弃用通知。

linux、ruby、python 以及可能letsPair 和 git 房间值得保存。 还有 GameDev 室。

虽然我同意一些国家特定的房间、题外话和其他根本没有帮助的房间被删除的决定,但我非常不同意删除特定语言的房间,尤其是那些仍在流行和流行的语言像长生不老药。

额外的房间有助于解决特殊性和像 /FreeCodeCamp/FreeCodeCamp 这样的一般房间过度拥挤的问题,我们可以让人们谈论这些房间里的​​具体事情。 我也喜欢letsPair 房间,也许问题不在于房间没有得到露营者的太多关注和交通方向。

创建贡献室是明智的,但只是有这么多房间被引导到那里,我不知道它会如何运作,但我真的希望它能做到。 我想要 Python、Elixir、Ruby 和 PHP 房间,因为根据 FCC 的愿景,你们想要为这些语言提供“东西”,菜单或地图上没有关于这些的信息,只是一个人们现在可能不记得的中等帖子。

git 房间也可以是一个看门人。

而且,除此之外,关于这个:

如果有人注意到某个房间收到了不应该收到的弃用通知,他们可以在此问题上提及它。

我必须补充一点,也许将这个(隐藏得很深的)问题链接添加到房间中的通知标题会很好,因为,你知道,让人们真的

在这里提到这个问题

现在,文本只是警告人们他们正在使用和每天检查的房间将关闭,没有任何事先警告,也没有向使用它的人询问任何意见。 只是一句话。 无论如何,它将被关闭,您必须使用建议的劣等替代方案(是的:过度拥挤和分散的渠道或子论坛是特定聊天室的劣等替代方案)。

你好。 我在 NYC FCC 小组。 我们有一个活跃的团体,随着位于皇后区的 FCC Coffee N Codes 的推出,该团体越来越受到关注。

正式要求 /NewYorkCity 不被弃用。

编辑:懒惰的链接

@AryanJ-NYC 感谢您指出 gitter.im/freecodecamp/NewYorkCity。 这是一个以本地为中心的聊天室蓬勃发展的特例。 如果此房间保持活动状态,我们可以将其保留为不公开。 我正在房间里发布更新。

@coffeebeanzz您说得对 - 将弃用通知发送给 CodingJobs 是错误的。 我已将其重新添加到正式的房间列表中,并在房间内发送了一条消息,说明它不会被存档。

我已经发布了此过程的详细解释并将其固定在论坛顶部: http :

请让我们保留 Let's Pair 房间。 许多露营者通过在这个房间见面来分享和追赶彼此以完成他们的挑战。

FCC 的概念之一不是与其他人结对以增强我们的编码学习和体验吗?

我关注的仅有的两个房间是 Front End 和 Let's Pair。

@KoniKodes在查看 LetsPair 并与那里的几位露营者交谈后,我同意我们应该将其列为正式房间。

你是我的主要英雄之一。 非常感谢。

来自:昆西拉森 [mailto:[email protected]]
发送:2016 年 9 月 17 日星期六下午 3:39
至:FreeCodeCamp/FreeCodeCamp
抄送:KoniKodes; 提到
主题:回复:[FreeCodeCamp/FreeCodeCamp] 弃用 Gitter 房间,下载所有数据 (#8418)

@KoniKodes https://github.com/KoniKodes在查看 LetsPair 并与那里的几位露营者交谈后,我同意我们应该将其列为官方房间。


你收到这个是因为你被提到了。
直接回复本邮件,在 GitHub 上查看https://github.com/FreeCodeCamp/FreeCodeCamp/issues/8418#issuecomment -247812317 ,或者将线程静音https://github.com/notifications/unsubscribe-auth/ARjWiUauw4_o2DR5nIyYazvVm5KgerZv2 . https://github.com/notifications/beacon/ARjWicsQahixEmA4fdn-_d98WTruUffZks5qrGv_gaJpZM4IWBHE.gif

@abhisekp你下载这些有什么进展吗?

@QuincyLarson我还在研究这个。 需要多一点时间。

@abhisekp好的 - 感谢您确认这仍在进行中。 不着急😃

@abhisekp让我知道我可以提供什么帮助。 另请阅读我上面的消息:
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/8418#issuecomment -247571215

@evaristoc :嗨! 很高兴读到你 :) 我很好奇你处理这个问题的方式。 无需共享令牌,请您制作一个回购或其他任何东西。 有没有办法在运行脚本之前弄清楚房间中有多少数据? 然后我们可以估计所需的时间。 你下载的是1.3G吗? 使用 NodeJS 并将数据写入 JSON 文件,其中 2 个房间给了我以下结果:

  1. 数据科学室 >> @8.2MB /6973Messages/ 48.76s
  2. ContributorsRoom >> @13.5MB / 13877 条消息 / 2:30.96 百万
    这是脚本的链接:
    https://github.com/ladybugtju/ffcGitterData/blob/master/fccGitterData.js
    @QuincyLarson :你有要删除的最终房间列表吗?
    @abhisekp :你好! 考试一切顺利。 期待看到您的方法和结果

@evaristoc如果您还可以拉下所有房间并将它们保存为可以作为开放数据(CSV?)发布的格式,这将非常有帮助。 如果您可以在不到一天的时间内拉出整个主房间,那意味着您应该能够很快拉出大部分房间。

@ladybugtju一旦我们将所有聊天室存档并安全备份,我们就可以开始删除聊天室。 我们没有删除的唯一房间是:

FreeCodeCamp/FreeCodeCamp
FreeCodeCamp/帮助
FreeCodeCamp/HelpJavaScript
FreeCodeCamp/HelpFrontEnd
FreeCodeCamp/HelpDataViz
FreeCodeCamp/HelpBackEnd
FreeCodeCamp/CodeReview
FreeCodeCamp/YouCanDoThis
FreeCodeCamp/休闲
FreeCodeCamp/贡献者
FreeCodeCamp/数据科学
FreeCodeCamp/核心团队
FreeCodeCamp/西班牙语
FreeCodeCamp/中文
FreeCodeCamp/结对编程女性
FreeCodeCamp/纽约市
FreeCodeCamp/letspair
FreeCodeCamp/codingjobs

@QuincyLarson :感谢您的名单。 还有一些其他房间有很多订阅者并且似乎很活跃。 我想我会反过来做,只下载要保留的房间_或其中一些。 这是 Room_Ids 的列表:(可能有用)
https://docs.google.com/spreadsheets/d/1HSRL-HTOREYF86mNDczNp7XNA5Tuo4TWP4AiMYyZDU8/edit?usp=sharing

@ladybugtju尽管这些房间有些活跃(每周有几条消息),但我们还是决定关闭它们。 下载我们保留的房间很有帮助,但我们的目标是确保我们已备份所有要删除的房间以供存档。

@QuincyLarson :感谢您的及时回复。 我也可以提供帮助,但由于 abhisekp 已经加入了所有房间(他应该拥有所有 ID),我正在考虑在本周末下载核心房间以及其他一些房间。 可能需要大约 5 小时。 关键是要开源数据,让人们也分析它,对吧? 我将能够为一些相关房间提供 JSON 格式
我还请您注意以下可能值得保留的房间:
25 FreeCodeCamp/HelpBonfires 55b516800fc9f982beab0950 4141
28 FreeCodeCamp/HelpZiplines 55b522300fc9f982beab0a40 2203
29 FreeCodeCamp/CamperPracticeProjects 54ef614115522ed4b3dc863b 1692
31 FreeCodeCamp/课程开发 54d96d6915522ed4b3dbd2ce 846

@ladybugtju是的 - 这真的很有帮助。 我们也可以将这些房间的数据包含在开放数据集中。

关于你提到的其他房间:

  • FreeCodeCamp/HelpBonfires 和 FreeCodeCamp/HelpZiplines 已被 helpJavaScript 和 helpFrontEnd 取代
  • FreeCodeCamp/CamperPracticeProjects 已被 codereview 取代
  • FreeCodeCamp/CurriculumDevelopment 已被贡献者取代

@QuincyLarson @evaristoc :嗨! 希望你周末过得愉快。 我今天早上运行脚本,发现当数据超过1G时,节点存在内存分配问题。 我需要再深入研究一下,但这里有最新的更新:

代码在 4H30mn 后崩溃 - 内存中的数据:1.4G(可能是房间数据值,但我怀疑它是崩溃级别,因为我发现类似的脚本在同一点崩溃)
这是控制台输出:

<--- 最后几次 GC --->

15953303 毫秒:标记扫描 1372.8 (1435.0) -> 1363.8 (1427.5) MB,1203.0 / 0 毫秒 [分配失败] [旧空间中的 GC 请求]。
15954582 毫秒:标记扫描 1363.8 (1427.5) -> 1363.8 (1428.5) MB,1278.9 / 0 毫秒 [分配失败] [请求旧空间中的 GC]。
15955886 毫秒:标记扫描 1363.8 (1428.5) -> 1363.8 (1427.5) MB,1304.2 / 0 毫秒 [最后手段 gc]。
15957195 毫秒:标记扫描 1363.8 (1427.5) -> 1363.5 (1427.5) MB,1309.3 / 0 毫秒 [最后手段 gc]。

<--- JS 堆栈跟踪 --->

==== JS 堆栈跟踪 ==========================================

安全上下文:0x3f8620ec9fa9
1:_callback [/Users/MacBookPro/Desktop/TEST apps/FCC_challenges/Gitter/GitterApiV2/gitter-demo-app/fccGitterData.js:37] [pc=0x7c8872149cb](this=0x26b775e241a1 ,8420xe,res=0x26b775e294c9,body=0x26b775e2b0d1 2:回调[/Users/MacBookPro/Desktop/TEST apps/FCC_chal...

FAbort 陷阱:6

这周我很忙,但下一个会有更多的时间来工作。
@evaristoc我想知道您是否没有遇到同样的问题,或者您有什么建议
@QuincyLarson :下载较小的房间没有问题,但主房间很重。 最好与 gitter 人员核实并询问那里有多少数据。 我给他们发了一封电子邮件,但仍在等待中

@ladybugtju好的 - 听起来不错。 谢谢你的帮助。 然后继续下载小房间。 我们要删除的大部分房间都比较小。

@ladybugtju @abhisekp @evaristoc你有免费代码营组织下所有房间的清单吗? 如果是这样,您能否在我们备份它们时创建已备份的所有房间的要点? 这样我们就可以看到我们在这方面取得了多少进展。

感谢您的辛勤工作。 这是每天与露营者交谈时都会出现的问题。 一旦我们整合了这些房间,聊天将变得更加有用(和可探索)。

FreeCodeCamp 公共 Gitter 房间列表

存档的房间标有

  • [x] 复选标记

并且删除的房间都标有删除的文字标记

  • [x]已归档并删除

:point_right: https://git.io/vPESQ (_sorted by user count_), _with the room to not be delete at the bottom. (由 Quincy 于 2017 年 10 月 11 日,星期二 13:27 更新)_

  • [x] _FreeCodeCamp/SantaClarita(用户:0,id:560a4adc0fc9f982beb22972)_
  • [x] _FreeCodeCamp/Culiacan(用户:0,id:560a54590fc9f982beb22ab9)_
  • [x] _FreeCodeCamp/Harrisburg(用户:1,id:55a1a3985e0d51bd787b1473)_
  • [x] _FreeCodeCamp/Haifa(用户:1,id:55a1a81a5e0d51bd787b14c2)_
  • [ ] _FreeCodeCamp/Jamnagar(用户:1,id:55a4b8865e0d51bd787b512c)_
  • [ ] _FreeCodeCamp/Bahasa(用户:1,id:55a5ec6e5e0d51bd787b6b63)_
  • [ ] _FreeCodeCamp/Fortaleza(用户:1,id:55d777e20fc9f982beae3240)_
  • [ ] _FreeCodeCamp/深圳(用户:1,id:55d7783f0fc9f982beae3256)_
  • [ ] _FreeCodeCamp/AuburnME(用户:1,id:55d778750fc9f982beae3263)_
  • [ ] _FreeCodeCamp/ButteMN(用户:1,id:55d778980fc9f982beae3273)_
  • [ ] _FreeCodeCamp/Mianwali(用户:1,id:55da2a3f0fc9f982beae5a01)_
  • [x] _FreeCodeCamp/canIMakeRoomsPls(用户:1,id:55e4dec50fc9f982beaf39c6)_
  • [ ] _FreeCodeCamp/Munster(用户:1,id:55e54ced0fc9f982beaf4086)_
  • [ ] _FreeCodeCamp/Surigao(用户:1,id:55e54d800fc9f982beaf4096)_
  • [ ] _FreeCodeCamp/Guacara(用户:1,id:55ebff710fc9f982beafcd25)_
  • [ ] _FreeCodeCamp/Lynchburg(用户:1,id:55ebffb90fc9f982beafcd2d)_
  • [ ] _FreeCodeCamp/Spokane(用户:1,id:55f3c1e00fc9f982beb072e7)_
  • [ ] _FreeCodeCamp/Nazareth(用户:1,id:55f3c2190fc9f982beb072ee)_
  • [ ] _FreeCodeCamp/Ostrava(用户:1,id:5608bdc40fc9f982beb2087a)_
  • [ ] _FreeCodeCamp/FloydVA(用户:1,id:560a54a90fc9f982beb22ac8)_
  • [ ] _FreeCodeCamp/Kosice(用户:1,id:560a54c80fc9f982beb22acb)_
  • [ ] _FreeCodeCamp/Znojmo(用户:2,id:55939a7015522ed4b3e326e5)_
  • [ ] _FreeCodeCamp/Bismarck(用户:2,id:5593927f15522ed4b3e32511)_
  • [ ] _FreeCodeCamp/格拉纳达(用户:2,id:5593954115522ed4b3e325ab)_
  • [ ] _FreeCodeCamp/Guarapuava(用户:2,id:5593954c15522ed4b3e325ad)_
  • [ ] _FreeCodeCamp/蒙哥马利(用户:2,id:559397c515522ed4b3e32627)_
  • [ ] _FreeCodeCamp/Pasto(用户:2,id:5593988015522ed4b3e32661)_
  • [ ] _FreeCodeCamp/Poitiers(用户:2,id:559398a315522ed4b3e3266e)_
  • [ ] _FreeCodeCamp/Pristina(用户:2,id:559398df15522ed4b3e3267d)_
  • [ ] _FreeCodeCamp/MorganCity(用户:2,id:55a06e3e5e0d51bd787af998)_
  • [ ] _FreeCodeCamp/LosAlamos(用户:2,id:55a0941f5e0d51bd787afde0)_
  • [ ] _FreeCodeCamp/Frankfort(用户:2,id:55a094355e0d51bd787afde6)_
  • [ ] _FreeCodeCamp/RedmondOR(用户:2,ID:55a094535e0d51bd787afdf2)_
  • [x] _FreeCodeCamp/Aichi(用户:2,id:55a0945a5e0d51bd787afdf4)_
  • [ ] _FreeCodeCamp/Hickory(用户:2,id:55a1a1e75e0d51bd787b1434)_
  • [ ] _FreeCodeCamp/Moosejaw(用户:2,id:55a1a2885e0d51bd787b1452)_
  • [ ] _FreeCodeCamp/Ranchi(用户:2,id:55a1a2fc5e0d51bd787b145c)_
  • [ ] _FreeCodeCamp/Fuengirola(用户:2,id:55a2dc4d5e0d51bd787b29b0)_
  • [ ] _FreeCodeCamp/Valdosta(用户:2,id:55a4b80d5e0d51bd787b5124)_
  • [ ] _FreeCodeCamp/BelizeCity(用户:2,id:55a4b9ff5e0d51bd787b5154)_
  • [ ] _FreeCodeCamp/危地马拉城(用户:2,id:55a4bc005e0d51bd787b517d)_
  • [ ] _FreeCodeCamp/Reykjavik(用户:2,id:55d777ed0fc9f982beae3243)_
  • [ ] _FreeCodeCamp/Batticaloa(用户:2,id:55d7780c0fc9f982beae324a)_
  • [ ] _FreeCodeCamp/Killeen(用户:2,id:55d778240fc9f982beae324e)_
  • [ ] _FreeCodeCamp/Brasov(用户:2,id:55d787140fc9f982beae3411)_
  • [ ] _FreeCodeCamp/Jacarei(用户:2,id:55da2a9b0fc9f982beae5a06)_
  • [ ] _FreeCodeCamp/Duluth(用户:2,id:55da2afc0fc9f982beae5a0d)_
  • [ ] _FreeCodeCamp/FrederickMD(用户:2,id:55e54d1e0fc9f982beaf408c)_
  • [ ] _FreeCodeCamp/Riga(用户:2,id:55e54d5e0fc9f982beaf4092)_
  • [ ] _FreeCodeCamp/列克星敦(用户:2,id:55ebdb160fc9f982beafcb58)_
  • [] _FreeCodeCamp/SalisburyMD(用户:2,id:55ebdb640fc9f982beafcb67)_
  • [ ] _FreeCodeCamp/Derby(用户:2,id:55ebdb850fc9f982beafcb72)_
  • [ ] _FreeCodeCamp/Harare(用户:2,id:55f3c17b0fc9f982beb072d6)_
  • [ ] _FreeCodeCamp/Trondheim(用户:2,id:55f3c1950fc9f982beb072d9)_
  • [ ] _FreeCodeCamp/CedarRapids(用户:2,id:55f3c2040fc9f982beb072eb)_
  • [ ] _FreeCodeCamp/Leeds(用户:2,id:560a54e60fc9f982beb22ace)_
  • [ ] _FreeCodeCamp/TranslationAmharic(用户:2,id:56bd1476e610378809c103fa)_
  • [ ] _FreeCodeCamp/TranslationKartuli(用户:2,id:5739c392c43b8c6019732d9d)_
  • [ ] _FreeCodeCamp/Apucarana(用户:3,id:559391a115522ed4b3e324e1)_
  • [ ] _FreeCodeCamp/Belem(用户:3,id:5593921415522ed4b3e324f6)_
  • [ ] _FreeCodeCamp/Bijeljina(用户:3,id:5593925c15522ed4b3e32509)_
  • [ ] _FreeCodeCamp/Coventry(用户:3,ID:559393a615522ed4b3e32553)_
  • [ ] _FreeCodeCamp/Durango(用户:3,id:5593941715522ed4b3e32575)_
  • [ ] _FreeCodeCamp/Galveston(用户:3,ID:5593951915522ed4b3e325a3)_
  • [ ] _FreeCodeCamp/Gdynia(用户:3,id:5593952415522ed4b3e325a5)_
  • [ ] _FreeCodeCamp/Guntur(用户:3,id:5593953815522ed4b3e325a9)_
  • [ ] _FreeCodeCamp/LaCrosse(用户:3,id:5593969915522ed4b3e325f1)_
  • [ ] _FreeCodeCamp/Mysore(用户:3,id:559397e815522ed4b3e32630)_
  • [ ] _FreeCodeCamp/Sidoarjo(用户:3,id:559399d215522ed4b3e326b6)_
  • [ ] _FreeCodeCamp/雅温得(用户:3,id:55939a6815522ed4b3e326e3)_
  • [ ] _FreeCodeCamp/Hagerstown(用户:3,id:55a06e065e0d51bd787af991)_
  • [ ] _FreeCodeCamp/Multan(用户:3,id:55a072305e0d51bd787afa0c)_
  • [ ] _FreeCodeCamp/Struga(用户:3,id:55a0940b5e0d51bd787afddc)_
  • [ ] _FreeCodeCamp/TheWarOfArt(用户:3,id:55a19d2c5e0d51bd787b13e3)_
  • [ ] _FreeCodeCamp/Perugia(用户:3,ID:55a1a26b5e0d51bd787b144f)_
  • [ ] _FreeCodeCamp/NewWestminster(用户:3,id:55a2dc8e5e0d51bd787b29c0)_
  • [ ] _FreeCodeCamp/Wuerzburg(用户:3,id:55a4bb0d5e0d51bd787b5168)_
  • [ ] _FreeCodeCamp/StrokeOnTrent(用户:3,id:55a5ff285e0d51bd787b6c9b)_
  • [ ] _FreeCodeCamp/Ticino(用户:3,id:55a5ff5e5e0d51bd787b6ca2)_
  • [ ] _FreeCodeCamp/FortCollins(用户:3,id:55a600755e0d51bd787b6cb8)_
  • [ ] _FreeCodeCamp/NorthMississippi(用户:3,id:55a600c05e0d51bd787b6cc5)_
  • [ ] _FreeCodeCamp/TriCitiesWashington(用户:3,id:55ab726b37f2ad22587e624b)_
  • [ ] _FreeCodeCamp/Ipswich(用户:3,ID:55ab72e137f2ad22587e6257)_
  • [ ] _FreeCodeCamp/Anacortes(用户:3,id:55ab73c837f2ad22587e6270)_
  • [ ] _FreeCodeCamp/IdahoFalls(用户:3,id:55aefb1c0fc9f982beaa826a)_
  • [ ] _FreeCodeCamp/罗安达(用户:3,id:55b560b40fc9f982beab0ef3)_
  • [ ] _FreeCodeCamp/Ferizaj(用户:3,id:55b560d40fc9f982beab0efb)_
  • [ ] _FreeCodeCamp/ElPaso(用户:3,id:55c3af450fc9f982beac7e11)_
  • [ ] _FreeCodeCamp/Farmville(用户:3,id:55c3af500fc9f982beac7e14)_
  • [ ] _FreeCodeCamp/Lae(用户:3,id:55c3af920fc9f982beac7e2b)_
  • [ ] _FreeCodeCamp/Spartanburg(用户:3,id:55c3afbd0fc9f982beac7e38)_
  • [ ] _FreeCodeCamp/Srinagar(用户:3,id:55c3afc80fc9f982beac7e3b)_
  • [ ] _FreeCodeCamp/Chernivtsi(用户:3,id:55cee2330fc9f982bead75d0)_
  • [ ] _FreeCodeCamp/Barranquilla(用户:3,id:55cee40a0fc9f982bead760a)_
  • [ ] _FreeCodeCamp/LondonON(用户:3,id:55d77ab80fc9f982beae32c0)_
  • [ ] _FreeCodeCamp/Mangalore(用户:3,id:55e54cd40fc9f982beaf4082)_
  • [ ] _FreeCodeCamp/Sasebo(用户:3,id:55e54d350fc9f982beaf408f)_
  • [ ] _FreeCodeCamp/堪培拉(用户:3,id:55ebdb7d0fc9f982beafcb6e)_
  • [ ] _FreeCodeCamp/HarrisburgPA(用户:3,id:55ebf9d30fc9f982beafcceb)_
  • [ ] _FreeCodeCamp/什切青(用户:3,id:55f3c1b40fc9f982beb072e2)_
  • [ ] _FreeCodeCamp/CoderDojo(用户:3,id:5660943616b6c7089cbd44d6)_
  • [ ] _FreeCodeCamp/TranslationFarsi(用户:3,id:5717b71d659847a7aff3b740)_
  • [ ] _FreeCodeCamp/TranslationPolish(用户:3,id:577d9ad4c2f0db084a21cd84)_
  • [ ] _FreeCodeCamp/TranslationRomanian(用户:3,ID:57b0906140f3a6eec05f69d7)_
  • [ ] _FreeCodeCamp/CapeCod(用户:4,id:5593930715522ed4b3e32536)_
  • [ ] _FreeCodeCamp/伊尔库茨克(用户:4,id:5593960115522ed4b3e325c8)_
  • [ ] _FreeCodeCamp/Kemerovo(用户:4,id:5593966715522ed4b3e325e3)_
  • [ ] _FreeCodeCamp/KryvyiRih(用户:4,ID:5593969115522ed4b3e325ef)_
  • [ ] _FreeCodeCamp/MississippiGulfCoast(用户:4,ID:559397b215522ed4b3e32623)_
  • [ ] _FreeCodeCamp/Parana(用户:4,id:5593986515522ed4b3e32657)_
  • [ ] _FreeCodeCamp/Quibdo(用户:4,ID:559398f515522ed4b3e32683)_
  • [ ] _FreeCodeCamp/SaintGeorge(用户:4,ID:5593995215522ed4b3e32695)_
  • [ ] _FreeCodeCamp/Solo(用户:4,id:559399f515522ed4b3e326c0)_
  • [ ] _FreeCodeCamp/Hove(用户:4,id:55a06cfb5e0d51bd787af963)_
  • [ ] _FreeCodeCamp/Bishkek(用户:4,id:55a06d305e0d51bd787af975)_
  • [ ] _FreeCodeCamp/RiceLake(用户:4,id:55a094195e0d51bd787afdde)_
  • [ ] _FreeCodeCamp/伯利兹(用户:4,ID:55a094625e0d51bd787afdf6)_
  • [ ] _FreeCodeCamp/LasCruces(用户:4,id:55a0946c5e0d51bd787afdf9)_
  • [ ] _FreeCodeCamp/Torino(用户:4,id:55a1a1b95e0d51bd787b142c)_
  • [ ] _FreeCodeCamp/Leesville(用户:4,id:55a1a2d95e0d51bd787b145a)_
  • [ ] _FreeCodeCamp/Lindsay(用户:4,ID:55a1a7d65e0d51bd787b14bc)_
  • [ ] _FreeCodeCamp/SierraVista(用户:4,id:55a2db275e0d51bd787b298a)_
  • [ ] _FreeCodeCamp/CentralMississippi(用户:4,ID:55a76eee8a7b72f55c3f926a)_
  • [ ] _FreeCodeCamp/MossPoint(用户:4,id:55ab721837f2ad22587e6248)_
  • [ ] _FreeCodeCamp/Goettingen(用户:4,id:55aefa460fc9f982beaa8256)_
  • [ ] _FreeCodeCamp/Lakeland(用户:4,id:55aefb460fc9f982beaa826d)_
  • [ ] _FreeCodeCamp/Warrington(用户:4,ID:55b187770fc9f982beaac632)_
  • [ ] _FreeCodeCamp/AthensOH(用户:4,id:55c3aac30fc9f982beac7d1f)_
  • [ ] _FreeCodeCamp/Isfahan(用户:4,id:55c3af6d0fc9f982beac7e1d)_
  • [ ] _FreeCodeCamp/SydneyNS(用户:4,id:55cee27b0fc9f982bead75d5)_
  • [ ] _FreeCodeCamp/Jaffna(用户:4,id:55cee32f0fc9f982bead75e5)_
  • [ ] _FreeCodeCamp/Allahabad(用户:4,ID:55cee3550fc9f982bead75e8)_
  • [ ] _FreeCodeCamp/Folsom(用户:4,id:55cee3d80fc9f982bead7603)_
  • [ ] _FreeCodeCamp/Lawrence(用户:4,id:55cee41a0fc9f982bead760e)_
  • [ ] _FreeCodeCamp/Goiania(用户:4,id:55d77ae10fc9f982beae32c4)_
  • [ ] _FreeCodeCamp/塔什干(用户:4,id:55ebdb740fc9f982beafcb6a)_
  • [ ] _FreeCodeCamp/突尼斯(用户:4,id:55ebdb8d0fc9f982beafcb75)_
  • [ ] _FreeCodeCamp/FreeCodeCampFire(用户:4,id:56241c6216b6c7089cb7705b)_
  • [ ] _FreeCodeCamp/UrbanTechnologyProject(用户:4,id:56778d9e16b6c7089cbf6d2f)_
  • [ ] _FreeCodeCamp/TranslationBangla(用户:4,id:56e1714685d51f252ab81fd7)_
  • [ ] _FreeCodeCamp/TranslationDutch(用户:4,id:57378306c43b8c601972f037)_
  • [ ] _FreeCodeCamp/Clarksville(用户:5,ID:5593937115522ed4b3e3254d)_
  • [ ] _FreeCodeCamp/Freehold(用户:5,id:5593950f15522ed4b3e325a1)_
  • [ ] _FreeCodeCamp/IvanoFrankivsk(用户:5,ID:5593961215522ed4b3e325cc)_
  • [ ] _FreeCodeCamp/Kerch(用户:5,id:5593966f15522ed4b3e325e5)_
  • [ ] _FreeCodeCamp/Krasnodar(用户:5,id:5593968915522ed4b3e325ed)_
  • [ ] _FreeCodeCamp/尼科西亚(用户:5,id:5593982915522ed4b3e32641)_
  • [ ] _FreeCodeCamp/地拉那(用户:5,ID:55939a2715522ed4b3e326d1)_
  • [ ] _FreeCodeCamp/Kampala(用户:5,id:5595843915522ed4b3e3420e)_
  • [ ] _FreeCodeCamp/昆卡(用户:5,id:559a18b115522ed4b3e37207)_
  • [ ] _FreeCodeCamp/Noida(用户:5,id:559a18f415522ed4b3e3720e)_
  • [ ] _FreeCodeCamp/Salamanca(用户:5,id:559a190115522ed4b3e37210)_
  • [] _FreeCodeCamp/Savannah(用户:5,id:55a06c725e0d51bd787af956)_
  • [ ] _FreeCodeCamp/KingstonON(用户:5,id:55a06d935e0d51bd787af980)_
  • [ ] _FreeCodeCamp/BuryStEdmunds(用户:5,ID:55a06e795e0d51bd787af9a2)_
  • [ ] _FreeCodeCamp/Tijuana(用户:5,id:55a06e8f5e0d51bd787af9a4)_
  • [ ] _FreeCodeCamp/埃里温(用户:5,id:55a1a3555e0d51bd787b1467)_
  • [ ] _FreeCodeCamp/Evansville(用户:5,id:55a600365e0d51bd787b6cb4)_
  • [ ] _FreeCodeCamp/Puebla(用户:5,id:55a76ec58a7b72f55c3f9266)_
  • [ ] _FreeCodeCamp/Almeria(用户:5,id:55aefac20fc9f982beaa825c)_
  • [ ] _FreeCodeCamp/UniversityCenter(用户:5,id:55aefbc40fc9f982beaa8293)_
  • [ ] _FreeCodeCamp/Nusajaya(用户:5,id:55b042430fc9f982beaa9f12)_
  • [ ] _FreeCodeCamp/BryanCollegeStation(用户:5,id:55bbaa870fc9f982beabb194)_
  • [ ] _FreeCodeCamp/Bakersfield(用户:5,id:55c3af330fc9f982beac7e0e)_
  • [] _FreeCodeCamp/Huntsville(用户:5,id:55c3af630fc9f982beac7e1a)_
  • [ ] _FreeCodeCamp/耶路撒冷(用户:5,id:55c3af740fc9f982beac7e20)_
  • [ ] _FreeCodeCamp/Juarezchi(用户:5,id:55c3af820fc9f982beac7e24)_
  • [ ] _FreeCodeCamp/阅读(用户:5,id:55c3afa60fc9f982beac7e31)_
  • [ ] _FreeCodeCamp/SanJoseCostaRica(用户:5,id:55c3afb40fc9f982beac7e35)_
  • [ ] _FreeCodeCamp/符拉迪沃斯托克 (用户: 5, id: 55c3afea0fc9f982beac7e4f)_
  • [ ] _FreeCodeCamp/Tegucigalpa(用户:5,id:55cee1f00fc9f982bead75c6)_
  • [ ] _FreeCodeCamp/Aurora(用户:5,id:55cee2940fc9f982bead75d8)_
  • [ ] _FreeCodeCamp/Kozhikode(用户:5,id:55cee2f90fc9f982bead75e2)_
  • [ ] _FreeCodeCamp/Fremont(用户:5,id:55d77aea0fc9f982beae32ca)_
  • [ ] _FreeCodeCamp/Gurgaon(用户:5,id:55ebdb5b0fc9f982beafcb64)_
  • [ ] _FreeCodeCamp/CodingOnAPhone(用户:5,id:565e3e5016b6c7089cbcfb7e)_
  • [ ] _FreeCodeCamp/Aracaju(用户:6,id:559391ab15522ed4b3e324e3)_
  • [ ] _FreeCodeCamp/Bucaramanga(用户:6,id:559392c715522ed4b3e32526)_
  • [ ] _FreeCodeCamp/HamptonRoads(用户:6,ID:5593955815522ed4b3e325af)_
  • [ ] _FreeCodeCamp/Harcourt(用户:6,id:5593957615522ed4b3e325b3)_
  • [ ] _FreeCodeCamp/JoaoPessoa(用户:6,id:5593962515522ed4b3e325d3)_
  • [ ] _FreeCodeCamp/Leesburg(用户:6,ID:559396bf15522ed4b3e325f9)_
  • [ ] _FreeCodeCamp/Limassol(用户:6,ID:559396d915522ed4b3e325ff)_
  • [ ] _FreeCodeCamp/Lubbock(用户:6,ID:5593971915522ed4b3e3260c)_
  • [ ] _FreeCodeCamp/Nashik(用户:6,id:559397f715522ed4b3e32634)_
  • [ ] _FreeCodeCamp/NorthPlatte(用户:6,id:5593983115522ed4b3e32645)_
  • [ ] _FreeCodeCamp/叶卡捷琳堡(用户:6,id:559d449115522ed4b3e3a6fd)_
  • [ ] _FreeCodeCamp/BloomingtonNormal(用户:6,id:55a06cde5e0d51bd787af961)_
  • [ ] _FreeCodeCamp/TomsRiver(用户:6,id:55a4b8455e0d51bd787b5129)_
  • [ ] _FreeCodeCamp/那不勒斯(用户:6,id:55a4b8e15e0d51bd787b513d)_
  • [ ] _FreeCodeCamp/贝鲁特(用户:6,id:55a4b90e5e0d51bd787b513f)_
  • [ ] _FreeCodeCamp/Cali(用户:6,id:55a5f3ae5e0d51bd787b6be6)_
  • [ ] _FreeCodeCamp/蒙得维的亚(用户:6,id:55aef9e80fc9f982beaa8247)_
  • [ ] _FreeCodeCamp/Pondicherry(用户:6,id:55aefa1c0fc9f982beaa8252)_
  • [ ] _FreeCodeCamp/科索沃(用户:6,id:55b560e30fc9f982beab0efe)_
  • [ ] _FreeCodeCamp/Bacau(用户:6,id:55c3af2a0fc9f982beac7e0b)_
  • [ ] _FreeCodeCamp/瑞典语(用户:6,id:55cae71e0fc9f982bead1849)_
  • [ ] _FreeCodeCamp/Fayetteville(用户:6,ID:55cee36b0fc9f982bead75eb)_
  • [ ] _FreeCodeCamp/Baku(用户:6,id:55cee3810fc9f982bead75f4)_
  • [ ] _FreeCodeCamp/AndroidApp(用户:6,id:55eb540d0fc9f982beafc528)_
  • [ ] _FreeCodeCamp/Victoria(用户:7,id:559a18a815522ed4b3e37201)_
  • [ ] _FreeCodeCamp/Campinas(用户:7,id:559392fd15522ed4b3e32534)_
  • [ ] _FreeCodeCamp/Curitiba(用户:7,ID:559393b115522ed4b3e32555)_
  • [ ] _FreeCodeCamp/Kaduna(用户:7,ID:5593963615522ed4b3e325d7)_
  • [ ] _FreeCodeCamp/Bhaktapur(用户:7,ID:5593925215522ed4b3e32506)_
  • [] _FreeCodeCamp/Waterford(用户:7,ID:55a093fb5e0d51bd787afdda)_
  • [ ] _FreeCodeCamp/基督城(用户:7,ID:55a1a3cf5e0d51bd787b1477)_
  • [ ] _FreeCodeCamp/Hobart(用户:7,ID:55b55f7a0fc9f982beab0edd)_
  • [ ] _FreeCodeCamp/Surrey(用户:7,id:55b55fa20fc9f982beab0ee3)_
  • [ ] _FreeCodeCamp/Norfolk(用户:7,ID:55b85adf0fc9f982beab5984)_
  • [ ] _FreeCodeCamp/泗水(用户:7,id:55c3afd30fc9f982beac7e3e)_
  • [ ] _FreeCodeCamp/Timisoara(用户:7,id:55c3afe20fc9f982beac7e4a)_
  • [ ] _FreeCodeCamp/Ames(用户:7,id:560a52ec0fc9f982beb22a9f)_
  • [ ] _FreeCodeCamp/TranslateHindi(用户:7,id:56c0614ae610378809c15ab3)_
  • [ ] _FreeCodeCamp/TranslateSerbian(用户:7,id:56c06a19e610378809c15b68)_
  • [ ] _FreeCodeCamp/Firenze(用户:8,id:5593942a15522ed4b3e3257a)_
  • [ ] _FreeCodeCamp/NorthernArizona(用户:8,ID:5593943315522ed4b3e32583)_
  • [ ] _FreeCodeCamp/日内瓦(用户:8,ID:5593952e15522ed4b3e325a7)_
  • [ ] _FreeCodeCamp/SaintPaul(用户:8,id:55939ca115522ed4b3e32711)_
  • [ ] _FreeCodeCamp/Glendora(用户:8,id:55939cb515522ed4b3e32715)_
  • [ ] _FreeCodeCamp/Colombo(用户:8,id:55a4b7d15e0d51bd787b5118)_
  • [ ] _FreeCodeCamp/Trivandrum(用户:8,id:55a6d1ed5e0d51bd787b7da1)_
  • [ ] _FreeCodeCamp/JacksonMS(用户:8,id:55a76e918a7b72f55c3f9262)_
  • [x] _FreeCodeCamp/阿尔巴尼亚语(用户:8,id:55b555b40fc9f982beab0e20)_
  • [ ] _FreeCodeCamp/LittleRock(用户:8,id:55b55f1a0fc9f982beab0ed3)_
  • [x] _FreeCodeCamp/Albuquerque(用户:8,id:55c3ab550fc9f982beac7d4c)_
  • [ ] _FreeCodeCamp/Thessaloniki(用户:8,id:55c3afda0fc9f982beac7e41)_
  • [ ] _FreeCodeCamp/TranslationDeutsch(用户:8,id:56ba7421e610378809c0ac8a)_
  • [ ] _FreeCodeCamp/TranslationChinese(用户数:8,id:56fa817e85d51f252abb6443)_
  • [ ] _FreeCodeCamp/Asuncion(用户:9,ID:559391cf15522ed4b3e324e7)_
  • [ ] _FreeCodeCamp/VirginiaBeach(用户:9,id:55939c8c15522ed4b3e3270d)_
  • [x] _FreeCodeCamp/Albany(用户:9,id:5593908715522ed4b3e324cc)_
  • [ ] _FreeCodeCamp/Bydgoszcz(用户:9,ID:5593926615522ed4b3e3250b)_
  • [ ] _FreeCodeCamp/Doha(用户:9,id:559393fd15522ed4b3e3256f)_
  • [ ] _FreeCodeCamp/Kalamazoo(用户:9,ID:5593964015522ed4b3e325d9)_
  • [ ] _FreeCodeCamp/Lehi(用户:9,id:559396c815522ed4b3e325fb)_
  • [ ] _FreeCodeCamp/SantaCruz(用户:9,ID:559399ad15522ed4b3e326aa)_
  • [ ] _FreeCodeCamp/Stuttgart(用户:9,ID:559399fc15522ed4b3e326c7)_
  • [ ] _FreeCodeCamp/Vitoria(用户:9,id:55939c8115522ed4b3e3270b)_
  • [ ] _FreeCodeCamp/LaPaz(用户:9,ID:559396a015522ed4b3e325f3)_
  • [ ] _FreeCodeCamp/StCloud(用户:9,id:559cadc915522ed4b3e39e48)_
  • [ ] _FreeCodeCamp/Tallahassee(用户:9,id:55a5f3815e0d51bd787b6be4)_
  • [ ] _FreeCodeCamp/ChampaignUrbana(用户:9,id:55c3dbcd0fc9f982beac8324)_
  • [ ] _FreeCodeCamp/ChiangMai(用户:10,id:5593933b15522ed4b3e32545)_
  • [ ] _FreeCodeCamp/Penang (用户: 10, id: 5593988915522ed4b3e32663)_
  • [ ] _FreeCodeCamp/SanBernardino(用户:10,ID:5593997c15522ed4b3e3269e)_
  • [ ] _FreeCodeCamp/SanLuisObispo(用户:10,id:5593999c15522ed4b3e326a6)_
  • [ ] _FreeCodeCamp/SantaBarbara(用户:10,ID:559399a415522ed4b3e326a8)_
  • [ ] _FreeCodeCamp/Temecula(用户:10,id:55939a2015522ed4b3e326cf)_
  • [ ] _FreeCodeCamp/Lviv(用户:10,ID:559cab8415522ed4b3e39e2b)_
  • [ ] _FreeCodeCamp/NewPaltz(用户:10,id:5593981a15522ed4b3e3263d)_
  • [ ] _FreeCodeCamp/Wichita(用户:10,ID:55a06e565e0d51bd787af99e)_
  • [ ] _FreeCodeCamp/SanJuan(用户:10,id:55a2db8d5e0d51bd787b2995)_
  • [ ] _FreeCodeCamp/AbuDhabi(用户:10,id:55a4bb4b5e0d51bd787b516a)_
  • [ ] _FreeCodeCamp/Buffalo(用户:10,ID:55ab736b37f2ad22587e6262)_
  • [ ] _FreeCodeCamp/Casablanca(用户:10,id:55b55eb60fc9f982beab0ecd)_
  • [ ] _FreeCodeCamp/Olympia(用户:10,id:55becad90fc9f982beabebd2)_
  • [ ] _FreeCodeCamp/安全(用户:10,id:55f3b4c00fc9f982beb0723b)_
  • [ ] _FreeCodeCamp/TranslateTurkish(用户:10,ID:56c06b64e610378809c15b7a)_
  • [ ] _FreeCodeCamp/Florianopolis(用户:11,ID:5593944e15522ed4b3e32585)_
  • [ ] _FreeCodeCamp/Boulder(用户:11,ID:5593929a15522ed4b3e3251c)_
  • [ ] _FreeCodeCamp/Winnipeg(用户:11,ID:55939a6015522ed4b3e326e1)_
  • [ ] _FreeCodeCamp/Bellingham(用户:11,ID:5593922615522ed4b3e324fa)_
  • [ ] _FreeCodeCamp/Brighton(用户:11,ID:55a093d65e0d51bd787afdcb)_
  • [ ] _FreeCodeCamp/Modesto(用户:11,id:55a4bb8f5e0d51bd787b516e)_
  • [ ] _FreeCodeCamp/巴拿马城(用户:11,id:55a5f3de5e0d51bd787b6be9)_
  • [ ] _FreeCodeCamp/RiversideCA(用户:11,id:55a5ff8c5e0d51bd787b6ca5)_
  • [ ] _FreeCodeCamp/塔林(用户:11,ID:55b55f820fc9f982beab0ee0)_
  • [ ] _FreeCodeCamp/TranslationArabic(用户:11,ID:56fec4c5187bb6f0eadd6ad2)_
  • [ ] _FreeCodeCamp/ServerSideChat(用户:12,id:558602c015522ed4b3e23712)_
  • [ ] _FreeCodeCamp/Bandung(用户:12,ID:5593920115522ed4b3e324f2)_
  • [ ] _FreeCodeCamp/巴西利亚(用户:12,ID:559392a315522ed4b3e3251e)_
  • [ ] _FreeCodeCamp/Brno(用户:12,id:559392b515522ed4b3e32522)_
  • [ ] _FreeCodeCamp/Dnipropetrovsk(用户:12,ID:559393f415522ed4b3e3256d)_
  • [ ] _FreeCodeCamp/法兰克福(用户:12,ID:5593950415522ed4b3e3259f)_
  • [ ] _FreeCodeCamp/苏黎世(用户:12,ID:55939a7815522ed4b3e326e7)_
  • [ ] _FreeCodeCamp/Amman(用户:12,id:559a190d15522ed4b3e37212)_
  • [ ] _FreeCodeCamp/Fresno(用户:12,id:559a192215522ed4b3e37216)_
  • [ ] _FreeCodeCamp/Hamburg(用户:12,id:55a06df05e0d51bd787af98e)_
  • [ ] _FreeCodeCamp/GainesvilleFL(用户:12,ID:55a1a2b55e0d51bd787b1456)_
  • [ ] _FreeCodeCamp/Reno(用户:12,id:55b185850fc9f982beaac600)_
  • [x] _FreeCodeCamp/Algiers(用户:12,id:55b560ed0fc9f982beab0f01)_
  • [ ] _FreeCodeCamp/Columbus(用户:12,id:55cee2010fc9f982bead75cd)_
  • [ ] _FreeCodeCamp/Skopje(用户:13,ID:559399e415522ed4b3e326ba)_
  • [ ] _FreeCodeCamp/Provo(用户:13,id:559398ed15522ed4b3e32681)_
  • [ ] _FreeCodeCamp/SouthBend(用户:13,ID:55939c9715522ed4b3e3270f)_
  • [ ] _FreeCodeCamp/瓦伦西亚(用户:13,ID:55939a4715522ed4b3e326db)_
  • [ ] _FreeCodeCamp/Tulsa(用户:13,ID:55939a3c15522ed4b3e326d9)_
  • [ ] _FreeCodeCamp/Boise(用户:13,ID:55a06d6d5e0d51bd787af97a)_
  • [ ] _FreeCodeCamp/Sheffield(用户:13,ID:55a093be5e0d51bd787afdc4)_
  • [ ] _FreeCodeCamp/BloomingtonIN(用户:13,ID:55a093e65e0d51bd787afdd5)_
  • [ ] _FreeCodeCamp/Ankara(用户:13,id:55a1a2375e0d51bd787b1440)_
  • [ ] _FreeCodeCamp/NewBrunswick(用户:13,ID:55ab731937f2ad22587e625a)_
  • [ ] _FreeCodeCamp/Sarajevo(用户:13,ID:55f3bda00fc9f982beb072b9)_
  • [ ] _FreeCodeCamp/TranslationItaliana(用户:13,id:572bd749c43b8c6019716388)_
  • [ ] _FreeCodeCamp/Jacksonville(用户:14,ID:559a191915522ed4b3e37214)_
  • [x] _FreeCodeCamp/阿德莱德(用户:14,id:55a1a3775e0d51bd787b1470)_
  • [ ] _FreeCodeCamp/Louisville(用户:14,ID:55aef9ae0fc9f982beaa823a)_
  • [ ] _FreeCodeCamp/斯德哥尔摩(用户:14,ID:55d786650fc9f982beae33f4)_
  • [ ] _FreeCodeCamp/Monterrey(用户:15,ID:5595842315522ed4b3e3420a)_
  • [ ] _FreeCodeCamp/Coimbatore(用户:15,ID:5593939a15522ed4b3e32551)_
  • [ ] _FreeCodeCamp/Iasi(用户:15,id:559395d115522ed4b3e325c6)_
  • [ ] _FreeCodeCamp/Missoula(用户:15,ID:559397bc15522ed4b3e32625)_
  • [ ] _FreeCodeCamp/BeloHorizo​​nte(用户:15,ID:5593923015522ed4b3e324fc)_
  • [ ] _FreeCodeCamp/Knoxville(用户:15,ID:55a093f15e0d51bd787afdd8)_
  • [ ] _FreeCodeCamp/ColoradoSprings(用户:15,ID:55a0944b5e0d51bd787afdef)_
  • [ ] _FreeCodeCamp/米兰(用户:15,id:55aefaa80fc9f982beaa8259)_
  • [ ] _FreeCodeCamp/Halifax(用户:15,ID:55c3af5b0fc9f982beac7e17)_
  • [ ] _FreeCodeCamp/LasVegas(用户:15,ID:55c3af8a0fc9f982beac7e28)_
  • [ ] _FreeCodeCamp/Omaha(用户:16,ID:5593984615522ed4b3e3264a)_
  • [ ] _FreeCodeCamp/NodeSchool(用户:16,id:5520117215522ed4b3de5a2f)_
  • [ ] _FreeCodeCamp/伯明翰(用户:16,ID:5593926e15522ed4b3e3250d)_
  • [ ] _FreeCodeCamp/Hartford(用户:16,ID:5593957f15522ed4b3e325b5)_
  • [ ] _FreeCodeCamp/Pasadena(用户:16,ID:5593987715522ed4b3e3265e)_
  • [ ] _FreeCodeCamp/SanAntonio(用户:16,ID:55a4bbbd5e0d51bd787b5175)_
  • [ ] _FreeCodeCamp/GrandRapids(用户:16,id:55b181eb0fc9f982beaac5ae)_
  • [ ] _FreeCodeCamp/德黑兰(用户:16,ID:55b560c30fc9f982beab0ef7)_
  • [ ] _FreeCodeCamp/釜山(用户:16,id:55cee39a0fc9f982bead75f7)_
  • [ ] _FreeCodeCamp/布拉迪斯拉发(用户:17,ID:559392ab15522ed4b3e32520)_
  • [ ] _FreeCodeCamp/洛杉矶(用户:17,ID:5593971015522ed4b3e32609)_
  • [ ] _FreeCodeCamp/约翰内斯堡(用户:17,ID:5593962c15522ed4b3e325d5)_
  • [ ] _FreeCodeCamp/Kathmandu(用户:17,ID:5593965e15522ed4b3e325e0)_
  • [ ] _FreeCodeCamp/Asheville(用户:17,ID:559391c415522ed4b3e324e5)_
  • [ ] _FreeCodeCamp/Tucson(用户:17,ID:55939a3515522ed4b3e326d7)_
  • [ ] _FreeCodeCamp/Trojmiasto(用户:17,ID:55a06d545e0d51bd787af977)_
  • [x] _FreeCodeCamp/Aarhus(用户:17,id:55ab72b337f2ad22587e6254)_
  • [ ] _FreeCodeCamp/TranslationRussian(用户:17,ID:56d17d02e610378809c3d9d2)_
  • [ ] _FreeCodeCamp/Porto(用户:18,ID:559398b315522ed4b3e32670)_
  • [ ] _FreeCodeCamp/NewHaven(用户:18,id:5593980815522ed4b3e32638)_
  • [ ] _FreeCodeCamp/Hanoi(用户:18,ID:5593956c15522ed4b3e325b1)_
  • [ ] _FreeCodeCamp/Providence(用户:18,ID:559398e515522ed4b3e3267f)_
  • [ ] _FreeCodeCamp/维尔纽斯(用户:18,ID:55a1a2095e0d51bd787b143b)_
  • [ ] _FreeCodeCamp/爱丁堡(用户:18,ID:55aefc130fc9f982beaa829b)_
  • [ ] _FreeCodeCamp/Chattanooga(用户:19,ID:5593932b15522ed4b3e3253f)_
  • [ ] _FreeCodeCamp/RochesterNY(用户:19,ID:559ca9b015522ed4b3e39e14)_
  • [ ] _FreeCodeCamp/鹿特丹(用户:19,ID:5593993b15522ed4b3e3268f)_
  • [ ] _FreeCodeCamp/意大利语(用户:19,ID:574bc382c43b8c601975a6bd)_
  • [ ] _FreeCodeCamp/曼谷(用户:20,id:5593920b15522ed4b3e324f4)_
  • [ ] _FreeCodeCamp/Hermosillo(用户:20,id:5593958915522ed4b3e325b7)_
  • [ ] _FreeCodeCamp/Islamabad(用户:20,ID:5593960915522ed4b3e325ca)_
  • [ ] _FreeCodeCamp/Recife(用户:20,id:5593990315522ed4b3e32687)_
  • [ ] _FreeCodeCamp/布里斯班(用户:20,ID:55ab71e337f2ad22587e6239)_
  • [ ] _FreeCodeCamp/Caracas(用户:21,ID:5593931a15522ed4b3e3253a)_
  • [ ] _FreeCodeCamp/迪拜(用户:21,ID:5593940715522ed4b3e32571)_
  • [ ] _FreeCodeCamp/伯明翰阿拉巴马州(用户:21,ID:5593927715522ed4b3e3250f)_
  • [x] _FreeCodeCamp/Accra(用户:21,id:5593906b15522ed4b3e324c6)_
  • [ ] _FreeCodeCamp/Minsk(用户:21,ID:55a1a3245e0d51bd787b145e)_
  • [ ] _FreeCodeCamp/越南语(用户:21,ID:55a5ec8b5e0d51bd787b6b68)_
  • [ ] _FreeCodeCamp/渥太华(用户:21,id:55aefbe20fc9f982beaa8296)_
  • [ ] _FreeCodeCamp/离线模式(用户:21,id:5629507a16b6c7089cb7efe6)_
  • [ ] _FreeCodeCamp/埃德蒙顿(用户:22,ID:5593942115522ed4b3e32578)_
  • [ ] _FreeCodeCamp/Roma(用户:22,id:5593991d15522ed4b3e3268d)_
  • [ ] _FreeCodeCamp/斋浦尔(用户:22,id:5595842c15522ed4b3e3420c)_
  • [ ] _FreeCodeCamp/TranslationFrench(用户:22,id:56cfbdf1e610378809c38c4f)_
  • [ ] _FreeCodeCamp/后端挑战(用户:22,ID:57179440659847a7aff3b114)_
  • [ ] _FreeCodeCamp/NewOrleans(用户:23,ID:5593981215522ed4b3e3263a)_
  • [x] _FreeCodeCamp/Ahmedab​​ad(用户:24,ID:5593907a15522ed4b3e324c8)_
  • [ ] _FreeCodeCamp/TwitchTV(用户:24,ID:5522a2ab15522ed4b3de6b61)_
  • [ ] _FreeCodeCamp/里斯本(用户:24,ID:559396e315522ed4b3e32601)_
  • [ ] _FreeCodeCamp/Cluj(用户:24,id:5593938015522ed4b3e3254f)_
  • [ ] _FreeCodeCamp/DesMoines(用户:24,ID:559393d715522ed4b3e32567)_
  • [ ] _FreeCodeCamp/韩文(用户:24,id:55a5ec7a5e0d51bd787b6b66)_
  • [ ] _FreeCodeCamp/YouTube(用户:24,ID:571109bf187bb6f0eadf9fcf)_
  • [ ] _FreeCodeCamp/OklahomaCity(用户:25,ID:5593983a15522ed4b3e32648)_
  • [ ] _FreeCodeCamp/AnnArbor(用户:25,ID:5593919515522ed4b3e324df)_
  • [ ] _FreeCodeCamp/Madison(用户:25,ID:55a181e85e0d51bd787b11bd)_
  • [ ] _FreeCodeCamp/伊兹密尔(用户:25,ID:55a5f30d5e0d51bd787b6bdc)_
  • [ ] _FreeCodeCamp/Karachi(用户:26,id:5593965415522ed4b3e325de)_
  • [ ] _FreeCodeCamp/SocialNetwork(用户:26,id:55a19b4f5e0d51bd787b13c8)_
  • [ ] _FreeCodeCamp/特拉维夫(用户:27,ID:55a093d05e0d51bd787afdc9)_
  • [ ] _FreeCodeCamp/巴塞罗那(用户:27,id:55a5ffd95e0d51bd787b6caa)_
  • [ ] _FreeCodeCamp/维也纳(用户:27,ID:570f342a187bb6f0eadf5f72)_
  • [ ] _FreeCodeCamp/奥克兰(用户:28,ID:559391e315522ed4b3e324eb)_
  • [ ] _FreeCodeCamp/CapeTown(用户:28,id:5593931215522ed4b3e32538)_
  • [ ] _FreeCodeCamp/Kolkata(用户:28,ID:5593968115522ed4b3e325eb)_
  • [ ] _FreeCodeCamp/Guadalajara(用户:28,ID:5595b8a215522ed4b3e34571)_
  • [ ] _FreeCodeCamp/罗马尼亚语(用户:28,ID:55b8637f0fc9f982beab5a05)_
  • [ ] _FreeCodeCamp/珀斯(用户:29,ID:559a18dc15522ed4b3e3720b)_
  • [ ] _FreeCodeCamp/底特律(用户:29,ID:559393e215522ed4b3e32569)_
  • [ ] _FreeCodeCamp/密尔沃基(用户:30,ID:5593979f15522ed4b3e3261f)_
  • [ ] _FreeCodeCamp/东京(用户:30,id:55a5f32c5e0d51bd787b6bdf)_
  • [ ] _FreeCodeCamp/波哥大(用户:31,ID:5593928a15522ed4b3e32513)_
  • [ ] _FreeCodeCamp/堪萨斯城(用户:31,ID:5593964a15522ed4b3e325db)_
  • [x] _FreeCodeCamp/HongKong(用户:31,id:5593959c15522ed4b3e325bb)_
  • [ ] _FreeCodeCamp/TranslationBahasaIndonesia(用户:31,id:570b7531187bb6f0eadedc32)_
  • [ ] _FreeCodeCamp/SantoDomingo(用户:32,ID:55a094285e0d51bd787afde4)_
  • [ ] _FreeCodeCamp/TimeCoordinatorApp(用户:33,id:54f7772815522ed4b3dccf75)_
  • [ ] _FreeCodeCamp/Richmond(用户:33,ID:5593990a15522ed4b3e32689)_
  • [ ] _FreeCodeCamp/Bhubaneswar(用户:33,ID:55a094455e0d51bd787afded)_
  • [ ] _FreeCodeCamp/圣地亚哥(用户:33,ID:55ab739a37f2ad22587e6268)_
  • [ ] _FreeCodeCamp/他加禄语(用户:33,ID:55b1cacc0fc9f982beaacbc4)_
  • [ ] _FreeCodeCamp/PortoAlegre(用户:33,ID:55c3af9c0fc9f982beac7e2e)_
  • [ ] _FreeCodeCamp/RiodeJaneiro(用户:34,ID:5593991415522ed4b3e3268b)_
  • [ ] _FreeCodeCamp/拉合尔(用户:34,id:559396b715522ed4b3e325f7)_
  • [ ] _FreeCodeCamp/荷兰语(用户:35,ID:5593a16c15522ed4b3e32755)_
  • [ ] _FreeCodeCamp/Cairo(用户:35,id:559392ec15522ed4b3e32530)_
  • [ ] _FreeCodeCamp/布鲁塞尔(用户:35,ID:559392bf15522ed4b3e32524)_
  • [ ] _FreeCodeCamp/Salvador(用户:35,ID:5593997015522ed4b3e3269b)_
  • [ ] _FreeCodeCamp/Beta(用户:35,id:55ba68240fc9f982beab918f)_
  • [ ] _FreeCodeCamp/曼彻斯特(用户:36,ID:55939cab15522ed4b3e32713)_
  • [ ] _FreeCodeCamp/React(用户:36,id:55c96a410fc9f982beacf1f7)_
  • [ ] _FreeCodeCamp/克利夫兰(用户:37,ID:55959b4515522ed4b3e34373)_
  • [ ] _FreeCodeCamp/Lima(用户:38,id:559396d015522ed4b3e325fd)_
  • [ ] _FreeCodeCamp/Dhaka(用户:38,id:559393eb15522ed4b3e3256b)_
  • [ ] _FreeCodeCamp/巴尔的摩(用户:38,ID:559391f815522ed4b3e324f0)_
  • [ ] _FreeCodeCamp/辛辛那提(用户:39,ID:5593935815522ed4b3e3254b)_
  • [ ] _FreeCodeCamp/雅典(用户:39,ID:55a5f2ff5e0d51bd787b6bda)_
  • [ ] _FreeCodeCamp/上海(用户:39,id:55aefb680fc9f982beaa827b)_
  • [ ] _FreeCodeCamp/阿姆斯特丹(用户:41,ID:5593918415522ed4b3e324dd)_
  • [ ] _FreeCodeCamp/SaintLouis(用户:41,ID:5593995b15522ed4b3e32697)_
  • [ ] _FreeCodeCamp/匹兹堡(用户:42,ID:5593989b15522ed4b3e3266b)_
  • [ ] _FreeCodeCamp/印第安纳波利斯(用户:42,ID:559395c215522ed4b3e325c4)_
  • [ ] _FreeCodeCamp/CoreTeam(用户:42,id:559ac28e15522ed4b3e37de7)_
  • [ ] _FreeCodeCamp/慕尼黑(用户:42,ID:559397df15522ed4b3e3262d)_
  • [ ] _FreeCodeCamp/孟买(用户:43,id:55c3aff30fc9f982beac7e54)_
  • [ ] _FreeCodeCamp/卡尔加里(用户:45,ID:559392f415522ed4b3e32532)_
  • [ ] _FreeCodeCamp/HoChiMinhCity(用户:45,id:5593959215522ed4b3e325b9)_
  • [ ] _FreeCodeCamp/布宜诺斯艾利斯(用户:46,id:559392d115522ed4b3e32529)_
  • [ ] _FreeCodeCamp/Charlotte(用户:46,ID:5593932315522ed4b3e3253d)_
  • [ ] _FreeCodeCamp/布达佩斯(用户:47,ID:559392e215522ed4b3e3252e)_
  • [ ] _FreeCodeCamp/Seoul(用户:47,id:5595844215522ed4b3e34210)_
  • [ ] _FreeCodeCamp/Raleigh(用户:47,ID:559398fc15522ed4b3e32685)_
  • [ ] _FreeCodeCamp/萨格勒布(用户:47,ID:55a06d115e0d51bd787af970)_
  • [ ] _FreeCodeCamp/Istanbul(用户:48,ID:559395b915522ed4b3e325c1)_
  • [ ] _FreeCodeCamp/Pune(用户:49,ID:559398c215522ed4b3e32673)_
  • [ ] _FreeCodeCamp/内罗毕(用户:49,ID:559397f015522ed4b3e32632)_
  • [ ] _FreeCodeCamp/Chennai(用户:49,ID:5593933315522ed4b3e32541)_
  • [ ] _FreeCodeCamp/温哥华(用户:50,ID:55939a4d15522ed4b3e326dd)_
  • [ ] _FreeCodeCamp/布拉格(用户:50,id:55aefaec0fc9f982beaa8261)_
  • [ ] _FreeCodeCamp/明尼阿波利斯(用户:51,ID:559397a915522ed4b3e32621)_
  • [ ] _FreeCodeCamp/布加勒斯特(用户:52,ID:559392da15522ed4b3e3252b)_
  • [ ] _FreeCodeCamp/deutsch(用户:53,id:55939e7d15522ed4b3e32727)_
  • [ ] _FreeCodeCamp/柏林(用户:53,ID:5593924315522ed4b3e32500)_
  • [ ] _FreeCodeCamp/纳什维尔(用户:53,ID:559397ff15522ed4b3e32636)_
  • [ ] _FreeCodeCamp/Orlando(用户:55,id:5593985b15522ed4b3e32655)_
  • [ ] _FreeCodeCamp/蒙特利尔(用户:55,ID:559397cf15522ed4b3e32629)_
  • [ ] _FreeCodeCamp/SaltLakeCity(用户:55,id:5593996715522ed4b3e32699)_
  • [ ] _FreeCodeCamp/MexicoCity(用户:57,ID:5593973d15522ed4b3e32618)_
  • [ ] _FreeCodeCamp/Melbourne (users: 58, id: 5593973315522ed4b3e32615)_
  • [ ] _FreeCodeCamp/Madrid (users: 58, id: 5593972315522ed4b3e32610)_
  • [ ] _FreeCodeCamp/Taipei (users: 59, id: 55939a0315522ed4b3e326c9)_
  • [ ] _FreeCodeCamp/Tampa (users: 60, id: 55939a1715522ed4b3e326cd)_
  • [ ] _FreeCodeCamp/Paris (users: 63, id: 5593986e15522ed4b3e3265a)_
  • [ ] _FreeCodeCamp/Kiev (users: 64, id: 5593967815522ed4b3e325e7)_
  • [ ] _FreeCodeCamp/Denver (users: 64, id: 559393cd15522ed4b3e32560)_
  • [ ] _FreeCodeCamp/Miami (users: 64, id: 5593979615522ed4b3e3261d)_
  • [ ] _FreeCodeCamp/CampCounselors (users: 67, id: 5485fa47db8155e6700dd19c)_
  • [ ] _FreeCodeCamp/Japanese (users: 67, id: 55a5e8e35e0d51bd787b6b3d)_
  • [ ] _FreeCodeCamp/KualaLumpur (users: 69, id: 55a2dc255e0d51bd787b29ad)_
  • [ ] _FreeCodeCamp/News (users: 69, id: 55ba682b0fc9f982beab9192)_
  • [ ] _FreeCodeCamp/cplusplus (users: 70, id: 570ff99b187bb6f0eadf7e72)_
  • [ ] _FreeCodeCamp/DallasFortWorth (users: 71, id: 559394d015522ed4b3e32596)_
  • [ ] _FreeCodeCamp/arabic (users: 71, id: 55939ea015522ed4b3e3272f)_
  • [ ] _FreeCodeCamp/vagrant (users: 71, id: 574beacfc43b8c601975abd4)_
  • [ ] _FreeCodeCamp/BookClub (users: 72, id: 55c796740fc9f982beacc566)_
  • [ ] _FreeCodeCamp/Sacramento (users: 73, id: 5593994715522ed4b3e32691)_
  • [ ] _FreeCodeCamp/Belgrade (users: 73, id: 5593921d15522ed4b3e324f8)_
  • [ ] _FreeCodeCamp/EastBay (users: 73, id: 559390a715522ed4b3e324d2)_
  • [ ] _FreeCodeCamp/Lagos (users: 74, id: 559396ae15522ed4b3e325f5)_
  • [ ] _FreeCodeCamp/Warsaw (users: 74, id: 55a5f3645e0d51bd787b6be2)_
  • [ ] _FreeCodeCamp/camperbot (users: 74, id: 5641134a16b6c7089cba1834)_
  • [ ] _FreeCodeCamp/Jakarta (users: 75, id: 5593961b15522ed4b3e325ce)_
  • [ ] _FreeCodeCamp/Philadelphia (users: 75, id: 5593989415522ed4b3e32669)_
  • [ ] _FreeCodeCamp/Dublin (users: 79, id: 5593940f15522ed4b3e32573)_
  • [ ] _FreeCodeCamp/Delhi (users: 80, id: 559393c515522ed4b3e3255e)_
  • [ ] _FreeCodeCamp/SanJose (users: 80, id: 5593999315522ed4b3e326a4)_
  • [ ] _FreeCodeCamp/TVandMovies (users: 81, id: 55ab712137f2ad22587e621e)_
  • [ ] _FreeCodeCamp/SanDiego (users: 84, id: 5593998315522ed4b3e326a0)_
  • [ ] _FreeCodeCamp/Saving (users: 86, id: 55ab70f637f2ad22587e6205)_
  • [ ] _FreeCodeCamp/BrazilianPortuguese (users: 87, id: 56aab314e610378809bebcc2)_
  • [ ] _FreeCodeCamp/SaoPaulo (users: 88, id: 559399b515522ed4b3e326ac)_
  • [ ] _FreeCodeCamp/Sydney (users: 88, id: 55a072d85e0d51bd787afa1a)_
  • [ ] _FreeCodeCamp/Issues (users: 88, id: 55b1866c0fc9f982beaac613)_
  • [ ] _FreeCodeCamp/Houston (users: 90, id: 559395a715522ed4b3e325bd)_
  • [ ] _FreeCodeCamp/Phoenix (users: 90, id: 559398c915522ed4b3e32675)_
  • [ ] _FreeCodeCamp/francais (users: 93, id: 55939e7115522ed4b3e32725)_
  • [ ] FreeCodeCamp/Bengaluru (users: 101, id: 5593923815522ed4b3e324fe)
  • [ ] FreeCodeCamp/hikes (users: 102, id: 55ea1cee0fc9f982beafb358)
  • [ ] FreeCodeCamp/textEditorReligiousWars (users: 104, id: 547ba98bdb8155e6700d9a8b)
  • [ ] FreeCodeCamp/Singapore (users: 104, id: 559399da15522ed4b3e326b8)
  • [ ] FreeCodeCamp/Moscow (users: 106, id: 559397d815522ed4b3e3262b)
  • [ ] FreeCodeCamp/Music (users: 106, id: 55ab711137f2ad22587e6215)
  • [ ] FreeCodeCamp/Portland (users: 111, id: 559398d215522ed4b3e32677)
  • [ ] FreeCodeCamp/WashingtonDC (users: 112, id: 55939a5615522ed4b3e326df)
  • [ ] FreeCodeCamp/Design (users: 115, id: 55c58de30fc9f982beaca7dd)
  • [ ] FreeCodeCamp/LocalLeaders (users: 115, id: 565ded3516b6c7089cbced2a)
  • [ ] FreeCodeCamp/Austin (users: 118, id: 559391ec15522ed4b3e324ed)
  • [ ] FreeCodeCamp/Atlanta (users: 122, id: 559391d915522ed4b3e324e9)
  • [x] FreeCodeCamp/40PlusDevs (users: 125, id: 55ca87910fc9f982bead115c)
  • [ ] FreeCodeCamp/OrangeCounty (users: 130, id: 5593985115522ed4b3e3264d)
  • [ ] FreeCodeCamp/elixir (users: 135, id: 56d5592fe610378809c460e4)
  • [ ] FreeCodeCamp/go (users: 136, id: 56d55897e610378809c460bf)
  • [ ] FreeCodeCamp/Hardware (users: 139, id: 55ab718537f2ad22587e622c)
  • [ ] FreeCodeCamp/Translators (users: 146, id: 5594861c15522ed4b3e3343f)
  • [ ] FreeCodeCamp/Manila (users: 148, id: 5593972b15522ed4b3e32612)
  • [ ] FreeCodeCamp/Boston (users: 157, id: 5593929215522ed4b3e3251a)
  • [ ] FreeCodeCamp/Chicago (users: 167, id: 5593934815522ed4b3e32548)
  • [ ] FreeCodeCamp/Toronto (users: 169, id: 55939a2e15522ed4b3e326d4)
  • [ ] FreeCodeCamp/Business (users: 179, id: 55ab710037f2ad22587e6209)
  • [ ] FreeCodeCamp/Gaming (users: 187, id: 55ab712a37f2ad22587e6227)
  • [ ] FreeCodeCamp/Git (users: 189, id: 570692b0187bb6f0eade598b)
  • [ ] FreeCodeCamp/dotnet (users: 190, id: 56d5598ae610378809c46101)
  • [ ] FreeCodeCamp/portugues (users: 196, id: 55939e9515522ed4b3e3272c)
  • [ ] FreeCodeCamp/FCCLosAngeles (users: 200, id: 5586e5fe15522ed4b3e241eb)
  • [ ] FreeCodeCamp/Seattle (users: 212, id: 559399cb15522ed4b3e326b2)
  • [ ] FreeCodeCamp/London (users: 231, id: 559396f315522ed4b3e32604)
  • [ ] FreeCodeCamp/SanFrancisco (users: 238, id: 5593998b15522ed4b3e326a2)
  • [ ] FreeCodeCamp/Contributors (users: 238, id: 57dcf2eb40f3a6eec065b5a9)
  • [ ] FreeCodeCamp/ruby (users: 267, id: 56d55861e610378809c460b9)
  • [ ] FreeCodeCamp/SQL (users: 268, id: 56d55954e610378809c460f1)
  • [ ] FreeCodeCamp/TeamViewer (users: 279, id: 5595a8f615522ed4b3e3446b)
  • [ ] FreeCodeCamp/Wiki (users: 323, id: 55c12bce0fc9f982beac384a)
  • [ ] FreeCodeCamp/php (users: 351, id: 56d55839e610378809c460b3)
  • [ ] FreeCodeCamp/Russian (users: 358, id: 5592f45815522ed4b3e31e8d)
  • [ ] FreeCodeCamp/GameDev (users: 375, id: 55ab718e37f2ad22587e622f)
  • [ ] FreeCodeCamp/HelpContributors (users: 382, id: 565aa11b16b6c7089cbc8f48)
  • [ ] FreeCodeCamp/HelpBasejumps (users: 472, id: 55b5223e0fc9f982beab0a46)
  • [ ] FreeCodeCamp/linux (users: 483, id: 56d636d4e610378809c488bc)
  • [ ] FreeCodeCamp/SelfImprovement (users: 523, id: 55ab70ea37f2ad22587e6202)
  • [ ] FreeCodeCamp/camperbotPlayground (users: 547, id: 5650c32f16b6c7089cbba10e)
  • [ ] FreeCodeCamp/java (users: 553, id: 56d558cbe610378809c460c3)
  • [ ] FreeCodeCamp/LiveCoding (users: 666, id: 55a098e95e0d51bd787afe92)
  • [ ] FreeCodeCamp/python (users: 729, id: 56d558f5e610378809c460cd)
  • [ ] FreeCodeCamp/CurriculumDevelopment (users: 841, id: 54d96d6915522ed4b3dbd2ce)
  • [ ] FreeCodeCamp/CamperPracticeProjects (users: 1695, id: 54ef614115522ed4b3dc863b)
  • [ ] FreeCodeCamp/HelpZiplines (users: 2195, id: 55b522300fc9f982beab0a40)
  • [ ] FreeCodeCamp/HelpBonfires (users: 4139, id: 55b516800fc9f982beab0950)
  • FreeCodeCamp/admin (users: 155, id: 56438e7616b6c7089cba58f8)
  • FreeCodeCamp/CodingJobs (users: 4720, id: 55ab492d8a7b72f55c3fcca1)
  • FreeCodeCamp/chinese (users: 5910, id: 55939e8615522ed4b3e3272a)
  • FreeCodeCamp/LetsPair (users: 6232, id: 546fdda2db8155e6700d6ee4)
  • FreeCodeCamp/HelpFrontEnd (users: 7716, id: 5695eab116b6c7089cc24de2)
  • FreeCodeCamp/CodeReview (users: 8471, id: 55c2ffbc0fc9f982beac696a)
  • FreeCodeCamp/HelpJavaScript (users: 15909, id: 5695e9a116b6c7089cc24db5)
  • FreeCodeCamp/Help (users: 39224, id: 54a2fa80db8155e6700e42c3)
  • FreeCodeCamp/FreeCodeCamp (users: 96653, id: 546fd572db8155e6700d6eaf)
  • FreeCodeCamp/PairProgrammingWomen (users: 542, id: 55ab262a8a7b72f55c3fcb8c)
  • FreeCodeCamp/DataScience (users: 802, id: 55bb9cab0fc9f982beabafce)
  • FreeCodeCamp/Casual (users: 840, id: 56120120d33f749381a847aa)
  • FreeCodeCamp/YouCanDoThis (users: 3782, id: 55ab461a8a7b72f55c3fcc67)
  • FreeCodeCamp/NewYorkCity (users: 392, id: 5593982115522ed4b3e3263f)
  • FreeCodeCamp/HelpBackEnd (users: 1690, id: 5695eb3e16b6c7089cc24e10)
  • FreeCodeCamp/Espanol (users: 669, id: 5592f44e15522ed4b3e31e8b)
  • FreeCodeCamp/贡献者
  • FreeCodeCamp/核心团队
  • FreeCodeCamp/HelpDataViz (users: 591, id: 5695eb9116b6c7089cc24e2f)

@abhisekp完美。 谢谢!

@abhisekp我更新了您的列表,以便我们不打算删除的所有房间都在底部。

问题:有没有办法从已弃用的房间中保留必要的数据,但仍将它们从此页面中删除? https://gitter.im/orgs/FreeCodeCamp/rooms
WaitButWhy:因为在追求一个活跃和相关的房间时,学生很容易被误导、分心和被核心房间吓倒,这些房间不方便显示在探索 FCC 链接的第一页上。 合并肯定有助于解决这个问题💯。 我相信,如果我们能轻松找到像 _Git_ 这样的房间,我们会看到更多与 Freecodecamp 使命相关的房间的积极参与。

https://gitter.im/FreeCodeCamp/Git

此外,我认为 _Git_ 是必要房间的完美例子。 在 Gitter 上没有活跃的房间,以至于有一个专门用于 Git 或 Github 的社区,我被告知这两者对于成为开发人员都是必不可少的。 我认为我们可以通过不仅包括 git 还包括 _command line_、_editors_、_GUI 客户端,其中有很多_,当然还有 _Github 相关的所有内容_可以使房间更具包容性,以增加社区参与度👍

@ladybugtju抱歉回复晚了:
是的,使用 node 时可能会出现问题,但请检查:你是异步的吗? 也许分块写入并尽量不将数据保存在内存中? 我一直在使用没有那个限制的python; 我的问题是更多的内存,但我也可以制作块。

主房间未列出供下载。

@evaristoc :您好,感谢您的留言,抱歉蜗牛的回复,我最近很忙。 将在 1/2 周内有更多时间。 上次看这个的时候发现是node和python都必须面对的内存问题。 似乎与内核有关,即使物理RAM更大,单个进程一次也不能使用超过2GB。 这可以使用 /3gb boot.ini 增加到 3GB。 尝试可能很有趣(我附上了我发现这个帖子的地方)。
Python
http://stackoverflow.com/questions/4285185/upper-memory-limit
节点
https://www.youtube.com/watch?v=NLtL-EEclRc

这个公寓,我下载了一些房间,但也许更好地协调? 我开始查看@abhisekp发布的列表,但发现发布的消息和 Json 文件之间存在差异。 你在哪儿? 我记得房间号很大,有些没有消息或几乎没有消息。 还请分享您的 Python 方法。 我现在也知道一些 python :)

@ladybugtju嗨! 感谢您调查问题并提供链接。
我已在此处将弃用脚本的源代码上传到 BitBucket https://bitbucket.org/abhisekp/gitter-archive/src

这存储在 postgresql db 中,而不是直接存储在 csv 文件中,稍后可以将其导出到 csv。
它会下载消息,但会停止大约 30k 条消息。 但是重新开始,它从停止的地方开始。
由于一些技术困难,我无法解决下载时遇到的一些问题。

@abhisekp :很抱歉回复蜗牛,忙碌的日子。 我会在 14 号之后再次查看所有这些,但我想我实际上已经下载了 10 个左右的房间并列出了一个简短的列表。 我们可以关闭几个没有用的房间,然后下载其他几个小房间。 让我们分工? 我们可以稍后解决其他问题。 您下载了多少个房间?您的偏好是什么?

@ladybugtju感谢您的更新。 感谢您这样做。
你能分享一下你已经下载的房间列表吗?

由于 PC 的技术问题和不稳定的连接,我无法继续。

@ladybugtju我建议我们立即关闭所有房间,一旦您下载了所有房间的数据并且我们已经备份了它们。

最简单的方法是为每个房间创建单独的文件并将它们推送到我创建的这个 repo: https :

我已授予您和整个审核团队(包括 @abhisekp)作为成员的资格。

什么格式最适合这些? CSV 更紧凑,允许在电子表格中浏览数据。

当房间被推送时,可以在上面的清单中检查它们。

@ladybugtju @abhisekp在这方面有任何进展吗? 如果我能帮上忙,请告诉我。 我渴望合并这些房间。

@QuincyLarson我已经完全下载了FreeCodeCamp/FreeCodeCamp主房间,直到17-12-2016 3:39:24 PM GMT

总未压缩大小:588 MB(制表符分隔格式.tsv
使用 7z 压缩大小:95 MB(将使用git-lfs上传到repo

样本格式

room_id | room_uri | sent_at | from_userid | from_username | message_id | 文本
:----:|:----:|:----:|:----:|:----:|:----:|----:
546fd572db8155e6700d6eaf | FreeCodeCamp/FreeCodeCamp | 2014-11-22T00:26:21.469Z | 546fd823db8155e6700d6eb4 | 瑞巴 | 546fd82da07c098d4401b480 | 你好。
546fd572db8155e6700d6eaf | FreeCodeCamp/FreeCodeCamp | 2014-11-22T00:15:04.643Z | | | 546fd58872a00ba87914fcfe | @FreeCodeCamp第一人称

注意:原始消息中的from_useridfrom_username字段为空。
这是 FreeCodeCamp 房间里的第一条消息 :smiley:


  • 在 C9.io 中运行存档脚本,整个房间仅用 1 晚就下载完毕。
  • 将很快发布脚本,以便可以为 gitter 中的任何社区制作 gitter 档案。 :zap:

笔记。 我监控了整个下载过程,下载消息时绝对没有错误
我使用http://papertrailapp.com进行日志记录。

//抄送: @evaristoc

git-lfs 不能使用,因为它是收费的。 而且 github 不是上传大文件的正确地方。

https://github.com/ckolivas/lrzip提供最佳压缩。 我能够将588 MB文件压缩到只有75 MB 。 然后解压。 (均使用 C9 即 512 MB 内存限制)

@abhisekp 太棒了! 我没有意识到 Git-LFS 需要花钱。 我们不能将这些文件推送到仓库吗? FreeCodeCamp/FreeCodeCamp 是一个数量级最大的 Gitter 房间,因此在这种压缩级别下,其他房间应该没有太大问题。

我们可以将其转储到 Amazon S3 吗? GitHub 显然不是数据存储的正确位置。 它带有免费的 5GB 存储空间,数据检索每 GB 费用为 0.01 美元。

我想我们已经有这样的实例了吗?

@raisedadead是的 - 我可以将它们放入我们的 AWS S3 帐户中进行托管。 一旦您为我们正在存档的所有房间准备好文件,让我们接听电话并弄清楚如何将它们从您的计算机获取到我们的 S3 实例。

@QuincyLarson@abhisekp目前拥有数据。 所以也许他只能指导最好的。
只要您可以(也许在伯克利的帮助下)为他创建具有正确范围的凭据,上传就应该非常直接

但是,如果我能以任何方式提供帮助,请告诉我。

@raisedadead谢谢你的主意! 我专门为@abhisekp创建了一个 S3 密钥并将其发送给他。

你好呀
很高兴看到这样的进展 :) @abhisekp ,下载的房间在我之前分享的同一个链接上: https : //docs.google.com/spreadsheets/d/1HSRL-HTOREYF86mNDczNp7XNA5Tuo4TWP4AiMYyZDU8/edit#gid =0
不过,它可以追溯到 10 月,因此重新调整数据可能更好。 我实际上选择了重要且活跃的房间,所以肯定会有很多新东西。 您是自动下载所有房间还是必须单独下载? 如果您需要帮助,请告诉我。 干杯

PS:这里是下载房间的链接: https :
10 月 21 日 12 个房间。这只是一个 weTransfer 但你可以使用 Github、AWS 或其他

gitter-archive-cli发布 :tada:

归档 gitter 社区无忧 :smiley:

特征

  • :zap: 使用多个 gitter 令牌快速下载
  • :hand: :gear: 暂停和恢复功能( CTRL + C结束进程)并且在开始时,它从它停止的地方恢复(根据自动生成的文件gitterarchive-settings.json )。
  • 使用通配符模式匹配存档无存档房间列表。 (下面的例子

如何使用

# install globally
$ npm i -g gitter-archive-cli

创建一个目录,用于保存 gitter 社区档案。

按照下面的示例,在该目录中创建一个.env文件和.gitterarchiverc.json

注意: noArchiveList优先于archiveList

现在只需使用gitter-archive命令启动存档过程。 :微笑:

例子

.env

# Gitter Tokens
GITTER_TOKEN_username1=
GITTER_TOKEN_username2=
GITTER_TOKEN_username3=


.gitterarchiverc.json

{
  "rooms": {
    "noArchiveList": [
      "FreeCodeCamp/HelpJavaScript",
      "FreeCodeCamp/FreeCodeCamp",
      "FreeCodeCamp/Help",
      "FreeCodeCamp/HelpFrontend",
      "FreeCodeCamp/HelpBackend",
      "FreeCodeCamp/[a-m]*"
    ],
    "archiveList": [
      "FreeCodeCamp/*"
    ]
  },

  "groups": {
    "enabled": [{
      "uri": "FreeCodeCamp",
      "id": "57542cf4c43b8c6019778297"
    }],
    "disabled": []
  }
}


运行:running_man:

$ gitter-archive

如果它突然停止,那么只需再次运行上面的命令,它就会从停止的地方自动恢复。 :white_check_mark:


一些known bugs

如果您看到错误响应 429 状态,请等待一两分钟,不要结束该过程。


旁注:它在C9.io 中无缝


// 抄送: @evaristoc @ladybugtju

@abhisekp 太棒了! 如果这行得通,您能否继续将其设置为不间断运行,直到我们所有的房间都备份完毕? 然后我们可以将其压缩并将其推送到 S3。

@abhisekp让魔法发生:) 干杯

@QuincyLarson @ladybugtju谢谢。 魔法几乎完成了 :smirk:
:point_right: https://github.com/FreeCodeCamp/gitter-history


Github 对文件大小有严格的 100 MB 限制,但在 50 MB 时发出警告。 我能够推送一个 53 MB 的文件( FreeCodeCamp/HelpFrontend房间存档)。
https://help.github.com/articles/what-is-my-disk-quota/


唯一剩下的房间是

  • FreeCodeCamp/Help ( messageCount: 1368452 )(291 MB 未压缩)
  • FreeCodeCamp/HelpJavaScript
  • FreeCodeCamp/FreeCodeCamp

这些是最大的房间。


更新

使用zip以最大压缩级别9归档后推FreeCodeCamp/Help空间。
文件大小:62 MB(压缩)

@abhisekp 了不起的工作。 那么既然这些房间处于版本控制中,您认为我们可以安全地开始删除这些房间吗?

至于较大的房间,我们可能希望按日期将它们分成单独的文件。 例如:FreeCodeCamp/FreeCodeCamp 2015 年 8 月 1 日 - 2015 年 11 月 31 日

这将使我们更容易继续向他们推送更新的档案。

这将是一个巨大的公共数据集,我想很多人都会对它感兴趣。 一旦它准备好,我们就可以在 Kaggle 上发布它:)

@abhisekp这个过程进展如何? 您是否设法对我们的 Gitter 房间进行了完整归档? 我们可以开始关闭我们现在不打算保留的房间吗?

我们的计划是:

  • [ ] 从 FreeCodeCamp/Help 下载所有消息
  • [ ] 从 FreeCodeCamp/HelpJavaScript 下载所有消息
  • [ ] 从 FreeCodeCamp/FreeCodeCamp 下载所有消息
  • [ ] 从所有其他房间下载 12 月 24 日之后发生的消息

一旦所有这些消息都在https://github.com/FreeCodeCamp/gitter-history 存储库中,我将检查并删除除我们官方房间列表中的房间之外的所有房间。 所有这些房间都已经有弃用消息,无论如何都没有被使用。

露营者仍然可以创建自己的非官方 Gitter 房间,但 freeCodeCamp 的聊天室结构将简洁明了,对于去哪个房间的歧义最小。

然后我们将使用https://gitter.im/FreeCodeCamp/home作为我们聊天室的主要入口。

抱歉@QuincyLarson问为什么是 FreeCodeCamp/FreeCodeCamp?

@evaristoc听起来答案是

...freeCodeCamp 的聊天室结构将简洁明了,对于去哪个房间的歧义最小。 - https://github.com/freeCodeCamp/freeCodeCamp/issues/8418#issuecomment -282459257

一个名为freeCodeCamp的房间本身并不能真正描述房间的功能。

@QuincyLarson @erictleung对于我计划做的一个小项目,我从主房间下载了几乎所有消息。 数据是昨天的。
这是大约 2.5Gb 没有压缩的数据(如果我下载的数据是正确的)。 这是需要添加到回购中的东西吗?

@erictleung好点,但我知道这些是官方房间的列表。 Freecodecamp 房间还在:
https://github.com/freeCodeCamp/freeCodeCamp/issues/8418#issuecomment -247755458

这是我不知道的列表中的更改吗?

@erictleung无法重命名 Gitter 房间。 否则我们确实会将该聊天室重命名为“一般”或“休闲”。

@evaristoc是的 - 那太棒了。 如果您拉取所有 freecodecamp/freecodecamp,请务必将其添加到https://github.com/FreeCodeCamp/gitter-history

好的 - 所有被弃用的房间后来都被备份了。 我最近没有收到@abhisekp 的任何

预定存档的新房间:

  • FreeCodeCamp/NewYorkCity (id: 5593982115522ed4b3e3263f)
  • FreeCodeCamp/核心团队

目前正在探索@abhisekp在启动数据下载过程之前进行归档的方法:

https://github.com/freeCodeCamp/freeCodeCamp/issues/8418#issuecomment -238083019
https://github.com/freeCodeCamp/freeCodeCamp/issues/8418#issuecomment -269025399
https://github.com/freeCodeCamp/freeCodeCamp/issues/8418#issuecomment -258058263

@昆西拉森

我试图使用@abhisekp制作的很棒的包: https : //www.npmjs.com/package/gitter-archive-cli但不幸的是它在我的电脑上不起作用。 它给出了一个我发现很难调试的404 error

我可能会在 Python 上工作。 我当前的代码似乎已经过时了。 显然我也受到459 error的速率限制的影响 - 以前没有发生过,我设法下载
2017 年 3 月使用更简单的代码超过限制的消息。

如果可行,我将提供我的 Python 代码。 希望这将有助于找到一个标准代码来处理未来的聊天室归档。

@ladybugtju 的另一个更简单的选项:
https://github.com/ladybugtju/ffcGitterData/blob/master/fccGitterData.js

这是@abhisekp之前的一条消息,保留在此处作为参考: https :

@evaristoc请继续在上面链接的新线程上。

此页面是否有帮助?
0 / 5 - 0 等级