开源免费 低代码平台开源

by freeCodeCamp

通过freeCodeCamp

行动透明:免费代码营现已开源 (Transparency in Action: Free Code Camp is Now Open Source)

We’re thrilled to announce that Free Code Camp is now fully open-source. Now you can fork our code base and use it to set up an educational community of your own. If you notice a bug or think up a way of improving Free Code Camp, you can now take action directly by submitting a pull request.

我们很高兴宣布Free Code Camp现在是完全开源的 。 现在,您可以创建我们的代码库,并使用它来建立自己的教育社区。 如果发现错误或想出一种方法来改善Free Code Camp,现在可以通过提交拉取请求直接采取措施。

我们的守则 (Our Code)

I originally built Free Code Camp in Ruby on Rails, because I was comfortable with it. But it’s been clear for a while now that JavaScript is the future. New tools like Node.js and Express.js have made it possible to move to a fully JavaScript stack, and that’s precisely what lots of schools and companies are doing. A big part of Free Code Camp is eliminating noise and helping busy people focus on learning one opinionated set of tools. Since we were learning Full Stack JavaScript, a non-JavaScript codebase sent the wrong signal. So I scrapped the Rails app, learned enough asynchronous Node.js to be ‘dangerous’, and started building.

我最初在Ruby on Rails中构建了Free Code Camp,因为我对此感到满意。 但是,很明显,JavaScript是未来。 诸如Node.js和Express.js之类的新工具使迁移到完全JavaScript堆栈成为可能,而这正是许多学校和公司正在做的事情。 Free Code Camp的很大一部分是消除噪音,并帮助忙碌的人们专注于学习一套自以为是的工具。 由于我们正在学习Full Stack JavaScript,因此非JavaScript代码库发出了错误的信号。 因此,我废弃了Rails应用程序,了解了足够多的异步Node.js使其“变得危险”,然后开始构建。

The closet office where I built Free Code Camp Version 0.1.0.

我在其中建立了Free Code Camp版本0.1.0的壁橱办公室。

I looked at Meteor.js and Mean.js (this was right before the Mean.io fork), and even considered just using Angular.js with a Google App Engine backend. But ultimately, I decided to go with the Hackathon Starter App. With its authentication suite and API integrations, it’s practically a framework in itself.I launched Free Code Camp a few days later, with nothing more than five coding challenges and a Hipchat room. Slowly people started to come by. Miraculously, many of them stayed!

我查看了Meteor.js和Mean.js(就在Mean.io分支之前),甚至考虑仅将Angular.js与Google App Engine后端一起使用。 但最终,我决定使用Hackathon Starter App 。 凭借其身份验证套件和API集成,它实际上本身就是一个框架。几天后,我启动了Free Code Camp,无非是五个编码挑战和一个Hipchat房间。 慢慢地人们开始过来。 奇迹般地,许多人留下了!

What Free Code Camp looked like when we launched about 10 weeks ago.

大约10周前,我们推出了Free Code Camp。

Free Code Camp was my first Node.js app. I showed the code to one experienced JavaScript developer who kept shouting “What the hell were you thinking here?” as he flitted through the codebase. As hacky as it was, he conceded that since it was serving thousands of page views a day without incident, it wasn’t a total embarrassment and I should go ahead and open source.So we installed Helmet.js for added security, moved the API keys to a .env file, and purged them from Git history. And voila, the exact same code Free Code Camp uses in production is now freely available here.

Free Code Camp是我的第一个Node.js应用程序。 我向一位经验丰富JavaScript开发人员展示了该代码,他不断高喊“您在这里到底在想什么?” 当他浏览代码库时。 他坦率地承认,由于它每天可以提供数千次页面浏览而没有任何事件,所以这并不是完全的尴尬,我应该继续开源。因此,我们安装了Helmet.js来提高安全性,指向.env文件的API密钥,并将其从Git历史记录中清除。 瞧,现在可以在这里免费获得与Free Code Camp在生产中使用的完全相同的代码。

我们的基础设施 (Our Infrastructure)

We were using just one (free) Heroku dyno, but since we occasionally exceed 20 concurrent sessions, we kicked it up to two, for $35 a month. We serve assets through S3 and have a small AWS instance for our Discourse-powered forum. We pay a combined $240 per year for a Vimeo Pro account and a Screen Hero account, and $60 for a single Google Apps for Business team account. This brings the total cost of all our infrastructure to less than $2,000 per year.

我们只使用了一个(免费的)Heroku dyno,但是由于我们偶尔会超过20个并发会话,因此我们将其增加到两个,每月35美元。 我们通过S3为资产提供服务,并为基于Discourse的论坛提供了一个小型AWS实例。 我们每年为Vimeo Pro帐户和Screen Hero帐户支付的费用总计为240美元,对于单个Google Apps for Business团队帐户则需要支付60美元。 这使我们所有基础架构的总成本每年不到2,000美元。

我们的志愿营辅导员 (Our Volunteer Camp Counselors)

