参考PHP文件是否有静态代码分析器[如Lint]?- 我正在研究如何在开发人员提交之前评估PHP文件的内容. 任何适合的解决方案都将通过类似答案的SVN钩子触发:是否可以从PHP检查PHP文件语法?
我在检查SVN时遇到了PHP文件的自动语法检查,这是我想要的角度,但是...... php -l还不够.
例如,给定代码:
if ($foo == 'bar') {
echo $foo;
}
Run Code Online (Sandbox Code Playgroud)
这导致:
2012/01/15 02:51:14 [错误] 694#0:*164 stderr发送的FastCGI:"PHP注意:未定义的变量:foo
相比:
if (isset($foo)) { echo $foo; }
Run Code Online (Sandbox Code Playgroud)
其中一些归结为教育程序员最佳实践.不幸的是,有些人没有像其他人那样快速学习,并且确保符合编码标准的唯一方法是减少进入未经测试或不符合要求的SVN.
从这个问题的第一个链接,我尝试过:
$foo$fooRun Code Online (Sandbox Code Playgroud)if ($foo == 'bar') { \_ HERE==== /mnt/hgfs/workspace/scratch-pad/phpinfo.php:44:警告:比较(未知)==(串):无法检查未知类型之间的比较
$foo虽然PHP完整性检查表明它是正确的答案,但不会通知问题所有这些都以他们自己的方式很有趣,但是没有人能够捕获这些只在运行时才能找到的问题.
欣赏有关此主题的意见/想法.
编辑
有一张海报表明PHPLint是正确的方法.我想,好的!让我们再试一次,因为有一个新版本: phplint-pure-c-1.1_20120202:
<?php
if ($foo == 'bar') …Run Code Online (Sandbox Code Playgroud) 关于如何生成地球上的随机坐标(纬度/经度)的任何聪明的想法?纬度/经度.精确到5点,避免水体.
double minLat = -90.00;
double maxLat = 90.00;
double latitude = minLat + (double)(Math.random() * ((maxLat - minLat) + 1));
double minLon = 0.00;
double maxLon = 180.00;
double longitude = minLon + (double)(Math.random() * ((maxLon - minLon) + 1));
DecimalFormat df = new DecimalFormat("#.#####");
log.info("latitude:longitude --> " + df.format(latitude) + "," + df.format(longitude));
Run Code Online (Sandbox Code Playgroud)
也许我生活在一个梦想的世界里,水话题是不可避免的......但希望有一个更好,更清洁,更有效的方法来做到这一点?
编辑
一些奇妙的答案/想法 - 然而,在规模上,让我们说我需要生成25,000个坐标.由于延迟,成本和一些其他因素,去外部服务提供商可能不是最佳选择.
我在SQS中有多条消息.以下代码始终只返回一个,即使有几十个可见(不在飞行中). setMaxNumberOfMessages我认为会允许多次一次消费..我误解了吗?
CreateQueueRequest createQueueRequest = new CreateQueueRequest().withQueueName(queueName);
String queueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl);
receiveMessageRequest.setMaxNumberOfMessages(10);
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
for (Message message : messages) {
// i'm a message from SQS
}
Run Code Online (Sandbox Code Playgroud)
我也试过使用withMaxNumberOfMessages而没有任何运气:
receiveMessageRequest.withMaxNumberOfMessages(10);
Run Code Online (Sandbox Code Playgroud)
我怎么知道队列中有消息?超过1?
Set<String> attrs = new HashSet<String>();
attrs.add("ApproximateNumberOfMessages");
CreateQueueRequest createQueueRequest = new CreateQueueRequest().withQueueName(queueName);
GetQueueAttributesRequest a = new GetQueueAttributesRequest().withQueueUrl(sqs.createQueue(createQueueRequest).getQueueUrl()).withAttributeNames(attrs);
Map<String,String> result = sqs.getQueueAttributes(a).getAttributes();
int num = Integer.parseInt(result.get("ApproximateNumberOfMessages"));
Run Code Online (Sandbox Code Playgroud)
以上总是先行,并给我一个int> 1
感谢您的输入
亚马逊SWF今天推出.如何最好地使用Java/PHP /等?
当前的SDK支持似乎不包含它.我知道它是新的,但有没有人有任何关于如何使用它的好资源,或者我需要在以下任何SDK中实现哪些更改才能立即开始使用?
就个人而言,我对Java和PHP SDK的兴趣是......
更新的版本可在以下网址查看:http: //aws.amazon.com/releasenotes 感谢Bjorn!
嗨,我有一个用于上传文件的球衣客户端.我尝试在本地使用它,一切正常.但在生产环境中,我要设置代理.我浏览了几页,但无法得到确切的解决方案.有人可以帮我这个吗?
这是我的客户代码:
File file = new File("e:\\test.zip");
FormDataMultiPart part = new FormDataMultiPart();
part.bodyPart(new FileDataBodyPart("file", file, MediaType.APPLICATION_OCTET_STREAM_TYPE));
WebResource resource = null;
if(proxy.equals("yes")){
//How do i configure client in this case?
}else{
//this uses system proxy i guess
resource = Client.create().resource(url);
}
String response = (String)resource.type(MediaType.MULTIPART_FORM_DATA_TYPE).post(String.class, part);
System.out.println(response);
Run Code Online (Sandbox Code Playgroud) 使用以下代码,使用jersey:
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-apache-client4</artifactId>
<version>1.13-b01</version>
Run Code Online (Sandbox Code Playgroud)
我有使用自定义请求方法的问题,如FOOBAR,PATCH,SEARCH等.那些不存在的方法httpUrlConnection.
DefaultClientConfig config = new DefaultClientConfig();
config.getProperties().put(URLConnectionClientHandler.PROPERTY_HTTP_URL_CONNECTION_SET_METHOD_WORKAROUND, true);
Client c = Client.create(config);
Form f = new Form();
f.add("id", "foobar");
WebResource r = c.resource("http://127.0.0.1/foo");
String methodName = "foobar";
String response = r.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).accept(MediaType.APPLICATION_JSON_TYPE).header("USER-AGENT", "my-java-sdk /1.1").method(methodName.toUpperCase(), String.class, f);
Run Code Online (Sandbox Code Playgroud)
结果是以下异常:
com.sun.jersey.api.client.ClientHandlerException: java.net.ProtocolException: Invalid HTTP method: FOOBAR
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种方法来尝试解决这个问题,但没有成功.
config.getProperties().仍然收到错误长话短说,我想实现类似于via Java中提供的功能:
提前感谢您的反馈
使用我的EC2服务器发送电子邮件没有问题,但是如何查看发送给我的电子邮件?我有弹性IP设置和修改的反向DNS记录.我是否需要安装Postfix才能接收电子邮件?
这个问题似乎特定于microsofttranslator.com所以请...任何答案,如果你可以测试它...
使用以下URL进行翻译:http: //api.microsofttranslator.com/V2/Ajax.svc/TranslateArray ..我通过cURL发送了一些很棒的参数,并得到以下结果:
[
{
"From":"en",
"OriginalTextSentenceLengths":[13],
"TranslatedText":"?????",
"TranslatedTextSentenceLengths":[5]
},
{
"From":"en",
"OriginalTextSentenceLengths":[16],
"TranslatedText":"?????",
"TranslatedTextSentenceLengths":[5]
}
]
Run Code Online (Sandbox Code Playgroud)
当我json_decode($output, true);在cURL的输出上使用时,json_decode会在返回的JSON中提供关于语法不合适的错误:
json_last_error() == JSON_ERROR_SYNTAX
Run Code Online (Sandbox Code Playgroud)
使用JSON返回的标头:
响应标题
Cache-Control:no-cache
Content-Length:244
Content-Type:application/x-javascript; charset=utf-8
Date:Sat, 06 Aug 2011 13:35:08 GMT
Expires:-1
Pragma:no-cache
X-MS-Trans-Info:s=63644
Run Code Online (Sandbox Code Playgroud)
原始内容:
[{"From":"en","OriginalTextSentenceLengths":[13],"TranslatedText":"?????","TranslatedTextSentenceLengths":[5]},{"From":"en","OriginalTextSentenceLengths":[16],"TranslatedText":"?????","TranslatedTextSentenceLengths":[5]}]
Run Code Online (Sandbox Code Playgroud)
cURL代码:
$texts = array("i am the best" => 0, "you are the best" => 0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = array(
'appId' => $bing_appId,
'from' => 'en',
'to' => 'zh-CHS', …Run Code Online (Sandbox Code Playgroud) 我试图从.Net调用Service Now的web服务,我可以使它在插入记录时工作正常,但我无法使用任何GET工作.这是我的工作INSERT代码:
public void insertTable(string tableName, string schema, string columnInfo, string shortDesrcipt, string longDescript)
{
using (ServiceNow_u_database_table tableReference = new ServiceNow_u_database_table())
{
insertResponse response = new insertResponse();
System.Net.ICredentials cred = new System.Net.NetworkCredential(Properties.Settings.Default.UserName, Properties.Settings.Default.Password);
tableReference.Credentials = cred;
insert tableInsert = this.getTableData(tableName, schema, columnInfo, shortDesrcipt, longDescript);
try
{
response = tableReference.insert(tableInsert);
}
catch (Exception error)
{
Console.WriteLine(error.Message);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这很好.以下代码不适用于GET:
using (ServiceNow_u_database_table tableReference = new ServiceNow_u_database_table())
{
ServiceNowExport.com.servicenow.libertydev.u_database_table.getRecords recordGet = new getRecords();
System.Net.ICredentials cred = …Run Code Online (Sandbox Code Playgroud) Openfire使用blowfish加密将加密密码存储在数据库中.
http://svn.igniterealtime.org/svn/repos/openfire/trunk/src/java/org/jivesoftware/util/Blowfish.java是加密/解密函数在openfire中如何工作的java实现.
我的目标是通过PHP和MySQLI在数据库中创建新的用户条目.我尝试过的所有变体都产生了与数据库中已存在的结果不匹配的结果.例如:
d3f499857b40ac45c41828ccaa5ee1f90b19ca4e0560d1e2dcf4a305f219a4a2342aa7364e9950db是加密密码之一.明确的文字,这是stackoverflow
我尝试了一些变化:
echo mcrypt_cbc(MCRYPT_BLOWFISH, '1uY40SR771HkdDG', 'stackoverflow', MCRYPT_ENCRYPT, '12345678');
// result: áë*sY¶nŸÉX_33ô
Run Code Online (Sandbox Code Playgroud)
另一个基于mcrypt的blowfish php与java和.net相比略有不同的结果
$key = '1uY40SR771HkdDG';
$pass = 'stackoverflow';
$blocksize = mcrypt_get_block_size('blowfish', 'cbc'); // get block size
$pkcs = $blocksize - (strlen($data) % $blocksize); // get pkcs5 pad length
$data.= str_repeat(chr($pkcs), $pkcs); // append pkcs5 padding to the data
// encrypt and encode
$res = base64_encode(mcrypt_cbc(MCRYPT_BLOWFISH,$key, $pass, MCRYPT_ENCRYPT));
echo $res;
// result: 3WXKASjk35sI1+XJ7htOGw==
Run Code Online (Sandbox Code Playgroud)
任何聪明的想法,或任何明显的问题?我只想Blowfish.encryptString()在这个问题的第一个链接中引用.
拼命想在Lucene中实现一个新功能,我转向你.在这个JIRA中,Lucene基本上增加了一些额外的评分模型:https://issues.apache.org/jira/browse/LUCENE-2959
请原谅我的无知,但我真的不明白如何获得该链接中描述的lucene的"版本",以便我可以根据自己的需要使用它.该链接的作者提到他们已经实现了新的排名模型,如BM25,但我不知道从哪里获取源代码,也不知道如何使用这些新功能实现或运行Lucene.如果您对此有所了解,我们将非常感谢您的帮助.
提前致谢,
聂
java ×4
php ×3
jersey ×2
.net ×1
amazon-ec2 ×1
amazon-sqs ×1
amazon-swf ×1
blowfish ×1
c# ×1
client ×1
curl ×1
email ×1
fastcgi ×1
geocoding ×1
gis ×1
json ×1
lucene ×1
mcrypt ×1
openfire ×1
proxy ×1
rest ×1
servicenow ×1
smtp ×1
web-services ×1