1. Javascript文件直接写在了网页当中
2. 网页没有开启gzip
3. Javascript没有做任何处理
4. 图片文件过大

1. 首页处理得比较到位,虽然javascript也没有压缩,但总大小只有108k

  2. 文件请求数较少,这个和开心网本身有关,开心网本来就不是一个网页结构复杂的网站,所以文件数自然会比较少了

  3. 静态文件和网页分开部署

  4. Javascript注释比较好,但不应该发到客户端

  重要建议:

  1. 开启gzip压缩

  2. 压缩javascript及css,并将这些文件缓存起来



阅读全文
使用append()添加文本常用方法:

直接添加另一个完整的字符串:

如str1.append(str2);

添加另一个字符串的某一段子串:

如str1.append(str2, 11, 7);

添加几个相同的字符:

如str1.append(5, '.');

注意,个数在前字符在后.上面的代码意思为在str1后面添加5个".".

//========================================


#include<iostream>

using namespace std;

//========================================

int main()

{

    string str1="I like C++";

    string str2=",I like the world.";

    string str3="Hello";

    string str4("Hi");

    //====================================

    str1.append(str2);

    str3.append(str2, 11, 7);

    str4.append(5, '.');

    //====================================

    cout<<str1<<endl;

    cout<<str3<<endl;

    cout<<str4<<endl;

    system("pause");

    return 0;  

}

//========================================

运行结果为

I like C++,I like the world.

Hello World.

Hi.....
1.供电电路有转换效率的问题,如果转换效率不是很高,那么相数较多的设计其实际供电能力未必会好过相数较少的设计;

2.供电元件如果太多,例如在CPU附近的周围有一大堆电容,则会阻碍空气流通,影响CPU散热,而且还可能会使一些太靠近CPU的普通电容受热鼓包、爆浆,造成系统崩溃;

3.相数较多的设计使布线复杂化,这就使本来频率就很高的数据总线部分很容易受到干扰,影响主板在极端情况下的稳定性;

4.供电元件都有一个可靠性,电容又是寿命最短的元件,而系统总体可靠性则是所有元件可靠性的乘积,元件越多则可靠性越低;

5.对于那些搭配低功耗处理器的主板,相数、元件太多只会白白浪费其供电能力,增加平台成本。

走进推时代

WEB2.0 jackxiang 2010-4-23 14:17
(一)

从互联网开始,软件分为了两种:一种是功能软件,一种是社交软件。

功能软件,比如说word、杀毒软件,下载软件,博客,google和百度等都是。

社交软件是电子邮件、bbs、QQ或msn之类的即时通讯软件,最近的就是微博客。

功能软件致力于完成某些具体的任务,如搜索引擎致力于通过机器算法发现信息。

而社交软件致力于人和人的连接。在社交软件里面,人可以做任何事情。

博客很容易被误认为是社交软件,其实,它不是。它只是个免费的出版系统。

而微博客(简称:围脖),也很容易被认为只是博客的缩写版。其实,它不是。

围脖的价值在于:转发。

信息在网络上流动,要依靠两个部分:【1】发现;【2】分享。

发现可以通过人肉,也可以通过机器搜索。这个部分,搜索引擎是强项。

而分享则有所不同:

分享的速度上,取决于两个主要的摩擦力:【1】信息是否私密;【2】是否自动传播。

电邮、QQ/msn都可以是一对一的,也可以是一对多的。但大多信息是私密的。在群体之间,信息一般是不共享的。

因为有太多的判断和附加动作,信息的转发,是需要更多的延迟的。

bbs上的信息是相对公开的,但是其分享的速度也还是有限。

而围脖使信息进入了无摩擦力传播的时代。

围脖有这样的特点:

【1】它短小,非常适合大脑进行扫描式阅读;

【2】信息是公开的,任何人都可以围观;

【3】转发的摩擦更小:一键转发,不用复制、粘帖;

【4】关注的路径一旦设定,信息一来,在路径上的所有人,都可以自动收到。

