小编cha*_*ryp的帖子

从docker容器连接到本地mongodb

我有一个在mongodb://127.0.0.1:27017上运行的本地mongoDB服务器.我的数据库名称是localv2.我有一个带有Dockerfile的node/express应用程序,如下所示:

FROM node:7.5

RUN npm install -g pm2

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY package.json /usr/src/app
RUN npm install

COPY . /usr/src/app

EXPOSE 3002

ENV NODE_ENV local

CMD pm2 start --no-daemon server.js
Run Code Online (Sandbox Code Playgroud)

server.js文件与本地mongodb有一个连接,代码如下:

app.db = mongoose.connect("mongodb://127.0.0.1:27017/localv2", options);
Run Code Online (Sandbox Code Playgroud)

当我从使用上面的Dockerfile创建的图像中旋转容器时,这不起作用.我在某地读到Docker创建了一个带有自己的gatway IP地址的VLAN.当docker inspect我的容器,我的网关IP地址:172.17.0.1.

即使改变mongodb连接

app.db = mongoose.connect("mongodb://172.17.0.1:27017/localv2", options)
Run Code Online (Sandbox Code Playgroud)

并重新构建图像并启动一个新容器,我仍然得到错误:

MongoError: failed to connect to server [172.17.0.1:27017] on first connect [MongoError: connect ECONNREFUSED 172.17.0.1:27017]
Run Code Online (Sandbox Code Playgroud)

运行容器的命令: docker run -p 3002:3002 image-name

请帮忙.

mongoose mongodb node.js docker dockerfile

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

什么是DOMString?

我在DOMString阅读HTML规范时遇到过.在一些研究中,发现了以下有关它的数据:

来自MDN:

DOMString是一个UTF-16字符串.由于JavaScript已经使用了这样的字符串,因此DOMString直接映射到String.

W3C规范:

DOMString是序列16位单元.

但我仍然有以下问题:

  1. 什么是DOMString实际的,它用于什么?
  2. 为什么它被命名为DOM String而不是UTF16 String?更具体地说,它与DOM有何关系?
  3. 如果我UTF-16编码一个String,它会变成一个DOMString吗?

javascript html5 dom

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

为什么Android Studio编辑器窗口中有正确的边距线?

Android Studio中的文件编辑器窗口中间有一条垂直线.我无法更改保证金额度.以下是右边距线的屏幕截图:

在此输入图像描述

更改此行的设置在哪里?

android-studio

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

什么时候提前编译(AOT)?

我正在使用C#.NET作为Web应用程序.我已经读过JIT编译发生在运行时,这意味着(纠正我,如果我错了)编译将在请求到达IIS时发生.

csc.exe在解决方案的构建阶段使用MSBuild将高级代码转换为CIL 时会发生另一次编译.

如果没有JIT并且我们想要使用AOT,AOT在哪里适合所有这些?

我的问题是在从构建代码到第一个请求的整个阶段中,AOT编译发生了什么?(平台/框架无所谓)

c# jit compilation

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

"长轮询"是创建Web实时应用程序的最有效方式吗?

我想创建一个这样的应用程序:

http://collabedit.com/

创建这个实时应用程序的最有效方法是什么?

闪?长期民意调查?Http Streaming?或者是其他东西?

谢谢 ;)

javascript flash streaming comet long-polling

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

如何选择列值为null的行?

考虑以下数据库表:

id      |  is_visible
________|_______________
1       |  true
2       |  false
3       |               -- i.e. null
Run Code Online (Sandbox Code Playgroud)

我想选择具有is_visible = null的所有行.我尝试了以下查询:

SELECT * FROM tab WHERE is_visible = null;     -- 0 results
SELECT * FROM tab WHERE is_visible <> true;    -- only fields with false value
SELECT * FROM tab WHERE is_visible <> false;   -- only fields with true
Run Code Online (Sandbox Code Playgroud)

我在postgresql和sql server中尝试过
如何选择具有is_visible = null的行?

sql sql-server postgresql

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

枚举应该被视为模型吗?

我处于设计困境中,无法决定枚举是否应该被视为模型的一部分。我对模型的定义是它们代表知识。

按照这个逻辑,枚举应该是一个模型。此外,我在一些代码库中看到,枚举作为表存储在数据库中,以便知识存储在数据库本身中,并且可以在以后进行连接或从代码中访问。

你们平时都做什么?例如,如果您有一个models.py包含模型的文件,您会将枚举存储在其中吗?或者您会创建一个新文件enums.py吗?

oop model-view-controller enums model

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

