2024年3月31日
title: Github高星开源游戏 - 基于浏览器 - 棋盘桌游 author: 知识铺 date: 2022-02-16 13:48:01+08:00 tags: [game] 3D Hartwing国际象棋套装 - 在HTML / CSS / JS中完成的3D国际象棋游戏。现在就开始玩吧! Android: Netrunner - 一款双人生活卡牌游戏(LCG),以反乌托邦的赛博朋克未来为背景,用Clojure和Clojuresc……
阅读全文
2024年3月31日
title: Github高星开源游戏 - 基于浏览器 - 第一人称射击 author: 知识铺 date: 2022-02-16 13:49:29+08:00 tags: [game] BananaBread - 将立方体2 / Sauerbraten 3D游戏引擎/第一人称射击游戏移植到Web,使用Emscripten将C++和OpenGL编译为JavaScript和WebGL。现在就开始玩吧! QuakeJS - QuakeJS是在Emscripten的帮……
阅读全文
2024年3月31日
title: GlideIM - Golang 实现的高性能的分布式 IM author: 知识铺 date: 2022-04-24 13:08:57+08:00 tags: [IM] GlideIM 是一款真正的完全开源, Golang 实现的高性能分布式 IM 服务, 有完整的安卓 APP 示例, JAVA SDK, Web 端示例, 持续更新迭代中. GlideIM 支持单实例, 分布式部署. 支持 WebSocket, TCP 两种连接协议, 内置 JSON, ProtoBuff 两种消息交换协议, 并支持添加其他协议, 消息加密等. 还实现了智能心跳保活机制……
阅读全文
2024年3月31日
本文由 简悦 SimpRead 转码, 原文地址 www.cnblogs.com 1、单元测试概述 1.1 什么是单元&单元测试 单元是应用的最小可测试部件,如函数和对象的方法 单元测试是软件开发中对最小单位进行正确性检验的测试工作 1.2 为什么进行单元测试 保证变更/重 目录 1、单元测试概述 1.1 什么是单元 & 单元测试 1.2 为什么进行单元测试 1.3 单元测试用……
阅读全文
2024年3月31日
title: Golang实践:Golang的 3 个陷阱 author: 知识铺 date: 2020-10-13 22:20:16+08:00 tags: [golang] 在过去的一年里,我们一直在开发一个复杂的半实时生产系统。我们决定和Golang一起写。我们在 Go 中几乎没有经验,所以正如你想象的那样,这不是一件小事。 快进一年:该系统在生产中运行,并成为CllimaCell产品的主要支柱之……
阅读全文
2024年3月31日
title: Golang实践:使用 Go + 第 2 部分创建 RESTful 服务 author: 知识铺 date: 2020-10-13 22:35:06+08:00 tags: [golang] 什么是 RESTful 服务? REST 是一种用于设计 Web 服务的体系结构方法。REST API 是围绕_资源_设计的,资源是客户端可以访问的任何类型的对象、数据或服务。资源具有标识符_,_它是唯一标识该资源的 URI。例如,特定客户订单的 URI 可能是: https://adventure-works.com/orders/1 客……
阅读全文
2024年3月31日
title: Golang实践:使用 Go+ 第 1 部分创建微服务 author: 知识铺 date: 2020-10-13 22:32:37+08:00 tags: [golang] 来自JavaScript的背景,我一直想学习一种静态类型的编程语言,今年早些时候,我拿起Golang后,阅读了有关语言的评论,Golang得到了谷歌的支持。哦, 当然, 流行的 Devops 工具, 如码头, 库伯内特, Terraform,……
阅读全文
2024年3月31日
title: Golang通过http.NewRequest实现模拟请求,添加请求头 author: 知识铺 date: 2021-09-22 16:42:05+08:00 tags: [go] Golang通过http.NewRequest实现模拟请求,添加请求头和请求参数 func DownloadString(remoteUrl string,queryValues url.Values) (body []byte,err error){ client := &http.Client{}; body = nil; uri,err := url.Parse(remoteUrl); if(err != nil){ return ; } if(queryValues != nil){ values := uri.Query(); if(values != nil){ for k,v := range values { queryValues[k] = v; } } uri.RawQuery = queryValues.Encode(); } reqest, err := http.NewRequest("GET",uri.String(),nil); reqest.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); reqest.Header.Add("Accept-Encoding", "gzip, deflate");……
阅读全文
2024年3月31日
title: Golang通过http.NewRequest实现模拟请求,添加请求头 author: 知识铺 date: 2021-09-22 16:45:45+08:00 tags: [go] Golang 通过 http.NewRequest 实现模拟请求,添加请求头和请求参数: func DownloadString(remoteUrl string,queryValues url.Values) (body []byte,err error){ client := &http.Client{}; body = nil; uri,err := url.Parse(remoteUrl); if(err != nil){ return ; } if(queryValues != nil){ values := uri.Query(); if(values != nil){ for k,v := range values { queryValues[k] = v; } } uri.RawQuery = queryValues.Encode(); } reqest, err := http.NewRequest("GET",uri.String(),nil); reqest.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); reqest.Header.Add("Accept-Encoding", "gzip, deflate"); reqest.Header.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"); reqest.Header.Add("Connection", "keep-alive"); reqest.Header.Add("Host", uri.Host); reqest.Header.Add("Referer", uri.String()); reqest.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"); response,……
阅读全文
2024年3月31日
title: Go基础系列:Go模块v2 和 Beyond author: 知识铺 date: 2020-11-01 11:10:05+08:00 tags: [go] 随着成功的项目的成熟和新的要求被添加,过去的功能和设计决策可能会停止意义。开发人员可能希望通过删除已弃用函数、重命名类型或将复杂包拆分为可管理部分来整合他们学到的经验教训。这些类型的更改需要下游用户努力将代码迁移到新的 API,因此……
阅读全文