communication is very important

In more than 4 years of working with people in web development,website plan,search engine marketing and php training, I have come in contact with many individuals who have gave me a wealth of advice,
And I haved found communication is so important that I began to change my role as communicator,Not noly as technical staff.

communication

 

Levenshtein distance相似度算法

Levenshtein distance最先是由俄国科学家Vladimir Levenshtein在1965年发明,用他的名字命名。
主要用途:

Spell checking(拼写检查)
Speech recognition(语句识别)
DNA analysis(DNA分析)
Plagiarism detection(抄袭检测)
Spam email (垃圾邮件检测)
Duplicate content (重复内容)

计划用php写一个内容相似度引擎,这篇博客是其核心思想之一,主要这个DPS需要掌握,当然php有一个相似度函数similar_text可以参考,我为了体现算法思路,就用php实现了.

随便提一下,内容相似度引擎的思路:

内容DNA识别技术思路

1、对一篇文章进行分词,根据分词的结果排序,得出初级DNA

内容相似度引擎不只是简单的通过算法来判断内容是否相似,分词的目的是为了体现 语义,任何一篇文章都会有主题语句,可以通过算法大概的分析一篇文章的关键词出来,然后按照既定的规律进行排序,结合第2,3点可以判断一篇文章是否抄袭

2、对一篇文章进行整句切分, 算出句子的DNA,

在符合第1点的同时,如果一篇文章语句很多类似,那么也是可以判定一本文章是否有抄袭的嫌疑,当然,某些人会去改一些词,使得机器不好判断,结合第3点可以在一定程度防止通过篡改某些词来蒙混过关

3、对一篇文章进行分词,统计每个词的数量,并根据分词结果排序,获得高级DNA

对第3点的分词结果做一个简单描述
比如一篇文章介绍 中国人民解放军的,假如,中国这个词出现了67词,人民出现了12词,解放军出现了10词,后面陆续。。。。。。。。
根据 汉字首字符 chr,获得ascii编码,进行一个常规数组排序,比如从大到小。。。。。。。。。可以获得一个词的有序列表,记住包括出现次数。
截取有序列表的80%词汇量,次数*词/总数=80%,如果另外一篇文章符合前面2点,也符合第3点,那么这篇文章可以判断是篡改抄袭的.

思路就这些,准备明后天写写代码,计划用PHP来实现,C语言不是很熟悉,为了体现思路,效率估计不会很高。

Levenshtein distance or 相似度 or 最短距离 算法 代码

< ?php
@author shjuto@gmail.com
@blog http://www.paitoubing.cn
@date 2010-------2012 地球
class similarity
{
    function ld($str1,$str2)
    {
        $str1len = strlen($str1);
        $str2len = strlen($str2);
 
        if($str1len == 0)
        {
            return $str2len;
        }
 
        if($str2len == 0)
        {
            return $str1len;
        }
 
 
        $distance = array();
 
        for($i = 0; $i <= $str1len;$i++)
        {
            $distance[$i][0] = $i;
        }
 
        for($j = 0; $j <= $str2len;$j++)
        {
            $distance[0][$j] = $j;
        }
 
        for($i = 1; $i <= $str1len;$i++)
        {
            $char1 = $str1[$i-1];
 
            for($j = 1;$j <= $str2len;$j++)
            {
                $char2 = $str2[$j-1];
                if($char1 == $char2)
	            {
	                $temp = 0;
	            }
	            else
	            {
	                $temp = 1;
	            }
 
	            $distance[$i][$j] = min($distance[$i-1][$j]+1,$distance[$i][$j-1]+1,$distance[$i-1][$j-1]+$temp);
            }
 
        }
        //print_r($distance);
        // 可以注释掉,下面table的内容,为了测试思路,直观显示数组内容,添加上去的
        echo '<table border=1>';
        foreach ($distance as $key=>$value)
        {
        	echo '<tr>';
        	foreach ($value as $h)
        	{
        		echo '<td>'.$h.'</td>';
        	}
        	echo '</tr>';
        }
        echo '';
 
        return $distance[$str1len][$str2len];
    }
 
    function sim($str1,$str2)
    {
        $ld = $this->ld($str1,$str2);
 
        return 1 - ($ld / max(strlen($str1),strlen($str2)));
    }
 
}
 
$similarity = new similarity();
$str1 = 'kitten';
$str2 = 'sitting';
print_r($similarity->ld($str1,$str2));
echo $similarity->sim($str1,$str2);
 

我眼中的优秀设计师

朋友问我:如何招聘页面设计人员? 想听听你的建议,一个好的页面设计的应该具备那些素质

回答

一个好的页面设计师

首先要热爱互联网,问他几个基本问题:

你玩微博吗,混sns社交网站吗?如果一个网站设计师连这些都不接触很难说他喜欢互联网;

如果这个人喜欢互联网,

问他豆瓣的设计如何,如果批判多过夸奖,那么这个人基本上不靠谱[很多设计人员说豆瓣是工程师做的网站]

网页设计不仅仅是整体效果看起来漂亮,更要关注用户体验,应该站在用户的角度来设计;

后面继续补充:

豆瓣的设计凸显 内容本身,比如 文字,图片,体现用户贡献的内容(ugc),看起来很简洁,但百看不厌,这个和百度贴吧差不多,用户体验好;

而那些不关注用户体验的网页设计人员,往往喜欢用夸张的效果,比如很大的背景图片,或颜色鲜艳文字,来表现设计,10米外远看一眼,貌似是一个不错的整体效果,但作为一个用户去使用,会发现,注意力聚焦在这些刺眼的效果上面,而非网站提供的内容上面,这是非常糟糕的设计。

一个设计师使用的颜色越多,水平就越一般;

互联网产品设计,是交互性的设计,不只是平面化的,产品细节,交互性,行为习惯。

 

给初入职场的你我一些建议

写了很多如何带团队、管理团队的文字,说白了就是如何做领导,如何执行.

我这周做了一个试验,就是记录下属做事时我的感受与态度,如果这件事情让我觉得不妥的,我就记录下来;今天打开笔记本,对照自己刚毕业那会的做事风格,发现我做了很多错事;

今天把记录在笔记本里面的文字抄录过来,希望对初入职场的朋友有所帮助。

1、少谈资讯、少高谈阔论

现在很多年轻人喜欢看资讯,看完以后鹦鹉学舌,开始在办公室高谈阔论,权当自己成为某个领域的专家,其实这些观点没有一点新意,全是是网上的言论,在应酬社交时可能有些作用,在办公室千万不能当作宣讲会、会议室

2、少问上司日常起居问题

自从伟大的党,提倡计划生育,中国的家庭教育又是如此的失败,导致上司变成了员工的保姆,“请问我们公司的邮编是多少?”,“我们公司怎么去某地某地”,导致现在我面试有个习惯,就是特别喜欢打听面试者的户籍及家庭成员

3、少问公司的发展战略、公司的规划

实话说,我在公司有点决策权,但很多时候公司其实也是莫着石头过河,哪有“MBA的这些词汇”,就算有,也不会告诉你,搞的自己和公司的董事一样

4、不管任何事情、不抱怨,

有些员工抱怨的事情可能和公司没有关系,但是就是喜欢“fuck,他妈的,我靠,日,怎么回事”,估计很多毛病从我这里学到的,我觉得应该改正

5、少自作主张

在做某些事情上面需要做到汇报,少自作主张,少越俎代庖;以前一直没有办法分清 什么事情叫做自作主张,现在慢慢的领会了,就是这件事情会“让你领导误解”,或是“体现不尊重”的时候

6、不争辩,敢于承认错误

如果你的上司不是一个强词夺理的人,我建议你还是多从自己身上找原因,不要去狡辩,不要推卸责任,这一点是我直接考察下属有没有做领导潜质的一个重要指标

7、汇报问题的时候,少嬉皮笑脸

学生特别容易犯一个错误,特别是上司是一个比较容易沟通或是比较和蔼和气的一个人,嬉皮笑脸的没个正行,建议你还是多点职业化精神

8、及时汇报工作进度、不要等上司追问

这一点也是我考虑一个人是否有其领导潜质的一个重要因素,一个不及时汇报工作进度的人,我的理解是他不爱这份工作,不在乎这份工作,也不在意公司的存活,建议你及时汇报工作进度;当然这一条很多时候会写在公司的管理制度里面,是强制执行的

9、随时做好工作记录

很多人对于自己的记忆力非常自信,在开会,或是上司吩咐的事情里面,从来不做工作记录,以至于,经常忘记一些事情,这样会给上司留下非常差的印象

10、对自己的要求 要 和 对别人的要求 一样高

我发现某些员工喜欢提高对别人的要求,指出别人的不足,然后自己在做相同一件事情的时候,却走捷径,降低要求,一般这个毛病,做管理的人很容易烦,但是有些员工也是一样的,评论别人的工作,参与工作的讨论,提出比较高的标准,然后自己从来不执行

———————————————————————————————————————

更多心得体会,请访问排头兵 http://www.paitoubing.cn

 

Telligem web安全开发培训之跨站

关键词:跨站、xss,跨域攻击

 
 
About This Website

Lamp development & SEO & Plan of Website & Project Managment

Learn more »
Follow Us (SNS)
Help & Support

more about Bruce.xu»

Get in touch

QQ: +252339382
Email: shjuto @ gmail.com

Online contact form »