小编mba*_*hau的帖子

具有导出字段的私有类型

在go教程的第2天,有这个练习:

为什么拥有导出字段的私有类型可能有用?

例如:

package geometry

type point struct {
    X, Y int;
    name string;
}
Run Code Online (Sandbox Code Playgroud)

请注意,它point是小写的,因此不会导出,而字段X和Y是大写的,因此是.在我看来,为了能够访问其中一个导出的字段,您必须能够编写类似的内容.

p.X
Run Code Online (Sandbox Code Playgroud)

但为了使这成为可能,p必须有这样的声明:

var p geomitry.point;
Run Code Online (Sandbox Code Playgroud)

要么

p := new(geomitry.point);
Run Code Online (Sandbox Code Playgroud)

但这是不可能的(afaik),因为不会导出点的类型声明.

go

13
推荐指数
3
解决办法
4183
查看次数

功能实现界面

我想知道这里发生了什么.

有一个http处理程序的接口:

type Handler interface {
    ServeHTTP(*Conn, *Request)
}
Run Code Online (Sandbox Code Playgroud)

这个实现我想我明白了.

type Counter int

func (ctr *Counter) ServeHTTP(c *http.Conn, req *http.Request) {
    fmt.Fprintf(c, "counter = %d\n", ctr);
    ctr++;
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,"Counter"类型实现了接口,因为它有一个具有所需签名的方法.到现在为止还挺好.然后给出了这个例子:

func notFound(c *Conn, req *Request) {
    c.SetHeader("Content-Type", "text/plain;", "charset=utf-8");
    c.WriteHeader(StatusNotFound);
    c.WriteString("404 page not found\n");
}

// Now we define a type to implement ServeHTTP:
type HandlerFunc func(*Conn, *Request)
func (f HandlerFunc) ServeHTTP(c *Conn, req *Request) {
    f(c, req) // the receiver's a func; call it
}
// Convert function to attach …
Run Code Online (Sandbox Code Playgroud)

go

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

在Django模型字段中存储二进制哈希值

我有一个20字节的十六进制哈希,我想存储在django模型中.如果我使用文本字段,它将被解释为unicode并且它会返回乱码.

目前我正在编码并对其进行解码,这真的使代码混乱,因为我必须能够通过它进行过滤.

def get_changeset(self):
    return bin(self._changeset)

def set_changeset(self, value):
    self._changeset = hex(value)

changeset = property(get_changeset, set_changeset)
Run Code Online (Sandbox Code Playgroud)

这是一个过滤的例子

Change.objects.get(_changeset=hex(ctx.node()))
Run Code Online (Sandbox Code Playgroud)

这是django开发人员推荐的方法,但我真的很难接受这样一个事实,就是存储20个字节就是这个丑陋的事实.

也许我太过纯粹主义者了,但理想情况下我能够写作

Change.objects.get(changeset=ctx.node())
Run Code Online (Sandbox Code Playgroud)

这些属性允许我写:

change.changeset = ctx.node()
Run Code Online (Sandbox Code Playgroud)

这就像我可以问的那样好.

python django encoding django-models binary-data

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

CoffeeScript风格指南

我一直在尝试尽可能地将PEP8应用于CoffeeScript.

您是否遵循其他编码约定?

coffeescript

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

点击TinyMCE 4.0上的活动

最近我尝试在我的Web应用程序中集成TinyMce 4.0.我想点击textarea时点击事件,但它不起作用.我查看了官方文档,我尝试了以下代码:

tinyMCE.init({
   ...
   setup : function(ed) {
      ed.onClick.add(function(ed, e) {
          console.debug('Editor was clicked: ' + e.target.nodeName);
      });
   }
Run Code Online (Sandbox Code Playgroud)

出现错误:"TypeError:ed.onClick未定义".

所以,我试图直接在iframe上放一个onclick事件,但这是一个失败:

$("iframe").contents().bind('click', function(){
...
});
Run Code Online (Sandbox Code Playgroud)

你有什么想法怎么做?

javascript jquery wysiwyg tinymce

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

如何检测跨域Iframe的可见性?

有些公司声称能够在不访问嵌入页面的情况下检测iframe的可见性.我找到的两个是spider.iocomscore,两者都说他们的技术正在申请专利.他们可能会这样做的任何想法?

iframe ads cross-domain

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