We’re a community of busy people learning to code. We call ourselves “Code Campers”. Some of us Code Campers are even busier than others, because we volunteer our time to actively improve Free Code Camp. Our team of “Camp Counselors” hangs out on our chat room and our forum. We do our best to welcome newcomers and answer various coding questions. Our single goal is to maximize the number of busy people like us who are able to work their way through our challenges, build a portfolio of projects for nonprofits, then get a coding job.

我们是一个忙碌的人们学习编码的社区。 我们称自己为“代码露营者”。 我们中有些人甚至比其他人更忙,因为我们自愿花时间积极改善免费代码营。 我们的“露营顾问”团队在我们的聊天室和论坛中闲逛。 我们竭诚欢迎新来者并回答各种编码问题。 我们的唯一目标是最大限度地增加像我们这样的忙碌的人的数量,这些人能够应对挑战,为非营利组织构建项目组合,然后获得编码工作。

Some of our patient, enthusiastic Camp Counselors.

我们一些耐心,热情的营地辅导员。

Nobody gets paid anything. If we eventually accept funding or make money through a job board, we’ll figure out a fair, transparent way to distribute equity to our volunteers or start paying them. Most of our communication takes place through our chat room and our frequent pair programming sessions. We’re geographically distributed, but we meet in person when possible. Our Camp Counselors propose new features and content, discuss the priorities and details, then pair up and start building. This blog post, for example, has been edited and improved upon by several Camp Counselors.

没有人得到任何报酬。 如果我们最终接受资金或通过工作委员会赚钱,我们会找到一种公平,透明的方式来向志愿者分配股本或开始向他们付款。 我们大部分的交流是通过聊天室和频繁的配对编程会议进行的。 我们地理位置分散,但在可能的情况下我们会面。 我们的营地辅导员会提出新的功能和内容,讨论优先级和细节,然后配对并开始构建。 例如,此博客帖子已由多个Camp Counselors进行了编辑和改进。

我们的指标 (Our Metrics)

In less than 3 months, we’ve grown to nearly 5,000 Code Campers. But what we’re really proud of is not the quantity of our Code Campers, but the caliber of their work ethic. A bunch of people with work, school, kids — and even grandkids — are investing their precious time toward learning to code. We completely overhauled our curriculum three weeks ago, and since then, we’ve had hundreds of people work through our hour-long challenges. We’ve made all these metrics publicly available here. As a side note, if you’re interested in analyzing our (anonymized) data, or helping us better visualize it, we’d love to facilitate this.

在不到3个月的时间里,我们已经成长为将近5,000个Code Camper。 但是,我们真正引以为傲的不是Code Camper的数量,而是他们的工作道德素养。 一群有工作,学校,孩子, 甚至孙子孙女的人正将他们宝贵的时间投入到学习编码中。 三个星期前,我们彻底改革了我们的课程,从那时起,我们已经有数百人在应对一个小时的挑战中工作。 我们已在此处公开提供所有这些指标。 附带说明一下,如果您有兴趣分析(匿名)数据或帮助我们更好地可视化数据,我们很乐意为您提供帮助。

我们的未来 (Our Future)

Don’t expect any stealth initiatives or grand unveilings from us. We’re more interested in evolving out in the open, like the internet did, than making an explosive debut, like the atomic bomb did. We believe the Open Source refrain that “With enough eyeballs, all bugs are shallow”, and welcome any ideas you have for making Free Code Camp a better, more efficient place for busy people to learn to code.

不要期望我们有任何隐秘举措或隆重揭幕。 与像原子弹那样进行爆炸性首次亮相相比,我们更喜欢像互联网那样在公开场合发展。 我们相信开放源代码应该避免“只要有足够多的眼球,所有的bug都是浅薄的”,并且欢迎您提出任何使Free Code Camp成为忙碌的人们学习编码的更好,更高效的地方的想法。

In closing, I’d like to compare Free Code Camp’s philosophy with that of Ubuntu. Not the Ubuntu Linux distribution that powers much of the internet, but its namesake, the Ubuntu philosophy of Southern Africa. Ubuntu is a Zulu word that translates roughly to “I am what I am because of who we all are.”

最后,我想将Free Code Camp的哲学与Ubuntu的哲学进行比较。 不是提供大部分Internet功能的Ubuntu Linux发行版,而是其同名的南部非洲的Ubuntu哲学。 Ubuntu是祖鲁语中的一个词,其大致翻译为“我就是我,因为我们都是谁。”

Leymah Gbowee, the Liberian peace activist and Nobel Peace Prize laureate responsible for Ubuntu’s most widely accepted English-language definition.

利比里亚和平运动家,诺贝尔和平奖获得者Leymah Gbowee,负责Ubuntu的最广泛接受的英语定义。

Free Code Camp is what it is because of who our Code Campers are. Busy people helping each other learn to code. And that’s who we’ll continue to be going forward.

Free Code Camp是因为我们的Code Campers是谁。 忙碌的人们互相帮助学习编码。 这就是我们将继续前进的方向。

Originally published at blog.freecodecamp.com on December 29, 2014.

最初于2014年12月29日发布在blog.freecodecamp.com上。

