从苹果强制360产品下架看现阶段国人的心态

by tant 7. 二月 2012 10:24

 文艺青年

普通青年

 

剩下的就是2b青年

文艺青年还是不忘安卓 

2b青年欢乐多啊

苹果腾讯要多少钱才能收买苹果啊 现金储备1000亿 苹果2012一财季报告公布 

什么事情都要扯到政治上来,360已经美国上市了 股票代码qihu,不算中国公司了吧,要说离中国近的也是腾讯吧,人家至少是香港上市,喷子们敢说香港不是中国的么?人家金山还没没上市呢吧,金山就不是中国公司了?

大部分人都是以360免费为理由说喜欢360,这说明互联网产品的价值在中国还不能够体现,虽然现在在线购物方面国人的习惯已经养成了,但是在线购物毕竟是有实物的。虚拟物品的交易也算是红火吧,网游买装备也算是能投入一些了(腾讯网游很黑啊,不过lol还可以)国人还是对服务和虚拟物品没有养成消费习惯,一张win7 5块的概念还是深入人心。我用你的东西是看得起你、免费就是好,这样的想法的人还是占了多数,这种想法不能说是错误,但是肯定阻碍了互联网的发展。任何公司都是要盈利的,免费的360就不盈利了,这些钱那里来的?美国股民都是SB,赔钱公司的股票都敢买。

一分价钱一分货,把东西做便宜很容易,把东西做贵是很难的事情。公司不是傻子,赔本的事情是不会干的,世界上只有又贵又好的,又贵又不好的,又便宜又不好的东西,没有又便宜又好的东西。 而中国人恰恰喜欢的就是又便宜又好的东西。

目前国人的价值观建立在私欲之中,只要我不花钱就行了,别人跟我没关系,国人习惯接受廉价和免费的事物,他们总是梦想奇迹或者好运,因为他们不愿意付出努力,他们总想不劳而获,就像免费网游一样,免费网游就真的不花钱吗,玩过的都知道吧。这也就是中国目前没有能够称之为伟大的公司出现,因为这样的公司在中国是生存不下去的。

我们应该明白一个事实,就是威望和成就是通过一步步努力的工作和牺牲实现的,不付出就没有所得。简单来说,如果是为了谋生,那一个人只有去索取;但如果是为了生活,一个人必须要去奉献。 

 

Tags:

internet

圆周率 Pi等于4

by tant 2. 二月 2012 10:23

 这张图在网上流传了一段时间了

pi=4

看似是正确的,但是其实是有问题的,看看下面的图

圆周长

简单的解释下,他这种求pi的方法是把圆分割成无数的三角形,所有的三角形斜边的和相加就是圆形的周长,求出周长后再看与直径的关系求出的pi,根据极限的算法,当x与y趋近于0的时候,l的极限求和就是圆周长

但是第一张图给的周长总和其实是x与y的和并不是l的和,所以得出的结果是不对的

数学学的不好,而且大学的东西都快忘光了,这里是老外解释的英文连接,有兴趣的看看

Q: π = 4?

Tags:

other

吐槽向 putty后门事件

by tant 1. 二月 2012 09:56

本来想写一个更嘲讽点的标题想想还是算了,控制仇恨低调输出告别ot。

先说下软件的官方网站:

winscp

http://winscp.net/ 

putty

http://www.chiark.greenend.org.uk/~sgtatham/putty/

如果你用google搜的话排第一的都是官网肯定是没有问题的(新闻也报道了这次百度又立功了)当然如果你搜“putty官方网站”,第一我就不敢保证了,你觉得一个英文开源软件会用中文写上“官方网站”四个字吗?

putty后门事件受影响的部分ip、域名,已经有人公布了我这里就不发了,有兴趣的去找找,应该不会找不到吧,下面群嘲开始:

我觉得有些东西是程序员的基本素质问题,例如安全问题、电脑的一些基本操作、硬件安装等等。这些东西不用去精通,但是至少也是要知道一些大概吧,平常都会用道德东西,学学不好么?例如写sql的同学你不知道sql injection的原理不干你都对不起社会,做web开发的不知道html那你生成什么东西浏览器能看么?一个服务器维护的人员连zip都不会解(真人真事),这不就是坑爹这是什么。

再说说百度立功了,其实这个东西可以说百度也算是半无辜的,人家投放广告百度也没法去验证软件的真假吧,在这之前杀毒软件不也没报病毒么,要是在google投放一样也会通过的,但是为什么会选择在百度投,还不是因为百度的访问量大么,google要有百度的访问量那肯定就是投google了。

