当然,这个问题可能并不特定于树莓派.另外,我对Linux比较陌生.
我想写一个小库(在node.js中,如果这很重要)来使用sysfs访问raspberry pi的GPIO.但是,访问sysfs需要sudo访问权限,这显然是有原因的.
Quick2Wire似乎有一个解决方案,但我想更好地理解它,而不是盲目地使用它.他们当然使用了C语言,但从我的理解来看,代码并不复杂,而且可能只用bash就可以完成,即使不那么优雅.但是,最重要的是,我不确定它为什么会起作用.
任何帮助都会很棒.
编辑:感谢您的评论.很明显,我需要重新解释这个问题.这里说:一旦安装(作为root),应用程序不再需要使用根权限吗?在这种情况下,如何将某人添加到群组中?/sys/devices/virtual/gpio不是gpio sysfs可用的位置,那有什么诀窍呢?我真的是一个n00b,所以这些问题可能是n00b-ish,所以请耐心等待.
我最近被告知在URL中使用mongodb _id字段是不安全的.我想知道这是不是真的.
我的网站仅限注册用户,每个用户的URL端点都包含来自mongo的ID.这是典型的mongodb _id字段 - SHA1.AFAIK,id是不可取的,即使有人点击别人的id,我的应用程序中基于会话的身份验证也不允许访问.除应用程序本身外,没有人可以直接访问数据库.
我很想知道是否有任何我想念的东西.
编辑:澄清的问题.(mongodb ObjectID不是SHA1)
我尝试过为Node.js使用各种XMPP库,但是无法连接到Google Talk的XMPP服务器.我想连接和阅读朋友的状态,但我甚至无法出门!
mydomain.com.我已经编写了以下代码 - 它使用了node-xmpp库(https://github.com/astro/node-xmpp):
jid = 'ryan@mydomain.com';
password = 'my_google_password';
// Establish a connection
var conn = new xmpp.Component({
jid : jid,
password : password,
host : 'talk.google.com',
port : 5222
});
conn.on('online', function(){
sys.put("ONLINE");
});
conn.on('error', function(e) {
sys.puts(e);
});
Run Code Online (Sandbox Code Playgroud)建立连接,但身份验证失败,我从Google Talk收到此消息:
<stream:error xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
<not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-streams"/>
</stream:error>
Run Code Online (Sandbox Code Playgroud)
......我错过了什么吗?我已经尝试过其他库(https://github.com/mwild1/xmppjs),甚至是Python库,但仍然无法进行身份验证.我100%确定我的Google用户名和密码是否正确 - 任何提示/想法?
我目前正在http上运行我的网站,并希望将其移至https,以便nginx自动处理重定向.我想,这是相当微不足道的.
但是,有一个文件(由于多种原因)与其他网站热链接,其中一些是通过http而一些通过https.我想确保该文件可通过http和https使用,以确保浏览器不会抱怨"混合内容"对话框.该文件的路径如下所示:
HTTP(S)://mydomain.com/scripts/ [some_sha1_hash] /file.js
因此,nginx规则应该说:"如果请求已经通过https,一切都很好,只需反向代理它.否则,将所有请求从http重定向到https,除非请求这一个文件,在这种情况下,请做任何这样的http-> https重定向."
任何人都可以告诉我在哪里学习这样的配置,或者帮我配置本身?提前致谢.(对不起,但我在nginx配置上还不够熟练.)
在我的应用程序的某一点上,我需要在模式上匹配一些字符串.假设一些示例字符串如下所示:
这些字符串中的大多数(不是全部)来自预定义的模式,如下所示:
这个模式库不断扩展(目前约为1,500),但需要手动维护.但是输入字符串(第一组)在很大程度上是不可预测的.虽然它们中的大多数都会匹配其中一种模式,但有些模式不会.
所以,这是我的问题:给定一个字符串(来自第一组)作为输入,我需要知道它匹配的模式(已知的第二组).如果没有匹配,它需要告诉我.
我猜测解决方案涉及从模式中构建正则表达式,并迭代检查哪一个匹配.但是,我不确定构建这些正则表达式的代码是什么样的.
注意:我在这里给出的字符串仅用于说明目的.实际上,字符串不是人类生成的,而是计算机生成的人性友好字符串,如上所示,来自我无法控制的系统.由于它们不是手动输入的,因此我们不需要担心拼写错误和其他人为错误.只需要找到它匹配的模式.
注意2:我可以将模式库修改为其他格式,如果这样可以更容易地构造正则表达式.printf样式为%s的当前结构并非一成不变.
我正在开发一个扩展程序,该扩展程序需要在某个时候将焦点设置到地址栏。我一直在尝试RTFM,但是FM太难读了!
有人知道在Firefox扩展中将焦点设置到地址栏的任何方法吗?
TIA。
我想设计这个有两个主要组成部分的系统:
这将在Java中开发,但问题适用于任何经典的OO语言.如何在正在运行的系统中替换2以上而不重新编译1,并且在运行时甚至不停止1.重新编译2是可以的,但我不应该打扰1.
有没有任何设计模式可以做到这一点?我认为这有点类似于插件行为,但2实际上对应用程序的工作至关重要,而不仅仅是附加组件.