小编Ton*_*Han的帖子

如何在轴three.js上旋转3D对象?

我有一个很好的关于旋转的问题.我希望在我的一个游戏中旋转我的3D立方体.

//init
geometry = new THREE.CubeGeometry grid, grid, grid
material = new THREE.MeshLambertMaterial {color:0xFFFFFF * Math.random(), shading:THREE.FlatShading, overdraw:true, transparent: true, opacity:0.8}
for i in [1...@shape.length]
    othergeo = new THREE.Mesh new THREE.CubeGeometry(grid, grid, grid)
    othergeo.position.x = grid * @shape[i][0]
    othergeo.position.y = grid * @shape[i][1]
    THREE.GeometryUtils.merge geometry, othergeo
@mesh = new THREE.Mesh geometry, material

//rotate
@mesh.rotation.y += y * Math.PI / 180
@mesh.rotation.x += x * Math.PI / 180
@mesh.rotation.z += z * Math.PI / 180
Run Code Online (Sandbox Code Playgroud)

和(x,y,z)可以是(1,0,0)

然后立方体可以旋转,但问题是立方体在其自己的轴上旋转,因此在旋转后,它不能按预期旋转.

我找到页面如何围绕轴旋转Three.js Vector3?,但它只是让Vector3点围绕世界轴旋转? …

javascript coffeescript three.js

34
推荐指数
6
解决办法
11万
查看次数

Twitter Bootstrap的Tab插件中"data-api"的含义是什么?

有一段代码

/* TAB DATA-API
 * ============ */

 $(function () {
   $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
     e.preventDefault()
     $(this).tab('show')
   })
 })
Run Code Online (Sandbox Code Playgroud)

在文件Bootstrap - 选项卡 我不明白'click.tab.data-api''[data-toggle="tab"], [data-toggle="pill"]'

谁能为我解释一下?谢谢~~

javascript jquery twitter-bootstrap

11
推荐指数
2
解决办法
7879
查看次数

如何在jbuilder中渲染一次?

我想渲染一个像这样的jbuilder模板:

json.author do
  json.partial! 'user', user: @user
end
json.owner do
  json.partial! 'user', user: @user
end
Run Code Online (Sandbox Code Playgroud)

渲染一个部分两次似乎是浪费,我可以像这样渲染吗?

user_json = json.some_render_partial! 'user', user: @user
json.author { user_json }
json.owner { user_json }
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails jbuilder

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

在Elixir的结构中删除nil值的好方法是什么?

例如,我有一个结构

post = %Post{title: "Title", desc: nil}
Run Code Online (Sandbox Code Playgroud)

我想得到

%{title: "Title"}
Run Code Online (Sandbox Code Playgroud)

我的解决方案就像

post
  |> Map.delete(:__struct__) # change the struct to a Map
  |> Enum.filter(fn {_, v} -> v end)
  |> Enum.into(%{})
Run Code Online (Sandbox Code Playgroud)

它有效,但有更好的吗?

更新:

我觉得很烦人从Struct转换为Map,然后是Enum,然后再转换Map.有简洁的方法吗?

elixir

11
推荐指数
3
解决办法
8329
查看次数

我应该在控制器或模型中使用Ecto.Repo用于Elixir Phoenix吗?

对于Phoenix的控制器中的一些查询,我有两个计划

计划1:

defmodule Demo.UserController do
  # ...
  def index do
    # This is just for example
    # The point is Repo in used here
    Repo.all(User) 
  end
end
Run Code Online (Sandbox Code Playgroud)

计划2:

defmodule Demo.User do
  # ...
  def all do
    # Put all Repo API and building query logic in Model
    Repo.all(__MODULE__)
  end
end
Run Code Online (Sandbox Code Playgroud)

我更喜欢Plan 2.因为在大多数情况下,我可以把所有关于在Model中获取数据的逻辑放在一起.

但我发现官方指南使用计划1(docs/model)和Phoenix默认代码alias Repo在Controller而不是Model(web/web.ex)

哪一个更好?为什么?

elixir ecto phoenix-framework

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

如何在Ecto的迁移中运行更新?

我在我的一个项目中使用PhoenixEcto.

