我分别在端口8006和8007上托管特殊的HTTP和HTTPS服务.我用iptables来"激活"服务器; 即路由传入的HTTP和HTTPS端口:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8006 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8007 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8006
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8007
iptables -A OUTPUT -t …
Run Code Online (Sandbox Code Playgroud) 我正在Github上开发一些私有项目,我想在我的部署服务器上添加夜间cronjobs以从github中提取最新版本.我目前正在通过在每个部署服务器上生成密钥对并将公钥作为"部署密钥"添加到github项目来实现此目的.
但是,我最近发现这些部署密钥确实具有对项目的写访问权.因此,每个服务器管理员都可能开始编辑.此外,我可以将每个部署密钥仅添加到一个存储库,而我希望能够在同一个部署服务器上部署多个存储库.
有没有办法为Github上的选定用户提供私有存储库的只读访问权限?
我y
在javascript中有大量的数值.我想通过将它们舍入到最接近的倍数来对它们进行分组x
,并将结果转换为字符串.
如何绕过恼人的浮点精度?
例如:
0.2 + 0.4 = 0.6000000000000001
Run Code Online (Sandbox Code Playgroud)
我尝试了两件事:
>>> y = 1.23456789
>>> x = 0.2
>>> parseInt(Math.round(Math.floor(y/x))) * x;
1.2000000000000002
Run Code Online (Sandbox Code Playgroud)
和:
>>> y = 1.23456789
>>> x = 0.2
>>> y - (y % x)
1.2000000000000002
Run Code Online (Sandbox Code Playgroud) javascript floating-point double floating-accuracy numerical-methods
我正在开发一个JSON/REST Web API,我特别希望第三方网站能够通过AJAX调用我的服务.因此,我的服务是发送着名的CORS标题:
Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)
这允许第三方站点通过AJAX调用我的服务.到目前为止都很好.
但是,我的web api的一个子部分是非公开的,需要身份验证(OAuth和access_token cookie非常标准).在我的网站的这一部分启用CORS是否安全?
一方面,如果第三方网站可以拥有也与我的这部分服务进行交互的ajax客户端,那将会很酷.但是,首先存在相同原产地政策的原因是这可能存在风险.您不希望之后访问的任何网站能够访问您的私人内容.
我担心的情况是用户登录我的网络API,无论是在网站上还是通过他信任的网站,他忘记退出.这会允许他之后使用现有会话访问其私人内容吗?
所以我的问题:
更新:我强烈建议不要在XDomainRequest中投入任何时间,因为它是一个非常糟糕的实现,有很多限制.它基本上只适用于对非ssl服务器的GET请求,所以你不妨使用jsonp或其他什么.
我使用CORS来调用跨域API,但Internet Explorer提出了问题.通过XDomainRequest
对象在IE8和IE9中应该可以使用CORS ,但是我无法使用它.
JQuery 拒绝为XDomainRequest提供本机支持,但是建议使用几个jQuery插件来添加此支持.本主题提出了两个这样的插件:jQuery.XDomainRequest.js和xdr.js,已经报告可以使用.Afaik,插件应该自动覆盖行为jQuery.ajax
.我在这里找到了另一个插件.
我把一些演示页面与相应的插件jQuery.XDomainRequest以及xdr和jquery.ie.cors放在一起,它们对启用CORS的服务器执行ajax请求.这些页面在Chrome和Firefox中运行,但IE8/9会立即抛出权限被拒绝错误(甚至在发出请求之前).这个MSDN帖子建议添加另一个处理程序,xhr.onprogress = function() {};
但我尝试了这个,它也没有工作.
什么线索我做错了什么?我现在也使用MS8虚拟服务器测试IE8,但它有完全相同的问题.
编辑:好的所以我发现问题的一部分是我通过HTTPS使用POST.显然XDomainRequest不允许通过HTTPS使用CORS.我可以切换到HTTP,但我真的需要POST.
编辑2:在本故事结束时,请在github上查看此问题.事实证明,当使用HTTP POST时,xDomainRequest只能将请求体(参数)编码为text/plain
.这几乎使它变得毫无价值,因为每个人都使用application/x-www-form-urlencoded
或multipart/form-data
.
假设我需要在没有互联网连接的(Linux)机器上安装许多软件包.假设我下载了一份cr并将其刻录在我带到离线位置的DVD上:
wget ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz
Run Code Online (Sandbox Code Playgroud)
我甚至可以添加一个PACKAGES文件,其中包含所有源包及其依赖项的概述:
library(tools)
write_PACKAGES()
Run Code Online (Sandbox Code Playgroud)
我如何使用此脱机来安装源包,以便从本地文件中解析和安装依赖项?例如,有人想安装包ggplot2,它具有相当深的依赖结构.假设ggplot2的源包及其所有依赖项在当前工作目录中作为源包提供.如果我做:
install.packages("ggplot2_0.9.1.tar.gz", repos=NULL)
Run Code Online (Sandbox Code Playgroud)
这会导致错误,因为根本没有解决依赖关系.或者:
install.packages(list.files(pattern="*.tar.gz"), repos=NULL)
Run Code Online (Sandbox Code Playgroud)
但是,这也忽略了依赖结构,并尝试按字母顺序安装软件包,这也将失败.
我看着available.packages
和contrib.url
,但我不能找到一个本地文件安装一个源代码包,包括它的依赖的一个例子.
我需要将姓氏列表转换为字母数字用户名,但不幸的是其中一些包含非ascii字符:
Hernández
Quermançós
Migueláñez
Run Code Online (Sandbox Code Playgroud)
现在,一种方法就是使用正则表达式删除任何非字母数字字符,例如a.replace(/[^a-z0-9]/gi,'')
.然而,一个更直观的解决方案(至少对于用户来说)将用他们的"普通"等效替换重音字符,例如转á
,á
进a
和ç
进c
等等.有没有一种简单的方法在javascript中执行此操作?
是否可以监视正在使用或已被R用于调用函数的内存量?例如,我有一个任意函数,例如:
smallest.sv <- function(){
A <- matrix(rnorm(1e6), 1e3);
mysvd <- svd(A);
return(tail(mysvd$d, 1));
}
Run Code Online (Sandbox Code Playgroud)
运行该函数只返回一个标量,但是使用了大量的内存来计算函数.现在我需要进行性能基准测试.处理时间很简单:
system.time(x <- smallest.sv())
Run Code Online (Sandbox Code Playgroud)
但是我还想知道这个调用需要多少内存,而不需要修改函数(它应该适用于任意函数).有没有办法做到这一点?
编辑:澄清一下.我最感兴趣的是在函数调用期间使用的内存上限,即需要多少物理内存才能处理函数调用.在许多情况下,这远远低于我认为的分配内存总量.
我遇到一个难以调试的问题,makePSOCKcluster
从parallel
包装上的Windows [R 64.它不会发生在Windows上的R i386上,也不会发生在任何OSX或Linux上.不幸的是,它不会一直发生,只是偶尔而且非常随机.
发生的是该makePSOCKcluster
函数超时并冻结R会话,但只有在会话的早期执行了一些(任意)system()
调用.下面的视频和脚本更清楚地说明了问题.
我试过的一些东西没有成功:
system
和等待之间等待几秒钟makePSOCKcluser
.cmd_exists <- function(command){
iswin <- identical(.Platform$OS.type, "windows");
if(iswin){
test <- suppressWarnings(try(system(command, intern=TRUE, ignore.stdout=TRUE, ignore.stderr=TRUE, show.output.on.console=FALSE), silent=TRUE));
} else {
test <- suppressWarnings(try(system(command, intern=TRUE, ignore.stdout=TRUE, ignore.stderr=TRUE), silent=TRUE));
}
!is(test, "try-error")
}
options(hasgit = cmd_exists("git --version"));
options(haspandoc = cmd_exists("pandoc --version"));
options(hastex = cmd_exists("texi2dvi --version"));
cluster <- parallel::makePSOCKcluster(1);
Run Code Online (Sandbox Code Playgroud) 当x和y都是分类变量时,Marimekko/Mosaic图是一个很好的默认图.使用ggplot创建这些内容的最佳方法是什么?
我能找到的唯一参考是这个4yo 博客文章,但这似乎有点过时了.现在是否有更好或更简单的实施方法可供选择?GGally包有一个功能,ggally_ratio
但这会产生一些完全不同的东西: