归档 2015年9月

SAE zinnia 0.13升级0.15.2

1. 备份数据库,然后执行MySQL数据库表变更,SQL如下:

ALTER TABLE `zinnia_entry`
     ADD COLUMN `image_caption` LONGTEXT NULL AFTER `detail_template`,
     ADD COLUMN `lead` LONGTEXT NULL AFTER `image_caption`,
     ADD COLUMN `publication_date` DATETIME NULL AFTER `lead`;

ALTER TABLE `zinnia_entry` ADD INDEX `zinnia_entry_slug_4505cfe2_idx` (`slug`, `publication_date`);

ALTER TABLE `zinnia_entry` ADD ...

继续阅读

[LeetCode]Peeking Iterator

题目描述:

Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the peek() operation -- it essentially peek() at the element that will be returned by the next call to next().

Here is an ...

继续阅读

使用SAE实时日志API统计IP来访次数

托管至SAE的应用,有时会出现访问流量异常增长的情形。

此时,我们需要对流量异常日期对应的应用访问日志进行分析,从而排查流量异常增长的原因。

一个简单有效的方式就是对访客IP进行统计,因为流量异常很可能是由于少数几个IP在短时间内的大量访问造成的(当然也不排除DDoS攻击)。

SAE PV统计

要获取SAE的访问日志,可以从SAE的日志面板手工下载,也可以使用SAE的实时日志API,参阅博文:SAE实时日志API Python使用小记

由于我们只需要使用日志的IP字段,通过SAE实时日志API中fop参数的fields命令可以移除多余的日志字段,从而节省下载流量造成的云豆消耗。

通过下面的Python代码即可实现特定日期的访客IP统计。

在工作目录下创建sae_log_util.py,apibus_handler.py,ip_counter.py并拷贝相应代码,执行ip_counter.py即可。

sae_log_util.py:

#-*-coding: utf8 -*-

#sae_log_util.py
#sae log utility based on sae apibus_handler
#author ...

继续阅读

每日归档

上个月

下个月

归档