2020年4月30日

摘要: TrafficServer 是Apache基金会的 HTTP/HTTP2 代理服务器。 TrafficServer 的 HTTP2 部分主要的代码在 : 1. trafficserver/proxy/http2/HTTP2.h, HTTP2.cc 1. trafficserver/proxy/htt 阅读全文
posted @ 2020-04-30 18:39 windydays 阅读(273) 评论(0) 推荐(0) 编辑
摘要: Proxygen 的整体架构 一个 HTTPSession 对应一个 tcp 连接。 HTTPSession 中包含HTTPCodec ,HTTPCodec用来在 HTTPMessage(Request/Response) 和 字节流之间做转换(就是解析/序列化)。 一个 HTTPTransacti 阅读全文
posted @ 2020-04-30 18:38 windydays 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 一,介绍 比赛题目很简单:构造一个程序,在 stdout 上打印出自身的 MD5,程序越短越好。按最终程序文件大小字节数排名,文件越小,排名越靠前。 只能使用 ld linux x86 64.so, libc.so, libdl.so, libgcc_s.so, libm.so, libstdc++ 阅读全文
posted @ 2020-04-30 18:35 windydays 阅读(632) 评论(0) 推荐(0) 编辑

2020年3月3日

摘要: 一,问题背景 很多时候,我们需要 确保进程只有一个实例运行 。 有几种方法: http://stackoverflow.com/questions/2964391/preventing multiple process instances on linux http://stackoverflow. 阅读全文
posted @ 2020-03-03 00:58 windydays 阅读(532) 评论(0) 推荐(0) 编辑

2019年11月29日

摘要: 一,问题背景 随着深度学习的广泛应用,在搜索引擎/推荐系统/机器视觉等业务系统中,越来越多的深度学习模型部署到线上服务。 机器学习模型在离线训练时,一般要将输入的数据做特征工程预处理,再输入模型在 TensorFlow PyTorch 等框架上做训练。 1.常见的特征工程逻辑 常见的特征工程逻辑有: 阅读全文
posted @ 2019-11-29 01:02 windydays 阅读(744) 评论(0) 推荐(0) 编辑

2019年11月21日

摘要: 一,问题背景 中文分词应用比较广泛的开源算法,是 "jieba 结巴分词" ,结巴分词较高性能的实现是 C++ 版本的 CppJieba : https://github.com/yanyiwu/cppjieba 在实际使用 CppJieba 的过程中,我们发现 CppJieba 的内存占用比较高。 阅读全文
posted @ 2019-11-21 00:57 windydays 阅读(700) 评论(2) 推荐(0) 编辑

2019年10月21日

摘要: 最近发现密码学很有意思,刚好还和工作有点关系,就研究了一下,本文是其中一部分笔记和一些思考。 密码学理论艰深,概念繁多,本人知识水平有限,错误难免,如果您发现错误,请务必指出,非常感谢! 本文禁止转载 本文目标: 1. 学习鉴赏TLS协议的设计,透彻理解原理和重点细节 1. 跟进一下密码学应用领域的 阅读全文
posted @ 2019-10-21 00:56 windydays 阅读(666) 评论(0) 推荐(0) 编辑

2019年9月21日

摘要: 简介 jump consistent hash是一种一致性哈希算法, 此算法 零内存消耗 , 均匀分配 , 快速 ,并且 只有5行代码 。 此算法适合使用在分shard的分布式存储系统中 。 此算法的作者是 Google 的 John Lamping 和 Eric Veach,论文原文在 完整代码: 阅读全文
posted @ 2019-09-21 00:53 windydays 阅读(369) 评论(0) 推荐(0) 编辑

2015年6月6日

