好吧,我是VB.NET和桌面应用程序开发的新手.简化这是我的应用程序中发生的事情:
Dim Files() As New List(Of IO.FileInfo)
Files.Add( (New IO.FileInfo("C:\img1.jpg")) )
Files.Add( (New IO.FileInfo("C:\img2.jpg")) )
'Picture is a Windows.Forms.PictureBox in my WinForm '
Picture.Image = New System.Drawing.Bitmap(Files(0).FullName)
Picture.image = Nothing
CurrentFile = Files(0)
'Show next pic (img2)'
Files.RemoveAt(0)
Picture.Image = New System.Drawing.Bitmap(Files(0).FullName)
'Move img1 to other location '
CurrentFile.MoveTo("C:\other\img1.jpg")
Run Code Online (Sandbox Code Playgroud)
最后一行将抛出一个异常,说img1因为正在使用而无法移动.所以我的应用程序仍在使用它,但如何让我的应用程序停止锁定文件?没有什么可以保持它(据我所见)
我正在创建一个文件夹,用我的iPhone App缓存Documents中的图像.我希望能够将此文件夹的大小保持在1MB,因此我需要检查文件夹的大小(以字节为单位).
最好的方法是什么?
我们的应用程序是一个庞大的项目,拥有超过3000个单位,重约350万行代码.
......或者至少是我们在D2007下编译它的时候.我们最近更新到D2010,现在如果我们运行完整版本,行数最终会停止在490万左右.相同的DPR,相同的代码库,相同的一切,但编译器在构建周期中以某种方式运行了大约40%的代码行,没有人知道为什么.
只是为了让事情更加混乱,在构建之后,我们可以转到IDE中的Project - > Information并报告3.8M行.在D2007中,编译器对话框和项目 - >信息对话框报告了相同的编号.
任何人都知道这里发生了什么?
我知道有一些像PE Explorer这样的工具可以检查windows上的DLL内容(导出的符号等).静态库有类似的东西吗?我正在链接一个产生一些链接错误的第三方库,我想仔细检查我期望的符号是否确实被提供.
我想在我的登录系统中实现一个盐,但我对它应该如何工作有点困惑.我无法理解它背后的逻辑.我理解md5是一种单向算法,我遇到的所有函数似乎都将所有内容混合在一起.如果是这种情况,如何获取密码进行比较?我最大的问题是,如何使用户密码更加安全,而不仅仅是对密码进行哈希处理?如果数据库曾被泄露,则散列与salt一起位于数据库中.这不是黑客所需要的吗?
我还在SO上发现了另一篇文章,其他开发人员说:
"确保您的salt和算法与数据库分开存储"
我想将salt存储在数据库中.如果我这样做,这真的是一个问题吗?
我正在寻求一些帮助,以了解它是如何工作的,以及最佳实践可能是什么.任何帮助是极大的赞赏.
编辑:我要感谢大家的回应和想法.尽管我现在可能更加困惑,但对我来说这肯定是一种学习经历.再次感谢你们.
我一直在开发一个内部框架,它是用一堆Perl模块设计的.所有这些模块都依赖于一个暴露一些Win32功能的模块.例如,A,B,C,D等模块都依赖于单个模块Z.因此所有这些模块都将通过"使用MyFramework :: Z"导入.所有这些模块A,B,C等可以单独使用,也不依赖于任何其他框架模块.
现在,考虑到这个简单的设计 - 我如何设计我的单元测试.我打算使用Test :: More来完成所有的单元测试.我应该为每个模块编写单独的单元测试吗?有25个不同的模块属于这个框架.有什么建议?
我从来没有在我的生活中写过任何测试,但我想开始为我的Django项目编写测试.我已经阅读了一些关于测试的文章,并决定尝试为一个非常简单的Django应用程序或者开始编写一些测试.
该应用程序有两个视图(列表视图和详细信息视图)和一个包含四个字段的模型:
class News(models.Model):
title = models.CharField(max_length=250)
content = models.TextField()
pub_date = models.DateTimeField(default=datetime.datetime.now)
slug = models.SlugField(unique=True)
Run Code Online (Sandbox Code Playgroud)
我想向您展示我的tests.py文件并询问:
是否有意义?
我甚至在测试正确的东西吗?
是否有我不遵循的最佳实践,你可以指点我吗?
我的tests.py(它包含11个测试):
# -*- coding: utf-8 -*-
from django.test import TestCase
from django.test.client import Client
from django.core.urlresolvers import reverse
import datetime
from someproject.myapp.models import News
class viewTest(TestCase):
def setUp(self):
self.test_title = u'Test title: b?rek??'
self.test_content = u'This is a content 156'
self.test_slug = u'test-title-bareksc'
self.test_pub_date = datetime.datetime.today()
self.test_item = News.objects.create(
title=self.test_title,
content=self.test_content,
slug=self.test_slug,
pub_date=self.test_pub_date,
)
client = Client()
self.response_detail = client.get(self.test_item.get_absolute_url()) …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个char数组来存储函数的返回值.在以下函数中,数据存储在*****valv**中.如何构建外部变量来访问数据?
int credis_lrange(REDIS rhnd, const char *key,
int start, int end, char ***valv)
{
int rc;
if ((rc = cr_sendfandreceive(rhnd, CR_MULTIBULK, "LRANGE %s %d %d\r\n",
key, start, end)) == 0)
{
*valv = rhnd->reply.multibulk.bulks;
rc = rhnd->reply.multibulk.len;
}
return rc;
}
Run Code Online (Sandbox Code Playgroud)
解:
char **elements;
int size = credis_lrange(this->redis,"object_2",600,603,&elements);
for (int i=0; i<size;i++) {
cout << "element: " << elements[i] << endl;
}
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
如果我的传入日期格式是在C#中,将字符串转换为日期的最佳方法是什么? YYYYMMDD
例如: 20001106
.net ×2
c++ ×2
unit-testing ×2
c# ×1
datetime ×1
delphi ×1
delphi-2007 ×1
delphi-2010 ×1
django ×1
file-io ×1
hash ×1
ios ×1
iphone ×1
line-count ×1
locking ×1
objective-c ×1
perl ×1
python ×1
redis ×1
salt ×1
security ×1
static ×1
vb.net ×1
windows ×1