网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
Golang Mysql笔记(三)--- Prepared剖析
**prepare**前面我们已经学习了sql的基本curd操作。总体而言,有两类操作Query和Exec。前者返回数据库记录,后者返回数据库影响或插入相关的结果。上面两种操作,多数是针对单次操作的查询。如果需要批量插入一堆数据,就可以使用Prepared语句。golang处理prepared语句有其独特的行为,了解其...
阅读全文
Golang Mysql笔记(四)--- 事务
Transaction事务事务处理是数据的重要特性。尤其是对于一些支付系统,事务保证性对业务逻辑会有重要影响。golang的mysql驱动也封装好了事务相关的操作。我们已经学习了db的Query和Exec方法处理查询和修改数据库。tx对象一般查询使用的是db对象的方法,事务则是使用另外一个对象。sql.Tx对象。使用d...
阅读全文
Golang Mysql笔记(二)--- CURD基础
数据库查询我们了解了数据库连接与连接池。拿到了连接当然就是为了跟数据库交互。对于数据库交互,无怪乎两类操作,读和写。其中怎么读,怎么写,读和写的过程糅合一起就会遇到复杂的事务。本篇内容主要关注数据库的读写操作,后面再涉及事务的介绍。读取数据database/sql提供了Query和QueryRow方法进行查询数据库。对...
阅读全文
Golang Mysql笔记(一)--- 连接与连接池
database/sqldatabase/sql是golang的标准库之一,它提供了一系列接口方法,用于访问关系数据库。它并不会提供数据库特有的方法,那些特有的方法交给数据库驱动去实现。database/sql库提供了一些type。这些类型对掌握它的用法非常重要。****DB****数据库对象。sql.DB类型代表了数...
阅读全文
Golang 持久化
持久化程序可以定义为算法+数据。算法是我们的代码逻辑,代码逻辑处理数据。数据的存在形式并不单一,可以存在数据库,文件。无论存在什么地方,处理数据的时候都需要把数据读入内存。如果直接存在内存中,不就可以可以直接读了么?的确,数据可以存在内存中。涉及数据存储的的过程称之为持久化。下面golang中的数据持久化做简单的介绍。...
阅读全文
Golang Template 简明笔记
前后端分离的Restful架构大行其道,传统的模板技术已经不多见了。实际上只是渲染的地方由后端转移到了前端,模板的渲染技术本质上还是一样的。简而言之就是字串模板和数据的结合。golang提供了两个标准库用来处理模板`text/template`和`html/template`。我们使用`html/template`格式...
阅读全文
Golang Http请求
请求的结构HTTP的交互以请求和响应的应答模式。go的请求我们早就见过了,handler函数的第二个参数http.Requests。其结构为:__typeRequeststruct{MethodstringURL*url.URLProtostring//"HTTP/1.0"ProtoMajorint//1ProtoMi...
阅读全文
Golang Cookie 简介
Cookie互联网隐私一直是一个敏感话题。很多爆炸新闻或者香艳的丑闻,似乎就像病毒一样每隔一段时间就爆发。这不仅是网民茶余饭后的谈资调侃,也让部分安全公司开始吵作。用户在安全,隐私,cookie之类宣传攻势,不知所以。有的人认为cookie是泄露隐私的元凶。对于开发者,cookie的是web开发里程上的一大发明,coo...
阅读全文
Golang构建HTTP服务(二)--- Handler,ServeMux与中间件
Golang标准库http包提供了基础的http服务,这个服务又基于Handler接口和ServeMux结构的做Mutilpexer。实际上,go的作者设计Handler这样的接口,不仅提供了默认的ServeMux对象,开发者也可以自定义ServeMux对象。本质上ServeMux只是一个路由管理器,而它本身也实现了H...
阅读全文
PHP与Golang如何通信?
最近遇到的一个场景:php项目中需要使用一个第三方的功能(),而github上面恰好有一个用Golang写好的类库。那么问题就来了,要如何实现不同语言之间的通信呢?常规的方案:*用Golang写一个http/TCP服务,php通过http/TCP与Golang通信*将Golang经过较多封装,做为php扩展。*PHP通...
阅读全文
Golang资料集
该资源的github地址:[《Platform-nativeGUIlibraryforGo》](https://link.jianshu.com?t=https://github.com/andlabs/ui)介绍:跨平台的golangGUI库,支持Windows(xp以上),Unix,MacOSX(MacOSX10....
阅读全文
Mirai源码解析
Mirai概述mirai,2016年一个备受关注的DDoS攻击程序,与传统的僵尸网络不同的是,mirai的控制的僵尸主要是摄像头等嵌入式设备,mirai的出现将一大波安全研究者引入了IoT安全领域。mirai的事迹主要有:*2016.9.20,攻击BrianKrebs个人网站,攻击流量达到665Gbps,据称有150万...
阅读全文
用生产者消费者理解golang channel
生产者消费者问题是一个著名的线程同步问题,该问题描述如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到...
阅读全文
Golang资料集Go最新资料汇总链接更改
Go最新资料汇总链接Golang资料集*介绍:跨平台的golangGUI库,支持Windows(xp以上),Unix,MacOSX(MacOSX10.7以上)*介绍:(Go包管理工具)是一个用于搜索、安装、更新和分享Go包的管理工具。*介绍:本文以Go的标准库为例,介绍了Go编译过程的工作原理。*介绍:在之前的[Go语...
阅读全文
map按key和按value排序
看一个题:查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。例示:jack70peter96Tom70smith67从高到低成绩peter96jack70Tom70smith67从低到高smith67Tom70jack70peter961、按照val...
阅读全文