摘要: 原文地址:https://caixw.io/posts/2022/build-go-router-with-generics.html Go 语言的路由库有很多,功能上都大同小异,最大的差异应该是路由函数的签名,官方采用了 http.Handler 接口,而大部分非官方路由都将 http.Respo 阅读全文
posted @ 2022-03-17 09:18 caixw 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 需求 一个通用的日志包,应该满足以下几个需求: 兼容 log.Logger,标准库大量使用了 log.Logger 作为其错误内容的输出通道,比如 net/http.Server.ErrorLog,所以兼容 log.Logger 是首要的需求; 自定义配置,不同的运行环境,往往需要不同的日志输出配置 阅读全文
posted @ 2017-08-23 00:28 caixw 阅读(743) 评论(0) 推荐(0) 编辑
摘要: 各类软件的版本号定义虽然都不尽相同,但是其基本原理基本上还是相通的:通过特写的字符对字符串进行分割。我们把这一规则稍作整理,放到 struct tag 中,告诉解析器如何解析,下面就以 semver 为例作个示范: type SemVersion struct { Major int `versio 阅读全文
posted @ 2017-08-23 00:23 caixw 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 发布于 署名 4.0 国际 (CC BY 4.0) 原文链接:https://caixw.io/posts/2017/referrer-policy.html 当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定 阅读全文
posted @ 2017-08-16 18:19 caixw 阅读(51023) 评论(0) 推荐(6) 编辑
摘要: RESTful API 为网络应用程序设计提供了一套统一、合理的风格。它只是一种风格,而不是标准,所以也就没有一套统一的标准去规范化这些设计,本文从实践的角度出发,讨论 RESTful API 设计上的一些细节,探讨如何设计出一套好用、合理、精炼的 API。 版本 按照 RESTful API 的风 阅读全文
posted @ 2017-08-05 03:05 caixw 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 之前写过一个用jQuery实现的下拉菜单,可以实现无限级子菜单。其实用CSS也可以实现相同的功能,而且代码量更少,最起码不用那一大堆的JS控制代码。代码如下: 这是HTML代码 <div id="menu"><ul><li><a href="">菜单一</a> <ul> <li><a href=""&g... 阅读全文
posted @ 2010-08-27 21:08 caixw 阅读(620) 评论(2) 推荐(1) 编辑
摘要: 一说到prototype很多人可能第一个想到的是著名的prototype.js框架,当然我们今天说的不是它,而是Javascript中的prototype属性,一般都被翻译为“原型”。这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现。 在Javascript中,一切都是对象, 阅读全文
posted @ 2010-08-15 04:11 caixw 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 网上这种插件很多,但是没一个合适的,大部分都做得很大,功能齐全。于是自己做了这个小插件,顺便学习下jQuery插件的写法。 阅读全文
posted @ 2010-08-09 01:53 caixw 阅读(5949) 评论(18) 推荐(6) 编辑
摘要: 介绍 迭代器这种设计模式很常见,也很实用。最著名的要算是C++中STL的实现了。它提供了一个统一的接口,使用访问者在不知道类对象内部数据结构的情况下遍历其内部数据。PHP5中提供了对这种设计模式的内置支持,其实所谓的内置支持就是可以使用foreach语言结构来访问实现迭代器接口的类。 一个简单的自定 阅读全文
posted @ 2010-07-28 03:53 caixw 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 一个用jQuery实现的下拉菜单,非常的简单,效果如下:演示程序在 这里这是菜单的内容,用ul标签实现菜单:1<divid="menu">[代码]这是JS的控制代码1$(document).ready(function()[代码] 阅读全文
posted @ 2010-07-24 03:20 caixw 阅读(1764) 评论(0) 推荐(0) 编辑