我有一个遗留项目正在运行docker-compose。一年前,它是从以下配置开始的。
现在它抛出一个错误:
exec /usr/local/bin/docker-entrypoint.sh: exec format error
Run Code Online (Sandbox Code Playgroud)
我想使用 CMD 配置运行容器。我在网上发现#!/bin/bash需要添加以避免这个错误,我将其添加到Dockerfile中。
没有自定义docker-entrypoint.sh定义。据我了解,需要有一个入口点或一个命令。
CMD 的主要目的是为执行容器提供默认值。这些默认值可以包含可执行文件,也可以省略可执行文件,在这种情况下,您还必须指定 ENTRYPOINT 指令。
#!/bin/bash
#nodejs
FROM node:11.15
ENV NODE_VERSION 11.15
#app directory
WORKDIR ./
#mongodb tools
RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
RUN echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list
RUN apt-get update
RUN apt-get install -y mongodb
RUN apt-get install nano
#nodejs packages
# A wildcard is used to ensure both package.json AND package-lock.json are copied …Run Code Online (Sandbox Code Playgroud) 我使用这个yeoman生成器:https: //github.com/Swiip/generator-gulp-angular
它安装了三个测试应用程序:Jasmine,Karma,Protractor根据这篇文章(我应该使用Protractor或Karma进行端到端测试吗?),我应该使用:Karma用于例如单个控制器的小测试.Protactor如果我想测试整个应用程序并模拟用户浏览我的应用程序.根据这篇博客(http://andyshora.com/unit-testing-best-practices-angularjs.html),我将使用Jasmine进行单元测试,使用Karma进行端到端集成测试.
我猜Jasmine是编写测试的语言,另外两个执行代码,这是正确的吗?另外,如果我从未写过一个更重要的是先学习/专注的测试?
我找到了一些repos,它看起来并不像它们仍然保持着:
我试过的方法有libreoffice,但PDF输出是如此糟糕,这是不可用的(上差异文本.页等).
如果可能的话,我想避免启动任何后台进程和/或在服务器上保存文件.最好的解决方案是我可以使用缓冲区.出于隐私原因,我无法使用任何外部服务.
doc buffer -> pdf buffer
如何在nodejs中将docs转换为pdf?
如何从 WAV(或 AIFF)中提取时间/频率/幅度信息?我想要一个数组形式的频谱图,例如
\n[ \n [ // 1st sample, time\n [frequency1_t1, amplitude_f1t1], [frequency2_t1, amplitude_f2t1], ...\n ],\n [ // 2nd sample, time\n [frequency1_t2, amplitude_f1t2], [frequency2_t2, amplitude_f2t2], ...\n ]\n]\nRun Code Online (Sandbox Code Playgroud)\n(或类似,形状不相关)
\n目前我不明白:
\n我期望一个数组,其中包含频谱中每个频率的值。例如 0.2 代表 40Hz,0.3 代表 41Hz 等等...但我得到一个样本长度一半的数组。
\n代码:
\nrequire(\'dotenv\').config()\nconst fs = require(\'fs\');\nconst ft = require(\'fourier-transform\');\nconst db = require(\'decibels\');\nconst sine = require(\'audio-oscillator/sin\');\nconst WaveFile = require(\'wavefile\');\nconst {unpackArray} = require(\'byte-data\');\n\n\nconst generateLength = 1024// 11289600; // 1024\n\n/**\n * Return the sample at a given index.\n * @param {number} startIndex …Run Code Online (Sandbox Code Playgroud) 当我在mongoose承诺中有错误时bluebird.我没有正确的行号,这使我很难找到错误.
unknownFunction("A")#show me the correct line number in the trace
async.timesSeries 100,
(index, next) ->
unknownFunction("B") #show me only the line number where I catch the error
process.on 'uncaughtException', (err)->
console.log err.stack
console.trace err
throw err
Run Code Online (Sandbox Code Playgroud)
问题:如何获取正确的行号而不是捕获错误的行号?
PS:到目前为止我找到并尝试过这个:https: //github.com/groundwater/node-stackup 但它给了我很多不相关的行号.
这就是我用bluebird初学mongoose的方式:
Promise = require("bluebird")
Promise.config({
longStackTraces: true
warnings: {
wForgottenReturn: false
}
})
mongoose = require('mongoose')
mongoose.Promise = Promise
mongoose.set('error', true)
Run Code Online (Sandbox Code Playgroud)
ReferenceError: unknownFunction is not defined
- patient.update.js:267
Run Code Online (Sandbox Code Playgroud)
somepath/.tmp/serve/server.js:294
throw err; …Run Code Online (Sandbox Code Playgroud) 我想在 NestJs 中动态创建类实例,而不是单例。
我找到了两种方法:
import { ChirpSensor } from './chirp-sensor/chirp-sensor';
@Injectable()
export class SensorsService {
registeredSensors: any;
constructor(
@InjectModel('Sensor') private readonly sensorModel: Model<ISensor>,
private i2cService: I2cService) {
const sensors = this.i2cService.getSensors();
sensors.forEach((sensor) => {this.registeredSensors[sensor._id] = new ChirpSensor({name: sensor.name})});
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是否与nest.js的DI方式一致
export const chirpFactory = {
provide: 'CHIRP_SENSOR',
useFactory: (options) => {
console.log('USING FACTORY CHIRP, options', options)
if (process.env.SIMULATION === 'true') {
return new ChirpSensorMock(options);
}
else {
return new ChirpSensor(options);
}
}
};
Run Code Online (Sandbox Code Playgroud)
不太确定如何继续这里/正确注入工厂,因为示例在构造函数中创建对象而没有选项?
NestJs …
我想构建一个具有以下结构header-view,main-view,footer-view的站点.所以我定义了一个包含页眉和页脚的根路由.root的孩子将成为我的所有站点.在这些站点中,我将拥有更多嵌套视图.
在下面的代码中,它确实显示标题,但不显示页脚和主视图.一旦我删除父继承,它就会显示主视图,但不会显示页眉和页脚.
HTML
<body ng-app="App">
<header ui-view="header"></header>
<main ui-view></ui-view>
<footer ui-view="footer"></footer>
</body>
Run Code Online (Sandbox Code Playgroud)
JS
module.config(function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('root', {
abstract: true,
views: {
'@': {
controller: 'RootCtrl',
controllerAs: 'rootCtrl'
},
'header@': {
templateUrl: 'modules/header/header.html',
controller: 'HeaderCtrl',
controllerAs: 'headerCtrl'
},
'footer@': {
templateUrl: 'modules/footer/footer.html',
controller: 'FooterCtrl',
controllerAs: 'footerCtrl'
}
}
})
.state('root.home',{
parent:'root',
url:'',
templateUrl:'modules/home/home.html',
controller: 'HomeController',
controllerAs:'homeCtrl'
});
});
Run Code Online (Sandbox Code Playgroud) FileySync找不到找到的其他模块的子文件夹(我也尝试过相同的文件夹)中的文件。

console.log __dirname
https = require('https')
fs = require('fs')
sslOptions = {
key: fs.readFileSync('./config/ssl/server.key'),
cert: fs.readFileSync('./config/ssl/server.crt'),
ca: fs.readFileSync('./config/ssl/ca.crt'),
requestCert: true,
rejectUnauthorized: false
}
secureServer = https.createServer(sslOptions,app).listen('3030', () ->
console.log("Secure Express server listening on port 3030")
)
configDB = require('./config/database.js')(environment)
Run Code Online (Sandbox Code Playgroud)
找到database.js,没有找到ssl文件。记录的目录名:
---my project folder--/.tmp/serve
Run Code Online (Sandbox Code Playgroud)
文件权限:
配置
-rw-r--r-- 1 MasterG staff 93 14 Apr 14:06 config.js
-rw-r--r-- 1 MasterG staff 526 14 Apr 14:06 database.js
drwxr-xr-x 6 MasterG staff 204 14 Apr 13:51 ssl
Run Code Online (Sandbox Code Playgroud)
ssl
-rw-r--r-- 1 MasterG staff 912 14 Apr …Run Code Online (Sandbox Code Playgroud) 我收到此打字稿错误:
错误TS2403:后续变量声明必须具有相同的类型。变量“环境”必须为“字符串”类型,但此处为“任何”类型。
...
"typescript": "^1.8.10",
...
Run Code Online (Sandbox Code Playgroud)
var environment = require('./config/config.js')()
Run Code Online (Sandbox Code Playgroud)
module.exports = function(): string {
//Environment
let env:string = process.env.NODE_ENV || 'development'
return env
}
Run Code Online (Sandbox Code Playgroud)
我需要做些什么才能使函数的返回值识别为a string?
{
"compilerOptions": {
"target": "ES5",
"module": "system",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
我加了一个typings.json用
{
"globalDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
"node": "registry:dt/node#6.0.0+20160621231320"
}
} …Run Code Online (Sandbox Code Playgroud) 我想查询一个公钥的 eth 余额和所有代币余额。到目前为止,我设法加载web3并调用了该getBalance方法。
现在,我想查看使用相同公钥存储的 ERC20 代币的余额?例如我想查看OMG代币余额?
到目前为止我发现每个代币合约地址都要查询:https : //ethereum.stackexchange.com/questions/15372/how-can-i-view-all-the-tokens-and-contracts-related-with- an-ethereum-address
omgContractAddress = "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07"
OmgContract = web3.eth.contract(abi)
omgContract = OmgContract.at(omgContractAddress)
someUsersAddress = "0x75087d9faa28d653750f3e4c86e7dcf6aff0a916"
omgContract.balanceOf someUsersAddress, (err, balance)-> #some owner
console.error err
console.info balance.toNumber()
Run Code Online (Sandbox Code Playgroud)
问题:
1) 我需要abi每个令牌的 吗?或者我可以使用标准化abi的 ERC20 代币,只要我只想使用标准化的方法吗?
2)我在哪里可以找到abi?还是我需要重新编译每个合同?
例如 OMG:https : //etherscan.io/token/OmiseGo
node.js ×4
abi ×1
angularjs ×1
asynchronous ×1
audio ×1
balance ×1
doc ×1
docker ×1
e2e-testing ×1
factory ×1
jasmine ×1
karma-runner ×1
nestjs ×1
pdf ×1
protractor ×1
spectrogram ×1
ssl ×1
typescript ×1
web3js ×1