我正在为我的网站上的表格做一个基本的"人体测试".
我想取当前日期(到分钟,而不是秒),并将其与用户REMOTE_ADDR组合,然后从中生成一个字符串(可能使用md5?),然后将其限制为6个字符.
然后,该代码将被呈现给用户,该用户被指示将其复制到特定文本框,一旦提交将被验证并允许该表格被处理.
我不知道是否有更简单的方法可以做到这一点,但这是我认为对我有用并快速解决的问题.有什么建议?
这里有许多问题涉及C#中Structs和Classes之间的差异,以及何时使用其中一个.(一句话答案:如果你需要价值语义,请使用结构.)有很多关于如何选择其中一种的指导方针,其中大部分归结为:除非你满足这些特定要求,否则使用一个类,然后使用结构.
这一切都对我有意义.
但是,我似乎无法找到任何在系统中使用结构的人的现实例子.我是(半)新的C#,我很难想象结构是真正正确的选择的具体情况(至少,我还没有遇到过.)
所以,我转向SO世界大脑.在某些情况下,您实际在系统中使用结构的情况下,哪个类不起作用?
我将NSDates存储到您在NSDate上调用描述时获得的国际格式的文件.
但是,我不知道如何从字符串格式返回到NSDate对象.NSDateFormatter似乎仅限于几种不包括国际格式的格式.
我应该如何从字符串格式返回?
我读到的关于将时间转换为用户时区的地方说,最好的方法是以UTC格式存储日期和时间,然后将用户的时区偏移量添加到此时间.
如何以UTC时间存储日期?我使用MySQL DATETIME字段.
在我的PHP代码中向MySQL添加新记录时,我将使用now()插入MySQL DATETIME.
我是否需要使用不同于now()存储UTC时间的东西?
我有一个相当大的XML文件,我需要解析为.NET类结构(映射到固定长度的记录格式并通过MQ传输).性能很重要,但并非绝对关键.
我几乎总是XPathNavigator用来读取XML文件,因为它比它更容易XmlReader.另一方面,我知道XmlReader速度快XPathNavigator,因为理论上它一次只读取一个节点,而XPathNavigator必须读取足以执行XPath,可能是整个文档.
我的问题是:它真的快多少?阅读几千个节点会有明显的区别吗?什么是我几乎不得不切换到的转折点XmlReader?或者经过XPathNavigator优化以至于它始终是一个不错的选择?
我的大多数XML经验都是在相对较小的文件上,因此我正在寻找任何使用大文件的人的输入.
首先让我向SO社区道歉,告诉你一些应该是如此微不足道的东西.但是我整天都在这里,而且我已经走到了尽头.
我的程序中有一部分需要从输入流中提取文本,以及使用Runtime.getrunTime().exec()启动的进程的错误流,并以有序的方式将其传递给标准输入和输出.我有一个功能,因为我可以告诉应该工作.但它似乎陷入了陷阱 - 它正在等待流报告准备好 - 但流已经完成并且没有报告.我很困惑.我想不出另一种方法可以做到这符合我的约束,而我更加怀疑这样的捕获22可以存在.
这是我的代码:
private void forwardStreamtoStd(InputStream in, InputStream err)
throws IOException {
int c = -1;
BufferedReader inReader = new BufferedReader(
new InputStreamReader(in, "US-ASCII"));
BufferedReader errReader = new BufferedReader(
new InputStreamReader(err, "US-ASCII"));
boolean inFinished = false, errFinished = false;
try {
System.out.println("Begin stream read loop...");
while (!inFinished && !errFinished) {
if (!inFinished) {
while (inReader.ready()) {
if ((c = inReader.read()) == -1) {
inFinished = true;
}
else {
System.out.print((char) c);
}
}
}
if (!errFinished) …Run Code Online (Sandbox Code Playgroud) 我使用Apache和mod_wsgi部署了我的django应用程序.所有设置加载正常,但当我将用户重定向到登录页面时,我收到以下错误:
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/django/core/handlers/base.py", line 83, in get_response
request.path_info)
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 186, in resolve
sub_match = pattern.resolve(new_path)
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 125, in resolve
return self.callback, args, kwargs
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 137, in _get_callback
raise ViewDoesNotExist, "Tried %s in module %s. Error was: %s" % (func_name, mod_name, str(e))
ViewDoesNotExist: Tried login in module django.contrib.auth.views. Error was: 'module' object has no attribute '__file__'
Run Code Online (Sandbox Code Playgroud)
使用或不使用登录重定向,我在尝试加载/ admin站点时收到此错误.
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/django/core/handlers/base.py", line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/opt/ActivePython-2.6/lib/python2.6/site-packages/django/contrib/admin/sites.py", line 164, in wrapper …Run Code Online (Sandbox Code Playgroud) 我在早期的帖子中询问了最有效的大规模动态字符串连接方法,我建议使用join方法,这是最好,最简单,最快速的方法(就像大家所说的那样).但是当我玩字符串连接时,我发现了一些奇怪的(?)结果.我确信事情正在发生,但我不能完全理解.这是我做的:
我定义了这些功能:
import timeit
def x():
s=[]
for i in range(100):
# Other codes here...
s.append("abcdefg"[i%7])
return ''.join(s)
def y():
s=''
for i in range(100):
# Other codes here...
s+="abcdefg"[i%7]
return s
def z():
s=''
for i in range(100):
# Other codes here...
s=s+"abcdefg"[i%7]
return s
def p():
s=[]
for i in range(100):
# Other codes here...
s+="abcdefg"[i%7]
return ''.join(s)
def q():
s=[]
for i in range(100):
# Other codes here...
s = s + ["abcdefg"[i%7]]
return ''.join(s) …Run Code Online (Sandbox Code Playgroud) 对于一个简单的指针增量分配器(它们有正式名称吗?)我正在寻找一种无锁算法。这似乎微不足道,但我想得到一些反馈,我的实现是否正确。
不是线程安全的实现:
byte * head; // current head of remaining buffer
byte * end; // end of remaining buffer
void * Alloc(size_t size)
{
if (end-head < size)
return 0; // allocation failure
void * result = head;
head += size;
return head;
}
Run Code Online (Sandbox Code Playgroud)
我对线程安全实现的尝试:
void * Alloc(size_t size)
{
byte * current;
do
{
current = head;
if (end - current < size)
return 0; // allocation failure
} while (CMPXCHG(&head, current+size, current) != current));
return current;
}
Run Code Online (Sandbox Code Playgroud)
哪里 …
我们有一个使用boost的矩阵和稀疏矩阵库的程序,我们正在尝试集成boost线程.但是,当我们从单线程应用程序迁移到多线程应用程序时,我们会遇到在单线程情况下不会发生的分段错误.
我们使用gdb(在Eclipse中)进行了调试,我发现在boost代码中的函数调用期间发生了seg错误,即我尝试访问稀疏矩阵的条目,堆栈跟踪进入boost代码并死于这些文件中的某些点(并非总是相同的点).
我很困惑,因为这些矩阵在各个线程中分配,所有共享资源都受互斥锁保护.此外,我不认为线程经常导致seg错误,只有多次访问和坏数据.但是,我显然没有多线程编程的经验,所以我希望在这个领域更有经验的人可以提供一些建议.
我正在使用boost托管make系统和一个示例编译命令
g++ -DNDEBUG -I"/usr/local/include/boost-1_38" -I/usr/local/include -I"/home/scandido/workspace/BigSHOT/src" -I"/home/scandido/workspace/BigSHOT/src/base" -O3 -Wall -c -fmessage-length=0 `freetype-config --cflags` -pthread -MMD -MP -MF"src/utils/timing_info.d" -MT"src/utils/timing_info.d" -o"src/utils/timing_info.o" "../src/utils/timing_info.cpp"
Run Code Online (Sandbox Code Playgroud)
和链接器命令是
g++ -L"/usr/local/lib" -L/usr/local/lib -o"BigSHOT" ./src/utils/timing_info.o ... many more objects ... ./src/base/pomdp/policy_fn/EventDriven.o ./src/base/pomdp/policy_fn/Greedy.o ./src/anotheralgorithm.o -lboost_serialization-gcc43-mt -lpthread -lboost_thread-gcc43-mt -lboost_program_options-gcc43-mt -lboost_iostreams-gcc43-mt -lpng -lpngwriter -lz -lfreetype
Run Code Online (Sandbox Code Playgroud)
这是一个seg错误的线程的堆栈跟踪:
Thread [5] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation fault.)
17 boost::numeric::ublas::mapped_matrix<bool, boost::numeric::ublas::basic_row_major<unsigned long, long>, boost::numeric::ublas::map_std<unsigned long, bool, std::allocator<std::pair<unsigned long const, bool> > > >::operator() /usr/local/include/boost-1_38/boost/numeric/ublas/matrix_sparse.hpp:377 0x000000000041c328
16 BigSHOT::Fire1FireState::get_cell() /home/scandido/workspace/BigSHOT/src/systems/fire1/pomdp/Fire1State.cpp:51 0x0000000000419a75
15 BigSHOT::Fire1SquareRegionProbObsFn::operator() /home/scandido/workspace/BigSHOT/src/systems/fire1/obs_fn/Fire1SquareRegionProbObsFn.cpp:92 …Run Code Online (Sandbox Code Playgroud)