Go基础学习记录之如何解析并生成JSON

2018-11-14
阅读 5 分钟
2k
JSON(JavaScript Object Notation)是一种基于文本描述的轻量级数据交换语言。它的优点包括自我描述,易于理解等。即使它是JavaScript的一个子集,JSON使用不同的文本格式,结果是它可以被视为一种独立的语言。JSON与C系列语言具有相似性。JSON和XML之间最大的区别在于XML是一种完整的标记语言,而JSON则不是。JSON比XM...

Go基础学习记录之如何解析并生成XML

2018-11-07
阅读 5 分钟
14.7k
XML是Web服务中常用的数据通信格式。今天,它在Web开发中扮演着越来越重要的角色。本次分享将介绍如何通过Go的标准库使用XML。我不会尝试教授XML的语法或约定。你可以去阅读有关XML本身的更多文档。我只关注如何在Go中编码和解码XML文件。假设您在IT中工作,并且您必须处理以下XML配置文件:

Go基础学习记录之阻止Session劫持(Preventing session hijacking)

2018-11-06
阅读 3 分钟
2.8k
Session劫持是一种常见且严重的安全威胁。在与服务器通信时,客户端使用Session ID进行验证和其他目的。不幸的是,恶意第三方有时可以跟踪这些通信并找出客户端Session ID。本次分享,将向您展示如何为教育目的劫持Session。

Go基础学习记录之Session存储

2018-10-31
阅读 4 分钟
1.9k
我们在上篇文章中介绍了一个简单的Session管理器的工作原理,除此之外,我们还定义了一个Session存储接口。在本次分享中,我将展示一个实现此接口的基于内存的会话存储引擎的示例。您也可以将其定制为其他形式的Session存储。

panic: runtime error问题分享

2018-10-30
阅读 2 分钟
4.4k
panic: runtime error: invalid memory address or nil pointer dereference

Go基础学习记录之如何在Golang中使用Session

2018-10-26
阅读 6 分钟
5.1k
Session背后的基本原则是服务器维护每个客户端的信息,客户端依赖唯一的SessionID来访问此信息。当用户访问Web应用程序时,服务器将根据需要使用以下三个步骤创建新Session:

Golang在使用range遍历map时的key随机化问题及解决方法

2018-10-25
阅读 1 分钟
6.1k
比如下面这个哥们就遇到了,也提出了很好的解决意见,因为最近我在用Golang搭建自己的博客,在数据库查询的时候,也遇到了,只是偶尔会遇到这个问题,结果改完也彻底结局了头痛多天的思路

Go基础学习记录之Session和Cookie

2018-10-24
阅读 3 分钟
4k
session和cookie是两个非常常见的Web概念,也很容易被误解。但是,它们对于页面授权以及收集页面统计信息非常重要。我们来看看这两个用例。

Go基础学习记录之反射(reflect)机制

2018-10-23
阅读 4 分钟
2.9k
有时候我们需要编写一个函数能够处理一类并不满足普通公共接口的类型的值,也可能是因为它们并没有确定的表示方式,或者是在我们设计该函数的时候这些类型可能还不存在。一个大家熟悉的例子是fmt.Fprintf函数提供的字符串格式化处理逻辑,它可以用来对任意类型的值格式化并打印,甚至支持用户自定义的类型。让我们也来尝...

Go基础学习记录之模板输出数组

2018-10-22
阅读 1 分钟
1.8k
以前使用PHP的Twig模板,后面又有使用过Flask的Jinja2模板,还可以比较容易入手,至少会有个for,一看就知道什么,也知道如何调用

Go基础学习记录之Web开发的博客文章列表展示功能

2018-10-20
阅读 4 分钟
1.7k
本次分享继续之前的Model层,之前的Model层重构,零零散散的总算是完成了,今天继续添加一下文章列表展示功能,虽然说是一个简单的列表展示,但是也还是耗费了很长的时间

Go基础学习记录之Web开发的博客编辑功能之Model查询重构

2018-10-19
阅读 3 分钟
1.9k
上篇文章【Go基础学习记录 - 编写Web应用程序 - 博客编辑功能之Model重构】,只更新了Updaet方法,这次分享下,查询相关的实现说实话,这个查询本来以为很简单,跟以前写PHP或者Python一样,直接返回查询结果,实际上也可能跟我使用的MySQL库有关系吧,不过这个不是重点,重点是我们找到解决问题的办法开始之前先说下gol...

Go基础学习记录 - 编写Web应用程序 - 博客编辑功能之Model重构

2018-10-18
阅读 2 分钟
2k
针对于前面的几篇分享,觉的还是要勇于创新,发现更好的,更利于自己的,更能提高写代码效率的方式。于是将model这块的逻辑进行了重构之前的文章【Go基础学习记录 - 编写Web应用程序 - 博客编辑功能之Model的重新思考】也算是实现了一部分功能,小区域的是没有问题,比如只是针对Blog这一个model是没有问题的,但是如果...

VS Code开发Flutter App - 创建无限滚动ListView

2018-10-17
阅读 4 分钟
3.4k
本次分享将展开RandomWordsState以生成并显示单词对的列表。当用户滚动时,ListView小部件中显示的列表会无限增长。ListView的构建器工厂构造函数允许您根据需要懒惰地构建列表视图。

Go基础学习记录 - 编写Web应用程序 - 博客编辑功能之Model的重新思考

2018-10-17
阅读 4 分钟
1.7k
上篇文章【Go基础学习记录 - 编写Web应用程序 - 博客编辑完善更新功能】,在修改的过程中,遇到了一个问题就是Update函数与sqlite中的函数有冲突的提示,提示内容大概意思是重新定义了这个函数,这次我将更新的逻辑进行了更改,重新定义了下Model,同时将QueryOne函数也进行了更新。

