最后,嗯,6个月我一直在阅读C语言编程,我得到了自己的K&Rv2,BEEJ的套接字指南,专家C编程,Linux系统编程,ISO/IEC 9899:1999规范(真实,而不是草案) .从亚马逊收到它们之后,我安装了Linux,并且完成了它.
我已经完成了K&R,大约是专家C编程的一半,但作为一名程序员仍然感到很虚弱,我确信需要超过6个月的阅读才能真正熟练,但我的问题是:
我已经完成了K&Rv2(第1章)中的所有练习以及其他章节中的一些练习,其中大多数练习一般都很无聊.我如何提升自己的技能,变得真正伟大?我为我真正想要的东西投入了金钱,时间和一般生活方式,但我不确定如何实现它.
有人可以向我解释一下,也许我需要不断编码,我究竟要编码什么?我很确定,编写hello world程序并不会教会我任何事情.
我的一个朋友每天说"阅读"(重点是阅读)一个人工页面,但我只想读书,我想做,但我不确定是什么!我对安全性感兴趣,但我不确定作为一个新手应该考虑的代码.
啊,我希望你不要删除这个问题:)
谢谢
我正在尝试使用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) 在我的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->myfunc
到gnet_conn_new
作为GConnFunc
参数?
谢谢.
我有桌子
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来解决这个问题?
我正在尝试使用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) 如果给出两种类型(类型a,类型b),是否有任何"好"的方法来确定这两个是否可以进行比较,求和等?
我在想如果类型实现IConvertible
,可以将两者都转换成让我们说十进制并执行" Convert.ToDecimal(a) > Convert.ToDecimal(b)
"?
我正在构建一个表达式求值程序,并希望能够处理任何类型的对象,因此需要知道一个类型是否可以与另一个类型进行比较(它不必在两侧都是相同的类型.例如.double > int
)
我正在处理的项目在域模型中有大量的货币属性,我需要格式化这些属性$#,###.##
以便传输到视图和从视图传输.我已经对可以使用的不同方法有了一些看法.一种方法可能是在视图中显式格式化值,如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) 我已经被赋予了将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()
.我该怎么做才能建立一个更快速,更实用的端口?
我有一个应用程序,它运行在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) 我正在将一个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"的概念可以用于此目的 - 客户端配置有什么用途吗?
c# ×3
.net ×1
asp.net-mvc ×1
automapper ×1
c ×1
c++ ×1
formatting ×1
iconvertible ×1
java ×1
javascript ×1
logging ×1
moq ×1
random ×1
sql ×1
tomcat6 ×1
wcf ×1