小编Wak*_*nka的帖子

PAC - JavaScript - shExpMatch()vs dnsDomainIs()

shExpMatch()和之间有什么区别dnsDomainIs()

定义说:

// dnsDomainIs()
// Evaluates hostnames and returns true if hostnames match. Used mainly to match and exception individual host names.

// Example:
if (dnsDomainIs(host, ".google.com")) return "DIRECT";



// shExpMatch()
// Attempts to match hostname or URL to a specified shell expression and returns true if matched.

// Example:
if (shExpMatch(url, "*vpn.domain.com*") ||
      shExpMatch(url, "*abcdomain.com/folder/*"))
  return "DIRECT";
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话

shExpMatch() - 可以使用一些通配符

dnsDomainIs() - 可以使用确切的名称

shExpMatch()优越的dnsDomainIs()

javascript pac

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

CMD 和 ENTRYPOINT 支架与非支架版本

我见过许多具有各种语法的 Dockerfile。他们中的一些人CMD不使用括号,其中一些人使用括号。根据我的实验,这两个是等价的:

CMD ["/bin/ping", "localhost"] 
CMD /bin/ping localhost        
Run Code Online (Sandbox Code Playgroud)

但事实并非如此,ENTRYPOINT根据我的实验,这些并不相同,只有带括号的版本才有效。

ENTRYPOINT ["/docker-entrypoint.sh"]
ENTRYPOINT /docker-entrypoint.sh
Run Code Online (Sandbox Code Playgroud)

我正在试验这些文件:

Dockerfile:

FROM debian:wheezy
COPY docker-entrypoint.sh /
RUN chmod +x /docker-entrypoint.sh

# WORKS AS EXPECTED - FIRST PASS EXECUTION TO /docker-entrypoint.sh THEN TO CMD
ENTRYPOINT ["/docker-entrypoint.sh"]

# PRINTS "PASSED ARGUMENTS" AND EXITS (CMD IS NOT EXECUTED)
# ENTRYPOINT /docker-entrypoint.sh

# WORKS
CMD ["/bin/ping", "localhost"] 

# WORKS
# CMD /bin/ping localhost   

# ERROR
# CMD "/bin/ping localhost" 
Run Code Online (Sandbox Code Playgroud)

docker-entrypoint.sh

#!/bin/bash
echo "PASSED ARGUMENTS"
echo "$@" …
Run Code Online (Sandbox Code Playgroud)

docker

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

如何在 Marp/Marpit 中创建全幻灯片大小的拉伸三列

我正在使用 marp/marpit 来创建幻灯片。我的目标是创建具有三个垂直列的幻灯片。我有一个 CSS 文件,我在 HTML 页面和 marp 中使用它。在网络浏览器中,HTML 页面会扩展到整个页面。但在 PDF 查看器(由 marp 生成的文件)中,幻灯片有一些从左/右上/下的边框。

我正在使用的文件:

页面.html

<!DOCTYPE html>
<html>

<!-- page.html -->

<head>
    <!-- <link rel="stylesheet" href="css.css"> -->
    <link rel="stylesheet" href="custom-theme.css">
</head>

<body>
    <div class="container">
        <!-- <div class="toppane">Test Page</div> -->
        <div class="leftpane">
            <h1>Left column</h1>
        </div>
        <div class="middlepane">
            <h1>Middle column</h1>
        </div>
        <div class="rightpane">
            <h1>Right column</h1>
        </div>
    </div>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

自定义主题.css

/* custom-theme.css */
/* @theme custom-theme */

@import 'default';

body, html {
    width: 100%;
    height: 100%;
    margin: 0;
  }
  
  .container { …
Run Code Online (Sandbox Code Playgroud)

html css marpit marp

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

可视化sqlite数据库schemaspy

我想要可视化sqlite数据库.有几个页面讨论这个,但这些解决方案都不适用于我使用sqlfairySchemaDisplay 可视化数据库模式轻松可视化的好工具.似乎问题出在SQLite.JDBCDriver上.这里是关于java和sqlite的讨论,但我无法弄清楚.我所做的是将sqlite-jdbc-3.7.2.jar重命名为sqlite.jar,希望这有所帮助,但你可以看到运气不好.

[pista@HP-PC schemaspy]$ ls -l
total 7084
drwxrwxr-x  3 pista pista    4096 Dec 12 22:34 javasqlite
drwxrwxr-x  2 pista pista    4096 Dec 12 22:05 lib
drwxrwxr-x 14 pista pista    4096 Dec 12 22:15 mendeley
drwxrwxr-x  2 pista pista    4096 Dec 12 22:13 out
drwxrwxr-x  2 pista pista    4096 Dec 12 22:05 properties
-rw-rw-r--  1 pista pista    2655 Feb 22  2009 README.TXT
-rw-rw-r--  1 pista pista  248945 Aug …
Run Code Online (Sandbox Code Playgroud)

java sqlite schema graph

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

如何在bash中组合timeout和eval命令

对于执行存储在变量中的eval命令,使用命令:

???> a="echo -e 'a\nb' | wc -l"
???> eval $a
2
Run Code Online (Sandbox Code Playgroud)

但它如何与timeout命令结合?我试过以下哪个给了我错误的输出:

???> timeout 10 $a
'a
b' | wc -l
Run Code Online (Sandbox Code Playgroud)

以下给出了我的错误:

???> timeout 10 "$a"
timeout: failed to run command `echo -e \'a\\nb\' | wc -l': No such file or directory

???> timeout 10 $(eval $a)
timeout: failed to run command `2': No such file or directory

???> timeout 10 $(eval "$a")
timeout: failed to run command `2': No such file or directory
Run Code Online (Sandbox Code Playgroud)

问题还可以解决:我怎样才能确定以下命令是否正确执行? …

bash timeout eval

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

matplotlib 中带有滑块小部件的日期时间

我希望能够滚动代表日期/时间的 x(水平)线。为此,我使用slider widget。问题是,当我滚动太远(不存在 y 值)时,我无法再使用滑块小部件提供的滚动功能,并且整个绘制的线会消失并仅保留空图。我在终端上收到的错误如下:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1535, in __call__
    return self.func(*args)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 586, in callit
    func(*args)
  File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 365, in idle_draw
    self.draw()
  File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 349, in draw
    FigureCanvasAgg.draw(self)
  File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 469, in draw
    self.figure.draw(self.renderer)
  File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1079, in draw
    func(*args)
  File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

从 C 中现有的一维数组创建二维数组?

在 perl 中,我可以创建一维数组,然后从它们创建二维数组,如下所示:

@a1=(a,b,c)
@a2=(d,e,f)
@a3=(g,h,i)
@m23_v1=(\@a1,\@a2,\@a3)
Run Code Online (Sandbox Code Playgroud)

这是另一种方式(假设@a1@a2@a3与前面的示例相同):

@m23_v2=([@a1],[@a2],[@a3])
Run Code Online (Sandbox Code Playgroud)

这两种方式之间的区别在于,当使用反斜杠时,更改$a[0][0]也会更改$a1[0]。另一方面,当使用括号时,值将被复制,因此更改$a[0][0]不会更改$a1[0]。波纹管是变量的内存地址,它们应该阐明我的意思:

print \$a1[0]
SCALAR(0x2006c0a0)

print \$m23_v1[0][0]
SCALAR(0x2006c0a0)

print \$m23_v2[0][0]
SCALAR(0x2030a7e8)
Run Code Online (Sandbox Code Playgroud)

如何在 C 中实现相同的功能?我试过以下代码:

# include <stdio.h>
int main(){
  int a1[3] = {1,2,3};
  int a2[3] = {4,5,6};
  int m23[2][3] = {a1, a2};
  printf("%d\n", a1[0]);
  printf("%d\n", m23[0][0]);
}
Run Code Online (Sandbox Code Playgroud)

但它给了我以下编译警告:

2d.c: In function ‘main’:
2d.c:4:3: warning: initialization makes integer from pointer without a cast [enabled by default]
2d.c:4:3: warning: (near …
Run Code Online (Sandbox Code Playgroud)

c arrays

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

imp.load_source方法的第一个参数是做什么的?

我正在读这个关于从绝对路径导入模块的问题.答案建议使用以下代码:

import imp
foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()
Run Code Online (Sandbox Code Playgroud)

我想从具有以下结构的dir导入文件(它是包):

__int__.py
model_params.py
Run Code Online (Sandbox Code Playgroud)

我这样做了:

import01 = imp.load_source('module.name', '/home/wakatana/experiments/model_params/model_params.py')
Run Code Online (Sandbox Code Playgroud)

现在我可以访问model_params.pyvia中的变量了import01.VARIABLE_NAME.这似乎相当于import numpy as np.哪里model_params.py是喜欢numpyimport01喜欢np.

我想问一下load_source方法的第一个参数是做什么的?help(imp)几乎没有关于load_source方法的说法,例如跟随help(imp.load_source)回报load_source(...)

谢谢

编辑基于behzad.nouri评论

load_source的文档页面上说:

name参数用于创建或访问模块对象.

但是当我尝试访问时,module.name我得到一个关于未定义模块的错误.另外,为什么没有可以访问的文档,help我能以某种方式安装吗?我希望文档是python中代码本身的一部分,或者通常的做法是不内置它而是让它在线?

python module

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

用expand.grid替换嵌套循环,并用多个参数调用内部函数

我想用rollapply函数的各种组合width,byFUN参数(widthby应具有相同的值).我在这里受到启发并创建了以下代码,但它与目前无关rollapply,它只是演示如何将多个参数传递给函数内部apply:

> dframe   <- expand.grid(c(1,2,3), c(1,2,3))
> testFunc <- function(a, b) a^2 + b
> apply(dframe, 1, function(x) testFunc(x[1], x[2]))
[1]  2  5 10  3  6 11  4  7 12
> apply(dframe, 1, function(x) x[1]^2 + x[2])
[1]  2  5 10  3  6 11  4  7 12
> apply(dframe, 1, function(x) (x[1]^2 + x[2]))
[1]  2  5 10  3  6 11  4 …
Run Code Online (Sandbox Code Playgroud)

r

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

如何从使用lapply传递给函数的列表中获取data.frame的名称

我有功能,我想扩展能够将结果保存到csv文件.应根据传递给此函数的data.frame名称生成csv文件的名称:

my.func1 <- function(dframe, ...){
  # PART OF CODE RESPONSIBLE FOR COMPUTATION
  # ...

  # PART OF CODE WHERE I WANT TO STORE RESULTS AS CSV
  csv <- deparse(substitute(dframe))
  csv
}
Run Code Online (Sandbox Code Playgroud)

当我按照以下方式调用此函数时,将正确解释传递给此函数的数据集的名称:

> my.func1(mtcars)
[1] "mtcars"
Run Code Online (Sandbox Code Playgroud)

但我需要从列表中为每个data.frame调用此函数.如果我从列表中为特定的data.frame调用此函数,那么它基本上正在工作(我得到了包含列表名称的丑陋名称,但是一个解决方法可以使用正则表达式修剪它):

> LoDFs <- list(first=data.frame(y1=c(1,2,3), y2=c(4,5,6)), second=data.frame(yA=c(1,2,3), yB=c(4,5,6)))
> my.func1(LoDFs$first)
[1] "LoDFs$first"
Run Code Online (Sandbox Code Playgroud)

问题是我想从列表中为所有data.frames调用此函数.在这种情况下,data.frame的名称是混乱的:

> lapply(LoDFs, my.func1)
$first
[1] "X[[i]]"

$second
[1] "X[[i]]"

> lapply(seq_along(LoDFs), function(x) { my.func1(LoDFs[[x]]) })
[[1]]
[1] "LoDFs[[x]]"

[[2]]
[1] "LoDFs[[x]]"
Run Code Online (Sandbox Code Playgroud)

我做错了什么,如何避免使用正则表达式提及的解决方法并使代码更健壮?

evaluation r lapply dataframe

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

标签 统计

python ×2

r ×2

arrays ×1

bash ×1

c ×1

css ×1

dataframe ×1

docker ×1

eval ×1

evaluation ×1

graph ×1

html ×1

java ×1

javascript ×1

lapply ×1

marp ×1

marpit ×1

matplotlib ×1

module ×1

pac ×1

schema ×1

sqlite ×1

timeout ×1