问题列表 - 第14675页

无需使用调试器即可有目的地进行调试?

"编程实践"的第5章中,Brian KernighanRob Pike写道:

作为个人选择,除了获得堆栈跟踪或变量或两个变量的值之外,我们倾向于不使用调试器.

虽然我没有关于该主题的经验数据,但我怀疑许多程序员可能会在他们的环境中有一个可用的"调试器"中"活".但我也怀疑有许多高效的程序员,像Kernighan和Pike一样,避免将调试器作为第一道防线并依赖其他技术.

所以,我想问一下stackoverflow社区:

如果您是那种将"调试器"工具视为最后手段(不是获得初始堆栈跟踪)的程序员,那么您首先使用其他技术的原因是什么?

每个答案一(1)个理由请更容易投票!

我还建议这个规则回答:"我不知道如何使用调试器"不是一个有效的答案.那只是无知.在做出选择之前,您应该了解您的替代方案!

debugging

13
推荐指数
6
解决办法
2446
查看次数

使用什么安装产品?InstallShield,WiX,Wise,Advanced Installer等

我目前正在调查我们目前正在使用的安装包(Wise Installer 9),并转向处理Windows Vista,Windows 7和64位系统之类的东西.安装人员的本地化将是有益的,因为我们也有许多加拿大法国客户.

我们目前使用以下技术安装软件包和实用程序:

  • 进步4GL
  • Visual Studio 2005
  • Visual Studio 2008
  • .NET Compact Framework 3.5

我已经看过WiXInstallShield,Altiris还替换了旧的Wise系统.

我还没有玩过很多关于InstallShield的东西,但是从我见过/安装过的所有东西来看,它似乎都是业界的最爱之一.我浏览了一些与InstallShield相关的Stack Overflow标签,我很想知道该组织对此有何看法.

我是否只是默认情况下去找他们?WiX在非.NET的东西有多好?

installer windows-installer installshield wix advanced-installer

56
推荐指数
4
解决办法
4万
查看次数

使用jQuery更改输入字段的类型

$(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)

javascript jquery html-input

200
推荐指数
9
解决办法
29万
查看次数

使用Linq将单个值返回到SQL

我正在学习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)

linq asp.net asp.net-mvc linq-to-sql

14
推荐指数
2
解决办法
3万
查看次数

如何在csh shell的命令提示符中使用for循环 - 寻找体面的一个衬里

来自bash shell,我错过了一个简单的循环滚动(对于我在(...);做...完成;)

你会在cshell中发布典型的单行循环吗?

一个线索请,而不是多线 thx

shell csh tcsh

4
推荐指数
2
解决办法
1万
查看次数

Java - 将SQL语句存储在外部文件中

我正在寻找一种在外部文件中存储SQL语句的Java库/框架/技术.支持团队(包括DBA)应该能够(略微)更改语句,以便在数据库架构更改或调整目的时保持它们同步.

以下是要求:

  • 该文件必须可从Java应用程序读取,但也必须由支持团队编辑,而无需花哨的编辑器
  • 理想情况下,文件应采用纯文本格式,但XML也可以
  • 允许存储/检索DML以及DDL语句
  • 可以在稍后阶段添加新语句(应用程序足够灵活,可以选择并执行它们)
  • 语句可以分组(并由应用程序作为一个组执行)
  • 声明应该允许参数

笔记:

  • 一旦检索到,语句将使用Spring的JDBCTemplate执行
  • 不会使用Hibernate或Spring的IOC容器

到目前为止,我设法找到以下Java库,它们使用外部文件来存储SQL语句.但是,我主要对存储而不是隐藏所有JDBC"复杂性"的库感兴趣.

  • Axamol SQL库

    示例文件内容:

    <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)
  • iBATIS的

    示例文件内容:

    <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)

java sql jdbc

46
推荐指数
6
解决办法
5万
查看次数

如何使用System.DirectoryServices.Protocols更改密码

我们的用户存储是名为eDirectory的LDAP服务器.如何使用System.DirectoryServices.Protocols更改用户密码?

.net c# directoryservices ldap edirectory

1
推荐指数
1
解决办法
8559
查看次数

在不破坏可读性的情况下压缩此Python语句

我仍然是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)

我可以将其降低到一行而不会让它变得不可读吗?

编辑:有些人认识到异常可能是更好的选择.我想仅为非常"特殊"的场景捕获保存异常.返回代码有时可能会失败,我认为在这种情况下使用异常通常是不好的做法.

python

2
推荐指数
1
解决办法
329
查看次数

Delphi:如何使用非连续的子范围枚举类型?

以下子范围枚举声明有效:

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)

如何声明具有非连续值的子范围类型?

delphi enums pascal range

3
推荐指数
2
解决办法
1562
查看次数

使用Linq生成要从另一个集合中删除的东西的集合

我熟悉修改集合的问题,同时用循环遍历它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# linq collections loops

4
推荐指数
1
解决办法
896
查看次数