非理性繁荣pdf

Bridges to Prosperity is a web application that was cross-functionally built during Lambda Labs. This application was worked on by 5 web developers, which were split into 3 front-end developers and 2 back-end developers, and 3 data science engineers. The purpose of this application is to display bridge data, which included bridges built and bridges proposed, on a visual map component.

通往繁荣的桥梁是一个在Lambda Labs期间跨功能构建的Web应用程序。 该应用程序由5位Web开发人员处理,这些开发人员分为3位前端开发人员和2位后端开发人员,以及3位数据科学工程师。 此应用程序的目的是在可视地图组件上显示桥梁数据,其中包括已建桥梁和建议桥梁。

Firstly, I’d like to talk about Bridges to Prosperity. Their official website can be found here:

首先,我想谈一谈繁荣的桥梁。 他们的官方网站可以在这里找到:

Bridges to Prosperity has the goal of building footbridges to allow travel between difficult or impassable terrain. These bridges will allow for easier access to important areas such as education locations and healthcare centers.

通往繁荣的桥梁的目标是建造人行天桥,以允许在困难或无法通行的地形之间旅行。 这些桥梁将使人们更容易进入重要区域,例如教育地点和医疗中心。

Given that the Bridges to Prosperity organization has such a noble cause, it inspired my team to create the best product that we could possibly provide.

鉴于“通往繁荣的桥梁”组织有如此崇高的事业,它激发了我的团队创造我们可能提供的最佳产品。

I was part of the front end team for this product. Lambda provided us a simple, bare-bones, React application for us to build upon. Coming out of the computer science portion of the Lambda curriculum, where we focused on data structures and algorithms for 2 months, I was excited to get back into web development and using React.

我是该产品前端团队的一员。 Lambda为我们提供了一个简单的,简陋的React应用程序供我们构建。 从Lambda课程的计算机科学部分开始,我们专注于数据结构和算法两个月,我很高兴回到Web开发并使用React。

The first part of building the front end of this application was the planning process. I started out by creating a simple wireframe so that the team could easily visualize how the application would look before any code was actually written. Having this wireframe also made it easy for me to go in and make adjustments and for anyone to make recommendations without having to commit to any code being written or rewritten. We all came to an agreement for how the wireframe was looking and then moved onto the next step of the process, assigning duties.

构建此应用程序前端的第一部分是计划过程。 我首先创建一个简单的线框,以便团队可以在实际编写任何代码之前轻松地可视化该应用程序的外观。 有了这个线框,我也可以轻松地进行调整和任何人提出建议,而不必承诺要编写或重写的任何代码。 我们都就线框的外观达成了协议,然后移至流程的下一步,分配职责。

Trello is what we used to assign duties between every member of the team. I mainly used Trello to communicate what I was currently working on, what needed to be worked on and to see what the other members of my team were currently working on. Trello has this neat checklist feature that allowed me to easily create custom checklists that I was able to assign to myself and any other member of my team. We also used it to link specific pull request from GitHub to the individual tasks on the Trello cards.

Trello是我们过去在团队每个成员之间分配职责的工具。 我主要是使用Trello来交流我当前正在做的事情,需要做的事情以及查看团队其他成员当前正在做的事情。 Trello具有此整洁的清单功能,使我能够轻松创建自定义清单,然后将其分配给自己和团队的其他任何成员。 我们还使用它将来自GitHub的特定提取请求链接到Trello卡上的各个任务。

The last step in our planning process before any code was written was deciding on what Map technology would work best for this web app. To my surprise, there were many to choose from. There is Plotly, Google Maps, but what we decided to use as a team was MapBox. I liked the customizability options that it provided and how easy it was to implement with the dataset that we were given.

在编写任何代码之前,我们规划过程的最后一步是确定哪种Map技术最适合此Web应用程序。 令我惊讶的是,有很多选择。 有Plotly,Google Maps,但我们决定使用的团队是MapBox。 我喜欢它提供的可定制性选项,以及使用给定的数据集实现它的难易程度。

Now that I had a majority of the planning process completed, I felt very comfortable with the direction the application was going in. This meant that it was time to code.

现在,我已经完成了大部分规划过程,我对应用程序的开发方向感到非常满意。这意味着该是编写代码的时候了。