Go基础学习记录 - 编写Web应用程序 - 博客编辑完善更新功能

2018-10-16
阅读 3 分钟
1.6k
既然更新,就涉及到了更新的逻辑,即如何将更新写入数据库,这里我将之前的Update函数进行完善操作,将Update改为了UpdateData,主要原因是我在另外要给sqlite库中也写了一个Update的函数,go工具提示我重复了,这个不知道是不是go的机制的问题,同一个包下面不应该有相同的函数,暂时修改为UpdateData,不过这里也应该...

Go基础学习记录 - 编写Web应用程序 - 博客编辑功能完善

2018-10-15
阅读 3 分钟
1.4k
每次我都会将自己实践的代码放到github上并且都会打一个tag,方便后面用的同学使用,这里我以下面分支的代码进行实践分享 {代码...} 一般我们在进行博客文章编辑的时候都要进行查询数据库,查找要编辑的文章是否存在,最后将查询出来的内容传到前端进行展示。 第一步 完善Model的查询逻辑 修改models/blog.go文件的Query...

Go基础学习记录 - 编写Web应用程序 - 路由和程序启动的一些思考

2018-10-14
阅读 2 分钟
1.9k
近段时间重新对我的Web应用程序进行了一些思考,首先程序启动的main.go文件中,暂时的路由添加没有太大的问题,但是根据以往的项目开发经验,如果这个系统对外分享的话,之后在做大项目的时候,会遇到添加很多路由的情况,然后就会发现文件变的越来越大,关键是路由还放在了main.go文件中,这个实在是太麻烦了,于是今天...

VS Code开发Flutter App - 添加有状态小部件篇

2018-09-21
阅读 2 分钟
2.4k
有状态窗口小部件维护可能在窗口小部件生命周期内发生更改的状态。实现有状态窗口小部件至少需要两个类:1) 一个StatefulWidget类,它创建一个2)State类的实例。StatefulWidget类本身是不可变的,但State类在窗口小部件的生命周期内持久存在。

Go基础学习记录 - 编写Web应用程 - 数据库(五)

2018-09-16
阅读 3 分钟
2.1k
NoSQL数据库提供了一种存储和检索数据的机制,该机制使用比典型的关系数据库更松散的一致性模型,以实现水平扩展和更高的可用性。一些作者将它们称为“不仅仅是SQL”,以强调某些NoSQL系统确实允许使用类似SQL的查询语言。作为21世纪的C语言,Go对NoSQL数据库提供了很好的支持,包括流行的redis,mongoDB,Cassandra和Memb...

Go基础学习记录 - 编写Web应用程 - 完善Blog Model

2018-09-15
阅读 5 分钟
1.7k
前面的章节 我们分别介绍了MySQL、SQLite、PostgreSQL等数据库的使用本节简单介绍并完善下我们自己的小博客的Model部分,这部分暂时先分享下Blog Model部分这部分的完善其实很简单,但是对于像我这样的初学者,还是稍微费力一点

Go基础学习记录 - 编写Web应用程 - 数据库(四)

2018-09-09
阅读 4 分钟
2.1k
为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的话,对于我来说,我是不行的,没办法学会。

Go基础学习记录 - 编写Web应用程 - Web开发输入验证(四)

2018-08-27
阅读 3 分钟
1.4k
为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的话,对于我来说,我是不行的,没办法学会。

Go基础学习记录 - 编写Web应用程 - Web开发输入验证(三)

2018-08-23
阅读 3 分钟
1.6k
为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的话,对于我来说,我是不行的,没办法学会。

Go基础学习记录 - 编写Web应用程 - Web开发输入验证(二)

2018-08-19
阅读 2 分钟
1.3k
为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的话,对于我来说,我是不行的,没办法学会。

Go基础学习记录 - 编写Web应用程 - Web开发输入验证(一)

2018-08-16
阅读 2 分钟
1.8k
为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的话,对于我来说,我是不行的,没办法学会。

Go基础学习记录 - 编写Web应用程序 - 重新调整项目目录结构(二)

2018-08-15
阅读 2 分钟
1.9k
这里说下我对go看法,其实go的机制并没有很完善,包管理其实一直是个大问题,按照我们正常的编写逻辑来说,应该不能像java之类的,先要编译完再运行,发现问题其实也需要一步一步去找,很头痛,这也是是为什么最近ReactNative一直很火的原因,热编译热启动热更新,都是为了我们的开发效率。然鹅go也是,虽然性能很好,但...

Go基础学习记录 - 编写Web应用程序 - 重新调整项目目录结构(一)

2018-08-14
阅读 4 分钟
2.1k
前面的一些文章介绍,完全可以做一个简单的Web应用,但是如果用过PHP或者是Python等语言的框架开发Web应用的时候会发现,从结构目录上来说完全是一个成熟的架构了,但是对于Golang来说,似乎并没有什么成熟的架构,网上大多数现成的架构,也都是很随意,比如最流行的Beego,大概看了下,功能很齐全,可以直接上手使用,...

Go基础学习记录 - 编写Web应用程序 - 安全验证

2018-08-10
阅读 2 分钟
1.9k
前面加了很多功能,但是程序存在严重的安全漏洞,用户可以访问在服务器上读/写的任意路径。为了缓解这种情况,我们可以编写一个函数来使用正则表达式验证标题。首先,将"regexp"添加到导入列表中。然后我们可以创建一个全局变量来存储我们的验证表达式: