小编amd*_*xon的帖子

Nightwatch.js:窗口未定义

我正在尝试使用Nightwatch来测试React应用程序.我正在使用React-Router.

使用Nightwatch运行我的测试时window未定义.

React使用以下代码片段来测试DOM是否可用:

var canUseDOM = !!(
  typeof window !== 'undefined' &&
  window.document &&
  window.document.createElement
);
Run Code Online (Sandbox Code Playgroud)

来自React.js源:ExecutionEnvironment.js#L16

React-Router期望canUseDOM为true,否则会引发错误.

所以我的测试失败了因为window在运行Nightwatch时未定义.

window应该与硒webdriver一起出现?我该如何window提供?

javascript selenium reactjs nightwatch.js

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

Spring引导jdbc连接

我正在尝试配置 Spring Boot 以便将 Tomcat 连接池连接到我的生产数据库。我的应用程序不是网络(我也有一些很难告诉春天)。

我有一个启动课程和另外 3 个课程

代码

@Configuration

@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)

public class Starter {

private static Logger logger;

@Autowired
private static MyController controller;

public static void main(String[] args) {

//      SpringApplication.setWebEnvironment(false);

    SpringApplication.run(Starter.class, args);

    LogbackConfigLoader lcl = new LogbackConfigLoader();
    if (lcl.init()) {
        logger = LoggerFactory.getLogger(Starter.class);
        logger.debug("Initialized....");
    }
    else{
        logger = LoggerFactory.getLogger(Starter.class);
    }


    logger.info(controller.getProva());

}


}
Run Code Online (Sandbox Code Playgroud)

这是配置`

@Configuration

@ConfigurationProperties(prefix="datasource.NIS")

public class NISDBConfiguration {

private String jdbcInterceptors;
private long validationInterval = 30000;

private org.apache.tomcat.jdbc.pool.DataSource pool;

@Value("${driver-class-name}")
private String driverClassName; …
Run Code Online (Sandbox Code Playgroud)

java spring spring-jdbc autowired spring-boot

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

无法使用RoboGuice将视图注入自定义类

我开始在我的项目中使用RoboGuice.我可以轻松地在片段和活动中注入视图,但我在使用cusom视图时遇到了一些麻烦.我每次都得到null ptr异常.

根据RoboGuice的例子,我对我的自定义类做了同样的事情:

测试活动

@ContentView(R.layout.test_layout)
public class TestActivity extends RoboActivity {

    @InjectView(R.id.testView_1) TestView testView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}
Run Code Online (Sandbox Code Playgroud)

TestView

 public class TestView extends LinearLayout {


    @InjectView(R.id.log_in_tab) View logInTab;

    public TestView(Context context) {
        super(context);
        initView();
    }

    public TestView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initView();
    }

    public TestView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initView();
    }


    @Override
    public void onFinishInflate() {
        super.onFinishInflate();

        if (logInTab == null)
            Toast.makeText(getContext(), "Still NULL", …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception roboguice

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

Javascript中具有正则表达式的无效组

我四处寻找我的问题的解决方案,但我看不出我的正则表达式的哪一部分无效(javascript说我有一个无效的组).我想我正在使用javascript的正则表达式引擎不支持的东西?

我正在尝试验证以下美国电话号码:

555-555-5555
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 555 555 5555
Run Code Online (Sandbox Code Playgroud)

我的验证表达是:

1?[\s-]?\(?(\d{3})\)?[\s-]?(\d{3})[\s-]?(\d{4})
Run Code Online (Sandbox Code Playgroud)

有小费吗?

javascript regex

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

无法制作pkg-config

当我尝试制作pkg-config时,出现错误.我想在我的mac上安装一个生物信息学工具.我对此很新,所以我可能会犯一个致命的错误.非常感谢任何帮助!谢谢!

制作日志

/Library/Developer/CommandLineTools/usr/bin/make all-recursive
Making all in glib
/Library/Developer/CommandLineTools/usr/bin/make all-recursive
Making all in .
Making all in m4macros
/Library/Developer/CommandLineTools/usr/bin/make all-am
make[5]: Nothing to be done for all-am'. Making all in glib GEN glibconfig-stamp config.status: executing glib/glibconfig.h commands config.status: glib/glibconfig.h is unchanged /Library/Developer/CommandLineTools/usr/bin/make all-recursive Making all in libcharset /Library/Developer/CommandLineTools/usr/bin/make all-am make[7]: Nothing to be done forall-am'.
Making all in .
echo > glib-public-headers.txt.tmp && mv glib-public-headers.txt.tmp glib-public-headers.txt
Making all in .
CCLD pkg-config
Undefined symbols for architecture x86_64:
"_CFRelease", referenced from: …
Run Code Online (Sandbox Code Playgroud)

macos

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

用智能指针实现一个简单的单向链表

嗨,我正在尝试使用智能指针实现一个简单的单链表,这是我到目前为止所拥有的,我选择使用 C++ 的 shared_ptr,但我读到 unique_ptr 更适合这种情况,但是,我不是真的知道如何遍历列表(即 currentNode = currentNode->next)以到达列表的末尾,以便使用 unique_ptr 插入元素。这是我到目前为止的代码:

template <typename T>
class LinkedList;

template <typename T>
class ListNode
{
public:
    ListNode() : _data(T()) {}
    explicit ListNode(const T& value) : _data(value) {}

    friend class LinkedList < T > ;
private:
    T _data;
    shared_ptr<ListNode<T>> _next;
};

template <typename T>
class LinkedList
{
public:
    void push_back(const T& value)
    {
        if (_root)
        {
            shared_ptr<ListNode<T>> currentNode(_root);

            while (currentNode->_next != nullptr)
            {
                currentNode = currentNode->_next;
            }

            currentNode->_next = make_shared<ListNode<T>>(value);
        }
        else
        {
            // …
Run Code Online (Sandbox Code Playgroud)

c++ linked-list smart-pointers shared-ptr unique-ptr

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

bash 别名不自动完成与别名相同

我正在尝试用更直观的 watch 命令替换 vlc。

所需的功能

  1. 自动完成

    观看 /path/to/mo Tab --> 观看 /path/to/movie.avi

  2. 执行vlc

    watch /path/to/movie.avi Enter# 这应该运行 `vlc /path/to/movie.avi

