小编Luk*_*uke的帖子

具有多选的UICollectionView不会选择十几个项目

当使用UICollectionViewallowsMultipleSelection设置为YES只有十几个人的项目是可选的.UICollectionViewDelegate停止打电话collectionView:didSelectItemAtIndexPath:.

看起来很随意.您可以选择一些项目,向下滚动,再选择一些项目,在某些时候您无法再选择任何项目.

当单元格较小时,您似乎可以选择更多项目.单元格越大,您在停止工作之前可以选择的项目越少.

ios ios6 uicollectionview uicollectionviewcell

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

与SecureNet支付网关集成

我正在尝试将我们的软件与SecureNet网关集成.他们有一个基于SOAP的API.

我遇到的问题是他们的WSDL文件真的不适用于PHP.具体来说,他们的WSDL文件分为多个文件和一个wsdl:import语句,导入位置是http.在他们的测试服务器httphttps端口是打开的,所以PHP可以读取WSDL文件.在他们的生产服务器上只https打开,但他们的位置块仍然引用http,所以PHP超时!如果它是https它会工作正常.

他们的建议是从测试服务器中提取WSDL文件,但覆盖该位置.他们告诉我他们的测试服务器应该总是在运行,但我觉得依靠两个系统让我们的交易工作起来并不舒服.

另一种方法是使用他们的XML post API ...但问题是你必须以正确的顺序指定每个字段(是否需要).最糟糕的是这个API的错误信息很简单Unknown Error.,因此几乎不可能弄清楚我错过了什么.

我需要第三种选择.如果我可以加载WSDL文件(可以测试,而不是生产),Soap运行良好.我认为他们正在使用WCF,我相信这是一个.NET的东西.应该有一个"?simpleWSDL"经文"?wsdl"选项,但是他们的WCF版本没有它.

这是他们的WSDL文件(测试服务器):https://certify.securenet.com/API/Gateway.svc?wsdl

编辑:

这是可重现的代码:

$client = new SoapClient("https://gateway.securenet.com/API/Gateway.svc?wsdl");
// Hangs and throws exception in construct
Run Code Online (Sandbox Code Playgroud)

php wcf soap wsdl soap-client

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

在Netbeans中禁用"禁用此文件的HTML错误检查"提示

如何摆脱"禁用此文件的HTML错误检查,您可以通过此提示启用它"提示Netbeans?它在每个.php文件的第一行显示为警告,因此我显示了数百个.

netbeans

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

我应该使用NoSQL而不是MySQL吗?

我正在使用PHP开发Web应用程序.我用MySQL作为我的RDMS.对于RDMS工作的许多事情,许多问题可以通过规范化等解决.但有些情况对RDMS不起作用,因此设计了其他解决方案,如NoSQL.

我不清楚的是NoSQL哪种情况更合适.一些不同的NoSQL选项有何不同,哪种情况可能比另一种更好,哪些与PHP 5.3或更高版本兼容(API明智)?

所以我正在寻找一个我可以使用的NoSQL服务器软件列表(例如MySQL作为RDMS)以及为什么我会使用其中一个(任何混合动力车?).还有使用NoSQL而不是RDMS解决的问题的具体示例.

最后,我想知道NoSQL服务器在这种情况下是否会更好地工作:

数据表,其中每行可以具有不同的列/字段.一行可能有5列,另一行可能有5列完全不同,另一行可能有10列.但是在所有这些行中,只有一个主要的自动递增数字ID.数以百万计的"行".

(正如上面我假设NoSQL是完美的,因为它是一个对象的集合,而不是表中的行.不确定AI主键).

在RDMS中,您可以创建最常用的列,然后使用PHP的serialize/unserialize来存储其他列.但是当您必须对此"序列化数组"中存在的列运行报告时,这非常低效并且使事情变得复杂,例如,在名为"birthday_pledge"的列的所有行上的SUM(每行使用该行).

在我的情况下,除主键之外的每个 "列"都是自定义和用户定义的.但我需要能够在这些"列"上运行报告(总和,过滤器,搜索).因此,如果NoSQL不是解决方案,我唯一能想到的就是为用户创建自定义表(虽然可能会变得复杂).

我还想指出可扩展性(多个数据库服务器,冗余和故障转移)非常重要.

php mysql rdms nosql

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

如何修补libxml2,以便在使用前缀时使用ICU支持进行编译?

我正在尝试修复libxml2中的错误.我不能让它与编译--with-icu使用时--prefix=/Server/software.我在这里提交了一个错误报告,但是我需要编译它以便在使用intl支持编译PHP时解决冲突.我怀疑这是Makefile的一个问题.我对Makefile的经验有限.期望的结果是提供一个可以提交给链接的错误报告的补丁.

