基础配置篇:我的博客项目配置文件数据和配置的读写处理

上一节,我们已经定义和创建了我们需要的目录,和项目初始化。这一节我们就可以开始编写博客配置功能了。上面我们提到,我们的配置处理函数将存放在config目录中。我们的项目还需要配置文件。配置文件我们就命名为config.json。它是一个json文件,里面将包含了博客网站的基本信息、数据库配置信息等。config.json 配置文件为了方便查看和读取config.json,我们将它放在项目的config目录下。它里面将包含的字段信息有:{ "mysql": { "database": "irisw...阅读全文

Segmentfault 2020-12-12 17:32:33 开发小程序的之朴

LetsProxy 集成Letsencrypt免费HTTPS证书的反向代理服务器

项目地址: Gitee LetsProxy 使用Golang开发的HTTPS反向代理,功能特点: 内嵌Let's Encrypt自动证书, 支持多组代理 支持多个域名 支持负载均衡 支持Linux和Windows系统服务,系统重启也不怕 编译 go build 国内用户可能需要设置golang编译环境,开启代理,关闭检验 go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPRIVATE=*.gitlab.com,*.gitee.com...阅读全文

简书 2020-12-10 04:32:38 张杰一

golang 设置 http response 响应头与坑

golang 设置 http response 响应头与坑01 设置WriteHeader的顺序问题之前遇到个问题,在一段代码中这样设置WriteHeader,最后在header中取Name时怎么也取不到。w.WriteHeader(201)w.Header().Set("Name", "my name is smallsoup")用 golang 写 http server 时,可以很方便可通过 w.Header.Set(k, v) 来设置 http response 中 header 的内容...阅读全文

51CTO博客 2020-12-09 10:18:57 mb5fcdf2add9b6a

利用golang优雅的实现单实例

利用golang优雅的实现单实例作者 点击上方平时编写代码过程中,经常会遇到对于全局角度只需运行一次的代码,比如全局初始化操作,设计模式中的单例模式。针对单例模式,java中又出现了饿汉模式、懒汉模式,再配合synchronized同步关键字来实现。其目的无非就是将对象只初始化一次,而且最好保证在用到的时候再进行初始化,以避免初始化太早浪费资源,或者两次初始化破坏单例模式的实例唯一性。Go语言的sync包中提供了一个Once类型来保证全局的唯一性操作,其通过Do(f func())方法来实现,即...阅读全文

51CTO博客 2020-12-09 10:07:04 mb5fcdf2add9b6a

golang 设置 http response 响应头与坑

golang 设置 http response 响应头与坑 设置WriteHeader的顺序问题 之前遇到个问题,在一段代码中这样设置WriteHeader,最后在header中取Name时怎么也取不到。 w.WriteHeader(201) w.Header().Set("Name", "my name is smallsoup") 用 golang 写 http server 时,可以很方便可通过 w.Header.Set(k, v) 来设置 http response 中 header 的...阅读全文

51CTO博客 2020-12-08 23:18:54 mb5fcdf2add9b6a

2020全新升级版-Google资深工程师深度讲解Go语言

download:2020全新升级版-Google资深工程师深度讲解Go语言 Go作为专门为并发和大数据设计的语言,在编程界占据越来越重要的地位!不论是c/c++,php,java,重构首选语言就是Go~本次课程特邀谷歌资深工程师,将Go语言使用经验总结归纳,从Go语言基本语法到函数式编程、并发编程,最后构建分布式爬虫系统,步步深入,带你快速掌握Go语言! 适合人群及技术储备要求如果你已经掌握了一门编程语言,想转型Go语言工程师,或者是对Go的基础语法有简单的认识,想更深层次的了解Go语言那么本...阅读全文

51CTO博客 2020-12-09 21:09:08 mb5fd0bb0df2be9

Go语言及Beego框架环境搭建

Go语言及Beego框架环境搭建作者 点击上方在开始环境搭建之前,我们先一起来看看:Go有什么优势:不用虚拟机,它可直接编译成机器码,除了glibc外没有其他外部依赖,部署十分方便,就是扔一个文件就完成了。天生支持并发,可以充分的利用多核,很容易实现并发。25个关键字,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得更加简单。跨平台编译,如果你在wi...阅读全文

51CTO博客 2020-12-09 10:17:28 mb5fcdf2add9b6a

golang初探与命令源码分析

golang初探与命令源码分析作者 点击上方前段时间有群友在群里问一个go语言的问题:就是有一个main.go的main函数里调用了另一个demo.go里的hello()函数。其中main.go和hello.go同属于main包。但是在main.go的目录下执行go run main.go却报hello函数没有定义的错:代码结构如下:gopath ---- src ----gohello ----hello.go ----main.gomain.go如下:package mainimport "...阅读全文

51CTO博客 2020-12-09 10:10:44 mb5fcdf2add9b6a

用go语言爬取珍爱网 | 第一回

用go语言爬取珍爱网 | 第一回 我们来用go语言爬取“珍爱网”用户信息。 首先分析到请求url为:http://www.zhenai.com/zhenghun 接下来用go请求该url,代码如下: package main import ( "fmt" "io/ioutil" "net/http" ) func main() { //返送请求获取返回结果 resp, err := http.Get("http://www.zhenai.com/zhenghun") if err != nil ...阅读全文

51CTO博客 2020-12-08 23:38:56 mb5fcdf2add9b6a

用go语言爬取珍爱网 | 第二回

用go语言爬取珍爱网 | 第二回 昨天我们一起爬取珍爱网首页,拿到了城市列表页面,接下来在返回体城市列表中提取城市和url,即下图中的a标签里的href的值和innerText值。 提取a标签,可以通过CSS选择器来选择,如下:$('#cityList>dd>a');就可以获取到470个a标签: 这里只提供一个思路,go语言标准库里没有CSS解析库,通过第三方库可以实现。具体可以参考文章:https://my.oschina.net/2xixi/blog/488811http://liyangl...阅读全文

51CTO博客 2020-12-08 23:37:13 mb5fcdf2add9b6a

用go语言爬取珍爱网 | 第三回

用go语言爬取珍爱网 | 第三回 前两节我们获取到了城市的URL和城市名,今天我们来解析用户信息。 用go语言爬取珍爱网 | 第一回用go语言爬取珍爱网 | 第二回 爬虫的算法: 我们要提取返回体中的城市列表,需要用到城市列表解析器;需要把每个城市里的所有用户解析出来,需要用到城市解析器;还需要把每个用户的个人信息解析出来,需要用到用户解析器。 爬虫整体架构: Seed把需要爬的request送到engine,engine负责将request里的url送到fetcher去爬取数据,返回utf-8...阅读全文

51CTO博客 2020-12-08 23:34:09 mb5fcdf2add9b6a

go语言正则表达式

go语言正则表达式 我们前两节课爬取珍爱网的时候,用到了很多正则表达式去匹配城市列表、城市、用户信息,其实除了正则表达式去匹配,还可以利用goquery和xpath第三方库匹配有用信息。而我利用了更优雅的正则表达式匹配。下来大概介绍下正则表达式。 比如我们匹配城市列表的时候,会取匹配所有城市的url,如下: 可以看到图片后是小写字母加数字,那么就可以用以下方式提取: <a href="(http://www.zhenai.com/zhenghun/[0-9a-z]+)"[^>]*>([^<]+)...阅读全文

51CTO博客 2020-12-08 23:31:05 mb5fcdf2add9b6a

配置 UnixODBC

资源紧张的时候,服务器是大家共用的,上面部署了一堆服务。所以选用docker 进行 unix odbc 的编译和适配。避免牵一发而动全身,影响他人使用。(我不会告诉你其实:是服务器 gcc 版本太低了,编译报错) 因为最终,我们是使用 golang 进行开发的。所以基于 golang1.14 镜像来构建。 1 创建 Dockerfile root@Kylin:/data/liutongtong011# cd /data/liutongtong011 root@Kylin:/data/liuton...阅读全文

简书 2020-12-09 21:32:42 梦之上

宝藏工具!基于gin的golang网站开发的认证利器jwt

JSON Web令牌(JWT)是一种很流行的跨域认证解决方案,JWT基于JSON可以在进行验证的同时附带身份信息,对于之前分离项目很有帮助。 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c JWT由三部分组成,每个部分之间用点.替换,分...阅读全文

简书 2020-12-09 21:32:41 代码小能手

简单介绍Prometheus

一、什么是Prometheus? Prometheus是一套开源的监控与告警系统,基于Golang实现,可用于对集群的状态进行实时的监控。 如今如多的公司与组织都在使用Prometheus,项目具有非常成熟的开发者社区。 github上star数量为33.4k prometheus提供的Web界面 二、Prometheus的启动? 1、下载Prometheus,选择合适的版本,我选择的是prometheus-2.17.0-rc.0.linux-amd64。https://prometheus.i...阅读全文

简书 2020-12-09 21:32:41 Karl_Zhang

php/golang使用chrome内核实现服务器端html转pdf,html转图片,pdf加水印,pdf转图片等

php/golang使用chrome内核实现服务器端html转pdf,html转图片,pdf加水印,pdf转图片等 Doctron github地址: https://github.com/lampnick/doctron Doctron简介 Doctron是基于Docker、无状态、简单、快速、高质量的文档转换服务。目前支持将html转为pdf、图片(使用chrome(Chromium)浏览器内核,保证转换质量)。支持PDF添加水印。 在线体验 您可以打开下面的链接在线体验转换质量,由于服务器...阅读全文

简书 2020-12-09 21:32:38 lampNick