小编sol*_*wzs的帖子

可以使用多少内存

我阅读了文档Understanding Virtual Memory,它说在Linux VM中更改可调参数的一种方法是命令:

sysctl -w vm.max_map_count=65535
Run Code Online (Sandbox Code Playgroud)

我想知道数字65535的含义以及设置可以使用多少内存.

linux-kernel

53
推荐指数
3
解决办法
7万
查看次数

如何在drupal 7中实现hook_theme?

我创建了一个新的drupal 7主题并试图在template.php上实现hook_theme,如下所示:

function mytheme_theme($existing, $type, $theme, $path){
    return array(
        'mytheme_header'=>array(
            'template'=>'header',
            'path'=>$path.'/templates',
            'type'=>'theme',
        ),
    );
}
Run Code Online (Sandbox Code Playgroud)

然后我将header.tpl.php放入模板目录并清除所有缓存,并调用主题函数:

theme('mytheme_header', $vars);
Run Code Online (Sandbox Code Playgroud)

和header.tpl.php赞了这个:

<?php
fb('calling header template');//the function of FirePHP to output debug info
print '<div>Header</div>';
//...
Run Code Online (Sandbox Code Playgroud)

我检查Firebug,它获取信息'调用标题模板',这意味着它已调用header.tpl.php,但它没有打印html代码.我的代码出了什么问题?

php drupal drupal-7 drupal-theming

11
推荐指数
1
解决办法
2万
查看次数

在javascript将整数数组转换为字符串

这是PHP代码:

$arr=array(228,184,173,230,150,135,99,104,105,110,101,115,101);
$str='';
foreach ($arr as $i){
    $str.=chr($i);
}
print $str;
Run Code Online (Sandbox Code Playgroud)

输出是: ??chinese

这是javascript代码:

var arr=[228,184,173,230,150,135,99,104,105,110,101,115,101];
var str='';
for (i in arr){
    str+=String.fromCharCode(arr[i]);
}
console.log(str);
Run Code Online (Sandbox Code Playgroud)

输出是: 中æchinese

那么我应该如何在javascript处理数组?

javascript utf-8

8
推荐指数
2
解决办法
2万
查看次数

编译器是否会通过将循环中的条件语句移动来优化循环中的条件语句?

这是C代码:

struct node{
    void *value;
    struct node *next;
};

void g(void *p){
    /*...*/
}

void f(struct node *head, const int ok){
    struct node *p=head;

    while (p){
        /* ...
           code 1 
           ...
         */
        if (ok!=0){
            g(p->value);
        }
        p=p->next;
    }
}
Run Code Online (Sandbox Code Playgroud)

我用gcc来编译这段代码.如果我编译-O,它会优化这样的功能f:

void f(struct node *head, const int ok){
    struct node *p=head;

    if (ok!=0){
        while (p){
            /* ...
               code 1 
               ...
             */
            g(p->value);
            p=p->next;
        }
    }
    else{
        while (p){
            /* ...
               code 1 
               ...
             */
            p=p->next;
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c optimization gcc

8
推荐指数
1
解决办法
1905
查看次数

为什么MySQL插入比JDBC慢?

+-----------+--------------+------+-----+-------------------+----------------+
| Field     | Type         | Null | Key | Default           | Extra          |
+-----------+--------------+------+-----+-------------------+----------------+
| id        | int(11)      | NO   | PRI | NULL              | auto_increment |
| name      | varchar(32)  | NO   |     | NULL              |                |
| pid       | varchar(32)  | NO   |     | NULL              |                |
+-----------+--------------+------+-----+-------------------+----------------+

步骤:测试

begin
  set @i=0;
  while @i<200 do
    insert into test.table_test
      (name, pid) values ('1', '1');
    set @i=@i+1;
  end while;
end
Run Code Online (Sandbox Code Playgroud)

跑:

mysql> call test();
Query OK, 0 rows …
Run Code Online (Sandbox Code Playgroud)

mysql jdbc

6
推荐指数
1
解决办法
1261
查看次数

Mysql错误代码1293的原因是什么

这是mysql错误1293的消息:

SQL错误(1293):表定义不正确; 在DEFAULT或ON UPDATE子句中只能有一个TIMESTAMP列和CURRENT_TIMESTAMP

mysql的原因是什么只允许一个TIMESTAMP列在每个表的DEFAULT或ON UPDATE子句中使用CURRENT_TIMESTAMP.

mysql

5
推荐指数
1
解决办法
2万
查看次数

关于 FIFO 和文件描述符的问题

我写了一个这样的脚本:

N=5
FIFO=/tmp/$$.fifo
mkfifo $FIFO

loop(){
    for i in $(seq 1 $N); do
        read tmp < $FIFO
        echo "$i out"
    done
}

loop &
LOOP_PID=$!
for i in $(seq 1 $N); do
    echo $i > $FIFO
    echo "$i in"
done
wait $LOOP_PID
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,它停止wait $LOOP_PID并且无法继续。

所以我用文件描述符修改脚本:

N=5
FIFO=/tmp/$$.fifo
mkfifo $FIFO
exec 3<>$FIFO

loop(){
    for i in $(seq 1 $N); do
        read -u3 tmp
        echo "$i out"
    done
}

loop &
LOOP_PID=$!
for i in $(seq 1 $N); do
    echo …
Run Code Online (Sandbox Code Playgroud)

bash fifo

5
推荐指数
1
解决办法
1237
查看次数

Linux中的I/O性能

文件A在一个目录中有10000个文件,文件B在一个目录中有10个文件,读/写文件A比文件B慢吗?是否会受到不同日记文件系统的影响?

linux io file

4
推荐指数
1
解决办法
196
查看次数

为什么mongodb的成员一直在恢复?

我建立了一个包含三个成员的副本集,其中一个是仲裁者。

有一次我重启了一个成员,这个成员保持了很长时间的RECOVERING并且没有再次成为SECONDARY,即使数据库不大。

副本集的状态是这样的:

rs:PRIMARY> rs.status()
{
        "set" : "rs",
        "date" : ISODate("2013-01-17T02:08:57Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 1,
                        "name" : "192.168.1.52:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 67968,
                        "optime" : Timestamp(1358388479000, 1),
                        "optimeDate" : ISODate("2013-01-17T02:07:59Z"),
                        "self" : true
                },
                {
                        "_id" : 2,
                        "name" : "192.168.1.50:29017",
                        "health" : 1,
                        "state" : 7,
                        "stateStr" : "ARBITER",
                        "uptime" : 107,
                        "lastHeartbeat" : ISODate("2013-01-17T02:08:56Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 3,
                        "name" : …
Run Code Online (Sandbox Code Playgroud)

database mongodb

3
推荐指数
1
解决办法
1万
查看次数

为什么strcmp的回报不同?

这是C代码,我用gcc编译

char *a="a";
char *d="d";
printf("%d\n", strcmp("a", "d"));
printf("%d\n", strcmp(a, "d"));
printf("%d\n", strcmp(a, d));
Run Code Online (Sandbox Code Playgroud)

当我用-O输出编译时

-1
-3
-1
Run Code Online (Sandbox Code Playgroud)

当我编译没有-O那么输出是

-1
-3
-3
Run Code Online (Sandbox Code Playgroud)

为什么输出不同,代码是strcmp什么?

c strcmp

3
推荐指数
1
解决办法
948
查看次数