小编clo*_*jur的帖子

webpack dev服务器:监视任意目录文件并重新加载

是否有可能在指定的任意文件集发生变化时重新加载webpack-dev-server?

有点像:

devServer: {
    watchTheseFiles: [ 'path/to/files', 'path/to/more/files' ]
}
Run Code Online (Sandbox Code Playgroud)

更精细的是,我可以指定要查看哪些文件的正则表达式吗?

我这样做是因为一个黑客位的重装,当我触发任意文件的某些变化(他们可能是.txt,.png,无论...)

此时,指定的路径contentBase似乎在文件更改时不会触发重新加载.

webpack webpack-dev-server webpack-2

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

在远程服务器上使用Intellij

我有一个dev * nix框。在大多数情况下,我可以直接进入包装盒并使用emacs进行开发。但是,随着我开始使用超大型代码库进行更多的Java工作,我已经意识到IntelliJ IDEA的价值无穷。

问题:我想在OS X上使用IntelliJ IDEA,但是要使用其他计算机上的项目。有没有一种方法可以配置IntelliJ IDEA来做到这一点?(通过ssh / mosh /或其他方式)

谢谢。

intellij-idea intellij-idea-2016

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

设计不可知的配置服务

为了好玩,我正在使用微服务架构设计一些Web应用程序.我正在尝试确定进行配置管理的最佳方法,我担心我的配置方法可能会有一些巨大的陷阱和/或更好的存在.

为了解决这个问题,假设我有一个用c ++编写的身份验证服务,用rust写的身份服务,用haskell编写的分析服务,用scala编写的一些middletier,以及用javascript编写的前端.还有相应的身份DB,auth DB,分析数据库,(可能是会话的redis缓存)等...我正在使用docker swarm部署所有这些应用程序.

每当部署其中一个应用程序时,它必须发现所有其他应用程序.由于我使用的是docker swarm,因此只要所有节点共享必需的覆盖网络,发现就不是问题.

但是,每个应用程序仍然需要上游服务host_addr,可能是端口,某些数据库或密封服务的凭据等...

我知道docker secrets可以让应用程序从容器中读取配置,但是我需要为每个服务用每种语言编写一些配置解析器.这看起来很乱.

我宁愿做的是拥有一个configuration service,它维护着如何配置所有其他服务的知识.因此,每个应用程序都会从​​一些RPC调用开始,这些调用旨在在运行时获取应用程序的配置.就像是

int main() {
    AppConfig cfg = configClient.getConfiguration("APP_NAME");
    // do application things... and pass around cfg
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

AppConfig将在IDL中定义,因此该类将立即可用且与语言无关.

这似乎是一个很好的解决方案,但也许我真的错过了这里的重点.即使在规模上,一些配置服务也可以轻松地提供数万个节点,因此我不会预见到任何扩展问题.再一次,它只是一个爱好项目,但我喜欢考虑"假设"场景:)

如何在微服务架构中处理配置方案?这看起来像是一种合理的方法吗?Facebook,谷歌,LinkedIn,AWS等主要参与者都做了什么?

architecture configuration docker-secrets

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

用于取消飞行中例程的golang设计模式

我是一位golang新手,正在尝试了解此问题的正确设计模式。我当前的解决方案似乎冗长,我不确定哪种更好的方法。

我正在尝试设计一个系统,该系统:

  1. 执行N个例程
  2. 尽快返回每个goroutine的结果
  3. 如果goroutine返回特定值,则应该杀死其他goroutine将取消。

目标:我想开始一些goroutine,但是如果一个例程返回特定结果,我想取消这些例程。

我试图了解我的代码是否超级“臭”,或者这是否是规定的处理方式。我仍然感觉不太好,因此我们将不胜感激。

这是我写的:

package main

import (
    "context"
    "fmt"
    "time"
)