因此,搜索引擎解决了发现的问题,而围脖解决了如何快速分享的难题。

围脖的经典操作也最简单:一是转发,二是刷屏。
阅读全文
最近发现几个监控用的脚本在连接监控数据库的时候偶尔会连不上,报错:

Couldn't connect to host:3306/tcp: IO::Socket::INET: connect: Cannot assign requested address

查看了一下发现系统中存在大量处于TIME_WAIT状态的tcp端口


$netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'


TIME_WAIT 50013
ESTABLISHED 27
SYN_RECV 1


由于要监控的主机太多,监控的agent可能在短时间内创建大量连接到监控数据库(MySQL)并释放造成的。在网上查阅了一些tcp参数的相关资料,最后通过修改了几个系统内核的tcp参数缓解了该问题:


#vi /etc/sysctl.conf

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

#sysctl -p


其中:
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

修改完成并生效后,系统中处于TIME_WAIT状态的tcp端口数量迅速下降到100左右:


$netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 82
ESTABLISHED 36


简单记录于此,备忘。

本文网址:http://www.ningoo.net/html/2010/linux_tcp_time_wait_issue.html
1. 如何配置Key Cache的大小


#配置文件my.cnf
key_buffer_size=50*1024*1024

另外,Key Cache的大小可以动态的改变

2. 给数据表划分单独的Key Cache

例如:划分一块128K的Key buffer空间,指定数据表t1的Key cache放在里面。最后演示了如何删除这个特定的Key buffer空间。


SET GLOBAL hot_cache.key_buffer_size=128*1024;
CACHE INDEX t1 IN hot_cache;
SET GLOBAL  hot_cache.key_buffer_size=0;

3. 预先载入某些数据表的索引


LOAD INDEX INTO CACHE t1, t2

4. 关于Key Cache的使用情况观察 Flush现象


mysql> show status like "key%";
+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| Key_blocks_not_flushed | 14468    |
| Key_blocks_unused      | 0        |
| Key_blocks_used        | 14497    |
| Key_read_requests      | 30586575 |
| Key_reads              | 157      |
| Key_write_requests     | 7100408  |
| Key_writes             | 1199800  |
+------------------------+----------+
mysql> flush tables;             (注意,请不要在业务高峰期执行)
+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| Key_blocks_not_flushed | 0        |   #所有修改的block都已经被flush了
| Key_blocks_unused      | 0        |
| Key_blocks_used        | 14497    |
| Key_read_requests      | 38333936 |
| Key_reads              | 207      |
| Key_write_requests     | 8819898  |
| Key_writes             | 1255245  |
+------------------------+----------+

5. 需要注意的事项

内存中缓存的索引块(Key Cache),有时候并不会及时刷新到磁盘上,所以对于正在运行的数据表的索引文件(MYI)一般都是不完整的。如果此时拷贝或者移动这些索引文件。多半会出现索引文件损坏的情况。

可以通过Flush table命令来将Key Cache中的block都flush到磁盘上。所以,一般要动态移动MyISAM表需要执行以下步骤:

首先,刷新数据表,并锁住数据表:(注意,请不要在业务高峰期执行)


FLUSH TABLES WITH READ LOCK;

可以通过下面的命令来查看没有被Flush的索引块数量


mysql> show status like "Key_blocks_not_flushed";
+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| Key_blocks_not_flushed | 0        |
+------------------------+----------+

最后,移动对应的文件(MYI MYD FRM)。

让我突然想起:张宴 Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创] 第6版本

http://blog.s135.com/nginx_php_v6/
创建my.cnf配置文件:
vi /data0/mysql/3306/my.cnf

里面就有:


relay-log-index = /data0/mysql/3306/relaylog/relaylog
relay-log-info-file = /data0/mysql/3306/relaylog/relaylog
relay-log = /data0/mysql/3306/relaylog/relaylog
expire_logs_days = 30
key_buffer_size = 256M


