小编Luk*_*uke的帖子

面向列的NoSQL与面向文档有何不同?

我读过的三种类型的NoSQL数据库是键值,面向列和面向文档.

键值非常简单 - 具有普通价值的键.

我已经看到面向文档的数据库被描述为键值,但值可以是一个结构,就像一个JSON对象.每个"文档"可以包含全部,一些或不具有与另一个相同的键.

面向列似乎非常像文档导向,因为您没有指定结构.

那么这两者之间有什么区别,为什么你会使用另一个呢?

我特意看了MongoDB和Cassandra.我基本上需要一个可以改变的动态结构,但不会影响其他值.同时,我需要能够搜索/过滤特定密钥并运行报告.有了CAP,AP对我来说是最重要的.只要没有冲突或数据丢失,数据就可以"最终"跨节点同步.每个用户都会得到他们自己的"桌子".

mongodb cassandra nosql

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

镜像UIWebView的最佳方式

我需要将UIWebView的CALayers镜像到较小的CALayer.较小的CALayer本质上是较大的UIWebView的一部分.我很难做到这一点.唯一接近的是CAReplicatorLayer,但鉴于原始版本和副本必须将CAReplicatorLayer作为父级,我无法在不同的屏幕上拆分原件和副本.

我正在尝试做的一个例子:

在此输入图像描述

用户需要能够与较小的CALayer进行交互,并且两者都需要同步.

我尝试过使用renderInContext和CADisplayLink.不幸的是,有一些滞后/口吃,因为它试图重新绘制每一帧,每秒60次.我需要一种方法来进行镜像而无需在每个帧上重新绘制,除非实际发生了某些变化.所以我需要一种方法来了解CALayer(或儿童CALayers)何时变脏.

我不能简单地拥有两个UIWebView,因为两个页面可能不同(时间关闭,背景不同等等).我无法控制正在显示的网页.我也无法显示整个iPad屏幕,因为屏幕上还有其他元素不应显示在外部屏幕上.

较大的CALayer和较小的"pip"CALayer都需要在iOS 6中逐帧匹配.我不需要支持早期版本.

解决方案需要应用程序存储可通过.

uiwebview calayer ios cadisplaylink

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

有什么方法可以比UIImagePNGRepresentation更快地编码PNG?

我正在生成一堆瓷砖CATiledLayer.在iPhone 4S上以4个级别的细节生成120个256 x 256的图块需要大约11秒钟.图像本身适合2048 x 2048.

我的瓶颈是UIImagePNGRepresentation.生成每256 x 256图像大约需要0.10-0.15秒.

我已经尝试在不同的背景队列上生成多个图块,但这只会将其减少到大约9-10秒.

我也尝试使用ImageIO框架,代码如下:

- (void)writeCGImage:(CGImageRef)image toURL:(NSURL*)url andOptions:(CFDictionaryRef) options
{
    CGImageDestinationRef myImageDest = CGImageDestinationCreateWithURL((__bridge CFURLRef)url, (__bridge CFStringRef)@"public.png", 1, nil);
    CGImageDestinationAddImage(myImageDest, image, options);
    CGImageDestinationFinalize(myImageDest);
    CFRelease(myImageDest);
}
Run Code Online (Sandbox Code Playgroud)

虽然这会产生较小的PNG文件(赢!),但它需要大约13秒,比以前多2秒.

有没有办法CGImage更快地编码PNG图像?也许使用NEONlibjpeg-turbo这样的ARM扩展(iPhone 3GS +)的库呢?

是否有比PNG更好的格式来保存不占用大量空间的瓷砖?

我能够提出的唯一可行选择是将磁贴大小增加到512 x 512.这会将编码时间减少一半.不知道那会对我的滚动视图做些什么.该应用适用于iPad 2+,仅支持iOS 6(使用iPhone 4S作为基线).

uiimage catiledlayer ios cgimageref uiimagepngrepresentation

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

如何在不使用大量内存的情况下扩展UILabel的转换?

我正在尝试重现Impress.js 在Objective C中的示例演示中的一些2D过渡.特别是旋转,平移和缩放 - 现在我专注于缩放.

我已经尝试将UILabel缩放到"通过屏幕"的程度,就像"想象你的大思想" - >"和微小的想法"在样本演示中所做的那样.

这是我到目前为止所尝试的:

UILabel *label = [[UILabel alloc] init];

label.text = @"Hello World!";
label.textColor = [UIColor blackColor];
label.font = [UIFont fontWithName:@"Arial" size:18.f];
[label sizeToFit];
label.center = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height / 2);
[self.view addSubview:label];

label.contentScaleFactor *= 80;

[UIView animateWithDuration:5 animations:^{
    label.transform = CGAffineTransformScale(label.transform, 80, 80);
}];
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会占用约30-60 MB的RAM,具体取决于contentScaleFactor和初始字体大小.如果我不增加contentScaleFactor,文本看起来很模糊.增加字体大小似乎也吃了同样多的内存.

