小编gss*_*der的帖子

在Go中构建和引用我自己的本地包

我正在玩Google Go,我很开心(!),但是我遇到了包子系统的一些问题.

我在Mac OS X Lion上运行Go 1.0.1.我还构建了各种单个文件程序而没有问题(我还使用html/templates构建一个小的webapp而没有任何问题,它编译并运行没有任何错误).

我已经定义了一个"可重用"的包(even.go):

package even

func Even(i int) bool {
    return i % 2 == 0
}

func Odd(i int) bool {
    return i % 2 == 1
}
Run Code Online (Sandbox Code Playgroud)

和消费者计划(useeven.go):

package main

import (
    "./even"
    "fmt"
)

func main() {
    a := 5
    b := 6

    fmt.Printf("%d is even %v?\n", a, even.Even(a))
    fmt.Printf("%d is odd %v?\n", b, even.Odd(b))
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用编译"库"时

go build even.go
Run Code Online (Sandbox Code Playgroud)

我什么都没有......没有错误,没有消息......会发生什么?

我该怎么做?

compilation package go

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

涉及C.free()的C和Go互操作性问题

我有一个包含proc_name(pid,...)函数的Go函数lib_proc.h.

这是完整的C原型:


int proc_name(int pid, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
Run Code Online (Sandbox Code Playgroud)

可以在这里找到/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libproc.h(至少在我的系统上).

它遵循Go代码:


package goproc

    /*
    #include "libproc.h"

    int call_proc_name(int pid, char *name, int name_size) {
      return proc_name(pid, name, name_size);
    }
    */
    import "C"
    import "unsafe"
    import "strings"

    type DarwinProcess struct {
        Process
    }

    func (DarwinProcess) NameOf(pid int) string {
        name := C.CString(strings.Repeat("\x00", 1024))
        defer C.free(unsafe.Pointer(name))
        nameLen := C.call_proc_name(C.int(pid), name, C.int(1024))
        var result string

        if (nameLen > 0) {
            result = C.GoString(name); …
Run Code Online (Sandbox Code Playgroud)

c language-interoperability go

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

使用gorm映射现有的mysql数据库

我正在尝试使用GORM和Grails 2.0映射Joomla MySQL数据库(的一小部分).

我正在阅读一本关于论证的书(Grails)并在网上搜索技术文章,但我仍然需要一个很好的参考来将Groovy/Java类型映射到MySQL字段.

我从一张简单的桌子开始jos_bannerclient.

class BannerClient {
    String name
    String contact
    String email
    String notes
    String editor = ''

    static constraints = {
        name(blank:false)
        contact(nullable:true)
        email(nullable:true)
        notes(nullable:true)
        editor(nullable:true)
    }

    static mapping = {
        datasource 'joomla'
        table 'jos_bannerclient'
        id column:'cid', type:'int'
        notes column:'extrainfo', type:'text'
        version false
    }
}
Run Code Online (Sandbox Code Playgroud)

此时记录是在数据库中生成的,但如果我保存域,failOnError:true我会收到此错误:java.lang.IllegalArgumentException.

我在映射checked_out TINYINT字段时遇到了问题.GORM验证该字段的唯一方法是将其声明为Boolean,为什么它不起作用Byte

我对如何映射MySQL TIME字段也有一些疑问checked_out_time.

我还阅读了Hibernate文档的一些部分,但仍然没有获得完成此任务所需的知识!

有人可以帮忙吗?

mysql joomla grails map grails-orm

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

在C#中正确实现F#单元

这个问题是不是C#/ F#的兼容性在这一个.

我想知道实现像F#Unit这样的类型代替使用的正确方法void.

显然我会放弃这个结果,我不会将这种类型暴露给外界.

想知道一个空类是否可以冒充这个角色.

internal class Unit
{
}
Run Code Online (Sandbox Code Playgroud)

例如,在language-ext库中,作者使用了一个struct.

这个选择有什么好处吗?

c# f# functional-programming unit-type

8
推荐指数
2
解决办法
1388
查看次数

Visual Studio Code 使用的所有配置文件是什么?

据我所知,VS Code以格式处理用户工作区配置JSON。它.vscode工作目录(必要时)和用户主目录中创建另一个文件夹(例如用于存储市场扩展)。

我想知道是否还有其他地方。

例如,如果您在不使用“新建文件”按钮的情况下创建文件,例如从终端:

echo "dummy" >dummy.abc
Run Code Online (Sandbox Code Playgroud)

然后你在编辑器中打开它,你会被提示一个对话框,如下所示:

VS Code 市场对话框

如果你点击Don't Show Again...并在同一个目录或另一个目录中重复相同的实验,VS Code 会记住它(它不会第二次显示对话框)。

我知道这不是什么重要的事情...但我想知道它存储在哪里。

那么,VS Code 是否还有其他配置文件?

visual-studio-code vscode-settings

8
推荐指数
2
解决办法
6971
查看次数

ubuntu linux 上的虚拟 socat 串口和 c#

出于测试目的,我正在尝试编写一个简单的程序,该程序连接到使用 socat 创建的虚拟串行端口。

我使用以下命令创建串行端口:

socat -d -d PTY,b9600 PTY,link=ttyVS1,b9600
Run Code Online (Sandbox Code Playgroud)

得到这个输出:

2011/11/08 18:26:31 socat[32708] N PTY is /dev/pts/1
2011/11/08 18:26:31 socat[32708] N PTY is /dev/pts/2
2011/11/08 18:26:31 socat[32708] N starting data transfer loop with FDs [3,3] and [5,5]
Run Code Online (Sandbox Code Playgroud)

当我尝试以这种方式连接时:

System.IO.Ports.SerialPort _port;
_port = new SerialPort("/dev/pts/1", 9600);
_port.Open();
Run Code Online (Sandbox Code Playgroud)

我得到一个“文件名未知” System.IO.IOException

我是否缺少设置 DataBits、StopBits 或其他参数?如何发现 socat 设置的属性?或者这段代码有什么问题?

c# serial-port virtual-serial-port socat

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

asp.net mvc 3:使用图像管理模型的最佳方式

我正在尝试找到管理具有关联图像的模型的最佳方法.

我不知道是否更好地在数据存储中保存图像

class MyModel {
  ...
  public byte[] ImageData { get; set; }
  ...
}
Run Code Online (Sandbox Code Playgroud)

或保存Url并将图像上传到文件系统

class MyModel {
  ...
  public string ImageUrl { get; set; }
  ...
}
Run Code Online (Sandbox Code Playgroud)

关键是我想在创建或编辑模型记录时管理图像.

我不希望专用的模型/视图/控制器旨在将图像上传/保存到服务器.我想管理链接到db中特定实体的imaged.

此致,贾科莫

asp.net upload model image asp.net-mvc-3

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

找出"比率有零分母"的例外情况

作为学习Haskell过程中的个人练习,我试图将这个F#片段移植到随机艺术中.

我没有嵌入完整的源代码,没有膨胀这个问题,但可以作为要点.

该计划的一个重要部分是这种Expr类型:


data Expr =
    VariableX
  | VariableY
  | Constant
  | Sum Expr Expr
  | Product Expr Expr
  | Mod Expr Expr
  | Well Expr
  | Tent Expr
  | Sin Expr
  | Level Expr Expr Expr
  | Mix Expr Expr Expr
  deriving Show
Run Code Online (Sandbox Code Playgroud)

和两个功能:

  • gen :: Int -> IO Expr在给定多次迭代的情况下,随机生成树状结构

  • eval :: Expr -> IO (Point -> Rgb Double) 遍历树并终止生成绘图功能.

传递给gen 更高的数字是产生以下异常的概率:Ratio has zero …

debugging haskell

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

KQL(Azure 数据资源管理器)中按时间间隔对数据进行分组

我简化了 ADX 中的表格:

.create table trackedEvents (
    eventId:                 guid,
    eventType:               string,
    timestamp:               datetime,
    data1:                   string,
    data2:                   int,
    data3:                   real)
Run Code Online (Sandbox Code Playgroud)

我需要统计指定时间范围内以1小时为时间间隔分组的记录。

我可以在不分组的情况下做到这一点:

trackedEvents
| where eventType == 'pageEvent'
  and timestamp >= datetime('2021-05-18')
  and timestamp <= datetime('2021-05-19')
| summarize Count=count()
Run Code Online (Sandbox Code Playgroud)

我显然得到了一个标量结果。我想获得一个表格结果,其中包含按时间范围内每个小时分组的计数。

我对KQL还很陌生,因此我们将非常感谢您的帮助。

问候, 贾科莫 SS

azure kql azure-data-explorer

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

使用 AST 中的 c# 制作真正的解释器

我知道还有其他关于编译器/解释器技术的问题,以及像IronPython侏罗纪这样的非常好的代码可以学习。对我来说很清楚如何从源代码构建 AST(抽象语法树),编写一个顶级解析器(目前我更喜欢编写而不是使用代码生成工具)。

当用作解释器时,我试图研究的大多数来源使用 Reflection.Emit 等 API 即时编译程序。现在我想知道构建一个不编译为 .NET VM 源的真正解释器的最佳实践。

获得 AST 后如何执行代码?我应该使用解释器还是访问者设计模式?或者做一些不同的事情?什么是最好的或规范的方式?

我知道已经有这样问题,但如果可能的话,我喜欢更多信息,更具体地针对 .NET/C# 实现。

问候, 贾科莫

c# interpreter abstract-syntax-tree

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