小编pha*_*zei的帖子

如何在boot2docker上安装nano

我在Windows中运行boot2docker VM,需要修改VM中的init脚本.目前我唯一的选择是VI,这很痛苦.我只想使用nano,但它不可用.

它正在运行:

docker@boot2docker:/c$ uname -a
Linux boot2docker 3.18.5-tinycore64 #1 SMP Sun Feb 1 06:02:30 UTC 2015 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

没有apt-get或任何包管理器.我怎样才能添加nano以便我可以轻松编辑文件?

编辑:

@ John-Petrone的答案有效,但安装完成后,运行nano会出错:

Error opening terminal: cygwin.
Run Code Online (Sandbox Code Playgroud)

如果其他人有这个问题,问题是$ TERM被设置为cygwin.不知道为什么.我只是:

TERM=xterm-color
Run Code Online (Sandbox Code Playgroud)

纳米工作!(如果设置为/ usr/share/terminfo/x中的任何其他可用术语,则显示出时髦字符)

nano docker boot2docker

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

boot2docker启动脚本,用于在主机上挂载本地共享文件夹

我在Win7上运行boot2docker 1.3.

我想连接一个共享文件夹.

在图像属性 - >共享文件夹下的VirtualBox Manager中,我添加了我想要的文件夹,并将其命名为"c/shared".检查"自动安装"和"永久"框.

当boot2docker启动时,它不会挂载.我还要做一个额外的事情:

sudo mount -t vboxsf c/shared /c/shared
Run Code Online (Sandbox Code Playgroud)

它出现了.因为我每次都需要使用docker,所以我希望它只是在启动时运行,或者只是已经在那里.所以我想如果有一些我可以添加的启动脚本,但我似乎无法找到它的位置.

谢谢

编辑:我大吼大叫这是在Mac上重复Boot2Docker - 访问本地文件这是一个不同的问题.我想安装一个不是默认文件夹的文件夹,例如OSX上的/ User或Windows上的/ c/Users.我特意要求启动脚本.

windows docker boot2docker

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

Windows上的boot2docker缺少apt-get/package manager

我在boot2docker.我不完全确定我完全理解它,但似乎需要我正在进行的项目.

我已经ssh'd,我试图在我们的项目上做一个make,但我得到了

make: not found
Run Code Online (Sandbox Code Playgroud)

然后我试了一下:

apt-get install make
Run Code Online (Sandbox Code Playgroud)

得到了

apt-get: not found
Run Code Online (Sandbox Code Playgroud)

尝试谷歌搜索,但无法找到任何关于这一点,或任何包经理.

有关如何在boot2docker中安装任何内容的任何建议?

编辑:当我问这个时,我误解了boot2docker和docker是如何协同工作的.实际上有一个允许安装软件包的软件包管理器(tce-load),但实际上,它不应该被使用,任何涉及使用docker的项目的东西都应该在boot2docker中使用一个docker容器,里面有构建工具.虽然我确实发现了tce-load有用的安装nano,因为我不是vi的粉丝,而且这个很有用.

windows apt-get docker boot2docker

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

使用闭包在循环中创建的javascript计时器或间隔

我正在使用jQuery在几个元素上设置定时器或间隔循环,以便每隔几秒检查一次.我已经尝试设置一个计时器并检查我是否应该重新启动它,或者设置和间隔并检查是否应该停止它.

虽然简化了,但基本上我需要的是:

var mytimers = new Array();
$('div.items').each(function() {
    myID = $(this).attr('id');
    mytimers[myID] = setInterval( function() { myFunction(myID) } , 3000)
});
function myFunction(param) {
    alert(param);
    if (something()) {
        clearInterval(mytimers[param]);
    }
}
Run Code Online (Sandbox Code Playgroud)

类项目的ID是id_1,id_2,id_3.但我只得到3个提醒id_3.在我的代码中,我开始尝试传递'this',但一直在简化它以找出问题.

我怎样才能让它每次都将变量复制到一个新地址?我知道我需要使用闭包.它似乎是在引用其他var var mater是什么.

我尝试将它简化为一个带有定时器的循环:

function tester(item) {
    return function() {
        alert(item);
    };
}
for(x=1;x<=3;x++) {
    setTimeout( '(function() { tester(x) })(x)' , 3000);
}
Run Code Online (Sandbox Code Playgroud)

但我认为我只是让我的问题变得更糟,而且似乎没有做任何事情.

我已经搜索过以前的问题,但大多数都填充了大量的额外代码,而不是削减特定的问题,并以其他方式解决.通过让这个例子有效,我想了解这是如何工作的.在写这篇文章的过程中,我确实设法了解我可以通过帮助功能来启动计时器.

function tester(item)
    alert(item);
function myTimer(item)
    setInterval( function() { tester(item); }, 3000);
for(x=1;x<=3;x++)
    myTimer(item);
Run Code Online (Sandbox Code Playgroud)

没有这个怎么办呢?有更好的方法吗?

javascript closures loops timer setinterval

