首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏landv

    Go内嵌静态资源go-bindata的安装及使用

    下面就来看一些解决方案: go-bindata go-bindata 是目前我的程序 pugo 在用的嵌入静态资源的工具。它可以把静态文件嵌入到一个 go 文件中,并提供一些操作方法。 安装 go-bindata: go get -u github.com/jteeuwen/go-bindata/... 注意 go get 地址最后的三个点 ...。 使用命令工具 go-bindata ( pugo 的例子): go-bindata -o=app/asset/asset.go -pkg=asset source/... theme/... doc/ go-bindata 的第三方包 go-bindata-assetfs 实现了这个接口,支持 HTTP 访问静态文件目录的行为。 最后选择 go-bindata。但是 go-bindata 和 go.rice 都是将纯字符数据或 []byte 字符数据写入 go 文件,内容非常大。

    6.5K30发布于 2019-09-25
  • 来自专栏为了不折腾而去折腾的那些事

    深入浅出 Golang 资源嵌入方案:go-bindata

    目前项目中会用到的 go-bindata 的项目主要有四个,分别是: (1500+ stars)https://github.com/go-bindata/go-bindata (840+ stars) 在这几个仓库中,go-bindata/go-bindata 是知名度最高的版本,elazarl/go-bindata-assetfs 提供了原版软件不支持 net/http 使用的 FS 封装。 当然,开源社区中的软件发展经常是交错的,在 elazarl/go-bindata-assetfs 提供了 FS 封装不久,go-bindata/go-bindata 也提供了 -fs 参数,支持了将嵌入资源和 相比较原版以及go-bindata/go-bindata 代码,它的代码健壮程度更好,并且修正了社区用户对 go-bindata/go-bindata 反馈的一些问题,添加了一些社区用户期望的新功能。 mkdir basic-go-bindata && cd basic-go-bindata go mod init solution-embed 这里有一个小细节,因为 go-bindata/go-bindata

    1K00编辑于 2022-01-16
  • 来自专栏为了不折腾而去折腾的那些事

    深入浅出 Golang 资源嵌入方案:go-bindata

    目前项目中会用到的 go-bindata 的项目主要有四个,分别是: (1500+ stars)https://github.com/go-bindata/go-bindata (840+ stars) 在这几个仓库中,go-bindata/go-bindata 是知名度最高的版本,elazarl/go-bindata-assetfs 提供了原版软件不支持 net/http 使用的 FS 封装。 当然,开源社区中的软件发展经常是交错的,在 elazarl/go-bindata-assetfs 提供了 FS 封装不久,go-bindata/go-bindata 也提供了 -fs 参数,支持了将嵌入资源和 相比较原版以及go-bindata/go-bindata 代码,它的代码健壮程度更好,并且修正了社区用户对 go-bindata/go-bindata 反馈的一些问题,添加了一些社区用户期望的新功能。 mkdir basic-go-bindata && cd basic-go-bindata go mod init solution-embed 这里有一个小细节,因为 go-bindata/go-bindata

    1.3K10编辑于 2022-01-24
  • 来自专栏人人都是架构师

    Go每日一库之141:go-bindata(嵌入静态文件)

    安装工具 安装打包工具 go-bindata 到GOPATH/bin中 # ... @master 安装依赖 go-bindata只是把静态文件转化成 go 文件,在代码中读取这些静态文件需要使用go-bindata-assetfs go get -u github.com/elazarl /go-bindata-assetfs 使用 切换到项目路径下,这里一个 web 服务器为例,所有静态资源放在 www 目录下 执行go-bindata -o=data/data.go -pkg=data 文件中拿文件数据 如果只需要简单地读文件,可以不使用go-bindata-assetfs,因为go-bindata生成的 go 文件本身提供的一些方法返回文件的[]byte内容,可以根据需求自已去拿 每次静态文件改动的话在打包前记得重新执行go-bindata命令

    1.2K20编辑于 2023-09-30
  • 来自专栏CodingToDie

    Go | Go 语言打包静态文件以及如何与Gin一起使用Go-bindata

    使用 go-bindata-assetfs 进行打包 2. 安装 go-bindata-assetfs 3. 打包文件 4. 重新配置 5. 使用 使用 go-bindata --help 可以查看具体的使用方式 go-bindata --help Usage: go-bindata [options] <input directories> 使用 go-bindata-assetfs 进行打包 Serve embedded files from go-bindata with net/http. go-bindata-assetfs 实现了 安装 go-bindata-assetfs 这个需要和 go-bindata 一起安装,如果已经安装了 go-bindata 则不需要再次安装 go get github.com/go-bindata /jteeuwen/go-bindata https://github.com/elazarl/go-bindata-assetfs https://github.com/go-bindata/go-bindata

    4.4K30发布于 2020-08-27
  • 来自专栏FutureTester

    性能测试之C语言图片转码

    current &= (unsigned char)0x3F; base64[j++] = base64char[(int)current]; current = ( (unsigned char)(bindata ) ) & ( (unsigned char) 0x0F ); base64[j++] = base64char[(int)current]; current = ( (unsigned char)(bindata { base64[j++] = base64char[(int)current]; base64[j++] = '='; break; } current |= ( (unsigned char)(bindata 6) ) & ( (unsigned char) 0x03 ); base64[j++] = base64char[(int)current]; current = ( (unsigned char)bindata feof( f_image ) ) { bytes = fread( bindata, 1, 2049, f_image ); base64_encode( bindata, base64, bytes

    1.1K63编辑于 2021-12-12
  • 来自专栏twowinter

    LoRaServer 笔记 1.3 源码编译

    的安装 我们在 make build 时可能会遇到 缺少 go-bindata 的问题: # make build Generating static files internal/migrations /migrations.go:1: running "go-bindata": exec: "go-bindata": executable file not found in $PATH make: *** [statics] Error 1 go get -u github.com/jteeuwen/go-bindata/... 安装完了之后可能会找不到go-bindata,提示错误:“-bash: /usr/bin/go-bindata: No such file or directory”。 找到之后,在PATH里面追加go-bindata的路径。

    1.7K21发布于 2020-04-17
  • 来自专栏Go实战

    [Go小技巧] 教你如何将前端文件打包进Go程序,Cool!

    实现步骤如下: 下载两个Golang的第三方包 go get github.com/jteeuwen/go-bindata/... go get github.com/elazarl/go-bindata-assetfs 使用 “go install” 命令分别编译获得 go-bindata.exe 和 go-bindata-assetfs.exe 文件 执行 “go-bindata-assetfs.exe views /views目录下所有文件写入 bindata_assetfs.go 文件 bindata_assetfs.go文件中提供了名为 assetFS() 的函数,它返回包含了view文件内容的 http.Filesystem

    2.7K20发布于 2019-04-04
  • 来自专栏Eureka的技术时光轴

    base64变形c++代码

    [i++] = (unsigned char)((t >> 16) & 0xff); if (g > 1) bindata[i++] = (unsigned char)((t >> 8) & 0xff); if (g > 2) bindata[i++] = (unsigned char)(t & 0xff); y = t = 0; } } return i; } int __cdecl base64_encode(char *bindata, char *base64, int binlength) { int v3; // eax char [i] >> 2) & 0x3F); current = (bindata[i] << 4) & 0x30; if (i + 1 >= binlength) { v5 [i + 1] >> 4) | current); currenta = 4 * bindata[i + 1] & 0x3C; if (i + 2 >= binlength) {

    90920发布于 2019-07-24
  • 来自专栏人人都是架构师

    Go每日一库之142:esc(嵌入静态文件)

    与 go-bindata 类似,esc 同样提供了将静态文件转换为go源码并暴露了类似于http.FileSystem的API来读取数据的功能。 github.com/mjibson/esc 使用 https://github.com/mjibson/esc#example 对比: https://github.com/jteeuwen/go-bindata https://github.com/mjibson/esc https://github.com/rakyll/statik https://github.com/gobuffalo/packr go-bindata 、go.rice 和 esc 简单对比:https://studygolang.com/articles/5068 esc 没有 go-bindata 那样丰富的API,但会将嵌入的字节数据压缩,大大缩小了代码以及编译后的二进制程序体积

    67530编辑于 2023-09-30
  • 来自专栏golang云原生new

    gRPC-GateWay Swagger 实战

    third_party/swagger-ui 目录下 cp xx/dist/* my_grpcgateway/third_party/swagger-ui/ 安装必要的静态资源转换包 第一,先下载 go-bindata ,用处是 go-bindata 用来将 swagger-ui 的源码转为 GO 代码 go get -u github.com/jteeuwen/go-bindata/... 第二,下载 go-bindata-assetfs,用处是 go-bindata-assetfs 能够结合 net/http 标准库和 go-bindata 所生成 Swagger UI 的 Go 代码两者来供外部访问 ,也就是说 go-bindata-assetfs 可以对外提供文件服务,这样可以通过web访问swagger的 json 文件 go get -u github.com/elazarl/go-bindata-assetfs 在 my_grpcgateway 目录下新建 pkg 目录,并使用工具在 pkg 目录下新增 swagger-ui 涉及的代码 cd my_grpcgateway mkdir pkg go-bindata

    54440编辑于 2023-09-12
  • 来自专栏Rice嵌入式

    在RT-Thread的ART-PI平台,进行图片识别

    unsigned char current; for ( i = 0, j = 0 ; i < binlength ; i += 3 ) { current = (bindata unsigned char)0x3F; base64[j++] = base64char[(int)current]; current = ( (unsigned char)(bindata '; base64[j++] = '='; break; } current |= ( (unsigned char)(bindata char) 0x0F ); base64[j++] = base64char[(int)current]; current = ( (unsigned char)(bindata ]; base64[j++] = '='; break; } current |= ( (unsigned char)(bindata

    52820编辑于 2022-05-10
  • 来自专栏DB说

    MongoDB 如何查看文档的大小

    二进制的长度,需要通过$binarySize来实现 5.1 构造数据 db.images.insertMany([ { _id: 1, name: "cat.jpg", binary: new BinData (0, "OEJTfmD8twzaj/LPKLIVkA==")}, { _id: 2, name: "big_ben.jpg", binary: new BinData(0, "aGVsZmRqYWZqYmxhaGJsYXJnYWZkYXJlcTU1NDE1Z2FmZCBmZGFmZGE =")}, { _id: 3, name: "tea_set.jpg", binary: new BinData(0, "MyIRAFVEd2aImaq7zN3u/w==")}, { _id: 4, name: "concert.jpg", binary: new BinData(0, "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4 =")}, { _id: 5, name: "empty.jpg", binary: new BinData(0, "") } ]) 5.2 查询集合中所有文档binary字段的长度(byte)

    4.7K20编辑于 2022-08-23
  • 来自专栏崔哥的专栏

    php 使用 protobuf

    setSex(true); //$data = $person->serializeToString(); //file_put_contents('data.bin', $data); //反序列化 $bindata /data.bin'); $person = new Test\Person(); $person->mergeFromString($bindata); echo $person->getName() '; include 'GPBMetadata/Person.php'; include 'Test/Item.php'; include 'Test/Item/Obj.php'; //反序列化 $bindata /data.bin'); $person = new Test\Item(); $person->mergeFromString($bindata); echo $person->serializeToJsonString

    1.2K30编辑于 2022-05-24
  • 来自专栏kayden

    一文了解文件上传漏洞

    $this->binData = $filename; } $this->size = strlen($this->binData); } } public function skip($skip) { $this->binData = substr($this->binData, $skip); , 0, 1); $this->binData = substr($this->binData, 1); return ord($byte); ->binData = substr($this->binData, 2); if($this->order) { $short = (ord($ $this->binData||(strlen($this->binData) === 0); } } ?

    1.6K20编辑于 2022-09-30
  • 来自专栏shysh95

    MongoDB Document

    对于_id字段通常会有以下建议: 使用ObjectId 如果可以,可以使用数据中唯一的字段来充当_id,这样可以节省存储空间和避免额外的索引 使用自增长的数字 如果使用UUID,可以将UUID转换为BinData 进行存储,对于BinData类型的数据,如果BinData的子类型值在0-7或128-135并且字节数组的长度是0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20 类型都有其对应的数字和字符串表示,如下: 通过$type字段我们可以查出字段为某个类型的Document,如下: db.products.find({_id: {$type: 7}}) Binary Data binData 从小到大依次为: MinKey (internal type) Null Numbers (ints, longs, doubles, decimals) Symbol, String Object Array BinData BinData 首先比较数据的长度 其次再比较其subtype 最后才是逐字节比较数据 BinData的sub type主要有以下类型: MongoDB Extended JSON JSON是BSON的一个子集

    1.3K10编辑于 2024-06-03
  • 来自专栏开源部署

    MongoDB 4.0 Sharded Cluster部署

    clusterTime" : Timestamp(1534816254, 1), "signature" : { "hash" : BinData clusterTime" : Timestamp(1534816364, 1), "signature" : { "hash" : BinData clusterTime" : Timestamp(1534818896, 1), "signature" : { "hash" : BinData clusterTime" : Timestamp(1534818908, 2), "signature" : { "hash" : BinData clusterTime" : Timestamp(1534818928, 1), "signature" : { "hash" : BinData

    46121编辑于 2022-08-17
  • 来自专栏实战docker

    Kubernetes源码学习之一:下载和编译源码

    /vendor/github.com/jteeuwen/go-bindata/go-bindata +++ [0316 13:45:02] Building go targets for linux/amd64 kube-proxy mounter conversion-gen e2e_node.test genkubedocs genyaml go-bindata Removing test/e2e/generated/bindata.go .. kubectl命令对应的源码文件:$GOPATH/src/k8s.io/kubernetes/cmd/kubectl/ /vendor/github.com/jteeuwen/go-bindata/go-bindata +++ [0316 11:49:46] Building go targets for linux/amd64

    2.9K30发布于 2019-05-27
  • Go打包和部署:从编译到运行的全指南

    go-bindata/go-bindatagobuffalo/packrmarkbates/pkgerrakyll/statik使用go-bindata将数据文件转换成Go代码安装go-bindata: go get -u github.com/go-bindata/go-bindata/...将配置文件生成Go代码:go-bindata -o configs/config.go -pkg configs

    3.6K10编辑于 2024-06-06
  • 来自专栏sealyun

    教你把go rust wasm结合在一起装逼

    /test 42 | wasm打包到golang二进制中 这里我们用 github.com/go-bindata/go-bindata go get -u github.com/go-bindata/ go-bindata/... 把wasm生成一个add.go文件 go-bindata -o add.go add/target/wasm32-unknown-unknown/release/add.wasm 然后稍微改一行我们的golang

    1.9K10编辑于 2021-12-15
领券