256M就是用来配置缓存的,呵呵,果然。
如果开启了cpu的分页功能,则程序里引用到的地址都是虚拟地址(Intel x86架构下也有称这个为线性地址的),这个和物理内存够不够用是没有关系的。


http://rdc.taobao.com/blog/dba/html/329_virtual_memory.html#more-329
“And God said, Let there be network: and there was timeout”
在使用MySQL的过程中,你是否遇到了众多让人百思不得其解的Timeout?
那么这些Timeout之后,到底是代码问题,还是不为人知的匠心独具?
本期Out-man,讲述咱们MySQL DBA自己的Timeout。

先看一下比较常见的Timeout参数和相关解释:

connect_timeout
The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake.
interactive_timeout
The number of seconds the server waits for activity on an interactive connection before closing it.
wait_timeout
The number of seconds the server waits for activity on a noninteractive connection before closing it.
net_read_timeout
The number of seconds to wait for more data from a connection before aborting the read.
net_write_timeout
The number of seconds to wait for a block to be written to a connection before aborting the write.


从以上解释可以看出,connect_timeout在获取连接阶段(authenticate)起作用,interactive_timeout和wait_timeout在连接空闲阶段(sleep)起作用,而net_read_timeout和net_write_timeout则是在连接繁忙阶段(query)起作用。

获取MySQL连接是多次握手的结果,除了用户名和密码的匹配校验外,还有IP->HOST->DNS->IP验证,任何一步都可能因为网络问题导致线程阻塞。为了防止线程浪费在不必要的校验等待上,超过connect_timeout的连接请求将会被拒绝。

即使没有网络问题,也不能允许客户端一直占用连接。对于保持sleep状态超过了wait_timeout(或interactive_timeout,取决于CLIENT_INTERACTIVE标志)的客户端,MySQL会主动断开连接。

即使连接没有处于sleep状态,即客户端忙于计算或者存储数据,MySQL也选择了有条件的等待。在数据包的分发过程中,客户端可能来不及响应(发送、接收、或者处理数据包太慢)。为了保证连接不被浪费在无尽的等待中,MySQL也会选择有条件(net_read_timeout和net_write_timeout)地主动断开连接。

这么多Timeout足以证明MySQL是多么乐于断开连接。而乐于断开连接的背后,主要是为了防止服务端共享资源被某客户端(mysql、mysqldump、页面程序等)一直占用。


作者:陶方 | 【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】
地址:http://rdc.taobao.com/blog/dba/html/433_mysql_timeout_analyze.html


mysqldump是非常重要的MySQL备份工具。然而在长年累月的使用过程中,TAOBAO多次出现了因mysqldump意外终止而导致备份失败的情况。
以下是我们经常遇到的问题:

1、Lost connection to MySQL server at ‘reading initial communication packet’:
这个主要是因为DNS不稳定导致的。如果做了网络隔离,MySQL处于一个相对安全的网络环境,那么开启skip-name-resolve选项将会最大程度避免这个问题。

2、Lost connection to MySQL server at ‘reading authorization packet’:
从MySQL获取一个可用的连接是多次握手的结果。在多次握手的过程中,网络波动会导致握手失败。增加connect_timeout可以解决这个问题;然而增加connect_timeout并不能防止网络故障的发生,反而会引起MySQL线程占用。最好的解决办法是让mysqldump重新发起连接请求。

3、Lost connection to MySQL server during query:
这个问题具备随机性,而淘宝MySQL的应用场景决定了我们无法多次备份数据以便重现问题。
然而我们注意到这个问题一般会在两种情况下会发生。一种是mysqldump **** | gzip ****;另外一种是mysqldump **** > /nfs-file
注意,不管是gzip还是nfs都有一种特点,那就是它们影响了mysqldump的速度。从这个角度思考,是不是mysqldump从MySQL接受数据包的速度不够快导致Lost connection to MySQL server during query错误呢?

