小编wat*_*ery的帖子

如何从Select-String中获取捕获的组?

我正在尝试使用Powershell(版本4)从Windows上的一组文件中提取文本:

PS > Select-String -AllMatches -Pattern <mypattern-with(capture)> -Path file.jsp | Format-Table
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.这给出了一组很好的MatchInfo对象:

IgnoreCase                    LineNumber Line                          Filename                      Pattern                       Matches
----------                    ---------- ----                          --------                      -------                       -------
    True                            30   ...                           file.jsp                      ...                           {...}
Run Code Online (Sandbox Code Playgroud)

接下来,我看到捕获是在匹配成员中,所以我把它们拿出来:

PS > Select-String -AllMatches -Pattern <mypattern-with(capture)> -Path file.jsp | ForEach-Object -MemberName Matches | Format-Table
Run Code Online (Sandbox Code Playgroud)

这使:

Groups        Success Captures                 Index     Length Value
------        ------- --------                 -----     ------ -----
{...}         True    {...}                    49        47     ...
Run Code Online (Sandbox Code Playgroud)

或作为列表| Format-List:

Groups   : {matched text, captured group}
Success  : True
Captures …
Run Code Online (Sandbox Code Playgroud)

regex powershell select-string select-object

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

如何模拟非SNI浏览器(没有SNI支持)?

我正在为具有多个不同SSL证书的Apache设置Apache,这些证书位于同一服务器上(因此共享相同的IP地址).

通过Qualys SSL测试,我发现有些客户(即截至2013年12月的BingBot)不支持SNI扩展.

所以我正在考虑制作一个特殊的默认Web应用程序来收集这些客户端的请求,但我该如何模拟这些客户端呢?

我在Windows 8上,如果重要的话,无法访问Linux机器.

ssl client sni

16
推荐指数
3
解决办法
9296
查看次数

用于企业Web应用程序的PHP与Java

是否可以用PHP编写企业Web应用程序(使用Java EE堆栈技术)?我只知道一点PHP,我总是把它看作是一个请求 - 进程 - 响应编程/脚本语言,@Stateful在脚本完成执行后没有对象在服务器上保持活动状态(如ejbs).

换句话说:可以用Java和PHP实现相同的Web应用程序吗?或者是两种语言中哪一种比另一种语言更强大?

编辑:让我澄清一下我的问题:我已经了解Java并且在企业Web应用程序方面有一些经验.我想知道PHP是否同样强大(在语言结构中,在今天可用的框架中等等)来制作可以用Java完成的相同复杂应用程序.

php java web-applications java-ee

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

pipenv 需要 python 3.7,但安装的版本是 3.8,不会安装

我知道一点 Python,一年前我写了一个小脚本,pipenv用来管理依赖项。

旧平台为 Windows 7,当前平台为 Windows 10。

当时我可能已经安装了 Pyhton 3.7,现在我有 3.8.3 但正在运行:

pipenv install
Run Code Online (Sandbox Code Playgroud)

投诉说:

Warning: Python 3.7 was not found on your system…
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path\to\python
Run Code Online (Sandbox Code Playgroud)

这是 Pipfile

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
python-ldap = {path = "./dependencies/python_ldap-3.1.0-cp37-cp37m-win_amd64.whl"}
requests = "~=2.0"
mysqlclient = "~=1.0"

[dev-packages]

[requires]
python_version = "3.7"
Run Code Online (Sandbox Code Playgroud)

我手动编辑了最后一行以允许 3.8,但我该如何正确解决这个问题?
我认为 …

python python-3.x pipenv

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

Sql语法:在select(subselect)中选择不带from子句作为子查询

在编辑一些查询以添加没有值的列的替代方法时,我不小心写了这样的东西(这里是简单的版本):

SELECT id, (SELECT name) FROM t
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,MySQL没有抛出任何错误,但完成了查询,给出了我的预期结果(name列值).我试图找到有关它的任何文档,但没有成功.

这是SQL标准还是MySQL专业?
我可以确定此语法的结果实际上是来自同一(外部)表的列值吗?扩展版本是这样的:

SELECT id, (SELECT name FROM t AS t1 where t1.id=t2.id) FROM t AS t2
Run Code Online (Sandbox Code Playgroud)

EXPLAIN报告No tables usedExtra列前的版本,我认为这是非常好的.

这是SqlFiddle上的一个简单的小提琴(它为我保留时间,我希望你有更好的运气).

澄清:我知道子查询,但我总是编写子查询(相关或不相关),暗示了一个表可供选择,因此在执行计划中引起了额外的步骤; 我的问题是这个语法及其给出的结果,在MySQL中似乎没有任何返回预期值.

mysql sql mysql-5.6

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

如何将REST请求转发到另一个资源?

在我目前的架构中,我有一个JAX-RS资源,它位于后面:

/categories
/categories/{catId}
Run Code Online (Sandbox Code Playgroud)

这是这样实现的:

@Path("/categories")
@Produces("application/json")
public class CategoryResourcesApi {

