问题列表 - 第31542页

没有帮助,Sinatra无法提供JavaScript文件?它是否正确?

好的,所以我说这个没有问题,但是我想确保我做得对,因为从长远来看,这似乎是一项额外的工作.

我正在与Sinatra合作并使用HAML模板.我想在我的HAML文件中包含一个JavaScript文件.我的目录结构如下所示:

  • 媒体/
    • JS /
      • init.js (我要包含的文件)
    • CSS /
  • 楷模/
  • 意见/
    • layout.haml
  • 路线/
  • init.rb
  • bootstrap.rb (包含在init.rb中)

当我尝试包含文件(没有额外的路由或任何东西)时,我得到一个页面无法找到错误.但是,如果我添加此代码,那么它工作正常:

get '/media/js/:name' do
    begin
        send_file('media/js/' + params[:name])
    rescue
       "There's nothing for you here"
    end
end
Run Code Online (Sandbox Code Playgroud)

我这样做是为了提供我的媒体/静态文件没有问题,但我只是想确保这是必要的,我想避免这是可能的.

编辑

我将以下代码包含在我的bootstrap.rb文件中,但无济于事:

set :root, File.dirname(__FILE__)
enable :static
Run Code Online (Sandbox Code Playgroud)

ruby model-view-controller sinatra

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

Mass 301重定向使用.htaccess

我正在开展一个大型项目,涉及获取数千(30,000+)个静态网页并将其转换为CMS.

问题是这些页面中的许多页面在其目录中是重复的.我想通过使用301重定向保持SEO完好无损,但是,我不知道如何进行如此大的重定向(301).

以下是页面当前目录结构的示例.

/page.html
/folder/page.html
/folder/subfolder/page.html
/folder/subfolder/anotherfolder/page.html

如您所见,page.html在所有目录中都是重复的.

对于新CMS,该页面的URL就是/page.html.

apache .htaccess seo redirect http-status-code-301

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

Java的EOFException是特殊的吗?

使用异常来指示已到达文件的末尾似乎很脏.我们阅读的每个文件都有一个结尾,所以它似乎并不特殊或意外.此外,我不喜欢对我的程序的非异常流程使用异常.

我正在谈论使用java.io.EOFException来表示数据输入流的结束:

想象一个包含以下消息的文件......

----------------- ------------------
- 2-byte LENGTH - - N-byte PAYLOAD - , where N = LENGTH;
----------------- ------------------
Run Code Online (Sandbox Code Playgroud)

...并使用DataInputStream读取此文件:

DataInputStream in = new DataInputStream(...);

...

try {
    while (true) {
        short length = in.readShort();
        byte[] b = new byte[length];
        in.readFully(b);
    }
} catch (EOFException e) { }

...
Run Code Online (Sandbox Code Playgroud)

在此示例中,调用将抛出EOFException in.readShort().我应该弄清楚文件中的字节数,并准确读取该字节数(由total -= length零开始确定),并退出while循环而没有异常?我正在寻找最佳实践.

我应该这样做吗?