翻译自: https://www.freecodecamp.org/news/transparency-in-action-free-code-camp-is-now-open-source-9dae1985d925/

开源免费 低代码平台开源

开源免费 低代码平台开源_行动透明:免费代码营现已开源相关推荐

  1. 如何更改微信标签名字_微信透明昵称代码复制

    微信,是一个生活方式,支持发送语音短信.视频.图片和文字,备受广大用户喜爱.突发奇想,弄个透明的微信昵称,那么今天就让我们来介绍微信透明昵称代码复制,一起去看看吧. 微信透明昵称代码复制 步骤1.首先 ...

  2. qt自带静态代码检测工具_两款静态代码检测工具的对比

    测试背景 使用工具: 源伞科技Pinpoint Sonarqube 测试项目: 开源国产CMS软件iBase4J(6000行代码) 测试结果汇总 数据统计: SonarQube结果: 代码错误 安全隐 ...

  3. git提交后的代码在哪儿_别乱提交代码了,来围观下大厂的 Git 提交规范

    点击上方"Python编程时光",选择"加为星标"第一时间关注Python技术干货! 作者:人人贷大前端技术中心 链接:https://juejin.im/po ...

  4. hbuilder边框代码是什么_看懂HTML代码,摸清国外买家喜欢搜什么关键词

    看懂HTML代码,摸清国外买家喜欢搜什么关键词 大家每天都忙着找关键词,忙着写标题,忙着做各种的优化.目的就是想把自己的产品排名到前面,获得更多的曝光,带来更多的询盘.在这个过程中客服同时也是一名搜索 ...

  5. 【免费】某平台3980元大数据课程免费下载,仅此1次

    近期很多人都在说想学习Hadoop大数据,马云也说了:"未来最大的资源就是数据,不参与大数据十年后一定会后悔!" 目前腾讯的社交数据,百度的搜索数据以及阿里的交易数据每天都是PB级 ...

  6. python代码修复神器_一键 fxxk,代码修复神器拯救你

    原标题:一键 fxxk,代码修复神器拯救你 作者 | 一一 出品 | AI科技大本营(ID: rgznai100) 在成为一个合格的开发者之前,大多数人一般都经历过被命令行反复"fuck&q ...

  7. 三百行python代码的项目_使用300行代码创建一个分布式系统

    使用 300 行代码创建一个分布式系统 构建一个分布式系统是很困难的. 它需要可扩展性. 容错性. 高可用性. 一致性. 可伸缩以及高效.为了达到这些目的,分布式系统需要很多复杂的组件以一 种 复杂的 ...

  8. 统计代码行数_推荐一波代码量、行数、提交量、作者等全维度统计神器

    背景 代码各种维度的统计在有些时候是很重要的,这里总结一些常用的牛逼的代码统计工具,着重介绍了个人使用的 Statistic 插件.但是如果你是想统计团队维度的数据,推荐后面介绍的 git_stats ...

  9. 对编写的代码进行单元测试_编写数据访问代码测试–单元测试是浪费

    对编写的代码进行单元测试 几年前,我是为我的数据访问代码编写单元测试的那些开发人员之一. 我正在孤立地测试所有内容,我对自己感到非常满意. 老实说,我认为自己做得很好. 哦,男孩,我错了! 这篇博客文 ...

最新文章

  1. laravel mysql注入_laravel中如何利用反射实现依赖注入
  2. ubuntu 安装 python3.6.8
  3. BootStrap自带的图标
  4. Leetcode 117. 填充每个节点的下一个右侧节点指针 II 解题思路及C++实现
  5. 【深度强化学习】DQN训练超级玛丽闯关
  6. activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
  7. how can a model method trigger binding value refreshed
  8. Microsoft Loopback Adapter : Oracle 安装
  9. Unity 中 Png转Texture2D再转Sprite
  10. ATV320、ATV32变频器报tnF如何处理?
  11. 谈谈对计算机网络的了解,对计算机网络的认识和了解
  12. 交互设计师到底是需要做什么?
  13. matlab的omega0是什么,ABO设定中,A具体是怎么标记O的?
  14. iOS开发系列--NextPrevious On-Demand Resource Basics
  15. Spring的ioc控制反转
  16. Win32_Processor CPU 参数说明
  17. Docker Dockerfile 验证Docker内部使用jmap报错问题解决
  18. 剑指Offer(1)——第一章面试的流程
  19. Java读取mapinfo格式_超齐全的MapInfo数据格式详细介绍
  20. 测试显示屏用什么软件测试,怎么对显示器进行测试

热门文章

  1. 医学图像最新相关研究方向、论文下载及其思考---MICCAI2019论文
  2. 一文学会Webpack实用功能|加载器篇
  3. Oracle练习脚本
  4. 阿里云RDS数据库备份恢复【取证】教程
  5. [Java并发]の其二
  6. 实验吧 Guess Next Session
  7. 2019年的咖啡大战,从杭州开打?
  8. Excel教程:数值为0不显示的三种解决方法介绍
  9. MySQL教程 你想要的几乎都有
  10. 知识产权服务机构列表