- 首页
- 文章
Go 语言中的同步队列
## 问题 假设我们在运营一家 IT 公司,公司里面有 程序员 和测试员。为了给个机会他们互相认识对方,并且让他们能够在工作中放松一点,我们买了一个乒乓球台,并且制定了如下规则: - 每次只能两个人(不能少于或多于两人)玩。 - 只有上一对玩家结束了,下一对玩家才能玩,也就是说,不能只换下一个人。 - 只能是测试员和程序员组成一对来玩,(不能出现两个测试员或者两个程序员一起玩的情况)。如果员工想要玩的话,那么他得等到有合适的对手了才能开始游戏。 ```go func main...阅读全文
责任链模式的使用-Netty ChannelPipeline和Mina IoFilterChain分析
本文来自网易云社区作者:乔安然1. Chain of Responsiblity定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。结构实图:2. Netty ChannelPipeline 分析Netty的ChannelPipeline和ChannelHandler机制类似于Servlet和Filter过滤器,这类过滤器其实就是责任链模式的一种变形,方便事件的拦截和用户业务逻辑的定制且相互不必耦合...阅读全文
我们必须遵循的 12 个 Go 语言最佳实践
本文旨在提供一个切实的指导,在 Go 语言中实现最佳实践和设计模式。这些编程技巧可以帮助开发者编写出较好的代码。你一定已经读过了 [Go Tutorial](https://tour.golang.org/welcome/1) 和 [Effective Go](https://golang.org/doc/effective_go.html)。 为了让大家对这些编程技巧有更加深刻的认识,我在讨论这些最佳实践的时候会附加一些示例代码。 那些编写了许多优秀代码的大师们,一直在使用一些 G...阅读全文
2018-09-17
go语言基础 hello world1.常量的定义//常量定义const PI =3.142.一般类型声明type myInt int//数据类型3.全局变量的声明与赋值var myName ="golang"4.结构的声明type myPerson struct {}5.接口的声明type myGolang interface {}6.hello world !func main() {fmt.Println("hello world! 你好世界! ")}阅读全文
关于文本读取的问题
func readMaze(fileName string) [][]int{ file, err := os.Open(fileName) if err != nil{ panic(err) } var row, col int fmt.Fscanf(file, "%d %d", &row, &col) maze := make([][]int, row) for i := range maze { maze[...阅读全文
从比特币看区块链与Golang实战
从比特币看区块链与Golang实战 原创者:文思一、区块链脉络 1、哈希 哈希以上特点决定了其对区块链支持的天然性。2、加密2.1对称加密:明文—加密方法-->密文密文—解密方法-->明文以上密码本一旦暴露,就毫无安全加密可言。2.2非对称加密:公钥加密、私钥解密 以上非对称加密可以解决加密问题,但无法解决传数据来源的验证问题,因为公钥公开发布,无法解决网络截取数据被劫持替换的问题。(截取网络数据,并伪造数据用公钥加密后传输)现在就需要数字签名: 3、UTXOUnspent Transactio...阅读全文
golang的序列化和反序列化
```go package main import ( "bytes" "encoding/gob" "fmt" ) type Users struct { Username string Password string } func main() { user := Users{ "pengjin", "123456", } var result bytes.Buffer encoder := gob.NewEncod...阅读全文
ActiveMQ嵌入Tomcat
在一些项目中,单独开启一个ActiveMQ,对于项目实施来说有时略显繁琐。所以我们将ActiveMQ内嵌到Tomcat,Tomcat启动同时就顺带启动了ActiveMQ。由此我们需要掌握三个个重要的知识点ActiveMQ中的BrokerService自启动Servlet配置使用jconsole了解嵌入ActiveMQ运行状态一、开启BrokerService在pom.xml添加ActiveMQ依赖,本次代码实例采用5.7版本,记住只需要activemq-core就行。<dependency><g...阅读全文
golang操作bolt数据库
```go package main import ( "fmt" "github.com/boltdb/bolt" ) var ( db *bolt.DB bucket []byte ) const dbname = "module.db" func init() { //创建bolt数据库本地文件 dbc, err := bolt.Open(dbname, 0600, nil) //初始化bucket bucket...阅读全文
Mybatis架构与原理
MyBatis功能架构设计image.png功能架构讲解:我们把Mybatis的功能架构分为三层:(1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。(2)数据处理层:负责具体的 SQL 查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。(3)基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来...阅读全文
Java面试题大全(流行的框架部分)
1、什么是MVC模式? MVC (Model View Controller) 是一个设计模式,使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以应用于不同的表现形式。MODEL: 封装了所有的商业逻辑以及规则。通常被JavaBean或EJB实现。VIEW: 使用商业逻辑处理后的结果并构建呈现给客户端的响应。通常被JSP实现。CONTROLLER:管理...阅读全文
阿里P8架构师谈:如何搭建亿级并发系统的性能指标体系
性能指标的分类为了更好的去监控整个系统的性能,做好全流程的优化,主要分为3类:1.感知系统性能这类指标主要从工程师的角度去衡量,如后端的:响应时间当前并发的用户数请求数请求的错误率等等。2.用户体验性能用户实际感觉网页是否加载延迟首屏时间白屏时间完全加载时间之类3.系统性能这类指标重点查看服务器:服务器的cpu内存网络带宽流量等等物理资源。对于上述的每一类,衡量标准可能都不一样,在数据展示方面,主要通过趋势图和汇总表格来展现,下面来对这3类指标分别细说:感知系统性能这类指标主要为工程师设计,来衡...阅读全文
Derek解读Bytom源码-孤块管理
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍bytom代码孤块管理 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 孤块介绍 什么是孤块 当节点收到了一个有效的区块,而在现有的主链中却未找到它的父区块,那么这个区块被认为是“孤块”。父区块是指当前区块的PreviousBlockHash字段指向上...阅读全文
Derek解读Bytom源码-P2P网络 地址簿
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍bytom代码P2P网络中addrbook地址簿 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 addrbook介绍 addrbook用于存储P2P网络中保留最近的对端节点地址 在MacOS下,默认的地址簿路径存储在~/Library/Bytom/a...阅读全文
Derek解读Bytom源码-启动与停止
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍bytom代码启动、节点初始化、及停止的过程 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 预备工作 编译安装 详细步骤见官方 bytom install 设置debug日志输出 开启debug输出文件、函数、行号等详细信息 export BYTOM...阅读全文
Derek解读Bytom源码-P2P网络 upnp端口映射
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍bytom代码P2P网络中upnp端口映射 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 UPNP介绍 UPNP(Universal Plug and Play)通用即插即用。UPNP端口映射将一个外部端口映射到一个内网ip:port。从而实现p2p...阅读全文
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 沙箱 > 孵化 > 毕业,CNCF 定义项目毕业标准 1.1 版本
- 出身清华姚班,斯坦福博士毕业,她的毕业论文成了「爆款」
- 恭喜 containerd 毕业
- 毕业这一年
- 毕业三年的报告
- CNCF宣布containerd毕业
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。