人做了事儿,都应该有个结果。做对了,有糖吃,做错了,就应该受罚。如果一件事儿过去了就可以不提了,那我心里不平,心都不平,我怎么活得惬意。
Joy of Life

Intro

由于从未系统学习过机器学习,为了更好的防止雅虎开源色情识别模型识别 GIF 动图,防止大规模误删,学习了一下 redis 数据库,获取误删后的文件 ID 作为 Key 添加进数据库。改善后在删除前先检查数据库是否存在此动图,但由于压缩算法不同导致每个 user 在发送相同 GIF 时会导致文件 ID 被改变,放弃通过底层方法改善 GIF 识别,但在此记录 redis 用法。

Implementation

redis==3.3.11

在服务器安装完整 redis 后 pip 安装以上 module 用于和 redis 进行通信。

import redis
r = redis.StrictRedis(host='127.0.0.1', port=6379,db=0)
r.set(key,value)
r.delete(key)
r.exists(key)

keyList = list(r.scan_iter("")) #扫描带有特定字符的全部 Keys 并转换成列表形式

x = len(Mor)
while (x != 0):
    x = x - 1
    print(r.get(keyList[x]).decode("utf-8")) #有些数据是 bytes 的情况下需要转换

    
# flushall 清空数据库

在实践过程中碰到了很多问题,最后由于官方没有接口和问题的复杂性放弃,还是技艺不够纯熟,在此知道了自己的不足之处。以下问一些总结:

  • crontab

    python 的 schedule 模块以及 crontab 同样都可以定时执行任务,但由于编程的复杂度我们可能需要拆分文件用 crontab 执行。

  • redis

    redis 数据库需要 python 与其沟通,部分结果需要再加工处理。

  • API

    项目的难易程度一部分取决于 API 的完善程度,倘若官方无其特性 API,从零创造有些难。


Others

command line

docker system prune -a #Docker delete all Images && Containers
apt install dsniff #arpspoof 

some thoughts

一个美国的高级工程师谈如何选职业

作者原来是一个外行,但是通过努力,进入了一家机器学习公司,现在发展得很好。他从自己的经历,得出一个观点: 就业要选择发展最快的行业。停滞发展、或者缓慢发展的公司,完全是一个零和游戏。如果你想晋升,必须等别人把位置空出来。你得到的,一定是其他人失去的。相比之下,快速发展的公司有源源不断的新人加入,最终每个人都会得到晋升!最重要的是,业务的发展比人员增长快,所以你会被“往上拉”,拉到更高层的岗位。作者以自己为例,他并没有机器学习背景,但是公司发展得太快,他需要组建团队,自然就成了团队管理者,环境把他“拉”到了更高的位置上。位阶高了,就有了更多的机会和资源。这让我想起自己呆过的一所大学,每年学校就那么几个名额,可以晋升教授和副教授,大家挤破头,如果今年评不上,就要至少再等一年。有的老师熬到头发白了,才评上副高职称。这就是发展缓慢的结果。去了这种地方,真是消耗生命。那篇文章还提到了另外一点,我也很赞同。他说,就业的目的是为自己积累两种资本:人力资本(增长能力)和金融资本(多赚钱)。对于年轻人来说,人力资本更重要。 就业时,年轻人的关注重点应该是,快速增长自己的人力资本。 因为长期来看,在你的一生中,人力资本会比金融资本带来更大的回报。最快速形成人力资本的方法,就是去聪明人多的地方,从比你更聪明的人身上学习。跟高手在一起工作,你会成长得非常快。大公司虽然高手很多,但是你接触不到也没用。 在一个快速发展的行业里面,加入一群聪明人组成的小团队,可能是事业成功的最佳方式。