    @GET
    public Response getCategories() {
        // ...
    }

    @GET @Path("/{catId}")
    public Response getCategory(@PathParam("catId") String catId) {
        // ...
    }

    // ...

}
Run Code Online (Sandbox Code Playgroud)

和另一个服务:

/products
/products/{prodId}
Run Code Online (Sandbox Code Playgroud)

并有类似的实现:

@Path("/products")
@Produces("application/json")
public class ProductResourcesApi {

    @GET
    public Response getProducts() {
        // ...
    }

    // ...

}
Run Code Online (Sandbox Code Playgroud)

除了这些直截了当的路径,我还需要服务于这些:

/categories/{catId}/products
/categories/{catId}/products/{prodId}
Run Code Online (Sandbox Code Playgroud)

这将是与特定类别相关的产品.

最自然的事情就是ProductResourcesApi为它们服务,但顺便说一下,我理解JAX-RS注释结构,这只能由CategoryResourcesApi(或者最终由第三类,我认为)提供.

@Context在我的资源实现中使用和其他注释,所以直接new ProductResourcesAPI().getProducts()无法工作,我想.

有没有办法在JAX-RS(或Jersey)框架内从一个资源路径转发到另一个资源路径?我还有其他选择吗?如果可能的话,我想保持所有这些易于维护,这就是为什么我为每个根源路径选择一个资源,其中包含子资源.

java rest jax-rs jersey

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

Node.js多包项目?

我是Node的新手,来自Java背景.这些天我正在试验一个完整的应用程序的每个部分:数据库,rest api,ui.

到目前为止,我编写了数据库支持的逻辑,它独立运行,处理文本文件,在数据库中存储有关它们的数据,并公开REST API以查询该数据.我现在要让ui导航这些数据.

这样的结构是否合理:

- (a) main project folder
    - (b) backend application (a Restify server responds to REST calls querying the database)
    - (c) ui application (an http server serves React static files)
Run Code Online (Sandbox Code Playgroud)

如果这是有道理的,我会猜测:

  • (b)具有package.json服务器和休息相关的依赖关系(即Restify,MongoDB,......)
  • (c)有另一个package.json与ui的依赖关系(即React,Webpack等,但不是Restify或MongoDB)
  • (a)有第三个package.json关心安装每个子项目(我说npm install通过手写的npm脚本运行).否则,你通常如何处理这样的Node项目?你是否将每个应用程序与其他应用程序完全分开?

对于那些了解该工具的人来说,这模仿了Maven多模块项目; 虽然不需要这种自动化水平,但我想提出一个独立的软件包.

project-structure node.js npm

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

React recreates my component on each material ui tab switch

I added a Material UI Tabs component in my application, coding it almost similar to the one in their Simple Tabs demo.

I'm experiencing, though, that the components inside each tab — that is those at:

render() {
    /... 
    {
        value === 0 && < MyComponent1 / >
    } {
        value === 1 && < MyComponent2 / >
    } {
        value === 2 && < MyComponent3 / >
    }
    /...
}
Run Code Online (Sandbox Code Playgroud)

are being recreated (I can trace this with …

javascript tabs reactjs material-ui

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

Promise.all与数组和对象之间的逗号运算符如何工作?

我遇到过这段代码:

const results = await Promise.all(
                          [ Model1.find({}), Model2.find({}) ],
                          Model3.find({})
                      ),
        v1 = results[0],
        v2 = results[1],
        v3 = results[2]
Run Code Online (Sandbox Code Playgroud)

all()用数组和单个对象调用- 模型*是Mongoose模型.

这是一个容易修复的错误,但我想了解它是如何给出结果值,它们是:

  • v1包含对应的所有文档 Model1
  • v2包含对应的所有文档 Model2
  • v3是 undefined

正如在逗号运算符的这个答案中所解释的那样,我只期望Model3.find({})实际返回数据results,因为逗号运算符应该计算第一个操作数但返回其第二个操作数(to Promise.all()).但它的,而不是周围的其他方法:results[0]results[1]都包含数据,而results[2](因此v3)是undefined.

我错过了什么?

javascript promise

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

为什么我不能从maven插件中关闭tomcat 7嵌入式?

我正在使用tomcat7-maven-plugin2.2从命令行运行webapp(我在Windows 8.1,Java 1.7.0_51和Maven 3.2.1).

这是配置(非常简单,我猜):

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>

    <configuration>
        <address>localhost</address>
        <port>8080</port>
        <path>/</path>
        <uriEncoding>UTF-8</uriEncoding>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我运行Maven mvn tomcat7:run并且它正确启动,服务器启动,webapp加载,我可以与它进行交互.
我运行Maven的命令提示符正忙着显示Tomcat输出(这看起来很好):

[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building <project-name-here> 0.3
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) @ <project-name-here> >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ <project-name-here> ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 25 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile …
Run Code Online (Sandbox Code Playgroud)

windows java-7 maven-tomcat-plugin

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