When starting out any project the first thing I like to focus on is functionality. I like to figure out what are all the actions that need to happen within the application, break them down into their own tasks, and work on each of them until they are fully functional. I will also prioritize each task into which ones are most important to reaching a minimum viable product for release. This aids me in reaching a solid point so that I can get users to actually use the application. I decided that the most important feature that should be worked on first was the Map display.

开始任何项目时,我首先要关注的是功能。 我想弄清楚在应用程序中需要执行的所有操作是什么,将它们分解成各自的任务,并对每个任务进行处理,直到它们完全起作用为止。 我还将优先考虑每个任务,其中最重要的任务是使发布的产品变得可行。 这有助于我达到一个坚实的基础,从而使用户可以实际使用该应用程序。 我决定首先应该使用的最重要的功能是地图显示。

To get the map to display within our application, I first had to understand how Mapbox worked. To get it up and running was actually quite easy and intuitive. I just imported it into the React application and created a component that would render it onto the page. It required some minor code set up to create the map and to get it to display on the page just required me to assign height and width. And just like that, the map was usable within our application. The next issue was to get the map to display at the correct location, Rwanda Africa.

为了使地图显示在我们的应用程序中,我首先必须了解Mapbox的工作方式。 使其运行起来实际上非常容易且直观。 我只是将其导入到React应用程序中,并创建了一个将其呈现到页面上的组件。 它只需要我分配高度和宽度,就需要一些次要的代码来创建地图并将其显示在页面上。 就像那样,地图在我们的应用程序中可用。 下一个问题是使地图显示在正确的位置,卢旺达非洲。

This just required me to assign a default coordinate onto the map object when it is loaded onto the page. I used the React “useState” hook in combination with the “useEffect” hook to accomplish this. I hard codded the default coordinates within the application that was assigned to the state of the component, the “useEffect” hook would then be called which would create the map and pass onto the map object, which is provided by the MapBox library. This would then set up the Map that when it first loads it would display Rwanda rather than its default setting of the United States. Now that we had the map at the right location we needed to bring in the data to populate it with.

这只是要求我在将地图对象加载到页面上时为其指定默认坐标。 我将React的“ useState”钩子与“ useEffect”钩子结合使用来完成此任务。 我辛苦地编写了应用程序中分配给组件状态的默认坐标,然后将调用“ useEffect”钩子,该钩子将创建地图并传递到MapBox库提供的地图对象上。 然后,将设置地图,使其在首次加载时显示卢旺达而不是其默认设置美国。 现在我们将地图放置在正确的位置,我们需要引入数据来填充它。

Now that we had the map loading at the correct location, the next thing we had to do was populate it with some data. At this point, I actually took a step away from the Mapbox component and started working on some styling to get the layout of the page looking nice. Meanwhile, my partner Joo Woon figured out how to display markers on the map. This was a decision we both agreed upon. I felt more comfortable with working on the styling and felt that I could accurately replicate any styling aspects given. Having us split into our own work areas also further productivity by giving us two separate tasks to work on.

现在,我们已将地图加载到正确的位置,接下来要做的就是用一些数据填充地图。 至此,我实际上离开了Mapbox组件,开始进行一些样式设计,以使页面的布局看起来更漂亮。 同时,我的搭档Joo Woon想出了如何在地图上显示标记。 这是我们双方都同意的决定。 我对进行样式工作感到更自在,并觉得我可以准确地复制给出的任何样式方面。 让我们分为两个自己的工作领域,还可以通过给我们两个单独的任务来提高工作效率。

After Joo Woon got the markers to display with dummy data and I did all of the styling, the data needed to be populated with the API endpoint given from our backend. I had more experience working with React’s context API than Joo Woon, so I came in and worked out this functionality. I made the fetch call to the API our backend created and populated the data in our frontend Context API. This allowed for us to receive all of the data points we needed for our interface.

在Joo Woon使标记与虚拟数据一起显示并且我完成了所有样式之后,需要使用后端提供的API端点填充数据。 我在使用React的上下文API方面比在Joo Woon方面拥有更多的经验,所以我进来并研究了此功能。 我对后端创建的API进行了fetch调用,并在前端Context API中填充了数据。 这使我们能够接收接口所需的所有数据点。

