一万首的MP3,一万首疯狂的爱

当今的互联网世界,就是腾讯和阿里两大阵营的对抗,音乐领域也不例外。自从版权纠纷尘埃落定以来,腾讯阵营囊括了 QQ 音乐、网易云音乐、酷狗及酷我,而阿里阵营则为虾米音乐与天天动听。要想能听到所有的歌曲,两个阵营都必须下载至少一个 APP。其中用户量最大的当属网易云音乐、QQ 音乐和虾米音乐。我获取了三个音乐 APP 的榜单数据,试着分析其用户喜好、曲库构成的异同。

Keep reading

Flask 实现远程日志实时监控

更新于 2019.11.18 去除业务相关逻辑 示例代码仓库在 https://github.com/frostming/flask-webconsole-example 前言 在自动化运维系统中,常常需要监控日志,这些日志是不断更新的。本文提供了一种实时日志监控的 Python 实现。主要实现以下功能: 抓取远程机器的终端输出到服务器上。 将服务器的日志更新实时显示到客户端网页上。 文中示例基于 Python 以及 Flask。 主要依赖: Flask Redis 及其 Python 客户端 paramiko

Keep reading

SQLite 爬坑记

作为从零开始的 Web 开发人员,在项目开发中总是遇到这样那样的坑,其中数据库的坑最多。由于在功能完善过程中需要变换频繁,不可避免地要更改 DB Schema,不过我都是能不改尽量不改。逃不过时,只能硬着头皮刚。 故事是这样的,我要把两个表中的某两列的类型由字符型改成列表。在数据库值类型中就是 BLOB,ORM 中叫做 PickleType。数据库使用 SQLite,ORM 使用 SQLAlchemy,并使用基于 Alembic 的自动化迁移工具,于是就开始了。

Keep reading

2017年初杂记

2016 年就这样浑浑噩噩地过去了,犹记得年初时豪情壮志,要去拍星空,要把看过的电影书籍一一记录下来,最后都流产了,真是懒癌 + 拖延症晚期了。 买相机也有两年了,快门数将将到一万,却始终没有拍到让自己满意的,得意的作品。年初也去了趟珠海,出的片却差强人意。圆明新园的题材是我喜欢的,当天天气也非常作美,整个画面的色彩,氛围都非常到位,但是非常遗憾的是,没有对上焦。由此获得的教训是,按下快门前,一定要检查相片各状态都到达了最佳。

Keep reading

学习的快感

最近两周在写一个 web application,有了之前捣鼓个人博客的经验,又狠狠地提升了一次自己的前端技能。于是我居然从对前端一无所知到现在能写一写 javascript 脚本了。自己找第三方库,看文档,Google…

Keep reading

个人网站宣告上线

生命不息,折腾不止。绕了一大圈,还是回到了 NexT 主题,在此特别感谢 IIssNan 做的这么赞的主题。 自己也尝试过折腾主题,原先对前端望而却步,但当我真的学进去了,才发现这个世界上有模板语言,前端框架,有 F1…

Keep reading

如何编写向前兼容的 Python 代码

本文翻译自 Armin Ronacher 的文章 Writing Forwards Compatible Python Code 对于网络应用来说,目前最安全的做法是仍然坚持使用 Python 2.x,即使是新的项目。一个简单的原因是现在 Python 3 还不支持足够多的库,而将已有的库移植到 Python 3 上是一个巨大的工作。当所有人都在抱怨升级到 Python 3 是如此艰难和痛苦的时候,我们如何才能让这件事变得容易一点呢? 对于一个顶层应用来说,如果它的依赖库移植后行为一致,把它升级到 Python 3 就不难了。其实升级到 Python 3 从来都不应该是一件痛苦的事。因此,本文尝试列举一些编写新的代码时应该和不应该做的事。

Keep reading