小编zne*_*eak的帖子

查看 git diff --name-status,如何判断文件已重命名?

我有一个脚本,用于git diff --name-status查找给定分支和master分支之间的差异,并根据每个文件的更改方式执行各种操作。

Git 不跟踪重命名。虽然它知道在您暂存提交时文件已被重命名,但git diff --name-status仅显示旧名称已被删除并已添加新名称。这对我来说是一个问题,因为我想对已重命名的文件的脚本采取额外的步骤。

给定已添加文件的名称,我如何判断该文件是全新的还是另一个文件的重命名(如果是重命名,其以前的名称是什么)?

git

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

对于小字符串哈希,我应该使用像MD5这样的弃用算法还是像SHA256这样的算法的前缀?

我有16个字节来保存字符串哈希.我理解当你将任意长度的字符串减少到固定长度的字节序列时,碰撞是生活中的事实,但我想尽可能地避免它们.我最好使用一个不推荐使用的算法,如MD5,输出为16字节,或者是尚未破解的算法的前16个字节,如SHA-256?

hash cryptography

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

如何使用可调用对象作为方法定义?

我知道可以定义一个函数并将其用作方法:

def method(*args, **kwargs):
    print "%r %r" % (args, kwargs)

class Test(object):
    method1 = method

t = Test()
t.method1()  # (<__main__.Test object at 0x10705a4d0>,) {}
Run Code Online (Sandbox Code Playgroud)

我想用可调用对象做同样的事情,像这样:

class Method(object):
    __call__ = method

class Test(object):
    method1 = Method()
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,self参数Method.__call__是方法本身(这是正常的),但实例的self参数Test丢失了.

t = Test()
t.method1()  # (<__main__.Method object at 0x10703f110>,) {}
Run Code Online (Sandbox Code Playgroud)

是否可以将self参数作为第二个参数传递给Method.__call__

python python-2.7

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

使用Java,将图像保存到文件的最佳方法是什么?

我有一个学校工作,我需要在一个文件中将任意图像与其他数据一起保存到磁盘.

我们考虑将其与数据一起序列化; 但是,图像,甚至是BufferedImages,都无法序列化.

使用Java将单个文件中的其他数据保存图像的简单方法是什么?老实说,我真的不关心文件大小.但是,如果它被压缩,我认为这是一个加号.

java serialization bufferedimage

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

为什么SQL Server阻止我创建这些外键?

我的(删节)模式具有(或者更确切地说,需要)以下表和关系:

Clients (ID INT PRIMARY KEY)
Files (
    ID INT PRIMARY KEY,
    Client INT REFERENCES Clients(ID) ON DELETE CASCADE)
Interfaces (
    ID INT PRIMARY KEY,
    Client INT REFERENCES Clients(ID) ON DELETE CASCADE)
Files_Interfaces (
    "File" INT REFERENCES Files(ID) ON DELETE CASCADE,
    Interface INT REFERENCES Interfaces(ID) ON DELETE CASCADE)
Run Code Online (Sandbox Code Playgroud)

因此,您可以从此架构中看到,客户端可以拥有多个文件和多个接口.有接口和文件之间的许多一对多的关系(因此结合表Files_Interfaces),唯一的层级关系是客户端(有从一到多的关系ClientsFilesInterfaces).

我需要这些制约因素之间Files_Interfaces以及FilesInterfaces这样,如果我删除文件或接口,所有相关的关联被破坏.

问题是,SQL Server 2005不会让我拥有这个架构.当我尝试使用这些约束创建Files_Interfaces时,我收到以下错误:

在'Files_Interfaces'表上引入FOREIGN KEY约束'FK__Files_Int__Inter__3D2915A8'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.

是什么赋予了?是因为如果我删除了一个客户端,那么这两个文件和接口都会被删除,然后Files_Interfaces记录有两个很好的理由消失?如果是这样,为什么这是一件坏事?

我可以以某种方式防止此错误?

sql-server sql-server-2005

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

你能用twilio发送短信来发起电话吗?

正如标题所述,我想要做的是能够发一个号码并让该号码发起电话.

Twilios API可以实现吗?

twilio

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

闭嘴多字符持续警告

由于非常具体的原因,我有一个这样的枚举:

typedef enum RSGameType
{
    RSGameTypeUnknown = 0,
    RSGameType1v1 = '1v1',
    RSGameType2v2 = '2v2',
    RSGameType3v3 = '3v3',
    RSGameType4v4 = '4v4',
    RSGameTypeCustom = 'Cust'
} RSGameType;
Run Code Online (Sandbox Code Playgroud)

然而,Clang警告我除了'Cust'之外每个项目的'多字符常数'(因为我认为这是一个4个字符的常量).

是否有正确的方法来关闭这些警告,除了使用数字等效?预先设置null('\x001v1')没有效果,虽然附加一个有效(但这是不合需要的,因为值不再准确).

c clang

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

为什么我的Swift包会得到错误的主类?

我创建了一个bundle目标,它的Info.plist文件指定一个非常特定的类(让我们称之为PrincipalClass)应该是它的主要类.这个类是用Swift编写的,并且具有该@objc属性.该Info.plist文件已正确复制到捆绑包,我已经多次清理和重建项目.

但是,当我从Swift框架加载bundle时,它的主要类是一个不同的类(让我们称之为NotPrincipalClass).它没有标记@objc,事实上,它应该是捆绑内部的.我检查bundle.bundleURL了调试器,并且Info.plist捆绑包中的文件确实说它应该是PrincipalClass; 但是当我检查时bundle.infoDictionary,该NSPrincipalClass属性读NotPrincipalClass作一个字符串!(信息字典还包含几个未由Info.plist文件指定的键,DTCompiler例如.)

