前言
为编程之美的比赛也忙活了好几天,虽说结果也不是很好吧,还是要来回顾一下这几天的过程,整理下收获,记录下这个过程吧。
初赛没什么好说的,莫名其妙就进了复赛,也没做出来几道题,惟一的经验就是编程的基本功还是要差些,以后只有慢慢锻炼了。
正文
复赛的题目可以参考看下这篇博客:2016 微软编程之美复赛题目中文翻译
当时看了好几遍也没看懂题目是要干什么,后来参考api才逐渐明白。
复赛要组队,组织方最后也有随机分队,我就没有去加入别的队伍。结果最后分完队就我和一个暨南大学的一个学弟俩人,巧的是他家就在我母校合肥工业大学附近,更巧的是他也是阿森纳球迷。
在讨论中我们决定用python在linux下进行编程实现,确定了程序实现的方向后,就着手实现思路了。
对于python,我只是在半年前了解过基本的语法,所以也就想趁此机会熟悉python语言,毕竟不做点小项目只是照着编写例程效果也不是太理想。
后来也是巧合之下拉了在《自然辩证法》课上认识的老乡刘欢帮忙一起写程序。
想想这几天学到的东西大概就是这么几块:python基本编程,python进行web服务器搭建,Azure平台的使用,以及熟悉了vim的使用。
python基本编程
python编程主要还是做些数据的处理,用python做字符串处理确实很方便,熟悉了基本的流程控制,以及类的编写,现在对python实现爬虫有了些许兴趣,之后试着爬些数据玩玩。
python进行web服务器搭建
import socket
HOST, PORT = '', 8080
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print 'Serving HTTP on port %s ...' % PORT
while True:
client_connection, client_address = listen_socket.accept()
request = client_connection.recv(1024)
print request
http_response = request
client_connection.sendall(http_response)
client_connection.close()
在浏览器输入:http://localhost:8080/helloworld 就能在界面上看到GET请求了,上边代码应该就可以处理GET 请求,本赛事也是通过这种方法进行测试数据。
网上还有用python一步搭建ftp服务器的代码,直接在python命令行输入下述代码即可
python -m SimpleHTTPServer 8080
Azure平台的使用
对于Azure,第一次接触,感觉好牛啊,感觉未来还是云计算的天下.
Azure 线上培训 这里有基本的操作介绍。
Vim操作
最近仅仅是学习了基本的操作,很多高级的操作还不太会,以后有空学习下vim的操作,再整理个博客出来)
后记
通过参与比赛,初赛和复赛的过程让我意识到,还有很多东西需要去学习,还是要多编些代码,提高代码能力。
团队协作能力,这方面的经历还是少了些,但是我还是很喜欢这种讨论问题的感觉,前几天参加数模的时候就是三人团队协作。只是平常科研的时候大多都是自己一个人,少了些这方面的锻炼。再加上没啥经验,没怎么做过多人合作编程的项目,任务分配、任务规划这些做的还不够好,以后再有机会要注意锻炼了。