小编Pet*_*háč的帖子

什么是最酷的Ruby on Rails功能,为什么选择它?

在我提出这个问题之前,我在SO上查看了"Ruby on Rails"的搜索结果.找不到多少,但以下(在此页面上找到)让我很开心

就个人而言,我开始使用.html,转移到php,尝试ruby(讨厌它),发现Python/DJango ..并且从那以后一直很开心.

现在这是交易.我还没有个人学习Ruby on Rails的意图,但这是我在Uni做的小组演示的主题(我的队友选择了RoR主题).对学生提出问题的问题的人应立即离开.

这个问题适用于发现它很棒的RoR人.我希望找到那些声称RoR最好的人(在RoR网站上找到令人惊叹的推荐书的作者).是什么让RoR如此出色?在你离开Uni学位之前,你希望今天的年轻人能够发现什么呢?尝试建议一些可以根植于他们脑海中的东西,也许可以在离开Uni后以RoR的方式导航它们.

你的答案不仅有助于我的演讲,而且可能成为许多人的启蒙之源.

ruby ruby-on-rails

6
推荐指数
3
解决办法
9911
查看次数

如何判断网络电缆是否已拔下?

我有一个C#应用程序,只应在网络关闭时使用,但我担心用户只需拔掉网线就可以使用它.

有没有办法检测网络电缆是否已拔下?

谢谢

c# networking

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

Java 7中的链式调用?

我刚刚阅读了Java 7预览演示文稿(pdf),链接调用上有一张幻灯片.以下是幻灯片中使用的示例:

// Construction with setters
DrinkBuilder margarita = new DrinkBuilder();
margarita.add("tequila");
margarita.add("orange liqueur");
margarita.add("lime juice");
margarita.withRocks();
margarita.withSalt();
Drink drink = margarita.drink();

// Construction with chained invocation
Drink margarita = new DrinkBuilder()
    .add("tequila")
    .add("orange liqueur")
    .add("lime juice")
    .withRocks()
    .withSalt()
    .drink();
Run Code Online (Sandbox Code Playgroud)

我对此感到复杂.不应该将太多的方法调用链接到一个语句中.在另一方面,写作margarita.this()margarita.that()不是太方便无论是.

现在,我从Delphi世界来到Java.在Delphi中有with语言结构.这是少数人所珍惜和许多人的厌恶(或者是相反的方式?).我觉得with比链式调用的想法更优雅(我认为它基于void方法返回对它被调用的对象的引用 - 这是我不喜欢的部分,因为void应该什么都不返回).

我很欣赏withJava采用的语言功能,因此示例代码可以像这样编写:

Drink margarita = null;
with (new DrinkBuilder()) {
    add("tequila");
    add("orange liqueur");
    add("lime juice");
    withRocks();
    withSalt(); …
Run Code Online (Sandbox Code Playgroud)

java language-features language-design java-7

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

为什么(几乎)所有用ActionScript(Flash)编写的在线游戏都不是Java?

我绝对喜欢好的防御者游戏(例如Gemcraft,Protector:reclaiming the jone),因为他们在智力上非常具有挑战性; 这就像下棋,但少一点思考,多一点动作.可悲的是,那里没有那么多好的,我想我会自己创建一个,并通过在线提供与世界其他地方分享.

我从未使用过ActionScript,但是当涉及到在线游戏时,这是主要的选择.我试图以Java applet的形式找到一个体面的2D游戏,但无济于事.为什么会这样?我可以在Delphi for Win32中编写最舒适的游戏,然后人们需要下载可执行文件,这可能会阻止某些形式下载它,而且它只能在Windows上运行.我也熟悉Java,在过去四年左右与Java合作过; 虽然,我对游戏编程没有多少经验.

我不应该被所有在线游戏都用Flash编写并将我的后卫游戏作为Java小程序创建,或者我应该考虑学习ActionScript虚拟机的ActionScript和游戏开发(AS3看起来非常 Java) ......但是,对我来说这是一项全新的技术,我可能永远不会专业地使用它.)

请你回答标题中的问题吗?为什么选择 Flash,而不是Java applets?这只是'政治'吗?

java flash actionscript-3 online-game

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

如何转换/翻译信息?

我必须使用如下转换表"翻译"代码:

| symbol | translation |  
|   1    |      3      |
|   2    |      4      |
|   3    |      6      |
|   4    |      5      |
|   5    |      2      |
|   6    |      1      |
|   7    |      1      |