在百度投放还有一个原因,就是现在开发的同学都喜欢用百度,天下开发一大抄,这个大家都清楚,我不知道的问题也喜欢去搜看看别的人代码,但是百度搜出来的技术文档有那么好吗?反正这个事情我是想不通,我用百度从来没找到过我需要的东西。计算机这个东西都是外国人发明的、编程语言也是外国人创造的,既然选择了做开发做程序,学习下英文,看英文的文档能死啊。有些人说我就喜欢看中文的文档看着舒服,那我只能说不要去抱怨给你的工资低,因为你的水平永远落后于世界了,不要忘了英文翻译成中文也是需要时间的。我也喜欢看中文的文档毕竟是母语,但是计算机的2进制是0和1不是阴和阳,所以想挣钱还是看英文的吧。一个软件需要用汉化版么?你的服务器命令不一样是ls不是"列表",命令会用软件就那么几个英文字就非要中文的? 

如果是普通用户用什么都无所谓,毕竟不是做技术的,闻道有先后,术业有专攻。一个做技术的用百度搜索、用360软件助手装软件,我觉得人懒可以我也很懒,我写的程序80%都是为了偷懒设计的,但是懒到这种程度还是非不分是一件很不可思议的事情。

Tags: , ,

internet | tech

wordpress的数据访问类wpdb研究3:prepare函数的防止SQL注入

by tant 30. 一月 2012 17:10

prepare函数源代码如下:

function prepare( $query = null ) { // ( $query, *$args )
		if ( is_null( $query ) )
			return;

		$args = func_get_args();
		array_shift( $args );
		// If args were passed as an array (as in vsprintf), move them up
		if ( isset( $args[0] ) && is_array($args[0]) )
			$args = $args[0];
		$query = str_replace( "'%s'", '%s', $query ); // in case someone mistakenly already singlequoted it
		$query = str_replace( '"%s"', '%s', $query ); // doublequote unquoting
		$query = preg_replace( '|(?<!%)%s|', "'%s'", $query ); // quote the strings, avoiding escaped strings like %%s
		array_walk( $args, array( &$this, 'escape_by_ref' ) );
		return @vsprintf( $query, $args );
	}


为什么先说prepare函数呢,主要是因为在.net中可以直接通过Parameter来实现避免sql注入(当然如果在sql语句中进行拼接,还是需要进行二次的过滤,否则还是会出现sql注入的风险)而php中基本都是通过sql语句的拼接来执行sql操作的,通过提供的prepare函数可以减少拼接,这个函数也就是基本实现了.net中的Parameter。

官方函数说明的例子wpdb::prepare( "SELECT * FROM `table` WHERE `column` = %s AND `field` = %d", 'foo', 1337 ),如果要.net来实现的话应该是这样“SELECT * FROM `table` WHERE `column` = @c AND `field` = @f”。

Command对象会自动进行字符的转义,而php还是需要进行手动字符转换,并且拼接出转移后的sql语句执行,这就是prepare韩函数的真正作用。

但是wp中是怎么进行转移的呢?继续看代码 

function escape_by_ref( &$string ) {
		$string = $this->_real_escape( $string );
	}

function _real_escape( $string ) {
		if ( $this->dbh && $this->real_escape )
			return mysql_real_escape_string( $string, $this->dbh );
		else
			return addslashes( $string );
	}

使用的是mysql_real_escape_string和addslashes,具体的介绍直接看函数说明吧,这里要说的是

$this->real_escape是什么东西?继续找代码,只有这个函数出现了

function set_charset($dbh, $charset = null, $collate = null) {
		if ( !isset($charset) )
			$charset = $this->charset;
		if ( !isset($collate) )
			$collate = $this->collate;
		if ( $this->has_cap( 'collation', $dbh ) && !empty( $charset ) ) {
			if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset', $dbh ) ) {
				mysql_set_charset( $charset, $dbh );
				$this->real_escape = true;
			} else {
				$query = $this->prepare( 'SET NAMES %s', $charset );
				if ( ! empty( $collate ) )
					$query .= $this->prepare( ' COLLATE %s', $collate );
				mysql_query( $query, $dbh );
			}
		}
	}

addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。 当然addslashes用于单字节字符串是没问题的, mysql_real_escape_string 会判断字符集,所以会有个判断,在非单字节字符串的时候直接用addslashes,否则用mysql_real_escape_string,这样就防止了sql注入的危险。

 prepare函数虽然对于.net没什么帮助,但是还是通过查看代码加深了我对于php防止mysql注入的理解。

Tags: , ,

dotnet | tech

wordpress的数据访问类wpdb研究1:类函数

by tant 28. 一月 2012 15:23

