【7天用Go从零实现】Web框架Gee教程(2)
7天用Go从零实现Web框架Gee教程(2)本文参考:https://geektutu.com/post/gee.html
好的,让我们继续往下看
Day2 上下文先看看文件结构吧
│ go.mod│ main.go│└─gee context.go gee.go go.mod router.go
这里是对gee框架进一步拆解模块化,分为context,gee,router,重点看看context,就是其实就是将Request和Response进行了封装,顶多将常用的Path、Method、StatusCode拎出来了而已, 噢,还有内部的方法,写响应的String、JSON、Data、HTML各种格式。
type Context struct { // origin objects Writer http.ResponseWriter Req *http.Request // request info Path string Method string // response info StatusCo ...
【7天用Go从零实现】Web框架Gee教程(1)
7天用Go从零实现Web框架Gee教程(1)本文参考:https://geektutu.com/post/gee.html
研究这个教程的时候,我刚刚开始学习用Go,觉得单纯看语法学习效率较低,而且容易遗忘,所以就打算边看边学,顺便学习Web框架相关的知识,之前用过爬虫,但还只是浅尝辄止,稀里糊涂,我想学习Web框架也有助于对爬虫的理解。
对于初步使用Go语言搭建Web应用的人来说,Gin框架无疑是最常见的,我也不例外,之前也用Gin写了一个简单的TODOList, 而Gee框架是一个简化的类Gin框架,适合帮助初学者理解Web框架。
写这篇博客的时候我已经看到了Day3,到Day3的时候项目已经逐渐变得稍微复杂起来,而且出现了单测这个之前有所耳闻的概念,脑子里有些混乱了,于是打算停下来复盘一下,顺便写篇博客。
Day0 序言框架有简化开发的作用,避免了不必要的繁复操作,同时框架提供了很多额外的功能,像是动态路由、中间件等等
Day1 HTTP基础这篇包括了三个Web应用版本,由最基础逐渐复杂起来(虽然整个教程就是这样一个常见的“合理的”难度梯度)
base1这里主要就是要了解net ...
Hexo博客日志(2)
本博客的报错和解决在使用博客的过程中, 也出现了不少问题,虽然在日志(1)中也写了两个报错,而在这里就写写出现的报错我感觉可以单独写一篇,在写这篇博客的时候我可能还没有解决这些错误,会有我的探索过程
目前出现的最大的问题就是在博客本地仓库修改过之后,进行提交会报错,这种错误我之前也遇到过,一般都是通过推倒重来,重新搭建博客解决的,但这终究不是长久之计,于是想着深入了解报错的原因
首先我打算查看一下本地仓库和远程仓库的提交记录,看两者出了什么差错
//查看本地提交记录git log//查看远程仓库提交记录git log origin/main
看了两边的提交记录之后确实差得很大,甚至就没有重合的部分,可能是我之前由于某种原因清除了本地的原因,既然完全不同,那还是重建仓库好了,这边也是,由于.deploy_git文件夹是用于存储文件以及git提交的文件夹,我本来想过删除本地的提交记录,但是好像不可行,于是我就干脆删除该文件夹,重新放入初始的.deploy_git文件夹,使用hexo g在.deploy_git文件夹中重新生成文件,推送,就好了。
总结一下,两边进程不同步,初始化.depl ...
二叉树迭代遍历
二叉树迭代遍历本文参考:代码随想录 (programmercarl.com)
二叉树的遍历使用递归是相当简单优雅的,但如何使用迭代实现?
对于二叉树的遍历,我将它想象成对一个二叉树结构洞穴的探索,冒险者就是实时锚点cur,而栈则是冒险者经过某些路口在地图上标记的信息
前序遍历(中左右)
class Solution {public: vector<int> preorderTraversal(TreeNode* root) { stack<TreeNode*> st; vector<int> result; if (root == NULL) return result; st.push(root); while (!st.empty()) { TreeNode* node = st.top(); // 中 st.pop(); resul ...
Hexo博客日志(1)
本博客的搭建方法省流:Hexo框架 + Butterfly主题搭建博客
搭建方法主要参考:
https://butterfly.js.org/posts/21cfbf15/
https://nickxu.me/2022/02/13/Hexo%20+%20Butterfly%20%E5%BB%BA%E7%AB%99%E6%8C%87%E5%8D%97%EF%BC%88%E4%B8%80%EF%BC%89Hexo-%E6%A1%86%E6%9E%B6/
//初始化Hexohexo init MyBlog@_config.yml配置文件//修改基本信息,部署网址位置,这里我选择部署到github pages上(因为免费x//安装hexo框架中的git部署npm install hexo-deployer-git --save*至此可以在公网上部署博客了,虽然是最基本的格式//安装butterfly主题git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly//安装渲染器 ...
About My Blog
About My Blog前言:在搭建这个博客的时候我已经快大二了,大学时光所剩不多,搭建这个博客除了作为存放学习笔记的地方,也是我告别迷茫大一开启新篇章的里程碑,希望未来的我能够大展拳脚,拥有一段精彩的大学生活。
——致 未来的Youndry
由于本人的学习方法,本博客并不会事无巨细地整理记录,那样过于低效,本博客只是大概地记录学习过程中的关键过程,或者写一写自己的感悟。
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment