小编ben*_*ado的帖子

我应该相信SQLite事务以避免文件损坏吗?

精简版

如果我的进程在事务中间终止,或者在SQLite提交事务时,数据库文件被破坏的可能性有多大?

长版

我的应用程序使用SQLite数据库进行存储(直接,而不是通过Core Data).我正在开发一个新版本的应用程序,它需要更新数据库模式.在启动时,应用程序将检查数据库,如果需要更新,则执行一系列SQL语句来执行此操作.

根据数据库中的数据量,更新可能会长时间运行(大约几秒),因此我需要考虑在更新完成之前可能终止进程的可能性.(对于上下文,这在iPhone上,处理器很慢,应用程序可能会通过来电终止.)我当然会将升级SQL语句包装在一个事务中.这足以保证数据库不会被破坏吗?

我假设事务按照广告的方式工作,并且如果进程在事务中间终止,则文件将正常.但我也假设在COMMIT期间有一个时间窗口可能出错.

为了安全起见,我可以在开始更新之前创建数据库文件的备份副本,但如果事务是安全的,那么这将是过度的.它还会使更新过程花费更长时间,这会增加中断的可能性,然后我不得不考虑文件复制操作可能会被中断...我想让代码尽可能简单(但并不简单).

在研究这个问题的过程中,我开始阅读" SQLite中的原子提交 ",这比我可能需要知道的更详细,但是让我相信我不需要再次猜测SQLite保护SQLite的能力.数据库文件.但是我仍然想听听Stack Overflow:交易是否足够好,还是我应该更加谨慎?

sqlite iphone transactions

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

如何停止从C中的文件读取

我只是想读取文件的每个字符并将其打印出来,但是当文件完成阅读时,但我得到了一堆?完成阅读后.我如何解决它?

#include <stdio.h>

int main(void){
    FILE *fr;            /* declare the file pointer */

    fr = fopen ("some.txt", "r");  /* open the file for reading */
        /* elapsed.dta is the name of the file */
        /* "rt" means open the file for reading text */
    char c;
    while((c = getc(fr)) != NULL)
    {
        printf("%c", c);
    }
    fclose(fr);  /* close the file prior to exiting the routine */
    /*of main*/ 


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

c stdio

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

如何将RestKit Framework(restkit.org)与xCode 4集成?

我按照github页面上的说明进行了操作但是出了点问题(肯定是我:P)但是,你知道在Xcode4 RestKit中集成/使用的任何好教程吗?

谢谢!

iphone ipad xcode4 restkit

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

如何在awstats 7.0中跟踪jpg命中作为页面视图

我已经设置awstats来读取云端日志文件,我需要能够生成特定文件的命中报告,这些文件是用于横幅的iamges.我更改了"NotPageList"选项以排除图像文件,我删除了awstats*.txt数据文件并运行了一个新的更新但jpg图像仍未计为页面.为了让这个工作,我需要做什么?

LogFile="/var/log/cloudfront-logs/mydomain.log"
LogFormat="%time2 %cluster %bytesd %host %method %virtualname %url %code %referer %ua %query"
LogSeparator="\t"
SiteDomain="d2fxxxxxx.cloudfront.net"
HostAliases="d2fxxxxxx.cloudfront.net"
NotPageList="css js class bmp ico rss xml swf"
DecodeUA=1
Run Code Online (Sandbox Code Playgroud)

awstats

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

如何使用 RubyXL 创建日期格式的单元格?

我正在使用 RubyXL 动态生成包含一些日期的电子表格文件。文档有点稀疏,所以我一直在查看源代码,看起来该库只对调用DateDateTime时进行特殊处理change_contents,所以这就是我正在做的:

cell = sheet.add_cell_obj RubyXL::Cell.new(sheet, row_index, col_index)
cell.change_contents(Time.now.to_datetime)
Run Code Online (Sandbox Code Playgroud)

当我以这种方式创建电子表格时,Excel 不会将这些单元格的格式设置为日期。我猜我需要设置一些其他字段,也许cell.datatype,但我不确定。或者,也许我吠错了树。有人知道该怎么做吗?

ruby excel openxml rubyxl

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

混合色彩空间会受到惩罚吗?(核心图形)

如果我在Mac OS X或iPhone OS上的Core Graphics中编写绘图代码,我可以通过调用以下方法将活动填充颜色设置为红色:

CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0); // RGB(1,0,0)
Run Code Online (Sandbox Code Playgroud)

如果我想要50%灰色,我可以打电话:

CGContextSetRGBFillColor(context, 0.5, 0.5, 0.5, 1.0); // RGB(0.5,0.5,0.5)
Run Code Online (Sandbox Code Playgroud)

但是对于灰色阴影,很容易做出一条较短的线并且打电话:

CGContextSetGrayFillColor(context, 0.5, 1.0);
Run Code Online (Sandbox Code Playgroud)

但是,这个函数不是简单地调用RGB方法,强度值被复制三次; 相反,它正在将上下文的颜色空间从DeviceRGB更改为DeviceGray.下一次调用RGB方法会将其切换回来.

我很想知道:

  • 切换色彩空间的代价是什么?
  • 当您的上下文的颜色空间与设备的原生颜色空间不匹配时,绘制是否会受到惩罚?(即,使用DeviceGray和DeviceRGB绘图)