摘要: ---发现独立博客没人看呜呜呜~~~,所以还是得在博客网站上发一下。。。你可以去我的独立博客上看哦,内容更多: 。------本文介绍目前现代密码学的最先进技术,前半部分主要翻译自 [《Cryptographic Right Answers》](https://gist.github.com/tq... 阅读全文
posted @ 2015-06-06 00:05 windydays 阅读(1266) 评论(0) 推荐(0) 编辑

2014年3月23日

摘要: 迁移到 https://blog.helong.info/ 去了 阅读全文
posted @ 2014-03-23 17:02 windydays 阅读(206) 评论(0) 推荐(0) 编辑

2012年7月26日

摘要: 目标:实现一个算法,模拟在一个封闭二维区域,圆形小球朝给定方向坠落的过程,实现二维区域的紧密填充。像下面这样:难点,及其简单解决:1.如何把粒子移动尽可能远?图中的粒子i,能往下移动多远?一般情况,碰撞?边界?一个简单解法:注意如下事实:判断两个粒子是否重叠,判断粒子是否和边 界线重叠,都是十分容易的。据此定义函数 f (r) 如下考虑把粒子往前推的过程,最开始 f (r) = 1,当推进到一个临界值后,f (r) = 0,因此,f (r) 的函数图像是:代码如下://找出一个点,在一个方向上最远可以前进多远,限于一步之内,该点可以不属于这个mesh,如果不能前进,返回falsebool mo 阅读全文
posted @ 2012-07-26 01:07 windydays 阅读(358) 评论(0) 推荐(0) 编辑

2012年4月10日

摘要: 这个程序就是做来玩和练习的,代码是玩具级别的,用的python,基本可以正常工作了。先介绍应用背景: 在流体机械设计中,通常根据性能参数进行设计,算出其它变量,但问题是,在设计过程中,需要进行变量的手工调整,例如圆整,修正到某一范围,校核等等。其计算模式举例如下:1.定义变量,如输入压力Pin=0.98,输入温度Tin=27,输入流量Qvin=400,kv2,φ2r,b2,D2,u2,qin等等。。。2.根据某些物理公式,算出几个新的量,如转速 n=33.9*sqrt(kv2*φ2r*b2/D2*(u2^3)/qin)3.把n从8296.93圆整为整数8300,4.重新计算b2/D2=0.06 阅读全文
posted @ 2012-04-10 00:46 windydays 阅读(436) 评论(0) 推荐(0) 编辑

2012年4月9日

摘要: 本文译自 "Deriving the Y Combinator in 7 Easy Steps",原文链接:http://igstan.ro/posts/2010-12-01-deriving-the-y-combinator-in-7-easy-steps.html 轻松7步,导出Y结合子在没有原生递归支持的语言中,Y结合子(Y Combinator)是一种实现递归的方式(事实上,它更常被作为一种锻炼程序思维的方式)。要实现Y结合子,要求这种语言支持匿名函数。此处,我选择JavaScript来推导Y结合子,从递归阶乘函数的定义开始,一步一步进行变换。Step 1最初的实现 阅读全文
posted @ 2012-04-09 21:17 windydays 阅读(1999) 评论(0) 推荐(2) 编辑

2011年12月22日

摘要: sicp练习2.57(define variable? symbol?)(define (same-variable? a b) (and (variable? a) (variable? b) (eq? a b)))(define (sum-exp? exp) (and (pair? exp) (eq? (car exp) '+)))(define (product-exp? exp) (and (pair? exp) (eq? (car exp) '*)))(define (expon-exp? exp) (and (pair? ex... 阅读全文
posted @ 2011-12-22 22:19 windydays 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 代码框架来自sicp 练习2.42。算是作业吧。 1 (define (enumerate-interval l r) 2 (if (= l r) 3 (list l) 4 (cons l (enumerate-interval (+ l 1) r)))) 5 6 ;(enumerate-interval 1 10) 7 8 (define (contains? e pl) 9 (if (null? pl)10 #f11 (or (eq? e (car pl))12 (contains? e (cdr pl))))... 阅读全文
posted @ 2011-12-22 17:10 windydays 阅读(518) 评论(0) 推荐(0) 编辑

2011年11月21日

摘要: my code: 1 ;Church计数 2 3 (define zero (lambda (f) (lambda (x) x))) 4 (define (add-1 n) (lambda (f) (lambda (x) (f ((n f) x))))) 5 (define (show-num n)((n (lambda (x) (+ 1 x))) 0)) 6 (define (add a b) (lambda (f) (lambda (x) ((a f) ((b f) x))))) 7 (define one (lambda (f) (lambda (x) (f x)))) 8 (defi. 阅读全文
posted @ 2011-11-21 00:24 windydays 阅读(591) 评论(1) 推荐(0) 编辑

2011年11月15日

摘要: 2010年12月的代码。如何保证在备份期间数据库的一致性,这是个问题,我的脚本里想了一个办法,嘿嘿。#!/bin/shbk_to="/var/mysql-backup-`date +%Y-%m-%d-%k-%M-%S |tr -d ' '`"user_name="root"user_pw="dev"sql="flush tables with read lock;system cp -pR /var/lib/mysql $bk_to; unlock tables;"mysql -u $user_na 阅读全文
posted @ 2011-11-15 16:55 windydays 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 就不贴matlab代码了,图比较大。分别是:1. 无环量流动2. 有环量流动,两个滞止点3. 有环量流动,一个滞止点4. 有环量流动,柱面外一个滞止点--> 阅读全文
posted @ 2011-11-15 16:48 windydays 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 我不喜欢fortran,奇怪的词法规则(竟然不用空格分开token),io操作竟然是语言的一部分(这种非本质的东西像C那样用库来扩展多好)。。。 1 program link 2 implicit none 3 type node 4 character(20) name 5 integer id 6 integer score 7 type(node),pointer ::next 8 end type 9 10 integer,parameter::num=311 type(node),pointer ::students12 13 call init_al... 阅读全文
posted @ 2011-11-15 16:39 windydays 阅读(2404) 评论(0) 推荐(0) 编辑
摘要: 2010年十月写的旧代码。第一类边界条件是给定边界温度。第二类是对流边界。区域都是如下形状的:--------------------------------| || ----------------------| | | || || |--------用C++纯属蛋疼。第一类边界条件: 1 /* 2 * 等温边界 3 */ 4 #include<iostream> 5 #include<cmath> 6 using namespace std; 7 const double out_temp=... 阅读全文
posted @ 2011-11-15 16:26 windydays 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: jdbc连接数据库,使用DataSource是推荐的方式(jdbc驱动是当然要放进classpath里的,官网一般都有下载) 1 import java.sql.Connection; 2 import java.sql.ResultSet; 3 import java.sql.ResultSetMetaData; 4 import java.sql.SQLException; 5 import java.sql.Statement; 6 7 import org.postgresql.ds.PGSimpleDataSource; 8 9 import oracle.jdbc.pool.O.. 阅读全文
posted @ 2011-11-15 15:55 windydays 阅读(18419) 评论(0) 推荐(0) 编辑
摘要: 小项目,练手的。1.使用了java.util.concurrent包里的线程池,可以飙升到满带宽,在100M带宽上,可以达到10MB/s。2.使用了java.nio里的channels,性能比自己缓冲有一些提高。 1 import java.io.FileOutputStream; 2 import java.io.InputStream; 3 import java.net.URL; 4 import java.net.URLConnection; 5 import java.nio.channels.Channels; 6 import java.nio.channels.FileChan 阅读全文
posted @ 2011-11-15 15:40 windydays 阅读(2665) 评论(3) 推荐(0) 编辑

2011年11月13日

摘要: 这是2011年8月份做过的一点实验,查了MSDN等等很多资料,基本搞明白了。这里我不会使用visual studio的图形界面工具,作为专业人士,还是搞懂自己的工具是怎么运转的,这样比较好。要使用的是visual studio的命令行工具,其实和gcc那堆工具对应关系挺明显的,大致如下:gccclarlibldlink文件后缀对应关系:.a.lib.so.dll.o.obj新手注意:这个命令提示符是"开始菜单"-->>"Microsoft Visual studio"-->>"Visual Tools" 那里的 阅读全文
posted @ 2011-11-13 15:43 windydays 阅读(4345) 评论(0) 推荐(0) 编辑

2011年10月17日

摘要: 这是前几天笔试时,考场上想出来的算法,但是算了两次都不一样,最后只好蒙了一个选项,悲催!问题如下:给定一个整数序列,例如 4,2,6,3,7,1 ,该序列有多少个递增子序列?我的算法如下:记第i个元素为arr[i] ,记以第i个元素结尾的递增子序列有N[i]个,则,考虑以第i+1个元素结尾的所有递增子序列,首先置N[i+1]=1;//表示只有第i+1个元素一个元素的子序列。对j=1...i 如果arr[j]<arr[i+1] N[i+1]+=N[j]最后结果等于N数组里所有元素之和。 阅读全文
posted @ 2011-10-17 23:47 windydays 阅读(443) 评论(0) 推荐(0) 编辑

2011年8月22日

摘要: 找出平面上的特殊无向图中的所有三角形的算法 问题提出背景:在非结构化三角形网格生成过程中,若采用前沿推进法,在推进过程中是不好构造三角形的(而且也没有要),最好在把所有的边都连好以后再找出所有三角形,于是提出了问题:在由三角形构成的平面无向图中如何找出所有三角形? 网格如图: 要注意的是,这个无向图很特殊,1.这个图在平面上。2.这个图是由三角形构成的(如果不是由三角行构成,那这个网格就没有用处了)。 我的算法如下,伪代码表示:foreach(点 p in所有的点){foreach(点 np in p的所有邻居点){foreach(点 nnpin np的所有邻居点){if( p,... 阅读全文
posted @ 2011-08-22 23:23 windydays 阅读(1583) 评论(1) 推荐(0) 编辑

2011年5月12日

摘要: (以前在bmy bbs发过一次) 这个方法试过在64位win7和32位winxp上可用。 1,首先安装codeblockes,必须选完全安装(Full,All plugins,...),路径可以选默认路径即 C:/Program Files/CodeBlocks(如果安装到别的路径,后面提到的路径请自行对应更改),一路点yes,装完后关掉codeblocks。 2,汉化,把locale这个文件夹拷贝到 C:/Program Files/CodeBlocks/share/CodeBlocks/下(win7下需要管理员权限),确保最后的路径是这样的: C:/Program Files/Code.. 阅读全文
posted @ 2011-05-12 15:28 windydays 阅读(1955) 评论(0) 推荐(0) 编辑

2010年8月29日

摘要: 1 #!/bin/bash 2 #Author:windydays 3 #Date : 2010/8/29 4 #用于监控apache,如果退出就自动重启apache,原理是在如果apache退出,则apache的pid文件会被close,或触发attrib事件, 5 #只要用inotify监控这个事件,然后重启apache,再重新监控pid文件即可。 6 #使用方法:用root权限运行即可。 7 #停止方法:sudo pkill inotifywait. 8 pid_file=/var/run/apache2.pid 9 mon_log=/var/log/apache2/mon-apac.. 阅读全文
posted @ 2010-08-29 17:20 windydays 阅读(1121) 评论(0) 推荐(0) 编辑

2010年8月17日

摘要: apache的安全增强配置(使用mod_chroot,mod_security) 作者:windydays 2010/8/17 LAMP环境的一般入侵,大致经过sql注入,上传webshell,本地提权至root,安装rootkit等步骤。采用如下的配置,mod_chroot和单独分区挂载可以让本地提权变得极为困难,而mod-security可以封堵一般的sql注入等应用层攻击。 以下内容是在ubuntu10.04上实践以后总结出来的,直接上命令,就不做过多解释了,水平有限,错误在所难免,... 阅读全文
posted @ 2010-08-17 13:09 windydays 阅读(450) 评论(0) 推荐(0) 编辑

导航