小编Ale*_*der的帖子

手动保留ARC

在ARC之前,我有以下代码在异步操作正在进行时保留委托:

- (void)startAsyncWork
{
    [_delegate retain];
    // calls executeAsyncWork asynchronously
}

- (void)executeAsyncWork
{
    // when finished, calls stopAsyncWork
}

- (void)stopAsyncWork
{
    [_delegate release];
}
Run Code Online (Sandbox Code Playgroud)

ARC的这种模式相当于什么?

memory-management objective-c ios ios5 automatic-ref-counting

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

使用current_setting()检查值

我正在努力工作current_setting().

我想出了这个:

CREATE OR REPLACE FUNCTION process_audit() RETURNS TRIGGER AS $audit$
    DECLARE
        user_id integer;
    BEGIN
        BEGIN
            user_id := current_setting('hws.current_user_id');
        EXCEPTION WHEN OTHERS THEN
            user_id := NULL;
        END;
        ...
        RETURN NULL;
   END;
$audit$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

设置通过以下方式设置:

SELECT set_config('hws.current_user_id', '5', true); -- true = local setting -> only visible in current transaction
Run Code Online (Sandbox Code Playgroud)

问题是,current_setting()如果值无效,则抛出异常.我不想使用,EXCEPTION因为我读到异常块很昂贵.

有没有办法检查设置是否有值而不使用异常?

顺便说一句:我也尝试过阅读,pg_settings但这似乎不适用于本地设置.

postgresql postgresql-9.2

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

为WebView提取"刷新"

是否可以实现Pull to Refresh功能来重新加载WebView(2.2版及更高版本)中的页面?

android android-webview

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

cancelAllOperations对[NSOperationQueue mainQueue]不起作用

cancelAllOperations()不适用于mainQueue(该cancel()方法未在该NSOperation对象上调用).我错过了什么吗?我必须遍历所有操作并调用cancel()方法才能使其工作.

nsoperationqueue ios

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

使用分离的分支进行部署

我即将为客户设置和自动构建环境.我想将Git存储库推送到客户端的构建服务器,但没有完整的Git历史记录.

我正在考虑一种方法git checkout --orphan ci,但我不清楚如何使用这样的分支设置每天工作.

也许是这样的(?):

  • 将在上创建新的提交master.
  • 一个功能在几次提交后完成.
  • ci然后在该分支上重新分配/合并(快进)master.
  • ci 分支签出.
  • 最近的提交(尚未推送到任何服务器)被压缩以隐藏客户端不必要的历史记录.
  • ci分支被发布到构建服务器.
  • ...

这是一种有效的方法和/或是否存在更简单的方法?

git continuous-integration github

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

验证 Mandrill 的 X-Mandrill 签名

我正在开发一个 Node.js 应用程序,并且正在努力验证 Mandrill Webhook 请求。

正如这里所述http://help.mandrill.com/entries/23704122-Authenticating-webhook-requests它在 PHP 中应该是这样的:

/**
 * Generates a base64-encoded signature for a Mandrill webhook request.
 * @param string $webhook_key the webhook's authentication key
 * @param string $url the webhook url
 * @param array $params the request's POST parameters
 */
function generateSignature($webhook_key, $url, $params) {
    $signed_data = $url;
    ksort($params);
    foreach ($params as $key => $value) {
        $signed_data .= $key;
        $signed_data .= $value;
    }

    return base64_encode(hash_hmac('sha1', $signed_data, $webhook_key, true));
}
Run Code Online (Sandbox Code Playgroud)

所以我想出了这个:

var url = "http://...."; …
Run Code Online (Sandbox Code Playgroud)

javascript cryptography node.js mandrill

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