为了定位到问题,我搭建了一个测试环境:
test@192.168.0.1:3306
CREATE TABLE `test` (
`id` bigint(20) NOT NULL auto_increment,
`b` varchar(2000) default NULL,
`c` varchar(2000) default NULL,
`d` varchar(2000) default NULL,
`e` varchar(2000) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

insert into test(b,c,d,e) values (lpad(’a',1900,’b'), lpad(’a',1900,’b'), lpad(’a',1900,’b'), lpad(’a',1900,’b'));
多次复制数据使测试环境达到一定数据量。

192.168.0.2:
编写一个c++程序

#include <stdio.h>
#include <mysql.h>

using namespace std;

int main()
{
MYSQL conn;
MYSQL_RES *result;
MYSQL_ROW row;
my_bool reconnect = 0;

mysql_init(&conn);
mysql_options(&conn, MYSQL_OPT_RECONNECT, &reconnect);

if(!mysql_real_connect(&conn, “192.168.0.1″, “test”, “test”, “test”, 3306, NULL, 0))
{
fprintf(stderr, “Failed to connect to database: %s\n”, mysql_error(&conn));
exit(0);
}
else
{
fprintf(stdout, “Success to connect\n”);
}

mysql_query(&conn, “show variables like ‘%timeout%’”);
result = mysql_use_result(&conn);
while(row=mysql_fetch_row(result))
{
fprintf(stdout, “%-10s: %s\n”, row[0], row[1]);
}
mysql_free_result(result);
fprintf(stderr, “\n”);

mysql_query(&conn, “select SQL_NO_CACHE * from test.test”);
result = mysql_use_result(&conn);
while((row=mysql_fetch_row(result))!=NULL)
{
fprintf(stderr, “Error %d: %s\n”, mysql_errno(&conn), mysql_error(&conn));
fprintf(stdout, “%s\n”, row[0]);
sleep(100);
}
fprintf(stderr, “Error %d: %s\n”, mysql_errno(&conn), mysql_error(&conn));
mysql_free_result(result);
mysql_close(&conn);
return 1;
}


在这段代码里,sleep函数用来模拟NFS的网络延迟和gzip的运算时间。执行一段时间之后,Lost connection to MySQL server during query出现了,程序意外终止。在数据处理足够快的情况下,又会是怎样的结果?

将sleep的时间改为1,重新编译后发现程序能够完整跑完。根据《MySQL Timeout解析》上对net_write_timeout的解释,我们可以发现,mysqldump处理数据过慢(NFS、gzip引起)会导致MySQL主动断开连接,此时mysqldump就会报Lost connection to MySQL server during query错误。经过多次测试,确定这个错误是由于net_write_timeout设置过短引起。


作者:陶方 | 【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】
地址:http://rdc.taobao.com/blog/dba/html/435_mysqldump_error.html
    构思是include两个php程序,一个renderheader.php,一个renderfooter.php.分别在页面的开头和结尾include这两个文件,就可以无缝的整合profiling到现有的程序当中。
     renderheader.php
    


<?php
$time_start = getmicrotime();
$filename="logs3/".date("Y-m-d",mktime()).".log";
$scriptName=$_SERVER["SCRIPT_NAME"];
echo $scriptName;
function getmicrotime()
{
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}
function logToFile($filename, $msg,$scriptName)
{
        $fd = fopen($filename, "a") or die ("Can't open file ".$filename);
        // append date/time to message
        $str = "[" . date("Y/m/d h:i:s", mktime()) . "] " ."   ".$scriptName."  ".$msg;

        // write string
        fwrite($fd, $str . "\n");

        // close file
        fclose($fd);
}
?>

   renderfooter.php


<?php
$time_end = getmicrotime();
$msg=($time_end - $time_start)*1000;
logToFile($filename,$msg,$scriptName);

printf ("page render time: %.2fms\n\n",($time_end - $time_start)*1000);

?>

   renderbody.php


<?php
include("renderheader.php");
for ($i=1;$i<=10000;$i++)
{
echo "hello wade"."</br>";
}
include("renderfooter.php");
?>


   本系列的文章暂时告一段落,希望对爱好php的朋友有所帮助。阅读全文
    今天在研究ob_start()的时候发现它的参数中有个callback,也就是回调函数。已前没有接触过,立即google。发现有好多文章介绍此函数的,但是大多数都介绍的很不清楚(也许本人水平太低,看不懂),最后貌似理解了。下边就我的理解介绍一下什么是callback function.
       使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。也就是可以讲回调函数作为另外一个函数的参数,然后利用回调函数完成一些操做。
        下边就拿ob_start()来做一个例子,开始贴代码

<?php

function callback($buffer)
{
  // replace all the apples with oranges
  return (str_replace("apples", "oranges", $buffer));
}
//ob_start will out put content to a internal buffer
ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php
//will clean internal buffer
//ob_end_clean();
//will out the internal buffer's content.
ob_end_flush();

?>



ob_start() 会回调callback这个方法,对buffer中的内容进行修改。

来源:http://blog.sina.com.cn/s/blog_4d8a2c970100ewb3.html
我生产环境下的两台Nginx + PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,从Nginx的日志可以统计出,单台Nginx + PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”,相当于每天可以承受6000万(700*60*60*24=60480000)的访问量:

  服务器①:DELL PowerEdge 1950(两颗 Intel(R) Xeon(R) 双核CPU 5120 @ 1.86GHz,4GB内存)

  服务器②:DELL PowerEdge 1950(一颗 Intel(R) Xeon(R) 双核CPU 5140 @ 2.33GHz,4GB内存)

  Web服务器:CentOS Linux 4.4 + Nginx 0.5.35 + PHP 5.2.6RC2(300 FastCGI Procees, unix-domain socket, with XCache)

  PHP程序内容:大量Memcached读写、少量MySQL读操作、大量文件队列写操作,然后计算,生成供<script type="text/javascript" src="http://www.domain.com/abc.php?u=1"></script>方式调用的JS代码或XML数据。

  网卡流量:1.5M~3M/秒

  请求数统计方式:从Nginx访问日志中,统计每分钟的第15秒共有多少条日志记录。
引用
grep "25/Mar/2008:15:01:15" /data1/logs/nginx.log | wc -l


  服务器的系统负载也不算高:



  总结:
  1、Nginx的处理能力超强,这块不是瓶颈。影响动态程序处理能力的因素主要在于PHP(FastCGI)。PHP(FastCGI)模式适用于执行时间较短的PHP程序,一般复杂的PHP程序执行时间应该在100ms以内,例如我的博客首页执行时间为38ms左右。假设一个PHP程序的执行时间为 100ms,那么一个PHP(FastCGI)进程每秒可以处理完毕10个请求,300个FastCGI进程理论上每秒可以处理3000个请求。但是,在生产环境下,还将受到内存、系统负载等多方面的影响,例如300个PHP(FastCGI)进程需要占用2.4GB左右的内存,每秒处理超过1000个请求时,系统负载会飚升到100以上。因此,FastCGI的进程不是越多越好,而是够用就好。

  2、使用PHP的XCache、APC等加速模块会提供速度10倍左右,降低系统负载50倍以上。

  3、修改了spawn-fcgi,使它能够支持250个以上的FastCGI进程。

  4、如果PHP直接对MySQL进行大量读写操作,速度是达不到“700 request/sec”的,PHP与MySQL之间需要一个中间层,这是关键的技术。

  5、CPU的数量(多核算多个CPU,cat /proc/cpuinfo |grep -c processor)越多,系统负载越低,每秒能处理的请求数也越多。

  6、使用PHP 5.2.6RC2,因为它修正了PHP 5.2.5的“zend_mm_heap corrupted”错误BUG。PHP 5.2.5(FastCGI)在高并发请求情况下,经常会出现该错误。

  7、有空我将写一篇针对CentOS Linux环境Nginx + PHP5(FastCGI)安装、配置的最新博文。

来源:
http://blog.csdn.net/scun/archive/2008/03/27/2222233.aspx
不重视细节,如何谈得上成功!

1)程序员每天总结自己一天任务的完成情况
最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多