long total = file.length();
while (total > 0) {
    short length = in.readShort();
    total -= length;
    byte[] b = new …
Run Code Online (Sandbox Code Playgroud)

java io exception inputstream eofexception

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

Linux上的套接字性能

继我上一期的问题之后:

使用带有套接字的Javas对象流的性能问题

我正在研究Linux上的套接字性能.通过上面的例子,我的往返时间约为65μsec.如果我在文件系统上制作两个fifo,则会下降到~45μsec.使用localhost套接字的额外时间必须是因为我正在访问网络堆栈.

是否有一些操作系统配置可以使localhost套接字与命名管道一样快?

uname -a
Linux fiatpap1d 2.4.21-63.ELhugemem #1 SMP Wed Oct 28 23:12:58 EDT 2009 i686 athlon i386 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

提前致谢!

java sockets linux

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

Java确保传递给方法的对象扩展给定的类

检查传递给方法的对象的最佳方法是扩展给定的类?

目前我有一个方法需要发送ByteBuffer数据和我编写的'播放器'类,并将数据排队到IO服务器上发送给客户端:

public void send(ButeBuffer toSend, Player player)
{
  // prep the byte buffer for sending, and queue it on the IO server
}
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是让传入的玩家对象成为扩展玩家类的任何对象.我做了一些搜索,发现了这样的事情:

public void send(ByteBuffer toSend, Player<? extends Player> player)
{   
   // prep the byte buffer for sending, and queue it on the IO server
}
Run Code Online (Sandbox Code Playgroud)

但这给了我编译错误,我不明白到底发生了什么.这是正确的方法吗?如果是这样,任何人都可以解释这段代码具体做什么以及它为什么不起作用,或者将我链接到一篇更详细解释这一点的文章.

或者,我想我可以设置这样的东西:

public void send(ByteBuffer toSend, Object player)
{
  // Check that the player extends Player, using instanceof or something 
  // along those lines   

  // Prep the ByteBuffer, and queue the …
Run Code Online (Sandbox Code Playgroud)

java abstract-class typechecking

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

使用Go读取XML元素的内部文本

我正在尝试使用xml包(http://golang.org/pkg/xml/)在Go中读取XML文件.

我的问题是我不确定如何读取元素的内部文本.我在xml.Parser中加载文档,然后调用parser.Token()来遍历文件.我检查令牌使用以下内容:

token, err := parser.Token()
if element, ok := token.(xml.StartElement); ok {
  // process as a start element. I can read the element name and attributes here
}

if charData, ok := token.(xml.CharData); ok {
  // process as text. How do I read the text data?
}
Run Code Online (Sandbox Code Playgroud)

xml.CharData类型定义为:

type CharData []byte
Run Code Online (Sandbox Code Playgroud)

但我似乎无法将charData变量用作转换为字符串的字节数组.为CharData定义的唯一方法是复制令牌,但这只是给出CharData变量的另一个副本.我尝试过一些东西,但是他们没有编译:

innerText := string(charData)
innerText := string(charData[0:])
innerText := string(charData[0]) // this compiled but is not what I want
Run Code Online (Sandbox Code Playgroud)

是否有另一种方法将xml.CharData变量视为一个字节片?

xml go

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

如何在C#中将3个字节转换为24位数?

我有一个字节数组,我从消息的标题部分读取.这些字节包含消息的长度.从不超过3个字节,它们从LSB到MSB排序.所以在下面的例子中,39是LSB,2是MSB.

var data = new byte[] { 39, 213, 2 };
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我如何获取这些字节并转换为数字(int,short等)?

c#

5
推荐指数
3
解决办法
7903
查看次数

浮动左侧和父级高度

这可能以前得到了回答,但我花了一些时间寻找并找不到确切的答案.

我有一个父div,包含两个div B和C.

B和C都向左浮动.C没有设定的高度(增长与文本的数量).

问题:父A没有增长到C的大小.我知道这与浮动元素不是普通文档流的一部分有关,但我不知道如何修复它(设置一个高度)在A上没有帮助,因为它取决于C)的高度.

html css-float

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

有可选的标签控件吗?

我想要一个可选择的标签控件,就像截图中的那个一样.它可以使用无边框TEdit完成,但我想知道是否有另一种方法可以使用渐变背景?

例如http://usera.ImageCave.com/brk303/SelectableLabel.png.jpg

为了澄清,我使用了一个简单的PageControl,由于Win XP具有渐变绘图,放置在页面上的无边框TEdit不能完美地融合:

在PageControl上编辑http://usera.ImageCave.com/brk303/Gradient.png.jpg

更新:

我设法通过添加到达中途

procedure CNCtlColorStatic(var AMsg: TWMCtlColorStatic); message CN_CTLCOLORSTATIC;

procedure TTransparentEdit.CNCtlColorStatic(var AMsg: TWMCtlColorStatic);
begin
  with ThemeServices do
    if ThemesEnabled then
    begin
      SetBkMode(AMsg.ChildDC, Windows.TRANSPARENT);
      DrawParentBackground(Handle, AMsg.ChildDC, nil, False);
      AMsg.Result := GetStockObject(NULL_BRUSH);
    end
    else
      inherited;
end;
Run Code Online (Sandbox Code Playgroud)

它现在是透明的,但还需要做其他事情,因为在选择文本时绘画无法正常工作.这个行为很难解释,我会进一步调查并在这里更新......

windows delphi controls vcl

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

我可以在iPad模拟器上播放FLV吗?

我正在尝试为iPad创建一个简单的应用程序,当您单击按钮时播放FLV.我使用http://developer.apple.com/iphone/library/codinghowtos/AudioAndVideo/index.html#VIDEO-USE_THE_MEDIA_PLAYER_FRAMEWORK_FOR_VIDEO_PLAYBACK中的代码作为参考.这是我的点击事件的代码

-(IBAction) btnPlayVideoClick:(id) sender { 
 NSString* videoPath = [[NSBundle mainBundle] pathForResource:@"myVideo" ofType:@"flv"];    

 MPMoviePlayerController* myMovie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:videoPath]];
 myMovie.scalingMode = MPMovieScalingModeAspectFill;


 // Register for the playback finished notification.

 [[NSNotificationCenter defaultCenter] addObserver:self
            selector: @selector(myMovieFinishedCallback:)
             name:MPMoviePlayerPlaybackDidFinishNotification
              object:myMovie];
 [myMovie play];

}


-(void)myMovieFinishedCallback:(NSNotification*)aNotification 
{
    MPMoviePlayerController* theMovie=[aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                                                    name:MPMoviePlayerPlaybackDidFinishNotification 
                                                  object:theMovie]; 

    // Release the movie instance created in playMovieAtURL
    [theMovie release]; 
}
Run Code Online (Sandbox Code Playgroud)

我能够成功编译并运行应用程序,但是当我单击按钮时,应用程序只退出时没有任何错误消息或任何活动.有什么东西我做错了,或者是否有某些原因我无法使用模拟器播放FLV.我还无法在真实设备上进行测试,因为我正在等待批准获得我的开发许可证.

谢谢,

麦克风

iphone flv flvplayback ipad

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