小编Jer*_*oen的帖子

HTTP状态码重试相同的请求

是否有HTTP状态代码来指示客户端再次执行相同的请求?

我面临的情况是服务器必须"等待"锁定在处理请求时消失.但是当锁消失时,请求可能接近其超时限制.因此,一旦锁定清除,我想指示客户端再次执行相同的请求.

我提出的最好的是到相同位置的HTTP 307,但我担心一些浏览器可能不会购买(重定向循环检测).

rest redirect http http-status-codes

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

在bash中检测公共IP地址的方法

作为安装脚本的一部分,我想对机器的公共 IP地址进行"有根据的猜测" .它应该尽可能健壮,适用于各种主机和平台.这是一个例子:

https://gist.github.com/4669037

此脚本使用3种方法,然后默认为值/etc/hostname.到目前为止我只在Ubuntu上测试了这个.这可能适用于其他发行版吗?还有其他方法可以添加吗?

linux bash shell ubuntu centos

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

如何测试对象是否为向量

如何测试对象是否是一个载体,即模式logical,numeric,complexcharacter?问题is.vector是它也返回TRUE列表和其他类型:

> is.vector(list())
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

我想知道它是否是原始类型的向量.是否有本机方法,或者我必须通过存储模式?

r vector object

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

将语言环境设置为系统默认UTF-8

在rApache中运行R时,语言环境是从Apache Web服务器继承的,因此Sys.getlocale()始终等于"C".我想使用我的Web应用程序UTF8,所以我使用:

Sys.setlocale("LC_ALL", 'en_US.UTF-8')
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于没有此区域设置的计算机:

1: Setting LC_CTYPE failed, using "C" 
2: Setting LC_COLLATE failed, using "C" 
3: Setting LC_TIME failed, using "C" 
4: Setting LC_MESSAGES failed, using "C" 
5: Setting LC_MONETARY failed, using “C”
Run Code Online (Sandbox Code Playgroud)

有没有办法Sys.setlocale将语言环境设置为系统默认值UTF-8?即在Windows或德语Linux上也可以使用的东西?

locale r utf-8 rapache

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

在R包中使用静态(预建)PDF小插图

从R 3.0开始,在CRAN包中包含静态PDF文件作为"晕影"的正确方法是什么?

本文档中描述的使用空存根的技巧Rnw似乎在R 3.0中不起作用.该文档表明现在有一种更好的方法,\VignetteEngine{}但是对于静态PDF文件这是如何工作还不是很清楚.

r cran

22
推荐指数
2
解决办法
2035
查看次数

将bash`ls`输出转换为json数组

是否可以使用bash脚本格式化lsjson数组的输出?要成为有效的json,dirs和文件的所有名称都需要用双引号括起来,用逗号分隔,整个东西需要用方括号括起来.即转换:

jeroen@jeroen-ubuntu:~/Desktop$ ls
foo.txt bar baz
Run Code Online (Sandbox Code Playgroud)

[ "foo.txt", "bar", "baz" ]
Run Code Online (Sandbox Code Playgroud)

编辑:我非常喜欢能在所有Linux服务器上运行的东西; 因此,不是依赖于python,而是拥有纯粹的bash解决方案.

linux bash ubuntu json sh

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

从数组中采样随机子集

什么是采用随机样本的简洁方法,而无需在javascript中替换数组?所以假设有一个数组

x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
Run Code Online (Sandbox Code Playgroud)

我想随机抽取5个独特的值; 即生成长度为5的随机子集.要生成一个随机样本,可以执行以下操作:

x[Math.floor(Math.random()*x.length)];
Run Code Online (Sandbox Code Playgroud)

但如果这样做多次,则存在多次抓取相同条目的风险.

javascript arrays random numerical-methods

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

如何启动docker容器作为服务器

我想运行一个托管一个简单的Web应用程序的docker容器,但是我不明白如何设计/运行图像作为服务器.例如:

docker run -d -p 80:80 ubuntu:14.04 /bin/bash
Run Code Online (Sandbox Code Playgroud)

这将启动并立即关闭容器.相反,我们可以以交互方式启动它:

docker run -i -p 80:80 ubuntu:14.04 /bin/bash
Run Code Online (Sandbox Code Playgroud)

这有效,但现在我必须为每个正在运行的容器打开交互式shell吗?我宁愿启动它并让它在后台运行.黑客将使用永不返回的命令:

docker run -d -p 80:80 {image} tail -F /var/log/kern.log
Run Code Online (Sandbox Code Playgroud)

但是现在我再也无法连接到shell,以检查应用程序正在执行的操作.

有没有办法在后台启动容器(就像我们为vm所做的那样),允许从主机附加/分离shell?还是我完全忽略了这一点?

linux ubuntu lxc docker

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

如何安装和管理许多版本的R包

我正在用R开发一个可重复计算的框架.我正在努力解决的一个问题是一些R代码可能在一个包的版本XY-Z中完美运行,但是为什么你试图在3年后重现它,包更新,一些功能被更改,代码不再运行.此问题也会影响使用包的Sweave文档.

自信地重现结果的唯一方法是安装原始作者使用的R版本和软件包版本.如果这是一个案例,可以从CRAN档案中提取内容并安装适当的版本.但对于我的框架,这是不切实际的,我需要预先安装软件包版本.

现在假设我将自己限制为单个版本的R,例如2.14.安装许多版本的R软件包的实用方法是什么,以便我可以动态加载它们?我想我可以为每个包的每个版本创建单独的库目录,然后在加载它们时使用自定义lib.loc参数.但这会很混乱.任何提示或以前的尝试做类似的事情?

我的框架在Ubuntu服务器上运行.

ubuntu r cran

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

CRAN包的安全问题

[编辑:2013年6月]一篇论文已经出现在ArXiv上,更详细地描述了这个问题,并提出了一些解决方案: http: //arxiv.org/abs/1303.4808.它将于2013年晚些时候出现在Journal of Statistical Software中.

我在我的Ubuntu服务器上有一个cronjob,可以从CRAN下载并安装每个源包.但是在同一台服务器上我开始注意到一些不规则的活动.它可能完全不相关,但它让我想到是否有可能某些CRAN包含有恶意代码.

创建和发布曲文包的过程非常简单.也许有点太容易了.您将包上传到FTP,Kurt将进行检查并发布.随着每天上传的R包的数量,可以合理地假设没有对包进行广泛的审计.此外,没有使用私钥签署包,就像大多数发行包一样.甚至描述中的电子邮件地址也很少得到验证.

现在,在编译时或运行时包含一些安装rootkit的代码并不是很难.编译时间可能更容易受到攻击,因为我使用sudo安装我的软件包,我可能应该停止这样做.但是在运行时也可以做很多事情.Linux内核最近有几个安全漏洞,我已经证实自己在一个完全最新的系统上通过权限升级漏洞获取root非常容易.由于R通常具有互联网访问权限,恶意代码甚至不必包含在包中,只需使用wget或download.file()从某处下载即可.

那就是说R用户是否考虑过这个?或者,您的理念主要是您应该只从您信任的人那里下载包裹?仍然没有签署不太可靠的包裹.什么是更安全的方法来安装曲线包?我已经考虑过类似于单独的机器来构建包然后复制二进制文件,并且总是在沙箱中运行R. 虽然这有点麻烦.

r cran

20
推荐指数
0
解决办法
3810
查看次数