月度归档:2013年04月

在PHP语言中使用JSON

从5.2版本开始,PHP原生提供json_encode()json_decode()函数,前者用于编码,后者用于解码。

一、json_encode()

该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:

  $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);

结果为

  {"a":1,"b":2,"c":3,"d":4,"e":5}

{"a":1,"b":2,"c":3,"d":4,"e":5}

再看一个对象转换的例子:

  $obj->body = 'another post';

$obj->id = 21;

$obj->approved = true;

$obj->favorite_count = 1;

$obj->status = NULL;

echo json_encode($obj);

结果为

  {
"body":"another post",

"id":21,

"approved":true,

"favorite_count":1,

"status":null
}

由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。

二、索引数组和关联数组

PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。

由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

比如,现在有一个索引数组

  $arr = Array('one', 'two', 'three');

echo json_encode($arr);

结果为:

  ["one","two","three"]

如果将它改为关联数组:

  $arr = Array('1'=>'one', '2'=>'two', '3'=>'three');

echo json_encode($arr);

结果就变了:

  {"1":"one","2":"two","3":"three"}

注意,数据格式从"[]"(数组)变成了"{}"(对象)。

如果你需要将"索引数组"强制转化成"对象",可以这样写

  json_encode( (object)$arr );

或者

  json_encode ( $arr, JSON_FORCE_OBJECT );

三、类(class)的转换

下面是一个PHP的类:

  class Foo {

const ERROR_CODE = '404';

public $public_ex = 'this is public';

private $private_ex = 'this is private!';

protected $protected_ex = 'this should be protected';

public function getErrorCode() {

return self::ERROR_CODE;

}

}

现在,对这个类的实例进行json转换:

  $foo = new Foo;

$foo_json = json_encode($foo);

echo $foo_json;

输出结果是

  {"public_ex":"this is public"}

可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。

四、json_decode()

该函数用于将json文本转换为相应的PHP数据结构。下面是一个例子:

  $json = '{"foo": 12345}';

$obj = json_decode($json);

print $obj->{'foo'}; // 12345

通常情况下,json_decode()总是返回一个PHP对象,而不是数组。比如:

  $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));

结果就是生成一个PHP对象:

  object(stdClass)#1 (5) {

["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)

}

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:

  $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json),true);

结果就生成了一个关联数组:

  array(5) {

["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)

}

五、json_decode()的常见错误

下面三种json写法都是错的,你能看出错在哪里吗?

  $bad_json = "{ 'bar': 'baz' }";

$bad_json = '{ bar: "baz" }';

$bad_json = '{ "bar": "baz", }';

对这三个字符串执行json_decode()都将返回null,并且报错。

第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。

另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。

  var_dump(json_decode("Hello World")); //null

php字符串比较

   比较两个字符串是否相等,最常见的方法就是使用“===”来判断,至于它和“==”的区别,简单来说 就是前者强调“identical”类型也要求一样;后者要求“equal”,值相同就可以了。或者使用strcmp来判断,但是这个能够告 诉你两个字符串是否相等,但是无法告诉你在那里不同。

  一般能用 !=, == 比较两个对象是否相等,只所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。
如果用 !==,===(能看到多了一个等号)比较的话,两个对象的类型要严格相等才能返回true;否则用==,!=则会将字符串自动转换成相应的类型,以便进行比较.

      22 == "22"; // 返回 true
22 === "22"; // 返回false   

      正因为这样,所以我们的程式时常会发生一些想不到的“意外”:

      0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true

   php教程里更有这样一组用于字符串比较的函数:strcmp,strcasecmp,strncasecmp(), strncmp(),他们都是如果前者比后者大,则返回大于0的整数;如果前者比后者小,则返回小于0的整数;如果两者相等,则返回0.他们比较的原理和 其他语言的规则都是相同的。

strcmp是用于区分大小写(即大小写敏感)的字符串比较:
echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"

strcasecmp用于不区分大小写的字符串比较:
echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"

strncmp用于比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc

strncasecmp用于不区分大小写的比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者相同。

   更有一种情况是单单比较字符串大小,达不到我们预定的需求,比如照常理 10.gif 会比 5.gif 大,但如果应用上面几个函数,就会返回 -1,即表示 10.gif比5.gif,针对这种情况,php提供了两个自然对比的函数strnatcmp,strnatcasecmp:

echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)

http://hi.baidu.com/19821213/blog/item/14192c2aaeccfc315343c180.html


        在PHP中,使用==是不可靠的。即便是变量的类型相同,==为真也并不代表真的就相等。所以在php中尽量使用 === 来进行比较,使用 == 前一定要三思。 在PHP中 === 的操作是ZEND_IS_IDENTICAL,PHP不会尝试改变值的类型,非常严谨,比较的速度也要快一些。例如:

$aa = '88.';//多个点
$b = '88';

if($aa == $b)

     echo "相等";

得到的结果是相等。因为88是一个数字,php会自动转换成整型或者浮点型进行==比较,当然会相等; strcmp是强制转换成string类型比较,===是要求数值一样并且类型一样 88是int类型,88.是浮点类型,当然不一样。用恒等 === 则 不会得到相等的结论.用strcmp()也不会得到相等的结论.所以最好不要使用 == 作为字符串相等比较.改用strcmp();

       对于俩个字符串, 会首先判断他们是否是numeric_string, 如果是,那么就会转换成整形来比较.. 那么什么是numeric string呢? 因为PHP不区分类型, 所以它采用一个策略, 当你的变量看起来是一个数字的时候, 那么她就认为这个变量是一个数字,然后转换为整形来比较。

 

 

php常见问题优化49条

PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。
# vi /etc/php.ini

(1) PHP函数禁用找到:

disable_functions =
该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些函数执行,当PHP程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置:

disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status

需注意:如果您的服务器中含有一些系统状态检测的PHP程序,则不要禁用shell_exec,proc_open,proc_get_status等函数。
(2) PHP脚本执行时间找到:

max_execution_time = 30

该 选项设定PHP程序的最大执行时间,如果一个PHP脚本被请求,且该PHP脚本在max_execution_time时间内没能执行完毕,则PHP不再 继续执行,直接给客户端返回超时错误。没有特殊需要该选项可保持默认设置30秒,如果您的PHP脚本确实需要长执行时间则可以适当增大该时间设置。
(3) PHP脚本处理内存占用找到:

memory_limit = 8M

该选项指定PHP脚本处理所能占用的最大内存,默认为8MB,如果您的服务器内存为1GB以上,则该选项可以设置为12MB以获得更快的PHP脚本处理效率。
(4) PHP全局函数声明找到:

register_globals = Off

网络上很多关于PHP设置的文章都推荐将该选项设置为On,其实这是一种及其危险的设置方法,很可能引起严重的安全性问题。如果没有特殊的需要,强烈推荐保留默认设置!
(5) PHP上传文件大小限制找到:

upload_max_filesize = 2M

该选项设定PHP所能允许最大上传文件大小,默认为2MB。根据实际应用需求,可以适当增大该设置。
(6) Session存储介质找到:

session.save_path

 

如 果你的PHP程序使用Session对话,则可以将Session存储位置设置为/dev/shm,/dev/shm是Linux系 统独有的TMPFS文 件系统,是以内存为主要存储方式的文件系统,比RAMDISK更优秀,因为可以使用DISKSWAP作为补充,而且是系统自带的功能模块,不需要另行配 置。想想看,从磁盘IO操作到内存操作,速度会快多少?只是需要注意,存储在/dev/shm的数据,在服务器重启后会全部丢失。不过这对于 Session来说是无足轻重的。

 

 

由于水平有限,有些还是不太明白为什么。如果有更好建议的欢迎随时补充!

0、 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种 可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
PS:在单引号中,PHP不会自动搜寻变量、转义字符等,因此效率上快很多。而一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。
1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
PS:事实上,function、method、static method的速度不会有太大差异。具体可见“PHP函数的实现原理及性能分析【转载】”一文。

2、$row[’id’] 的速度是$row[id]的7倍。
PS:不太懂,貌似差异只有后者会先判断id这个宏是否存在,如果不存在则自动转变为字符串。

3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

PS:如果使用echo $str1.$str2 就会需要 PHP 引擎首先把所有的变量连接起来,然后在输出,而echo $str1,$str2,PHP 引擎就会按照循序输出他们

4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。
PS: 像count、strlen这样的操作其实是O(1)的,因此不会带来太多消耗,当然避免每次循环都计算是比较好的策略。最好用foreach代替 for,这个效率更高,如果考虑到foreach($array as $var)每次拷贝的消耗,可以使用foreach($array as &$var)这样的引用。

5、注销那些不用的变量尤其是大数组,以便释放内存。
PS:如果没有记错的话,unset($array)不会立刻释放内存,但随时释放是个好习惯。

6、尽量避免使用__get,__set,__autoload。

7、require_once()代价昂贵。
PS:require_once和include_once需要判重,因此效率上要低,但是5.2版本后效率问题已经基本解决。

8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。
PS:支持,尽量少用iniset()来设置include_path。

9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER['REQUEST_TIME']要好于time()。
PS:$_SERVER['REQUEST_TIME']保存了发起该请求时刻的时间戳,而time()则返回当前时刻的Unix时间戳。

10、函数代替正则表达式完成相同功能。
PS:这种函数是指strtok、strstr、strpos、str_replace、substr、explode、implode等等。

11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
PS:字符串操作比正则替换要快。

12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
PS:需要考虑到内置函数和用户自定义函数的开销差异,恐怕这种做法得不偿失。

