小编Bri*_*ker的帖子

在VSCode中的列处自动硬包装线

如何在VSCode中自动硬包裹线?我的意思是,如果一行到达指定的列,则自动在最靠近该列的单词边界处插入换行符而不进行操作.Vim有一个名为textwidth的设置,我喜欢在编辑Markdown时使用它.据我所知,它似乎不像VSCode.它只是控制软包装的方法.

visual-studio-code vscode-settings

68
推荐指数
6
解决办法
4万
查看次数

C++ 11向后兼容性

我可以使用c ++ 11中的任何东西并期望编译的二进制文件在旧系统上运行吗?如何判断c ++ 11的哪些部分是libstdc ++的一部分.那么实际编译成二进制文件的是什么?也许我不完全理解这些事情是如何起作用的.c ++ 11是否会破坏ABI与旧库的兼容性?

清晰的一个例子:

假设我编译了一个使用auto的程序和基于for循环的新范围.这些东西看起来应该适用于具有旧c ++运行时的系统,因为它们分解为在这些机器上有效的c ++.但是,使用像regex这样的东西应该在旧系统上中断,因为它不会在运行时.

我还没有测试过我的理论,因为我无法访问兼容c ++ 11的编译器,而且我的谷歌搜索也没有用.

c++ gcc libstdc++ c++11

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

如何将光标移动到 VSCode 终端中的行首?

我将终端设置为 zsh,在 iTerm2 中,我可以按ctrl+e将光标移动到行尾,然后ctrl+a移动到行首。在 VSCode 中,这只是打印出一个文字^E^A. 是否需要设置允许终端响应 emacs 样式命令?

terminal zsh visual-studio-code

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

Installing numpy on Amazon EC2

我在Amazon EC2服务器上安装numpy时遇到问题.我尝试在虚拟环境中使用easy_install,pip,pip,使用python 2.7在另一个虚拟环境中进行pip ...

每次我尝试时,它都会失败并出现错误:gcc: internal compiler error: Killed (program cc1)然后我接下来就得到了一堆python错误,我得到了easy_install:ImportError: No module named numpy.distutils和pip我得到:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128).

EC2实例正在运行内核3.4.43-43.43.amzn1.x86_64.有人解决了这个问题吗?Numpy对我来说一直很难安装,但我通常可以搞清楚......在这一点上我并不关心它是否属于它自己的virtualenv,我只想安装它.

python numpy pip amazon-ec2 easy-install

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

Linux获得关于焦点gui窗口更改的通知

在linux中,是否可以在当前关注的GUI应用程序更改时收到通知?我正在编写一个应用程序来跟踪用户在每个GUI应用程序上停留的时间(每个进程,而不是在一个进程内),并且需要某种方式来访问此信息.我是用c ++做的.


这是我到目前为止所发现的:

xprop -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}') | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'
Run Code Online (Sandbox Code Playgroud)

这打印出当前关注的应用程序的pid,但需要我经常拉.我宁愿不拉,但如果必须,我会.它还假设所有GUI都通过x11,这可能不是一个不合理的假设,但不是完全可移植的.

另一种方法是编写一个挂钩到各种gui函数的共享对象,然后修改主机系统的ld.so.preload文件,以便为每个进程加载此共享对象.这假设所有gui应用程序都使用动态链接的图形库.我还必须为每个图形库编写钩子以确保完全覆盖.在研究GTK(我在运行Gnome的系统上进行测试)时,我还没有找到任何在窗口开关上调用的函数.虽然我看起来并不是很努力.


有没有办法通过x11获取此类事件的通知?还是其他图形库?

编辑:

好的,这是我到目前为止,基于@Andrey的代码:

#include <X11/Xlib.h>
#include <cstring>
#include <iostream>
using namespace std;

pid_t get_window_pid( Display * d, Window& w );

