小编mis*_*t92的帖子

如何用shell在rc.local中添加一行

我正在研究Ubuntu 12.04并编写环境自动构建shell.在shell中我需要在rc.local中更改一些内容.

这是我现在的rc.local.

#!/bin/sh -e
#......

exit 0
Run Code Online (Sandbox Code Playgroud)

我想像这样修改它:

#!/bin/sh -e
#......

nohup sh /bocommjava/socket.sh &

exit 0
Run Code Online (Sandbox Code Playgroud)

现在我使用nano来修改它,有没有可以行插入rc.local的命令

linux ubuntu automation rc

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

在成员函数回调中获取对象

我有一个带有方法的对象,我想将其作为回调传递给函数.但是,在回调内部,this不再引用我的对象.为什么不?

我很熟悉在传递函数文字时使用变量来解决问题:

var obj = {
    a: function () {
        var me = this;

        console.log(this);

        setTimeout(function () {
            console.log(this); // Not obj
            console.log(me);   // This works!
        }, 100);
    }
};
Run Code Online (Sandbox Code Playgroud)

在这种情况下我该如何解决?

var obj = {
    b: function () {
        setTimeout(this.callback, 100);
    },
    callback: function () {
        console.log(this); // =(
    }
};
Run Code Online (Sandbox Code Playgroud)

javascript callback

7
推荐指数
1
解决办法
5299
查看次数

array_walk_recursive 与数组?

我有一个菜单数组,它是一个多维数组,我想对每个项目做一些事情,所以我尝试了 array_walk_recursive。这是菜单:

$menu = array(
    array(
        'name'=>'a',
        'url'=>'b',
    ),
    array(
        'name'=>'c',
        'url'=>'d',
        'children'=>array(
            array(
                'name'=>'e',
                'url'=>'f'
            )
        )
    )
);
Run Code Online (Sandbox Code Playgroud)

但 array_walk_recursive 只让我处理每个元素,而不是数组。

array_walk_recursive($menu, function(&$item){
    var_dump($item);//return a;b;c;d;e;f;g
});
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的:

array_walk_recursive_with_array($menu, function(&$item){
    var_dump($item);//return array('name'=>'a','url'=>'b');a;b;array('name'=>'c',...);c;d;...
    if(is_array($item) && isset($item['name'])){
        // I want to do something with the item.
    }
})
Run Code Online (Sandbox Code Playgroud)

有PHP原生函数实现吗?

php arrays recursion

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

SimpleXmlElement-> addAttribute()不允许空字符串

描述:

像addAttribute("attrname","")之类的调用会导致"PHP警告:SimpleXMLElement :: addAttribute():需要属性名称和值".除警告外,该属性也将被丢弃.

重现代码:

<?php
$xml = new SimpleXmlElement("<img></img>");
$xml->addAttribute("src", "foo");
$xml->addAttribute("alt", "");
echo $xml->asXML()."\n";
?>
Run Code Online (Sandbox Code Playgroud)

预期结果:

<?xml version="1.0"?>
<img src="foo" alt=""/>
Run Code Online (Sandbox Code Playgroud)

实际结果:

PHP Warning:  SimpleXMLElement::addAttribute(): Attribute name and value are required in [...]/test.php on line 4
<?xml version="1.0"?>
<img src="foo"/>
Run Code Online (Sandbox Code Playgroud)

这个问题存在于PHP 5.2.1中,但是在PHP5.3.5中它可以正常工作,但我无法更改我的php版本(出于某种原因).有什么方法可以解决这个问题吗?

php xml simplexml

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

动态添加项目到边框视口

我想首先创建一个空视口(布局:边框),然后添加项目,最后渲染和显示.但是当我创建了viewport元素时,它会抛出一个错误,说:

未捕获的TypeError:无法读取undefined的属性'flex'

这是我的代码:

<script type="text/javascript" src="ext-4.0.2a/bootstrap.js"></script>
<script>
Ext.require(['*']);
Ext.onReady(function() {
    Ext.QuickTips.init();

    var viewport = Ext.create('Ext.container.Viewport', {
        layout: 'border'
    });

    var north = blablabla...
    viewport.add([north,south]);

    viewport.doLayout();
});
</script>
Run Code Online (Sandbox Code Playgroud)

javascript extjs viewport extjs4

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

如何将redis位图(二进制字符串)转换为前导零的二进制数?

我使用redis位图来记录一年中的用户操作,如果用户在一年中的第一天登录,我会将密钥的第一位设置为1. redis值如下:

key:user.18.action(18是用户id)
值:(位图)000100000000000000000000 ...(约365位长)

但当我试图获得价值时,GET user.18.action返回"\x10".

在PHP中,如何将这些字符串转换为该字符串000100000000000000000000...

实际上,我使用下面的代码来实现它,但这样可以吗?并且有更好的解决方案吗?

$bitmap = $this->redis->get('user.18.action');
$binstrlen = strlen($bitmap);
$hex = bin2hex($bitmap);
$str = str_baseconvert($hex, 16, 2);
var_dump(str_pad($str, $binstrlen * 8, '0', STR_PAD_LEFT));

function str_baseconvert($str, $frombase=10, $tobase=36) { 
    $str = trim($str); 
    if (intval($frombase) != 10) { 
        $len = strlen($str); 
        $q = 0; 
        for ($i=0; $i<$len; $i++) { 
            $r = base_convert($str[$i], $frombase, 10); 
            $q = bcadd(bcmul($q, $frombase), $r); 
        } 
    } 
    else $q = $str; 

    if (intval($tobase) != …
Run Code Online (Sandbox Code Playgroud)

php bitmap bitset redis

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

获取 Imagemagick 修剪的偏移量

我正在使用 Imagemagick 修剪一些 png 文件(删除透明边框),我使用以下命令:

convert -debug Coder longyan_1.png -trim longyan_1.trimed.png
Run Code Online (Sandbox Code Playgroud)

然后该工具给了我一个我想要的修剪图像,但我想要有关修剪偏移的更多信息。

在调试信息中我可以看到下面的行:

2014-05-10T14:32:42+08:00 0:04.860 4.840u 6.8.7 Coder convert[49089]: png.c/WriteOnePNGImage/10747/Coder
  Setting up oFFs chunk with x=181, y=118, units=0
Run Code Online (Sandbox Code Playgroud)

“x,y”信息正是我想要的,但是调试信息太多了,无法处理,是否有任何 Imagick 本机 API 或任何其他技巧来获取偏移信息?

bash imagemagick image-processing

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