在"编程实践"的第5章中,Brian Kernighan和Rob Pike写道:
作为个人选择,除了获得堆栈跟踪或变量或两个变量的值之外,我们倾向于不使用调试器.
虽然我没有关于该主题的经验数据,但我怀疑许多程序员可能会在他们的环境中有一个可用的"调试器"中"活".但我也怀疑有许多高效的程序员,像Kernighan和Pike一样,避免将调试器作为第一道防线并依赖其他技术.
所以,我想问一下stackoverflow社区:
如果您是那种将"调试器"工具视为最后手段(不是获得初始堆栈跟踪)的程序员,那么您首先使用其他技术的原因是什么?
每个答案一(1)个理由请更容易投票!
我还建议这个规则回答:"我不知道如何使用调试器"不是一个有效的答案.那只是无知.在做出选择之前,您应该了解您的替代方案!
我目前正在调查我们目前正在使用的安装包(Wise Installer 9),并转向处理Windows Vista,Windows 7和64位系统之类的东西.安装人员的本地化将是有益的,因为我们也有许多加拿大法国客户.
我们目前使用以下技术安装软件包和实用程序:
我已经看过WiX和InstallShield,Altiris还替换了旧的Wise系统.
我还没有玩过很多关于InstallShield的东西,但是从我见过/安装过的所有东西来看,它似乎都是业界的最爱之一.我浏览了一些与InstallShield相关的Stack Overflow标签,我很想知道该组织对此有何看法.
我是否只是默认情况下去找他们?WiX在非.NET的东西有多好?
installer windows-installer installshield wix advanced-installer
$(document).ready(function() {
// #login-box password field
$('#password').attr('type', 'text');
$('#password').val('Password');
});
Run Code Online (Sandbox Code Playgroud)
这应该更改正常文本字段的#password
输入字段(with id="password"
),type
password
然后填写文本"Password".
但它不起作用.为什么?
这是表格:
<form enctype="application/x-www-form-urlencoded" method="post" action="/auth/sign-in">
<ol>
<li>
<div class="element">
<input type="text" name="username" id="username" value="Prihlasovacie meno" class="input-text" />
</div>
</li>
<li>
<div class="element">
<input type="password" name="password" id="password" value="" class="input-text" />
</div>
</li>
<li class="button">
<div class="button">
<input type="submit" name="sign_in" id="sign_in" value="Prihlási?" class="input-submit" />
</div>
</li>
</ol>
</form>
Run Code Online (Sandbox Code Playgroud) 我正在学习Linq to SQL,我很难理解它.我试图简单地在C#中使用Linq查询返回单个(布尔值)值.
我想看看故事的所有者是否希望在添加新评论时发送电子邮件通知.我想包含Linq to SQL的方法返回一个布尔值.
public bool NotifyOnComment(string username){
var notify = (from s in db.AccountSettings
where s.UserName == username
select s.NotifyOnComment).DefaultIfEmpty(false);
// clueless
}
Run Code Online (Sandbox Code Playgroud)
更新:
我现在正在做以下事情:
var notify = (from s in db.AccountSettings
where s.UserName == username
select s.NotifyOnComment).SingleOrDefault();
return (bool)notify;
Run Code Online (Sandbox Code Playgroud) 来自bash shell,我错过了一个简单的循环滚动(对于我在(...);做...完成;)
你会在cshell中发布典型的单行循环吗?
一个线索请,而不是多线 thx
我正在寻找一种在外部文件中存储SQL语句的Java库/框架/技术.支持团队(包括DBA)应该能够(略微)更改语句,以便在数据库架构更改或调整目的时保持它们同步.
以下是要求:
笔记:
到目前为止,我设法找到以下Java库,它们使用外部文件来存储SQL语句.但是,我主要对存储而不是隐藏所有JDBC"复杂性"的库感兴趣.
示例文件内容:
<s:query name="get_emp">
<s:param name="name" type="string"/>
<s:sql databases="oracle">
select *
from scott.emp
join scott.dept on (emp.deptno = dept.deptno)
where emp.ename = <s:bind param="name"/>
</s:sql>
</s:query>
Run Code Online (Sandbox Code Playgroud)示例文件内容:
<sqlMap namespace="Contact"">
<typeAlias alias="contact"
type="com.sample.contact.Contact"/">
<select id="getContact"
parameterClass="int" resultClass="contact"">
select CONTACTID as contactId,
FIRSTNAME as firstName,
LASTNAME as lastName from
ADMINISTRATOR.CONTACT where CONTACTID = #id#
</select>
</sqlMap>
<insert id="insertContact" parameterClass="contact">
INSERT INTO ADMINISTRATOR.CONTACT( CONTACTID,FIRSTNAME,LASTNAME)
VALUES(#contactId#,#firstName#,#lastName#);
</insert>
<update id="updateContact" parameterClass="contact"> …
Run Code Online (Sandbox Code Playgroud)我们的用户存储是名为eDirectory的LDAP服务器.如何使用System.DirectoryServices.Protocols更改用户密码?
我仍然是Python的新手,所以我想弄清楚如何做到这一点并需要一些帮助.
我使用返回代码来验证我的内部函数是否成功返回.例如(来自内部库函数):
result = some_function(arg1,arg2)
if result != OK: return result
Run Code Online (Sandbox Code Playgroud)
或(从主脚本级别):
result = some_function(arg1,arg2)
if result != OK: abort_on_error("Could not complete 'some_function': %s" % messages(result))
Run Code Online (Sandbox Code Playgroud)
我可以将其降低到一行而不会让它变得不可读吗?
编辑:有些人认识到异常可能是更好的选择.我想仅为非常"特殊"的场景捕获保存异常.返回代码有时可能会失败,我认为在这种情况下使用异常通常是不好的做法.
以下子范围枚举声明有效:
type
TReceiptCode = 'A'..'F';
Run Code Online (Sandbox Code Playgroud)
这不是:
type
TReceiptCode = ' ','A'..'F', 'R';
Run Code Online (Sandbox Code Playgroud)
也没有
type
TReceiptCode = ' ','A','B','C','D','E','F','R';
Run Code Online (Sandbox Code Playgroud)
如何声明具有非连续值的子范围类型?
我熟悉修改集合的问题,同时用循环遍历它foreach
(即"System.InvalidOperationException:Collection was modified").但是,当我使用Linq创建要从字典中删除的键列表,然后遍历我的新List时,我得到相同的异常对我没有意义.
之前的代码,抛出异常:
IEnumerable<Guid> keysToDelete = _outConnections.Where(
pair => pair.Value < timeoutPoint
).Select(pair => pair.Key);
foreach (Guid key in keysToDelete)
{
...some stuff not dealing with keysToDelete...
_outConnections.Remove(key);
}
Run Code Online (Sandbox Code Playgroud)
代码之后,工作:
List<Guid> keysToDelete = _outConnections.Where(
pair => pair.Value < timeoutPoint
).Select(pair => pair.Key).ToList();
for (int i=keysToDelete.Count-1; i>=0; i--)
{
Guid key = keysToDelete[i];
...some stuff not dealing with keysToDelete...
_outConnections.Remove(key);
}
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我觉得可能我的Linq查询并没有真正返回一个新的集合,而是原始集合的一些子集,因此它指责我keysToDelete
在删除元素时修改集合_outConnections
.
更新: 以下修复也有效,感谢Adam Robinson:
List<Guid> keysToDelete = _outConnections.Where(
pair => pair.Value < timeoutPoint …
Run Code Online (Sandbox Code Playgroud) c# ×2
linq ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
collections ×1
csh ×1
debugging ×1
delphi ×1
edirectory ×1
enums ×1
html-input ×1
installer ×1
java ×1
javascript ×1
jdbc ×1
jquery ×1
ldap ×1
linq-to-sql ×1
loops ×1
pascal ×1
python ×1
range ×1
shell ×1
sql ×1
tcsh ×1
wix ×1