我想在一个表中添加一个列,我希望它是一个NOT NULL列.但是我已经有了一些已存在的数据,所以我决定添加列,将所有行更新为某个值并将列修改为NOT NULL.

我尝试了这两个代码:

  # solution 1
  def up do
    alter table(:channels) do
      add :type, :integer
      Exchat.Repo.update_all("channels", set: [type: 1])
      modify :type, :integer, null: false
    end
  end

  # solution 2
  def up do
    alter table(:channels) do
      add :type, :integer
    end
    Exchat.Repo.update_all("channels", set: [type: 1])
    alter table(:channels) do
      modify :type, :integer, null: false
    end
  end
Run Code Online (Sandbox Code Playgroud)

他们两个都没有工作,我得到的错误如下:

23::40::07.514 [info]  == Running Exchat.Repo.Migrations.AddTypeToChannels.up/0 forward

23::40::07.541 [debug] UPDATE "channels" AS c0 SET "type" = $1 …
Run Code Online (Sandbox Code Playgroud)

elixir ecto phoenix-framework

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

为什么Erlang中的变量设计为以大写字母开头?

我是Erlang的新手,只是想知道为什么变量的设计以大写字母开头,这与其他语言的大写字母有很大的不同?

也许是因为那是不可改变的?

erlang

7
推荐指数
2
解决办法
629
查看次数

如何在使用带有iex -S mix phoenix.server的webpack时摆脱^ H?

我用webpack和凤凰.^H当我iex -S mix phoenix.server用来启动服务器时会输出很多.像这样

iex(1)> ^H^H^H^H^H^H^H^H^H^H^H^H  0% compile
^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H 10% 
0/1 build modules^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H 70% 
1/1 build modules^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H 40% 
1/2 build modules^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H 30% 
1/3 build modules[bootstrap-sass-loader]: styleLoader: style-loader!
css-loader!sass-loader
...
Run Code Online (Sandbox Code Playgroud)

有什么问题?以及如何解决?

elixir webpack phoenix-framework

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

psql错误:关系已经存在

我正在使用postgres编写一个rails项目,服务器中有一些数据.我想把数据从远端转储到本地,所以我写脚本来做,但是出现了一些错误.

这是转储脚本:

run "PGPASSWORD='#{remote_settings['password']}' 
pg_dump -U #{remote_settings["username"]} #{"-h '#{remote_settings["host"]}'" 
if remote_settings["host"]} 
'#{remote_settings["database"]}' > #{remote_sql_file_path}"
Run Code Online (Sandbox Code Playgroud)

有一些代码要运输..

Transport codes
Run Code Online (Sandbox Code Playgroud)

这是恢复脚本:

run_locally "PGPASSWORD='#{local_settings['password']}' psql -U 
#{local_settings["username"]} -d #{local_settings["database"]} 
-f #{local_sql_file_path}"
Run Code Online (Sandbox Code Playgroud)

我成功获取了数据文件,但是当运行**restore脚本时出现了一些错误*:

psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:46: ERROR:  relation        "refinery_images" already exists
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:49: ERROR:  role "ib5k" does not exist
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:60: ERROR:  relation "refinery_images_id_seq" already exists
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:63: ERROR:  role "ib5k" does not exist
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:83: ERROR:  relation "refinery_page_part_translations" already exists
psql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:86: ERROR:  role "ib5k" does not exist
...
sql:tmp/production-ib5k_production-2013-02-21_18:42:09.sql:525: ERROR:  duplicate key  value violates unique constraint …
Run Code Online (Sandbox Code Playgroud)

postgresql capistrano ruby-on-rails

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

我杀死它后,该过程会自动再次出现

我尝试用终止进程sudo kill 30602。但是在我杀死它之后,我使用它ps aux | grep gmond进行检查,并再次显示另一个pid,就像:

ganglia  30997  0.0  0.1 121812  2128 ?        Ssl  16:05   0:00 /usr/sbin/gmond --pid-file=/var/run/ganglia-monitor.pid
Run Code Online (Sandbox Code Playgroud)

无论我如何杀死它,它都会再次显示另一个pid,即使使用kill -9

有什么问题?以及如何解决呢?

linux ubuntu kill process inittab

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