Zhangxu's Blog.

第6周ARTS-用Python搭建简单的HTTP服务

Word count: 1,414 / Reading time: 5 min
2018/08/26 Share

A: 实现 strStr() 函数
R: Do Lots of Deliberate Practice
T: 用Python搭建简单的HTTP服务
S: 关于滴滴产品的思考

Algorithm

题目

实现 strStr() 函数。

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

示例 1:

输入: haystack = “hello”, needle = “ll”
输出: 2
示例 2:

输入: haystack = “aaaaa”, needle = “bba”
输出: -1

说明

当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。

答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public int strStr(String haystack, String needle) {

if (haystack.length() == 0){
return 0;
}
for (int i = 0; i < haystack.length(); i++) {
if(haystack.substring(i, needle.length()+i).equals(needle)){
return i;
}
}
return -1;
}
}

Review

文章:Do Lots of Deliberate Practice

本文详细论述了,什么是刻意练习,并阐述了对于提升自己能力的重要性。

总结一句话:不断重复做超出你当前能力的工作(指有挑战的工作——不要呆在舒适区),随着时间的推移你会逐渐掌握更多的专业知识和能力。

Tip

分享一个快速用Python搭建简单的HTTP服务的方法。

平时我们可能有需要,传输某个文件到手机,或者工作中某台服务器的电脑。

假如这个手机是个测试手机/服务器,并没有微信QQ之类的软件,而且你也不想费时去安装及登陆账号,而这个这个时候恰好你的电脑有Python环境,事情一下就简单了许多:

  • 第一步 打开终端窗口,cd至你想要传输文件的目录。
  • 第二步 Python3环境,输入python -m http.server 8080;Python2环境,输入python -m SimpleHTTPServer 8080

看到如下字样说明服务开启成功:

1
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

此时用手机或其他电脑浏览器访问本机的IP和端口号即可下载此目录下的相关文件:

pic

当然手机和电脑要和本机处在同一个本地网络中。

如果想让外网设备也可以访问,做个内网穿透就可以很方便的实现啦。

Share

关于滴滴产品的思考

最近滴滴又出问题了,酿成一出惨案,究其根本原因在于滴滴对突发状况的反应过于迟钝,内部规则繁多层层审批效率极低。

考虑到滴滴的用户基数非常庞大,哪怕是极底的事故发生率,也是会经常发生一些突发状况。

因此滴滴应该将处理突发状况作为一个常态化的事情来制定应急预案,目的在于在悲剧还没发生时遏制事件的进一步发展。

我认为应该从三方面来考虑:

防患于未然

司机注册账号时,不仅要实名登记、驾照、车牌等,还要同意一项协议书规定在正常接单期间允许滴滴使用车辆定位,车内环境录音等功能必要时候会提供给必要人员使用,目的在于普及相关安全常识,让司机意识到作案风险极大。

制定一些服务准则,规定在接单时什么事情该做什么事情不该做,用户有投诉检举的权利,试情况轻重予以不同程度的处罚。

一旦有用户检举有重大作案倾向的司机,在通过录音、视频或监控录像核实确认后立即给予封号处理,绝不姑息。

危险进行时

我这里建议滴滴做一套后台监控系统,实时检测车辆位置、车牌号、车主信息、乘客信息、上车地点、目的地及自动规划的路径。

一旦司机偏离规划的路径误差过大,立即给乘客推送消息必要时响铃警报,同时给司机端推送警报,让其意识到一切行为都在掌握中,减少事故发生概率。

同时用户侧客户端需要有一个醒目的、很方便的报警功能,用户可以预设紧急联系人,一但触发警报以下人员将会收到推送:

  • 紧急联系人收到短信、电话通知,并提供滴滴监控系统后台地址事实监控车辆状况。
  • 滴滴监控系统收到加急警报,并立即委派到个人或成立紧急小组处理该案件,包括但不限于致电司机、联系当地警方。
  • 给当地警方拨打滴滴定制的报警信息,将滴滴监控系统开放给警方使用。

目的在于危险来临时,尽可能快速阻止悲剧发生,协助警方破案。

事情过后

如果最终避免了悲剧,注销司机账号是必须的,还要配合乘客做好报警的后期工作,顺便可以给所有人推送一条消息:阻止危险案件发生+1。

经过前面的种种,并不能一定确保悲剧不发生,但是滴滴的所有努力我想公众是看在眼里的,一定会有一个客观的中肯的评价,对待公众的反馈,要态度积极的听取和接纳,做好更完善的预案改进。

原文作者: 张旭

原文链接: http://jshpy.cn/ARTS/ARTS06.html

发表日期: August 26th 2018, 8:10:16 pm

版权声明: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG
  1. 1. Algorithm
    1. 1.1. 题目
    2. 1.2. 说明
    3. 1.3. 答案
  2. 2. Review
  3. 3. Tip
  4. 4. Share
    1. 4.1. 关于滴滴产品的思考
      1. 4.1.1. 防患于未然
      2. 4.1.2. 危险进行时
      3. 4.1.3. 事情过后