小编Ole*_*yan的帖子

模态宽度(增加)

我希望模态为屏幕宽度的80%左右.modal-lg不够大.这个:

.modal .modal-dialog {
  width: 80%;
}
Run Code Online (Sandbox Code Playgroud)

不适用于Bootstrap 4.

bootstrap-modal bootstrap-4

41
推荐指数
4
解决办法
7万
查看次数

如何向“子”子进程发送信号?

Child::kill发送SIGKILL,但是如何发送其他信号SIGTERM呢?我可能可以使用libc及其信号API,但是有更好的方法吗?

rust

7
推荐指数
2
解决办法
538
查看次数

PostgreSQL 用另一列的值更新 JSONB 列

我想将数据从一列 (varchar) 迁移到另一列 (jsonb)

   Column   |            Type             |                       Modifiers                        
------------+-----------------------------+--------------------------------------------------------
 id         | integer                     | not null default nextval('merchants_id_seq'::regclass)
 name       | character varying           | not null
 nameb      | jsonb                       | not null default '{}'::jsonb
Run Code Online (Sandbox Code Playgroud)

所以这nameb将成为{"en": "$name"}其中$name的一个值name字段。

例如:

选择名称,名称 b

前:

                 name                 |   nameb    
--------------------------------------+------------
 hello                                | {} 
 world                                | {}
Run Code Online (Sandbox Code Playgroud)

后:

                 name                 |   nameb    
--------------------------------------+------------
 hello                                | {"en": "hello"}
 world                                | {"en": "world"}
Run Code Online (Sandbox Code Playgroud)

使用常规类型我可以做到UPDATE SET whatever = (SELECT ...),但是如何使用 jsonb 做到这一点? …

sql postgresql jsonb postgresql-9.4

6
推荐指数
2
解决办法
1648
查看次数

如何从 std::io::Error 获取消息字符串?

这有效:

format!("{:?}", error)) 
// Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
Run Code Online (Sandbox Code Playgroud)

但我只想要message字段,而不是完整的调试打印。我如何得到它?

error.message // unknown field
error.message() // no method named `message` found for type `std::io::Error` in the current scope
Run Code Online (Sandbox Code Playgroud)

rust

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

BeagleBone Black Adafruit IO Python库GPIO用户权限

我在Debian的Adafruit Python IO库中遇到GPIO问题(来自armhf.org).它以root身份运行,但不像普通用户那样运行.

我添加了udev规则;

KERNEL=="gpio*", SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/bin/sh -c 'chown -R debian:gpio /sys/class/gpio'"
KERNEL=="gpio*", SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/bin/sh -c 'chown -R debian:gpio /sys/devices/virtual/gpio/'"
Run Code Online (Sandbox Code Playgroud)

我的用户"debian"在组"gpio"中.现在我可以在用户的​​shell中使用echo ...>/sys ...来控制gpio.但不是python.它没有错误就行不通.

但是,如果我手动运行"echo 45>/sys/class/gpio/export"然后在这个gpio上启动python它将起作用.

我可以在启动python脚本后在/ sys/class/gpio中看到gpio45,但是它不起作用.它只能在手动导出后才能工作.我尝试从源代码编译函数gpio_export()并手动启动它.它确实有效.但在实际脚本中它只创建gpio文件,但不起作用.

这是我的测试脚本:

import Adafruit_BBIO.GPIO as GPIO                                                                    
import time                                                                                          

P = "P8_11"                                                                                          

GPIO.setup(P, GPIO.OUT)                                                                              
for i in xrange(100):                                                                                
        if i % 2 == 0:                                                                               
                GPIO.output(P, GPIO.HIGH)                                                            
        else:                                                                                        
                GPIO.output(P, GPIO.LOW)                                                             
        time.sleep(0.5)                                                                              
GPIO.cleanup() 
Run Code Online (Sandbox Code Playgroud)

谢谢

- = UPDATED = - 这是一个错误.我在项目的github页面上发布了它以及为我解决问题的残酷补丁https://github.com/adafruit/adafruit-beaglebone-io-python/issues/36

--- adafruit-beaglebone-io-python/source/py_gpio.c  2013-09-17 20:10:08.000000000 +0300
+++ adafruit-beaglebone-io-python/source/py_gpio.c  2013-09-21 02:54:43.000000000 +0300
@@ -105,10 +105,26 @@ …
Run Code Online (Sandbox Code Playgroud)

python debian gpio raspberry-pi beagleboneblack

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

保护SD卡Raspberry Pi上的数据

我需要在Raspberry上存储敏感数据,以便在Raspberry上运行的软件可以使用它,但没有其他人不能.我可以设置硬密码,禁用tty等,但是很容易删除SD卡并在PC上查看.

我的第一次尝试是eCryptFS.它似乎很好,但有一个问题.如何存储密码并使用它来挂载加密的fs?eCryptFS可以从文件中读取密码或将其作为mount参数.显然,我不能使用文件,因为它存储不安全.此外,我可以编写一个程序,它将硬编码(和混淆)密码短语作为cli参数或stdin从mount.ecryptfs提供.但在这种情况下,也可以运行此程序并在进程列表中查看带有密码的整个命令行.