我要求技术上的好奇心,而不是过早优化的愿望,所以请将你的告诫保持在最低限度.

iphone macos core-graphics cgcolorspace

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

如何提高iPhone上Core Data对象插入的性能?

我正在尝试将大量数据导入到iPhone上的核心数据存储中.我正在使用SQLite支持核心数据存储.这似乎比我预期的要长.我已经减少了例程,因此它基本上只是尝试获取一个对象(看它是否已经存在),然后创建一个新对象(如果它没有)(他们从来没有这样做,因为我导入数据).但是,提取并不是耗时的部分.这是对象的创建.基本上,违规代码是:

MobileObject *newObject = (MobileObject *)[NSEntityDescription insertNewObjectForEntityForName:objDesc inManagedObjectContext:managedObjectContext];
Run Code Online (Sandbox Code Playgroud)

我注意到在模拟器上,它开始时相当快,大约有100个对象创建了一秒钟.它虽然减慢了,但是当创建了五千个对象时,对于100个对象几乎是2秒,并且当创建一万个对象时,每100个对象为4秒.整组21000个对象需要10分钟以上.这就是取出所有实际有用的代码(这只是一个fetch和一个对象创建).它在实际设备上要慢很多(可能是4倍).

我不明白的是为什么核心数据快速启动但随后开始减速.我已经尝试了索引和我的数据没有索引.我已经尝试创建自己的自动释放池,我会定期在循环中耗尽.我在每个对象创建后都尝试过保存.我试过等到最后才能保存.但无论我做什么,表现仍然看起来很悲惨.将新对象添加到核心数据存储中并且其中包含几千个对象,是否会很慢?有什么建议?

iphone performance core-data

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

RestKit与Three20集成

我正在尝试使用Restkit来调用我的Web服务器api,但是事情不起作用.我的控制器只显示活动指示器,没有任何反应.

我有一个api电话,假设要返回前50个视频,例如:http: //example.com/services/getTop50Video

返回的格式为:

<results>
<mysql_host>72.9.41.97</mysql_host>
<results>        
    <title/>
    <views/>
    <video_id>j2xFxHgENt4</video_id>
    <thumbnail>http://img.youtube.com/vi/j2xFxHgENt4/2.jpg</thumbnail>
    <url/>
</results>
...
</results>
Run Code Online (Sandbox Code Playgroud)

我的应用代表代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Configure RestKit Object Manager
    RKObjectManager* objectManager = [RKObjectManager objectManagerWithBaseURL:@"http://example.com/services"];

    RKObjectMapper* mapper =  objectManager.mapper;
    [mapper registerClass:[YouTubeVideo class] forElementNamed:@"video"];

     // Other non relevant stuff
}
Run Code Online (Sandbox Code Playgroud)

TWYouTubeVideo类:

@implementation TWYouTubeVideo

@synthesize title = _title;
@synthesize numberOfViews = _numberOfViews;
@synthesize videoID = _videoID;
@synthesize thumbnailURL = _thumbnailURL;


+ (NSDictionary*)elementToPropertyMappings {
    return [NSDictionary dictionaryWithKeysAndObjects:
            @"title", @"title",
            @"views", @"numberOfViews",
            @"video_id", …
Run Code Online (Sandbox Code Playgroud)

iphone rest objective-c three20 restkit

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

如何从Restkit + iOS发布到Rails

我的Rails应用程序有一个带有"名称"属性的Post模型.我正在尝试使用RestKit从iOS创建一个新帖子.这是iOS代码.

NSDictionary* params = [NSDictionary dictionaryWithObject:@"amazingname" forKey:@"name"];
[[RKClient sharedClient] post:@"/posts" params:params delegate:self];
Run Code Online (Sandbox Code Playgroud)

这是在同一台机器上运行的服务器日志

    Started POST "/posts" for 127.0.0.1 at Tue May 10 15:39:14 -0700 2011
  Processing by PostsController#create as JSON
  Parameters: {"name"=>"amazingname"}
MONGODB blog_development['posts'].insert([{"_id"=>BSON::ObjectId('4dc9be92be2eec614a000002')}])
Completed 406 Not Acceptable in 4ms
Run Code Online (Sandbox Code Playgroud)

如您所见,服务器获取请求,但名称未保存到数据库中.创建一个无名的帖子.我的iOS代码有什么问题?

iphone ruby-on-rails restkit

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

导出到Excel - 如何处理时间戳?

我有Time对象,我正在写一个Excel文件.我正在使用axlsx库.将日期转换为单元格数据的类将DateTimeConverter其转换为浮点时间戳.

时间显示为mm/DD/YYYY HH:MM:SS预期,但值以GMT时间显示.

有没有办法让Excel格式化特定时区或读者的本地时区的时间?我目前的解决方案是将格式化的时间导出为字符串,我对此不满意.

有没有办法在不添加VBA宏的情况下执行此操作?(请注意,根据链接的"重复"问题,我不是要尝试使用VBA宏将本地时间转换为GMT,而是将GMT时间显示为当地时间 - 如果可能,最好不要使用VBA宏.)

ruby excel axlsx

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