公司最近在搞go语言学习小组,于是3个人一起组队,做了一个简单的签到系统, 见链接:

https://github.com/suoluoji/signIn

0.模块组成

db模块、go-server模块,html文件模, 二维码制作
db模块负责和数据库的交互,封装起来,做一些简单的insert/update工作
go-server模块:本来想用https://github.com/go-martini/martini 这样的web框架,组内人有不同意见,于是保留
html文件模块:一些页面相关的东西在里面
说明:这个里面有很多东西可以改进的地方那个,比如db从配置文件中读取,而不应该写在代码中;webserver模块的性能测试,可以看看go的web性能;db模块可以封装的更好点等等,后续在慢慢改进吧

1. db模块介绍

1.1 db driver选择

go相对与其它语言的,感觉driver模块并不是特别成熟,许士伟在《go语言编程》中说七牛的整体框架都基于go搭建的,真希望有天他们能开源出来,哈哈,题外话,暂时略过。
在mymysql与go-mysql-driver性能比较这篇文章中详细比较了几个方面,可以看出go-mysql-dirver的对于使用者并不是特别的友好(自我感觉),主要一点就是select的scan操作比较繁琐,这点mymysql的查询结果直接支持map操作要好很多,当然,最后还是选择了go-sql-driver,受这篇文章影响较多,下来可以详细研究下两者的实现方式,在做具体的分析

1.2  代码介绍及pkg的封装

在dao中定义了一个UserInfo的struct,有Username, Phone, Id,这里之所以大写研究过go的应该清楚,如果struct中的变量名是小写开头的,在模块外是例外,当然test不算的;
同行做了一个简单的封装,把*sql.DB隐藏在UserDB中,在模块外是不可见的。
为了测试这个模块,引入了testing的功能,对GetUser/SaveUser/SaveSigninLog几个功能做了简单的测试,事实证明,函数确实有点小的问题, dao_test..go代码如下:
 
封装的pkg的几个步骤如下:
go build dao
go test  dao
go install dao
这样,在我们的pkg目录下就会发现有dao.a文件生成(这点真是麻烦。吐槽一下 。
更新了好久竟然没有更新完毕,好吧,最近比较忙,今天又要开始使用celery了,去了解下rabbitmq 和redis的一些使用吧

基于go的二维码签到系统相关推荐

  1. 基于Android的二维码识别系统的研究与实现(eclipse开发)

    目 录 1 Android系统开发背景与意义 1 1.1 Android系统平台的出现 1 1.2 Android系统的发展 1 1.3 Android系统架构的介绍 1 1.4 Android开放系 ...

  2. 二维码签到技术(课设)

    一个简易的二维码签到系统 GitHub地址:https://gitee.com/ji-ke-20-2-zhao-lulu-chen-jia/qr-code-check-in-technology.gi ...

  3. 基于springboot的食品二维码溯源系统

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于springboot的食品二维码溯源系统. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技 ...

  4. 基于主要成分分析的人脸二维码识别系统-含Matlab代码

    目录 一.引言 二.人脸图像信息处理 2.1 主成分分析PCA 2.2 PCA人脸压缩与重构算法分析 三.二维码转换以及识别 3.1 QR码 3.2 将人脸图像生成二维码 3.3 二维码的识别与图像还 ...

  5. 基于MATLAB的条码二维码识别系统

    基于MATLAB的条码二维码识别系统 课题介绍 本设计研究的是基于数字图像处理的EAN-13条形码识别算法,通过工具平台MATLAB实现.其中图像处理部分是条码识别重要的前期工作,利用MATLAB强大 ...

  6. 二维码防伪系统开发-实现了产品信息防伪的高效性

    一.系统介绍 二维码防伪采用二维码加密技术给产品做标识,将二维码印刷或标贴于产品包装上,用户只需通过指定的二维码防伪系统或手机软件进行解码检验,即可验证产品真伪,获得详尽的信息.二维码可储存丰富的产品 ...

  7. 计算机毕设之 农产品二维码溯源系统

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,农产品二维码溯源系统. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技术和网络技术的发展,信息 ...

  8. 最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到

    技术选型 1,前端 小程序原生MINA框架 css JavaScript Wxml 2,管理后台 云开发Cms内容管理系统 web网页 3,数据后台 小程序云开发 云函数 云开发数据库(基于Mongo ...

  9. 基于OpenCV实现二维码发现与定位

    基于OpenCV实现二维码发现与定位 在如今流行扫描的年代,应用程序实现二维码扫描检测与识别已经是应用程序的标配.特别是在移动端.如果你的应用程序不能自动发现检测二维码,自动定位二维码你都不好意思跟别 ...

  10. 基于zxing的二维码扫描

    前言 现在的应用中二维码扫描已经成为一个应用必不可少的功能,现在大部分Android二维码扫描都是基于zxing和Zbar,这文章就来介绍一下基于zxing的二维码扫描.先看下效果图 虽然现在的关于二 ...

最新文章

  1. LeetCode 72. Edit Distance--动态规划--Levenshtein Distance Algorithm--Java,Python解法
  2. C++ 应用程序性能优化,第 6 章:内存池
  3. C#之IComparable用法,实现ListT.sort()排序
  4. 相约转型新范式,第四范式2021发布会报名开启
  5. 【javascript 变量和作用域】
  6. sql如何实现明细账_SQL 如何实现动态的行列转置
  7. 打开网页出现“安全沙箱冲突”的提示
  8. java 实现类似spring的可配置的AOP框架
  9. 孪生网络 应用_数字孪生在航空发动机制造工艺中的应用探索
  10. ios音视频开发路线及技术点
  11. 智能手机企业现状 行业发展趋势
  12. Qt:QPushButton 单击、双击响应区分
  13. Docker安装mysql 报错 InnoDB: Table flags are 0 in the data dictionary but the flags in file
  14. docker:error pulling image configuration
  15. 躲开混脸熟的车型,一文带你去看2019上海车展里的新面孔
  16. CPU的功能和基本结构
  17. 星汉未来成为 FinOps 产业标准生态联盟首批会员
  18. oracle数据库数据传输
  19. 使用知行之桥EDI系统进行OFTP连接需要准备什么?
  20. [Err] 42000 - [SQL Server]参数数据类型 text 对于 replace 函数的参数 1 无效。

热门文章

  1. 微信分享链接网页下载的无法打开解决方案,微信跳转外部浏览器
  2. R语言使用lmPerm包应用于线性模型的置换方法(置换检验、permutation tests)、使用lm模型构建多元线性回归模型、使用lmp函数生成置换检验多元线性回归模型
  3. sv编程语言_sv零星知识点
  4. java算法:1234组成无重复的三位数
  5. react-native 报错 Text strings must be rendered within a <Text> component.
  6. Java:珠穆朗玛峰
  7. 贼法术牧萨nbsp;2800
  8. 困牛放牧(Sleepy Cow Herding)
  9. 谈一下关于python-docx指定位置插入图片的故事
  10. matlab 保存图片大小尺寸_改变figure大小存储图片(matlab)