自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 博客功能篇:博客的初始化处理和管理员的账号注册

前面思路篇和基础篇我们已经准备得差不多了,现在开始正式进入到功能实现步骤。第一步,是处理博客初始化工作。这一步我们将完成博客的初始化工作,回写配置信息、注册管理员账号等操作。当我们需要将博客分发和部署到服务器的时候,最好的操作是,运行博客程序后,类似其他cms、WordPress一样,初次访问,会要求输入数据库信息和管理员账号信息,通过简单的配置后,不可就可以开始正常使用了。我们也一样,也在博客开始运行的时候,来配置数据库信息、管理员账号。定义常量在开始初始化之前,我先定义几个常量,在config文

2020-12-28 11:27:04 383

原创 础配置篇:博客404错误拦截与500错误输出

往往,我们的博客并不会包含所有的路由,也就是说,我们只有特定的几个路由,如果用户随便输入了一个路径地址,我们没有控制器来处理,那么程序就会抛出一个404,为了美观,也样式的统一,我们一般需要自定义404页面。这时候,我们就需要从路由中拦截404,然后重新定义404页面了。404错误页面的拦截和重定义我们先在controller文件夹建立一个common.go文件,用来放一些公共的处理函数,如404的控制器,500错误的控制器等。404控制器package controllerimport (

2020-12-20 09:55:02 607 1

原创 基础配置篇:博客模板的格式语法和后端如何传递数据到模板逻辑

前面的章节中,我们选择了使用iris.Django作为我们前端使用的模板引擎,因此我们这里只介绍它的相关语法。iris.Django模板语法和使用iris.Django模板引擎的模板解析器是pongo2,它是一个类似于 Django 模板语法的模板引擎。Django 是一个开放源代码Python编写的Web应用框架。它的模板引擎语法相对简单,清晰,使用起来也非常方便。因此我们就使用它做为我们的博客的前端模板引擎了。模板的嵌套引用往往制作模板的时候,我们会将一些公共部分,比如header、footer

2020-12-12 09:51:29 155

原创 基础配置篇:博客的控制器函数和使用

iris框架的资料,不是太多,可能使用iris框架的人,都是实用主义吧,直接都是看实例来操作了。在这里,我还是要简单说一下,以加深控制器的印象。控制器属于MVC中的C,C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。我们博客中,所有的控制器都存放在controller文件夹中。控制器的使用,需要绑定到路由中。现在我们已经在index.go 中

2020-12-12 09:50:50 168

原创 基础配置篇:博客的iris中间件配置

中间件的意思是,我们运行博客后,用户访问一个链接,程序会最终执行这个链接对应的控制器。在执行控制器里面的代码之前运行的其他代码,我们就叫做中间件。比如常用到的中间件有:authorization权限判断,logger访问日志,cors跨域处理options请求等。这些中间件有做拦截的,有做旁路的等等功能。我们要制作的博客,同样需要使用到中间件功能,我们的博客设计中用到的功能有管理员权限判断、cors判断等。cors跨域处理options请求options叫做预检请求,就是查看是否可以或者允许跨域请求。

2020-12-12 09:50:17 801

原创 基础配置篇:gorm的使用,数据库的连接和配置以及数据库操作

gorm是一个Golang写的,开发人员友好的ORM库。前面配置章节我们已经使用gorm对我们设计的mysql数据库进行了连接。这一节我们再讲讲怎么配置gorm。gorm支持多种数据库连接,目前官方列出来的支持库有:MySQL, PostgreSQL, SQLite, SQL Server 四种数据库连接。在我们要开发的博客网站中,我们选择使用 MySQL 来作为后端数据库。数据库连接连接MySQL数据库,需要引入 gorm 和mysql两个包:import ( "gorm.io/driver/

2020-12-11 09:26:34 9961 2

原创 基础配置篇:数据表和golang结构体关联和映射关系处理

上一节我们介绍了gorm的连接和配置,并且我们也在数据库中创建了 admins、article_data、articles、attachments、categories 五个表。但是我们还没有将它和golang结合在一起,我们的博客网站还不能从数据库读写数据。需要使用gorm来读写数据,我们还需要先给每个表定义一个模型(struct)。前面建立目录的时候,我们已经定义了数据库模型文件存放的目录 为model 文件夹。因此我们在model目录分别按表名称的单数形式创建对应的go文件,并定义对应的模型结构体。

2020-12-11 09:25:22 3174

原创 基础配置篇:扩展模板引擎功能,给模板引擎添加自定义函数

iris内置的模板引擎语言和标签,默认是不支持使用golang的函数的。但有时候,我们又需要在模板中处理一些变量。这个时候我们就需要手动给模板引擎添加自定义函数了。给模板引擎添加自定义函数的方法很简单,先是写好函数,然后将函数添加到模板引擎就可以了。下面我们以给模板添加一个时间格式化函数为例,说明给模板引擎添加函数的方法。我们先在bootstrap.go 中,添加下面的方法:func TimestampToDate(in int64, layout string) string { t := time

2020-12-10 14:48:13 301

原创 基础配置篇:为博客网站项目选择合适的前端模板引擎

对于golang开发网站来说,直接用golang来处理输出内容,很难满足我们多样化的页面效果需求的,因此,我们需要先给我们的博客网站设置一个模板引擎。模板引擎的作用就是让我们可以使用html标记语言来编排我们的页面,包括html、css、js等的运用。我们在Serve 函数中,增加如下代码 pugEngine := iris.Django("./template", ".html") if config.ServerConfig.Env == "development" { //测试环境下动态加

2020-12-10 14:46:56 179

原创 基础配置篇:博客的访问路径路由配置和控制器

上一章节我们提到了路由配置,并且使用匿名函数写了一个Hello World的控制器,直接输出内容。但是在实际的项目的使用中,往往需要更多的路由入口和更自由的控制,也是为了页面逻辑更清晰,让各个go文件做到各司其职,因此我们需要将路由配置独立编写到一个独立的文件中去。独立路由文件下面我们就将路由配置放到前面我们已经创建好的route文件夹中,我们命名一个route.go 文件,并在里面添加内容:package routeimport ( "github.com/kataras/iris/v12"

2020-12-10 14:45:49 320

原创 将WordPress安装在一级目录下的nginx伪静态规则配置方法

现在有部分用户在建站的时候,根目录下已经运行了一份程序代码,并且设置了伪静态。为了增加网站的收录量,还会给网站增加站内站的功能。一般没有开发能力的用户,会选择在一级目录下再按照一个WordPress来作为站内站发一些不太紧要的文章。这里说说如何给安装在一级目录下的WordPress程序设置nginx伪静态规则问题。如果伪静态设置不当的话,会导致网站不能正常打开。要么就是影响到了原来的网站,导致原来网站内页打不开,要么就是影响到了WordPress站点,导致站内站内页打不开,或者设置不当导致内页能打开了,后台

2020-12-10 10:00:39 712

原创 基础配置篇:初次使用golang,创建项目入口,使用iris框架运行项目

每一个项目都需要一个入口,才能让项目运行起来。前面章节我们提到了main目录为入口目录,main()为golang的入口函数。因此,我们在main目录下创建一个main.go文件来作为入口文件,在里面编写main()函数。小试身手package mainimport "fmt"func main() { fmt.Println("Hello World")}这里简单的输出了Hello World到控制台中。我们先试一下运行它,看能不能得到Hello World的结果。运行测试是非常简单

2020-12-09 09:06:44 1127 2

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

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

2020-12-09 09:04:44 252

原创 基础配置篇:建立项目,为我的博客项目制定目录层次结构和项目初始化

前期准备、构思已经相对比较完善了,我们在构思章节中,已经明确了我们的需求,知道我们的博客他需要有些什么功能,博客的数据库设计、博客的界面设计等信息。也大致了解到了golang的安装配置、基本语法等。这一节内容中,我们将开始进行我们最重要的一步,开始实战学习golang了。目录结构一个清晰明确的目录结构,可以让项目更清晰,更好维护和扩展。目录结构的组织,也是可以灵活变动的。它本身没有一个严格规定的格式。我们只需要做到合适、合理、清晰就可以。下面是我对博客程序设计的目录结构的设计。目录都采用一级目录形式放

2020-12-09 09:03:31 234

原创 拓展学习-golang的基础语法和常用开发工具

golang的基础语法golang的基础语法和其他语言大部分都差别不大,如果我们有学习过其他语言,比如JavaScript,php,java,python等,有其他语言的语法基础,那么我们学习golang将更容易上手。那我们直接开始介绍golang的语法吧。注释注释分单行注释和多行注释。golang的注释和其他的开发语言的注释是一样的。双斜杠表示单行注释,/**/表示多行注释。// 单行注释这么开头/* 多行注释*/定义包名一般来说,使用开发工具的时候,包名是不需要手动输入的,开发工

2020-12-08 09:20:11 229

原创 我的博客可能需应用到的技术选择和整理

我们后端的主要技术是golang。然而,往往一个系统,都不是仅靠一个技术就能完整的实现的,要不就不用叫做系统了。既然我们是要做博客网站,自然网站的相关技术少不了。下面我们来捋一捋具体需要使用到的哪些技术。htmlHTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。就是这个意思,我们的博客需要使用ht

2020-12-08 09:19:16 440

原创 将构思转成计算机可识别的设计,根据构思为我的博客设计数据库

根据前面的构思信息,结合思维导图、设计稿,我们就可以设计数据库了:我们需要创建5张表,分别是:文章表(articles)、文章内容表(article_data)、文章分类表(categories)、文章图片表(attachments)、博客管理员表(admins)。接着给每张表设计需要的字段:文章表articles表结构:CREATE TABLE `articles` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varc

2020-12-08 09:18:22 141

原创 将我的构思更直观的表现出来,为我的博客绘制一个简单的设计稿

学习golang开发,不应该仅仅局限于golang语言本身。同时我们还应该拓展学习为学好golang而需要应用到的其他方面的知识。比如学习html、css、js,项目架构、画原型图等工作。这一节,我们就要利用网络工具来给我们的博客画出存在于我们脑子里的博客的基本样子,以便后面我们制作博客网站的时候,可以拿它来做基本的参考,同时也是可以给我们后面分步编写工作提供工作量预估等。博客首页该长的样子,博客首页的设计图博客首页包含三大块,头部导航、中间主体文章列表内容、页脚信息等。头部采用常规的网址设置,中

2020-12-08 09:17:26 525

原创 将我的思路表现出来,为我的博客话一个思维导图

上一节我们已经构思好了我们的博客它需要的功能,这一节我们就根据构思出来的功能需求,用简单的思维导图逐一画出来。思维导图我们选用xmind软件来画。这个软件是跨平台的,它支持windows、mac平台等。下面是我画的思维导图的样子:它包含了文章模块、文章分类模块、文章图片模块、发布文章模块、博客管理员模块一共五个模块。文章模块包含:文章标题、文章关键词、文章简介、文章分类、文章内容、文章浏览量、发布时间等。文章分类模块包含:分类标题、分类简介等。文章图片模块包含:图片名称、图片文件大小、图片尺

2020-12-07 11:37:03 211

原创 我需要一个怎样的博客?为我的博客构思需要的功能

我使用过WordPress,zblog来搭建博客,他们都具有强大的功能,用起来也不错。但是作为学习的对象,我还是希望拥有一个自己编写的博客网站。以前是因为没有能力和动力,没办法独立完成一个博客网站。现在机会来了,我们趁学习golang的机会,顺便将曾经一直未能实现的博客也一并写出来吧。我们现在先根据曾经的博客使用习惯,来构思下我的博客系统大概会有什么样的功能。首先,构思下我的博客他需要有什么功能?需要有文章、有分类、有图片。需要可以发布文章、添加分类、上传图片。需要可以管理文章、分类,可以添加,

2020-12-07 11:36:07 147

原创 学习golang开始前的准备工作

学习任何一门语言,都需要了解和学习好基础,至于基于该语言的各种框架,对于我们来说,都是工具。打牢基础,并不是指只熟记语言的关键词和语法,更重要的是我们需要知道它是什么,为什么要这么用,它包括程序思维逻辑和实现方法。什么是golangGo(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go的语法接近C语言,但对于变量的声明(英语:type declaration)有所不同。Go支持垃圾回收功能。通过goroutine和通道等并行构造可以建造线程池和管

2020-12-07 11:35:02 197

原创 拓展学习-golang的下载、安装和环境配置教程

由于国内众所周知的原因,我们是不能直接访问到golang官网的,因此下载go语言的安装包还需要另辟蹊径。下面我们以用国内的golang源来下载安装包为例,阐述golang的下载、安装和配置方法。go语言的下载golang的官网地址为 https://golang.org/dl/ 。知道就行了,指望打开它并从它上面下载是不切实际的。国内下载地址:https://studygolang.com/dl 。根据你的系统选择合适的安装包下载。如图所示:go语言的安装和环境配置下载完成后,在你的下载目录下,

2020-12-07 11:34:07 859

原创 为什么要学go语言,golang的优势有哪些?

在过去几年,有一门崛起的新语言:Go 或者 GoLang。没有什么比一门新的编程语言更令开发者兴奋了,不是么? 自从我开始学习golang后,我便放弃了我的php大业,虽然php号称“php是世界上最好的语言”,但是通过实战证明,golang更香甜。为什么要学go语言?扯太高大上的优势我也说不上来,我就从我切身经历的几个方面说说我为什么学golang吧。这些都是真实的需求对比,它制约着我前进的步伐。在php开发的时候,我经常遇到一些不太好解决的问题:php只能单线程执行任务,在比如在采集任务中,它

2020-12-07 11:28:55 1268 1

原创 从零开始实战学习golang网站开发技术教程(大纲)

网上有很多的golang开发教程,他们都是从最基础的安装环境、golang语法开始的,对于一个小白,他是有帮助的。然而大家都知道,一味地接受学习,是一个枯燥到让人窒息的过程。更多的时候是,学完就完了,该忘的、不该忘的大部分都忘记了,没有根据自己的实际需求学习,大多都记忆不够深刻。为了打破这种低效率的学习过程,我将从这里开始,介绍一种带着需求学习方式。前言:为什么要学go语言,golang的优势有哪些?拓展学习-golang的下载、安装和环境配置教程思路篇:实战,就是要一开始就切入主题,此处废话省略

2020-12-07 11:25:13 1112

基于安企CMS + Fate 二次开发的起名网程序带功能数据

基于安企CMS + Fate 二次开发的起名网站安装教程 应用到的开源项目: AnQiCMS Fate 安装方法: 下载 anqicms-linux-fate.zip 安装步骤按照AnQiCMS的安装步骤进行,AnQiCMS安装教程 登录网站后台,在功能里找到备份与恢复功能,找到备份文件[20240908-qiming],点击恢复。由于备份文件较大,因此恢复时间可能会超过1分钟,为了确保恢复成功,建议在点击恢复后,等待10分钟左右,点击右上角重启按钮,重启网站。 恢复并重启网站后,来到模板设计里,点击启用[起名模板]。 完成以上步骤后,即可得到一个完整的起名网站。该网站的起名功能仅集成到了前台,后台管理功能未实现。 起名网站的功能: 八字起名 古籍起名 (论语、大学、中庸、诗经、周易、楚辞、尚书、道德经、唐诗、宋词、三字经、千字文、美好成语) 姓名测试 生辰八字测算 起名字典 百家姓 生肖起名

2024-09-11

大文件分割器,可以将文件按指定大小分割成若干份

你可以使用大文件分割器将文件分割成指定大小的多个文件。 日志文件分割,可以用于将大的日志文件、小说文件等分割成多个小文件。 特点: 1. 默认按1MB大小分割,你可以指定分割大小,比如你的文件是100M,你想分成10份,则分割大小就填写 10,只需要填写数字就可以,单位不用填写。 2. 分割后的文件默认会保存到待分割文件相同目录下的chunked文件夹。

2022-09-26

AnqiCMS(安企内容管理系统)免费开源的企业建站CMS-MacOS版

安企内容管理系统(AnqiCMS),是一款使用 GoLang 开发的企业站内容管理系统,它部署简单,软件安全,界面优雅,小巧,执行速度飞快,使用 AnqiCMS 搭建的网站可以防止众多安全问题发生。AnqiCMS 的设计对SEO友好,并且内置了大量企业站常用功能,对网站优化有很好的帮助提升,对企业管理网站一定程度上提供了办事效率,提高企业的竞争力。 AnqiCMS 除了适合做企业站,也适合做营销型网站、企业官网、商品展示站点、政府网站、门户网站、个人博客等等各种类型的网站。AnqiCMS 是什么,AnqiCMS 是一个可以自由使用并开放源码的内容管理系统,你可以拿 AnqiCMS 来搭建各种合法的网站。 AnqiCMS 支持 Django 模板引擎语法,该语法类似 blade 语法,可以非常容易上手模板制作。网站模式支持 自适应、代码适配、PC+mobile独立站点 模式,根据不用需求,可以选择适合自己的搭配方式来建站。

2022-07-08

AnqiCMS(安企内容管理系统)免费开源的企业建站CMS-linux版

安企内容管理系统(AnqiCMS),是一款使用 GoLang 开发的企业站内容管理系统,它部署简单,软件安全,界面优雅,小巧,执行速度飞快,使用 AnqiCMS 搭建的网站可以防止众多安全问题发生。AnqiCMS 的设计对SEO友好,并且内置了大量企业站常用功能,对网站优化有很好的帮助提升,对企业管理网站一定程度上提供了办事效率,提高企业的竞争力。 AnqiCMS 除了适合做企业站,也适合做营销型网站、企业官网、商品展示站点、政府网站、门户网站、个人博客等等各种类型的网站。AnqiCMS 是什么,AnqiCMS 是一个可以自由使用并开放源码的内容管理系统,你可以拿 AnqiCMS 来搭建各种合法的网站。 AnqiCMS 支持 Django 模板引擎语法,该语法类似 blade 语法,可以非常容易上手模板制作。网站模式支持 自适应、代码适配、PC+mobile独立站点 模式,根据不用需求,可以选择适合自己的搭配方式来建站。

2022-07-08

AnqiCMS(安企内容管理系统)免费开源的企业建站CMS-windows版

安企内容管理系统(AnqiCMS),是一款使用 GoLang 开发的企业站内容管理系统,它部署简单,软件安全,界面优雅,小巧,执行速度飞快,使用 AnqiCMS 搭建的网站可以防止众多安全问题发生。AnqiCMS 的设计对SEO友好,并且内置了大量企业站常用功能,对网站优化有很好的帮助提升,对企业管理网站一定程度上提供了办事效率,提高企业的竞争力。 AnqiCMS 除了适合做企业站,也适合做营销型网站、企业官网、商品展示站点、政府网站、门户网站、个人博客等等各种类型的网站。AnqiCMS 是什么,AnqiCMS 是一个可以自由使用并开放源码的内容管理系统,你可以拿 AnqiCMS 来搭建各种合法的网站。 AnqiCMS 支持 Django 模板引擎语法,该语法类似 blade 语法,可以非常容易上手模板制作。网站模式支持 自适应、代码适配、PC+mobile独立站点 模式,根据不用需求,可以选择适合自己的搭配方式来建站。

2022-07-08

全网网址采集器Windows版

这是一个由golang编写的全网网址采集器,可用自动爬取可触及的所有网站信息。该网址采集器会自动采集并分析网站的标题、站点描述、微信、QQ、联系电话、网站所用的运行环境、ip信息等,甚至是网站所用的框架。使用方法参考readme.md

2020-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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