作者归档:在线疯狂

RSS feed of 在线疯狂

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

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

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

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

要获取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 blog: https://bookshadow.com
#src date: 2015-09-17

status_code_dict = {200 : 'OK', 206 : 'Partial Content', 400 : 'Bad ...

继续阅读

[LeetCode]First Missing Positive

题目描述:

Given an unsorted integer array, find the first missing positive integer.

For example,
Given [1,2,0] return 3,
and [3,4,-1,1] return 2.

Your algorithm should run in O(n) time and uses constant space.

题目大意:

给定一个未经排序的数组,寻找第一个缺失的正整数。

例如,
给定 [1,2,0] 返回3,
给定 ...

继续阅读

新浪云Git代码仓库使用入门

SAE近期的优化,目前已经支持Git,本文将介绍如何使用Git在SAE上部署代码。

使用Git进行代码管理,首先要在本地安装Git客户端,下载链接:http://www.git-scm.com/download/

Git客户端的安装与配置过程在此略去不讲,谷歌一下可以找到许多相关的内容,文章重点介绍如何使用Git在SAE上部署代码。

本文例子中使用的操作系统为Windows 8.1,应用语言为Python,应用名称为gitsrc。

0. 代码管理方式的选择

在首次对应用进行代码管理时,有且仅有一次选择代码库管理方式的机会,这里我们选择Git。

此后应用的代码管理方式将不可变更

创建完成后,可以在页面上看到应用的Git仓库地址:https://git.sinaapp.com/gitsrc/ 

1. 使用git clone克隆代码仓库

在命令提示符(cmd)下,cd到工作目录(本例为E:\sae),执行命令:

git clone -o sae https://git.sinaapp.com/gitsrc

其中gitsrc应替换为正确的应用名称

按照提示输入安全邮箱和密码,执行成功后,提示检出内容为空。

保存Git用户名和密码:

在%USERPROFILE%\_netrc文件中

添加如下内容,可以避免每次push时重复输入用户名和密码(未启用动态口令)

machine git.sinaapp.com
  login 安全邮箱
  password 密码

添加一个Git远程仓库sae,地址为:https://git.sinaapp.com/gitsrc

git remote add sae https://git.sinaapp.com/gitsrc

注:如果在git clone时添加了 -o sae ...

继续阅读