WordPress 使用的是一个数据库操作类: ezSQL wpdb类源代码

 ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。 在你的脚本开头是要包含一个一个PHP文件。然后,你就可以使用更小、更容易的一套ezsql函数来代替标准的PHP数据库函数。 它会自动缓存的查询结果,提供了一系列简单的函数操作及扩展,并且没有造成额外的服务器开销 它具有优良的调试功能,使你快速的判断SQL语句的执行过程 ezsql函数可以返回的结果是对象,关联数组,或数值数组 它可以大大缩短开发时间,并在大多数情况下,将简化您的代码,让其跑得更快,以及很容易调试和优化您的数据库查询语句。  wordpress对ezsql进行了修改,同时也使其仅适用于mysql。

以下是主要函数的基本介绍 

function query($query) 这个函数是 WPDB 最基本的函数,$query 为 SQL 语句,提交给数据库查询,结果分二种情况:

1. 如果是 “insert|delete|update|replace”, 返回受影响行数,在 “insert|replace”的情况下,用 $this->insert_id 记录新插入的ID。

2. 如果是 “select”,用 $this->last_result 记下查询结果集,返回查询到的记录行数。

function escape($string) 使用反斜线引用字符串,即使用魔术引号。

function insert($table, $data) 这是插入记录函数,第一个参数是表的字段数组,第二个是数据数组。插入数据返回1,否则为0。

function update($table, $data, $where) 这是更新纪录函数,第一个参数是表的字段数组,第二个是数据数组,第三个是条件数组,它是一个 nane array。更新了为1,否则为0。

function get_var($query=null, $x = 0, $y = 0) 如果 $query 不为空,首先执行查询,然后返回第 X 列 Y 行的值。

function get_row($query = null, $output = OBJECT, $y = 0) 返回一行,$outpu 指定返回的类型,可以是 ARRAY_A,ARRAY_N 或者 OBJECT。$y 指定第几行。

function get_col($query = null , $x = 0) 返回一列,$x 指定第几列。

function get_results($query = null, $output = OBJECT) 返回查询结果集,可以以 ARRAY_A,ARRAY_N 或者 OBJECT 三种方式返回。

function get_col_info($info_type = 'name', $col_offset = -1) 返回字段信息。

这些函数对于一些基本的操作已经足够了,并且这是一个小类,对于资源占用和执行效率不会增加很大的开销。下篇开始分析每个函数的代码,准备向.net移植,做一个简单的。net数据库操作类。

Tags: ,

dotnet | tech

再说下百度分享是否影响排名

by tant 17. 一月 2012 10:52

google的+1是会影响排名的这个已经是可以确认了,最近百度在搜索结果也出现了一个小手,这个到底是否影响排名就成为了大家关注的焦点

这个百度分享的数字会不会影响搜索结果的排名,想必是很多站长关注的。如果我是百度PD,分享本身去看,还有很多原因不足以支持分享数影响排名,比如像机制的适应广度、作弊等等。所以目前来讲对排名的应该是不大的,因为分享的数据是可以轻松作弊的(我已经可以开刷了,哈),但如果这些分享都是真正的用户行为,也就是说各种情况都完全符合计算排名的条件后,这个分享应该还是会对排名产生效果的,但是这个时间点是未知的,只能看百度的PD的时间点了。但是要注意的一点就是分享数目前对排名影响不大,可是却是会完全影响到用户的点击的,用户看到100多个+1,点击率超过排名靠前的也是很有可能的。

另外,页面的url被分享到其他网站,其实就是页面的反向链接,当这些链接被搜索爬到并付权的时候,那么这些页面的排名就会因此而发生变化,这些链接可能被判定为用户主动行为,这样的链接可能被搜索引擎认为更有价值链接,说不定还会对分享的链接额外提权哦!这也就是所以为的SNS对SEO影响的一部分。

可以理解为:刷百度分享数字,目前来看意义不大。目前也就是和其他分享代码一样的功能:将页面链接真实的分享到其他社会化媒体去,对这些页面的排名起到帮助,因为这种链接分发的行为,使得这些被分发的链接更加自然和有意义。

当然了,如果你的网站上有分享到其他网站的代码,建议使用百度分享的,能+1就+1。虽然目前不会影响排名,但是是会影响到排名的点击率啊。再说了,这个代码也很方便,放谁的不是放么,以后万一要是真影响了呢,这不就赚大了么。

Tags: ,

internet | SEO

小米让我们再次的穿越了

by tant 12. 一月 2012 13:32

2012年1月30日,北京,早上9点,小米科技公司。 除了雷军和另一个创始人林斌,大部分人还没有到岗。这里的气氛与硅谷无异,“累了可以穿拖鞋、 上班不用打卡。”一出电梯,首先印入眼帘的是一个台式足球桌。午饭时间,你就能听到这里欢声雷动。