9
推荐指数
1
解决办法
2288
查看次数

使用正则表达式跳过所有字符,直到找到使用负向前瞻的特定字母序列

我对基本的正则表达式很好,但是我在pos/neg的前方/后方有点迷失.

我正试图从中提取id#:

[keyword stuff=otherstuff id=123 morestuff=stuff]

之前或之后可能会有无限量的"东西".我一直在使用The Regex Coach来帮助调试我尝试过的东西,但我不再向前推进......

到目前为止我有这个:

\[keyword (?:id=([0-9]+))?[^\]]*\]
Run Code Online (Sandbox Code Playgroud)

这会在id之后处理任何额外的属性,但我无法弄清楚如何忽略关键字和id之间的所有内容.我知道我不能去,[^id]* 我相信我需要使用像这样的负面预测,(?!id)*但我想因为它是零宽度,它不会从那里向前移动.这也不起作用:

\[keyword[A-z0-9 =]*(?!id)(?:id=([0-9]+))?[^\]]*\]
Run Code Online (Sandbox Code Playgroud)

我一直在寻找各种例子,但没有找到任何例子.或者也许我有,但他们走到了我的脑海,我甚至没有意识到他们是什么.

救命!谢谢.

编辑:它必须匹配[keyword stuff = otherstuff],其中id =根本不存在,所以我必须在id#group上有1或0.还有其他[otherkeywords id = 32]我不想匹配.该文档需要使用preg_match_all在整个文档中匹配多个[keyword id = 3].

php regex negative-lookahead

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

如何故意造成"致命错误:允许的内存大小xxx字节耗尽"

每当我收到此错误时,我只是增加了内存来修复它.我有一个案例,为了测试目的,我想让一个页面耗尽所有内存但是我设置了memory_limit.

我不知道该怎么做.

编辑:我试过这个:

<?php
echo "start";
@ini_set('memory_limit', '1M');
$test = "a";
while (1) {
    $test = "a" + $test;    
}
echo "done";
?>
Run Code Online (Sandbox Code Playgroud)

但它没有崩溃.最后它只是打印了"startstart",奇怪的是它被打印了两次......

我想要一个简单的代码示例,"把很多东西放在内存中"......我知道的很多.

php memory overflow

6
推荐指数
3
解决办法
4556
查看次数

失败后继续承诺

我有一个承诺可能会失败的情况,但我希望能够处理它,并继续下一个.我试图从失败的catch中返回一个成功的promise,但是它给出了一个没有方法设置的返回对象的错误.这可能吗?我该怎么办呢?

Parse.Promise.as(1).then(function() {

    if (user.get('vendor')) {
        //fetch returns a promise
        return user.get('vendor').fetch();
    }
    return new Vendor();

}).fail(function() {
    //this will be called if the fetch fails, in that case, just return new Vendor();
    return Parse.Promise.as(function() {
        //this will be a valid promise so should hopefully return to the next then, but it doesn't work
        return new Vendor();
    });
}).then(function(result) {
    vendor = result;
    //continue with stuff
}).fail(function(error) {
    res.json(400, {
        "result": false,
        "error": error
    });
});
Run Code Online (Sandbox Code Playgroud)

编辑:

我尝试将其更改为:

Parse.Promise.as(1).then(function() { …
Run Code Online (Sandbox Code Playgroud)

node.js promise parse-platform

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

Windows 中的 docker exec bash - 键盘箭头键不起作用

我一直都在用boot2docker ssh,我会跑

    docker exec -it container bash
Run Code Online (Sandbox Code Playgroud)

它会正常工作。

现在我正在使用新的 Windows 客户端,虽然docker exec -it container bash会让我进入 bash 提示,如果我输入,从那里开始,左/右/上/下/home/end/page up/page down 将不起作用。不确定它的配置中缺少哪些窗口以无法正确使用这些键。

有什么建议?

windows keyboard bash docker boot2docker

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

如何在没有内容长度的PHP中发送数据?

我知道这是可能的,但我似乎无法弄明白.

我有一个mySQL查询,有几十万个结果.我希望能够发送结果,但似乎响应需要内容长度标头才能开始下载.

在phpMyAdmin中,如果你去导出一个数据库,它立即开始下载,FF只是说未知的文件大小,但它的工作原理.我查看了那段代码,但无法理解.

救命?

谢谢.

php mysql header

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

我在哪里加载要在 FormView 中显示的对象?

我正在使用 Django FormView。我一直在寻找,但如果提供 PK,我找不到如何加载对象的示例。

目前我只是将 form_class 设置为 ModelView 表单。如果没有给出 pk,我想使用此视图加载一个空对象,或者如果通过 url 提供了 pk,则使用特定对象加载表单。

我不知道是否需要在 get_form_kwargs 或 get_form 或其他地方加载它。我真的很喜欢关于如何做到这一点的教程。我不想使用 CreateView 或 UpdateView,只想使用 FormView。

任何人都可以指出我正确的方向吗?

django formview django-forms django-1.4

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