小编Jam*_*ack的帖子

如何进一步推动程序员?

最后,嗯,6个月我一直在阅读C语言编程,我得到了自己的K&Rv2,BEEJ的套接字指南,专家C编程,Linux系统编程,ISO/IEC 9899:1999规范(真实,而不是草案) .从亚马逊收到它们之后,我安装了Linux,并且完成了它.

我已经完成了K&R,大约是专家C编程的一半,但作为一名程序员仍然感到很虚弱,我确信需要超过6个月的阅读才能真正熟练,但我的问题是:

我已经完成了K&Rv2(第1章)中的所有练习以及其他章节中的一些练习,其中大多数练习一般都很无聊.我如何提升自己的技能,变得真正伟大?我为我真正想要的东西投入了金钱,时间和一般生活方式,但我不确定如何实现它.

有人可以向我解释一下,也许我需要不断编码,我究竟要编码什么?我很确定,编写hello world程序并不会教会我任何事情.

我的一个朋友每天说"阅读"(重点是阅读)一个人工页面,但我只想读书,我想做,但我不确定是什么!我对安全性感兴趣,但我不确定作为一个新手应该考虑的代码.

啊,我希望你不要删除这个问题:)

谢谢

c

16
推荐指数
6
解决办法
1575
查看次数

EF 4.1 Code First - 将枚举包装器映射为复杂类型

我正在尝试使用EF 4.1构建枚举问题的通用解决方案.我的解决方案基本上是如何在ef 4中伪造枚举的通用版本.枚举包装类在其余代码中运行得非常好,并允许以下代码:

EnumWrapper<Color> c = Color.Red;
Run Code Online (Sandbox Code Playgroud)

这是枚举包装类:

public class EnumWrapper<TEnum> where TEnum : struct, IConvertible
{
    public EnumWrapper()
    {
        if (!typeof(TEnum).IsEnum)
            throw new ArgumentException("Not an enum");
    }

    public TEnum Enum { get; set; }

    public int Value
    {
        get { return Convert.ToInt32(Enum); }
        set { Enum = (TEnum)(object)value; }
    }

    public static implicit operator TEnum(EnumWrapper<TEnum> w)
    {
        if (w == null) return default(TEnum);
        else return w.Enum;
    }