2)考虑自己明天应该做的主要工作
把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作

3)考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法
出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢

4)考虑自己一天工作完成的质量和效率能否还能提高
一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍

5)看一个有用的新闻网站或读一张有用的报纸,了解业界动态
闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示

6)记住一位同事的名字及其特点
你认识公司的所有同事吗?你了解他们吗?

7)清理自己的代码
今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗?

8)清理自己的桌面
当日事当日毕,保持清洁干劲的桌面才能让你工作时不分心,程序员特别要把电脑的桌面清理干净
4月21日全国哀悼日,将去除网站全站所有站点色彩(变灰),悼念遇难同胞,愿死者安息。

  金山逍遥网旗下站点众多,虽然官网都有统一的页头、页尾,但是,还有一部分站点(例如用户中心、注册充值页面、游戏客户端内嵌网站、活动专题页等)页头、页尾不相同。但是,所有站点采用的都是Nginx服务器,95%以上的站点都经过Nginx负载均衡服务器,因此只需要在Nginx负载均衡服务器上,利用sub_filter指令在输出的HTML中增加一行:


<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style>


就可以实现在IE及IE内核浏览器下,所有网站变灰色。步骤如下:

  1、重新编译Nginx,增加http_sub_module模块:

wget http://nginx.org/download/nginx-0.8.35.tar.gz
tar zxvf nginx-0.8.35.tar.gz
cd nginx-0.8.35
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module
make && make install
pkill -9 nginx
/usr/local/webserver/nginx/sbin/nginx


