我的天空 我的梦

自由翱翔在追求理想的浩瀚天空当中

软件中的通信之道

一个软件系统总是由很多不同功能的子系统组成的,每一个子系统又会采用不同的设计方式,会包含不同的模块,会编写不同的代码,有不同的函数和变量。我们今天的文章将目光放在软件中存在的各种通信上,从宏观的角度看看软件系统。 百度百科对通信的定义是这样的: 通信,指人与人或人与自然之间通过某种行为或媒介进...

2019-01-13 09:53:05

阅读数:8

评论数:0

2018年终个人总结

转眼间2018年马上就要结束了,又到了写个人总结的时候。回头看看去年的个人总结,自己大部分目标都实现了,还是很欣慰的。2018年总的来说就是一个字:新。这个新让我经历了很多,也让自己重新认识了自己。 新年新问题 2018年1月到2月,新的一年开始了,这两个月,自己好好学习了机器学习的相关知识,...

2018-12-30 23:35:49

阅读数:232

评论数:0

软件技术中的道与术

说起专业基础课,编程语言和各种库和框架在软件开发中的地位,大家可能会有不同的看法,关于深入学习什么,也存在着各式各样的看法。有的人认为,只要熟悉一门编程语言,然后深入学习这门语言实现的各种框架,就可以做好相关领域的开发;还有一些人认为,我需要广泛的学习各种编程语言,做一名语言专家,这就好比是编程领...

2018-12-15 13:14:14

阅读数:5959

评论数:16

我的软件修习之路(三)——实践出真知

研究生毕业以后,我的职业之路正式拉开序幕。为了能够接触更多的软件牛人,我选择了到北京工作。也因此和老婆开始了异地生活。生活虽然苦,但是为了将来,我认为还是值得的。 初到北京,工资不是很高,为了能够给家里多节省一些钱,选择了在离公司比较远的回龙观租了房子。在北京工作的人应该了解,北京北面的回龙观,...

2018-12-01 12:11:02

阅读数:346

评论数:0

我的软件修习之路(二)———柳暗花明

离开了本科校园,2010年9月新的旅程开始了。刚进入研究生阶段,一切都很新奇,自己选课,自己安排时间。导师徐老师也非常开明,研一让我们尽可能学好研究生阶段的课程,并没有安排很多的研究任务。正是有这一年的时间,让我想清楚了很多问题,也让我研究生三年的时间没有白白浪费。 徐老师非常看重数学,直到现在...

2018-11-17 11:15:08

阅读数:60

评论数:0

我的软件修习之路(一)——迷茫

2006年,高考结束,出于对物理的喜爱和未来就业的考虑,我选择了机械设计制造及其自动化专业。当时喜欢用电脑玩游戏,也曾考虑过是否能写出自己的程序,可是我并没有考虑计算机相关专业。回想当时的情形,可能是自己觉得这些专业比较高端,自己选择的几所高校的这类专业也非强项,就放弃了。 机械设计及其自动化专...

2018-11-04 20:21:33

阅读数:198

评论数:0

Golang使用WebSocket通信

使用Golang能够创建WebSocket通信,只需要使用golang.org/x/net/websocket包即可,该包有可能被墙,无法使用go get下载,但是我们可以从golang中国提供的地址下载,然后将包放在对应的路径下。 WebSocket是一种通信协议,旨在改善HTTP作为无状态协...

2018-10-27 12:52:03

阅读数:131

评论数:0

Golang如何优雅地提取JSON数据中需要的字段数据

JSON数据是我们开发中经常遇到的一种数据格式,一般通用的做法是,我们通过建立实体类,然后利用一些框架将JSON数据转化为对应的实体类对象,这样我们就可以方便地访问JSON数据了。 但是有些时候,一个JSON对象很大,字段很多,而我们可能只需要其中的几个字段值,这在调用第三方API时可能经常发生...

2018-10-13 10:12:02

阅读数:1530

评论数:0

Golang对excel进行处理

国庆节祝我们的祖国更加繁荣昌盛,想必大家在国庆期间也好好放松了一下,中秋节过节停更了一次,家里面有孩子了,放假期间希望能好好陪陪孩子,请大家谅解。今天发一篇技术文章,帮助大家逐渐回归到正常的工作状态。 之前有关Golang的文章主要是基于Golang的标准库来讲解的,今天我们来看看Golang的...

2018-10-06 09:59:58

阅读数:390

评论数:0

