小编Jes*_*ugh的帖子

URL的最佳数据库字段类型

我需要在MySQL表中存储一个url.定义一个包含未确定长度的URL的字段的最佳做法是什么?

mysql sql database

332
推荐指数
8
解决办法
22万
查看次数

您是否必须重新启动apache才能在.htaccess生效中重写规则?

我已将.htaccess文件推送到生产服务器,但它们不起作用.重启是下一步,还是应该检查其他内容.

apache .htaccess mod-rewrite restart

94
推荐指数
3
解决办法
8万
查看次数

Rails中是否有HTML安全截断方法?

我在Rails中有一串HTML.我想在一定数量的字符之后截断字符串,不包括HTML标记.此外,如果拆分恰好落在开始和结束标签的中间,我想关闭打开的标签.例如;

html = "123<a href='#'>456</a>7890"
truncate_markup(html, :length => 5) --> "123<a href='#'>45</a>"
Run Code Online (Sandbox Code Playgroud)

html ruby string ruby-on-rails

42
推荐指数
4
解决办法
2万
查看次数

为什么新添加的文件不能触发我的gulp-watch任务?

我有一个gulp任务,它使用gulp-imagemin来压缩图像.当我将新文件添加到此目录时,我希望此任务也可以压缩它们.我读到gulp.watch没有触发新文件,我应该尝试gulp-watch所以我这样使用它;

gulp.task('images', function() {
  watch({glob: './source/images/*'}, function (files) {
    return files
      .pipe(plumber())
      .pipe(imagemin({
        progressive: true,
        interlaced: true
      }))
      .pipe(gulp.dest('./www'));
  });
});
Run Code Online (Sandbox Code Playgroud)

这与第一次运行时的gulp.watch相同,但是当我向目录添加新图像时没有任何反应.但是,如果我覆盖现有文件,它会再次运行任务,因此它的行为会有所不同.

关于gulp-watch的文档称为"批处理模式",并说我也可以基于每个文件运行任务,所以我也尝试过这种方式;

gulp.task('images', function() {
  gulp.src('./source/images/*')
    .pipe(watch())
    .pipe(plumber())
    .pipe(imagemin({
      progressive: true,
      interlaced: true
    }))
    .pipe(gulp.dest('./www'));
});
Run Code Online (Sandbox Code Playgroud)

但没有改变.为什么不在触发任务的图像目录中添加文件?

gulp gulp-imagemin imagemin gulp-watch

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

OAuth无法在iframe中运行

我在JSFiddle上构建了一个小提琴,它通过Foursquare的"令牌"响应类型检索OAuth访问令牌.一两天前,这个工作正常.当点击"使用Foursquare登录"时,Foursquare的授权页面出现了,我可以获得access_token.今天我收到一条错误,上面写着"拒绝显示文档,因为X-Frame-Options禁止显示".我已经联系了JSFiddle,看看他们是否已经更改了他们的X-Frame-Options标头,但我相信它是指定该标头的iframed页面.Foursquare关于iframe内OAuth的政策是什么?最近有变化吗?

这是我的小提琴

html api iframe oauth foursquare

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

Google App Engine是Lifestreaming应用程序的有价值平台吗?

我正在构建一个Lifestreaming应用程序,它将涉及为大量用户提取大量数据,并对结果执行数据挖掘和机器学习算法.GAE的负载均衡和可扩展托管听起来非常适合最终可以移动大量数据的系统,但缺少cron作业是一件麻烦事.我会更好地在共同使用Django并处理我自己的数据库扩展吗?

python django google-app-engine web-applications

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

在("message")处理程序上定义Socket.io的最有效方法

Socket.io的例子都遵循这种模式

io.sockets.on("connection", function(mySocket){
    mySocket.on("my message", function(myData){
        ...
    });
});
Run Code Online (Sandbox Code Playgroud)

在我看来,这将为每个连接创建一个新的回调函数.假设每个套接字都以相同的方式响应消息,那么为所有套接字定义一次处理程序就不会有更高的内存效率,如下所示:

function myMessageHandler(data){
    ...
}

io.sockets.on("connection", function(mySocket){
    mySocket.on("my message", myMessageHandler);
});
Run Code Online (Sandbox Code Playgroud)

甚至这个:

io.sockets.on("my message", function(mySocket, myData){
    ...
});
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么Socket.io会推荐一种浪费内存的做法?我们是否希望在"连接"回调的闭包内保留套接字的有状态变量?

javascript websocket node.js socket.io

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

不引人注目的Javascript模糊了事件处理

你知道我最喜欢的关于突兀的javascript的东西吗?你总是知道当你触发一个事件时会发生什么.

<a onclick="thisHappens()" />
Run Code Online (Sandbox Code Playgroud)

既然每个人都在喝着不显眼的kool-aid,那就不那么明显了.绑定事件的调用可以发生在页面上包含的任意数量的javascript文件的任何行上.如果您是唯一的开发人员,或者您的团队有一些约束事件处理程序(如始终使用某种格式的CSS类)的约定,那么这可能不是问题.但在现实世界中,它很难理解您的代码.

像Firebug这样的DOM浏览器看起来似乎可以提供帮助,但是浏览所有元素的事件处理程序属性只是为了找到一个执行您正在寻找的代码的浏览器,这仍然很耗时.即便如此,它通常只是告诉你它是一个没有行号的匿名函数().

我发现用于发现事件被触发时JS代码被执行的技术是使用Safari的分析工具,它可以告诉你在一段时间内JS被执行了什么,但有时候可以通过很多JS来搜索.

当我点击一个元素时,必须有一种更快的方法来找出发生了什么.有人可以赐教吗?

javascript unobtrusive-javascript event-handling

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

如何使用被动事件流同时处理鼠标和触摸事件

我正在构建一个音频播放控件,让用户可以在音频文件中来回擦洗.它需要处理触摸和鼠标事件.我应该如何使用被动事件流来管理事件?

以下是我希望如何构建它的大致想法.

<div id="timeline">
  <span id="scrubber"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

然后,使用Bacon.js创建事件流

var mousedowns = $('#timeline').asEventStream('mousedown');
var touchstarts = $('#timeline').asEventStream('touchstart');

var starts = Bacon.mergeAll(mousedowns, touchstarts);

var mousemoves = $('#timeline').asEventStream('mousemove');
var touchmoves = $('#timeline').asEventStream('touchmove');

var moves = Bacon.mergeAll(mousemoves, touchmoves);

var mouseups = $('#timeline').asEventStream('mouseup');
var touchends = $('#timeline').asEventStream('touchend');

var ends = Bacon.mergeAll(mouseups, touchends);

starts.onValue(function () {
  var repositionScrubber = moves.onValue(function (ev) {
    $('#scrubber').moveTo(ev.offsetX);
  });
  ends.onValue(function () {
    repositionScrubber.stop();
  });
});
Run Code Online (Sandbox Code Playgroud)

我确定这是各种各样的错误,但我真的很擅长处理具有可观察流的事件,我还不知道它有什么好的烹饪书.任何帮助将不胜感激!

javascript touch reactive-programming rxjs bacon.js

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

尽管处于调试模式,但仍可以使用Bottle.py缓存模板

我刚刚在GAE上构建了我的第一个Bottle.py应用程序.它的工作原理是,当我更改模板时,我必须重新启动开发服务器以查看更改.文档说,模板缓存应该在bottle.debug(True)时被禁用,并且你也可以调用bottle.TEMPLTE.clear(),但这些都不起作用.我也试过设置run(reloader = True),但这会导致错误.我究竟做错了什么?bottle.debug()是否适用于GAE上的任何其他人?

import bottle
bottle.debug(True)
bottle.TEMPLATES.clear()

@bottle.route('/')
def index(name='World'):
    return bottle.template('main')

bottle.run(server='gae')
Run Code Online (Sandbox Code Playgroud)

更新:我 没有使用bottle.run(server ='gae'),而是自己包含了标准的main()函数,现在它可以工作了.

def main():
  app = bottle.default_app()
  util.run_wsgi_app(app)

if __name__ == "__main__":
  main()
Run Code Online (Sandbox Code Playgroud)

python google-app-engine templates caching bottle

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

滑动地图如何工作?

滑动地图是 Web 小部件,允许用户通过抓取和拖动二维平面来平移。这种控件因谷歌地图而变得流行,并且可以在当今的许多现代地图系统中看到。当您观察它们加载时,很明显它们实际上是图像网格,当用户平移时根据需要加载。我的问题是;这些图像是如何在 HTML/JS/CSS 中对齐、移动和动态加载的?它们是带有背景图像的 div 吗?它们是否加载到具有溢出:隐藏的父 div 中?当用户平移时,他们使用什么策略来防止内存泄漏。是否有任何第三方库可以更轻松地构建它们。我对地理地图本身不感兴趣,只是对通常用于显示它们的界面感兴趣。谢谢!

html javascript css maps

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

在多人 Socket.io 游戏中管理套接字

我正在使用 Node.js 和 Socket.io 构建一个大型多人游戏。所有玩家都将在同一张无限地图上移动(想想 Minecraft)。当玩家移动时,我加载他们可见的图块。当玩家移动时,他们的动作应该发送给所有可以看到他们的玩家。

我的问题是;我应该如何构建我的套接字?为所有玩家提供一个插槽似乎不会扩展。我可以将世界分成多个块,但我不确定如何管理块边界。由于大多数玩家大部分时间都无法看到对方,因此我希望每个玩家的套接字只能获得与他们相关的更新。

我读过 Socket.io 有一个“房间”的概念,它只是获得相同消息的套接字。为每个连接的玩家设置一个单独的房间是否可行,我可以将移动到附近的任何其他玩家的插槽添加到其中?然后每次玩家移动时,我都可以向那个房间发送消息。当观众离开或加入房间时,我该如何管理?

显然,这是一个模糊的问题,但我只是在寻找最佳实践建议。链接到有关该主题的文章将不胜感激。

multiplayer websocket node.js socket.io

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

如何在超脚本模型中使用 html 实体?

我想&copy;在模型中使用该实体,但是当我将其作为子对象传递时,它会以纯文本形式显示。我想我可以使用 \xc2\xa9,但这有什么乐趣呢?

\n

maquette

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