问题列表 - 第49187页

为什么不在Apache的Abdera框架之上构建google api客户端库?

首先,我要感谢Google GData API工程师的出色工作,我想提一下这个问题并不是要批评任何事情.它只是指出了事情.

有人可以向我解释一下吗?据我所知,java的谷歌api客户端库的开发人员正在重新发明轮子.这就像为Java项目编写一个新的JDK,因为abdera客户端执行google api客户端库所做的事情,abdera服务器功能和适配器也可用于许多事情,例如入口持久性和许多其他事情.

我知道google数据协议是一个特定的原子发布,但如果需要使用Apache Abdera项目为此协议提供的一些花哨的扩展和功能,最好不要使用google api客户端库并且从头开始用Abdera实现客户端...而且我敢肯定,在很多情况下,它的功能,如Abdera的JCR适配器将变得非常方便谷歌文档,谷歌翻译工具包,实际上对大多数其他人.

现在很高兴有一个谷歌api客户端库用于谷歌文档,但我将如何处理文档和原子Feed响应?我相信在一半以上的案例中,另一方面也有一个存储库或数据库.在这种情况下,需要abdera,而不是简单的google api客户端,它们只是编组/解组订阅源...

事实上,所有的谷歌API都有一些东西要坚持下去.如果google决定将努力投入到Abdera增强或集成中,那将是有道理的......这不是......特别是考虑到软件开发中一个众所周知的事实,第二个版本通常是从头开始重写.Apache Abdera是一个成熟的项目,有5年的存在,被大量的应用程序使用.

如果有原因,我没有看到并实现使用pull解析器的客户端只是非常必要,我至少会使用一个不被弃用的xml pull解析器.Xmlpull.org已有6年历史,但尚未启用,甚至没有实现StAX api.stax.codehaus.org参考实现,JRE默认stax实现,Apache Axiom实现以及主要woodstox.codehaus.org实现会更好,为什么要避免规范和活动项目的支持和社区?

我向google api客户端java库的开发人员致歉,但我真的很喜欢google apis,但是使用这个客户端的第一个版本真的很痛苦,目前的版本很不错.但实际上浪费了很多时间主要是因为重新发明轮子以及从版本0到gdata-java-client到google-api-client-java的那些极端的版本间更改.

最后,谷歌在人们投入时间和金钱后限制API,所以为什么要关心,对吧?:-)

我收回了我所说的内容,从那时起软件和协议发生了很大变化......现在当GData支持JSON时,使用它甚至没有意义!

java atompub google-data-api apache-abdera

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

为Apple TV 2G编写应用程序

我的公司(移动开发公司)有许多高清电视,我们购买了一些Apple TV 2G(已越狱).我们使用它们来显示产品,信息等的幻灯片,以及视频播放.

由于我们开发iOS应用程序作为我们业务的一部分,我真的很喜欢为Apple TV写一些东西用于我们的内部监视器.我不知道从哪里开始 - 由于显而易见的原因,我们的大部分工作都是为应用程序商店分发编写应用程序,因此为越狱iOS开发软件对我来说是新的.

此外,用于开发越狱应用程序的大部分资源都用于iPad/iPhone设备 - 我想没有多少人有兴趣为ATV2编写应用程序,可能是因为并没有很多越狱的ATV出现在野外.有没有人对我有任何良好的起点 - 一个有经验的iOS开发人员想要研究为越狱设备编写应用程序,尤其是Apple TV?一般方法更多.

objective-c jailbreak ios

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

Java和C#中的多维数组

在C#中,有两种方法可以创建多维数组.

int[,] array1 = new int[32,32];

int[][] array2 = new int[32][];
for(int i=0;i<32;i++) array2[i] = new int[32];
Run Code Online (Sandbox Code Playgroud)

我知道第一种方法在内部创建一维数组,第二种方法创建一个数组数组(访问速度较慢).

但是在Java中,没有[,]这样的东西,我看到多维数组声明如下:

int[][] array3 = new int[32][32];
Run Code Online (Sandbox Code Playgroud)

由于这种语法在C#中是非法的,而Java没有int[,],我想知道这是否等效array1?或者它仍然是一个数组数组?

c# java arrays jagged-arrays multidimensional-array

12
推荐指数
3
解决办法
6781
查看次数

MySQL解析列以获取数字部分并将其添加

我有下表:

+------------------+
|   ColumnName     |
+------------------+
| 1 Slap           |
+------------------+
| 13 Slap          |
+------------------+
| 2 Slap           |
+------------------+
Run Code Online (Sandbox Code Playgroud)

只有MySQL我怎么能解析ColumnName只抓取数值并将它们全部添加?

如果在上表中执行,则查询的输出应为16.

mysql

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

RSA Sign:OpenSSL

我正在尝试使用Openssl的EVP接口进行编码,以便使用SHA1进行RSA签名.后来我想用不同的摘要算法和不同的签名算法扩展签名(通用的sor,因此使用EVP).

每当我尝试检索私钥的大小时,我似乎都会遇到分段错误

有人能告诉我如何纠正这个问题吗?