    public static implicit operator EnumWrapper<TEnum>(TEnum e)
    {
        return new EnumWrapper<TEnum>() …
Run Code Online (Sandbox Code Playgroud)

.net entity-framework ef-code-first entity-framework-4.1

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

如何将C++成员函数作为参数传递给C API

在我的C++程序中,我需要调用这个c API:

GConn* gnet_conn_new (const gchar *hostname,
                      gint port,
                      GConnFunc func);
Run Code Online (Sandbox Code Playgroud)

其中GConnFunc定义为:

void (*GConnFunc) (GConn *conn);
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我有一个C++类,并有一个成员函数,如:

Class A {
 public:
   A();
   void my_func (GConn* conn);
}
Run Code Online (Sandbox Code Playgroud)

在我的A::A()构造函数,我怎么能传递this->myfuncgnet_conn_new作为GConnFunc参数?

谢谢.

c++

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

如何从Entity Framework更新主键?

我有桌子

eventid int -- not PK key but with autoincrement
jobid -- PK autoincrement disabled
userid  int   -- PK autoincrement disabled
Run Code Online (Sandbox Code Playgroud)

要更新jobID,我会执行以下操作:

var itemforupdate = context.table.where(n=>n.eventid == someparameter).FirstorDefault()
Run Code Online (Sandbox Code Playgroud)

我正确地从数据库中获取项目,但在分配时:

itemforupdate.jobID = 5;
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

之后context.SaveChanges()我得到的错误:

属性"jobID"是对象的关键信息的一部分,无法修改

如何从Entity Framework更新jobID来解决这个问题?

c# sql entity-framework

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

如何设置索引属性的Moq

我正在尝试使用mock来验证是否已设置索引属性.这是一个带有索引的moq-able对象:

public class Index
{
    IDictionary<object ,object> _backingField 
        = new Dictionary<object, object>();

    public virtual object this[object key]
    {
        get { return _backingField[key]; }
        set { _backingField[key] = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

首先,尝试使用Setup():

[Test]
public void MoqUsingSetup()
{
    //arrange
    var index = new Mock<Index>();
    index.Setup(o => o["Key"]).Verifiable();
    // act
    index.Object["Key"] = "Value";
    //assert
    index.Verify();
}
Run Code Online (Sandbox Code Playgroud)

......失败了 - 它一定要经过验证 get{}

所以,我尝试使用SetupSet():

[Test]
public void MoqUsingSetupSet()
{
    //arrange
    var index = new Mock<Index>();
    index.SetupSet(o => o["Key"]).Verifiable();
}
Run Code Online (Sandbox Code Playgroud)

...它给出了运行时异常:

System.ArgumentException …
Run Code Online (Sandbox Code Playgroud)

c# moq

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

如何检查两种类型是否可以比较,总结等?

如果给出两种类型(类型a,类型b),是否有任何"好"的方法来确定这两个是否可以进行比较,求和等?

我在想如果类型实现IConvertible,可以将两者都转换成让我们说十进制并执行" Convert.ToDecimal(a) > Convert.ToDecimal(b)"?

我正在构建一个表达式求值程序,并希望能够处理任何类型的对象,因此需要知道一个类型是否可以与另一个类型进行比较(它不必在两侧都是相同的类型.例如.double > int)

c# iconvertible

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

具有自定义格式的ASP.NET MVC ViewModel映射

我正在处理的项目在域模型中有大量的货币属性,我需要格式化这些属性$#,###.##以便传输到视图和从视图传输.我已经对可以使用的不同方法有了一些看法.一种方法可能是在视图中显式格式化值,如Steve Michelotti的"Pattern 1":

......但这很快就开始违反DRY原则.

首选方法似乎是在DomainModel和ViewModel之间的映射期间进行格式化(根据ASP.NET MVC的Action第4.4.1节和"Pattern 3").使用AutoMapper,这将导致一些代码如下所示:

[TestFixture]
public class ViewModelTests
{
 [Test]
 public void DomainModelMapsToViewModel()
 {
  var domainModel = new DomainModel {CurrencyProperty = 19.95m};

  var viewModel = new ViewModel(domainModel);

  Assert.That(viewModel.CurrencyProperty, Is.EqualTo("$19.95"));
 }
}

public class DomainModel
{
 public decimal CurrencyProperty { get; set; }
}

public class ViewModel
{
 ///<summary>Currency Property - formatted as $#,###.##</summary>
 public string CurrencyProperty { get; set; }

 ///<summary>Setup mapping between domain and view model</summary> …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc formatting automapper

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

Javascript中的48位按位运算?

我已经被赋予了将Java移植Java.util.Random()到JavaScript 的任务,并且我在Javascript中使用按位运算符在足够大的数字上遇到了巨大的性能损失/不准确性.一些粗略的研究表明"JavaScript中的按位运算符本质上很慢",因为在内部看来,JavaScript会将其所有双值转换为带符号的32位整数来执行按位运算(有关详细信息,请参阅此处).这个,我不能做Java随机数生成器的直接端口,我需要得到相同的数值结果Java.util.Random().写点像

  this.next = function(bits) {
    if (!bits) {
       bits = 48;
    }
    this.seed = (this.seed * 25214903917 + 11) & ((1 << 48) - 1);
    return this.seed >>> (48 - bits);
  };
Run Code Online (Sandbox Code Playgroud)

(这是一个几乎直接的端口Java.util.Random())代码将无法正常工作,因为Javascript无法对大小的整数执行按位操作.)

我已经发现我可以使用Lehmer算法在32位空间中创建一个可播种的随机数生成器,但诀窍是我需要获得与我相同的值Java.util.Random().我该怎么做才能建立一个更快速,更实用的端口?

javascript random bitwise-operators

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

Tomcat应用程序生成太多日志

我有一个应用程序,它运行在linux ubuntu服务器上的tomcat 6.0.20服务器上.

它在catalina.out文件夹中生成大量日志,其中大部分是在使用应用程序时生成的,但不是由应用程序生成的.

它生成的一些日志如下,

    Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE: startElement(,,mime-type)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE:   Pushing body text '

        '
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE:   New match='web-app/mime-mapping/mime-type'
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE:   Fire begin() for CallParamRule[paramIndex=1, attributeName=null, from stack=false]
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester characters
FINE: characters(audio/x-mpeg)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE: endElement(,,mime-type)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE:   match='web-app/mime-mapping/mime-type'
Apr …
Run Code Online (Sandbox Code Playgroud)

java logging tomcat6

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

WCF客户端配置 - 基地址?

我正在将一个WCF客户端连接到一组服务,这些服务都实现相同的合同,并且都在同一个主机上.我希望有一种方法可以结合端点定义来减少配置混乱.我也不愿意以编程方式来做 - 只是通过配置.现在,我的配置重复多次:

<endpoint address="http://hostname/ServiceA.svc"
         binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_MyBinding"
         contract="ServiceReference.ISearchService" name="ServiceA">
</endpoint>

<endpoint address="http://hostname/ServiceB.svc"
         binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_MyBinding"
         contract="ServiceReference.ISearchService" name="ServiceB">
</endpoint>

// continued for ServiceC, ServiceD, etc
Run Code Online (Sandbox Code Playgroud)

对于服务器配置,有一些"baseAddressPrefixFilters"的概念可以用于此目的 - 客户端配置有什么用途吗?

wcf

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