如果我完全删除NotPrincipalClass,我会得到另一个内部类,这仍然完全不是我的主要类.

我彻底检查了构建日志NotPrincipalClass,除了编译之外我没有看到任何提及.

什么可能导致这个?我该怎么做才能解决它?

nsbundle swift

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

严格别名是否会阻止您通过其他类型写入char数组?

我的理解是在Basic.lval 11中定义了C++中的严格别名:

(11)如果程序试图通过以下类型之一以外的glvalue访问对象的存储值,则行为未定义:

  • (11.1)对象的动态类型,
  • (11.2)对象的动态类型的cv限定版本,
  • (11.3)与对象的动态类型类似的类型(在conv.qual中定义),
  • (11.4)与对象的动态类型对应的有符号或无符号类型的类型,
  • (11.5)一种类型,它是有符号或无符号类型,对应于对象动态类型的cv限定版本,
  • (11.6)聚合或联合类型,包括其元素或非静态数据成员中的上述类型之一(递归地,包括子聚合或包含联合的元素或非静态数据成员),
  • (11.7)一种类型,它是对象的动态类型的(可能是cv限定的)基类类型,
  • (11.8)一个char,unsigned charstd?::?byte类型.

通过我的阅读,每11.8,这总是合法的,因为程序x通过类型的glvalue 访问存储的值unsigned char:

int x = 0xdeadbeef;
auto y = reinterpret_cast<unsigned char*>(&x);
std::cout << y[1];
Run Code Online (Sandbox Code Playgroud)

我很好奇使用指向别名的指针unsigned char:

alignas(int) unsigned char[4] x;
auto y = reinterpret_cast<int*>(x);
*y = 0xdeadbeef;
Run Code Online (Sandbox Code Playgroud)

这是违反严格别名的吗?我的阅读是它不是,但我只是在另一个线程上被告知它是.仅对于basic.lval,在我看来没有UB,因为程序不会尝试访问存储的值:它存储一个新的而不读取它,只要后续读取使用x,就不会发生违规.

c++ strict-aliasing language-lawyer

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

将二进制数转换为十进制数

我需要一个程序将二进制数转换为Java或C++中的十进制数.

是否有人可以帮助我.

c++ java

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

iPhone - 在不导入头文件的情况下符合协议?

最近我下载了开源项目zbar,项目本身与我的问题无关,我仍然无法弄清楚是什么在他的viewcontroller中他能够做到这一点:

//
//  EmbedReaderViewController.h
//  EmbedReader
//
//  Created by spadix on 5/2/11.
//

#import <UIKit/UIKit.h>

@interface EmbedReaderViewController
    : UIViewController
    < ZBarReaderViewDelegate >
{
    ZBarReaderView *readerView;
    UITextView *resultText;
    ZBarCameraSimulator *cameraSim;
}

@property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
@property (nonatomic, retain) IBOutlet UITextView *resultText;

@end
Run Code Online (Sandbox Code Playgroud)

就是这样,就是整个文件,他怎么能看到委托和ZBarReaderView和ZBarCameraSimulator,而不导入任何东西???

我的实现工作正常,但我当然要导入文件,正如我在看这个例子时,它确实引起了我的注意,他没有导入任何东西......这怎么可能?

iphone import objective-c

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

为什么我的应用程序告诉我我的剪贴板显示为空时显然不是?

我试图用控制台应用程序截取我的屏幕截图,然后将其保存到我的桌面但由于某种原因..它告诉我,我的剪贴板是空的时候显然它不是..如果你检查代码你可以看到我按PrintScreen,当您这样做时,它会将其保存到剪贴板.

using System;
using System.Drawing;
using System.Windows.Forms;

namespace ScreenshotConsole
{
    class Program
    {

        static void Main(string[] args)
        {
            screenshot();
            Console.WriteLine("Printescreened");
            saveScreenshot();
            Console.ReadLine();
        }


        static void screenshot()
        {
            SendKeys.SendWait("{PRTSC}");
        }

        static void saveScreenshot()
        {
            //string path;
            //path = "%AppData%\\Sys32.png"; // collection of paths
            //path = Environment.ExpandEnvironmentVariables(path);

            if (Clipboard.ContainsImage() == true)
            {
                Image image = (Image)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
                image.Save("image.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            else
            {
                Console.WriteLine("Clipboard empty.");
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# clipboard screenshot console-application

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

有Python静态分析/验证工具吗?

我从来都不是一个庞大的Python粉丝.我在老师真正参与其中的过程中学到了这一点,但他的热情似乎从未完全融入我们班级的其他成员:只要我们有机会,我们就跳到了C#/ Java.

无论如何.这不是一个总结经验,在语言中最让我烦恼的是,要弄清楚Python代码是否有用,你实际上必须执行它,并且因为像变量中的拼写错误这样的愚蠢而冒险中途冒险名字(抛出一个NameError).编译语言的编译器乍看起来很有吸引力,但是Python不会费心去抱怨,直到为时已晚.(我知道你可以随时一半通过与编译的程序太测试死,但至少它不会从一个错字.)

我还没有真正给它第二次机会,但是为了下一个学生,那里有Python静态分析或验证工具可以捕获大多数错误(我知道你不能抓住它们)编译器会抓住它们在编译时?

python validation

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