2、在nginx.conf配置文件的http {...}大括号内增加以下两行:

sub_filter  '</head>'  '<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style></head>';
sub_filter_once on;


 保存后,重新加载配置文件:


/usr/local/webserver/nginx/sbin/nginx -t
/usr/local/webserver/nginx/sbin/nginx -s reload


3、如果某些带有Flash的页面仍显示彩色,或浏览器上下滚动条拖动时Flash FLV播放器变花(例如剑网3、剑侠世界官网分流页),将Flash改为JS输出(本例为SWFObject):


<script type="text/javascript" src="http://v.xoyo.com/site/v.xoyo.com/web/js/swf.js"></script>
<div id="video_content"></div>
<script type="text/javascript">
<!--
    var video_player_so = new SWFObject("http://api.v.xoyo.com/external/player.swf?autostart=true&config=http://api.v.xoyo.com/external/video-542.swf", "sotester", "439", "246", "7");
    video_player_so.addParam("wmode", "opaque");
    video_player_so.addParam("allowfullscreen","true");
    video_player_so.addParam("allowscriptaccess","always");
    video_player_so.write("video_content");
//-->
</script>


这样,整个页面,包括Flash播放器中的视频就都变灰色了。
来源于回忆未来的博客:http://blog.s135.com/post/441/#entrymore
SNS网站同学网今日对外宣布,正式任命颜莹为同学网CEO,原同学网CEO朱明华因个人原因离职。颜莹曾就职于Tano Capital中国基金,该基金也是同学网的投资方。




  根据同学网的官方公告,同学网董事会认为颜莹有丰富的大型团队管理经验,不仅是互联网投资领域的专家,对移动社交网络等方面也有深入理解。公告表示,同学网原CEO朱华明因个人原因离职,寻求其他发展机会。




  不过这一变动被业内人士解读为创业团队与投资方意见不合、创始人被迫离职的又一案例。同学网并未对此做出回应,朱华明在与新浪科技连线中确认离职,但不方面对此事做出评论,而未来计划暂不方便透露,而是将先休息一段事件。




  同学网(Tongxue.com)的前身是花名册(FaceRen.com),2007年3月由在美留学的郭磊与朱华明将其带入中国市场,希望建立一个在同学关系基础上的国际化互动社区。今年2月同学网宣布获得来自Tano China Private Equity Fund I(TCPEFI)等多家风险投资商600万美元的投资。




  新任CEO颜莹接受新浪连线时认为,同学网已经成长为业内不可忽视的力量,"我已经做好准备,并且深信我有能力将同学网带入一个新的发展阶段。"




  同学网官方资料显示,颜莹拥有美国加州大学伯克利分校公共政策硕士(MPP)、美国杜克大学工商管理硕士(MBA)。曾任职于中国人民共和国外交部,IDG创业投资基金,Tano Capital中国基金。

