互联网算法工程开发常用技术

  |  

摘要: 互联网算法工程常用的开发技术

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


总览

  • 常用工具
  • Linux
  • 数据库
  • 开发环境
  • Python
  • 内部系统

常用工具

  • http:版本和请求方法
  • rpc:远程调用、跨语言通信
  • tmux:窗体组管理
  • supervisor:进程管理
  • Nginx:轻量级 http 服务器
  • gunicorn:wsgi http 服务器
  • uwsgi:web 服务器
  • vim:编辑器
  • git:版本管理
  • crontab:定时任务

Linux

帮助

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# whatis:描述一个命令执行什么功能。
whatis ls

# info:读取 Info 格式的帮助文档。
info gcc

# man:查看手册
man htop

# which:命令的路径
which python

# whereis:找到程序的源、二进制文件或手册
whereis mkdir

# who:识别当前登录的用户
who

文件处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cd
ls
find
cat
tac # 以行为单位反序输出文件内容
locate # 用名称找文件
head
tail
less
grep
xargs # 给命令传递参数的一个过滤器,也是组合多个命令的一个工具
sort
split # 将一个文件分割成多个
uniq
tr # 转换或删除文件中的字符
cut # 显示每行从开头算起 num1 到 num2 的文字
paste # 合并文件的列
wc
sed
awk

系统性能

1
2
3
4
ps
htop
lsof # 列出当前系统打开文件的工具
kill

磁盘空间

1
2
3
4
df # 显示目前在 Linux 系统上的文件系统磁盘使用情况统计
du # 显示目录或文件的大小
tar
unzip

网络

1
2
3
4
5
6
7
netstat
route # 显示、添加、删除和修改网络的路由
ping
traceroute # 显示数据包到主机间的路径
host
ssh
scp

权限

1
2
chown
chmod

其它

1
2
3
4
uname
date
time
watch

数据库

  • Redis:内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
  • MongoDB:基于分布式文件存储的数据库,C++,介于关系数据库和非关系数据库之间,大规模。
  • MySQL:关系型数据库
  • HBase
  • Hive
  • ElasticSearch
  • Kibana

开发环境

  • 终端管理
  • 包管理机制 brew/yum/apt
  • .bashrc
  • .vimrc
  • .gitconfig
  • anaconda
  • pip install -r requirement.txt

Python

  • 系统
1
2
3
4
5
6
os 
sys
argparse
queue
json
pickle
  • 并发
1
2
3
4
5
6
threading 进程中管理并发操作
subprocess 创建附加进程
multiprocessing 像线程一样管理进程
asyncio 异步IO、事件循环
greenlet 轻量级协程
gevent
  • 时间
    • timestamp、datetime 和 str 互转
    • Local 和 UTC
1
2
time
datetime
  • 字符串与编码
1
2
3
4
str
encode
decode
base64 一种用 64 个字符来表示任意二进制数据的方法
  • 异常处理
1
2
3
try
except
finally
  • http
1
2
3
requests
urllib
urllib3
  • 数据分析
1
2
3
4
numpy
pandas
scipy
matplotlib
  • 机器学习/深度学习
1
2
3
sklearn
tensorflow
pytorch
  • 数据库 Drivers 和 ORM
1
2
3
4
5
peewee 轻量级 ORM
PyMySQL
Sqlalchemy 提供了SQL工具包及对象关系映射(ORM)工具
redis
pymongo
  • web 框架
1
2
3
4
5
flask
tornado
django
bottle 轻量级的基于 WSGI 的微型 Web 框架,只有一个 py 文件,除标准库外不依赖其它模块
web.py 轻量级 web 框架

内部系统

内部系统取决于公司,常见的如下:

  • 数据库管理系统
  • 工单系统
  • 后台系统
  • 对外展示系统

Share