标签: sync

核心数据iCloud同步中的关系完整性和验证

考虑以下简单实体模型:实体A与实体B的一对一关系称为b.实体B具有称为a的反向关系.两种关系都不是可选的.

A            B
b  < ----- > a
Run Code Online (Sandbox Code Playgroud)

假设我们有两个设备(1)和(2)开始完全同步.每个都有一个A类对象和一个B类对象,它们彼此相关联.在设备1上,我们有对象A1和B1,在设备B上我们有相同的逻辑对象A1和B1.

现在假设在每个设备上进行了模拟更改:

在设备1上,我们删除B1,插入B2,并将A1与B2关联.然后保存更改.
在设备2上,我们删除B1,插入B3,并将A1与B3关联.然后保存更改.

设备1现在尝试从设备2导入事务日志.将插入B3,并且A1将与B3关联.到目前为止好,但B2,现在只剩下关系一个等于.的一个关系是非可选的,所以发生验证错误.

设备2上会出现类似的情况,因为有两个B对象,并且只有一个A对象要关联.因此必须始终存在验证错误,因为B对象中的一个必须具有设置为nil 关系.

更糟糕的是,任何未来的更改都会留下错误的B对象,因此验证失败.实际上,用户无法通过重置关系来自行解决问题.它永久地被打破了.

问题是,如何解决这样的验证错误?这一切都发生在NSPersistentStoreDidImportUbiquitousContentChangesNotification触发通知之前.它不是应用程序main NSManagedObjectContext中的验证错误,它是在将事务日志初始导入持久性存储期间发生的验证错误.

我能想到的唯一选择可能是尝试删除自定义setter(setA:)中的无效B对象,或者validateA:error:B类本身上的KVC验证方法(),因为这些似乎在事务日志导入期间被触发.但我不确定是否允许这样的副作用,当我尝试它时,它确实会导致令人讨厌的日志消息.

任何人都知道处理这个问题的正确方法是什么?

macos cocoa sync core-data icloud

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

使用 goroutine 转到 WaitGroup

我不知道为什么我们需要运行wg.Wait()goroutine

// This one works as expected...
func main() {
    var wg sync.WaitGroup
    for i:=0; i<5; i++ {
        wg.Add(1)
        go func() {
            defer wg.Done()
        }()
        time.Sleep(time.Second)
    }
    go func() {
        wg.Wait()
    }()
}
Run Code Online (Sandbox Code Playgroud)

但这个永远不会结束永远等待

func main() {
    var wg sync.WaitGroup
    for i:=0; i<5; i++ {
        wg.Add(1)
        go func() {
            defer wg.Done()
        }()
        time.Sleep(time.Second)
    }
    wg.Wait()
}
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么我需要在另一个 goroutine 中等待?

谢谢!

sync go goroutine

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

将在Google Apps中创建的Google任务与在我们的Web应用程序中创建的任务同步(Grails/Java)

我们希望将Google Tasks API集成到我们的Grails Web应用程序中,但是我对于同步任务和防止数据冲突有很多顾虑.

  1. 在授权Google帐户中创建任务时,同步任务的最佳做法是什么.我们是否应该定期创建一个轮询这些服务的服务,或者我们是否可以通过编程方式在用户的Google帐户中启用某种Push更新,以便通知我们的Web应用程序更改?

  2. 在Google帐户中操作同一任务时,我们如何防止用户在我们的系统中编辑任务时产生的冲突?有没有可用的版本/锁定?

grails sync google-tasks google-tasks-api

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

Visual Studio 2013 github 同步错误 403

我收到错误 403:

发生错误。详细信息:响应状态码不表示成功:403(禁止)。

尝试使用 Visual Studio 团队资源管理器推送或同步未同步提交时。

例如,当使用命令行或 sourcetree 时,一切正常。有没有人以前遇到过这个错误并找到解决方法?

我没有使用 ssh。

谢谢!

git sync github visual-studio-2013

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

C程序 - 检查两个枚举在编译时是否同步

我遇到的问题是我在两个不同的文件中有两个枚举,它们应该具有相同的常量集(两个不同的进程由两个文件和其他文件一起生成).我希望枚举是同步的,即当有人为枚举x添加新值并忘记更新其他枚举时,我想抛出编译错误.那可能吗?

c enums compilation sync

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

同步android sqlite数据库

什么是在后端(通过http?)同步android sqlite数据库和MSSql/MySQL数据库的最佳方法.

sqlite android sync

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

如何在应用未运行时检测iphone是否已同步

我想知道是否有任何方法可以检测我的应用程序未运行时iphone音乐库是否已更改.

在MPMediaLibrary类中有一个属性lastModifiedDate来执行此操作,但我遇到的问题是即使iPhone未同步,此日期也会更改.如果在iPod中更改了正在播放列表或当前播放列表,则日期通常会更改.

有没有其他方法可以检测iPhone是否已同步?

iphone sync objective-c mpmusicplayercontroller

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

配置iPhone未在Xcode Organizer(或iTunes)中显示

我最近设置了应用ID和配置文件,并且能够在设备上成功测试我的应用.然后我下载了一些示例iOS XCode项目,并在部署其中一个项目并从手机中删除示例应用程序后,无法将手机与iTunes同步或在Xcode管理器窗口中看到它已连接(该设备仍然列在左侧窗格,但显示为已断开连接).当我尝试在设备上构建和运行时,现在在Xcode中创建的所有新项目都会收到以下消息.

No provisioned iOS device is connected.
Run Code Online (Sandbox Code Playgroud)

我正在运行Xcode 3.2.5和iOS 4.2.

有任何想法吗?

非常感谢.

iphone sync ios xcode-organizer ios-provisioning

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

如何在C中实现无锁共享标志?

我有一个生产者一个消费者模型,我需要生产者在数据可用时设置一个标志.我怀疑我可以在没有锁定共享标志的情况下离开,因为:

  • 生产者在设置之前从不检查该值
  • 偶尔错过对标志的更新不是问题(虽然我可能也可以使用原子操作来避免这种情况?).

所以我的问题是,我该如何实现呢?我对volatile关键字的理解,以及像__sync_synchronize()这样的事情充其量是微不足道的,所以假设我知之甚少.具体来说,我希望能够确保在其他线程中及时看到对标志的更改.

编辑:我在Linux上使用GCC.

c sync lock-free

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

每天从其他网站获取内容

这是我的问题.我正在创建一个有"新闻"标签的网站.我想要的新闻标签是来自其他新闻网站的更新内容.

有没有办法获取在其他网站上发布的纯文本,将其发布在我网站的新闻标签上,并在网站发布新内容时自动更新?任何人都可以把我推向正确的方向,这样我就可以学习如何做到这一点?

我非常了解HTML,但缺乏PHP和Javascript技能.为了解决这个问题,我需要学习什么?

html rss parsing sync

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