真相 可以狂点 这个连接 

 

 

还谈不上神一样的对手,但是猪一样的队友是没错了

Tags:

internet

百度也加1了?

by tant 10. 一月 2012 17:29

好吧,咱们开始刷吧

Tags:

SEO

wordpress的数据访问类wpdb研究1:介绍

by tant 10. 一月 2012 10:44

以前一直使用.net开发,因为IDE太好用了,vs2010应该是目前最好的IDE了没有之一,最近一直在弄php的脚本,因为php太简单了,而且普及率高,一般简单的应用就用php写好了,大型的还是需要.net。

我的php又时二把刀的功夫,也就能读懂代码,自己写的话可就麻烦了,所以想再从wordpress开始研究一下wordpress作为入门来说还是不错的选择,尤其时他对数据库的操作,我觉得还是有可借鉴之处,wordpress虽然没有使用ORM但是数据操作却十分的方便,ORM效率低灵活性差。包括微软的LINQ虽然使用简单,但是还是有一些缺陷,所以准备研究下wpdb类,移植到.net上面,这样数据库操作起来到是十分的方便。

wordpress提供了一个全局变量$wpdb来访问wordpress数据库,通过wpdb可以实现对数据库的各种操作。这里各种操作包括添加一个新表,查询,删除,更新等等。提供了处理用户自定义数据的接口。注意在调用的函数里面要全局化这个变量。通过这个变量可以访问数据库中的任何表,但是仅限于一个数据库,如果要访问多个数据库,需要重新实例化一个wpdb类。

这是官方的介绍,官方英文版见这里 

wpdb类包含多个关于数据库查询函数。

$ wpdb -> get_results(‘query’)

$wpdb->query(‘query’)

$wpdb->get_var(‘query’,column_offset,row_offset);

$wpdb->get_row(‘query’, output_type, row_offset);

$wpdb->get_col(‘query’,column_offset);

$wpdb->get_results(‘query’, output_type);

$wpdb->insert( $table, $data, $format );

$wpdb->update( $table, $data, $where, $format = null, $where_format = null );

$wpdb->prepare( ‘query’ [, value_parameter, value_parameter ... ] );

$wpdb->show_errors();

$wpdb->hide_errors();

$wpdb->print_error();

$wpdb->get_col_info(‘type’, offset);

$wpdb->flush();

这些方法看名字就知道他们是干什么用的,所以不多介绍,以后主要讲解他们的源代码 

Tags: ,

dotnet

百度不收录问题的研究

by tant 9. 一月 2012 11:29

百度自从09年改变算法以后,就经常回出现不收录的情况,相信很多人都遇到过,尤其是新站。

这个问题其实不应该算作问题,主要原因是百度加入了类似沙盒的机制,防止作弊的情况,所以新站没有权重的话收录会比较慢。

要解决百度不收录的问题,首先要了解搜索引擎机制:

搜索引擎引擎简单的概括可以分为抓取,索引,展现三个部分。

抓取:蜘蛛访问网页分析网页的内容

索引:将抓取的网页内容, 存入数据库中(当然没这么简单,这里只是为了描述方便)

展现:通过用户搜索的关键词显示结果列表

 

百度不收录也是分很几种情况,下面分别叙述

不抓取:查看每天服务器的访问日志,主要看百度蜘蛛访问了那些页面,如果访问了robots后就不在抓取了,说明robots写的有问题,如果robots返回404后不在抓取了,也说明有这个问题,要放一个robots上去,保证返回状态码200。

还有一种不抓取的情况是蜘蛛只访问首页,这种情况时因为网站权重低,适当去做一些连接就可以了,引下蜘蛛就ok了

抓取不收录:查看服务器日志,百度蜘蛛抓取,但是不收录却不增加,这个是最麻烦的事情,有许多的原因

网站权重低:这个最简单了,做几个高质量的连接就可以了,这个体现在网站首页的快照每周才会更新

网站有一些百度禁止的内容:这个主要包括,淘宝客,ggad,等等,原因你们懂的

网站内容重复:这也是一些淘宝客被禁的原因,因为重复度太高了

以上2情况的体现是百度的首页快照基本2-3天甚至每天都在更新,但是就是不收录其他页面,这种情况解决起来最麻烦,也最复杂。 

 

Tags:

SEO

关于我

归档

朋友和推荐

博易 - 中文的BlogEngine.NET

BlogEngine.NET - BlogEngine.NET英文官网

Mads Kristensen - BlogEngine.NET默认主题

frank的SEO博客 - 好不好,看看就知道

安卓APK下载 - 一个下载安卓应用的网站