13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
PS:php中switch支持数值和字符串变量,比C的switch要好用,建议使用。

14、用@屏蔽错误消息的做法非常低效,极其低效。
PS:有什么替代方法吗?没有的话还是不得不用的……

15、打开apache的mod_deflate模块,可以提高网页的浏览速度。

16、数据库连接当使用完毕时应关掉,不要用长连接。
PS:在连接之前,最好设置一下相应的超时机制,例如链接超时、读写超时、等待超时等。

17、错误消息代价昂贵。

18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

19、递增一个全局变量要比递增一个局部变量慢2倍。

20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

21、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。

22、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。

23、方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。

24、派生类中的方法运行起来要快于在基类中定义的同样的方法。

25、调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。

26、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。

27、除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。

28、尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。

29、当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返 回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步 骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。

(举例如下)

if (strlen($foo) < 5) { echo “Foo is too short”$$ }

(与下面的技巧做比较)

if (!isset($foo{5})) { echo “Foo is too short”$$ }

调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。
PS:长见识了。

30、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java 代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变 量,这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好 主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。

31、并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

32、并非要用类实现所有的数据结构,数组也很有用。

33、不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?

34、当你需要时,你总能把代码分解成方法。
PS:分解成方法要适当,行数少使用频率高的方法尽量用直接写代码,可以减少函数堆栈开销;且方法嵌套不宜过深,否则大大影响PHP的运行效率。

35、尽量采用大量的PHP内置函数。

36、如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。

37、评估检验(profile)你的代码。检验器会告诉你,代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈。

38、mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。

39、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;
PS:这个要记住,尽量使用file_get_contents和file_put_contents,不需要自己判断文件句柄打开是否成功。

40、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;

41、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过);

42、尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);
PS:内置函数比用户自定义函数效率高了将近一个数量级。

43、循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?);
PS:这个必须的,变量过多或者过大时,每次重分配的开销就无法忽略。

44、多维数组尽量不要循环嵌套赋值;

45、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式;

46、foreach效率更高,尽量用foreach代替while和for循环;

47、用单引号替代双引号引用字符串;
PS:晕,这个不就是第一条吗?

48、“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”;

49、对global变量,应该用完就unset()掉;

Google Glass 详细开发文档和 Mirror API 上线

感谢读者 wong2 的提醒。

ishot-130416-0729011

Google眼镜的开发API Google Mirror API已经上线,其中有非常详细的代码范例、开发文档,开发指南分成时间线、订阅、位置、联系人、授权和媒体上传几大类,想用Google Glass大展身手创造出前所未有的创新应用的朋友赶快下手啦。

 

本文来自:http://www.guao.hk/posts/google-glass-developer-preview-and-mirror-api.html

Sublime Text 2 注册码/破解方法

最新Sublime Text 2.0.1 2217 版本破解注册方法:

准备工具:十六进制编辑器,这里以WinHex为例。不要使用本身的Sublime Text来编辑。

1.安装最新的Sublime Text 2.0.1 2217版本,然后将sublime_text.exe文件复制一份并重命名为sublime_text_backup.exe做一个备份2.用 WinHex十六进制编辑器打开sublime_text.exe文件,跳到 000CBB70 那一行,将该行的 8A C3 修改为 B0 01 然后保存即可。

3.这种方法不用注册码,修改完后保存即可破解注册成功。

4.如果修改后程序无法运行或破解失败,请将原来的 sublime_text.exe 文件删除,将 sublime_text_backup.exe 文件重命名为原来的 sublime_text.exe

十六进制编辑器下载: WinHexGreen.zip

Github 上最受欢迎的开源 CSS 框架(库)

 

设计和开发一个网站有时会很累人,因为所有的小事情都需要被考虑到,包括所有的调整和随时可能发生的小的修改等等。

因此设计师和开发人员不断的推出各种工具来改进工作流程。而 CSS 框架就是这么一个工具。本文列出了在 Github 上最受欢迎的一些 CSS 框架供你参考。

Bootstrap

Foundation

Normalize.css

Animate.css

Blueprint

Compass

Ratchet

Skeleton

Flat UI

YUI

中国互联网创业工具库Startup Tools

在做17Startup.com的过程中,斯坦福商学院的教授、也是硅谷最为知名的“创业学大师”Steve Blank的博客给了我们很多的启发,尤其是他所做的“Startup Tools For Entrepreneurs”,我们试着做一份中国版的“互联网创业工具库Startup Tools”,希望对大家能有所帮助。

一、第三方创业投资服务平台

1、科技及投资类媒体(原创类文章为主)

36氪,http://www.36kr.com/

Tech2ipo,http://tech2ipo.com

动点科技Technode,http://www.technode.com/

爱范儿,http://www.ifanr.com/

雷锋网,http://leiphone.com

Web20share天涯海阁,http://www.web20share.com/

创业邦,http://www.cyzone.cn/

