小编eri*_*bae的帖子

ORDER BY取决于列类型

我的表格如下:

a | b
-----
1 | a
2 | b 
Run Code Online (Sandbox Code Playgroud)

在我的查询中,我想根据列的类型更改order by子句.

所以像

get_data($order_by_column) {

  ....
  ORDER BY
    CASE 
      WHEN is_numeric($order_by_column) THEN $order_by_column
      ELSE CHAR_LENGTH($order_by_column)
    END
}
Run Code Online (Sandbox Code Playgroud)

我已经检查过,似乎很难像上面的查询一样动态确定列类型.实现这一目标的替代方案(或替代方案)是什么?

sql postgresql types

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

在Java中反转LinkedList

我正在看这篇文章中的解决方案,以递归方式反转Java中的链表

我复制了下面的解决方案之一.我实现了它,它工作正常.

public ListNode Reverse(ListNode list)
{
    if (list == null) return null; // first question

    if (list.next == null) return list; // second question

    // third question - in Lisp this is easy, but we don't have cons
    // so we grab the second element (which will be the last after we reverse it)

    ListNode secondElem = list.next;

    // bug fix - need to unlink list from the rest or you will get a cycle
    list.next = null; …
Run Code Online (Sandbox Code Playgroud)

java collections

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

Handlebars.js 不喜欢前面的方括号

我正在使用 PHP 后端、Backbone.js 和 Handlebars.js。我的javascript请求数据,成功返回JSON数据(json_encode)。

当我将此 JSON 数据提供给把手模板时,它没有显示。我意识到 JSON 对象前后的方括号被 Handlebars.js “不喜欢”,并且没有显示。看看下面的代码。

var ArticleListView = Backbone.View.extend(
{
  el: $('#main'),
  render: function()
  {
    var template = Handlebars.compile($("#articles_hb").html());
    $(this.el).html(template([{"articles":[{"title" : "1"}, {"title" : "2"}]}]));
    return this;    
  }
});
Run Code Online (Sandbox Code Playgroud)

现在,如果我取出括号,它就可以正常工作。这是怎么回事?为什么首先有方括号?我该如何摆脱它们?

javascript backbone.js handlebars.js

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

ReactJS与React路由器 - Chrome上的奇怪路由行为

这有点奇怪,我想深究它.

我有一个页面,用户输入他们的电子邮件地址并单击按钮,然后我显示"您已注册!" 消息 - 简单.

为此,我有两条路线.主要路线和"注册"路线.

  <Route name="app" path="/" handler={Main}>
    <Route name="signed-up" path="signed-up" handler={SignedUp} />
    <DefaultRoute handler={Signup} />
  </Route>
Run Code Online (Sandbox Code Playgroud)

在第一页上,当用户输入电子邮件地址并单击按钮时,我会激活POST AJAX以在我的后端数据库中保存电子邮件地址(使用Axios软件包),当它完成后,我将转到"已注册"路由.

  handleSubmit() {
    var router = this.context.router;
    var email  = this.refs.email.getDOMNode().value;
    this.refs.email.getDOMNode().value = '';

    helpers.postSignupEmail(email).then((response) => {
      // then display the signed up page
      router.transitionTo("signed-up");
    });
  }
Run Code Online (Sandbox Code Playgroud)

现在,当我第一次输入我的页面的URL时

http://localhost:1338
Run Code Online (Sandbox Code Playgroud)

浏览器(Chrome,FireFox,Safari)似乎都将URL更改为

http://localhost:1338/#/
Run Code Online (Sandbox Code Playgroud)

很公平.在FireFox中,我输入一封电子邮件,然后点击提交按钮,一切正常并带我去

http://localhost:1338/#/signed-up
Run Code Online (Sandbox Code Playgroud)

但是,现在在Chrome上,当我点击提交时,它不会更改路线.实际上,在开发者控制台上,我看到了一个错误.

在此输入图像描述

首先,为什么"帖子"请求被取消了?其次,当发生这种情况时,Chrome无响应.所以我刷新了页面,然后我得到了Chrome的"海军死亡屏幕".

在此输入图像描述

现在,有趣的是,如果我将初始URL更改为

http://localhost:1338/?#/
Run Code Online (Sandbox Code Playgroud)

(在哈希前插入问号),然后Chrome上的工作正常.所以,它让我想知道它与我的路径路径或参数有关.

有任何想法吗?

javascript reactjs axios

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

拼图..解决数组X中值的乘积

能帮我解决这个问题吗?

你有一个n个整数的无序数组X. 找到包含n个元素的数组M,其中Mi是X中除Xi之外的所有整数的乘积.你可能不会使用除法.你可以使用额外的内存.(提示:有比O(n ^ 2)快的解决方案.)

基本的 - O(n ^ 2)和一个使用除法很容易.但我无法得到比O(n ^ 2)更快的另一种解决方案.

puzzle algorithm

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

Golang - 通过Upstart运行时找不到命令"go"

我正在尝试通过我的ubuntu上的"upstart"运行go命令.

我的新贵脚本是

script
  go run /home/myhome/gocode/src/program/hello.go
end script
Run Code Online (Sandbox Code Playgroud)

它不起作用,我检查了日志文件,它说

/bin/sh: 1: /bin/sh: go: not found
Run Code Online (Sandbox Code Playgroud)

我可以使用任何用户名在命令行上运行"go".我该如何解决?

ubuntu go

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

使用Coffeescript和CodeKit在不同的文件中设置Backbone应用程序

我通过CodeKit工具将Backbone.js与Coffeescript一起使用.

到目前为止,我已将所有内容都包含在一个文件中.但我想开始分离它们.在进入AMD和require.js之前,我想尝试一些简单的事情.

例如,我想遵循建议的内容

Backbone.js:将视图,集合,模型分离到不同的js文件,它们无法识别对方

而且由于我使用的CodeKit有一个"附加"(或导入)其他人引用的JS文件的选项,我认为这样可以很好地将所有内容都放在一个文件中.

所以这就是我想要实现的目标.

  • 一个单独的文件"View.coffee"中的View文件
  • 一个单独的文件"App.coffee"中的路径文件

并通过CodeKit将所有内容编译到App.js中,将视图文件"导入"到App.coffee中.

在我看来,我有以下内容

$ ->

  class View extends Backbone.View

    el:"#view"

    initialize: =>
      console.log app
Run Code Online (Sandbox Code Playgroud)

在我的控制器中我有

$ ->

  class App extends Backbone.Router

    view : new View

    routes:
      "" : "home"

    search: =>
      console.log "hi"

  app = new App
  Backbone.history.start() 
Run Code Online (Sandbox Code Playgroud)

现在在我的CodeKit中,我将"View.coffee"导入"App.coffee",以便将它们编译成单个文件.

当我运行它时,我得到"视图"没有定义.

现在,我在这里尝试了各种组合.例如,我尝试使用"window.View"和"window.App"将它们分配到全局名称空间,但这并不成功.我可以这样做,以便App可以阅读View,但我无法让View阅读App.

设置它的最佳方法是什么?或者我做得对吗?还附加了最终的JS输出.

// Generated by CoffeeScript 1.3.1
(function() {
  var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
    __hasProp = {}.hasOwnProperty,
    __extends = function(child, parent) { for (var key in …
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript backbone.js

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