服务计算
文章平均质量分 53
服务计算学习过程记录,心得体会与总结
STcyclone
这个作者很懒,什么都没留下…
展开
-
apiary的入门与使用
apiary.io是一个帮助设计API的网站,其可以实现以交互方式设计RESTful API,其是一个支持API Blueprint Markdown语法的所见即所得的编辑器。Apiary可以生成返回JSON有效数据的模拟服务器,这样节省了必须自己搭建模拟服务器的时间。使用Apiary也可以支持通过保持API First的方式,直到完成制定API的草稿阶段。首先打开apiary.io网站:可以通过github账号登录。之后新建一个名为"test"的API Blueprint,可以看到:上图左边的原创 2021-01-09 22:22:48 · 936 阅读 · 0 评论 -
Go语言执行内嵌Linux Shell命令
下面在一个文件夹内新建了一个属于main包的代码:package mainimport ( "fmt" "io/ioutil" "os/exec")func ExecCommand(strCommand string) string { cmd := exec.Command("/bin/bash", "-c", strCommand) stdout, _ := cmd.StdoutPipe() if err := cmd.Start(); err != nil { fmt.P原创 2021-01-09 22:00:14 · 2293 阅读 · 3 评论 -
Go语言连接mongoDB数据库
假设已经安装了mongodb服务器并运行了mongodb服务端(或有可以连接的mongodb服务端),这里不赘述mongodb的安装过程。go语言下使用mongodb步骤如下:下载mongodb连接驱动mgogo语言没有专门开发连接mongodb的库,不过第三方开发的库mgo可以连接mongodb,也得到了官方认可。命令行下输入:go get gopkg.in/mgo.v2下载的mongodb go语言驱动包会直接存储在GOPATH目录下。引入mgo包用下面的方式可以在go代码文件中引入mg原创 2021-01-09 18:37:37 · 1136 阅读 · 0 评论 -
Go语言访问C语言数据类型
Go语言访问C语言数据类型Go语言访问C语言的数据类型,只需要将C语言的代码用注释包围起来,之后紧跟一个import “C”。之后就可以通过C.{标识符}来获取C语言中的数据类型。可以通过类型转换将其转换到Go语言中的数据类型中。新创建一个文件夹,里面声明属于包main的文件test2.gopackage main/*#include <stdio.h>char ch = 'c';int num = 10101;double value = 3.1415;*/import原创 2021-01-08 23:32:37 · 423 阅读 · 0 评论 -
GO语言web开发的几种Mux库阅读
DefaultServeMux阅读上一部分源码阅读中最后有用到DefaultServeMux变量。该变量为ServeMux类型,可以查看到ServeMux结构的定义如下:type ServeMux struct { mu sync.RWMutex m map[string]muxEntry hosts bool }type muxEntry struct { explicit bool h Handler pattern原创 2021-01-08 19:58:57 · 670 阅读 · 0 评论 -
net/http 库 web 工作原理阅读
net/http 库 web 工作原理阅读现在阅读net/http 库,解释一些关键功能实现。相比其他许多语言搭建服务器程序,go语言搭建服务器程序非常方便,利用http包可以很方便地搭建web服务器。下面的代码就可以搭建一个最基本的web服务器:package mainimport ( "fmt" "net/http")func IndexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w原创 2021-01-08 20:55:47 · 368 阅读 · 0 评论 -
godoc安装与自动生成API文档
先使用命令go get golang.org/x/tools/cmd/godoc来安装godoc。该命令会访问官网下载godoc,有可能访问超时。为此,需要在Bash下设置如下的环境变量:export GOPROXY=https://goproxy.ioexport GO111MODULE=on这样就可以顺利安装godoc:然后在bash下运行命令go build golang.org/x/tools/cmd/godoc再运行godoc就可以在浏览器通过http://localhost:60原创 2021-01-08 19:10:45 · 660 阅读 · 0 评论 -
C/C++语言调用Go库
C/C++语言调用Go库编译go代码为动态库/静态库Go语言写的代码可以编译为动态库或静态库,之后C语言链接该动态库或静态库就可以调用Go语言写的代码。下面用ubuntu20.04下的操作方法来演示。新创建一个文件夹,编写一个属于main包的go语言代码文件a.go如下:package main; import "C" func main() {} //export Hellofunc Hello() string { return "Hello"} //export P原创 2021-01-08 18:33:51 · 4447 阅读 · 0 评论 -
Go语言调用C语言函数
/*#include <stdio.h> void say(){ printf("hello world\n");}*/import "C" func main() { /* 1.C语言的代码都需要利用单行注册或者多行注释注释起来 2.在C语言代码紧随其后的位置写上import "C" 3.就可以在go代码中通过C.函数名称 方式来访问C语言的函数 注意点: 1,C语言代码的注释和import "C"之间不写能任何其他的内容 2原创 2021-01-08 13:38:11 · 1944 阅读 · 3 评论 -
【服务计算】十一 Docker技术
【服务计算】十一 Docker技术概述实验内容操作系统环境准备实验过程安装docker运行第一个容器概述Docker是一种使用Linux内核功能的容器工具,如cgroups和命名空间,它能提供网络、文件和内存资源的隔离,而无需依靠一个完整的虚拟机。最近,Docker一直保持巨大的发展势头,并且应用在越来越多的行业中。Docker能够帮助我们创建一个固定的软件版本,它可以在任何地方运行,无论目的环境中有没有安装该软件(但是必须安装Docker)。例如,如果向Docker Hub(http://hub.原创 2020-12-28 22:41:47 · 252 阅读 · 0 评论 -
【服务计算】七 开发 web 服务程序
概述开发简单 web 服务程序 cloudgo,了解 web 服务器工作原理。任务目标熟悉 go 服务器工作原理。基于现有 web 库,编写一个简单 web 应用类似 cloudgo。使用 curl 工具访问 web 程序。对 web 执行压力测试。任务要求基本要求编程 web 服务程序 类似 cloudgo 应用。– 支持静态文件服务– 支持简单 js 访问– 提交表单,并输出一个表格(必须使用模板)使用 curl 测试,将测试结果写入 README.md。使用 ab 测原创 2020-11-23 23:23:12 · 386 阅读 · 0 评论 -
【服务计算】六 改进或扩展 RxGo 包
简介ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了,Rx的大部分语言库由ReactiveX这个组织负责维护,比较流行的有RxJava/RxJS/Rx.NET,社区网站是 reacti原创 2020-11-10 11:52:09 · 357 阅读 · 0 评论 -
【服务计算】五 程序包开发,复杂命令行支持
【服务计算】五 程序包开发,复杂命令行支持 或 Json格式序列化概述实验目的实验要求概述命令行实用程序并不是都象 cat、more、grep 是简单命令。go 项目管理程序,类似 java 项目管理 maven、Nodejs 项目管理程序 npm、git 命令行客户端、 docker 与 kubernetes 容器管理工具等等都是采用了较复杂的命令行。即一个实用程序同时支持多个子命令,每个子命令有各自独立的参数,命令之间可能存在共享的代码或逻辑,同时随着产品的发展,这些命令可能发生功能变化、添加新命令原创 2020-10-27 11:54:59 · 175 阅读 · 0 评论 -
【服务计算】一 安装 go 语言开发环境指南
【服务计算】一 安装 go 语言开发环境指南系统硬件与操作系统环境准备安装golang安装设置环境变量创建工作空间配置环境变量检查配置创建 hello world!创建源代码目录编辑代码运行安装必要的工具和插件安装 Git 客户端安装 go 的一些工具下载源代码到本地安装工具包安装运行 hello world安装与运行 go tour我的第一个包与测试实验中遇到的问题小结系统硬件与操作系统按照实验要求,以上面的环境为宿主机,使用虚拟机进行go语言开发环境的安装。环境准备安装虚拟机软件Virtua原创 2020-09-20 22:44:22 · 317 阅读 · 0 评论 -
【服务计算】四 程序包开发,读简单配置文件
【服务计算】四 程序包开发,读简单配置文件概述实验目的实验内容实验要求概述配置文件(Configuration File,CF)是一种文本文档,为计算机系统或程序配置参数和初始设置。传统的配置文件就是文本行,在 Unix 系统中随处可见,通常使用 .conf,.config,.cfg 作为后缀,并逐步形成了 key = value 的配置习惯。在 Windows 系统中添加了对 section 支持,通常用 .ini 作为后缀。面向对象语言的兴起,程序员需要直接将文本反序列化成内存对象作为配置,逐步提出原创 2020-10-20 11:42:50 · 262 阅读 · 0 评论 -
【服务计算】三 开发简单 CLI 程序
【服务计算】三 开发简单 CLI 程序概述操作系统环境准备概述CLI(Command Line Interface)实用程序是Linux下应用开发的基础。正确的编写命令行程序让应用与操作系统融为一体,通过shell或script使得应用获得最大的灵活性与开发效率。例如:Linux提供了cat、ls、copy等命令与操作系统交互;go语言提供一组实用程序完成从编码、编译、库管理、产品发布全过程支持;容器服务如docker、k8s提供了大量实用程序支撑云服务的开发、部署、监控、访问等管理任务;gi原创 2020-10-12 23:37:35 · 530 阅读 · 1 评论 -
【服务计算】二 《Learn Go with tests》“迭代”章节的练习和Go语言实现算法的TDD实践报告
【服务计算】二 《Learn Go with tests》“迭代”章节的练习和Go语言实现算法的TDD实践报告操作系统按照实验要求,结合自己的电脑设备与系统等条件,使用VirtualBox下Ubuntu 20.04系统完成实验。虚拟机相关设置与上一次实验相同。环境准备虚拟机下的实验环境与上一次实验的相同,不需要额外的配置。概念定义与理解TDD的概念TDD是测试驱动开发(Test-Driven Development)的缩写。原创 2020-10-05 00:09:02 · 464 阅读 · 1 评论