int main()
{
    Display * d;
    Window w;
    XEvent e;

    d = XOpenDisplay( 0 );
    if ( !d ) {
        cerr << "Could not open display" << endl;
        return 1;
    }

    w = DefaultRootWindow( d );
    XSelectInput( d, w, PropertyChangeMask );

    pid_t window_pid; …
Run Code Online (Sandbox Code Playgroud)

c++ linux x11 user-interface

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

是否有可能在Python中使模块可迭代?

我正在制作一个模块,我想将其视为对象的静态容器.这些对象属于我定义的类类型.我希望能够导入此模块,然后循环遍历其中的对象.以下是一些解释我的意思的代码:

example.py

class MyExampleClass(object):
    def __init__(self, var1, var2, var3):
        self.var1 = var1
        self.var2 = var2
        self.var3 = var3
        self.var4 = var4

instanceA = MyExampleClass(1, 2, 3, 4)
instanceB = MyExampleClass(4, 3, 6, 7)
instanceC = MyExampleClass(5, 3, 4, 5)

# something like this
def __iter__():
    return (instanceA, instanceB, instanceC)
Run Code Online (Sandbox Code Playgroud)

然后我希望能够导入它并像枚举一样使用它:

import example

for e in example:
   # do stuff with e
Run Code Online (Sandbox Code Playgroud)

这可以用Python做吗?或者我是否必须从example包中导入列表?

example.py

objects = (instanceA, instanceB, instanceC)
Run Code Online (Sandbox Code Playgroud)

然后

import example

for e in example.objects:
    # do stuff …
Run Code Online (Sandbox Code Playgroud)

python iterable module

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

C++ 构造函数和隐式字符串转换

在 C++ 中,我可以编写一个带有带std::string参数的构造函数的类。由于隐式转换,这将允许我从std::string或构造此类的实例char *

有没有理由同时拥有std::string构造函数和char *构造函数?

class MyStringClass {
 public:
    MyStringClass( const std::string &str ); // char *'s could implicitly use this constructor
    MyStringClass( const char * str );       // would this ever be necessary?
};
Run Code Online (Sandbox Code Playgroud)

这个问题也适用于函数参数。

void do_stuff_with_string( const std::string &str );
void do_stuff_with_string( const char * str );
Run Code Online (Sandbox Code Playgroud)

编辑:

澄清一下,我想知道更多关于性能的信息。假设这些构造函数/函数正在调用只接受char *. std::string如果我不需要,有两个单独的函数来避免构造 a是否值得?

void do_stuff_with_string( const std::string &str )
{
    do_stuff_with_string( str.c_str() );
}

void …
Run Code Online (Sandbox Code Playgroud)

c++ string class function implicit-conversion

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

损坏的符号链接和神秘的(已删除)

我一直在用 linux 上的 proc 文件系统做一些事情,我遇到了一些我想澄清的行为。

每个进程/proc都有一个指向它的可执行文件的符号链接,/proc/{pid}/exe. 如果一个进程在其可执行文件被删除后继续运行,读取此符号链接将返回可执行文件的路径,(deleted)并附加到末尾。

运行此命令,您甚至可能会在系统上看到一些:

grep '(deleted)' <(for dir in $(ls /proc | grep -E '^[0-9]+'); do echo "$dir $(readlink /proc/$dir/exe)"; done)
Run Code Online (Sandbox Code Playgroud)

我尝试使用一些简单的 bash 命令重新创建此行为:

>>> echo "temporary file" >> tmpfile.test
>>> ln -s tmpfile.test tmpfile.link
>>> rm tmpfile.test
>>> readlink tmpfile.link
tmpfile.test
Run Code Online (Sandbox Code Playgroud)

没有(deleted)附加到名称!尝试cat tmpfile.link确认链接已断开 ( cat: tmpfile.link: No such file or directory)。

然而,前几天,同样的测试确实导致了一个(deleted)被附加到 readlink 的输出。是什么赋予了?

这是我想知道的:

  • 是否有一系列事件保证(deleted)将附加到名称?
  • 为什么/proc/{pid}/exe显示(deleted) …

linux bash symlink procfs

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

S3预签名帖子需要特定的内容类型

首先,我使用的是ruby的aws-sdk,但是我面对的似乎是对S3的预贴帖子的误解。


我想要做的是确保通过我的预贴帖子上传到S3的所有内容都是视频。

我尝试做的是content_type_starts_with: "video/"在presigned_post哈希中设置。这会导致所有上载被拒绝Policy Condition failed: ["starts-with", "$Content-Type", "video/"]

然后content_type: "video/mp4",我尝试了,但是这导致s3允许任何文件上传,然后仅Content-Type: "video/mp4"在元数据中对其进行标记。

然后我注意到,当我上传没有Content-Type约束的文件时,S3会将文件标记为binary/octet-stream。因此,我再次尝试了第一种方法,但是这次使用content_type_starts_with: "binary/"。结果与之前相同Policy Condition Failed

我应该如何使用Content-Type字段?它似乎从未做过我想要做的事情。


这是我正在使用的代码的片段:

# In the controller

client = Aws::S3::Client.new(region: 'us-east-1')
resource = Aws::S3::Resource.new(client: client)
bucket = resource.bucket("my-bucket")

object_id = SecureRandom.uuid
object = bucket.object(object_id)

@presigned_post = object.presigned_post({
  acl: "private",
  content_length_range: 0..104857600, # 100 MB
  content_type_starts_with: "video/",
})

# In the presigned post erb

<form action="<%= presigned_post.url %>" method="post" enctype="multipart/form-data">
<% presigned_post.fields.each …
Run Code Online (Sandbox Code Playgroud)

ruby amazon-s3 amazon-web-services pre-signed-url

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

自定义shebang的VSCode语法高亮

在工作中,我们在自定义环境下运行python,因此我们使用了非标准的shebang。我测试了一下VSCode承认Python文件没有一个.py扩展名,如果他们有一个认领这两种#!/usr/bin/env python/usr/bin/python或这些变异体。

在工作中,我使用类似于以下的shebang:#!/some/directory/envroot "$ENVROOT/bin/python"但是vs代码无法识别这一点,因此我每次必须手动将语言设置为python。

是否有某个配置可以将自定义shebang映射到一种语言,所以我不必在每次打开文件时手动进行设置?

visual-studio-code vscode-settings

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