C#@ line break功能与Java相当

在C#中,您可以使用逐字字符串文字,这样就不必包含"+"符号来连接多行上的字符串.例如:

var fooStr = @"This is a foo string.
              It will have a corresponding bar sibling string";
Run Code Online (Sandbox Code Playgroud)

在Java中,相同的代码将被写为:

String fooStr = "This is a foo string." +
                "It will have a corresponding bar sibling string";
Run Code Online (Sandbox Code Playgroud)

我知道Java中没有相应的逐字字符串,你必须自己逃避字符串.但这是否具有相应的特定功能?或者有一个图书馆可以帮助实现这一目标吗?

java

7
推荐指数
0
解决办法
55
查看次数

重新布置用于移动和桌面视图的弹性项目,而无需更改HTML

我正在为网页使用Angular Material。对于台式机和移动设备,我必须以不同的方式显示相同的布局。以下是布局和相应的代码:

移动版式 移动版式 手机密码

<div layout="column" style="text-align: center;">
    <div flex-order="0">
        <div class="child-1">Child 1</div>
    </div>
    <div flex-order="1">
        <div class="child-2">Child 2</div>
    </div>
    <div flex-order="2">
        <div class="child-3">Child 3</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

桌面布局 桌面布局 桌面代码

<div layout="row" style="text-align: center;">
    <div flex-order="0">
        <div class="child-2">Child 2</div>
    </div>
    <div flex>
        <div layout="column">
            <div flex-order="0">
                <div class="child-1">Child 1</div>
            </div>
            <div flex-order="1">
                <div class="child-3">Child 3</div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS代码

.child-1, .child-2, .child-3 {
    border: 1px solid black; 
    background-color: gray; 
    margin-bottom: 10px;
}
.child-1, .child-3 {
    height: 20px;
}
.child-2 { …
Run Code Online (Sandbox Code Playgroud)

html css css3 flexbox angular-material

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

序列化和普通对象存储的区别?

序列化是将存储在内存中的对象转换为要通过网络传输、存储在数据库等中的字节流的过程。

但是对象不是已经作为位和字节存储在内存中了吗?为什么我们需要另一个进程将存储为字节的对象转换为另一种字节表示?我们不能直接通过网络传输对象吗?

我想我可能在对象存储在内存中的方式或访问对象字段的方式中遗漏了一些东西。

有人可以帮我解决这个困惑吗?

c# java oop serialization

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

nodeJS中的双下划线与单下划线

我在使用 nodeJS 时遇到了 2 个相互冲突的命名约定。有些变量以单个下划线开头,例如_temp,而有些变量以双下划线开头,例如__dirname

我一直试图寻找这个命名约定差异的答案。我在变量前检查了双下划线,但答案非常具体到__dirname__filename。它没有解决冲突的命名约定。

如果有人可以为此提供资源,那就太好了。

javascript naming-conventions node.js

4
推荐指数
2
解决办法
4985
查看次数

流星中的延迟加载有什么用?

我具有以下应用程序结构:

client/
---- main.js
imports/
---- startup/
-------- client/
------------ routes.js
---- ui/
-------- login/
------------ login.html
------------ login.js
-------- register/
------------ register.html
------------ register.js
Run Code Online (Sandbox Code Playgroud)

以下是文件的内容:

客户端/ main.js

import "/imports/startup/client/routes.js";
Run Code Online (Sandbox Code Playgroud)

导入/启动/客户端/routes.js

import "../../ui/login/login.js";
import "../../ui/register/register.js";
// other routing code
Run Code Online (Sandbox Code Playgroud)

导入/ui/login/login.js

import "./login.html";
// other login code
Run Code Online (Sandbox Code Playgroud)

导入/ui/register/register.js

import "./register.html";
// other register code
Run Code Online (Sandbox Code Playgroud)

当我运行流星应用程序并检出app.js加载到Chrome DevTools中的源代码中的JS文件时,我发现登录和注册模板均已加载。我知道为什么会这样。

我不理解的是这种情况下的延迟加载。我所有的模板和HTML的加载方式与渴望加载的方式相同。

我的应用程序结构有问题吗?我正在遵循流星指南中建议的应用程序结构:https : //guide.meteor.com/structure.html#example-app-structure

也许我不正确理解延迟加载?

lazy-loading node.js meteor meteor-blaze flow-router

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

Python真实性-不同检查之间的不同行为

在Python中了解了Truthiness,并理解[]和解释类似的空对象一样False

但是,当我在REPL中键入以下内容时,它将返回False

>>> [] == False
False
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

python truthiness

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