小编Raf*_*ele的帖子

production.log中没有日志消息

我编写了一个演示HelloWorld Rails应用程序并使用WEBrick测试它(它甚至不使用数据库,它只是一个打印"hello world"的控制器).然后我尝试将其部署到使用Passenger的本地Apache.事实上,这个测试只是让Passenger工作(这是我第一次在Apache上部署).现在我甚至不确定Passenger是否正常工作,但我在Apache方面没有任何错误.

当我触发http://rails.test/浏览器时显示Rails 500错误页面 - 所以我假设P​​assenger正常工作.我想调查日志,但是生产.log是空的!我不认为这是一个权限问题,因为如果我删除该文件,它会在我重新加载页面时重新创建.我试图更改日志级别conf/environments/production.rb,尝试使用Rails控制台生成手动写入日志文件

 Rails.logger.error('asdf')
Run Code Online (Sandbox Code Playgroud)

它返回true但没有任何内容写入production.log.路径(根据Rails.logger.inspect获得)是正确的,我注意到如果我手动删除它,该文件将被重新创建.我怎么知道发生了什么?

(我已经检查过Apache日志,另外我为Passenger设置了最高的调试级别,但它似乎是一个Rails问题,所以服务器没有记录)

ruby-on-rails passenger ruby-on-rails-3

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

是否可以使用HTTPS协议以URL"http://"开头的网站

我有一个站点,其URL以"http://"开头,但这给了我一个例外消息 - 不支持的协议:https.该站点是否可能使用HTTPS协议,其URL仍以"http://"开头,而不是"https://".

public ActionForward executeAction(ActionMapping mapping, ActionForm form,
              HttpServletRequest request, HttpServletResponse response)
      throws Exception {

    ActionForward forward = mapping.findForward(Constants.SUCCESS);
    String link = "http://abc.fgh.jkl.mno";
    URL thisURL;
    HttpURLConnection conn = null;
    try {
        thisURL = new URL(link);
        conn = (HttpURLConnection) thisURL.openConnection();
        System.out.println(conn.getResponseCode());
        System.out.println(conn.getResponseMessage());
        } catch (Exception ex) {
        ex.printStackTrace();
    }
    return forward;
}       
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

java.net.ProtocolException: Unsupported protocol: https'
    at weblogic.net.http.HttpClient.openServer(HttpClient.java:342)
    at weblogic.net.http.HttpClient.New(HttpClient.java:238)
    at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:172)
    at weblogic.net.http.HttpURLConnection.followRedirect(HttpURLConnection.java:643)
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:422)
    at           weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:36)
    at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:947)
    at com.cingular.cscape.da.struts.action.thisAction.executeAction(thisAction.java:56)
    at com.cingular.cscape.da.struts.action.BaseAction.execute(BaseAction.java:300)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    at …
Run Code Online (Sandbox Code Playgroud)

java https http

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

解释警告:对于最后一个参数,使用不精确的参数类型的非变量调用varargs方法

这是我的示例代码,我收到警告.

String lsSQL = foMetaQuery.getSQL();
String  lsNewSQL = replace(lsSQL,"'' {","''{");
lsNewSQL = replace(lsNewSQL," } ''","}''");
lsNewSQL = replace(lsNewSQL," }","}");
lsNewSQL  = MessageFormat.format(lsNewSQL,foSubstitutionArray);
loVSQueryDef.setSQL(lsNewSQL);
Run Code Online (Sandbox Code Playgroud)

编译说

转换为java.lang.Object以进行varargs调用强制转换为java.lang.Object []以进行非varargs调用并禁止此警告

lsNewSQL  = MessageFormat.format(lsNewSQL,foSubstitutionArray);
Run Code Online (Sandbox Code Playgroud)

java

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

使用SELECT进行简单的BOOLEAN评估

我想测试一些评估,而不需要在任何表上工作.例如,你可以写

SELECT 1+1
>2
Run Code Online (Sandbox Code Playgroud)

我希望实现这样的目标:

