Python核心技术与实战
景霄
Facebook资深工程师
立即订阅
13891 人已学习
课程目录
已完结 46 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从工程的角度深入理解Python
免费
基础篇 (14讲)
01 | 如何逐步突破,成为Python高手?
02 | Jupyter Notebook为什么是现代Python的必学技术?
03 | 列表和元组,到底用哪一个?
04 | 字典、集合,你真的了解吗?
05 | 深入浅出字符串
06 | Python “黑箱”:输入与输出
07 | 修炼基本功:条件与循环
08 | 异常处理:如何提高程序的稳定性?
09 | 不可或缺的自定义函数
10 | 简约不简单的匿名函数
11 | 面向对象(上):从生活中的类比说起
12 | 面向对象(下):如何实现一个搜索引擎?
13 | 搭建积木:Python 模块化
14 | 答疑(一):列表和元组的内部实现是怎样的?
进阶篇 (11讲)
15 | Python对象的比较、拷贝
16 | 值传递,引用传递or其他,Python里参数是如何传递的?
17 | 强大的装饰器
18 | metaclass,是潘多拉魔盒还是阿拉丁神灯?
19 | 深入理解迭代器和生成器
20 | 揭秘 Python 协程
21 | Python并发编程之Futures
22 | 并发编程之Asyncio
23 | 你真的懂Python GIL(全局解释器锁)吗?
24 | 带你解析 Python 垃圾回收机制
25 | 答疑(二):GIL与多线程是什么关系呢?
规范篇 (7讲)
26 | 活都来不及干了,还有空注意代码风格?!
27 | 学会合理分解代码,提高代码可读性
28 | 如何合理利用assert?
29 | 巧用上下文管理器和With语句精简代码
30 | 真的有必要写单元测试吗?
31 | pdb & cProfile:调试和性能分析的法宝
32 | 答疑(三):如何选择合适的异常处理方式?
量化交易实战篇 (8讲)
33 | 带你初探量化世界
免费
34 | RESTful & Socket: 搭建交易执行层核心
35 | RESTful & Socket: 行情数据对接和抓取
36 | Pandas & Numpy: 策略与回测系统
免费
37 | Kafka & ZMQ:自动化交易流水线
38 | MySQL:日志和数据存储系统
39 | Django:搭建监控平台
40 | 总结:Python中的数据结构与算法全景
技术见闻与分享 (4讲)
41 | 硅谷一线互联网公司的工作体验
42 | 细数技术研发的注意事项
加餐 | 带你上手SWIG:一份清晰好用的SWIG编程实践指南
43 | Q&A:聊一聊职业发展和选择
结束语 (1讲)
结束语 | 技术之外的几点成长建议
Python核心技术与实战
登录|注册

42 | 细数技术研发的注意事项

景霄 2019-08-14
你好,我是景霄。
技术研发一直以来都是各大公司的核心部分之一,其质量的好坏直接影响到了产品的质量以及用户对产品的体验。如何建立一套规范、健全的开发体系,就显得尤为重要。今天我就和你聊聊技术研发的注意事项。

选择合适的编程语言

比如我们正在开发一个系统,首先,根据具体的需求,我们需要对系统的各个部分选择合适的编程语言。一般来说,infra 这层我们更偏向于使用 C++,而纯的服务器端则是以 Python、Java、PHP 等等为主。以搜索引擎为例,下面我画了一个它的简略架构图:
你可以看到,大概的工作流程是:用户在客户端(client)输入一个查询(query),发送请求(request)到达服务器端(server-side);服务器端首先向 NLP service 发请求,并对请求进行分析,等到拿到各项信号(signal)后,再向后端(backend)发送请求;后端会做特征抽取(feature extraction),利用 ML 模型进行结果的检索(candidate retrieval)、排序,最后再把结果返回给服务器端和客户端。
这里的 NLP Service 和后端,我们都会使用 C++。因为这部分的处理最为复杂和耗时,都涉及到了特征抽取和 model serving,对延迟(latency)的要求极高,只有 C/C++ 这类语言才能满足需求。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Python核心技术与实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(12)

  • 安排
    profile和profiling有具体的中文解释吗,经常见到这个词,但是没有正真理解。还有online profiling.
    2019-08-14
    2
    6
  • 許敲敲
    非科班,入职做web开发,发现真的好多东西要学,除了老师说的技术流程,还经常要和不同team沟通,自己team 的Screw meeting daily report。也希望有一天能像老师一样,做个懂AI的full stack。 不过现在发现真的好累,需要学的太多了…… 老师能不能说说,怎么规划自己的职业发展,怎么选择有价值的新技术学习?感谢🙏

    作者回复: 主要看你的兴趣和目的。你是想go broad还是go deep,如果go broad,那么你就得尽量接触多的方向,如果go deep,那么就得深耕于此。

    2019-08-14
    5
  • 咯噔咯噔_Gordon
    老师能否分享一下成长的经历 每天除了工作时间,在休息的时候学习多久?我很向往去国外工作,但是自己也深知前方道路漫长,我目前就职于一家美企,怎么样能有机会去硅谷工作

    作者回复: 以前上学的时候很拼啊,每天学习到凌晨是经常的事,现在主要更关注一些high level的事和一些技术细节。至于去硅谷工作,去那读个书比较容易

    2019-08-14
    1
  • fy
    老师,看你更新完了,我才开始学,不然一周三篇太慢了。看到你写的代码就是舒服。认识到自己的差距。特别好,通过场景讲解代码!我做了笔记在自己的博客上,有你的代码哈,会转载是你的。毕竟通过留言记笔记不好.
    2019-08-14
    1
    1
  • haoxu .W
    有没有关于flask的相关教程推荐
    2019-08-14
    1
  • 栾~龟虽寿!
    如何知道想要实现的功能,属于哪个模块,比如海龟模块,能画图,据说有13万以上的模块,在哪里有他们的列表,和介绍?谢谢老师,着急
    2019-08-18
  • 大佬,我想问下,我自己买的百度云服务器,安装完anaconda之后,配置好jupyter notebook后,一直包后台连接不上,内核也是无法可用的,但是通过浏览器缺可以远程登录上去,就是无法写代码,我在windows上本地安装后是可以切换内核的,为什么在服务器上就不可以呢,跟服务器的配置有关下吗?我的云服务器是1核1G的带宽是1M。
    2019-08-15
    1
  • 夜声
    听老师授课,受益匪浅,还是让人意犹未尽啊。。。
    2019-08-15
  • 许童童
    跟着老师一起精进。
    2019-08-14
  • 未来已来
    基础真的太重要了,特别是当一个人想往高处走的时候,经常会遇到这种情况:为何我的代码写出来没什么问题,但是怎么跑的那么慢呢?很多时候都是基础不扎实导致的。

    作者回复: 这种基本都是多写,多练,多看。日积月累自然会提高

    2019-08-14
  • haoxu .W
    有没有关于flask的相关教程推荐
    2019-08-14
  • 张鑫
    缓存,日志和模拟测试要多了解了!
    2019-08-14
收起评论
12
返回
顶部