我们有一个包含SVM AI输入数据和结果的Git存储库.每次运行新模型时,我们都会为该模型创建一个新的根文件夹,以便我们可以随时组织结果:
/run1.0
/data
... 100 mb of data
/classification.csv
/results.csv
...
/run2.0
/data
... 200 mb of data (including run1.0/data)
/classification.csv
/results.csv
...
Run Code Online (Sandbox Code Playgroud)
在我们构建新模型时,我们可能会从之前的运行中获取数据(大型.wav文件).这意味着我们的数据文件夹2.0可能包含1.0 /数据中的所有文件以及我们可能收集的其他数据.
如果我们继续这样做,回购很容易超过千兆字节.
Git是否有办法识别重复的二进制文件并仅存储一次(例如像符号链接)?如果没有,我们将重新设计数据的存储方式.
为了在工作中进行演示,我想比较NodeJS和C的性能.这是我写的:
Node.js(for.js):
var d = 0.0,
start = new Date().getTime();
for (var i = 0; i < 100000000; i++)
{
d += i >> 1;
}
var end = new Date().getTime();
console.log(d);
console.log(end - start);
Run Code Online (Sandbox Code Playgroud)
C(for.c)
#include <stdio.h>
#include <time.h>
int main () {
clock_t start = clock();
long d = 0.0;
for (long i = 0; i < 100000000; i++)
{
d += i >> 1;
}
clock_t end = clock();
clock_t elapsed = (end - start) / (CLOCKS_PER_SEC …Run Code Online (Sandbox Code Playgroud) 下面是一个非常标准的 nginx proxy_pass 设置:
server {
listen 80;
server_name ireport.jungdigital.com;
access_log /var/log/nginx/ireport.access.log;
root /var/www/ireport.jungdigital.com/dist;
index index.html index.htm;
location / {
}
location /api/ {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Reques
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Reques
}
if ($request_method …Run Code Online (Sandbox Code Playgroud) 简短说明:
我正在尝试编写一个简单的游戏Node.js,需要在每个回合等待用户输入.我如何avoid callback在一个转弯循环内部地狱(例如凌乱的代码),每个转弯循环迭代需要阻止并等待来自标准输入的输入?
很长的解释:
当有人要求阻止stdin输入时,我在StackOverflow上读到的所有解释似乎都是"那不是Node.js的意思!"
我知道Node.js设计为非阻塞,我也理解为什么.但是我觉得它让我陷入困境和如何解决这个问题的困难之中.我觉得我有三个选择:
使用选项(1),我将反对Node.js非阻塞IO的原则.使用选项(2),我将最终达到堆栈溢出,因为每次调用都会向调用堆栈添加另一个转弯.使用选项(3),我的代码最终会变得混乱.
在Node.js内部有默认函数,标记为**Sync(例如,参见fs库或sleep函数),我想知道为什么没有用于获取用户输入的Sync方法?如果我要写一些类似于fs.readSync我将如何去做并仍然遵循最佳实践的东西?
node.js ×2
blocking ×1
c ×1
git ×1
httpresponse ×1
nginx ×1
optimization ×1
performance ×1
stdin ×1