创业家,http://www.chuangyejia.com/

爱黑马,http://www.iheima.com/

Showeb20分享网络2.0,http://www.showeb20.com/

透明体TMT,http://toumingti.com/

Internet2share,http://www.internet2share.com

PingWest,http://www.pingwest.com

Tech In Asia(英文博客),http://www.techinasia.com/

TechWeb,http://www.techweb.com.cn/

Donews,http://www.donews.com/

网易科技(每日一站),http://tech.163.com/

新浪科技,http://tech.sina.com.cn/

腾讯科技,http://tech.qq.com/

搜狐IT,http://it.sohu.com/

投资界,http://www.pedaily.cn/

ChinaVenture,http://www.chinaventure.com.cn/

2、创投服务平台

17Startup.com,http://17startup.com/

36Tr,http://www.36tr.com/

AngelCrunch,http://www.angelcrunch.com/

创投圈,http://ctquan.com

21世纪创投网,http://www.21vc.com

创业津梁,http://www.chinastartup.cn

IPO.LA,http://ipo.la/

中国创业网,http://www.chuangye.com

缘创派,http://www.ycpai.com

继业网,http://www.vc-t.com

吹号网,http://www.chuihao.com

开跑网,http://www.kaipao.me

3、线下活动

36氪开放日,每个月都有,覆盖全国主要城市

Tech2ipo的Startup Engine,每个月都有,北京、上海

动点科技的TNT沙龙,每个月都有,北京、上海

17Startup沙龙,每个月都有,覆盖全国主要城市

创业邦的创新中国Demo China,每年一次,覆盖全国主要城市

创业家的黑马大赛,每年两次,覆盖全国主要城市

Ntalks群音荟,每个月都有,北京、上海

StartupWeekend创业周末,每年5-6次,北京、上海、杭州、深圳

网易科技的五道口沙龙,每个月都有,北京

iWeekend,每年2次,北京

好投网活动,每个月都有,北京、上海

集贤网活动,每个月都有,北京

4、主题咖啡馆等线下场地

车库咖啡,北京,海淀区海淀西大街48号鑫鼎宾馆2楼,海淀图书城步行街内

3W咖啡,北京,海淀区中关村善缘街1号立方庭大厦一层南侧

Beta咖啡,北京,北京市海淀区北四环西路66号,中国技术交易大厦一楼(原第三季大厦)。

Beta咖啡,杭州,杭州市西湖区通普路41号

福云咖啡,杭州,杭州西溪路628号福地创业园A座5楼,电话:0571-87671499

Beta咖啡,广州,广州市新港中路TIT创意园内创意西路07号楼

创业影院,北京,朝阳区大望路SOHO现代城C座3层

必帮咖啡,北京,朝阳区东三环中路39号建外SOHO西南区CBD文化体育广场(近SK大厦)

爱塔咖啡,上海,杨浦区-五角场-创智天地-政民路196号

联合创业办公社,上海,静安寺店: 上海市静安区华山路323弄2号;延平智阁: 上海市静安区昌平路990号8号楼

创智天地,上海,杨浦区淞沪路388号(靠政立路)创智天地

新单位(新咖啡XinCafe),上海,徐汇区永嘉路50号 (靠近陕西南路)

新车间,上海,徐汇区长乐路1035号2楼 (乌鲁木齐路口)

IT茶会(接触沙龙),深圳,南山数字文化产业基地201茶馆

3W咖啡深圳,深圳南山科技园北区松坪山路1号源兴科技大厦2楼

Demo咖啡,武汉,光谷软件园A7栋裙楼一楼(原千寻光谷餐厅一楼)

爱特咖啡,厦门,地址:厦门牛庄文创园;联系电话:0592-5199518;QQ群196592696

 

5、创业者俱乐部、服务组织等

AAMA亚杰商会,http://www.aamachina.com.cn,“未来科技商业领袖摇篮计划”(摇篮计划),是一个紧密联结科技商业界资深人士和创业家,促成双方在较长时期内进行有效交流和沟通,以帮助和推动创业家最终成功的项目。

XFounder创业者俱乐部,http://xfounder.com/,硅谷银行和动点科技共同打造,面向创业公司的创始人提供交流协作平台。

二、互联网创业——网站及应用服务

1、域名注册、交易及备案——国内比较多的域名注册商,也有很多代理商

1)域名注册

Godaddy,http://www.godaddy.com/ (全球最知名的域名注册服务商)

name.com,http://www.name.com/

eNom及eNom中国,http://www.enom.com/

中国万网,http://www.net.cn

新网,http://www.xinnet.com

新网互联,http://www.dns.com.cn

商务中国,http://www.bizcn.com/

35互联,http://www.35.com/

中国频道,http://www.china-channel.com/

中资源,http://www.zzy.cn/

美橙互联,http://www.cndns.com/

时代互联,http://www.now.cn/