SELECT 2 > 1
>FALSE
Run Code Online (Sandbox Code Playgroud)

我知道大多数引擎都没有布尔数据类型的概念,但我不知道它们的内部工作方式(即使我猜测所有的一切都是<> 0 true,就像在C中一样).无论如何,响应的格式确实无关紧要,无论是true/false或者0/1

mysql sql sql-server

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

泛型和(超级?)类型令牌可以帮助构建类型安全的新闻聚合器吗?

我有这个基本的News界面

interface News {
    String getHeader();
    String getText();
}
Run Code Online (Sandbox Code Playgroud)

和具体类一样,SportsNewsFinancialNews提供特定的方法,如getStockPrice(),getSport()等等.新闻旨在发送给

interface Subscriber<N extends News> {
    void onNews(N news);
}
Run Code Online (Sandbox Code Playgroud)

问题是如何注册和维护订阅.我尝试的第一种方法是使用中心Aggregator,在Class<T>对象之间保持地图Set<Subscriber<T>>,但很快这种方法显示出不可行.这是所需的API

public class Aggregator {

    public <N extends News> void subscribe(Subscriber<N> subscriber) {
        // TODO somehow (super type token) extract N and 
        // add the item to the set retrieved by getSubscribersFor()
    }

    public <N extends News> void dispatch(N news) {
        for (Subscriber<N> subscriber: getSubscribersFor(news.getClass())) …
Run Code Online (Sandbox Code Playgroud)

java generics reflection

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

音频分析:频率与音调

我正在设计一个简单的调谐器,所以我的目标是显示一个音符名称(A,B,F#)和理论声音与实际输入之间的距离.

我对音频和信号处理完全陌生,所以我做了一些研究,我找到了一个名为快速傅立叶变换的东西,它将分析字节并给出频率.此外,我发现了一些Java库,如常见的数学JTransforms,因此我不会自己编写硬代码.

我相信这一切,因为每个范围频率可以直接映射到平等气质的音符,但后来我发现这个新的(对我来说)单词称为音高:它被认为与频率紧密相关,但并不完全相同事情并且要难得多,属于那个心理声学领域.

所以我的问题是,有人可以清楚地概述音高和频率之间的差异,也许可以告诉我哪个调谐器处理?

java audio physics signal-processing

5
推荐指数
2
解决办法
7095
查看次数

如何以编程方式绘制组织结构图?

我的程序的用户是按层次组织的。每个用户都是树中的一个节点,唯一的其他类型的节点是部门节点。每个节点只有一个父节点(可能是根节点)。

我生成了一个供graphviz套件使用的DOT文件,但是生成的图片无法使用,因为它太宽了。我不知道这个程序是否可以调整以满足我的需求,因为我有一个包含许多兄弟节点的扁平层次结构,所以也许我需要一个专门为此设计的程序(或编写我自己的程序)。我尝试了 unflatten 工具,但没有成功。

这是测试点文件- 请注意,我的程序经常使用 10 倍的数据...

graphics diagram graphviz

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

为什么Android API不公开允许收听传入的短信?

最近有一个关于SO的问题引起了我的注意.Android没有用于收听传入短信的公共API.曾经有一个动作android.provider.Telephony.SMS_RECEIVED,但它已从官方API中删除,即使它仍然有效,它显然不是面向未来的.我现在不需要这个功能,但是我可能在将来,我发现它很奇怪它不可用,因为:

  1. Android一直鼓励对系统的每个小部分进行深度定制(想想启动器,拨号器,联系人应用程序)
  2. 市场上已经有很多标准SMS应用程序的替代品(更不用说供应商的了)

也许我错过了一些东西或者可能有技术原因 - 我承认不知道SMS是如何工作的

android

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

Loader框架与普通的AsyncTask

在我的应用程序中,我需要很多CRUD东西:从本地SQLite数据库读取记录,插入对象和更新东西.大多数查询都非常简单,即使在UI线程上运行它们也不会阻塞,但是在这个应用程序中我想采用Windows Phone模式:一个out动画立即开始,动画在结果传递时开始动画.

我计划使用一个AsyncTask用于工作,但我注意到Honeycomb(和compat包)引入了这个新的Loader框架.主要优势似乎是Loader生存配置加载的数据发生了变化.该LoaderEx通过SQLite和框架之间的桥梁Commonsware项目,但有些问题出现.

  1. 资源清理:我使用单个活动,创建SQLiteOpenHelper onCreate()并关闭它onDestroy().由于加载程序管理器可能仍在运行,我检查它并pendingClose在我的回调对象上设置一个标志,因此它将在加载完成时关闭游标和帮助程序.我认为不关闭数据库是没有害处的,但SQLite抱怨如果你不这样做,我不喜欢错误消息:)这里的重点是数据不能在配置更改中存活,因此Loader优势消失

  2. 我应该创建多少个装载机?假设我有心爱的Customer人和Order桌子.装载机被认定ID就像CUST_LORD_L,但每次用户点击一些总结的时间我想与细节的屏幕带来.我应该restart是一个装有不同参数的装载机,还是应该init是一个带有随机ID的新装载机?这可能会发生几十次.Loader框架是针对许多小型运行的作业,还是仅针对一些长时间运行的任务?

  3. IDLoaderCallbacks界面内使用s 的目的是什么?为什么不简单initLoader(params, callback)?我不认为可以在回调中重用一些逻辑:最终他会分支(带ID if-elseswitchID),所以我不明白给回调对象赋予标识符的意义,而不是一个天真的方法-每次操作回调.

我问这个是因为整个框架似乎对我来说过于工程化而没有实际效用.我不明白用a集中代码的意义LoaderManager,我看不出任何新的机会AsyncTask没有提供.

唯一的胜利点是配置改变生存,但由于资源清理我无法利用它,我无法找出另一种方法来关闭SQLiteOpenHelper因为(很明显)SQLiteCursorLoader需要它但是清理它取决于用户.所以AsyncTask看起来似乎是赢家的选择,但也许我错过了一些东西.

sqlite android commonsware-cwac

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

Java - 非最终字段上的同步

如果在可以更改其引用的字段上进行同步,则如下所述:

class A {

    Object someObject;

    void method(){
        synchronized (someObject) {
              Object newObject = new Object();
              //possibly modify the old ref
              if(chackCondition()){
                   someObject = newObject;
              }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我担心这里可能会有一些奇怪的,低级的编译器优化,这可能让两个线程同时访问同步区域.任何评论都会得到很大的评价.

java multithreading synchronization

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

节点js - 为什么3连接?

考虑node.js的这个小服务器

var net = require ('net');

var server = net.createServer(function (socket) {

    console.log("Connection detected");

    socket.on('end', function() {
        console.log('server disconnected');
    });

    socket.write("Hello World");
    socket.end();
});

server.listen("8888");
Run Code Online (Sandbox Code Playgroud)

当我在Macbook Pro上使用Chrome测试服务器时,我在控制台中收到三次"检测到连接"消息.

我知道一个用于连接,另一个用于favicon,但第三个是什么呢?

sockets networking tcp google-chrome node.js

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

JQuery的ajax函数从XML中剥离HTML标记

好的,我正在从XML文件中提取数据,以动态填充我的网页元素.我的问题是,当我使用JQuery .ajax来提取xml文件时,它会剥离我的HTML标记.

例如,

XML文件中的数据:

<transcript><p>Hello, world</p></transcript>
Run Code Online (Sandbox Code Playgroud)

网页上的所需输出:

<p>Hello, world</p>
Run Code Online (Sandbox Code Playgroud)

实际产量:

Hello World
Run Code Online (Sandbox Code Playgroud)

这是我的ajax函数中的代码:

$(xmlData).find('item').each(function() {
        var n = $(this).find('transcript').text();
Run Code Online (Sandbox Code Playgroud)

我试过使用JQuery的'.html()',但它返回null.我能解决这个问题最简单的方法是什么?最好不要改变我已经做过的太多.

提前致谢.

html javascript xml ajax jquery

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