func main() {

    ctx := context.Background()
    ctx, cancel := context.WithCancel(ctx)

    fooCheck := make(chan bool)
    barCheck := make(chan bool)

    go foo(ctx, 3000, fooCheck)
    go bar(ctx, 5000, barCheck)

    for fooCheck != nil ||
        barCheck != nil {
        select {
        case res, ok := <-fooCheck:
            if !ok {
                fooCheck = nil
                continue
            }
            if res == false {
                cancel()
            }
            fmt.Printf("result of foocheck: %t\n", …
Run Code Online (Sandbox Code Playgroud)

go

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

从功能上思考.在Haskell/Purescript中构建一个新数组

我是函数式编程的新手,我决定在Purescript中构建一个应用程序.我遇到了第一个障碍,我不确定如何从概念上思考这个问题.

我不是在寻找代码,而是在功能上思考这个问题.

我有一个数据列表.具体来说,就像

[ {a :: String, b :: String, c :: String} ]
Run Code Online (Sandbox Code Playgroud)

我想通过使用提供的记录(以及上面类型的列表)创建Html(这是一种purescript-halogen类型)的列表.

所以,我会有一个功能

buildElements :: forall p i. MyRecordObject -> Array (HTML p i)
Run Code Online (Sandbox Code Playgroud)

现在,我想我需要给这个函数结果类型一个Monad计算上下文(purescript Eff就像Haskell IO)

所以类似于:

buildElements :: forall p i. MyRecordObject -> Eff (Array (HTML p i))
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是模糊地创建一个类似的列表

take $ length xs $ repeat ARecordObject
Run Code Online (Sandbox Code Playgroud)

然后将记录映射到该列表,但我不确定如何将其转换为代码.无论如何,这似乎是错误的,因为我的计划涉及改变状态ARecordObject,这是一个禁忌.

那么我发现了这个功能:

forEach :: forall e a. Array a -> (a -> Eff e Unit) -> Eff Unit
Run Code Online (Sandbox Code Playgroud)

看起来几乎完美!我得到一个数组,我给它一个函数,以某种方式将记录中的属性分配给这个新数组......但不,等等......我正在考虑非功能性.

我真的在这里有点亏.基本上,我想创建类似于<li></li> …

haskell functional-programming purescript

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

尽管路径被搜索,但仍未找到Haskell Stack`exec`可执行文件

尽管搜索了适当的路径,但创建新haskell-stack项目仍无法找到project-exec可执行文件.我不知道为什么.特别是,

stack build创造project-exec内部$PROJECT_DIR/.stack-work/install/x86_64-linux-ncurses6/.../bin/project-exe

但是,stack exec project-exec失败了:

在路径上找不到名为rse8-exec的可执行文件:["$ PROJECT_DIR/.stack-work/install/x86_64-linux-ncurses6/lts-7.14/8.0.1/bin",]

(澄清,$PROJECT_DIR引用和...(希望)显而易见的路径占位符.实际错误包含完整路径)

haskell haskell-stack

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

了解Purescript Eff Monad并做块

我试图理解为什么以下在Purescript中不起作用.我有一种感觉,它也可以由Haskell社区回答,因此我已经交叉列出了它.

一般要点是:

如果我有do块,我可以不投入一次性价值吗?在这个例子中,我试图print在一系列monadic计算中记录某些东西(类似于Haskell的).

main = do
    a <- someAction1
    b <- someAction2
    _ <- log "here is a statement I want printed"
    someAction3 a b
Run Code Online (Sandbox Code Playgroud)

具体来说,我有一个功能,它采取以下(从卤素示例模板项目)

data Query a = ToggleState a

eval :: Query ~> H.ComponentDSL State Query g
eval (Toggle next) = do
    H.modify (\state -> state { isOn = not state.isOn })
    _ <- log "updating the state!"
    pure next
Run Code Online (Sandbox Code Playgroud)

在我看来,这应该像Haskell一样工作

barf :: IO Int
barf = do
  _ <- print "Here I …
Run Code Online (Sandbox Code Playgroud)

haskell purescript

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

sshd AuthorizedKeysCommand 抛出状态 127

我正在尝试构建一个 ssh 服务以允许推/拉到 phabricator 存储库。我已经对所有服务进行了 docker 化,目前遇到了一个奇怪的错误,无法执行 ssh 必需的身份验证脚本。

docker 镜像同时运行php-fpmsshd服务,其想法是将 ssh 与必需的 php 脚本结合起来。

特别是,我有以下 /etc/ssh/sshd_config:

AuthorizedKeysCommand /usr/libexec/phabricator-ssh-hook.sh
AuthorizedKeysCommandUser git
AllowUsers git

Port 2222
Protocol 2
PermitRootLogin no
AllowAgentForwarding no
AllowTcpForwarding no
PrintMotd no
#PrintLastLog no
PasswordAuthentication no
ChallengeResponseAuthentication no
AuthorizedKeysFile none

PidFile /var/run/sshd-phabricator.pid
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,当我启动 sshd 时,PrintLastLog 抛出一个错误,我认为这不相关,但可能是?)

当我手动运行时

su - git -c "/srv/phabricator/scripts/ssh/ssh-auth.php git",我能够成功执行该脚本。

但是,当我sshd在调试模式 ( /usr/sbin/sshd -d -d -d) 下运行时检查日志时,收到以下错误:

...other stuff...
debug3: monitor_read: checking request 22
debug3: mm_answer_keyallowed …
Run Code Online (Sandbox Code Playgroud)

ssh openssh sshd phabricator docker

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