现在我正在考虑在ecryptfs本身中对我的密码进行硬编码(或者甚至从受保护的eeprom中读取它),因此它只能在我的设备上运行.或者我可以使用其他加密系统,但所有加密系统都必须在某个地方采用密钥形式.因此,我所看到的唯一方法就是eeprom或硬编码.

有没有更好的方法将敏感数据安全地存储在Raspberry的SD卡上?

linux encryption ecryptfs raspberry-pi

5
推荐指数
2
解决办法
6942
查看次数

找不到子目录的.pro文件 - 当subdir包含相对路径时

我有一个带有子模板的顶级.pro文件

TEMPLATE = subdirs

SUBDIRS += \
    common/tests
Run Code Online (Sandbox Code Playgroud)

common/tests 包含.pro文件,但qmake找不到它:

Could not find .pro file for sub dir "common/tests" in "/home/o.antonyan/Documents/mt3/main/src/common/tests"
Run Code Online (Sandbox Code Playgroud)

但它在那里:

ls /home/o.antonyan/Documents/mt3/main/src/common/tests
api             interfaces            Makefile          tests_common.pro.user  ui
dataformat.cpp  local_enviroment.cpp  tests_common.pro  types
Run Code Online (Sandbox Code Playgroud)

如果我将此pro文件移动到父目录并修改topp-level qmake,SUBDIRS += common那么它可以工作.问题是只有当子目录包含超过1级深度的相对路径时.

QMake 3.0版在GNU/Linux x86上使用Qt版本5.4.1,Qt从源代码编译

qt qmake qt5

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

Rails3,阿帕奇,乘客不工作.但rails2应用程序在相同的环境中工作

ENV:

  • OpenSUSE 11.4
  • Apache 2.2.17
  • 乘客3.0.18
  • Ruby 1.8.7
  • Rails 3.2.8

我已经在apache下安装了RoR应用程序 - ChiliProject(但是使用rails 2.3.14)并且它工作正常.

它安装在/chiliproject和httpd配置中(实际上在默认服务器中,因为我没有vhosts)我有"RailsBaseURI/chiliproject/public".

现在,我需要开发自己的应用程序(Web开发的第一次经验).

"rails new hello_world",Webrick运行正常,但我想用CGI在apache下运行它.我添加了"RailsBaseURI/hello_world/public".但它不能正常工作.当我在索引页面上按"关于您的应用程序环境"时,它会给我404"您正在寻找的页面不存在.".对于rails中的任何路由,它给出错误500或404.但相同的路由和控制器与webrick一起工作正常.即使我把ChiliProject放入/ hello_world也行得通.这意味着问题不在于阿帕奇或乘客.

日志中没有apache/passenger错误,只有404或500.我尝试过"rails 2.4.13 new hello_world",但它给了我很多错误,简单的谷歌搜索并没有解决所有问题.因此,我无法使用rails 2.4.13轻松创建一个新项目,该项目可以与其他应用程序一起使用,我认为它无法提供帮助.

我在ruby网站上看到1.8.7可能会导致使用rails3崩溃.之后我花了4个小时研究RVM和不同的ruby版本.毕竟,ChiliProject(甚至最新版本)不能与ruby 1.9一起工作,我的原始问题没有消失.现在我把所有东西都归还了(ruby 1.8.7来自发行版的repo并且没有RVM).

apache ruby-on-rails passenger

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

Python永远打开fifo块

我正在尝试使用Python中的命名管道来实现IPC,但是存在问题。open阻碍进程

import os
path = '/tmp/fifo'
os.mkfifo(path)
fifo = open(path, 'w') # never returns
Run Code Online (Sandbox Code Playgroud)

与...相同 open(path, 'r')

我究竟做错了什么?

的Python 3.6.1

python named-pipes

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

通过管道捕获标准输出和标准错误

我想从子进程中读取stderr和stdout,但是它不起作用。

use std::process::{Command, Stdio};
use std::io::{BufRead, BufReader};

fn main() {
    let mut child = Command::new("./1.sh")
        .stdout(Stdio::piped())
        .stderr(Stdio::piped())
        .spawn()
        .unwrap();

    let out = BufReader::new(child.stdout.take().unwrap());
    let err = BufReader::new(child.stderr.take().unwrap());

    out.lines().for_each(|line|
        println!("out: {}", line.unwrap())
    );
    err.lines().for_each(|line|
        println!("err: {}", line.unwrap())
    );

    let status = child.wait().unwrap();
    println!("{}", status);
}
Run Code Online (Sandbox Code Playgroud)

1.sh

use std::process::{Command, Stdio};
use std::io::{BufRead, BufReader};

fn main() {
    let mut child = Command::new("./1.sh")
        .stdout(Stdio::piped())
        .stderr(Stdio::piped())
        .spawn()
        .unwrap();

    let out = BufReader::new(child.stdout.take().unwrap());
    let err = BufReader::new(child.stderr.take().unwrap());

    out.lines().for_each(|line|
        println!("out: {}", line.unwrap())
    );
    err.lines().for_each(|line|
        println!("err: {}", …
Run Code Online (Sandbox Code Playgroud)

stdout pipe stderr rust

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