At this point in our application, we had reached MVP for release one. Reaching MVP is always a great feeling because I know that I have completed everything that is expected of me for this release. I can then work with much less pressure on additional features while waiting for further instruction. During this time I worked on additional styling and adding an additional details section that populated when markers were clicked on the map.

至此,在我们的应用程序中,我们已经达到了版本1的MVP。 达到MVP一直是一种很棒的感觉,因为我知道我已经完成了此发行版预期的所有工作。 然后,我可以在等待更多说明的同时,减轻其他功能的压力。 在这段时间里,我从事其他样式的工作,并添加了一个附加的详细信息部分,该部分在地图上单击标记时填充。

For release 2 of the product, we plan on implementing more visualization, filtering features for the bridges, and displaying further details about villages affected by the bridges built. We also already have additional features being worked on by the team. Robert is building out a table that displays the data set in an easily digestible manner, in which a user can go in and edit, add or delete bridge information.

对于产品的版本2,我们计划实现更多的可视化,桥梁的过滤功能,并显示有关受所建桥梁影响的村庄的更多详细信息。 我们的团队已经在使用其他功能。 Robert正在构建一个表格,该表格以易于消化的方式显示数据集,用户可以在其中输入和编辑,添加或删除网桥信息。

翻译自: https://medium.com/@devinmoore/bridging-an-application-to-prosperity-102e0251bab7

非理性繁荣pdf


http://www.taodudu.cc/news/show-3267650.html

相关文章:

  • 《非理性繁荣》书中的精髓:反馈环因素、文化因素和心理因素共同导致非理性繁荣,应对非理性繁荣需要政府、金融机构及个人共同的努力。
  • 涨知识!三山五岳你可能耳熟能详,那五湖四海你知道是哪里吗?
  • 写一些给程序员世界的话(不是什么所谓的正能量,但是的确是发自内心的实话)
  • 写给身为程序员的一些话(非鸡汤,只是一些发自内心的话)
  • 你眼中的程序员------加油程序员
  • 前程似锦用计算机怎么表示,祝别人前程似锦的诗句(精选50句)
  • 一个程序猿的工作五年的总结和感悟!与君共勉!
  • 题解-会议
  • 丈夫志四海,万里犹比邻
  • 兄弟无数
  • 四海之内皆兄弟
  • 看10篇博文写点感受,不积跬步,无以至千里、不积细流,无以成江海
  • 不积跬步无以至千里-2
  • 写给自己-不积跬步,无以至千里
  • 不积跬步,无以致千里--首篇随笔
  • 不积跬步,无以致千里
  • 前端面试题:不积跬步无以至千里;不积小流无以成江海;程序人生的精彩需要坚持不懈、脚踏实地的积累。
  • 不积跬步
  • 不积跬步无以至千里,我与CSDN不平凡的2021年
  • 数据库缓存一致性问题
  • 《97 Things Every Software Architect Should Know》读书笔记
  • 再有人问你数据库缓存一致性的问题,直接把这篇文章发给他
  • Personal Reading Assignment 2 -读推荐文章有感以及项目开发目前总结
  • The Old Man and the Sea-读书笔记(20130908)
  • 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术
  • w3c标准 - Css - (1)基本介绍及选择器
  • 《精通 ASP.NET MVC 4》----1.3 ASP.NET MVC的关键优点
  • 读书与编程
  • 《Java8实战》读书笔记10:组合式异步编程 CompletableFuture
  • 软件开发相关的读书笔记 问题与方法