中国数据,http://www.zgsj.com/

西部数码,http://www.west263.com/

有孚网络,http://www.yovole.com/

爱名网,http://www.22.cn/

2)域名交易、拍卖、经纪服务

尊米网,http://www.zunmi.com/

易名中国,http://www.ename.cn/

金名网,http://www.4.cn/index

易介网,http://www.ejee.com

域名城,http://www.domain.cn/

拍米网,http://www.paimi.com/

3)域名备案

工信部备案系统:http://www.miitbeian.gov.cn

4)域名起名机器人:

5)DNS域名解析服务:

DNSPod,https://www.dnspod.cn/

DNSLA,http://www.dns.la/

2、主机、服务器、CDN、云主机

前面提到的国内主要域名注册服务商,如万网、新网等都提供主机、服务器等服务,这里就不单独列了。

1)云主机、云服务

亚马逊AWS,http://aws.amazon.com/

Google App Engine,https://developers.google.com/appengine

盛大云计算,http://www.grandcloud.cn/

阿里云,http://www.aliyun.com/

新浪云(Sina App Engine),http://sae.sina.com.cn/

Discuz!云平台,http://discuz.qq.com/cloud

又拍云(侧重图片托管及存储),https://www.upyun.com/

2)CDN加速

网宿科技,http://www.chinanetcenter.com

蓝汛,http://www.chinacache.com/

快网,http://www.fastweb.com.cn/

蓝芒科技,http://www.lanmang.com/

新世纪数据中心,http://www.21idc.com.cn/

3)企业级云存储、云备份服务等

凯备份,云备份及与网盘服务,http://www.carbonite.cn

七牛信息,http://qiniutek.com/

3、开源的建站工具

康盛创想系列工具(被腾讯收购),社区论坛:Discuz!、Ucenter等,http://www.comsenz.com/

WordPress,博客建站工具,http://wordpress.org

PHPWind社区系统(被阿里巴巴收购),http://www.phpwind.net

PHPcms(被盛大收购),网站内容管理系统,http://www.phpcms.cn/

ECshop网上商店系统,http://www.ecshop.com/

最土团购系统,http://www.zuitu.com/

方维,团购系统、社会化电商、兴趣图谱系统等,http://www.fanwe.com/

4、企业邮箱

QQ企业邮箱,http://exmail.qq.com/

网易企业邮箱,http://ym.163.com/

263邮箱,http://www.263xmail.com/

35互联,http://www.35.com/

中企动力,http://www.300.cn/

5、网站测速

一起测网(17ce),http://www.17ce.com

6、企业在线工具

Google企业套件,http://www.google.com/apps/intl/zh-CN/business/index.html

Zoho,http://www.zoho.com/

百会,http://baihui.com/index.htm

7、网站数据统计

Google Analytics,http://www.google.com/analytics/

Google Trends,http://www.google.com/trends/

百度统计,http://tongji.baidu.com

量子统计(原雅虎统计),http://www.linezing.com/,尤其专注电商网站统计

CNZZ网站流量统计,http://www.cnzz.com/

超级监控(chinaz站长之家旗下),http://www.chaoji.com

我要啦(51.la),http://www.51.la/

Alexa,http://www.alexa.com/

爱站,http://www.aizhan.com/

孔明统计,http://www.kmtongji.com/

酷宝数据(专注于电商数据),http://www.koolbao.com

情报通(专注于电商数据),http://www.qbtchina.com

8、移动应用数据统计

App Annie,http://www.appannie.com

友盟,http://www.umeng.com/

Talking Data,http://www.tenddata.com

苹果应用汇,http://www.ann9.net/

百度移动应用统计,http://mtj.baidu.com

CNZZ,http://mobile.cnzz.com/

9、移动应用App开发原型工具

Axure ,http://www.axure.com/

Balsamiq Mockup,http://www.balsamiq.com/

UIstencils,http://www.uistencils.com/

iPhone Mockup,http://iphonemockup.lkmc.ch/

Mokk.me,http://mokk.me/

MockingBot(中国本土开发者开发),https://mockingbot.com

10、网络安全

安全宝,http://www.anquanbao.com

监控宝,http://www.jiankongbao.com/

知道创宇,http://www.knownsec.com/

WooYun(乌云漏洞报告平台),http://www.wooyun.org/

11、开放平台及API

Google开放平台,https://developers.google.com/

Facebook开放平台,http://developers.facebook.com/

Twitter开放平台,https://dev.twitter.com/

新浪微博开放平台,http://open.weibo.com/

腾讯开放平台,http://open.qq.com/ ,具体包括:QQ空间开放平台微信开放平台财付通开放平台Q+开放平台微博开放平台拍拍开放平台搜搜开放平台QQ互联开放平台Discuz!漫游开放平台腾讯社区开放平台腾讯应用中心开放平台彩贝联盟开放平台无线游戏开发平台邮箱开放平台团购开放平台爱看开放平台无线社区开放平台SOSO地图APISOSO问问开放平台 等

