空气质量指数搜索webapp解析

用Flask和Bootstrap以及Jquery做了一个web app。

放在了Github上,https://github.com/baoqger/Air-Quality-Index-Web-App

做这个webapp的时候,更多的是侧重Flask的后端使用,Jquery和Flask的HTTP通信方法,还有就是对第三方Web API的调用,接口JSON数据的解析方法。对于Bootstrap的设计就比较简单了。在这个项目之后,又尝试用Bootstrap和Angularjs结合做一个single page web,实现类似的空气质量监控功能,不过会有很多动态的功能,在那个项目里面,前端有了很好的丰富。稍后更新。

对于这个webapp,主要的技术点有:

Flask部分的技术点

  • 除了根route之外,只有一个额外的route: AQI_Analysis
  • Python requests 包,利用requests.get()可以发送get HTTP请求
  • 对于返回值 r= requests.get(URL), 需要用json方法来解析,前提是api 返回的是json格式的数据
  • r是一个对象,要想解析,需要提取它的内容信息: r.text, 然后再用json.loads进行转换,比如json.loads(r.text)。
  • json包一共有两个比较重要的方法,json.loads() 和json.dumps()

 

Jquery的技术点:

  • 用$.get()方法,跟Flask的route进行通信。 具体的format为 $.get(“/AQI_Analysis”, {target_city:city_name},  function(data, status){} )
  • 对于返回的data,需要用res = JSON.parse(data)进行处理,才能够得到它的内部数据 res[‘aqi’]
  • 在Flask里面用request.args.get(‘target_city’)进行解析,获取相应的参数
  • 而在web前端上添加google map,并且在map上对于搜索位置进行标注的方法则比较简单首先创建一个map对象

    1 

     

    再者创建一个marker对象

    2 

    当然想要用google map需要创建API Key,并且在html文件进行相关声明

    3

一个扑克手的硅谷求职神记

这个故事挺让人振奋的,里面的描述让人觉得非常真实,印象非常深刻。

男主叫Haseeb,应该是个巴西人或者葡萄牙人。如果他说的都是真实的,那么他还真是一个挺有情怀的人。通过扑克少年成名,成为世界级的选手,20几岁的时候,就积攒了100万的财富

然后卷入了一场欺诈丑闻,在扑克界烂了名声,所以需要投入到新的世界。

这个故事有点金盆洗手的感觉,而且他把自己在扑克领域获得的积蓄(大概50W刀)都捐了出去,给慈善组织捐了7.5万美元,又把剩下的留给了自己的父母当做养老钱。自己只留了1W美金防身。很有风骨的感觉。

面对未来,考虑过去读个MBA,不过他还是选择了进入科技领域,用他的原话来说,他的skillset跟科技界有很好的fit,另外“given my appetite for and understanding of risk and uncertainty, my love of the internet and technology”,大概意思就是,通过多年的扑克训练,他对风险和不确定性有非常好的把握,而且看好网络技术在未来社会的发展。

但是好的科技公司不是想进就进的,这必然是一个反复锤炼的过程,真的有很多值得分析的地方。一些关键的节点如下:

  • 首先是这个人的背景,成为coder之前是职业的扑克选手,大学的教育背景是英语专业,没有任何的coding经验。不过扑克手的经验,应该让他保留了很好的逻辑能力,数理推算能力,这些其实都是一个好coder的软实力。另外,他作为扑克手,对于竞争关系中的各方的心理,会有很强的判断力,这一点是最闪光的。
  • 第一步他参加了为期3个月的培训班,培训班的名字叫做app academy,之后他居然成为那个培训班的director of product,那就是产品总监
  • 从培训班出来,他开始海投简历,不过投出去的20多个申请,都是失败,没有面试机会
  • 他的第一个工作机会是通过在app academy认识的同学内推得到的,23andme,还算有名的一家公司,不过不是主流的互联网公司,所以去了coder也不是核心人员。然而并没有什么用,因为面试也没有通过
  • 于是他又注册了TripleByte的平台,triplebyte是一家来自知名YC孵化器的startup,这个平台的生意就是帮助工程师找工作。他通过了编程测试,面试也表现不错。于是通过这个平台,他联系上了YC内部的几个新创公司,都不太知名。
  • 他拿到了其中一个公司的offer, 另外他用过另外一个朋友的内推,得到了yelp的offer.这两个offer都是12w刀的package。
  • 拿到offer之后,他并没有停下。他联系了之前曾经拒绝了他的一些公司,通知他们,他自己现在已经拿到两家公司的offer了。结果这些公司的Hr就翻过头来,联系他,其中还包括了google.
  • 他继续努力,拿下了google的offer, package提升到了16W美元。有了google的offer在手,一下子证明了自己的实力,于是他接连收到了Uber, Stripe和Twitch这些知名新创公司的邀请,而他居然都拿到了offer
  • 正在他准备接受google的offer的时候,他接到了从Airbnb的一个电话,Airbnb之前曾经拒了他,这回还是靠内推,App Academy的CTO在Airbnb认识一个熟人,介绍了他。
  • 这回他又搞定了面试,Airbnb的offer更厉害,总共22W刀(13W的年薪,2.5W的签字费,6.5万的RSU期权)
  • 肯定是又让google知道了消息,google决定提offer到21W刀。
  • 但是主人公还是想为airbnb工作,理由是22W只是起始offer,肯定还有上涨空间(that means there is money on the table)。感觉此处他利用的他当扑克手时候的判断技能,就像扑克手一样,了解桌面上的玩家手里的牌,并能利用其中的博弈为自己谋利。我认为这是最厉害的一点。
  • 于是他给Airbnb的HR打电话说,如果他们能够把股权再提升3W,那他就接了offer。结果HR果然接招了。于是他就拿到了25W刀的大package
  • 他总结说,拿到的所有offer都是通过朋友的内部推荐实现的,没有一个是自己申请的。看到了人脉的巨大重要性啊。此处值得一万个关注
  • 另外其实他对于所有的offer都进行了negotiate,不过年薪一般都是13W万,他一般是对签字费和股权做大幅度的negotiate.
  • 这个牛人的博客,关于具体过程有非常好的描述,其实单从表达能力上看,就是一个思路极度清晰的人。http://haseebq.com/why-im-becoming-a-web-developer/