小编Jim*_*mbo的帖子

条款和条件Google地图:我可以存储lat/lng和地址组件吗?

这个问题已经在SO的几个地方被问过了,但是我发现答案要么有点矛盾,要么"瘦"......所以我不确定再问一次是否会有所帮助,但是这里有.

谷歌"帮助"页面说谷歌团队在SO上保持"存在",所以如果你是谷歌家伙,请你明白这一点,如果你不喜欢也请说清楚,谢谢:)

那么,我想做什么......用户搜索一组位置.这些将用于形成旅行行程.我想取lat/lng和地址组件并将它们存储在我自己的数据库中,以便当另一个人在一些国家/地区,某些地方等使用搜索旅行时,我可以去寻找它们.

最大的问题是,条件条件是否允许这样做?让我担心的相关问题是......

10.1.3数据导出或复制的限制.

......剪...

(b)没有预先获取,缓存或存储内容.您不得预先获取,缓存或存储任何内容,但您可以存储以下内容:(i)有限数量的内容,以便在您暂时 (以下情况下)暂时提高Maps API实施的效果时超过30个日历日),...剪切...例如,您不得使用内容创建"地点"或其他本地列表信息的独立数据库.

我想做的事情会违反这一点.它听起来像我可能,但随后提出了问题,为什么我会使用谷歌地图这种应用程序?其他旅游网站似乎?!

google-maps google-geocoder

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

OpenSSL自签名根CA证书:设置开始日期

我正在使用以下设置创建一个带有自己的自签名证书的小测试CA(使用OpenSSL 1.0.1 2012年3月14日).我遇到的问题是,如果我查看CA自己的证书的开始日期,它会在明天创建它(我今天想用它).

> openssl x509 -noout -startdate -enddate -in ~/my_little_ca/cacert.pem 
notBefore=Jan  2 16:05:52 2015 GMT
notAfter=Feb  1 16:05:52 2015 GMT
Run Code Online (Sandbox Code Playgroud)

所以我挖了一点,因为我使用CA签署的证书存在同样的问题.对于这些证书,我可以使用--startdate,设置开始日期,但我看不到CA根证书的类似选项.我尝试default_startdate在生成CA时使用的openssl配置文件中使用,但由于某种原因,这似乎被忽略了?

我按如下方式创建CA,这基本上只是由Pravir Chandra等人的"Network Security with OpenSSL"逐字逐句采用,如下面进一步所示.

使用的命令是req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -verbose,但我想知道的是如何在生成根CA证书和私钥时在此特定情况下设置startdate?先感谢您.

生成CA的完整脚本如下:

MYDIR=$(pwd -P)
BASEDIR=~/enigma_ca


mkdir -pv $BASEDIR
cd $BASEDIR

mkdir -pv private
chmod g-rwx,o-rwx private
mkdir -pv certs
touch index.txt
echo '01' > serial

DEFAULT_STARTDATE=$(date +'%y%m01000000Z')

cat <<EOF >openssl.cnf
[ ca ]
default_ca = my_test_ca

