我有很多很多文件要上传到服务器,我只想要一种方法来避免重复.
因此,从一个大字符串生成一个唯一的小键值似乎是校验和要做的事情,并且散列看起来就像是它的演变.
所以我打算使用hash md5来做到这一点.但后来我在某处读到"MD5并不是唯一的密钥",我觉得这很奇怪.
这样做的正确方法是什么?
编辑:顺便说一句,我采取了两个 来源来实现以下目标,这就是我目前正在做的事情,并且它的工作正常,使用Python 2.5:
import hashlib
def md5_from_file (fileName, block_size=2**14):
md5 = hashlib.md5()
f = open(fileName)
while True:
data = f.read(block_size)
if not data:
break
md5.update(data)
f.close()
return md5.hexdigest()
Run Code Online (Sandbox Code Playgroud) 这里出了点问题。请允许我提供背景。
今天,我尝试推送到我们公司的默认裸机msysgit Windows服务器,并在SO中到处都出现关于推送到非裸机的可怕错误消息。我以为该消息很奇怪,因为我的服务器本来应该是光秃秃的。昨天,一切正常。
然后我注意到core.bare,以某种方式将其设置为false!这是一个回购协议--bare,其中从未包含“ .git”文件夹。然后我去检查,那里是一个.git文件夹,这让我感到不知所措!我问唯一可以在那做某事的人,当然,他没有。
编辑:我只是注意到它只发生在master分支和服务器的.git似乎是在10月1日创建的,这可能是正确的,因为我不master经常这样做。
该文件夹有3gb,光秃秃的文件夹(在.gitghostly 旁边有所有git结构)有6gb。虽然我的本地.git有16 GB,所以我不确定那里发生了什么……甚至更多,我无法检查git log或git reflog。设置为true或false都会得到相同的错误fatal: bad default revision 'HEAD'。现在我认为已经是时候考虑如何恢复回购了。。。
但是在经历所有恢复教条之前,我想知道:
找不到类似的东西,我担心没有。
/* Responsive iFrame */
.responsive-iframe-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.responsive-iframe-container iframe,
.vresponsive-iframe-container object,
.vresponsive-iframe-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
它做了一些神奇的伏都教,使嵌入式iframe谷歌日历变得响应,从而根据你的视图大小调整iframe方面.这很棒!
问题是:它 是如何工作的?position或者overflow没有看到做的伎俩.也不是所有其他属性.我猜这个伎俩vresponsive,但我还没有添加任何jscript来处理它,我甚至没有使用那个类.我使用的所有内容都responsive-iframe-container在链接中解释!
看起来它会更改iframe中的每个元素以调整其大小.从我卑微的观点来看,这真是太疯狂了.必须有一些魔术运动欺骗我!
严格按照文档中的示例完成此错误.并且你无法在任何地方找到任何关于它的澄清,无论是长篇文档页面,google还是stackoverflow.另外,阅读optparse.py显示OptionGroup在那里,这增加了混乱.
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29)
>>> from optparse import OptionParser
>>> outputGroup = OptionGroup(parser, 'Output handling')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'OptionGroup' is not defined
Run Code Online (Sandbox Code Playgroud)
我敢打赌,有人发现我的错误不到1分钟.:)
是的,这意味着我知道答案,但是因为这花了我很长时间才发现我想在这里"记录"它.
我正试图在EC2onrails上配置SSL而没有运气.目前我甚至无法通过端口443远程登录到我的服务器,它只是简单地说trying MY.IP.ADDRESS...并且无限期地停留在那里.Telnet成80件作品很好.
这是我的出发点.我完全按照说明操作,因为我有一个go daddy cert我创建了这个自定义的default-ssl文件,所以我可以添加SSLCertificateChainFile指令:
NameVirtualHost *:443
<VirtualHost *:443>
Include /etc/apache2/sites-available/app.custom
Include /etc/apache2/sites-available/app.common
ErrorLog /mnt/log/apache2/error.log
LogLevel warn
CustomLog /mnt/log/apache2/access.log combined
# see http://httpd.apache.org/docs/2.2/ssl/ssl_intro.html and http://httpd.apache.org/docs/2.2/mod/mod_ssl.html
SSLEngine On
SSLCertificateFile /etc/ec2onrails/ssl/cert/ec2onrails-default.crt
SSLCertificateKeyFile /etc/ec2onrails/ssl/private/ec2onrails-default.key
SSLCertificateChainFile /etc/ec2onrails/ssl/cert/ec2onrails-chain.crt
RequestHeader set X_FORWARDED_PROTO 'https'
ServerName MY_SERVER_NAME
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
请注意,我必须添加
ServerName MY_SERVER_NAME
Run Code Online (Sandbox Code Playgroud)
或者我在error.log文件中的apache启动时看到以下警告:
[Wed May 27 19:46:20 2009] [warn] RSA server certificate CommonName (CN) ` MY_SERVER_NAME' does NOT match server name!?
Run Code Online (Sandbox Code Playgroud)
我运行了cap ec2onrails:server:enable_ssl,apache启动干净,通过端口80的定期访问工作,apache访问日志表明没有请求活动到端口443.我知道apache正在加载我的default-ssl配置文件,因为如果我键入gobbledygook在它们中它在启动时抱怨.
有没有其他人成功地使用SSL与EC2onRails合作?我还可以做些什么来调试这个问题?现在我正在使用基于Ubuntu版本的ec2onRails版本0.9.9.1.
我对Xcode一无所知,除了它是Apple的开发者界面,实际上是OSX CD,它也用于创建iPhone应用程序.
我也知道它有一个Applications文件夹,里面装满了很少的工具,确实非常有用.我尝试抓住其中一个并运行,但没有安装Xcode,但它不起作用.它带来了错误和问题报告,我相信相关部分是这样的:
Dyld Error Message: Library not loaded: @rpath/DevToolsInterface.framework/Versions/A/DevToolsInterface
当然,我已尝试找到"框架",但没有成功.
好...
我想可能有可能安装Xcode,获取该实用程序源,如果它存在于某个地方,并编译为独立.但这超出了我的观点.
我只是想知道是否有某个地方我可以获得这些实用程序和/或使它们运行而根本不需要安装Xcode.
在团结CSHARP,我想打一个GetOrAddComponent方法,这将简化respectives GetComponent和AddComponent(没有充分的理由,我想).
通常的方法是:
// this is just for illustrating a context
using UnityEngine;
class whatever : MonoBehavior {
public Transform child;
void whateverMethod () {
BoxCollider boxCollider = child.GetComponent<BoxCollider>();
if (boxCollider == null) {
boxCollider = child.gameObject.AddComponent<BoxCollider>();
}
}}
Run Code Online (Sandbox Code Playgroud)
现在我可以上这堂课...:
public class MyMonoBehaviour : MonoBehaviour {
static public Component GetOrAddComponent (Transform child, System.Type type) {
Component result = child.GetComponent(type);
if (result == null) {
result = child.gameObject.AddComponent(type);
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
...这样可行: …
说我想要print 1 + 1stdout(即单线编码).
随着awk我可以简单地做到这一点:
$ echo | awk '{print 1+1}'
2
Run Code Online (Sandbox Code Playgroud)
如何用python做到这一点?
在 javascript 中可能更好,但这肯定可以包括 jQuery 或任何此类库。
我想.next在下面的例子中找到第一个。
有很多类似问题的答案暗示nextAll或siblings......两者在这里都没用:
$(function(){
$('.result').text(
$('.origin').nextAll('.next').text()
|| $('.origin').siblings('.next').text()
|| 'both failed'
)
})Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="whatever">
<p class="result"></p>
<p class="origin">1</p>
</div>
<p class="next">2</p>
<p class="next">3</p>Run Code Online (Sandbox Code Playgroud)
此外,什么是最兼容(浏览器和库明智)和最高效(速度和更少的代码行)的方式来做到这一点?
python ×3
actionscript ×1
amazon-ec2 ×1
apache ×1
awk ×1
behavior ×1
c# ×1
checksum ×1
cryptography ×1
css ×1
flash ×1
git ×1
git-bare ×1
hash ×1
haxe ×1
javascript ×1
jquery ×1
msysgit ×1
nameerror ×1
optparse ×1
performance ×1
shell ×1
ssl ×1
unique-key ×1
xcode ×1