sub

利用nginx_push_stream_module实现服务器消息推送

*爱你&永不变心* 提交于 2019-11-28 21:56:52
NGiNX_HTTP_Push_Module 是一个 Nginx 的扩展模块,它实现了 HTTP Push 和Comet server的功能。HTTP Push 被经常用在网页上主动推的技术,例如一些聊天室啊,更新信息非常频繁的应用场合。 Http Server Push是一种推送技术,服务器主动向浏览器发送数据。 可以参考: http://wiki.nginx.org/HttpPushStreamModule 1. 下载安装 1) 下载源代码包 Nginx: http://nginx.org/ Nginx Http Push Module: http://pushmodule.slact.net/ (网站打不开)csdn上有一份 http://download.csdn.net/download/javadxz/10046650 。 2) 解压缩 tar zxvf nginx-1.12.2.tar.gz tar zxvf nginx_http_push_module-0.692.tar.gz 3) 编译安装 进入nginx根目录 编译Nginx,configure指定待添加模块的路径 ./configure --add-module=/home/nginx/nginx_http_push_module-0.692 make && make install 错误提示: .

BUUOJ reverse 刮开有奖

▼魔方 西西 提交于 2019-11-28 18:51:06
刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 拖到ida 找到关键函数: BOOL __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4) { const char *v4; // esi const char *v5; // edi int v7; // [esp+8h] [ebp-20030h] int v8; // [esp+Ch] [ebp-2002Ch] int v9; // [esp+10h] [ebp-20028h] int v10; // [esp+14h] [ebp-20024h] int v11; // [esp+18h] [ebp-20020h] int v12; // [esp+1Ch] [ebp-2001Ch] int v13; // [esp+20h] [ebp-20018h] int v14; // [esp+24h] [ebp-20014h] int v15; // [esp+28h] [ebp-20010h] int v16; // [esp+2Ch] [ebp-2000Ch] int v17; // [esp+30h] [ebp

『基础多项式算法总结』

醉酒当歌 提交于 2019-11-28 18:44:05
在教练的要求下开始学习多项式算法了,不过因为不太会积分和求导先把多项式牛顿迭代,多项式指数函数,多项式幂函数,多项式快速幂等内容咕掉了,于是这一篇博客就是其他基础多项式内容的总结。 Fast Fourier Transform \(FFT\) ,快速傅里叶变换,可以在 \(O(n\log_2n)\) 的时间内计算多项式乘法。 先回忆一下 \(FFT\) 的思路,首先是多项式的系数表达法,如果直接计算的话,时间复杂度是 \(O(n^2)\) 的,可以用分治算法优化到 \(O(n^{log_23})\) ,通常没有其他更优的算法了。 然后就是考虑多项式的另一个表达方式,点值表达法,这样就可以实现 \(O(n)\) 乘法。 但是使用普通的求值方法和拉格朗日插值法实现系数表达法和点值表达法的转换是 \(O(n^2)\) 的,毫无意义。 后来一个分治算法出现了,我们可以在求值的时候代入 \(n\) 个单位根,根据单位根的性质,我们可以只计算一半的值得到另一半,从而递归下去分治解决,实现时间复杂度 \(O(n\log_2n)\) 。 说到单位根,就必须提一下有关复数的基础知识,可以看这篇 博客 。 然后就是单位根的性质了: \(1.\) \(\omega_{n}^k=\cos k\frac{2\pi}{n}+i\sin k\frac{2\pi}{n}\) \(2.\) \(\omega_{2n

Nginx系列之反向代理的妙用

橙三吉。 提交于 2019-11-28 16:41:17
1、概述 nginx的反向代理功能,使得nginx本身不必自己产生内容,而是把请求交给代理服务器,从代理服务器获取内容,返回给用户,对于解耦非常有用。此外,还有其他一些妙用。 2、有趣的例子 2.1 让你的网站看上去像qq官网 配置 location / { proxy_pass http://www .qq .com / ; } 效果截图 除了地址栏的地址不一样,页面内容是不是完全一样! 2.2 替换一些内容 location / { # 必须设置,不然www.qq.com返回的是gzip压缩过的内容 proxy_set_header Accept-Encoding "" ; proxy_pass http://www.qq.com/ ; # 使用sub模块 sub_filter_once off ; # 可用替换多次 sub_filter "新闻" "旧闻" ; # 把 新闻 替换成 旧闻 sub_filter "NBA" "NBC" ; # 把 NBA 替换成 NBC } 效果截图 从截图可用看到,只有“NBA”替换成“NBC”成功了,“新闻”替换成“旧闻”失败了,不要着急,下个例子我们解决这个问题。 2.3 处理字符编码 打开Chrome浏览器的调试窗口 从截图我们得知,服务器返回的内容经过了gzip压缩,内容编码为GB2312,gzip压缩的问题我们用 proxy_set

第三章 go语言

故事扮演 提交于 2019-11-28 16:22:01
一、函数基础   定义:有输入、有输出、用来执行一个指定任务的代码块 func 函数名(形参列表)(返回值列表){ 执行代码 return 返回值列表 } //无参数和返回值 func test(){ fmt.Println("helloWorld") } func main(){ test() } //函数的多返回值 func test(x,y int,z string) (int,string){ //类型相同的相邻参数x,y参数类型可以合并 //多返回值得用括号括起来 n := x+y return n,z } //返回值进行命名 func test2(a,b int) (sum int,sub int) { sum = a+b sub = a-b return } func main(){ sum,sub := test2(100,800) fmt.Println(sum,sub) } //可变参数 func test3(b ...int) int{ sum :=0 for i := 0;i<len(b);i++{ sum = sum + b[i] } return sum } func main(){ sum := test3(10,20) //可以传任意个参数 fmt.Printf("sum=%d\n"),sum) } 二、函数defer语句     定义

约束和索引

穿精又带淫゛_ 提交于 2019-11-28 14:04:21
约束信息保存在information_schema.table_constraints表中 select * from information_schema.table_constraints where table_schema = "pmx"; Empty set (0.00 sec) 索引信息保存在information_schema.statistics表中 select * from information_schema.statistics where table_schema = 'pmx'; Empty set (0.00 sec) mysql的约束分为主键约束,外键约束和唯一性约束。 创建具有主键的表t1 Table: t1 Create Table: CREATE TABLE `t1` ( `id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 在创建约束时,mysql会自动创建该字段的索引 select * from information_schema.table_constraints where table_schema = "pmx"; +--------------------+-------------------+----------------

python3使用exec来动态加载模块

筅森魡賤 提交于 2019-11-28 10:09:47
xxglsvr.py import sys # locals() 函数来得到一个局部变量字典。 # 之后你就能从局部字典中获取修改过后的变量值了 def main(procName): loc = locals() exec("from %s import call_sub" % procName) call_sub = loc['call_sub'] call_sub("private " + procName) if __name__ == '__main__': # 在全局变量中不用定义 locals() procName = "xxglsvr01" exec("from %s import call_sub" % procName) call_sub("public " + procName) main("xxglsvr01") main("xxglsvr02") --------------------------------------------------------------------------- xxglsvr01.py import sys def call_sub(params): print("call xxglsvr01(%s)" % params) -------------------------------------------------

NOI2014 归程

北城以北 提交于 2019-11-28 05:36:11
NOI2014 购票 给一个形式化的描述: 给定一棵树,定义两个点之间的距离为两点路径上的边权和。指定 \(1\) 号节点为根节点。树上的每个节点 \(i\) 都有三个属性: \(P_i,Q_i,L_i\) 。 可以从节点 \(i\) 出发,移动不超过 \(L_i\) 的长度,到达另一个节点。设移动的距离为 \(d\) ,那么本次移动需要花费的代价为 \(P_id+Q_i\) 。 这道题对我来说难度确实还是有点大。但是由于点分治和斜率优化都是我最近在攻克的知识点,我相信这道题有一做的必要。由于本人只有 \(NOIp\) 级别的水平,要点的安排可能会不太平衡。 1 从链开始 考场需求的最基本技能就是先拿部分分,再拿全分。先考虑链上的做法。 设 \(F(i)\) 表示从点 \(i\) 走到点 \(1\) ,所需的最少花费。我们可以选择一个合法的中继点 \(j\) ,从而求得最小的花费。设 \(d(i)\) 表示点 \(i\) 到根节点 \(1\) 的距离,有: \[ F(i) = \min_{0 \leq j < i, d(i) - d(j) \leq L_i}\{F(j) + P_i[d(j) - d(i)] + Q_i\} \] 假设 \(j_0\) 是最优决策,有: \(F(i) = F(j_0)+P_id(j_0) - P_id(i) + Q(i)\) 。 这里含有 \(i\)

python编程里字符串的内置方法(非常全)

删除回忆录丶 提交于 2019-11-28 05:02:58
1、 python编程里字符串的内置方法(非常全) capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码。 endswith(sub[, start[, end]]) 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。 expandtabs([tabsize=8]) 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。 find(sub[, start[, end]]) 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。 index(sub[, start[, end]]) 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。 isalnum()

Delphi 方法:overload、override、virtual、dynamic、abstract

£可爱£侵袭症+ 提交于 2019-11-28 04:50:44
1、overload 在Pascal语法规则中,同一个UNIT里是不能存在两个同名的函数的,例如: function func(): Boolean; function func(const x: Char): Boolean; 这样是会出语法错误的,原因是因为标识符规则限制。但是问题出来了,如果我们需要几个功能相似但是参数不同的函数,那么根据标识符规则,我们就必须定义几个不同名,但是功能相同或相似的函数。 如,假设我需要一个函数,要实现返回参数一减去参数二后的值,那么我们就将这样定义函数: function SubInt(const Value1, Value2: Integer): Integer; functino SubReal(const Value1, Value2: Real): Real; function SubDouble(const Value1, Value2: Double): Double; implementation function SubInt(const Value1, Value2: Integer): Integer; begin Result:= Value1 - Value2; end; functino SubReal(const Value1, Value2: Real): Real; begin Result:= Value1 -