小编ssc*_*ssc的帖子

twisted manhole:如何在应用程序中访问服务器?

我需要在运行时连接到我扭曲的应用程序,并且我正在尝试使用twisted.manhole为我工作.我在Mac OSX 10.6上使用默认安装的扭曲8.2.

使用twistd示例服务器工作.在启动时有关于md5,sha和twisted.protocols.telnet的DeprecationWarnings,但是沙井服务器实际上做了它应该做的事情,我可以访问我的应用程序的内部:

host:client user$ telnet localhost 4040
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

twisted.manhole.telnet.ShellFactory
Twisted 8.2.0
username: admin
password: *****
>>> dir()
['_', '__builtins__', 'factory', 'service']
>>> factory
<twisted.manhole.telnet.ShellFactory instance at 0x101256440>
>>> service
<twisted.application.internet.TCPServer instance at 0x10124ff38>
>>> service.parent
<twisted.application.service.MultiService instance at 0x1014b0cf8>
>>> 
Run Code Online (Sandbox Code Playgroud)

现在我尝试将其集成到我的应用程序中:

# test_manhole.tac

from twisted.application.internet import TCPServer
from twisted.application.service  import Application, IServiceCollection
from twisted.manhole.telnet       import ShellFactory

shell_factory = ShellFactory()
shell_factory.username = 'admin'
shell_factory.password …
Run Code Online (Sandbox Code Playgroud)

python twisted telnet

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

pgtap:预期和获得的结果相等,但测试失败

我使用pgtap来测试postgresql存储过程.其results_eq函数获取存储过程的结果,将其与预期结果进行比较,如果两者不相等则报告失败.

这是我正在运行的代码:

PREPARE result_have AS SELECT select_some_data(12345, 'test_string');
PREPARE result_want AS VALUES ('("2010-09-07 06:05:00+00",100.0)');
SELECT results_eq('result_have', 'result_want');
Run Code Online (Sandbox Code Playgroud)

这是失败输出:

not ok 21
# Failed test 21: "this should return a result"
#     Columns differ between queries:
#         have: ("(""2010-09-07 06:05:00+00"",100.0)")
#         want: ("(""2010-09-07 06:05:00+00"",100.0)")
# Looks like you failed 1 test of 21
Run Code Online (Sandbox Code Playgroud)

我可能真的睡不着觉,但想要和我看起来很相似.

有谁知道为什么这被报告为失败?


有关详细信息的更新:这是我如何定义有问题的存储过程:

CREATE OR REPLACE FUNCTION select_some_data
(
    IN p_some_pkey integer,
    IN p_some_code varchar(16)
)
RETURNS TABLE(timestamp_utc timestamp with time zone, …
Run Code Online (Sandbox Code Playgroud)

postgresql unit-testing pgtap

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

graph-tool:如何访问属性?

我想在一个图形工具图中存储一个类的实例,每个节点一个对象(或者作为图形工具调用它们的"顶点").我试图使用顶点属性,因为这似乎是这样做方式.

class MyClass(object):
    def __init__(self, title):
        self.title = title

graph  = Graph()
my_obj = MyClass('some title')

vertex = graph.add_vertex()
vprop  = graph.new_vertex_property('object')
vprop[vertex] = my_obj
Run Code Online (Sandbox Code Playgroud)

现在我想读回我的类对象,例如迭代所有节点/顶点并打印它们的标题:

for vertex in self.graph.vertices():
    # TODO: how to access titles ? this just prints
    # "<Vertex object with index '0' at 0xb1e4bac>"
    print repr(vertex) + '\n'
Run Code Online (Sandbox Code Playgroud)

另外,如何从图形中获取具有特定标题的类对象?一种方法似乎是创建一个顶点过滤器使用graph.set_edge_filter(...)并应用它 - 这似乎是一个相当昂贵的操作,考虑到我想要的只是获得一个单个对象.我真的不想将我自己的对象标题/顶点索引映射维护为IMO,这是图的任务之一.

我错过了一些基本的东西吗?

python graph vertices graph-tool

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

Mac OS X UI:如何创建加号和减号按钮?

在我目前的应用程序中,我想添加加号和减号按钮,就像你在Mac OS X上看到的那些,例如

Mac OS X UI加减号按钮示例截图

我一般都知道如何向用户界面添加按钮,但是这些加号和减号按钮无处不在,我想苹果公司为它们创造了一个特殊的术语(比如'抽屉'或'表')并准备了一个非常简单的方法添加它们.

不幸的是,"加号"和"减号"似乎过于通用,无法产生有用的Google搜索结果,我不知道还有什么可以搜索:-(

任何指针都将非常感激.

macos user-interface xcode cocoa objective-c

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

AWS AppSync React:如何使用“复杂的” GraphQL模式?

我正在尝试开始使用AWS AppSyncAWS Amplify

到目前为止,我设法遵循了AWS文档(特别是在此处此处)成功创建了示例TODO应用(第三代码段)并启用了AppSync GraphQL API,如下所示:

$ amplify add api
? Please select from one of the below mentioned services GraphQL
? Provide API name: MySampleTodoAPI
? Choose an authorization type for the API API key
? Do you have an annotated GraphQL schema? No
? Do you want a guided schema creation? true
? What best describes your project: Single object with fields (e.g., “Todo” with ID, name, description) …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb reactjs graphql aws-appsync aws-amplify

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

Cognito / Flask / React:如何登录后端?

我的 Web 应用程序在前端使用React ,在后端使用Flask 。

我想添加AWS Cognito进行用户管理。根据文档,这只需要export在前端包装一条语句,即更改一行

export default App;
Run Code Online (Sandbox Code Playgroud)

在文件中App.js(定义主应用程序 React 组件)

export default withAuthenticator(App, true);
Run Code Online (Sandbox Code Playgroud)

添加所需的import语句。

这个微不足道的改变让我获得了生产中使用的任何合理的 Web 应用程序所需的所有以用户为中心的功能,例如

  • 用户注册
  • 电子邮件验证
  • 登录/注销
  • 忘记密码
  • 等页。

包括

  • 主题化用户界面
  • 电子邮件发送服务
  • 联合登录(例如 Google、Facebook 等)

问题:我不知道如何将其与后端集成。

方法:(我认为应该如此)

  1. 现有用户使用 Cognito 提供并由前端显示的 UI 元素登录到 Web 应用程序
  2. 成功登录后,Cognito 通过以下方式提供用户数据currentAuthenticatedUser():其中包括JSON Web 令牌(JWT)
  3. 每当前端向后端发送请求时,它都会将该 JWT 作为请求标头传递
  4. 后端使用该 JWT 来确定用户是否已正确登录、请求是针对哪个用户以及该用户是否具有足够的权限

我已经实现了通常的 Flask/login/logout请求处理程序和login_required装饰器,并且传递 JWT 和解码声明工作正常;但是 …

authentication flask jwt reactjs amazon-cognito

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

StoryBook:如何测试模态视图?

我使用StoryBook来开发React Native移动应用程序的视图。这对于“常规”视图来说工作正常,但是当我显示模态视图(使用 实现react-native-modal)时,我会“锁定”,即用于在开发中的视图之间切换的 StoryBook UI 无法访问(因为模态视图“太”)模态”)。

我可以通过在开发中的模态视图中添加一个按钮来关闭它,以便再次访问故事书用户界面来解决这个问题,但显然,我只想看到“生产”内容,即没有的模态视图任何“帮助用户界面”。

有没有什么方法可以使用内置的 StoryBook 功能或插件(例如Knobs )关闭模态视图?

我通常会如何在 StoryBook 中开发/显示模式视图?

modal-dialog react-native storybook

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

bash:将多行字符串读入多个变量

如何将一个以换行符分隔的字符串(例如三行)分配给三个变量?

# test string
s='line 01
line 02
line 03'

# this doesn't seem to make any difference at all
IFS=$'\n'

# first naive attempt
read a b c <<< "${s}"

# this prints 'line 01||':
# everything after the first newline is dropped
echo "${a}|${b}|${c}"

# second attempt, remove quotes
read a b c <<< ${s}

# this prints 'line 01 line 02 line 03||':
# everything is assigned to the first variable
echo "${a}|${b}|${c}"

# third attempt, add …
Run Code Online (Sandbox Code Playgroud)

string bash

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

PostgreSQL:琐碎的INSERT第一次失败,之后成功

我在一个简单的数据库中遇到的奇怪的Postgres问题让我感到困惑:如果我首先插入一个标签并明确指定其ID,然后尝试插入另一个标签而不传递ID,那么第二个插入失败.如果我第三次尝试(再次没有ID),插入成功.

DROP DATABASE IF EXISTS mydb;
CREATE DATABASE mydb;

\c mydb

DROP SCHEMA public;
CREATE SCHEMA core;

CREATE TABLE core.tag
(
    id serial PRIMARY KEY,
    title text NOT NULL
);

-- this works: all columns specified explicitly
INSERT INTO core.tag(id, title) VALUES (1, 'known tag');

-- omitting the tag ID fails with
-- ERROR:  duplicate key value violates unique constraint "tag_pkey"
-- DETAIL:  Key (id)=(1) already exists.
INSERT INTO core.tag(title) VALUES ('unknown tag');

-- this works again ?!? …
Run Code Online (Sandbox Code Playgroud)

postgresql insert

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

jq:根据键是否以指定字符串结尾来过滤输入

我收到了这个JSON数据混乱的消息,我需要提取类型列表:

{
  "token/": {
    "accessor": "auth_token_909d6a81",
    "config": {
      "default_lease_ttl": 0,
      "max_lease_ttl": 0
    },
    "description": "token based credentials",
    "local": false,
    "seal_wrap": false,
    "type": "token"           <-- I need to extract this value ...
  },
  "userpass/": {
    "similar_to": {
      "above": null
    },
    "description": "",
    "local": false,
    "seal_wrap": false,
    "type": "userpass"        <-- ... and this one
  },
  "request_id": "f2a4c135-f699-f29d-ca7c-3320dce0a550",
  "more_keys": "more_values",
  "data": {
    "more_data": {
      "even_more_data": "snipped"
    }
  },
  "you_get_the": "idea"
}
Run Code Online (Sandbox Code Playgroud)

很抱歉,内联注释会在复制和粘贴时弄乱数据,但这似乎是阐明我的目标的最佳方法:对于所有以结尾的根密钥/,我需要的值为.type,因此上述示例的最终结果为token userpass

我设法为根键创建了一个有效的过滤器:

host:~ user$ jq …
Run Code Online (Sandbox Code Playgroud)

json key filter jq

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