[ my_test_ca …
Run Code Online (Sandbox Code Playgroud)

ssl openssl

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

svn本地阻塞,传入合并后添加

我已经阅读了相当多的SO线程以及以下博客,但仍然不理解我的特定问题,所以我希望有人可以帮助...

执行从主线到开发线的合并再次赶上,我得到以下树冲突.

M      incubator
     C incubator/UtilityScripts
     >   local dir obstruction, incoming dir add upon merge
Run Code Online (Sandbox Code Playgroud)

好的,所以我理解这应该是这个目录独立地独立地添加到trunk和dev分支,这样就没有共同的祖先......

..Buuuut(总有一个但是对吗?!)有一个共同的祖先.此目录由于之前从卡车合并而进入我的dev分支.

dev$ svn mergeinfo {^/trunk/src/,}incubator/UtilityScripts/
     youngest common ancestor
     |         last full merge
     |         |        tip of branch
     |         |        |         repository path

     23788              23838   
     |                  |       
   -------| |------------         trunk/src/incubator/UtilityScripts
      \                         
       \                        
       --| |------------          branches/dev/src/incubator/UtilityScripts

                        |       
                        23838   
Run Code Online (Sandbox Code Playgroud)

所以,正如我所理解的那样,SVN确实认为dev分支与Trus的祖先相关,并且在修订版23788处具有共同的祖先.

branch$ svn log --stop-on-copy incubator/UtilityScripts/
------------------------------------------------------------------------
r23790 | me | 2015-05-12 16:08:25 +0100 (Tue, 12 May 2015) | 1 line
Run Code Online (Sandbox Code Playgroud)

所以我在修订版23790中得到了这个文件,现在我在修订版23838

Trunk$ svn log --stop-on-copy …
Run Code Online (Sandbox Code Playgroud)

svn version-control merge

6
推荐指数
0
解决办法
1670
查看次数

#interrupt-cells 是 2,但中断是 3 元组

我正在查看 Beagle Bone Black 的设备树,并从 开始am57xx-beagle-x15.dts。深入研究dra7.dtsi我发现gpio1:

gpio1: gpio@4ae10000 {
            compatible = "ti,omap4-gpio";
            reg = <0x4ae10000 0x200>;
            interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
            ti,hwmods = "gpio1";
            gpio-controller;
            #gpio-cells = <2>;
            interrupt-controller;
            #interrupt-cells = <2>;
        };
Run Code Online (Sandbox Code Playgroud)

我读过它#interrupt-cells给出了列表中的一项所期望的 u32 或单元格的数量interrupts。但是当我查看时,interrupts我看到了一个三元组:<GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>。我很想知道,为什么它包含 3 个单元而不是 2 个?

linux beagleboard beagleboneblack

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

CMake -DCMAKE_CXX_COMPILER 有效但 SET(CMAKE_CXX_COMPILER ...) 被忽略?

一直在尝试将 CPP 编译器设置为g++在我的工具链文件中使用以下行。

# specify the cross compiler
SET(CMAKE_CXX_COMPILER:FILEPATH /opt/qnx641/host/linux/x86/usr/bin/arm-unknown-nto-qnx6.4.0-g++)
Run Code Online (Sandbox Code Playgroud)

这似乎没有被使用,所以我尝试了一些东西只是为了起诉

SET(CMAKE_C_COMPILER:FILEPATH   /junk/gcc)
Run Code Online (Sandbox Code Playgroud)

好的,矫枉过正,但这样我绝对确定 CMake 不会从我传入的路径和命令结构中进行任何有趣的推断。

我通过查看有关工具链文件的CMake 交叉编译页面沿着这条路线走下去。

因此,仔细阅读并决定从命令行执行此操作,因为此 QA 线程显示命令行将-D覆盖缓存的变量。

这有效!

所以我的问题是,有谁知道为什么当我不使用-D命令行选项时 CMake 如何找到我的交叉编译器路径和 exename 但忽略SET(CMAKE_CXX_COMPILER...我的工具链中的行。

我在每次构建之前删除了build目录和CMakeCache.txt文件。

为了完整起见,我使用的命令行是

rm CMakeCache.txt; 
rm -fr build; 
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./build 
-DMAKE_TOOLCHAIN_FILE=/path/to/toolchain-file.cmake 
-C CMakeCrossCompile-TryRunResult-qnx-armle.cmake . 
Run Code Online (Sandbox Code Playgroud)

该文件CMakeCrossCompile-TryRunResult-qnx-armle.cmake不包含CMAKE_CXX_COMPILER.

任何关于 giong 的线索都非常感谢!

我还使用了硫辛酸的命令行选项来查看正在使用的缓存变量,它绝对不是从获得正确的值SET命令时,命令茯苓-D...是不存在...

编辑:我发现以下CMake 支持请求 …

cmake

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

将Git存储备份到GitHub

我想隐藏正在进行的工作,但我也希望我在GitHub上备份我的东西.以前我通常会发表评论说"WIP:blah blah blah",但我宁愿提交已完成的阶段,而不是提交"WIP:"提交,这实际上只是将我的工作备份到GitHub服务器的一种方式.

有没有办法藏匿GitHub?

git github git-stash

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

Perl PadWalker不显示用"我们的"声明的变量

在Eclipse和PadWalker中遇到Perl调试器的一些问题.以前只用于简单的单文件脚本.使用"my"声明的变量.它们在调试器"变量"窗口中看起来很好.

现在我正在使用其他人更复杂的脚本,我没有看到使用"我们的"声明变量.为了调查,我把它归结为一个非常简单的例子

junk.pl:

use strict;
use warnings;

require 'junk2.pl';

package Junk;
my $simon = "SOMETHING";
print "JUNK  " . $Junk2::james . "\n";
print "JUNK  " . $simon . "\n";
Run Code Online (Sandbox Code Playgroud)

junk2.pl:

package Junk2;
our $james;
$james = "FOO";

1;
Run Code Online (Sandbox Code Playgroud)

单步执行代码,可my $simon调试窗口中的可修改显示很好但变量our $james不显示.调试器工作正常:程序运行,输出窗口显示正确的输出...它只是无法显示的变量窗口$james.

下面的屏幕截图显示了问题.正如您所看到的$james,Junk2包中的变量打印正常,但不会出现在变量显示中.

没有包变量的IDE调试器视图

一直在寻找一个解决方案,但找不到任何匹配好的东西...任何想法?

编辑:如果我使用Perl调试器,我发现我可以"看到"包变量: cmd行调试器的视图.

有没有办法在IDE中以友好的方式获得相同的输出,如padwalker节目?

谢谢你们到目前为止回答的人:)

eclipse perl epic

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

PyLint:使用可能未定义的循环变量警告

读完这个问题之后,我就能理解为什么可能会输出这个警告,但是当循环变量不能被定义时我有一个特定的情况......

for i in range(0, 2):
    print i

print i 
Run Code Online (Sandbox Code Playgroud)

PyLinting以上我得到了

 W:  4,6: Using possibly undefined loop variable 'i'
Run Code Online (Sandbox Code Playgroud)

是PyLint不是很聪明地注意到内置 range()函数在这种情况下总会生成一个填充列表,所以i总是会为最后一个print语句设置?我可以理解它是否是一个定义不足的函数,因为PyLint不可能知道函数的作用......但在这种情况下它是一个众所周知的函数,当然这种用法会很常见吗?

如果是这样,最好是i在循环之前抑制警告或定义(这看起来很浪费)?

python pylint

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

带有可调用提示的PHP函数参数...可以为NULL吗?

我想有一个PHP函数接受一个参数A,我已经给出了类型提示callable.麻烦在某些情况下我希望能够传递NULL或类似的东西,作为参数值,表明尚未提供回调.我收到以下错误:

"Argument must be callable, NULL given".
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以实现这个吗?

回答发布的答案和问题......

PHP版本是5.4.14

代码是......

class DB
{
    protected function ExecuteReal($sqlStr, array $replacements, callable $userFunc, $allowSensitiveKeyword)
    {
        ...
        if( $userFunc != NULL && is_callable($userFunc) )
            $returnResult = $call_user_func($userFunc, $currRow);
        ...
    }

    ...
    public function DoSomething(...)
    {
        $result = $this->ExecuteReal($queryStr, Array(), NULL, TRUE);   
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中,我不需要使用任何数据回调,因此我只传入NULL,而不是传入可调用对象.但这是错误信息的原因.

解决方案是下面的答案...谢谢你们:)

php default-value type-hinting

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

PHP preg_match'£'

有点惊讶,但以下......

static public function VerifyAndFormatStreet(&$addrStr, $mustExist)
{
    if( $addrStr !== NULL )
    {       
        $addrStr = trim($addrStr);

        // SNIP

        if( preg_match('/[^A-Za-z0-9 -.,]/', $addrStr) )
        {
            printf("\t### FAIL: BAD CHARS\n");
            throw new JEH_IllegalParameterException("Address contains illegal characters");
        }

        $addrStr = ucwords(strtolower($addrStr));
        printf("PASS STRING IS NOW $addrStr\n");
    }
    else if($mustExist)
        throw new JEH_IllegalParameterException("Address must not be empty");
}
Run Code Online (Sandbox Code Playgroud)

以下调用无法在$street2...中找到无效字符

$pass = FALSE;
try { JEH_Address::Create("12 Somestreet", "Junk£", "Frlington", "", "Portsmouth", "Hampshire", "UK", "PO1 1XX"); }
catch(JEH_IllegalParameterException $e) { $pass = TRUE; } …
Run Code Online (Sandbox Code Playgroud)

php

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