百度开放平台,http://open.baidu.com/ ,重点包括:百度移动应用开放平台百度应用开放平台百度地图API百度站长开放平台百度游戏开放平台

阿里巴巴集团所属开放平台:淘宝开放平台

人人网开放平台,http://dev.renren.com/

360开放平台,http://open.360.cn/ ,具体包括:360应用开放平台360软件开放平台极速浏览器应用开放平台安全浏览器应用开放平台电子商务(团购)开放平台360手机开放平台360游戏开放平台 等

91移动开发平台,http://dev.91.com/

开心网开放平台,http://open.kaixin001.com/

盛大开放平台,http://open.sdo.com/ 

网易开放平台:网易微博开放平台iTown游戏开发平台

搜狐开放平台:搜狐微博开放平台搜狐视频开放平台

51.com开放平台,http://developers.51.com/

天涯开放平台,http://open.tianya.cn/

豆瓣API开发,http://www.douban.com/service/

 12、移动App开发参考

code4app,iOS源代码分享,http://code4app.com

UI4App,App界面设计分享,http://ui4app.com

13、网站SEO优化工具

金花关键词工具,http://www.1n11.com/

光年SEO日志分析,http://www.hz-gn.com/software.html

14、开源中国系列在线工具(感谢“开源中国” http://www.oschina.net/

开源中国在线工具,http://www.osctools.net/,目前包括 在线API文档、JS/CSS在线测试:JsBin、在线加密/解密,散列/哈希、在线LESS编译器、在线MarkDown编译器、在线生成 QR Code、在线JS/CSS压缩、在线进制转换、在线正则表达式测试、在线代码着色/高亮、在线UBB/HTML转换 等

三、互联网创业——运营推广人力财会法务等

1、招聘网站

大街网,http://www.dajie.com/

猎聘网,猎头服务,http://www.lietou.com

周伯通,http://www.joboto.com

哇哇招聘,https://www.wawh.com

有鱼,http://www.youyur.com/

职友街,http://zhiyoujie.com

每日圈,http://meiriquan.com

云猎头,http://www.yunlietou.com

最嗨微招聘,http://zuihai.com

速评网,http://www.361test.com

2、帮助寻找合伙人、核心骨干人员

Gurudigger,http://gurudigger.com/ ,帮助寻找创业合作工程师

缘创派,http://www.ycpai.com,寻找创业合伙人

3、微博等社会化营销服务平台

微众,http://www.weizoom.com

微博易,http://www.weiboyi.com

品牌微博,http://pinpaiweibo.com/

4、团队协作的在线网站(项目管理)

KooTeam,http://kooteam.com

快做网,http://www.ftodo.com

TeamCola,http://teamcola.com/

Doit.im,https://doit.im/

 

5、相关财务服务网站

 

6、相关律师事务所

北京尚伦律师事务所,http://www.shanglun.com/

四、互联网创业——投资相关

1、投资机构及案例数据

清科,http://zdb.pedaily.cn/

ChinaVenture,http://www.chinaventure.com.cn/

CrunchBase(全球),http://www.crunchbase.com/

2、种子及天使阶段投资

天使湾,http://www.tisiwi.com/ ,杭州,种子阶段投资(20万8%);天使投资(50-600万< 25%)

起点创业营,http://www.istartvc.com/ ,上海,

福地创业园(阿米巴基金),杭州,

中国加速,http://chinaccelerator.com/ ,大连,为期四个月的创业加速项目(每个人1万元启动资金、每个公司1万元额外预算、免费场地、4%-8%股权)

快创营,http://www.innovation-camp.com/,上海,专注于移动互联网新型应用的创业孵化器和加速器。

巢儿孵化 (Health Nest),http://www.healthnestincubator.com/,一个跨国际(中美)、为期3个月、导师制的孵化加速项目,专注于投资与支持早期的移动医疗与远程医疗的初创企业。为项目每个创始人提供最高1万人民币的资金(一个公司最多3个创始人参加)、占股5%~8%。

InnoSpring(创源),http://innospring.net/ ,清华科技园、瑞安地产集团、北极光风投以及硅谷银行(SVB)等共同创建,立足于中美科技圈的孵化器,专注于帮助中国和美国的早期创业团队实现增长与跨境发展。

AppWorks之初创投,http://appworks.tw/,位于台北、专注于中文网络与移动应用的天使投资机构,提供“育成计划”孵化服务,appWorks通常投资50万至500万 (台币),占股比率約为 5%-15%。

苏河汇,http://www.suhehui.com,位于上海,专注于互联网/移动互联网创业的天使投资机构。提供一种全新的创业方式。一年两次,每次10-20家创业团队入驻到免费提供的场地进行为期4个月的集中开发。每个团队提供20万的启动资金(换取8%股份),在4个月内,完成产品迭代和种子用户的积累。4个月后,对其中最好的5-10家进行80万的追加投资。

google的开源项目总结

google的开源项目总结

google开源项目值 得我们一用的,这些项目很有意义,甚至可以直接用在我们自己的工作上!学习编程的的一个比较好的方式就是阅读优秀项目的源代码,从而能够了解作者的方法、 思路、技巧,另外阅读源代码对于一些朋友是枯燥乏味的,这是就可以看看项目的readme,找到项目的闪光点,我们不做开拓者那我们就做实践者和使用者, 呵呵,下面是这些项目的列表,在这里存档,已备今后查阅之用

 

文本文件处理:

Google CRUSH (Custom Reporting Utilities for SHell)

CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系列工具,这里有指南

C++库和源代码:

Google Breakpad

一个开源的多平台崩溃报告系统。

Google GFlags

Gflags是一个命令行标记的处理库,它可以替代“getopt()”,其内置对C++的支持比如string。指南在此

Google Glog Glog库可执行应用级的登陆,提供基于C++式的登陆API,可用于Linux、BSD和Windows。指南见此

Google PerfTools

这个工具可让开发创建更强大的应用程序,特别是那些用C++模版开发的多线程应用程序,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南见此还有这里

Google Sparse Hash

非常节省内存的hash-map。指南见此

Omaha – Google Update

Omaha,也就是Google Update,它可以保证你的软件随时升级到最新版本,目前很多Windows下的Google软件都是用Omaha升级的,包括Google Chrome和Google Earth,当然你也可以用于自己的应用程序。指南看这里还有这里

Protocol Buffers

Protocol Buffers是一种可扩展编码序列数据的方式,Google在几乎所有内部RPC协议和文件格式都使用了Protocol Buffers。指南见此它可以用于很多语言而且被一些IDE所支持,比如NetBeans

互联网:

Google Code Pretiffy 这 是一个Javascript模块和CSS文件,它可以让HTML页面里的部分源码高亮显示,支持C/C++, Java, Python, Ruby, PHP, VisualBasic, AWK, Bash, SQL, HTML, XML, CSS, JavaScript, Makefiles和部分Perl,不支持Smalltalk和所有的CAML。例子见此

SpriteMe – easy “CSS spirtes” SpriteMe使你可以更轻松的创造CSS Sprites(俗称雪碧……)就是把网站要用到的图片都堆在一张图片里,用CSS控制调用哪个区域。它有一个自己的官网在这里

Redacisaurus

Reducisaurus是一个压缩CSS和JS文件的网络服务,基于YUI压缩算法,运行于App Engine。

JaikuEngine

JaikuEngine是一个运行于App Engine的微博系统,由jaiku.com运营。要查看移动客户端的源码可以看这里这里还有介绍

Selector Shell

Selector Shell是一个基于浏览器的测试工具,它可以让你看到CSS在不同浏览器里的样式,用Javascript写的,你可以在这里测试

Google Feed Server

Google Feed Server是一个开源Atom发布协议服务,基于Apache Abdera框架,允许开发者快速为当前数据源(比如数据库)配置feed。指南见这里这里

Melange, the Spice of Creation

这个项目的目标是创建出一个适合开源贡献流程的框架,比如Google Summer of Code TM (GSoC)项目。使用这个框架你就可以用Google App Engine来运行Google Summer of Code项目,和其它类似项目比如Google Highly Open Participation TM Contest和GHOP。指南见此

NameBench

它可以查找最快的DNS服务器给你的电脑用,在Mac OS X、Windows和UNIX系统下都有命令行也有用户界面可以帮你测试,这是Google工程师用20%自由时间写出来的。

Rat Proxy

一个半自动化的大型被动网络应用安全审查工具,专为精确的探测而优化,文档在此

TopDraw

Top Draw是一个图形生成程序,使用简单的文字脚本,基于JavaScript编程语言,Top Draw可以创造出非常复杂和有趣的图形。支持Mac OS 10.5以上系统,使用XCode开发。

etherpad

开源的EtherPad,这是一个基于网络的实时合作文档编辑器,这个项目主要是为了演示代码而开发,帮助那些想在自己服务器部署Etherpad的人使用,这里有如何安装的指南。EtherPad使用JavaScript、Java和Comet服务器来建造实时协作服务。

Chromium

Chromium是开源版的Chrome浏览器,Chromium的目标是建立一个新一代的强大网络应用程序,它与Chrome有很多不同之处。这里有指导如何在Linux上编译Chromium

V8 Google’s open source JavaScript engine V8 是Google的开源JavaScript引擎,用C++写成,用于Chrome浏览器之上。V8使用ECMAScript的ECMA-262第三版可运 行于Windows XP、Vista、Mac OS 10.5和使用IA-32或ARM处理器的Linux。V8可独立运行也可嵌入到任何C++程序里使用,这里有指南

Chromium OS

Chromium OS是开源版的Chrome OS操作系统,提供快速、简单而安全的网络体验,源码在此

Android

Android是第一个免费、开源而且可完全自定义的移动平台,提供完整的堆栈:一个操作系统、中间件和重要的一用应用,它包含丰富的API可以让第三方开发者开发出强大的应用程序。

MySQL工具:

Google MySQL Tools

 

各种管理、维护和改进MySQL数据库性能的工具,由Google编写,包括:

  • mypgrep.py:一个类似pgrep的工具来管理MySQL连接
  • compact_innodb.py:可导出和重载所有表格的密集型innodb数据文件

Google mMAIM

mMAIM的目标是对MySQL的监控和分析更简单,且可以和任何环境整合使用。它可显示主/从同步状态,一些性能状态,可以返回大量“show”命令的状态等等。

其它:

Stressful Application Test (stressapptest)

Stressful Application Test试图让来自处理器和I/O到内存的数据尽量随机化,以创造出模拟现实的环境来测试现在的硬件设备是否稳定,Google就在使用它,现在是Apache 2.0许可,这里有介绍安装向导指南

Pop and IMAP Troubleshooter

它用于诊断并解决客户端到邮件服务器的连接问题。

OpenDuckBill

Openduckbill是一个Linux下简单的命令行备份工具,可用于监视文件/目录在有变化后是否标记为备份,并传输这些变化到本地备份目录、远程NFS导出分卷或是用rsync命令导出到远程SSH服务器。见安装向导

ZXing

ZXing(发音类似Zebra crossing)是Java的开源多格式1D/2D条码图像处理库,目的是使用内置在手机上的摄像头拍照并对条码进行解码,而不必与服务器通讯,它被用于Android系统。这里有向导支持的设备列表。 Tesseract OCR Engine

Tesseract OCR引擎是1995年UNLV Accuracy测试的前三名之一,在1995和2006年之间它的进展不大,但依然是当前精度最高的OCR引擎。这个源码可读取二进制、灰阶或彩色图片 并输出文字,内置一个TIFF阅读器可读取非压缩的TIFF文件,增加libtiff后也可读取压缩图片。指南问答

Neatx – Open Source NX server

Neatx是一个开源NX服务,类似NoMachine公司商业的NX服务。NX协议比VNX更强大,它们的区别主要在:

  • NX是X11客户端所以不会发送位图
  • NX可兼容X、VNC和Windows版的Remote Desktop
  • NX可缓存数据
  • NX安装简单

另外一个可选的项目可以看看Google的FreeNx

PSVM

它是这个文件的代码,这是一个SVM的“支持所有核心”的版本,可多机并行运行,实例见此

GO

Google开发的新编程语言,谷奥有报道

The Google Collections Library for Java

这是一系列与Java 5以及更高版本有关的库,Google花钱给买过来了。

Google styleguide

每个主流的开源项目都有它自己的向导形式,比如一系列的演示代码。如果这些代码都按照“Style”的形式来演示,会更友好。

PHP缓存文件数组的实现

将php文件中经常用到,并且需要经常多次查询数据库的,用到缓存将可以很好的降低内存消耗,加快访问速度。

这里讨论的是使用serialize将数组转成字串,存储在文件中,使用的时候再将字串转换成数组,为什么不用文件直接存储数组,这也是可以的。

PHPWind,discuz就是这么干的,但这里就不讨论了。

通过serializeunserializefread实现存储和释放数组的过程,代码如下:

 

<?php
function array2file($file,$array){
$fp = fopen($file, "wb");
fwrite($fp, serialize($array));
fclose($fp);
}

function file2array($file){
if(!file_exists($file)){
exitstr(" does no exist");
}
$handle=fopen($file,"rb");
$contents=fread($handle,filesize($file));
fclose($handle);
return unserialize($contents);
}

存储数组的时候使用array2file,要还原数组的时候使用file2array,例如:

<?php
$array=array("a","bb","c"=>2);
$file="temp.php";
if(array2file($file,$array)){
$p=file2array($file);
print_r($p);
}

 

相关Mysql慢查询分析方法(一)

打开MySQL慢查询
MySQL慢查询记录日志对于跟踪PHP+MySQL体系下的MySQL负载调优问题很有用处,比如安装了很多Discuz!插件的用户,这样可以大概排 查出那些插件有代码问题。其实启用MySQL的慢查询日志很简单,只需要在MySQL的配置文件里添加log-slow-queries和 long_query_time两个参数即可。

 

Windows下开启MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2

Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2

注意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;
long_query_time=2中的2表示查询超过两秒才记录;

某些更新
在my.cnf或者my.ini中添加log-queries-not-using-indexes参数,表示记录下没有使用索引的查询。比如:
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
log-queries-not-using-indexes