小编pan*_*nzi的帖子

node.js:stdin的readSync?

是否可以从node.js中的stdin同步读取?因为我正在用JavaScript编写一个关于JavaScript编译器的脑筋(只是为了好玩).Brainfuck支持需要同步实现的读取操作.

我试过这个:

const fs = require('fs');
var c = fs.readSync(0,1,null,'utf-8');
console.log('character: '+c+' ('+c.charCodeAt(0)+')');
Run Code Online (Sandbox Code Playgroud)

但这只产生这个输出:

fs:189
  var r = binding.read(fd, buffer, offset, length, position);
              ^
Error: EAGAIN, Resource temporarily unavailable
    at Object.readSync (fs:189:19)
    at Object.<anonymous> (/home/.../stdin.js:3:12)
    at Module._compile (module:426:23)
    at Module._loadScriptSync (module:436:8)
    at Module.loadSync (module:306:10)
    at Object.runMain (module:490:22)
    at node.js:254:10
Run Code Online (Sandbox Code Playgroud)

stdin synchronous node.js

51
推荐指数
9
解决办法
4万
查看次数

如何用Python编写shell

我写了一个可以执行某些任务的小型控制台应用程序.用户界面类似于版本控制系统或yum等.因此,基本上您可以将其视为特定于域的语言.现在我想编写一个(类似bash)shell,它可以执行并自动完成这种语言并具有命令历史记录(因此我不必在每个命令上加载和保存相当大的xml文件).简而言之,我想要像ipython这样的东西,但不是为了执行python代码而是我自己的DSL.

是否有任何图书馆可以帮助我这样做?我看到python中有一个readline和rlcompleter模块但是它的文档似乎表明这只是用于python shell本身,或者我错过了什么?

python shell

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

echo shell-escapes参数

是否有一个命令不仅仅是回声它的参数,而且如果需要也会逃避它们(例如,如果参数包含空格或特殊字符)?

我需要它在一些shell魔法中,而不是在一个脚本中执行命令我回应命令.此输出通过管道传递给python脚本,该脚本最终以更有效的方式执行命令(它加载实际目标python脚本的main()方法并使用给定的参数执行它,并且通过计算数据之间的其他参数进行缓存运行main()).

而不是我当然可以将所有shell魔法移植到python,在那里我不需要管道任何东西.

bash shell arguments escaping echo

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

_LARGEFILE_SOURCE和_FILE_OFFSET_BITS = 64有什么区别?

我明白-D_FILE_OFFSET_BITS=64原因off_t是64位.那么-D_LARGEFILE_SOURCE这项工作尚未完成-D_FILE_OFFSET_BITS=64呢?这些定义究竟做了什么?

c linux linux-from-scratch

12
推荐指数
2
解决办法
7391
查看次数

将鼠标事件传播给模糊的元素

JavaScript中是否有一种方法可以将事件传播给被另一个模糊的元素?因为我有一个position: absolute元素,它隐藏了不是它的父元素的元素,但我想点击,mousemove和mousout事件来传递这个元素.解决方案可以是特定于Mozilla Firefox的,因为我将在Firefox附加组件中使用它.

javascript css mouseevent

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

在python中编写一个快速解析器

我已经为一个讲座中的一些文件格式(ARFF)编写了一个动手的递归纯python解析器.现在运行我的运动提交非常缓慢.到目前为止,我的解析器花费的时间最多.它消耗了大量的CPU时间,HD不是瓶颈.

我想知道在python中编写解析器的高效方法是什么?我宁愿不用C重写它.我试图使用jython,但这会降低性能!我解析的文件部分很大(> 150 MB),行很长.

我当前的解析器只需要预览一个字符.我会在这里发布消息来源,但我不知道这是不是一个好主意.在所有提交截止日期尚未结束之后.但是,本练习的重点不是解析器.您可以选择要使用的任何语言,并且已经有一个Java解析器.

注意:我有一个x86_64系统,所以psyco(似乎也是PyPy)是没有选择的.

更新:我现在将我的解析器/ 编写器上传到bitbucket.

python parsing arff

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

Rails 3 web字体(woff)mime类型

我们从静态资产中提供一些Web字体(.woff),我想设置正确的mime类型(application/x-font-woff).我尝试这样做config/initializers/mime_types.rb但它没有效果:

Mime::Type.register "application/x-font-woff", :woff
Run Code Online (Sandbox Code Playgroud)

返回的哑剧类型仍然存在application/octet-stream.我甚至试图添加这一行(因为它是rails源中唯一可以找到字符串的地方"woff"):

Rack::Mime::MIME_TYPES[".woff"] = "application/x-font-woff"
Run Code Online (Sandbox Code Playgroud)

但它仍然无济于事.如何正确设置Web字体的mime类型?

webfonts woff mime-types ruby-on-rails-3

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

MinGW:使用 __declspec(dllexport) 还是 __attribute__((visibility("default")))?

MinGW 支持__declspec(dllexport)/吗__declspec(dllimport)?即使是这样,我应该使用吗__attribute__((visibility("default")))?基本上我应该根据平台或编译器来决定使用什么?

应该是这样吗?

#ifdef _MSC_VER
#   ifdef MYLIB_EXPORTS
#       define MYLIB_API __declspec(dllexport)
#   else
#       define MYLIB_API __declspec(dllimport)
#   endif
#else
#   define MYLIB_API __attribute__((visibility("default")))
#endif
Run Code Online (Sandbox Code Playgroud)

或者像这样?

#if defined(_WIN32) || defined(_WIN64)
#   ifdef MYLIB_EXPORTS
#       define MYLIB_API __declspec(dllexport)
#   else
#       define MYLIB_API __declspec(dllimport)
#   endif
#else
#   define MYLIB_API __attribute__((visibility("default")))
#endif
Run Code Online (Sandbox Code Playgroud)

那么像__declspec(align(16))Vs这样的事情呢?__attribute__((aligned(16)))

c dll mingw shared-libraries

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

在 Linux for Mac 上交叉编译简单的标准 C 程序

Linux 下 Mac 的交叉编译是一个主要的 PITA。要设置交叉编译,您需要一个 Apple 开发人员帐户、XCode 的 SDK 等。我尝试过,但无法让它工作。无论如何,似乎所有可用的说明都已过时。

但我要编译的程序只是一个小型 shell 工具,只需要一个标准 C 库(最好是静态链接的 glibc)。无需 Mac 框架或 Objective-C。在 Windows 上编译这样的二进制文件很容易,但在 OS X 上就不那么容易了。看起来几乎所有缺少的都是链接部分,因为你可以像这样构建 mach-o 对象文件:

clang -target i386-apple-darwin-macho hello_world.c -o hello_world.o -c
Run Code Online (Sandbox Code Playgroud)

但当然事情没那么简单,因为这会产生一个错误:

echo $'#ifdef __linux__\n#error "thinks it\'s for linux"\n#endif'| \
    clang -x c - -o /dev/null -c
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Linux 下使用未打补丁的 clang 为 Mac OS X 编译 mach-o 对象?那么有没有一种方法可以将这样的目标文件与 Mac 的静态 glibc 链接起来,以便它在 OS X 下运行?我从哪里得到这样的 glibc (我想我必须自己编译它)?

c linux macos clang cross-compiling

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

有没有办法在繁重的DOM操作期间暂停重排?

我需要在我编写的附加组件中对整个网页文档进行大量的DOM操作.我想尽量减少回流,因此我的所有操作只会发生一次回流.删除body元素,执行操作然后再次插入它不是一个选项,因为这会重新评估所有<script>元素.目前我'none'在操作之前设置了主体的可见性并恢复了显示后的值.不过,我不确定这是否是解决这个问题的最佳方法.

有没有更好的办法?当然它可能是Firefox特定的代码.毕竟它是一个Firefox附加组件.

firefox dom reflow

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