小编bea*_*mit的帖子

从C调用Go函数

我正在尝试创建一个用Go程序编写的静态对象与C程序(比如内核模块或其他东西).

我已经找到了关于从Go调用C函数的文档,但是我没有找到关于如何走另一条道路的文档.我发现它是可能的,但很复杂.

这是我发现的:

关于C和Go之间回调的博客文章

Cgo文档

Golang邮件列表帖子

有任何人对此有经验吗?简而言之,我正在尝试创建一个完全用Go编写的PAM模块.

c shared-libraries dynamic-linking go

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

删除类时的CSS转换

我有一个用作设置页面的表单.修改表单元素时,它们将标记为unsaved并具有不同的边框颜色.保存表单时,通过使用另一种边框颜色将它们标记为已保存.

我想要的是,当表单保存时,边框将逐渐淡出.

订单将:

<input type='text' class='unsaved' /> Not saved yet, border is yellow
<input type='text' class='saved' />   Saved, so the border is green
<input type='text' class='' />        Fade out if coming from class saved
Run Code Online (Sandbox Code Playgroud)

如果我可以在saved删除类时将CSS3转换为触发,那么它可能会淡出,所有内容都会变得笨拙.目前,我必须手动设置动画(当然使用插件),但它看起来不稳定,我想将代码移动到CSS3,这样它会更顺畅.

我只需要在Chrome和Firefox 4+中使用它,但其他人会很好.

CSS:

这是相关的CSS:

.unsaved {
    border: 3px solid #FFA500;
    padding: 0;
}
.saved {
    border: 3px solid #0F0;
    padding: 0;
}
Run Code Online (Sandbox Code Playgroud)

我想在以下过渡(或类似的东西)工作:

border-color: rgba(0,0,0,0);
-webkit-transition: border-color .25s ease-in;  
-moz-transition: border-color .25s ease-in;  
-o-transition: border-color .25s ease-in;  
transition: border-color .25s ease-in; …
Run Code Online (Sandbox Code Playgroud)

css css3 css-transitions

72
推荐指数
3
解决办法
9万
查看次数

Nodejs- console.error vs util.debug

我注意到,node.js中既有console.errorutil.debug,以及console.logutil.log.

除了控制台之外是否有区别.*功能在它们采用的参数中更加强大?API表示他们分别写入stdout和stderr.

如果没有区别,我应该使用哪个以及为什么?

node.js

46
推荐指数
2
解决办法
3万
查看次数

在http请求中设置UserAgent

我正在尝试让我的Go应用程序将其指定为特定的UserAgent,但无法找到有关如何执行此操作的任何内容net/http.我正在创建一个http.Client,并使用它来发出Get请求client.Get().

有没有办法UserAgent在客户端设置,或者根本没有?

go http-headers

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

如何为Go程序添加暂停?

当我执行Go控制台程序时,它只在一秒内执行,我一直在谷歌,Go网站和Stackoverflow上查找.

import (
    "fmt"
)

func main() {
    fmt.Println()
}
Run Code Online (Sandbox Code Playgroud)

当我执行它时立即关闭.

编辑2实际上我希望程序永久保持暂停状态,直到用户按下按钮

go

31
推荐指数
3
解决办法
2万
查看次数

我怎样才能获得redis中的所有集合?

我知道KEYS命令,但只返回键(我猜的是所有类型为String的键),显然集合不被认为是键.

是否有获取数据库中所有集的命令?那么其他数据类型(哈希,列表,排序集)呢?

http://redis.io/topics/data-types

redis

21
推荐指数
2
解决办法
3万
查看次数

为什么不是C#的Math.Min/Max可变参数?

我需要找到3个值之间的最小值,我最终做了这样的事情:

Math.Min(Math.Min(val1, val2), val3)
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎有点傻,因为其他语言使用可变函数.我非常怀疑这是一个疏忽.

有什么理由说明简单的Min/Max函数不是变量的吗?是否有性能影响?有没有我没注意到的可变版本?

c# variadic-functions

21
推荐指数
2
解决办法
3230
查看次数

Go-复制结构体之间的所有常用字段

我有一个存储JSON的数据库,以及一个提供外部API的服务器,通过HTTP帖子,可以更改此数据库中的值.数据库由内部的不同进程使用,因此具有共同的命名方案.

客户看到的密钥是不同的,但是使用数据库中的密钥(有未公开的密钥)将1:1映射.例如:

这是在数据库中:

{ "bit_size": 8, "secret_key": false }
Run Code Online (Sandbox Code Playgroud)

这是呈现给客户:

{ "num_bits": 8 }
Run Code Online (Sandbox Code Playgroud)

API可以根据字段名称进行更改,但数据库始终具有一致的键.

我在结构中将字段命名为相同,并为json编码器指定了不同的标志:

type DB struct {
    NumBits int  `json:"bit_size"`
    Secret  bool `json:"secret_key"`
}
type User struct {
    NumBits int `json:"num_bits"`
}
Run Code Online (Sandbox Code Playgroud)

我正在使用encoding/jsonMarshal/Unmarshal.

reflect是正确的工具吗?是否有更简单的方法,因为所有键都相同?我在想某种memcpy(如果我保持用户字段的顺序相同).

reflection json go memcpy

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

Javascript-动态监控CPU /内存使用情况

我正在考虑使用WebGL和相关技术在JavaScript中编写游戏.我想让游戏尽可能智能,所以我正在研究监控CPU /内存使用情况.

例如:

  • 对于高CPU使用率,缩小图形或将计算卸载到服务器
  • 对于高内存使用,将数据卸载到服务器以进行存储(以及以后检索)

我想获取Chrome提供的数据Task Manager.我知道如何跟踪FPS,这可以带来一些灵活性,但我希望获得尽可能多的信息.主要用例是"低功耗"模式,在用户浏览论坛等时,尽可能少地利用CPU(笔记本电脑)或空闲模式.

我知道如何使用分析器,但我想从JavaScript访问这些工具.

这可能吗?如果没有,您知道是否已提议进行标准化吗?

我愿意接受扩展,只要可以从JavaScript查询,但如果存在本机功能,我想避免使用它.我正在尝试定位最近版本的Firefox和Chrome,但如果有人支持,我可以将自己限制在一个浏览器中.

javascript profiling

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

我可以拥有一个同名的库和二进制文件吗?

我正在构建一个库,但我也希望它可以作为一个独立的二进制文件使用.

例如,假设我正在构建Tar的实现.Tar通常用作命令,但也可以用作库.直观地说,我会做这样的事情:

src/
    tar/
        tar.go # belongs to package tar
        main.go # imports tar and provides a main function
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.从文档中,似乎"命令"应该具有与库不同的名称.根据此示例调整示例,我有以下目录结构:

src/
    tar/
        tar.go # belongs to package tar
    tarbin/
        main.go # imports tar and provides a main function
Run Code Online (Sandbox Code Playgroud)

然而,这将创建一个名为命令tarbin,而不是tar$GOPATH/bin.我发现的解决方法是做go build -o $GOPATH/bin/tar tar,但我觉得我做的事情非常糟糕.有没有更好的办法?

注意:我很清楚它tar包含在标准库中,我只是以它为例.

build go

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