Go语言中文网 为您找到相关结果 1069

Jsoniter 0.9.8 发布: JSON 性能对标 Protobuf

Jsoniter 是一款快且灵活的 JSON 解析器,同时提供 Java 和 Go 两个版本。 最近发布的 0.9.8 版本对性能对标 Jackson 和 Protobuf 进行了详细的评测: https://github.com/json-itera... 。性能优化的原理会近期会发布于 infoq 中文站,尽请期待。 同时提供 PHP 一般的体验。在 PHP 里,你只需要记得 json_decode ,什么文档都可以解析。现在在 Java 里,你也可以这么做了。 Any any = Jsoniter.deserialize(input); // deserialize 返回 "Any",实际的解析是延迟在读取时才做的 any.get("items", '*', "name", 0); /...阅读全文

博文 2017-02-09 06:00:24 taowen

Golang对接Appsflyer

AppsFlyer:官方文档 我的代码: Appsflyer-go golang请求Appslfyer的接口 常量定义 const ( AppID = "com.your_appid" // 在AppsFlyer上的产品名称 AppsFlyerDevKey = "your_appsflyer_devkey" // AppsFlyer的devKey AppsFlyerUrlFormat = "https://api2.appsflyer.com/inappevent/%s" // Appslfyer事件的url AppsFlyerTimeFormat = "2006-01-02 15:04:05.000" // utc时间格式 ) Event,存储事件相关信息 type Event struc...阅读全文

博文 2019-06-04 21:32:38 GUIN蚂蚁

go结构体的学习和使用

package main //Go语言组合的思想很重,数据之间如果要传承 //需要将数组组合进来 //Go有指针的概念,但是并没有指针运算符 import ( "fmt" ) const ( ANIMAL_CAT = 0 ANIMAL_MOUSE = 1 ANIMAL_DOG = 2 ) //go语言的接口 type Animal interface { name() (string) setName(name string) setType(animalType int) getType()(int) } //猫 type Cat struct{ //名称 m_name string "名称_tag" //类型 m_type int "类型_tag" //种类 m_spec string ...阅读全文

博文 2016-10-30 16:00:02 davidsu33

seelog源码阅读【笔记】

最近被后台日志弄的很烦,看到有个项目简简单单,又能满足需要,顺便试下看看效果,做下记录。只是记录下一部分内容,就不全部读了,关于源码可以去https://github.com/xmge/seelog。 结构设计 // websocket客户端 type client struct { id string socket *websocket.Conn send chan []byte } // 客户端管理 type clientManager struct { clients map[*client]bool broadcast chan []byte register chan *client unregister chan *client } WebSocket 是 HTML5 开始提供的...阅读全文

LiteIDE X for Mac有哪些功能?LiteIDE X for Mac功能分享

LiteIDE X for Mac是Mac平台上的一款用于Go编程语言的专用和多平台IDE。是一个轻量级的开源跨平台 Go语言 IDE,是最早的面向Go语言的IDE之一。 LiteIDE X for Mac功能介绍1、核心功能系统环境管理MIME类型管理可配置编译命令支持文件搜索替换和恢复快速打开文件、符号和命令插件系统2、高级代码编辑器代码编辑支持 Go语言、Markdown 和 Golang Present快速代码导航工具语法高亮和配色方案代码完成代码折叠显示保存修订重读文件使用代码差异方式3、Go 语言支持Go 编译环境管理使用标准 Go 工具和 GOPATH 编译和测试自定义 GOPATH 支持 系统定义、IDE 定义和项目定义自定义项目编译配置Go 包浏览器Go 类视图和大纲Go ...阅读全文

博文 2019-06-10 17:32:47 小小木子a

图片服务器那些处理方案。

现在傻梦兽的服务器架构如下 image.png 看到这里你们会发现一个问题就是,安流量计费。只有两台主机是有宽带,其余都是内网通信。 如果文字传输的话,流量并不算大,可以这么处理。可是图片过多的时候,如果有资本的企业选择肯定是七牛云之类的服务,因为这里服务包含了(分布式、CDN、还有负载等一系列的功能),可是这类服务如果一不小心的话,超出流量那就只能喊爸爸了。 那么我们一般的小企业是如何处理这一个问题的呢?比如我现在的再搞一台固定宽带的服务器做图片服务,然后在第一个代理服务器nginx服务器中配置如下 location ^~ /upload { proxy_pass http://192.168.1.15; proxy_set_header Host $host; proxy_set_hea...阅读全文

博文 2019-12-11 06:32:42 傻梦兽

Go 每日一库之 carbon

简介 一线开发人员每天都要使用日期和时间相关的功能,各种定时器,活动时间处理等。标准库time使用起来不太灵活,特别是日期时间的创建和运算。carbon库是一个时间扩展库,基于 PHP 的carbon库编写。提供易于使用的接口。本文就来介绍一下这个库。 快速使用 第三方库需要先安装: $ go get github.com/uniplaces/carbon 后使用: package main import ( "fmt" "time" "github.com/uniplaces/carbon" ) func main() { fmt.Printf("Right now is %s\n", carbon.Now().DateTimeString()) today, _ := carbon.No...阅读全文

博文 2020-02-15 15:32:40 darjun

go语言有哪些好的debug方法?

作者:Davie 链接:https://www.zhihu.com/question/40980436/answer/655067839 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作为一门静态语言,支持调试是必须的。1、godebug godebug是一个跨平台的Go程序调试工具,传统的编译型语言调试器使用底层系统调用并读取二进制文件用于调试各类符号。使用起来很麻烦而且很难移植。godebug使用不同的方法,直接把源码作为目标程序,在每一行插入调试代码,然后编译并运行。 但是目前GDB做的并不好,使用起来有这样那样的问题。2、dlv 专业调试Go语言的一款工具。安装:go get -u http://github.com/derekparker/del...阅读全文

博文 2019-04-18 14:41:37 qfhanru

使用sublime打造go语言的开发环境

工欲善其事,必先利其器。作为一个码农,编辑器是我们每天用的最多的工具。那么怎么构建一个go语言环境的编辑器呢?因为习惯轻量的sublime,不太喜欢繁重的IDE,就将自己的sublime编辑器打造为适合go语言开发的IDE。sublime是一个高度定制化的编辑器,有强大的插件管理平台,并内置了宏操作和python语言进行插件开发,通过这些,可以打造出复合我们习惯的IDE工具。在这篇文章中,将基于现有插件平台的提供的插件,进行配置。 sublime安装 根据自己的系统选择安装sublime 下载地址 安装Package Control 按下快捷键ctrl+` 在底部的控制台中输入以下代码,并回车 import urllib.request,os; pf = 'Package Control.s...阅读全文

博文 2019-08-10 14:02:47 暮雨

Go-Notepad++

本文暂停Go语法,而转向编辑器Notepad++。——工欲善其事,必先利其器。 参考资料 notepad++支持go语言高亮与go语言插件 安装GOnpp插件 在Notepad++中,选择菜单:插件/Plugin –> Plugin Manager –> Show Plugin Manager 在弹出的Plugin Manager对话框中,单看Available页面,选择Gonpp并Install即可。 GOnpp 下图是选中GOnpp时的描述信息: GOnpp assists you writing Go-programms. It has code completion and function calltips (using gocode, see below) as well as ...阅读全文

博文 2016-10-15 16:00:06 u013344915

golang包time用法详解

在我们编程过程中,经常会用到与时间相关的各种务需求,下面来介绍 golang 中有关时间的一些基本用法,我们从 time 的几种 type 来开始介绍。 时间可分为时间点与时间段,golang 也不例外,提供了以下两种基础类型 时间点(Time) 时间段(Duration) 除此之外 golang 也提供了以下类型,做一些特定的业务 时区(Location) Ticker Timer(定时器) 我们将按以上顺序来介绍 time 包的使用。 时间点(Time) 我们使用的所有与时间相关的业务都是基于点而延伸的,两点组成一个时间段,大多数应用也都是围绕这些点与面去做逻辑处理。 初始化 go 针对不同的参数类型提供了以下初始化的方式 // func Now() Time fmt.Println(t...阅读全文

博文 2019-04-23 04:34:39 佛心看世界

96元购买一年景安快云服务器

96元购买一年景安快云服务器 原价960元一年 刚好 阿里云的活动结束了 景安就接上来了 需要的朋友们可以参加 新用户才可以96元购买 1核CPU 2G内存 1M宽带 50G SSD硬盘服务器 活动链接:https://www.zzidc.com:443/main/huodong/onCloudBuy?groomid=eTGdimieXwM%3D 活动对象是个人实名认证的新用户 新用户:是指账户内没有任何有效订单的个人用...阅读全文

1.golang从零搭建游戏服务器框架 之 实现最简单的回显服务器

写在前面的话 首先,我是一个golang语言的初学者, 这里纯粹是学习笔记,以便以后返回来查找,防止遗忘。文章内容来源于 刘丹兵老师的教程, 大家可以直接去看老师的视频来进行学习。 需求分析 搭建一个最基础的服务器框架,实现客户端向服务器发送一条数据,服务器将该数据返回到客户端 根据需求,对服务器进行如下的设计 图片.png 编码实施 首先,先建立我们的目录结构 在自己golang环境的src目录下 新建文件下 zinx,这是我们游戏框架的名称(沿用了视频中的名称), 然后,在zinx目录下新建ziface目录和znet目录。在ziface目录下新建IServer.go文件,这里写我们的服务器接口。在znet目录下新建server.go文件,在这里写IServer接口的具体实现。 1.首先编...阅读全文

博文 2020-02-20 09:32:44 孟安乐Aaron

如何设计一个微型分布式架构?

序言(初衷)设计该系统初衷是基于描绘业务(或机器集群)存储模型,分析代理缓存服务器磁盘存储与回源率的关系。系统意义是在腾讯云成本优化过程中,量化指导机房设备扩容。前半部分是介绍背景,对CDN缓存模型做一些理论思考。后半部分会实际操作搭建一个微型但是五脏俱全的分布式通用系统架构,最后赋予该系统一些跟背景相关的功能,解决成本优化中遇到的实际问题。缓存服务器存储模型架构(背景): 图1 存储模型腾讯CDN的线上路由是用户à分布于各地区各运营商的OC->SOC->SMid->源站。各个层级节点部署的都是缓存服务器。来自用户的部分请求流量命中服务器,另一部分产生回源流量。随着业务带宽自然增长,用户端带宽增长,假设业务回源率不变的情况下,磁盘缓存淘汰更新(淘汰)速率变快,表现为以下业务瓶颈(iowait...阅读全文

博文 2018-09-21 16:34:47 Java架构解析

Go 1.3 Beta1 发布,支持谷歌 NaCL、编译更快

2014年4月25日,Google发布了Go语言1.3 beta1版本。Go 1.3并没有引入新的语言功能,只是进行了一些功能改进,并解决了该语言中的一些bug和用户的反馈。 Go 1.3的主要改进如下: 显著改进了链接器和编译器,可以更快地编译程序,尤其是大型应用程序。 Go编译器生成二进制代码的性能得到了改善,内存占用更少,现在有一个更快、更高效的垃圾回收器,以及一个重写的正则表达式处理程序。 新增了4个支持平台:Oracle Solaris、Plan 9、FreeBSD、Google的NaCL(Native Client)。 不再支持Windows 2000 欢迎关注码术...阅读全文

博文 2015-06-17 23:08:09 codemanship

一个简单的 HTTP 服务器 (四) (go语言)

// http.go package main import ( "log" "net/http" "os" "os/signal" "time" ) func main() { quit := make(chan os.Signal) signal.Notify(quit, os.Interrupt) server := &http.Server{ Addr: ":8888", WriteTimeout: 2 * time.Second, } mux := http.NewServeMux() mux.Handle("/", &myHandler{}) mux.HandleFunc("/bye", sayBye) server.Handler = mux go func() { <-qui...阅读全文

博文 2017-04-23 14:00:30 痞子汤

Go 学习进程第一波

之前从同事口中了解了go语言,一直没有机会接触。之前了解过python,但是由于长时间没用,所以荒废了。现在准备着手学习go语言,不为精通,只为在遇到某些问题的时候能够有一套解决方案。 目前自己的技术栈: java(主) android(2年) nodejs(2年) php(已废) 前端框架,主easyui,extjs 移动端开发(sencha touch) 因为最近工作太忙了,几乎全部时间都在处理公司的问题,有点对不起自己,急需学习一些新的东西来充实。选择GO, go go go..... 今天主要是了解一下go语言的基本知识,包括语法和编辑器,熟悉并且运行成功“Hello World!”。之前用过sublime,所以决定使用sublime 3 来作为GO的开发工具。 软件下载:https...阅读全文

博文 2016-10-18 05:00:01 zyy258963

Golang WebAssembly 前端开发 - 1. Hello world.md

本文使用的环境: go1.11 linux/amd64 chrome 70.0.3538.67 Golang 源文件 main.go 如下: package main func main() { println("Hello, world!") } 在 Golang 源文件目录下,将 Golang 代码编译为 wasm 后缀的 WebAssembly 二进制文件,再将该文件复制到一个工作目录中: GOOS=js GOARCH=wasm go build -o go_main.wasm cp go_main.wasm /path/to/static 工作目录下的 HTML 源文件 go_index.html 如下: 阅读全文

博文 2018-12-29 23:34:45 Platanuses

nginx初学入门

因为前几天加班比较多,人也比较累,不怎么想学习新的知识,周三加班到周四凌晨1点多,周四晚上直接到周五4点钟才睡,上午还要去上班,结果项目线上小问题不断,搞的身心俱疲,副能量爆满!!!周末就想着好好放松下,所以今天来点简单的!nginx,其实自己接触nginx也比较长时间了,上家公司项目使用nginx主要作为的是静态资源服务器,毕竟nginx的性能在业界也是有目共睹的,但是自己并没有怎么学习过nginx,只是懂的一点点配置。这次之所以想起再来看nginx是因为前段时间自己想在自己的服务器上搞一个jet brains的服务器,方便自己使用,其中就用nginx作为反向代理服务器使用,结果呢,搞了半天也没成功,也不知道是哪方面原因。所以自己准备再研究一下,不然以后经常找IDE的破解码也挺麻烦(壕们请...阅读全文

新梦想干货——那些关于软件工程的“宗教”辩论

引言:开发者的世界里总是充斥着各种各样的争论,从编程语言、框架甚至到编辑器、Windows/iOS系统,都可以成为争得面红耳赤的“宗教战争”。本文作者针对软件开发行业的辩论进行了深入研究,探讨了这些辩论背后的本质,解释了他认为好的技术辩论应该是怎样的。“Python的速度不行。”“都9102年了,还有人不用Java虚拟机(Scala、Clojure)构建Web App吗?”“Mong是最好的数据库;SQL很差劲,SQL数据库扩展性不行。任何现代工程师都必须熟悉Mongo。”“Golang糟透了(因为没有泛型);谁用谁白痴。”在我刚刚成为软件工程师那会,最令我震惊的就是,同行们居然用“宗教战争”这样的字眼来形容工程层面的争议。有这么严重吗?干嘛那么大火气?带着好奇心,我希望弄清为什么工程技术辩...阅读全文

博文 2019-10-29 21:32:59 aside section._1OhGeD

http服务器header返回时间问题

![QQ20180127-120200@2x.png](https://static.studygolang.com/180127/8e4885b0e95e27feed0018ca91c0fa3d.png) 浏览器请求后response返回的Date是默认时区,并不是我所在地区的时区。 这个很奇怪,怎么解决呢? 我使用 `time.Now().String()` 输出的时间是对的。 代码如下: ``` package main import ( "net/http" "log" "encoding/json" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, ...阅读全文

Go 起步 安装开发环境

开始学习Go之前肯定是得先安装开发环境啦,本章将介绍下开发环境的安装 1. 下载Go安装包 下载地址:https://golang.org/dl/ 下载合适自己的版本就好,安装就略了,下一步下一步... 测试安装是否成功 C:\Users\xx>go version go version go1.11.2 windows/amd64 2. 环境变量配置 这里主要是配置GOPATH和GOROOT GOPATH为代码存放地址,默认为在用户家目录下,一般都需要改下 GOROOT为Go程序安装的路径 image.png 3. 下载Go Ide 选择一款合适的编辑器开发会事半功倍的,我这里推荐Goland 下载地址:https://www.jetbrains.com/go/ 4. 总结 Go的开发环境...阅读全文

博文 2018-11-26 09:34:39 进阶默示录

Go 方法(第二部分)

这篇文章介绍了关于 Go 语言中方法的剩余部分。强烈建议先阅读[第一部分](https://studygolang.com/articles/14061) 的介绍部分。 ## 方法表达式 如果有这样一个类型 T,它的方法集中包含方法 M,则 T.M 会生成一个与方法 M 几乎相同且带有签名的方法,这称为 *方法表达式*。不同之处在于,它额外附带的第一个参数与 M 的接收者类型相等。 ```go package main import ( "fmt" "reflect" ) func PrintFunction(val interface{}) { t := reflect.TypeOf(val) fmt.Printf("Is variadic: %v\n", t.IsVariadic()) ...阅读全文

Go语言社区系统mlog-club 1.0.5 发布,使用nuxt.js渲染界面

项目地址 体验地址:https://mlog.club Github:https://github.com/mlogclub/mlog 本次更新内容 前后端分离,使用nuxt.js ( https://nuxtjs.org/ ) 渲染界面,Golang仅提供数据支撑。 功能简介 多用户博客 轻论坛 站内消息 站内收藏 机器人搜集公众号文章 用户登录、注册,支持 Github 账号登录 技术栈 iris (https://github.com/kataras/iris) mvc 框架 gorm (http://gorm.io/) orm 框架 resty (https://github.com/go-resty/r... 好用的 http-client cron (https://github...阅读全文

博文 2019-08-09 08:32:41 大猫猫酱

使用 Go 编写 PostgreSQL 触发器 【已翻译100%】

怎样应用 PostgreSQL 函数和 Golang 中的触发器? PostgreSQL 中的触发器是一种简单却功能强大的机制,它能反应表(table)中所正在发生的变化。 下文描述了怎样在 Go 中编写 PostgreSQL 触发器。 POSTGRESQL函数和触发器 通过使用 CREATE FUNCTION SQL 语句,PostgreSQL 可以让你创建用户自定义函数。 函数本质上就是 PostgreSQL 怎样管理逻辑的用户自定义部分。 可以用多种语言编写函数 – 最常见的很可能就是 PL/pgSQL, 它即为编写“stored procedures”时所使用的函数。你也可以用其它语言编写,如 Python 和 Perl。 你也可以用 C 代码来编写它们。因此必须将 C 代码编译进一...阅读全文

博文 2017-06-06 12:32:35 AzureSora,AzureSoraTocy,TocyJaneTrans,JaneTrans总长,总长无若,无若s张利民zs张利民z

如何五分钟内在vs code中配置golang的开发环境

如何五分钟内在vs code中配置golang的开发环境​ 这一期呢,我们来谈一下如何在vs code中配置golang开发环境。当然,开发golang最好的工具,应该算是goland的。 如果你用过intellij,android studio, 对于goland的上手来说基本上没有任何障碍。但是美中不足的,这个工具是收费的,来自jetbrains。不过也还好,它有30天的试用。很多高手呢,直接用类似NOTEPAD这类编辑器写代码,这种都是神级人物,不在此文的涉及范围之内。我感觉思维正常的开发者还是要找好的工具,所谓工欲善其事,必先利其器嘛, 所以大部分开发者还是倾向于找一些免费的工具,vs code是其中的佼佼者。在最开始开发goland的时候,笔者在配置vs code的过程中遇到了一些...阅读全文

博文 2019-08-02 08:32:38 丁哥开讲

Go:gsignal,信号的掌控者

![Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.](https://raw.githubusercontent.com/studygolang/gctt-images2/master/20200309-Go-gsignal-Master-of-Signals/00.png) ℹ️ *本文基于 Go 1.13。* `signal` 包提供了信号处理器,让我们的 Go 程序可以与发送来的信号进行交互。在进入内部细节之前,我们先来了解下 listener。 ## 订阅 对信号的订阅是通过通道实现的。下面是一个监听所有中断信号和终端大小改...阅读全文

博文 2020-05-31 12:13:42 lxbwolf

3.Go by Example: Variables

Go by Example: Variables In Go, variables are explicitly declared and used by the compiler to e.g. check type-correctness of function calls. var declares 1 or more variables. You can declare multiple variables at once. Go will infer the type of initialized variables. Variables declared without a corresponding initialization are zero-valued. For exa...阅读全文

博文 2015-06-17 23:08:13 u013487968

go语言接口和方法集问题笔记

注意: 此文章只是我的个人笔记,如有谬误,错误, 请一定指出! package main import "fmt" //IA test for methodset. type IA interface { Value() Pointer() } //A is a test type. type A int //Value receiver. func (a A) Value() { fmt.Printf("Value:%p, %d\n", &a, a) } //Pointer receiver. func (a *A) Pointer() { fmt.Printf("Pointer:%p, %d\n", a, *a) } func main() { //type A method set: ...阅读全文

博文 2016-09-21 04:00:00 htyu_0203_39

记录一次windows server上,反向代理服务器的配置和使用

背景 我司的软件在一个客户处测试功能和性能,这个客户比较特殊: 他们客户端是很旧的java代码,且要求不能改动,客户端的主要业务简单说就是上传下载文件 他们提供了客户端demo,http请求是用裸socket手动加http头,写死了http1.1,但又不带'host'这个http header 客户要求中间必须经过一台windows server服务器代理 后端的实际服务器是linux系统,用的是nginx host header问题(此时先直连后端服务,不考虑代理) 最开始是请求直接返400,nginx access log可以看到400但是没有更多信息,error log则没有任何信息打印,一开始另一位同事负责定位,我跟着一起用wireshark抓包看了很久,没得出结论。后来我又看了一下...阅读全文

博文 2019-03-08 20:34:39 nifhlheimr

一个专家眼中的Go与Java垃圾回收算法大对比

导读:GC 是大部分现代语言内置的特性,本文作者针对 Go 语言声称的 10ms 以下的 GC 停顿进行了深入分析,还同 Java 的垃圾收集器做了对比。Go GC 是否已经足够成熟,请看高可用架构志愿者翻译的文章。我最近看过一堆宣传 Go 语言的最新垃圾收集器的文章。 其中一些文章来自 Go 项目本身。 他们声称 GC 技术发生了根本性的突破。以下是 2015 年 8 月新垃圾收集器的公告:Go 正在构建一个垃圾收集器(GC),不仅是为了了 2015 年,同时也为 2025 以及更远的未来…… stw 停顿不再是使用 Go 语言的障碍。在将来,应用程序随着硬件轻松地扩展,并且跟随硬件一起变得更加强大,GC 不会成为软件可扩展性的绊脚石。Go 团队不仅声称已经解决了 GC 暂停的问题,而且整...阅读全文

博文 2018-08-15 09:38:58 高可用架构

Komodo IDE 11 for Mac(IDE集成开发工具) v11.1.0(91033)激活版

实用的IDE集成开发工具哪里有?komodo ide 11 mac破解版可以在 Windows、Mac OS X 和 Linux 上运行,并支持通用的开源语言 —— Python、Perl、PHP 和 Ruby。代码智能引擎非常可靠。提供了所有语言的多线程和多进程服务,同时支持代码折叠、跟踪变化、智能语法检测以及快速书签等实用型功能。Komodo IDE 11 for Mac下载扫描所有语言安装找到定制扩展,比如 PEAR 模块。在项目方面,它支持与 CVS、Subversion 和 Perforce 的集成,也允许直接向服务器 FTP 传递代码。https://www.macdown.com/mac/3219.html Komodo IDE 11 for Mac下载破解教程1、Komodo...阅读全文

博文 2019-07-04 17:32:53 mac小小

云服务器 ECS弹性变配能力总览

摘要: 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,充分的助您降低 IT 成本,提升运维效率,使您更专注于自己核心业务创新。它的一个重要优势就是弹性计算,可以在数分钟内创建数千台的云服务器来应对您的业务压力,方便您根据自己的业务的需求从水平和垂直两个维度进行管理。 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,充分的助您降低 IT 成本,提升运维效率,使您更专注于自己核心业务创新。它的一个重要优势就是弹性计算,可以在数分钟内创建数千台的云服务器来应对您的业务压力,方便您根据自己的业务的需求从水平和垂直两个维度进行管理。 下面我们将着重介绍下目前云服务器的弹性能力,也许有您所不知道但是...阅读全文

阿里免费教你学习前端开发CSS基础

课程介绍 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 课程目标 • 掌握CSS开发技术 适合人群 • 前端开发者 课时列表 • 课时1:CSS基础 • 课时2:CSS选择器(上) • 课时3:CSS选择器(下) • 课时4:CSS属性_背景、颜色、边框 • 课时5:CSS属性_字体...阅读全文

关于go中map的使用问题

map[key] 可以获取到value的引用,但是这个引用如何记录呢? 比如我的value有100个成员变量 map[key].value1 = a map[key].value2 = b map[key].value3 = c ... 这样写下去不是要有100次检索的过程么.这不科学啊. point := &map[key] point .value1 = a point .value2 = b point .value3 = c ... 这样写不是更科学么.但是编译器提示我不支持&.请问我该怎么作呢...阅读全文

webSocket原理探索

本文概述 Web Sockets的目标是在一个单独的持久连接上提供全双工、双向通信。在Javascript创建了Web Socket之后,会有一个HTTP请求发送到浏览器以发起连接。在取得服务器响应后,建立的连接会将HTTP升级从HTTP协议交换为WebSocket协议。 由于WebSocket使用自定义的协议,所以URL模式也略有不同。未加密的连接不再是http://,而是ws://;加密的连接也不是https://,而是wss://。在使用WebSocket URL时,必须带着这个模式,因为将来还有可能支持其他的模式。 使用自定义协议而非HTTP协议的好处是,能够在客户端和服务器之间发送非常少量的数据,而不必担心HTTP那样字节级的开销。由于传递的数据包很小,所以WebSocket非常适...阅读全文

Protobuf编码指南

这个文档会介绍protocol buffer的二进制有线格式(binary wire format)。你并不是需要理解这些后才能在应用里使用protocol buffer,但是当你想知道不同的protocol buffer格式是如何影响编码后的消息体的体积时,这些知识会非常有用。 一个简单的消息 假设有一个非常简单的消息定义: message Test1 { optional int32 a = 1; } 在应用中,你创建了一个Test1消息并把a设置为150。然后你把消息序列化到输出流中,如果你能查看编码后的消息,你会看到三个字节: 08 96 01 到目前为止,如此小而且都是数字-但是这是什么意思呢?继续往下看 Varint编码 要理解上面protocol buffer编码的数据,你需要...阅读全文

博文 2019-09-29 22:32:48 KevinYan

快速一键部署测试环境,降低环境配置风险

摘要: 环境部署是软件测试很重要的一个环节,但也是比较耗时间的环节,很多企业经常是项目立项后,开始邮件申请服务器资源,再三催促审批通过后,进行手工部署搭建环境,然后解决各种依赖和修改各种配置文件。如何有效减少环境部署流程,提升环境搭建效率,并且保证环境配置质量安全呢? 环境部署是软件测试很重要的一个环节,但也是比较耗时间的环节,很多企业经常是项目立项后,开始邮件申请服务器资源,再三催促审批通过后,进行手工部署搭建环境,然后解决各种依赖和修改各种配置文件。如何有效减少环境部署流程,提升环境搭建效率,并且保证环境配置质量安全呢?针对这些需求,新型一站式研发效能平台,云效的环境管理系统提供了解决方案。 首先,解决测试服务器资源管理的问题。 云效平台统一对测试服务器资源(包含:测试服务...阅读全文

http headers大总结

http headers 本文记录自己使用和理解到的headers,参考MDN,如有不同看法请发评论。 方向表示是请求header还是响应header或者两种情况都有,r是请求header,w是响应header,空白就是双向header;作用和解释如果是空白就是我不清楚。 Name 方向 作用 解释 Accept r 通用 请求时告诉服务端可以接受的响应类型,用于协商,服务端会按照顺序和权重返回合适的响应数据类型。 Accept-Charset r 通用 同上 客户端接受的字符集。 Accept-Encoding r 通用 同上 客户端可以接受的压缩编码。 Accept-Language r 通用 同上 客户端接受语言。 Accept-Ranges w Range 在Range请求时返回,标...阅读全文

博文 2020-04-12 10:32:41 eudore

Spring boot集成Go-FastDFS实现图片上传删除等功能

一.背景工作中接触到需要采集并管理大量图片的需求,本来是用的FastDFS,但是发现实际情况是在项目实施时难以找到linux服务器去安装FastDFS,所以经过调研,选择了可以在windows服务器上安装部署的Go-FastDFS文件服务器二.Go-FastDFS简介go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。三.安装Go-FastDFS文件服务器1)下载地址:https://github.com/sjqzhang/go-fastdfs/releases2)下载完成直接启动fileserver.exe3)验证是否安装成功,访问localhost:80804)验证...阅读全文

用 Go 来了解一下 Redis 通讯协议

用 Go 来了解一下 Redis 通讯协议 原文地址:煎鱼的迷之传送门 Go、PHP、Java... 都有那么多包来支撑你使用 Redis,那你是否有想过 有了服务端,有了客户端,他们俩是怎样通讯,又是基于什么通讯协议做出交互的呢? 介绍 基于我们的目的,本文主要讲解和实践 Redis 的通讯协议 Redis 的客户端和服务端是通过 TCP 连接来进行数据交互, 服务器默认的端口号为 6379 客户端和服务器发送的命令或数据一律以 \r\n(CRLF)结尾(这是一条约定) 协议 在 Redis 中分为请求和回复,而请求协议又分为新版和旧版,新版统一请求协议在 Redis 1.2 版本中引入,最终在 Redis 2.0 版本成为 Redis 服务器通信的标准方式 本文是基于新版协议来实现功能,...阅读全文

博文 2018-06-07 21:34:37 煎鱼

Golang语言社区 课程2018年11月19日 更新说明

Golang语言社区 课程2018年11月19日 更新说明 1 从零搭建游戏服务器-第二期: 第二十三节:服务器架构拆分说明 第二十四节:服务器网关说明及实现 第二十五节:服务器架构日志模块 https://study.163.com/course/introduction.htm?courseId=1005743022&share=2&shareId=400000000538037 社区福利: 彬哥笔记 --3 开始学习Go语言需要准备什...阅读全文

博文 2018-11-19 19:34:43 Golang语言社区

Go 1.8rc3 源代码学习:scanner

前言 scanner package 包含了 golang 词法分析器相关的数据结构和方法,源代码位于 /src/go/scanner example_test.go example_test.go 包含了一个使用 scanner 包的示例方法,该方法对 Euler 公式进行词法扫描 func ExampleScanner_Scan() { // src is the input that we want to tokenize. src := []byte("cos(x) + 1i*sin(x) // Euler") // Initialize the scanner. var s scanner.Scanner fset := token.NewFileSet() // ...阅读全文

博文 2017-02-10 10:00:48 xingpingz

RocketMQ主从如何同步消息消费进度?

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 前面我也跟大家讲述了 RocketMQ 读写分离的规则,但是你可能会问,主从服务器之间的消费进度是如何保持同步的?下面我来给大家解答一下。 如果消费者消费模式不同,也会有不同的保存方式,消费者端的消息消费进度保存到 OffsetStore 中,他有两个实现类: org.apache.rocketmq.client.consumer.store.LocalFileOffsetStore // 本地消费进度保存实现 org.apache.rocketmq.client.consumer.store.RemoteBrokerOffsetStore // 远程消费进度保存实现 其中,如果是广播...阅读全文

博文 2019-10-25 20:32:49 aside section._1OhGeD

让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案

作者:Max 一直以来都有个梦想: 希望有一个数据库能够弹性扩展(分布式)到成百上千节点的规模,易于学习和理解,可以运行在私有云、公有云、Multi-Cloud、Kubernetes,也能够跑在嵌入式设备(比如树莓派)上,更酷的是也能够直接运行在浏览器里,而且不需要任何浏览器扩展(Extension),变成「口袋数据库」,就像那部电影《蚁人》。 今天,这一切都变成了现实:TiDB 可以直接运行在浏览器本地。打开浏览器,你可以直接创建数据库,对数据进行增删改查。关掉浏览器,一切都消失了,干净绿色环保—— 首先在笔记本浏览器打开 play.pingcap.com(这里用的是 MacOS 上面的 Chrome,不确定其它浏览器是否正常),可能需要几秒来加载页面,然后就能看到熟悉的 Shell 了。...阅读全文

博文 2019-11-05 16:34:03