我经常觉得我应该为某些项目做出更多贡献,因为我每天都依赖它们,但我常常觉得自己会受到影响.
您是否有任何项目,您不是主要的开发人员,但确实提交补丁?
任何阻碍你伸出援手的绊脚石?
完全托管的asp.net Web门户网站中是否存在缓冲区溢出/溢出漏洞.如果可以,则可以对其进行测试.
我最近一直在关注F#,虽然我不太可能在不久的将来跳过障碍,但它肯定会突出一些C#(或库支持)可以让生活更轻松的领域.
特别是,我正在考虑F#的模式匹配功能,它允许非常丰富的语法 - 比当前的开关/条件C#等价物更具表现力.我不会试图给出一个直接的例子(我的F#不符合它),但简而言之它允许:
虽然C#最终可以借用[ahem]丰富的一些内容,但是在过渡时期我一直在研究可以在运行时做些什么 - 例如,将一些对象拼凑起来相当容易:
var getRentPrice = new Switch<Vehicle, int>()
.Case<Motorcycle>(bike => 100 + bike.Cylinders * 10) // "bike" here is typed as Motorcycle
.Case<Bicycle>(30) // returns a constant
.Case<Car>(car => car.EngineType == EngineType.Diesel, car => 220 + car.Doors * 20)
.Case<Car>(car => car.EngineType == EngineType.Gasoline, car => 200 + car.Doors * 20)
.ElseThrow(); // or could use a Default(...) terminator
Run Code Online (Sandbox Code Playgroud)
其中getRentPrice是Func <Vehicle,int>.
[注意 - 也许这里的Switch/Case是错误的术语......但它显示了这个想法]
对我来说,这比使用重复的if/else或者复合三元条件(对于非平凡的表达式变得非常混乱 - 括号丰富)的等价物要清楚得多.它还避免了大量的转换,并允许简单扩展(直接或通过扩展方法)到更具体的匹配,例如InRange(...)匹配可比VB选择...案例"x到y "用法.
我只是想测量一下,如果人们认为上述结构有很多好处(在没有语言支持的情况下)?
另外请注意,我一直在玩上述3种变体: …
我正在我在asp.net应用程序中使用的类库中实现缓存.
我使用静态方法创建了我的缓存对象作为单例模式来更新缓存,这实际上只是加载一个成员变量/属性,其中包含我需要缓存的数据集合(得到一些锁定逻辑的课程).我认为这是一个很好的方式,因为我可以通过调用访问我的数据
MyCacheObject.Instance.MyDataCollection
Run Code Online (Sandbox Code Playgroud)
我正在创建一个新的缓存对象来存储由某个键分区的大量数据.我所说的是我正在创建一个新的缓存,但是这个不会一次加载所有数据,而是为每个访问的密钥存储一个集合.
MyOtherCacheObject.Instance.MyOtherDataCollection(indexkey)
Run Code Online (Sandbox Code Playgroud)
这次提出了关于垃圾收集的问题.由于我存储了大量的数据,如果突然得到gc,它不会是浪费吗?由于它只是一个单例模式,因此无法确保数据保留在缓存中.
所以我的问题是 - 实现缓存来处理这种情况的最佳做法是什么?我真的不喜欢这个非常复杂的解决方案,我知道System.Web中有缓存,但这似乎有点"关闭",因为这只是一个类库,或者你怎么看?
如何在MemoryStream不先将Excel工作簿保存到文件系统的情况下将其写入?
Microsoft.Office.Interop.Excel.WorkBook保存选项中的所有选项都采用文件名.
如何以惯用方式使用JUnit4来测试某些代码是否会抛出异常?
虽然我当然可以这样做:
@Test
public void testFooThrowsIndexOutOfBoundsException() {
boolean thrown = false;
try {
foo.doStuff();
} catch (IndexOutOfBoundsException e) {
thrown = true;
}
assertTrue(thrown);
}
Run Code Online (Sandbox Code Playgroud)
我记得有一个注释或一个Assert.xyz或者其他东西,对于这些类型的情况来说,远不如KUndgy 和JUnit的精神.
我正在尝试将一些导入行插入到python源文件中,但我最好将它们放在初始docstring之后.假设我将文件加载到lines变量中,如下所示:
lines = open('filename.py').readlines()
Run Code Online (Sandbox Code Playgroud)
如何找到文档字符串结束的行号?
CLR分析器似乎不适用于Silverlight CLR.是否存在另一个内存分析器?
好吧,我一直在做以下(变量名已被更改):
FileInputStream fis = null;
try
{
fis = new FileInputStream(file);
... process ...
}
catch (IOException e)
{
... handle error ...
}
finally
{
if (fis != null)
fis.close();
}
最近,我开始使用FindBugs,这表明我没有正确关闭流.我决定看看是否有任何可以用finally {}块做的事情,然后我看,哦是的,close()可以抛出IOException.人们应该在这做什么?Java库会抛出太多已检查的异常.