我在大学里接受过有关正式系统的教学,但我很失望,他们似乎并没有在真正的单词中使用它们.
我喜欢能够知道某些代码(对象,函数,等等)可以工作的想法,而不是通过测试,而是通过证明.
我确信我们都熟悉物理工程和软件工程之间不存在的相似之处(钢铁行为可预测,软件可以做任何事情 - 谁知道!),我很想知道是否有任何语言可以在真实的单词中使用(要求Web框架太多要问?)
我听说过像scala这样的函数式语言的可测试性.
作为软件工程师我们有什么选择?
java testing formal-verification functional-programming scala
当我使用telnet查看我的网页时,我在输出中得到了这些奇怪的数字/字母.这不会发生在浏览器中,它们肯定不在我的源代码中.我检查了其他网站,但他们没有.有什么想法吗?他们是垃圾吗?我怎么能摆脱他们?
telnet www.mysite.com 80
GET/HTTP/1.1
主机www.mysite.com
网页的某些部分是可以的,但其他部分看起来像这样(我用粗体突出显示):
51
<ul>
<li><a href="/path/to/file
1b
">Link name</a></li>
<li><a href="/path-to-another-file
2a
编辑:更多信息请求
Apache 2和CGI(C)
动态生成
我在Windows XP SP3上运行Python 2.6.1和Django 1.2.1.我正在使用JetBrains PyCharm 1.0来创建和部署我的Django应用程序.
我对Python相对缺乏经验,我开始通过跟随网站上的"编写你的第一个Django应用程序" - 民意调查应用程序来学习Django.我被困在第3部分.
当我为"编写你的第一个视图"添加简单的回调函数时,一切都很好.
当我开始写"实际做某事的观点"时,我遇到了障碍.
我按照说明修改了索引视图:
site-templates/polls/文件夹site-templates文件夹这是我的views.py中的代码:
from django.template import Context, loader
from polls.models import Poll
from django.http import HttpResponse
def index(request):
latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
t = loader.get_template('polls/index.html')
c = Context({
'latest_poll_list': latest_poll_list,
})
return HttpResponse(t.render(c))
Run Code Online (Sandbox Code Playgroud)
这是我的settings.py中的行:
TEMPLATE_DIRS = ('/site-templates/')
Run Code Online (Sandbox Code Playgroud)
但是我跑的时候仍然收到这条消息:
TemplateDoesNotExist at /polls/
polls/index.html
Request Method: GET
Request URL: http://localhost:8000/polls/
Django Version: 1.2.1
Exception Type: TemplateDoesNotExist
Exception Value:
polls/index.html
Run Code Online (Sandbox Code Playgroud)
在loader.py中抛出异常.我的调试设置如下所示:
TEMPLATE_CONTEXT_PROCESSORS …Run Code Online (Sandbox Code Playgroud) 我们有一个框架或库的想法,对任何iOS开发人员都非常有帮助.因此,我们正在认真考虑从应用程序开发切换到框架/库开发.
但是当我们想要为库/框架收费时,我们必须以某种方式保护代码.我们如何以这样的方式构建框架,使我们框架的用户看不到源代码,类似于我们如何看不到Apples框架的源代码?我猜他们只用汇编的框架发送头文件和一些奇怪的Unix exe文件.
或者如果不可能使其他iOS开发人员可以使用的编译框架/库而无法复制和粘贴我们的源代码,那么有没有办法混淆Objective-c代码?
当我运行我的Clojure程序并在执行期间出错时,我注意到REPL打印的消息只包含我执行的脚本中的顶级行号.我可以让它转储一个调用堆栈(它引用了Clojure代码的各种行号)吗?
例如:
user=> (load-file "test.clj")
java.lang.IllegalArgumentException: Wrong number of args (1) passed to: user$eval134$fn (test.clj:206)
user=>
Run Code Online (Sandbox Code Playgroud)
如果我知道的不仅仅是最高级别的电话会更好(第206行).
是否有可能使用python的标准库xmlrpclib与gevent?目前我尝试使用monkey.patch_all(),但没有成功.
from gevent import monkey
monkey.patch_all()
import gevent
import time
import xmlrpclib
from SimpleXMLRPCServer import SimpleXMLRPCServer
import urllib2
def fetch(url):
g = gevent.spawn(urllib2.urlopen, url)
return g.get().read()
def is_even(n):
return n%2 == 0
def req(url):
return fetch(url)
server = SimpleXMLRPCServer(("localhost", 8000))
print "Listening on port 8000..."
server.register_function(is_even, "is_even")
server.register_function(req, "req")
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
urllib2.urlopen阻止服务器.在我看来,monkey.patch_all没有修补socket,这就是它阻塞的原因.
Groovy有一个很好的安全解除引用运算符,这有助于避免NullPointerExceptions:
variable?.method()
Run Code Online (Sandbox Code Playgroud)
method只有在variable没有的情况下才会被调用null.
有没有办法在Python中做同样的事情?或者我必须写if variable: variable.method()?
我正在尝试播放我资源文件夹中的L1.wav.以前我使用行btc.Properties.Resources.noImg从资源文件中提取图像,但是如果我尝试对wav文件执行相同操作,我会得到一个'...不包含L1的定义.它在那里,如果我双击它工作正常.我如何让它工作?
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = btc.Properties.Resources.L1;
player.play();
Run Code Online (Sandbox Code Playgroud)
谢谢.
假设我有一个基类:
class baseClass
{
public:
baseClass() { };
};
Run Code Online (Sandbox Code Playgroud)
派生类:
class derClass : public baseClass
{
public:
derClass() { };
};
Run Code Online (Sandbox Code Playgroud)
当我创建一个被调用derClass的构造函数的实例时 baseClass.我怎么能阻止这个?
我正在尝试使一个类继承自其他类并重写一些方法.类'标题'是:
class Objeto {
public:
virtual bool interseca(const Rayo &rayo, float magnitud);
virtual bool breakNormal(const Punto &punto);
virtual Vector normal(const Punto &punto);
int idMaterial;
};
class Esfera: public Objeto {
public:
int idMaterial;
virtual bool interseca(const Rayo &rayo, float magnitud);
// etc
};
Run Code Online (Sandbox Code Playgroud)
接下来在程序的其他地方(Objeto和Esfera之外)我做:
// ObjectList is a Vector<Objeto>
Objeto o = esfera; /* Where esfera is a valid Esfera object */
ObjectList[0] = o;
ObjectList[0].interseca(rayo, magnitud);
Run Code Online (Sandbox Code Playgroud)
我想要的interseca是在Esfera中调用它的新版本.通过这种方式,我可以添加更多对象(立方体,三角形等)并将它们视为通用的"Objetos".
而不是Esfera实现interseca的程序调用Objeto::interseca.
使用C++进行覆盖的正确方法是什么?这是覆盖的方式,我错过了什么,或者我是完全错的?任何提示或替代方法吗?