我有一段代码处理存储在数据库中的客户.有一个对象Customer,它有两个类型的属性byte[]:一个用于密码盐,另一个用于密码哈希.
使用FxCop检查代码,我看到它抱怨(CA1819,性能规则):
"返回数组的属性容易导致代码效率低下.考虑使用集合或将其作为方法.有关详细信息,请参阅设计指南."
并建议:
"更改'Customer.PasswordHash'以返回集合或使其成为方法."
我真的不明白,我正在做的代码效率低下是什么?
在Eclipse中(我使用的是版本3.6又称Helios),您可以使用Alt+ Command+ Q C(在Mac OS X或Windows + Linux上的Alt+ Shift+ Q C)来关注控制台视图.好.非常好.
我的问题是,为了在该视图内的控制台之间切换,您必须单击"显示所选控制台"图标旁边的可笑小箭头.看到:
替代文字http://i28.tinypic.com/2vkl447.jpg
我发现这很烦人,因为我完全是面向键盘的,这实际上是我在Eclipse中使用鼠标的唯一方法.我经常一次启动多个运行配置,每个都打开一个新的控制台.试图点击那个小箭头以便1)查看哪些控制台是打开的以及2)在它们之间切换是令人讨厌的.=(
在控制台视图中是否有任何键盘友好的方式在打开的控制台之间切换?
我需要一次生成两个excel文件.我们使用Apache POI生成excel文件和struts框架.
在动作类中,步骤如下,
OutputStream outputStream = response.getOutputStream();
Run Code Online (Sandbox Code Playgroud)
然后从db填充数据并使用POI创建一个文件并调用,
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment; filename=ExportFile1.xls");
workbook.write(outputStream);
outputStream.flush();
Run Code Online (Sandbox Code Playgroud)
并执行相同的步骤(从db填充数据,编写excel内容)作为第二个文件,
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment; filename=ExportFile2.xls");
workbook.write(outputStream);
outputStream.flush();
Run Code Online (Sandbox Code Playgroud)
但只生成一个文件.
这在java中是否可以一次生成两个文件?有没有人实现过这个?
请注意:不需要在一个excel文件中生成两个工作表.
当我使用Linux套接字程序时,我遇到有关select函数的问题.如果客户端在服务器配置的时间间隔内连接服务器端,那么select函数工作正常.如果超时发生,select函数将永远返回0.那时,我调试客户端,发现客户端已连接到服务器.但是select函数仍然返回0.我已经搜索了这个问题,但没有找到任何帮助.有人知道为什么选择那样吗?我的linux版本是RHEL5.4.谢谢您的帮助.
代码如下所示.
static const int maxLog = 10000;
int main()
{
int servSock;
signal(SIGPIPE, SIG_IGN);
if((servSock = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
{
printf("socket create fail\n");
exit(-1);
}
int val = 1;
if(setsockopt(servSock, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))<0)
{
DieWithUserMessage("setsockopt error");
}
struct sockaddr_in serverAddr;
memset(&serverAddr, 0, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
serverAddr.sin_port = htons(22000);
if(bind(servSock, (struct sockaddr *) &serverAddr,
sizeof(serverAddr)) < 0)
{
printf("socket bind fail\n");
exit(-1);
}
if(listen(servSock, maxLog) < 0)
{
printf("listen failed\n");
exit(-1);
} …Run Code Online (Sandbox Code Playgroud)
我正在开发一个应用程序,它需要删除文件,无论其他进程是否正在使用它
请考虑以下代码段.
using System;
using System.IO;
namespace DotNet_Concepts.File_Operation
{
class Deleting_File_Which_Is_In_Use
{
static void Main(string[] args)
{
StreamReader lclFileStream = null;
string lclFileName=string.Empty;
try
{
lclFileName=@"E:\Visual Studio 2008 Projects\DotNet Concepts\DotNet Concepts\Local Files\Garbage.txt";
if (File.Exists(lclFileName))
{
lclFileStream = new StreamReader(lclFileName);
if (lclFileStream != null)
{
//Doing some operation
}
//Deleting the file before closing the stream
File.Delete(lclFileName);
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.StackTrace);
}
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在删除同一进程使用的文件.是否可以删除该文件
谢谢,阿米特沙阿
在学说中,常规和获取连接之间的差异是什么?我只是通过阅读文档得到它.
// regular
$query = $em->createQuery("SELECT u FROM User u JOIN u.address a WHERE a.city = 'Berlin'");
$users = $query->getResult();
// fetch
$query = $em->createQuery("SELECT u, a FROM User u JOIN u.address a WHERE a.city = 'Berlin'");
$users = $query->getResult();
Run Code Online (Sandbox Code Playgroud)
什么是获取加入的目的?如果我select u, a为什么我只是得到users($users = $query->getResult();)?如果我使用常规连接,我可能会$user->getAddresses()用来访问相关的对象?
我是一个java开发人员/ python初学者,我缺少我的maven功能,特别是依赖管理和构建自动化(我的意思是你不构建,但是如何创建一个包用于部署?)
有没有python相当于实现这些功能?
注意:我使用python 2.x.
谢谢.
使用像std :: find()这样的算法函数会有更好的方法吗?
std::string s = "012X012Y012";
//After erasing the numbers from beginning and end; the end result should be X012Y
size_t index = s.find_first_not_of("0123456789");
string::iterator iter_end = s.begin();
advance(iter_end, index);
s.erase(s.begin(), iter_end);
//Now std::string should be X012Y012
size_t index = s.find_last_not_of("0123456789")+1;
string::iterator iter_start = s.begin();
advance(iter_start, index);
s.erase(iter_start, s.end());
//Finally, std::string should be X012Y
Run Code Online (Sandbox Code Playgroud) 我使用此代码从sqlite数据库中读取数据:
keyFromSql = [NSString stringWithCString:(char *)sqlite3_column_text(preparedStatement, 1)];
Run Code Online (Sandbox Code Playgroud)
但是编译器给了我在标题中写的警告......那么,从sqlite中检索值的正确而不是弃用的方法是什么?
谢谢!