int rsaSign(char *in_file, char * sig_file){

        char *data = NULL;
        int data_len;
        unsigned int sig_len;
        unsigned char *sig;
        int err = -1;

        OpenSSL_add_all_digests();
        FILE *fd;
        EVP_PKEY *priv_key = EVP_PKEY_new();
        RSA *privkey = NULL;
           printf( "we are here..\n");

        if ((fd = fopen(PRIVKEY_FILE, "r")) == NULL){
            printf("error reading file\n");
            exit(0);
        }

        privkey = RSA_new();
        if (!PEM_read_PrivateKey(fd, &privkey, NULL, NULL))
        {
            fprintf(stderr, "Error loading RSA Private Key File.\n");
            return 2;
        }

        fclose(fd);

        if (!EVP_PKEY_assign_RSA (priv_key, privkey))
        {
            fprintf(stderr, "EVP_PKEY_assign_RSA: failed.\n"); …
Run Code Online (Sandbox Code Playgroud)

c openssl

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

处理innoDB死锁

Deadlock found when trying to get lock; try restarting transaction在InnoDB表上遇到错误.这是查询:

UPDATE views 
SET visit_cnt = visit_cnt + 1 
WHERE visit_day = DATE(NOW()) 
AND article_id = '4838'
Run Code Online (Sandbox Code Playgroud)

此查询还通过ON UPDATE触发器触发此操作:

UPDATE articles 
SET views = views + 1 
WHERE id = NEW.article.id
Run Code Online (Sandbox Code Playgroud)

这是我试图修复它的方式:

$attempts_left = 5;
do
{
    mysql_query ($query);

    // if we found a deadlock, we will try this query 4 more times   
    if (mysql_errno () == 1213) { // 1213 - deadlock error
        $deadlocked = true;
        $attempts_left --; …
Run Code Online (Sandbox Code Playgroud)

php mysql deadlock innodb

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

可拖动的图钉窗口电话7 bing地图控制

只是想知道如何在windows phone 7应用程序中为地图编程可拖动图钉有任何合适的资源.我看起来很好看,只能找到有关如何为浏览器应用程序执行此操作的信息.

理想情况下,我希望用户能够点击图钉并将其拖动到地图上的某个位置,但是,我可以想到这样做的唯一方法是让用户拖动地图并且图钉保留在地图的中心.

c# silverlight bing-maps windows-phone-7

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

有关正则表达式的帮助包含和排除

我想要一些正则表达式的帮助.

我正在尝试创建一个包含某些字符串并排除某些字符串的表达式.

例如:

我想包含任何包含移动性的网址 http://www.something.com/mobility/

但是,我想排除任何包含商店的URL http://www.something.com/store/mobility/

仅供参考我有很多关键字,我正在使用.目前我包括这样/mobility|enterprise|products/i但是我发现它不能排除包含其他关键字的链接.

提前感谢您提供的任何帮助和见解.

_t

regex regex-negation

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

errnos在哪里定义?用于i2c的linux c/c ++程序示例

当一个经典的linux c/c ++软件出现问题时,我们会有一个神奇的变量errno,它可以让我们知道出了什么问题.

但这些错误定义在哪里?

让我们举一个例子(它实际上是来自Qt应用程序的一部分,因此是qDebug()).

if (ioctl(file, I2C_SLAVE, address) < 0) {
    int err = errno;
    qDebug() << __FILE__ << __FUNCTION__ << __LINE__ 
        << "Can't set address:" << address
        << "Errno:" << err << strerror(err);
     ....
Run Code Online (Sandbox Code Playgroud)

下一步是查看该错误是什么,以便我们可以决定是退出还是尝试对此问题采取措施.

所以我们可以在这一点上添加一个if或switch.

if (err == 9)
{
    // do something...
}
else 
{
    //do someting else
}
Run Code Online (Sandbox Code Playgroud)

我的问题是在哪里找到"9"代表的错误?我不喜欢我的代码中那种神奇的数字.

/谢谢

c c++ linux errno i2c

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

在Python中生成循环移位/缩小拉丁方

只是想知道在Python中生成列表的所有循环移位的最有效方法是什么.在任何一个方向.例如,给定一个列表[1, 2, 3, 4],我想生成:

[[1, 2, 3, 4],
 [4, 1, 2, 3],
 [3, 4, 1, 2],
 [2, 3, 4, 1]]
Run Code Online (Sandbox Code Playgroud)

通过将最后一个元素移动到前面来生成下一个排列,或者:

[[1, 2, 3, 4],
 [2, 3, 4, 1],
 [3, 4, 1, 2],
 [4, 1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)

通过将第一个元素移动到后面来生成下一个排列.

第二种情况对我来说稍微有些意思,因为它导致拉丁方形减少(第一种情况也给出拉丁方,只是没有减少),这正是我试图用来做实验块设计的.它实际上与第一种情况没有什么不同,因为它们只是彼此重新排序,但顺序仍然很重要.

我对第一种情况的当前实施是:

def gen_latin_square(mylist):
    tmplist = mylist[:]
    latin_square = []
    for i in range(len(mylist)):
        latin_square.append(tmplist[:])
        tmplist = [tmplist.pop()] + tmplist
    return latin_square
Run Code Online (Sandbox Code Playgroud)

对于第二种情况,它:

def gen_latin_square(mylist):
    tmplist = mylist[:]
    latin_square = []
    for i in range(len(mylist)):
        latin_square.append(tmplist[:])
        tmplist = tmplist[1:] + …
Run Code Online (Sandbox Code Playgroud)

python algorithm list permutation

8
推荐指数
3
解决办法
7466
查看次数