--with-icu标志使LIBXML_ICU_ENABLED被定义.当包含来自icu和libxml2的头文件时(特别是两者都使用UChar),包含的代码应该解决冲突.用于激活的PHP插件intl --enable-intl需要icu.PHP需要libxml2来实现DOM/XML功能.

有两个问题.

首先,这个配置:

./configure --prefix=/Server/software --enable-shared --enable-static --with-icu

结果是:

configure: error: libicu config program icu-config not found

这是因为configure.in中的此代码:

WITH_ICU=0
if test "$with_icu" != "yes" ; then
    echo Disabling ICU support
else
    ICU_CONFIG=icu-config
    if ${ICU_CONFIG} --cflags >/dev/null 2>&1
    then
        ICU_LIBS=`icu-config --ldflags`
        LDFLAGS="$LDFLAGS $ICU_LIBS"
        WITH_ICU=1
        echo Enabling ICU support
    else
        AC_MSG_ERROR([libicu config program icu-config not found])
    fi
fi
Run Code Online (Sandbox Code Playgroud)

特别ICUCONFIG=icu-config是不尊重--prefix=/Server/software.我可以通过这样做来解决这个问题export PATH=/Server/software/bin:$PATH.

这"修复"了./configure问题. …

c makefile libxml2 icu

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

无架构的财务数据和NoSQL?

我们有一个应用程序可以处理无模式的财务数据.更准确地说,无data数据是关于订单的信息,其中字段由商家定制.一致性和耐用性很重要.

由于我们的数据报告的动态性非常困难.每条记录可能略有不同,或完全不同.如果我们继续使用关系数据库,我们唯一的选择就是将"文档"序列化为blob.报告必须单独完成,可能是将数据复制到由用户定义的报告定义的公共结构中(每个"报告"都有一个自定义表).

另一种选择是面向文档的NoSQL数据库,如MongoDB.在做了一些研究之后,似乎大多数人都不相信具有财务数据的NoSQL数据库,因为它依赖于BASE而不是ACID.

我似乎发现自己处于两个完全不同的用例中间.我的数据非常适合面向文档的数据库(MongoDB),但我需要ACID数据库的可靠性.同时,复杂的用户定义报告是必需的.

所以我似乎有三个选择:

  1. 使用两个MySQL数据库:一个用于存储数据(blob),另一个用于用户定义报告(许多表).
  2. 使用MongoDB,它支持大型数据库,但具有全局写锁定并且"最终是一致的".
  3. 使用MySQL存储数据(blob),然后将其复制到MongoDB进行报告.鉴于唯一的索引可能是商家ID,这有多好用?

那三个中的哪一个是我最好的选择(最灵活和最耐用)?是否还有其他选项我没有考虑过我无法改变数据的动态性?有人使用MongoDB进行生产报告吗?

(对于我们的RDMS,我们使用MySQL.考虑切换到MariaDB.选择的编程语言是PHP.考虑使用Sphinx进行全文搜索,比如搜索某人的名字.)

mysql financial mongodb schemaless mariadb

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

何时使用抽象或具体的语法树?

我一直在研究编译器.词法分析器似乎非常直接:取一个"句子"并将其分解为单词(或标记).为了确保正确的语法,需要一个解析器.解析器通常采用令牌并构建一个树,从而产生根节点(将单词分为句子,段落,页面等等).

这个问题来看,似乎解析器会构建一个AST.AST只包含执行代码所需的内容,所以括号之类的内容是不必要的,因为运算符优先级内置在AST中.AST可能都是编译器需要的.

但是如何将代码从一种语言转换为另一种语言?采用一种伪造的语言(语法)或现有的语法并将其转换为另一种语言,其中运算符优先级规则可能会有所不同?运营商优先还是"内置"到CST吗?

举个例子,假设我编写了一种语言,并希望将其翻译成PHP代码.大多数语言的三元运算符具有从右到左的关联性.PHP错误地使用从左到右的关联性(请在此处查看更多相关信息).我希望"我的语言"从右到左使用,但生成的PHP代码必须应用括号才能在PHP中获得正确的结果(通过指向Wikipedia链接,结果需要是"train"而不是"horse").

因此,对于语言翻译,CST会更好吗?运营商优先级通常是否构建在CST中?介于两者之间吗?有没有例子比较两个树和一个简单的代数方程?任何说明三元运算符的例子?

("转码"是"编程语言翻译"的正确术语吗?谷歌搜索会带来转换媒体.)

我想弄清楚的是:什么时候使用一个比另一个更合适?

compiler-construction abstract-syntax-tree concrete-syntax-tree

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

NSFileWrapper是否将所有内容加载到内存中?