以下是它在profiler中的外观:

在此输入图像描述

这只是一个UILabel.

有没有办法做到这一点,而不会占用太多的内存,而不会牺牲正在呈现的文本或过渡的质量?

core-animation opengl-es cocos2d-iphone ios impress.js

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

Go服务的部署策略?

我正在Go中编写一些新的Web服务.

无论目标平台如何,我可以使用哪些部署策略?例如,我正在Mac上开发,但登台/生产服务器将运行Linux.

是否有一些我可以使用的现有部署工具支持Go?如果没有,我可以采取哪些措施来简化流程?

我使用LiteIDE进行开发.有没有办法将LiteIDE挂钩到部署过程中?

deployment ssh build go remote-server

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

Go中的链接功能?

我试过这样做:

package main

import (
    "fmt"
    "strings"
)

type String string


func (s *String) tolower() String {
    *s = String(strings.ToLower(string(*s)))
    return *s
}

func (s *String) toupper() String {
    *s = String(strings.ToUpper(string(*s)))
    return *s
}

func main() {
    var s String = "ASDF"
    (s.tolower()).toupper() // this fails
    // s.toupper();s.tolower(); // this works
    // s.tolower().toupper() // this fails too
    fmt.Println(s)
}
Run Code Online (Sandbox Code Playgroud)

但我得到了这些错误:

prog.go:30: cannot call pointer method on s.tolower()
prog.go:30: cannot take the address of s.tolower()

Program exited.
Run Code Online (Sandbox Code Playgroud)

为什么我不能让这个链条工作?

go

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

使用ssl公钥/私钥进行基于Web的登录?

是否可以通过Web浏览器创建需要公钥/私钥的登录过程?公钥将存储在服务器上,私钥将由用户保存(和加密).

我基本上想做类似于SSH的事情,但是通过网络.也许是HTTP身份验证的自定义方法("摘要"除外).

我知道使用股票浏览器可能无法做到这一点,因此可以接受扩展功能(Chrome/Firefox).

理想情况下,密钥在USB记忆棒上加密.拔出USB记忆棒时必须无法登录(不希望浏览器对其进行缓存).

这将在内部使用.

编辑:客户端证书将是我正在寻找的,但如何将这些证书存储在USB记忆棒上?此外,是否有关于如何使用PHP验证用户的信息?

php security ssl ssl-certificate

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

使用UISegmentedControl进行多项选择 - Pages使用了什么?

我想制作一个Bold/Underline/Italic工具栏,就像你在Pages(iPhone/iPad)上看到的那样.他们使用看似UISegmentedControl的东西.

但是它们可以同时选择粗体/下划线,这在当前的UISegmentedControl中似乎是不可能的.我能找到的最接近的是"瞬间",这使得UISegmentedControl就像一个按钮数组.

NSSegmentedControl(Mac版)似乎通过设置[cell setTrackingMode:NSSegmentSwitchTrackingSelectAny]来具备此功能.它还有NSSegmentSwitchTrackingMomentary,类似于UISegmentedControl(使用BOOL).

有没有办法对UISegmentedControl进行子类化以添加此功能?是否有任何好的第三方工具栏控件可以做到这一点?Apple的Pages在做什么?

objective-c uisegmentedcontrol ios

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

手动从一个UIColor褪色到另一个UIColor

我试图将一个褪色UIColor到另一个drawRect.我创建了这个函数来计算某个百分比的颜色:

- (UIColor *)colorFromColor:(UIColor *)fromColor toColor:(UIColor *)toColor percent:(float)percent
{
    float dec = percent / 100.f;
    CGFloat fRed, fBlue, fGreen, fAlpha;
    CGFloat tRed, tBlue, tGreen, tAlpha;
    CGFloat red, green, blue, alpha;

    if(CGColorGetNumberOfComponents(fromColor.CGColor) == 2) {
        [fromColor getWhite:&fRed alpha:&fAlpha];
        fGreen = fRed;
        fBlue = fRed;
    }
    else {
        [fromColor getRed:&fRed green:&fGreen blue:&fBlue alpha:&fAlpha];
    }
    if(CGColorGetNumberOfComponents(toColor.CGColor) == 2) {
        [toColor getWhite:&tRed alpha:&tAlpha];
        tGreen = tRed;
        tBlue = tRed;
    }
    else {
        [toColor getRed:&tRed green:&tGreen blue:&tBlue alpha:&tAlpha];
    }

    red = …
Run Code Online (Sandbox Code Playgroud)

colors cgcolor uicolor drawrect ios

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

HTTP Connection标头值是否区分大小写?

价值观,如keep-alive,CloseUpgrade对的Connection:头部区分大小写?

我正在编写一个简单的Web服务器,并想知道在检查之前我是否应该将值转换为小写.

http http-headers

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