我的第一个想法是使用将Map每个符号与其转换相关联,并从数据库或text/xml文件加载表.有没有更好的办法?不必快速闪电,只需轻松维护和测试.TIA.

java design-patterns map

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

Java 7 - LinkOption - 为什么NOFOLLOW_LINKS是唯一可用的选项?

我认为标题说明了一切.我如何指定FOLLOW_LINKS?为什么只用一个选项创建一个枚举?例如,方法java.nio.file.Files.getLastModifiedTime(Path,LinkOption ...)将一个LinkOption-s数组作为参数.你必须通过一些东西,但你只能通过一个可用的选项.这令我感到惊讶,并希望了解更多信息.

java symlink nio java-7 linkoption

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

这有多慢?使用StackTrace进行INotifyPropertyChanged

今天,我遇到了一种实现INotifyPropertyChanged接口的有趣方法.我们可以简单地调用RaisePropertyChanged();而不是传递更改的属性的字符串名称或lambda表达式.来自setter,标记该调用是无参数的.这是RaisePropertyChanged()方法中的代码:

public virtual void RaisePropertyChanged()
{
    var frames = new System.Diagnostics.StackTrace();
    for (var i = 0; i < frames.FrameCount; i++)
    {
        var frame = frames.GetFrame(i).GetMethod() as MethodInfo;
        if (frame != null)
            if (frame.IsSpecialName && frame.Name.StartsWith("set_"))
            {
                RaisePropertyChanged(frame.Name.Substring(4));
                return;
            }
    }
    throw new InvalidOperationException("NotifyPropertyChanged() can only by invoked within a property setter.");
}
Run Code Online (Sandbox Code Playgroud)

这是一个属性,将通知其家属的变化:

public string MyProperty
{
    get { return _myField; }
    set
    {
        _myField= value;
        RaisePropertyChanged();
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然我发现这种方法很有趣,但我认为如果属性经常更改,性能损失可能会很严重......或者如果我们的应用程序中的每个属性都使用此方法来通知其更改.

我想听听你的意见.(不再有社区维基复选框?)这种方法会非常低效吗?

资料来源:介绍这种方法的文章

.net c# wpf stack-trace inotifypropertychanged

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

方法覆盖:相同的参数列表类型(或COMPATIBLE类型)?

在我用来准备新的Oracle认证专家 - Java SE7程序员考试的书中,在处理方法覆盖的部分中,我遇到了以下内容:

重写方法应具有基本版本相同的参数列表类型(或兼容类型).

"兼容类型"是什么意思?我的意思是,一旦参数列表类型不同,你就会超载,而不是覆盖.

我只能想到覆盖一个采用varargs参数的方法,一个采用相同类型的数组.编译器发出警告,但仍然编译.

兼容类型是什么意思?这是书中的错误吗?

java overriding open-closed-principle

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

(int)Math.sqrt(n)比(int)Math.floor(Math.sqrt(n))慢很多

我正在查看我的代码,希望提高其性能,然后我看到了这个:

int sqrt = (int) Math.floor(Math.sqrt(n));
Run Code Online (Sandbox Code Playgroud)

哦,好吧,我真的不需要调用Math.floor,因为从Math.sqrt(n)返回的强制转换也会有效地对数字进行拼接(因为sqrt永远不会返回负数).所以我去了Math.floor的电话:

int sqrt = (int) Math.sqrt(n)
Run Code Online (Sandbox Code Playgroud)

坐下来,自满地看着代码运行并执行大约10%!比以前的版本更糟糕.这令我感到震惊.任何人的想法?

Math.floor javadocs:"返回小于或等于参数且等于数学整数的最大(最接近正无穷大)double值."

在我的情况下编辑n很长.任何机会cast-floor-sqrt都会生成与cast-sqrt不同的int?我个人不明白为什么会这样......所有涉及的数字都是积极的.

java performance casting floor

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

将int数组发布到MVC控制器 - 什么是正确的方法签名?

下面是我发送到我的ASP.NET MVC2控制器的POST请求(使用Firebug Net面板)的屏幕截图.

发布请求快照

这是接收POST请求的控制器/操作方法:

public ActionResult Search(int[] skill, int[] discipline, int[] education, int[] marketsector){ ... }
Run Code Online (Sandbox Code Playgroud)

POSTs参数在我看来是正确的形式,但action方法接收四个空参数.你能否告诉我在服务器端方法签名应该是什么样的?或者将这四个整数数组发布到我的MVC2控制器的更好方法是什么?

asp.net post controller http asp.net-mvc-2

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