问题列表 - 第20253页

我想回到CS的基础知识.有关教程或具有应用意识的参考资料的任何建议吗?

我多年来一直担任顾问编程,我喜欢我的工作,涉及大量面向对象的分析和使用托管语言(即软件工程)的软件系统设计.但是我最终想获得一个博士学位,让我感到困扰的是我从未真正"获得"计算机科学理论.在大学里,我在这些课程中只做得很好,因为他们的教学方式并不适合我.我通过观察概念的应用来学习,而不是死记硬背.

我之前已经克服了这样一个障碍的一个例子 - 我有一个可怕的第一年.这位教授(我现在知道他几乎没有资格,也是一位不称职的老师)从C++开始,教我们程序编程.从技术上讲,我已经了解了一个对象是什么,但直到我看到面向对象分析和设计的应用(具有设计模式和其他结构,如链表),我才真正理解它们的用途.

我将如何学习编译器,编程语言理论和算法分析等学科?什么是开始这些的好方法?例如,我想最终编写一个编译器(为了好玩),但我不知道从哪里开始.有没有人遇到过这种情况?有关教程,免费在线讲座视频或参考的建议(像w3schools那样的东西会很棒)?

(我想补充一点,浏览Stackoverflow已经教会了我的负载,但我希望它有点更正式:)

编辑:谢谢大家的建议.我已经标记了一个对我个人有用的答案,但请保持答案:)

theory computer-science programming-languages

15
推荐指数
2
解决办法
439
查看次数

专有名单?

我正在尝试从文本blob中过滤名称.目前我只是生成一个单词列表并手动过滤它但我已经有大约8k字了,所以我正在寻找更好的方法.我可以抓住一本字典并过滤掉它们,但这样可以剔除像史密斯和悬崖这样的名字.

我需要的是以下任何一种:

  • 常用名称列表(我需要> 5k最常见的名称)
  • 一个也恰好是单词的名单

我想他们之间,我可以组合黑名单/白名单来获得我需要的东西.

text filtering classification corpus

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

我可以让Unix的pthread.h在Windows中编译吗?

如果我尝试编译程序

#include <pthread.h>
Run Code Online (Sandbox Code Playgroud)

在其中,我收到错误:

pthread.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

是否有可能在Windows环境中编译?

我正在使用Vista与最新的MinGW.

我不想使用Microsoft Windows Services for UNIX Version 3.5,因为我必须将其移至Unix环境.

c windows multithreading pthreads

55
推荐指数
3
解决办法
12万
查看次数

我应该使用QCoreApplication :: processEvents()还是QApplication :: processEvents()?

我有一个从两个QThreads主线程调用的方法.这个方法有时需要花费很长时间才能在循环中进行计算,所以我放了QCoreApplication::processEvents()这个就可以防止GUI冻结.在某些时候我已经改变QCoreApplication::processEvents()QApplication::processEvents()但是这导致GUI冻结(我非常确定那是什么令人惊叹它因为我QCoreApplication::processEvents()放回它还没有再次冻结)我是正确的认为QApplication::processEvents()从主线程和QThreads调用可以冻结GUI?

user-interface qt

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

如何判断服务器使用的身份验证类型?

我必须访问http:// someserver上的Web服务器,它需要一些身份验证.如何判断它是否使用NTLM,Kerberos或它可能是什么?

authentication ntlm kerberos

6
推荐指数
2
解决办法
7905
查看次数

代码合同:如何为通用接口提供合同类?

我想使用代码合同为此通用接口指定合同:

interface IRandomWriteAccessible<T>
{
    T this[uint index] { set; }
    uint Length { get; }
}
Run Code Online (Sandbox Code Playgroud)

文档ContractClass说明在为接口指定合同时使用该属性.但是,编译器会抱怨这个:

[ContractClass(typeof(IRandomWriteAccessibleContract<T>))]
//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     <-- compiler error
interface IRandomWriteAccessible<T> { … }

[ContractClassFor(typeof(IRandomWriteAccessible<T>))]
//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^          <-- compiler error
sealed class IRandomWriteAccessibleContract<T> : IRandomWriteAccessible<T> { … }
Run Code Online (Sandbox Code Playgroud)

似乎类型参数不能与属性一起使用.

如何我写我的通用接口一份合同吗?或者代码合同无法实现这一点吗?

.net generics interface code-contracts

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

无法在运行的JBoss进程上"strace -p"

我试图使用"strace -p"附加到已经运行的JBoss进程.JBoss正在使用1.5.0_15 Java JDK.不幸的是,这不起作用 - 我只得到一个futex()结果:

# strace -p 3388
Process 3388 attached - interrupt to quit
[ Process PID=3388 runs in 32 bit mode. ]
futex(0x8f18f7c, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
Run Code Online (Sandbox Code Playgroud)

Strace适用于所有其他程序,但不适用于JBoss.当我通过strace启动进程时,它似乎工作正常.当我尝试连接到已经运行的进程时,它不起作用.

我正在使用64位Linux 2.6.18和32位Java JDK(RedHat Enterprise Linux 5.3,如果重要的话).

更新#1:

我尝试用"-d"运行它,但输出似乎没有任何洞察力,至少对我来说:


[root@]# strace -d -e verbose=all -p 3388
Process 3388 attached - interrupt to quit
 [wait(0x137f) = 3388]
pid 3388 stopped, [SIGSTOP]
 [wait(0x57f) = 3388]
pid 3388 stopped, [SIGTRAP]
[ Process PID=3388 runs in 32 bit mode. ]
futex(0x8f18f7c, FUTEX_WAIT_PRIVATE, …
Run Code Online (Sandbox Code Playgroud)

linux jboss strace

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

[MySQL]:是否有更"有效"的方式来链接这些表?

我有三张桌子 -

Transaction:
ID    TimeStamp

Discount:
Code   Amount

Transaction_Discount:
ID      Code
Run Code Online (Sandbox Code Playgroud)

它几乎和你能得到的一样基本.

是否有更"有效"的方法将这些表链接在一起?

mysql database-design

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

为什么我的安装项目不会执行我的自定义注册过程

我正在尝试为使用Visual Studio 2008在C#中编写的类库驱动程序编写安装项目/安装程序.驱动程序项目有一段看起来像这样的代码...

    [ComRegisterFunction]
    public static void RegisterASCOM(Type t)
    {
        Trace.WriteLine("Registration Started.");
        DoRegistration(true);  
    }
Run Code Online (Sandbox Code Playgroud)

在驱动程序项目属性 - >"装配信息"中,我设置了选中Make COM-Visible = true的框.

我在VS中的解决方案中添加了一个Setup Project,从驱动程序项目添加了输出dll,以便它安装在目标机器上并将dll的Register属性设置为"vsdraCOM".所以,我的理解是当安装程序运行它时,应该执行用[COMRegisterFunction]标记的dll方法.

使用SysInternals Debug View我可以通过观察窗口中显示的"Registration started"文本来监视上面的代码片段何时被点击.当我构建解决方案时,我可以看到文本显示,所以我知道驱动程序正在正确注册.问题是,当我运行安装程序时,我不认为它正在执行注册位.我看到Debug View中没有显示任何内容.如果我尝试通过另一个应用程序访问我的驱动程序,我收到一个错误,说"无法创建ActiveX对象".为什么在安装过程中不会发生注册?

驱动程序注册COM,但它不会调用我的自定义注册方法.

有没有人对我可能遗失的东西有所建议?还有其他方法可以调试吗?

(如果有人想看看,我可以提供更多代码!!)

com installation visual-studio-2008 visual-studio

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

迷你项目:根据一天中的时间更改终端的颜色

晚上好,

我对Unix很陌生,所以这个迷你项目可能过于雄心勃勃.希望有人可以指出正确的方向.

在隔间里工作,我看不到它外面的光线.一般情况下,我在早上(阳光充足)使用黄色终端,在凌晨3点(夜晚)使用黑色/绿色.

我想做什么(部分只是为了练习我的bash).是写一个脚本,将在3:00改变我所有终端的颜色.如果可行的话,我可能会让它们每小时或类似的事情发生变化.那会安全吗?这可能吗?

以下是我的一些规范:Solaris 10 Bash shell Gnome

我现在正在看这个: 以编程方式更改Gnome终端主题

bash solaris colors background-color gnome-terminal

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