让我来告诉你,目前最好的SNS程序是Dolphin Smart Community Builder,这个程序由BoonEx开发,BoonEx拥有9年的社区程序开发经验,是SNS程序的鼻祖。

自Dolphin 7开发以来,致力于移动社区的研发,现已经开发出适应于苹果手机的应用软件。未来将支持Google Android操作系统、symbian操作系统、以及Winodws Phone操作系统。BoonEx的社区程序搭建的网站无疑是设计最全面、功能最强大的社区。

我们来详细介绍Dolphind的几大功能:

Dolphin 7已经为我们开发了35个模块,准确的说34个对您有用,Facebook connect是连接FaceBook API的登录方式,用户可以通过在FaceBook注册的帐户直接登录您的社区。遗憾的是这个网站已经不能在中国大陆访问。

小编近日测试了还在翻译中的Dolphin 7中文版,通过访问演示站点,让我眼前一亮的UI程序界面,无疑超过了目前所有的中国产品,让我们不禁感叹BoonEx有深厚美工功底。程序安装非常顺利,我在这就不详细介绍如何安装的问题了。在我们删除了install安装文件后,即刻进入了程序前台。在Dolphin 7里我们看到了一个重大的不同,在程序最底端出现了一个类似Windows任务栏的东西,这是非常人性化的设计,可以迅速进入自己的信箱收发站内邮件,浏览购物车内为付款的商品,查看最近浏览你页面的会员,查看在线的好友,切换默认语系,已经进入功能的快捷方式。Dolphin 7可以在线录制您的视频与好友分享,或者上传电脑里的视频文件,通过分享一键与站外好友通过Email分享。Dolphin 7的功能非常全面,为我们提供诸多应用。阅读全文
每台计算机都有一个字长,指明整数与指针的标称大小,因为虚拟地址是以这样的字来编码的,所以字长决定了最重要的系统参数就是虚拟地址空间的最大大小。也就是说最大值为2的32次方-1,即为4G!

使32位Linux支持4G以上内存的设置,主要需要2个方面设置
1.bios:在bios里开启对大内存的设置
2.安装支持大内存的kernel

Centos5上安装方法

centos 5.0 默认安装 for i386的内核不支持 4g+的内存
需要安装上kernel-hugemem
yum install kernel-hugemem
结果发现 centos 下面 没有 kernel-hugemem这个rpm包了

已经改名为kernel-PAE
尝试用yum安装
yum install kernel-PAE

安装好后 还需要手工修改 引导
vi /boot/grub/grub.conf

如果看到如下代码 代表PAE内核已经安装好了
title CentOS (2.6.18-8.1.4.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.1.4.el5PAE ro root=LABEL=/
initrd /initrd-2.6.18-8.1.4.el5PAE.img
修改设置为默认启动
default=0

RHEL5安装方法
如果是RHEL5的系统就可从安装过Kernel-PAE的Centos上复制过来路径如下/var/cache/yum/update/packages/kernel-PAE-2.6.18-53.1.21.el5.i686.rpm
使用scp kernel-PAE-2.6.18-53.1.21.el5.i686.rpm root@192.168.168.164:/opt
这样将该文件复制到RHEL5上,然后rpm –Uvh kernel-PAE-2.6.18-53.1.21.el5.i686.rpm
就可以安装好该包,然后修改下/etc/grub.conf将Default改成0就可以了

PAE 的一些说明

http://zh.wikipedia.org/wiki/%E7%89%A9%E7%90%86%E5%9C%B0%E5%9D%80%E6%89%A9%E5%B1%95
分页: 167/272 第一页 上页 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 下页 最后页 [ 显示模式: 摘要 | 列表 ]