yaron's space
以技术为主
以技术为主
十 30th
1、amazon
Amazon的分布式key-value存储系统(dynamo)的论文
2、ebay(我对于eBay这几个PPT的一些看法和评价:http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html)
ebay架构演变历程(The eBay Architecture)
ebay架构原则(eBay architecture principles)
ebay的自动化(Teaching machines to fish)
3、facebook
facebook的缓存系统
facebook的架构
facebook百亿相片的高效存储
4、fotolog
扩展世界上最大的图片blog社区
更多 >
十 30th
1,最大子段和问题
代码:
int MaxSum(int n,int *a) { int sum = 0; int b = 0,i; for(i=0;i<n;i++) { if(b>0) b+=a[i]; else b = a[i]; if(b>sum)sum = b; } return sum; }
2,最大子矩阵和问题
代码:
int MaxSum2(int m,int n,int** a) { int sum = 0,i,j,k; int b[105]; for(i=0;i<m;i++) { for(k=0;k<n;k++) { b[k] = 0; } for(j=i;j<m;j++) { for(k=0;k<n;k++) { b[k]+=a[j][k]; } int mx = MaxSum(n,b); if(sum<mx)sum=mx; } } return sum; }
3,最大m子段和问题
double b[50005]; double c[50005]; int MaxSum3(int m,int n,int* a) { int i,j,k,mx,sum; b[0] = 0; c[0] = 0; for(i=1;i<=m;i++) { b[i] = b[i-1] + arr[i]; c[i-1] = b[i]; mx = b[i]; for(j=i+1;j<=i+n-m;j++) { b[j] = b[j-1]>c[j-1]?b[j-1]+arr[j]:c[j-1]+arr[j]; c[j-1] = mx; if(mx<b[j]) { mx = b[j]; } } c[i+n-m] = mx; } sum = b[m]; for(k=m+1;k<=n;k++) { if(sum<b[k])sum=b[k]; } return sum; }
十 30th
很多人不知道Eclipse如何开启代码助手的自动提示功能,只是使用Eclipse默认的输入了“.”之后才会出现提示。
打开 Eclipse -> Window -> Perferences,会打开个Perferences 的设置界面。
(点击图片查看大图)
在上图画红线的地方,会看到只有一个“.”存在。表示:只有输入“.”之后才会有代码提示,我们要修改的地方就是这里,可是Eclipse默认只允许输入4个自定义字符。 更多 >
十 30th
作者:baihacker
来源:http://hi.baidu.com/feixue http://hi.csdn.net/baihacker
问题描述:
12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
这个笔试题,很YD,因为把某个递推关系隐藏得很深.
问题分析:
我们先把这12个人从低到高排列,然后,选择6个人排在第一排,那么剩下的6个肯定是在第二排.
用0表示对应的人在第一排,用1表示对应的人在第二排,那么含有6个0,6个1的序列,就对应一种方案.
比如000000111111就对应着
第一排:0 1 2 3 4 5
第二排:6 7 8 9 10 11
010101010101就对应着 更多 >
十 29th
wordpress中用户注册后的密码需要服务器随即产生一个密码发送到注册者email中,如果wordpress所在服务器没有安装sendmail组件(即发送email的组件),用户注册后将不知道自己的密码是多少。
如果注册后自动显示随机的那个密码就方便多了。
修改wp-login.php这个文件就可以了,一共有两个地方需要修改,
一、搜索如下代码: wp_new_user_notification($user_id, $user_pass);
并把此句代码注释掉,然后再下面加入以下代码:
setcookie(“u”, $user_login);
setcookie(“user_pass”, $user_pass);
修改后的代码样子如下:
//wp_new_user_notification($user_id, $user_pass);
setcookie(“u”, $user_login);
setcookie(“user_pass”, $user_pass); 更多 >
十 29th
十 29th
dtree是一个javascript组件库,可以很容易的构造树形结构的菜单。
下载地址:http://www.destroydrop.com/javascripts/tree/default.html
add()
Adds a node to the tree.
Can only be called before the tree is drawn.
id, pid and name are required.
Parameters
Name Type Description
id Number Unique identity number.
pid Number Number refering to the parent node.
The value for the root node has to be -1.
name String Text label for the node.
url String Url for the node.
title String Title for the node.
target String Target for the node.
icon String Image file to use as the icon. Uses default if not specified.
iconOpen String Image file to use as the open icon. Uses default if not specified.
open Boolean Is the node open.
以上是dtree的API介绍,最主要的函数是add(),了解它的参数用法 更多 >
十 29th
最近这两天一直在搞wordpress,发现wordpress做的很强大,抽时间一定得看下源码。
目前网上各种各样的插件,本文介绍的一个比较流行的统计某篇文章的浏览次数的postviews插件,先记录下这种插件的使用方法。
一、插件介绍
该插件实现的功能是统计某篇文章被阅读次数并且可以实现侧边栏 Widget 以及显示最受欢迎(阅读数最多)文章、某分类下最受欢迎(阅读数最多)文章等功能,支持最新的 WP 2.8版本。
二、安装方法
三、使用方法
(一)一般应用
十 28th
【摘要】
实验目的:
1, 掌握缓冲区溢出原理
2, 掌握常用的缓冲区语出方法
3, 理解缓冲区溢出的危害
4, 掌握防范和避免缓冲区溢出攻击的方法
实验内容:
利用War-Ftpd这个FTP server本身存在的login时username过长缓冲区溢出漏洞,使用调试工具CDB挖掘漏洞并利用这个漏洞编写攻击程序在server端能够运行的shellcode,比如说新建帐户或者开启一个高端口以供远程登陆等。通过试验能够了解缓冲区溢出原理及防范缓冲区溢出方法等。
实验环境:
操作系统:Windows XP
溢出对象:war-ftpd 1.65
调试工具:CDB
高级编程语言:Python
Shellcode功能:在目标机上新建一个hacker帐户
近期评论