MySQL Stored Procedure

一月的时候重构了一个洗数据的代码,在 Jupyter 上用 ipython-sql 写的 sql,数据库用的 MySQL 8。

理论上更高效的做法应该是直接读到 dataframe 里再进行数据清洗,由于之前已经用 sql 完整实现了一遍再加上时间不是很充裕选择了用 Stored Procedure 来封装之前的 sql

Read More

改为由 Travis CI 部署

突然想起来用 Travis CI 来替换掉之前用的 hexo-deployer-git, 正好避免了源文件的管理混乱 虽然本来也没几篇文章

顺道还把被停用很久的 swiftype 关了换回了 Google CSE。一度不知道 swiftype 取消了免费账户

网上很多老资料用的 Custom Deployment 的方法,现在 Travis CI 已经支持 GitHub Pages,只需要简单的配置一下即可。

Hexo 提供了 设置指南 以及 .travis.yml 的配置例子,当设置好后每次提交源文件到 master 分支 TravisCI 会自动生成页面并且部署到 gh-pages 分支上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sudo: false
language: node_js
node_js:
- 10 # use nodejs v10 LTS
cache: npm
branches:
only:
- master # build master branch only
script:
- hexo generate # generate static files
deploy:
provider: pages
skip-cleanup: true
github-token: $GH_TOKEN
keep-history: true
on:
branch: master
local-dir: public

需要注意的是该方法不适用于仓库名为 <user>.github.io 这种格式的仓库,因为 GitHub 必须从 master 分支生成 user 和 organization 的页面而不是 gh-pages。

User pages must be built from the master branch.

因此如果用的是 personal 或者需要修改一下官方文档上的 yml 文件配置。

现在 Travis CI 默认的依旧是 dpl v1,但是在 log 里又会按照 dpl v2 的指示弹警告,像

deploy: deprecated key skip_cleanup (not supported in dpl v2, use cleanup)

cleanup在 dpl v2 中默认是设置为 false 的而 dpl v1 中仍需要手动加入 skip_cleanup: true 来避免生成目录被删除。

还有 sudo: false 已被弃用 github_token 已经被替换为 token 等部分 dpl v2 的属性又已经被支持

在基于目前的新文档的建议下,最后的 .travis.yml 设置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
os: linux
language: node_js
node_js:
- 10
cache: npm
branches:
only:
- source # store source code of hexo in source branch
script:
- hexo generate
deploy:
provider: pages
skip_cleanup: true
token: $GH_TOKEN
keep_history: true
target_branch: master
on:
branch: source
local_dir: public

烤翅不存在的新奥尔良

新奥尔良地处路易斯安那,充满着南国风情,去之前留在Trip Ideas里的tag有Food, Art, Music, Nightlife,体验过后每一点都不会让人失望。三月中旬去的天气正好,既不炎热也不潮湿,五月去佛罗里达那会儿一下飞机甚至能感受到水汽扑面。有机会的话还是很想去这里小住一段时间,悠悠闲闲的体验当地安逸的生活。当然南方的食物才是这趟旅行最不亏的,非常的具有特色。

Read More