小编Ant*_*ong的帖子

自定义UIView compliation错误消息

这是一个代码片段

#import "MyCustomView.h"


@implementation MyCustomView

-(void) drawRect:(CGRect)rect {
    NSLog(@"Help");
    CGContextRef myContext = [[NSGraphicsContext // 1

                               currentContext]graphicsPort];
Run Code Online (Sandbox Code Playgroud)

....

然后在1,我遇到此错误消息:

NSGraphicsContext undeclared (first use in this function)
Run Code Online (Sandbox Code Playgroud)

你知道是什么造成的吗?我应该包含哪个头文件?

objective-c ios

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

Python:将新函数注入到类的实例中?

我试图操纵它__mro__但它是只读的

用例如下:

从pyodbc(DBAPI)创建的Connection对象,用于提供名为"autocommit"的属性.最近我在pyodbc周围包装了一个SQLAlchemy数据库连接池,以便更好地进行资源管理.新的数据库池将返回一个_ConnectionFairy连接代理类,该类不再公开该autocommit属性.

我非常希望单独留下第三方代码.所以继承_ConnectionFairy并不是一个真正的选择(我可能需要覆盖Pool类来改变它创建连接代理的方式.有关源代码,请参阅此处)

一个相当不太优雅的解决方案是改变所有的出现

conn.autocommit = True
Run Code Online (Sandbox Code Playgroud)

# original connection object is accessible via .connection
conn.connection.autocommit = True 
Run Code Online (Sandbox Code Playgroud)

所以,我想知道是否有可能将一组getter,setter和property注入到一个实例中 _ConnectionFairy

python

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

动态创建的 iframe 的 contentWindow 未定义

这是有问题的 JavaScript 代码

var tmpIframe, url;
url = "http://local.custom.com:10000/simple.html";
tmpIframe = $("<iframe id='runner'></iframe>").attr('src', url);
tmpIframe.contentWindow.postMessage('do_something', data);
Run Code Online (Sandbox Code Playgroud)

最后一行实际上抛出了这个错误消息:

Uncaught TypeError: Cannot read property 'postMessage' of undefined
Run Code Online (Sandbox Code Playgroud)

tmpIframe实际上是作为列表返回的。但即使我将最后一行更改为

tmpIframe[0].contentWindow.postMessage('do_something', data);
Run Code Online (Sandbox Code Playgroud)

我仍然收到相同的错误消息

为什么这不是有效的代码?我必须将 iframe 附加到 DOM 吗?

javascript iframe

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

如何在厨师模板中设置变量?

在官方文档中,只有一个variable用于模板的用例:调用者必须传入散列.

但对我来说,我有一个非常简单的用例.我只想在sensu客户端配置模板文件中设置服务器名称client.json.erb

这是模板文件:

{
  "client": {
    "name": "<%= @server_name %>",
    "address": "<%= node.ipaddress %>",
    "keepalive": {
      "thresholds": {
        "warning": 90,
        "critical": 180
      }
    },
    "subscriptions": [ "default" ]
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的厨师代码:

server_name = "server1.example.com"

template "/etc/sensu/conf.d/client.json" do
  variables({
    :server_name => server_name
  })
  source "sensu-template/conf.d/client.json.erb"
end
Run Code Online (Sandbox Code Playgroud)

配置文件变成:

{
  "client": {
    "name": "{}",
    "address": "10.0.1.1",
    "keepalive": {
      "thresholds": {
        "warning": 90,
        "critical": 180
      }
    },
    "subscriptions": [ "default" ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该如何将变量名称正确传递到模板中?

ruby chef-infra

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

如何将额外的属性传递给reactjs中的children元素?

这是我的目标.我想创建一个复合组件,它将在显示children元素之前检查匹配的url的有效性.否则,它返回一个公共组件来显示错误消息.

所以这是我的'装饰'的代码:

const EnforceUrlValidation = (test, children) => {
  const fn = ({ match }) => {
    if (! test( match )) {
      return ( <InvalidUrlContainer /> );
    }
    return ({children});
  }
  return fn;
}
Run Code Online (Sandbox Code Playgroud)

它是如何在我的路由器中使用的:

const WelcomePage = EnforceUrlValidation(
    (match) => {
      const articleId = match.params.articleId;
      return articleId && isValidarticleId(articleId);
    }
  , <WelcomeContainer/>
)
...
<Routers>
     <Switch>
          <Route
              path="/:articleId"
              component={WelcomePage}
           />
...

</Routers>
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是我仍然希望将match对象传递到children内部EnforceUrlValidation.我怎样才能做到这一点?

尝试1:

const EnforceUrlValidation = (test, children) …
Run Code Online (Sandbox Code Playgroud)

jsx reactjs react-router-v4

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

使用 npx babel-node 时出现“意外标记 {”

这是我的脚本test.js

import 'jsdom-global/register';
import 'canvas';
console.log('done');
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json:

{
  "name": "test-jsdom",
  "description": "Test",
  "version": "0.1.0",
  "author": "anthony@me.com",
  "dependencies": {
    "canvas": "^1.6.7"
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-env": "^1.6.1",
    "babel-preset-stage-0": "^6.24.1",
    "jsdom": "^11.3.0",
    "jsdom-global": "^3.0.2"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行时npx babel-node test.js,我遇到了这个错误

/Users/antkong/test/node_modules/jsdom/lib/api.js:10
const { URL } = require("whatwg-url");
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Module._extensions..js (module.js:416:10)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/antkong/test/node_modules/babel-register/lib/node.js:152:7)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at …
Run Code Online (Sandbox Code Playgroud)

node.js babeljs babel-cli

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

PowerPoint pptx文件中的这些字体是什么?

我想借助Apache POI收集pptx的字体信息。

我基本上typeface=是在PowerPoint幻灯片的xmlObject中搜索字符串。

在我的一些文件中,我可以看到包含搜索字符串的几行内容:

              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
              <a:cs typeface="+mn-cs"/>
              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
              <a:cs typeface="+mn-cs"/>
              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
              <a:cs typeface="+mn-cs"/>
              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
              <a:cs typeface="+mn-cs"/>
              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
              <a:cs typeface="+mn-cs"/>
              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
              <a:cs typeface="+mn-cs"/>
              <a:latin typeface="+mn-lt"/>
              <a:ea typeface="+mn-ea"/>
Run Code Online (Sandbox Code Playgroud)

但是,如果我检查文件属性对话框,则只能看到这些字体

在此处输入图片说明

没有+mn-lt+mn-ea

我的问题:

哪里字型脸喜欢+mn-ea+mn-cs来自哪里?

powerpoint apache-poi

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

当我使用react-transition-group时,“TS7017:元素隐式具有“任何”类型...没有索引签名”

这是我的代码:

 renderSoundWave = () => {
    const defaultStyle = {
      opacity: 1,
      transition: `opacity ${DURATION}ms ease-in-out`,
    }

    const transitionStyles = {
      entering: { opacity: 1 },
      entered:  { opacity: 0 },
    };
    return (

    <Transition timeout={DURATION} in={this.animate}>
      {(state) => (
        <div className={styles.soundWaves}
             style={{ ...defaultStyle, ...transitionStyles[state]}}> {/* Error here! */
          <SoundWaves/>
        </div>
        )}
    </Transition>
      );
  }
Run Code Online (Sandbox Code Playgroud)

我想用Transitioninreact-transition-group来动画图标SoundWave

但是我收到此错误:

错误 TS7017:元素隐式具有“任意”类型,因为类型 '{ 输入:{ opacity: number; }; 输入:{ 不透明度:数字;}; }' 没有索引签名。

错误指向...transitionStyles[state]上面

我不明白为什么会抛出这个错误。是什么导致了这种类型错误?

typescript react-transition-group

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

如果字段是空数组,如何使用 jq 不显示 json 数据?

我有一些 json 格式的 github 数据,如下所示:

{
  "id": 18535,
  "node_id": "MDExhN0M8877883",
  "number": 747,
  "state": "closed",
  "locked": false,
  "title": "Generate cordova protos",
  "user": {
    "login": "Superhacker"
  },
  "body": "Simple PR",
  "created_at": "2018-05-02T07:43:39Z",
  "updated_at": "2018-07-21T02:09:14Z",
  "closed_at": "2018-05-02T07:54:56Z",
  "merge_commit_sha": "4bf92c0332c66999999b6c0a766e",
  "assignee": null,
  "assignees": [],
  "requested_reviewers": [],
  "requested_teams": [],
  "labels": [],
  "milestone": null,
  "draft": false,
  "author_association": "CONTRIBUTOR"
}
Run Code Online (Sandbox Code Playgroud)

当 json 字符串为空时,我不想显示它requested_reviewers

我尝试了几种方法

  1. echo <the json string above> | jq '.requested_reviewers | select(. != "")

表明[]

  1. echo <the json string above> | jq …

jq

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

re.match vs re.search

如果我这样做

    import re
    m = re.compile("[0-9]{1,}Y")
    res = m.search("AUD3M25Y_EOD2")
    if res:
            return res.group(0)[:-1]
Run Code Online (Sandbox Code Playgroud)

我会得到25作为答案

但是,如果我这样做

    import re
    m = re.compile(".*([0-9]{1,})Y.*")
    res = m.match("AUD3M25Y_EOD2")
    if res:
            return res.groups(0)
Run Code Online (Sandbox Code Playgroud)

我只会得到5.

为什么不同?

它与"全球"选项有什么关系吗?(很像s /// g in vi)

python regex python-2.6

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