摘要: 在使用goctl 生成rpc文件后,运行服务提示rpc.proto已经被注册,这是因为官方包中具有同名rpc文件,类似于rpc,common等名字都会报此种错误,建议将rpc.proto修改为appname_rpc.proto,问题解决。 若提示找不到proto,或者yalm文件时,检查是否在当前项 阅读全文
posted @ 2022-07-12 10:32 fanyiaaa 阅读(442) 评论(0) 推荐(0) 编辑
摘要: Go 语言中,比较常见的错误处理方法是返回 error,由调用者决定后续如何处理。但是如果是无法恢复的错误,可以手动触发 panic,当然如果在程序运行过程中出现了类似于数组越界的错误,panic 也会被触发。panic 会中止当前执行的程序,退出。 defer panic 会导致程序被中止,但是在 阅读全文
posted @ 2021-11-23 16:44 fanyiaaa 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 网页的三剑客,JavaScript、CSS 和 HTML。要做到服务端渲染,第一步便是要支持 JS、CSS 等静态文件。还记得我们之前设计动态路由的时候,支持通配符*匹配多级子路径。比如路由规则/assets/*filepath,可以匹配/assets/开头的所有的地址。例如/assets/js/g 阅读全文
posted @ 2021-11-23 16:32 fanyiaaa 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 在上一章中已经实现了分组控制,在这一章中我们实现中间件的功能 中间件是什么 中间件(middlewares),简单说,就是非业务的技术类组件。Web 框架本身不可能去理解所有的业务,因而不可能实现所有的功能。因此,框架需要有一个插口,允许用户自己定义功能,嵌入到框架中,仿佛这个功能是框架原生支持的一 阅读全文
posted @ 2021-11-23 16:09 fanyiaaa 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 分组的意义 分组控制(Group Control)是 Web 框架应提供的基础功能之一。所谓分组,是指路由的分组。如果没有路由分组,我们需要针对每一个路由进行控制。但是真实的业务场景中,往往某一组路由需要相似的处理。例如: 以/post开头的路由匿名可访问。 以/admin开头的路由需要鉴权。 以/ 阅读全文
posted @ 2021-11-16 17:28 fanyiaaa 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 在上一节中我们已经搭建起了自己的服务,并且可以在浏览器中看到服务运行的效果,接下来就要控制路由的访问了,之前我们使用一个map来存储路由,但是这样有一个问题,我们知道所有的服务路由不可能都为静态,一定会有类似hello/:username等类似的路由,我们称此类路由为动态路由,所谓动态路由,即一条路 阅读全文
posted @ 2021-11-16 15:36 fanyiaaa 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 服务搭建 net/http包很轻松得帮我们实现web层服务,该架构基本上都是基于这个包来实现的,由于暂时想不到什么好名字,所以把这个框架命名为finto 接下来就开始吧~~~ (一):新建文件夹,命名为kuangjia,新建用于测试的main.go,新建mod文件,并创建框架文件finto,在文件子 阅读全文
posted @ 2021-11-09 16:41 fanyiaaa 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 由于go的net/http包十分方便的帮我们实现了一个web服务器所需要的大部分功能,框架的设计模式和思想与语言无关,作为学习采用go来搭建自己的web框架。 为什么需要框架?即使不使用框架,我们依然可以实现相应的web服务和功能,但是很多地方都需要进行频繁的手工处理和庞大的代码量,这就是使用框架的 阅读全文
posted @ 2021-11-09 15:58 fanyiaaa 阅读(208) 评论(0) 推荐(0) 编辑
摘要: Python 中的 logging 模块可以让你跟踪代码运行时的事件,当程序崩溃时可以查看日志并且发现是什么引发了错误。Log 信息有内置的层级——调试(debugging)、信息(informational)、警告(warnings)、错误(error)和严重错误(critical)。你也可以在  阅读全文
posted @ 2019-07-30 09:20 fanyiaaa 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 1. 学习Proxy首先看标红,intercept is on 为拦截状态 其对应的intercept is off 为非拦截状态,设置完代理后打开拦截状态 ,浏览器发起的请求会被burpsuite所拦截forward: 进行请求后被拦截,点击forward可以继续此次请求,如果你点击drop则丢弃 阅读全文
posted @ 2019-07-29 08:19 fanyiaaa 阅读(2400) 评论(0) 推荐(0) 编辑