非理性繁荣pdf_将申请与繁荣联系起来相关推荐

  1. jira使用教程pdf_需要申请项目?需要开通权限?需要创建流程?刚需教程安排上了!...

    关注我,分享给你更多技能 经常有小伙伴问道,申请项目该如何申请?需要某个项目或者空间的权限怎么申请?项目的流程想要IT化自动流转找谁申请?本篇内容依然是手把手教学! 参考这个指南以后碰到这些问题也不会 ...

  2. 【专精特新周报】北交所进入“百企”时代 ,上市后备军充足;贝特瑞拟定增资50亿元,创北交所最大规模再融资记录;上海:年内……...

     关注ITValue,看企业级最新鲜.最价值报道! 上周北交所新股受理开启加速度,共计17家企业上市申请获受理,湖南出台十大人才举措 支持专精特新中小企业高质量发展,深圳.贵州.山东三省市公布最新一期 ...

  3. 低功耗蓝牙开发权威指南 pdf_新手入门神器!物联网低功耗蓝牙开发板,免费申请...

    特性: 支持Arduino IDE编程 支持BLE 4.1主从机切换 支持蓝牙串口数据透传 支持蓝牙点对点无线编程 支持蓝牙4.1多设备级联(最多4个) 支持Arduino蓝牙库(支持多蓝牙连接使用) ...

  4. (转)百万年薪的人才泡沫与人工智能的虚假繁荣

    百万年薪的人才泡沫与人工智能的虚假繁荣 2017-07-05 逍遥小妖 大数据 本文授权转载于公众号:PingWest品玩(ID:wepingwest),作者:逍遥小妖. 我们是不是正在像15年前迎来 ...

  5. 清华大学大数据研究中心“RONG”奖学金申请通知

    各有关同学: 清华大学大数据研究中心"RONG"奖学金申请通道于12月2日开启,奖学金面向全校各院系获得"清华大学大数据能力提升项目"证书的在校生.希望各院系符 ...

  6. 奖学金申请 | 2019年清华-青岛数据科学研究院​“RONG”奖学金申请通知

    清华-青岛数据科学研究院"RONG"奖学金申请通道将于12月2日开启啦,奖学金面向全校各院系获得清华大学大数据能力提升项目证书的在校生,请各院系符合申请条件的研究生踊跃申请~ 奖学 ...

  7. 通知 | 2017年清华-青岛数据科学研究院“RONG”奖学金即将开放申请

    各有关同学: 为促进大数据人才培养,服务国家大数据发展战略,清华-青岛数据科学研究院(简称:数据科学研究院)设立"RONG"奖学金,申请通道将于12月1日开启.奖学金面向全校各院系 ...

  8. 蚂蚁区块链第2课 如何申请获得100万创新大赛参赛资格?

    1,摘要 本文针对"链创.未来"蚂蚁区块链创新大赛的内容和报名申请流程做介绍,便于感兴趣,有实力的团队申请报名参加. 2,介绍 2019年1月4日在上海举办的蚂蚁金服ATEC城市峰 ...

  9. DApp 上线 BitPortal币通钱包申请指南

    " BitPortal, you trusted portal to the Internet of Value" BitPortal币通钱包(以下简称:BP钱包)已推出全面支持 ...

最新文章

  1. matlab shortest函数,MATLAB函數graphallshortestpaths不返回對稱矩陣
  2. linux apache配置目录大小写,linux apache 配置URL地址栏大小写不敏感配置
  3. 使用变量_在 Linux 中使用变量 | Linux 中国
  4. atom 快速编写html,Atom 编辑器自定义代码段(snippet)
  5. 智能文档分析:NLP和OCR的融合技术
  6. Centos/Linux下如何查看网关地址/Gateway地址
  7. 类加载机制、双亲委派机制深度解析以及如何自定义类加载器
  8. 电信用户流失预测Telco customer churn—(基于逻辑回归)
  9. java如何删除文件夹_java代码中如何删除文件夹呢?
  10. 数据库建模工具PowerDesigner的基本使用方法
  11. 面试题,如果上司交代的任务你肯定完成不了,你会怎么处理?
  12. hsqldb user lacks privilege or object not found
  13. 2018上海科技大学991数据结构与算法
  14. [java] JDBC数据库编程
  15. TensorFlow-神经网络初体验
  16. Echars使用指南
  17. 动态jenkins slave
  18. CheckBox选中状态改变
  19. 汇编语言实验4:分支程序题目设计
  20. cocos2d-x使用第三方的TTF字体库

热门文章

  1. kubernetes(k8s) 安装 Prometheus + Grafana
  2. PCB上面的元器件辨识方法
  3. 如今的互联网还是不是最值得加入的行业 #从熊猫败局聊起(转载)
  4. 阿里巴巴2014校招笔试题-2013年9月14日
  5. 交流转直流LED驱动芯片 MT7930 SOP8
  6. 第八届全国光电设计赛题——基于智能手机的苹果糖度无损测量分析
  7. 3、Linux文件与目录结构
  8. 工业机器人(11)-串联机器人、并联机器人和混联机器人
  9. Xh_CMS渗透测试文档
  10. 在B站外,我看到了另一批“后浪”!