可以说我有一个NSFileWrapper目录.该目录由多个级别的目录和文件组成.有些文件很大.所有这些文件都加载到内存中,还是懒得加载?

如果将它们加载到内存中,是否有其他NSFileWrapper类似功能的替代方法无法将文件加载到内存中?我能挂进去的东西UIDocument


这适用于基于文档的应用程序,该应用程序使用UIDocument与iCloud同步的应用程序.文档可以在其中嵌入图像和视频.每个图像/视频都有一个HTML文档中显示的预览图像(缩略图).全尺寸图像或视频不应加载到内存中,而应按需加载.

我还需要一种方法来添加资源而不将其加载到内存中.像"initWithAsset:(ALAsset*)"这样的东西是理想的.

nsfilewrapper ios uidocument

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

隐藏鼠标指针或阻止OS X中的移动

我想在后台应用程序中全局隐藏鼠标指针或防止其移动。

我已经尝试过“ CGDisplayHideCursor(kCGDirectMainDisplay);”,但这似乎仅适用于前台应用程序。

这个答案似乎是我最好的选择,但是我无法编译它。具体来说,我得到:

体系结构i386的未定义符号:“ _ CGSDefaultConnection()”,引用自:main.o中的_main“ CGSSetConnectionProperty(int,int,__CFString const *,__CFBoolean const *)”,引用自:main.o中的_main

就隐藏指针而言,使用Event Taps的这段代码是我到目前为止发现的最接近的代码:

#include <ApplicationServices/ApplicationServices.h>

CGEventRef mouseEventCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon)
{
    if (type != kCGEventMouseMoved)
        return event;

    return NULL;
}

int main(void)
{
    CFMachPortRef mouseEventTap;
    CFRunLoopSourceRef mouseRunloop;

    mouseEventTap = CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, 0, (1 << kCGEventMouseMoved), mouseEventCallback, NULL);

    if(!mouseEventTap)
        exit(1);

    mouseRunloop = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, mouseEventTap, 0);
    CFRunLoopAddSource(CFRunLoopGetCurrent(), mouseRunloop, kCFRunLoopCommonModes);
    CGEventTapEnable(mouseEventTap, true);

    CFRunLoopRun();

    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

上面的代码阻止了鼠标移动事件,因此其他应用程序不响应在其上移动的指针。但这并不能阻止指针本身移动。

编辑

我为什么要这样做?我正在记录鼠标增量,以通过网络控制另一台计算机。诸如Synergy和Teleport之类的应用程序可以执行此操作,但是光标仍在Synergy上可见(我上次检查过)。

macos cocoa objective-c

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

检查WebSocket是否是hixie客户端?

根据维基百科,大多数浏览器使用RFC6455或稍早的版本具有几乎相同的握手.我正在使用的服务器仅支持RFC6455或类似,它接受Origin:Sec-WebSocket-Origin:取决于指定的版本.

Safari 5和iOS 5使用的是hixie版本WebSocket.如果WebSocket失踪,我通常会回到长轮询.Safari 5有一个WebSocket对象,但握手却截然不同.

有没有办法检测是否WebSocket是hixie,或属于Safari 5,所以我可以忽略它而不尝试握手?是否有任何方法可以在不依赖用户代理的情况下检查浏览器是否为Safari 5?

javascript safari browser-detection websocket

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

返回VLA是否安全?

以下代码使用堆:

char* getResult(int length) {
    char* result = new char[length];
    // Fill result...
    return result;
}

int main(void) {
    char* result = getResult(100);
    // Do something...
    delete result;
}
Run Code Online (Sandbox Code Playgroud)

因此result必须在某处删除,最好由所有者删除.

根据我的理解,下面的代码使用名为VLA的扩展,它是C99的一部分,而不是C++标准的一部分(但是由GCC和其他编译器支持):

char* getResult(int length) {
    char result[length];
    // Fill result...
    return result;
}

int main(void) {
    char* result = getResult(100);
    // Do something...
}
Run Code Online (Sandbox Code Playgroud)

假设result在这种情况下仍然在堆栈上分配,我是否正确?

result副本,还是垃圾内存的引用?以上代码是否安全?

c c++ gcc dynamic-arrays

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

有没有办法只允许UIViewControllers遵守协议?

有没有办法做这样的事情(下面不起作用):

@protocol ElementPicker <UIViewController>

- (id)initWithFile:(NSFileWrapper *)file andInfo:(NSString *)info;

@property (nonatomic, weak) NSObject<ElementPickerDelegate> *delegate;
@end
Run Code Online (Sandbox Code Playgroud)

那么实现"ElementPicker"的对象必须继承UIViewController

objective-c uiviewcontroller ios objective-c-protocol

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