• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






张伯雨

学习使人快乐
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

10 2017 档案

 
用beego开发服务端应用
摘要:用beego开发服务端应用说明Quick Start安装创建应用编译运行打包发布代码生成开发文档目录结构说明使用配置文件beego默认参数路由设置路由的表述方式直接设置路由以注册handler的方式设置路由自动注册路由通过注解注册路由使用namespace管理路由需要特别注意的NSAfter()使用数据库数据库迁移(migration)beego.Controller处理http请求参考说明bee... 阅读全文
posted @ 2017-10-31 11:34 张伯雨 阅读(15543) 评论(0) 推荐(0)
SpringBoot JMS(ActiveMQ) 使用实践
摘要:ActiveMQ1. 下载windows办的activeMQ后,在以下目录可以启动: 2. 启动后会有以下提示 3. 所以我们可以通过http://localhost:8161访问管理页面,通过tcp://localhost:61616来连接消息服务器,用到的用户名和密码都在以下文件中(默认为admin=admin) springboot连接ActiveMQ1. 加入依赖: ... 阅读全文
posted @ 2017-10-30 13:44 张伯雨 阅读(9391) 评论(0) 推荐(2)
Go 延迟函数 defer 详解
摘要:Go 延迟函数 defer 详解Go 语言中延迟函数 defer 充当着 try...catch 的重任,使用起来也非常简便,然而在实际应用中,很多 gopher 并没有真正搞明白 defer、return、返回值、panic 之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱!先来运行下面两段代码:A. 匿名返回值的情况package mainimport ( "fmt")fun... 阅读全文
posted @ 2017-10-30 09:31 张伯雨 阅读(3172) 评论(0) 推荐(1)
Go语言Context(设计及分析)
摘要:context简单概述:Go服务器的每个请求都有自己的goroutine,而有的请求为了提高性能,会经常启动额外的goroutine处理请求,当该请求被取消或超时,该请求上的所有goroutines应该退出,防止资源泄露。那么context来了,它对该请求上的所有goroutines进行约束,然后进行取消信号,超时等操作。而context优点就是简洁的管理goroutines的生命周期。conte... 阅读全文
posted @ 2017-10-26 10:27 张伯雨 阅读(2172) 评论(1) 推荐(0)
Golang中使用lua进行扩展
摘要:前言最近在项目中需要使用lua进行扩展,发现github上有一个用golang编写的lua虚拟机,名字叫做gopher-lua.使用后发现还不错,借此分享给大家.数据类型lua中的数据类型与golang中的数据类型对应关系作者已经在文档中说明,值得注意的是类型是以L开头的,类型的名称是以LT开头的.golang中的数据转换为lua中的数据就必须转换为L开头的类型:str := "hello" nu... 阅读全文
posted @ 2017-10-18 13:36 张伯雨 阅读(4966) 评论(1) 推荐(0)
Go 语言之三驾马车
摘要:interfaceGo是一门面向接口编程的语言,interface的设计自然是重中之重。Go中对于interface设计的巧妙之处就在于空的interface可以被当作“Duck”类型使用,它使得Go这样的静态语言拥有了一定的动态性,却又不损失静态语言在类型安全方面拥有的编译时检查的优势。source code从底层实现来看,interface实际上是一个结构体,包含两个成员。其中一个成员指针指向... 阅读全文
posted @ 2017-10-17 17:13 张伯雨 阅读(678) 评论(0) 推荐(0)
理解channel 工作原理以及源码
摘要:Go 的并发特性 goroutines: 独立执行每个任务,并可能并行执行channels: 用于 goroutines 之间的通讯、同步一个简单的事务处理的例子 对于下面这样的非并发的程序:func main() { tasks := getTasks() // 处理每个任务 for _, task := range tasks { process(task) }}将其转换为 Go... 阅读全文
posted @ 2017-10-05 10:27 张伯雨 阅读(3648) 评论(0) 推荐(0)
《effective Go》读后记录
摘要:格式化让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处理大部分的格式化问题。gofmt程序是go标准库提供的一段程序,可以尝试运行它,它会按照标准风格缩进,对齐,保留注释,它默认使用制表符进行缩进。Go标准库的所有代码都经过gofmt程序格式化的。注释Go注释支持C风格的块注释/* */和C++风格的行注释//。块注释主要用作包的注释。Go官方提倡每个包都应包含一... 阅读全文
posted @ 2017-10-04 13:15 张伯雨 阅读(405) 评论(0) 推荐(0)
《Go in action》读后记录:Go的并发与并行
摘要:一、使用goroutine来运行程序1.Go的并发与并行Go的并发能力,是指让某个函数独立于其他函数运行的能力。当为一个函数创建goroutine时,该函数将作为一个独立的工作单元,被 调度器 调度到可用的逻辑处理器上执行。Go的运行时调度器是个复杂的软件,它做的工作大致是:管理被创建的所有goroutine,为其分配执行时间将操作系统线程与语言运行时的逻辑处理器绑定参考The Go schedu... 阅读全文
posted @ 2017-10-03 15:00 张伯雨 阅读(539) 评论(0) 推荐(0)
kcp-go源码解析
摘要:概念ARQ:自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:Retransmission TimeOutFEC:Forward Error Correctionkcp简介kcp是一个基于udp实现快速、可靠、向前纠错的的协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传... 阅读全文
posted @ 2017-10-03 14:38 张伯雨 阅读(5479) 评论(0) 推荐(0)
golang string和[]byte的对比
摘要:golang string和[]byte的对比为啥string和[]byte类型转换需要一定的代价?为啥内置函数copy会有一种特殊情况copy(dst []byte, src string) int?string和[]byte,底层都是数组,但为什么[]byte比string灵活,拼接性能也更高(动态字符串拼接性能对比)?今天看了源码探究了一下。以下所有观点都是个人愚见,有不同建议或补充的的欢迎... 阅读全文
posted @ 2017-10-03 14:31 张伯雨 阅读(59015) 评论(0) 推荐(9)
在Mybatis-spring上基于注解的数据源实现方案
摘要:一、遇到的痛点 最近在学习Spring-boot过程中,涉及到操作数据库。按照DOC引入mybatis-spring-boot-starter,然后按照套路配置application.properties、码Mapper、dataobject、xxx-mapper.xml的代码就OK了。这个时候,采用DataSourceAutoConfiguration默认方式实现的,这时单数据源可用了... 阅读全文
posted @ 2017-10-02 21:01 张伯雨 阅读(3831) 评论(1) 推荐(0)
Java元编程及其应用
摘要:首先,我们且不说元编程是什么,他能做什么.我们先来谈谈生产力.同样是实现一个投票系统,一个是python程序员,基于django-framework,用了半小时就搭建了一个完整系统,另外一个是标准的SSM(Spring-SpringMVC-Mybatis)Java程序员,用了半天,才把环境刚刚搭好.可以说,社区内,成功的web框架中基本没有不强依赖元编程技术的,框架做的工作越多,应用编写就越轻松.... 阅读全文
posted @ 2017-10-02 20:47 张伯雨 阅读(378) 评论(0) 推荐(0)