利用golang通道优化TCP Socket服务器

前面的几篇文章分别介绍了UDP和TCP进行Socket编程的方法,在TCP的文章中,我们除了传统的阻塞型服务器,还给出了多线程服务器的实现方式。今天我们利用golang的通道,给出一种更加高效的服务器设计。 package main import ( "fmt&q...

2018-09-15 10:25:10

阅读数:689

评论数:0

golang TCP Socket编程

上一篇文章介绍了golang进行UDP编程的方式,本篇文章继续golang的网络编程,我们看看如何实现TCP编程。UDP传输的是数据包,传输时不会建立实际的连接,UDP传输数据不会保证可靠性。TCP则不同,它会维持客户端和服务器之间的连接,并且保证数据传输的可靠性,服务器和客户端之间会维护连接,使...

2018-09-09 09:54:55

阅读数:190

评论数:0

golang使用UDP进行网络通信

golang提供了网络编程使用net包,使用net包可以进行很基础的socket编程,如果希望了解socket的一些基础知识,可以参看我之前的文章,虽然是Java示例,但是前面的原理说明不会因为语言的差别而不同。今天我们一起看看使用golang如何实现UDP编程。代码分为server端和clien...

2018-09-02 16:21:14

阅读数:1700

评论数:0

Golang如何正确的停止Ticker

Golang可以利用time包的Ticker实现定时器的作用,最近使用Ticker时,发现调用Ticker的Stop方法无法正确的停止Ticker,协程会阻塞在等待Ticker的C通道处,精简后的代码如下: func UseTickerWrong() *time.Ticker { ticke...

2018-08-25 10:44:27

阅读数:843

评论数:0

Golang并发以及通道的使用

Golang最擅长的就是并发编程,使用Golang可以很方便的进行并发编程。先看一段普通的代码 package main import ( "fmt" "time" ) func Foo(i int) { fmt...

2018-08-18 11:30:06

阅读数:373

评论数:0

Golang方法不同类型接收者的区别

Golang中对方法和函数进行了区分,函数就是传统意义上的函数,定义方式如下: func 函数名(参数列表) (返回值列表) { } 方法在函数的基础上添加了一个接收者,接收者可以是结构体类型的变量或指针,也可以是slice或者map,也就是说,无法将基本类型的变量或指针作为方法的接收者,只...

2018-08-05 11:41:25

阅读数:304

评论数:0

《区块链技术驱动金融》读书笔记

一、密码学及加密货币概述 1.加密数字货币需要去中心化,通过安全规则保证安全,而不是依赖于中央机构 2.密码学可以防止对系统的干扰,还能避免混淆,将新货币创造的规则编码到数学协议中 3.哈希函数有三个特性: (1) 输入为任意长度字符串 (2) 产生固定大小的输出 (3) 在合理的时间...

2018-08-02 08:41:58

阅读数:657

评论数:0

Golang结构体中Tag的使用

Golang中可以为结构体的字段添加tag,这类似于Java中为类的属性添加的注解,Golang本身的encoding/json包解析json使用了tag,一些开源的ORM框架,也广泛使用了tag,那么,我们如何通过代码自己实现tag的解析,从而简化结构体字段的使用方式呢?下面看一个例子。 假设...

2018-07-28 13:50:09

阅读数:562

评论数:0

Golang基本程序结构

今天的文章,我们来了解一下Golang的程序结构,只有知道Golang的组成,才能够在使用时有的放矢,选择合适的方式。 包和包的初始化 Golang中的包是按目录结构组织的,下面假设是一个GOPATH下的src中的目录结构 src     folder1         folder2 ...

2018-07-21 13:36:44

阅读数:73

评论数:0

docker-gitlab配置

最近gitlab使用docker配置遇到坑,官方要求修改/etc/gitlab/gitlab.rb如下: external_url 'http://docker宿主机IP:将docker的80端口映射出的端口号' gitlab_rails['gitlab_shell_ssh_port'] = ...

2018-07-20 15:08:12

阅读数:61

评论数:0

闲聊Golang对C语言的改进

看到标题,大家可能会奇怪,为什么将Golang与C语言进行比较?这里主要有三方面的原因,一方面,可以说Golang和C都是源于同样的理念设计的编程语言,上一篇文章有说过,UNIX创始人之一Ken Thompson是Golang的设计者,同时,他也是C语言设计者之一,他深知C语言存在的问题和影响其开...

2018-07-14 12:04:25

阅读数:506

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