小编Mar*_*ois的帖子

CSS:如何在"div"中垂直对齐"label"和"input"?

请考虑以下代码:

HTML:

<div>
    <label for='name'>Name:</label>
    <input type='text' id='name' />
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

div {
    height: 50px;
    border: 1px solid blue;
}
Run Code Online (Sandbox Code Playgroud)

什么是把最简单的方法labelinput在的中间div(垂直)?

html css vertical-alignment

80
推荐指数
5
解决办法
26万
查看次数

如何使用泛型访问结构体字段(类型 T 没有字段或方法)?

我想让下面的代码编译。通过阅读类型参数提案(Go Generics),我的理解是这应该可行,但我一定错过了一些东西。

package main

import "fmt"

func main() {
    s := Struct{A: "Hello World!"}
    PrintA(s)
}

func PrintA[T Type](v T) {
    fmt.Printf("%s\n", v.A)
}

type Type interface {
    struct{ A string }
}

type Struct struct {
    A string
}

func (s Struct) String() string {
    return s.A
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

./prog.go:7:8:Struct 未实现 Type(约束 Type 中的 struct{A string} 可能缺少 ~)
./prog.go:11:23:vA 未定义(类型 T 没有字段或方法 A )

我想T用特定类型的特定字段来表示所有结构。添加~没有帮助。

以下是已实施的提案中的一个示例,它是最新 Go beta 版本的一部分。

type structField interface {
    struct { …
Run Code Online (Sandbox Code Playgroud)

generics field go

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

连接到数据库时,Laravel应用程序非常慢

注意:现在我知道问题的来源,我修改了问题.它现在只包含所需的信息.

我是Laravel PHP框架的新手.

我的计算机上有一个非常小的应用程序.它连接到MySQL数据库并具有用户模型.我使用Auth类登录和注销.

一切正常,但是当我登录时,加载页面大约需要一秒钟,这非常慢.当我没有登录时,这只是几毫秒.

通过使用内置的分析器,我意识到了两个问题.首先,就像我说的,加载页面需要超过1000毫秒.其次,每次我登录时,框架都会生成一个SQL.查询会搜索具有特定ID(我的id)的用户.我想这是获取有关登录用户的信息.但是不应该有某种缓存.如果我的网站每秒必须管理很多请求,这会成为一个问题.

我意识到Auth::check()在视图中使用是导致问题的原因.我有4个左右Auth::check()是我的Blade视图.当我没有时,它会很快.如果我有一个,它很慢.然后,无论我有多少,它都不会慢得多.这就像Auth类的初始化需要花费太多时间或类似的东西.我想它解释了为什么它只在我登录时发生.

我深入研究了Laravel的代码,我发现当Auth::check()第一次调用时,Auth类需要通过从数据库中检索用户的信息来"激活"我的Session.这解释了每个页面请求正在执行的查询.但是,由于分析器说查询甚至不需要一毫秒来执行,我仍然不知道为什么它会减慢应用程序的速度.

新信息:即使我没有向数据库发送查询,连接到它的简单操作也需要几秒钟.这就是它变慢的原因.我想我已经非常接近解决问题了.

任何想法到目前为止?

提前致谢.

笔记

  • Auth::check()视图中的事实不会改变任何东西.
  • 使用其他方法Auth::guest()并不能解决问题.
  • 新增功能:连接到数据库的速度很慢.

php laravel

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

为什么Doctrine说它无法找到PDO驱动程序?

我今天尝试了Symfony 2,并尝试使用Doctrine.

但是当我php app/console doctrine:schema:create在命令行中使用该命令时,它会返回以下错误:

[PDOException]
could not find driver

doctrine:schema:create [--dump-sql] [--em[="..."]]
Run Code Online (Sandbox Code Playgroud)

我的php.ini文件和phpinfo()清晰显示PDO驱动程序已加载.我还在纯PHP中创建了一个小脚本,使用PDO连接到我的数据库,它工作正常.没有错误,所以PDO安装良好并且正常工作.

PHP和MySQL使用最新版本的EasyPHP在我的计算机上运行.

Doctrine可能出了什么问题?我现在应该在哪里看?

php doctrine symfony1

14
推荐指数
3
解决办法
4万
查看次数

Ember Data有重复记录

在我的应用程序中,用户可以创建消息并发送它.当用户发送消息时,将创建消息,createRecord如果成功,服务器将回复201 Created.

此外,用户可以通过websocket从其他用户获取消息.当它收到一条消息时,我将它推入商店pushPayload.

var parsedData = JSON.parse(data);
this.store.pushPayload('message', parsedData);
Run Code Online (Sandbox Code Playgroud)

问题是,当用户发送消息并保存消息时,他们也会从websocket中获取消息,即使两个对象具有相同的ID,商店也会收到重复的消息.

我怎么能告诉商店,而不是当我推送或保存具有相同ID的现有元素的东西时,它应该覆盖它?

ember.js ember-data

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

来自Play 1.2的@Before和@After的Play 2.0等价物是什么?

当我使用Play 1.2时,我能够使用@Before或@After(和其他...)在任何控制器内部注释一些方法,以便在此控制器内的每个请求之前或之后执行一个方法.

我怎么能在Play 2.0中这样做?

我读了一下Global对象,但它似乎并不是我想要的.此外,动作构图似乎对我想做的事情太复杂了.我希望看到更简单的东西.

有任何想法吗?

playframework-2.0

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

错误"断言失败:在尝试规范化和推送时,在调用"push` /`update`时期望对象为`data`

在我的Ember应用程序中,我收到来自websocket的通知.当websocket收到一条消息(编码为JSON)时,我想将它推入商店.

到目前为止,这是我的代码:

console.log('About to normalize', data);
var normalizedData = this.store.normalize('message', data);
console.log('About to push', normalizedData);
this.store.push('message', normalizedData);
Run Code Online (Sandbox Code Playgroud)

data和normalizedData最终是完全相同的值,如下所示:

{"message":{"id":1,"chatroom":1,"player":1,"content":"A message"}}
Run Code Online (Sandbox Code Playgroud)

并调用push方法会引发此错误:

Error: Assertion Failed: Expected an object as `data` in a call to `push`/`update` for message ,
but was {"message":{"id":1,"chatroom":1,"player":1,"content":"31232132113"}}
Run Code Online (Sandbox Code Playgroud)

我不知道出了什么问题.当Ember从服务器获取特定消息时,它会收到相同类型的JSON,而Ember Data会很好地处理它.当它来自websocket并且需要被推动时,它会崩溃.

更新

我尝试使用pushPayload,就像在评论中提出的那样.它仍然无法正常工作.我收到这些消息:

"警告:在有效负载中遇到"0",但未找到型号名称为"0"的模型(使用arkipel @ serializer解析的型号名称:-rest:.typeForRoot("0"))"

"警告:在有效负载中遇到"0",但未找到型号名称为"1"的模型(使用arkipel @ serializer解析的型号名称:-rest:.typeForRoot("1"))"

"警告:在有效负载中遇到"0",但未找到型号名称为"2"的模型(使用arkipel @ serializer解析的型号名称:-rest:.typeForRoot("2"))"

它上升到67,然后继续使用像fmt,camelize,htmlSafe这样的词......我只是数据只是一个表示JSON的字符串.

ember.js ember-data

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

如何在Play中的YAML文件中定义Map!框架?

我正在使用Play!框架和我有一个模型(一个实体),它有一个类型为Map的变量.

为了进行一些测试,我每次启动应用程序时都会加载一个YAML文件,但我不知道定义Map的语法.

假设我有这门课

public class aClass {
    public int arg1;
    public String arg2;
    public Map<String, Integer> arg3;
}
Run Code Online (Sandbox Code Playgroud)

我的YAML文件会是什么样子?我试过这个:

aClass(object1)
    arg1:   34
    arg2:   aString
    arg3:   [key1: value1, key2: value2] <- What do I do here?
Run Code Online (Sandbox Code Playgroud)

这是我多次尝试之一.我不知道语法,我无法在互联网上找到它.我觉得玩!使用SnakeYAML作为YAML解析器.

在文档中我找到了一些例子,但没有一个能够奏效.

在我的应用程序中,除了Map变量(示例中的arg3)的大小为0元素外,一切正常.

谢谢.

java snakeyaml playframework

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

如何使用Ember CLI在Ember中进行依赖注入?

首先,我制作了一个没有Ember CLI的小型Ember应用程序.

我有这段代码.

window.MyApp = Ember.Application.create({
  ready: function() {
    this.register('session:current', MyApp.SessionController, { singleton: true });
    this.inject('controller', 'session', 'session:current');
  }
});
Run Code Online (Sandbox Code Playgroud)

这很有效.

然后我决定用Ember CLI从头开始重写所有内容.

我编辑了文件app/app.js并添加了ready钩子,就像我以前的版本一样.

var App = Ember.Application.extend({
  modulePrefix: config.modulePrefix,
  podModulePrefix: config.podModulePrefix,
  Resolver: Resolver,
  ready: function() {
    this.register('session:current', App.SessionController, { singleton: true });
    this.inject('controller', 'session', 'session:current');
  }
});
Run Code Online (Sandbox Code Playgroud)

这不起作用.

会话控制器确实存在.那是文件的内容app/controllers/session.js

export default Ember.Controller.extend({
  isLoggedIn: false,
});
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是

TypeError: Attempting to register an unknown factory: `session:current`
Run Code Online (Sandbox Code Playgroud)

它出现在浏览器中.

我用google搜索了这条消息,但我在Ember CLI中找不到依赖注入.

任何的想法?

ember.js ember-cli

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

如何创建一个镜像另一个(发散)分支状态的提交?

我想进行提交并将其复制到我的存储库中的其他位置.

现在的情况:

A--B--C--D (branch1)
    \
     E--F (branch2)
Run Code Online (Sandbox Code Playgroud)

期望的情况:

A--B--C--D--F'(branch1)
    \
     E--F (branch2)
Run Code Online (Sandbox Code Playgroud)

F保留在存储库中非常重要.我不想重写历史,因为F可能是公开的.

表示F和F'的存储库(源代码)的状态应该完全相同.是的,引入的C和D可能会丢失.

希望重播E和F在D的顶部我已经调查cherry-pickrebase,但似乎他们删除原提交或干脆重播目标的顶部的变化.

git branch commit

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