目前我正在使用上面的别名 todo :

~/.bashrc

...
alias watch='vlc'
...
Run Code Online (Sandbox Code Playgroud)

这符合execute vlc上面的要求,但没有给出正确的autocompletion[1]

目前的行为

$ vlc /path/to/mo Tab--> vlc /path/to/movie.avi (成功完成)

$ watch /path/to/mo Tab--> watch /path/to/mo (不是自动完成..)

正如@GUIDO 提到的,watch是一个内置命令。这在某种程度上影响了自动完成。更改为play有效,但想了解为什么这不起作用以及如何修复..

笔记

类似于如何让 bash 补全与别名一起使用?

但定义函数wrap_alias(在我的~/.bashrc中)并调用

wrap_alias watch vlc ''
Run Code Online (Sandbox Code Playgroud)

没有解决自动完成问题

bash alias autocomplete

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

错误的css">"选择器(由我)

我正在尝试用css3设计一个棋盘,但看起来我的选择器是错误的.这是我的JsFiddle

那么为什么我不能在线条和单元格周围看到设计的测试蓝色和红色边框?

HTML

<body>
    My chess board
    <table class="chess_board">
       <tr class="chess_line">
          <td class="chess_cell black_cell white_piece"><span>&#9812;</span></td>
          <td class="chess_cell white_cell white_piece"><span>&#9813;</span></td>
          <td class="chess_cell black_cell white_piece"><span>&#9814;</span></td>
          <td class="chess_cell white_cell white_piece"><span>&#9815;</span> </td>
       </tr>
       <tr class="chess_line">
          <td class="chess_cell white_cell"><span>&#9820;</span></td>
          <td class="chess_cell black_cell"><span>&#9821;</span></td>
          <td class="chess_cell white_cell"><span>&#9822;</span></td>
          <td class="chess_cell black_cell"><span>&#9823;</span></td>
      </tr>
    </table>
    My another chess board ... to be drawn !
</body>
Run Code Online (Sandbox Code Playgroud)

CSS

table.chess_board > tr.chess_line {
  background-color: blue;
}

table.chess_board > tr.chess_line > td.chess_cell {
  border: 2px solid red;
 /*
  font-family: serif;
  font-size: 2.3em;
  width: …
Run Code Online (Sandbox Code Playgroud)

css css-selectors

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

用逗号分隔的 sed awk 连接两个文件

我有两个文件。

文件1.txt

example1
example2
example3
Run Code Online (Sandbox Code Playgroud)

文件2.txt

testing1
testing2
testing3
Run Code Online (Sandbox Code Playgroud)

我试图将这两个文件中的值连接到一个新的逗号分隔文件中,并输出

期望的输出

example1,testing1
example2,testing2
example3,testing3
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助在 awk/sed 中做到这一点吗?谢谢你

bash awk sed

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

将指针传递给指向函数的指针

我想编写一个函数,它接受两个指针并将一个指针设置为另一个指向的位置.

我的第一次尝试是这样的:

void func(int* i1, int* i2)
{
    i2 = i1;
}
Run Code Online (Sandbox Code Playgroud)

然后我意识到,我在这里传递指针地址,并将一个指针的地址设置为另一个地址.像这样调用此函数会导致段错误:

int * int_ptr_1;
int * int_ptr_2 = nullptr;

int a = 5;

int_ptr_1 = &a;

func(int_ptr_1, int_ptr_2);

std::cout << *int_ptr_2 << std::endl;
Run Code Online (Sandbox Code Playgroud)

但为什么呢?如果地址int_ptr_2现在与地址相同int_ptr_1,为什么解除引用int_ptr_2不会产生5... int_ptr_1指向a,其值为5......

这样做有什么不同?:

int * int_ptr_1;
int * int_ptr_2;

int a = 5;

int_ptr_1 = &a;
int_ptr_2 = int_ptr_1;
Run Code Online (Sandbox Code Playgroud)

工作得很好......

通过研究我发现你可以这样做:

void func(int*& i1, int*& i2)
{
    i2 = i1;
}
Run Code Online (Sandbox Code Playgroud)

这将做我想要的......但是......无论如何,它的语义是什么?

c++ pointers pass-by-reference

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