我觉得我经常命名文件的方式使我的计算机在编程时不断发出哔哔声,因为选项卡的完成是不明确的.在进行大量Unix编程之前,我倾向于使用相同的前缀命名相关文件以指示它们之间的关系.现在我必须重新思考我对文件夹和文件结构和名称的方法,以便更有效地编程.
在编程以简化制表符完成时,您应用了哪些启发式或规则?您是否使用任何工具使标签完成更顺畅(例如,emacs冰柱)?
编辑:哇,谢谢你的奇妙见解.我认为我的每个可能的弱点都在答案中得到了解释.虽然他们都值得一读,但我接受了一个看起来最好的生产力提升.
有没有一种简单的方法来更改jQuery验证插件中的默认错误值?
我只想重写错误信息,以便更贴近我的应用程序 - 我有很多字段,所以我不想为字段x单独设置消息......我知道我可以做到!
我需要一种有效的机制来检测DOM的变化.最好是跨浏览器,但如果有任何有效的方法不是跨浏览器,我可以使用故障安全的跨浏览器方法实现这些.
特别是,我需要检测会影响页面上文本的更改,因此需要任何新的,删除或修改的元素或对内部文本(innerHTML)的更改.
我无法控制正在进行的更改(它们可能是由于第三方javascript包含等),因此无法从这个角度进行处理 - 我需要以某种方式"监视"更改.
目前我实施了一个"quick'n'dirty"方法,body.innerHTML.length
每隔一段时间检查一次.这当然不会检测导致返回相同长度的变化,但在这种情况下"足够好" - 这种情况发生的可能性非常小,并且在此项目中,未能检测到更改将不会导致丢失的数据.
问题body.innerHTML.length
是它很贵.在快速浏览器上可能需要1到5毫秒,这可能会让事情陷入困境 - 我也在处理大量的iframe,而且这些都会增加.我很确定这样做的代价是昂贵的,因为innerHTML文本不是由浏览器静态存储的,并且每次读取时都需要从DOM计算.
我正在寻找的答案类型是从"精确"(例如事件)到"足够好"的任何东西 - 或许像innerHTML.length方法一样"quick'n'dirty",但执行速度更快.
编辑:我还应该指出,虽然检测已经修改过的精确元素会"很好",但这并不是绝对必要的 - 只要有任何改变这一事实就足够了.希望这能够扩大人们的反应.我将调查突变事件,但我仍然需要IE支持的后备,所以任何笨拙的,创造性的,非常方形的想法将是非常受欢迎的.
我只是在学习ASP.NET c#并尝试将最佳实践融入我的应用程序中.我读到的所有内容都表示基于关注点的分离将我的应用程序分层为DAL,BLL,UI等.我没有传递数据表,而是考虑使用自定义对象,这样我就可以松散地耦合到我的数据层,并且可以利用VS中的intellisense.我假设这些对象会被视为DTO?
首先,这些对象在我的图层中的位置?BLL,DAL,其他?
其次,当从SQL填充时,我应该循环通过数据读取器来填充列表还是首先填充数据表,然后循环遍历表以填充列表?我知道你应该尽快关闭数据库连接,但是填充数据表然后循环遍历列表似乎需要更多的开销.
第三,我现在看到的一切都说使用Linq2SQL.我打算学习Linq2SQL,但此时我正在使用没有外键设置的遗留数据库,我没有能力修复它.另外,在开始进入像nHibernate这样的ORM解决方案之前,我想了解更多关于c#的知识.同时我不想为每个查询键入所有连接和SQL管道.现在可以使用Enterprise DAAB吗?
我使用的系统正在创建大量对象并一直对它们进行垃圾收集,这会导致堆消耗的锯齿状图形非常陡峭。我想知道正在生成哪些对象来调整代码,但我无法找到在垃圾收集开始时转储堆的方法。当我尝试随机通过 JConsole 手动启动 dumpHeap 时,我总是在 GC 完成运行后得到结果,并且没有得到任何有用的数据。
欢迎任何有关如何追踪过多临时对象创建的注释。
在IDLE中,有没有办法直接运行PyUnit(unittest模块)单元测试?
我问,因为我有一个简短的测试模块,当我从Cygwin shell运行python mymodule.py时,我得到了所有测试,但是当我从IDLE使用Run-> Run Module时测试通过,但后来我得到一个异常( SystemExit:False).
例如,这是一个示例测试模块来重现这个:
#!/usr/bin/python
import unittest
class fooTests(unittest.TestCase):
def setUp(self):
self.foo = "bar"
def testDummyTest(self):
self.assertTrue(True)
def testDummyTestTwo(self):
self.assertEquals("foo", "foo")
def tearDown(self):
self.foo = None
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
当我使用python fooTests.py从Cygwin shell运行它时,它会产生:
$ python fooTests.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
Run Code Online (Sandbox Code Playgroud)
但是当我在IDLE中编辑fooTests.py并运行Run - > Run Module时,由IDLE生成的新Python Shell会产生:
>>> ================================ RESTART ================================
>>>
..
----------------------------------------------------------------------
Ran 2 tests in 0.031s
OK
Traceback (most recent call last):
File "C:\Some\path\info\I\shortened\fooTests.py", line 20, in <module>
unittest.main() …
Run Code Online (Sandbox Code Playgroud) 我刚刚编写了一些代码来测试std :: equal的行为,并且惊讶地走了出来:
int main()
{
try
{
std::list<int> lst1;
std::list<int> lst2;
if(!std::equal(lst1.begin(), lst1.end(), lst2.begin()))
throw std::logic_error("Error: 2 empty lists should always be equal");
lst2.push_back(5);
if(std::equal(lst1.begin(), lst1.end(), lst2.begin()))
throw std::logic_error("Error: comparing 2 lists where one is not empty should not be equal");
}
catch(std::exception& e)
{
std::cerr << e.what();
}
}
Run Code Online (Sandbox Code Playgroud)
输出(给我一个惊喜):
Error: comparing 2 lists where one is not empty should not be equal
Run Code Online (Sandbox Code Playgroud)
观察:为什么std :: equal首先检查2个容器是否相同size()
?有合理的理由吗?
我有一个枚举,看起来像
public enum Animal {
ELEPHANT,
GIRAFFE,
TURTLE,
SNAKE,
FROG
}
Run Code Online (Sandbox Code Playgroud)
我想做点什么
Animal frog = Animal.FROG;
Animal snake = Animal.SNAKE;
boolean isFrogAmphibian = frog.isAmphibian(); //true
boolean isSnakeAmphibian = snake.isAmphibian(); //false
boolean isFrogReptile = frog.isReptile(); //false
boolean isSnakeReptile = snake.isReptile(); //true
boolean isFrogMammal = frog.isMammal(); //false
boolean isSnakeMammal = snake.isMammal(); //false
Run Code Online (Sandbox Code Playgroud)
我简化了教学目的的例子,但这对我的真实例子非常有用.我可以用Java做吗?
开发人员更改userid
了表格列中的所有值map
.我需要他们换回来,因为userid
这也是profiles
表中的关键.值得庆幸的是,由于不值得进入的原因,map
并且profiles
共享另一个共同的专栏,employeeId
.
因此,我想获取所有的值userid
,profiles
并覆盖userid
匹配行中的值map
.
我的直觉是做这样的事情:
UPDATE map,profiles
SET map.userid = profiles.userid
WHERE map.employeeId = profiles.employeeId
Run Code Online (Sandbox Code Playgroud)
但SQLServer 2005并不关心UPDATE子句中有两个表.
有什么建议?
当我尝试通过默认的instance.file_field.save方法将名称中包含俄语符号的文件添加到模型实例时,我得到一个UnicodeDecodeError(ascii解码错误,不在存储后端的范围(128)中(堆栈跟踪在os上结束).如果我通过默认的python文件写这个文件open/write all right.所有文件名都在utf-8.我只在测试Gentoo时得到这个错误,在我的Ubuntu工作站上一切正常.
class Article(models.Model):
file = models.FileField(null=True, blank=True, max_length = 300,
upload_to='articles_files/%Y/%m/%d/')
Traceback:
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
100. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.6/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
24. return view_func(request, *args, **kwargs)
File "/var/www/localhost/help/wiki/views.py" in edit_article
338. new_article.file.save(fp, fi, save=True)
File "/usr/lib/python2.6/site-packages/django/db/models/fields/files.py" in save
92. self.name = self.storage.save(name, content)
File "/usr/lib/python2.6/site-packages/django/core/files/storage.py" in save
47. name = self.get_available_name(name)
File "/usr/lib/python2.6/site-packages/django/core/files/storage.py" in get_available_name
73. while self.exists(name):
File "/usr/lib/python2.6/site-packages/django/core/files/storage.py" in exists
196. return os.path.exists(self.path(name))
File "/usr/lib/python2.6/genericpath.py" in exists
18. st = os.stat(path) …
Run Code Online (Sandbox Code Playgroud) java ×2
sql-server ×2
asp.net ×1
bash ×1
c# ×1
c++ ×1
django ×1
dom ×1
emacs ×1
enums ×1
function ×1
javascript ×1
jquery ×1
performance ×1
python ×1
python-idle ×1
shell ×1
sql ×1
sql-update ×1
stl ×1
unicode ×1
unit-testing ×1
unix ×1