在Golang的HTTP请求中共享数据

  • Post author:
  • Post category:IT
  • Post comments:0评论

首先,我们需要先明确一下问题的描述:本文所要讨论的共享数据可不是指的 cookie、session 之类的概念,它们描述的是在「请求间」共享数据,而我们关注的是在「请求中」共享数据,也就说是,在每个请求中的各个 middleware 和 handler 之间共享数据。 实际上,我之所以关注这个问题源自 httprouter,众所周知,httprouter 是目前 Golang 社区最流行的 HTTP 路由库,不过它有一个问题,其 handler 参数定义如下: func (http.Respon…

继续阅读在Golang的HTTP请求中共享数据

找回密码的功能设计

  • Post author:
  • Post category:IT
  • Post comments:0评论

所有需要登录的网站,都会提供"找回密码"的功能,防止用户忘记密码。 正确设计这个功能,保证安全可靠,并不简单。下面就是安全专家 Troy Hunt 给出的设计指南。 一、如何保存密码 一个网站要想保证密码安全,第一步就是以正确的方法保存密码。一般说来,密码有三种保存方式。 (1)明文保存 "明文保存"就是用户的密码原文不动地写入数据库。这种方式最不安全,极易泄漏,应该严格禁用。 (2)加密保存 "加密保存"就是使用密钥,将密码加密后,以…

继续阅读找回密码的功能设计

Go Reflect 性能

  • Post author:
  • Post category:IT
  • Post comments:0评论

Goreflect包提供了运行时获取对象的类型和值的能力,它可以帮助我们实现代码的抽象和简化,实现动态的数据获取和方法调用, 提高开发效率和可读性, 也弥补Go在缺乏泛型的情况下对数据的统一处理能力。 通过reflect,我们可以实现获取对象类型、对象字段、对象方法的能力,获取struct的tag信息,动态创建对象,对象是否实现特定的接口,对象的转换、对象值的获取和设置、Select分支动态调用等功能, 看起来功能不错,但是大家也都知道一点:使用reflect是有性能代价的! 测试 Java中的…

继续阅读Go Reflect 性能

每周分享第 42 期

  • Post author:
  • Post category:IT
  • Post comments:0评论

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的ruanyf/weekly提交 issue。 通知:下周春节假期,周刊暂停一期。 呆伯特漫画的作者亚当斯( Scott Adams),有一次谈到自己的成功秘诀。 他的经历其实很普通。小时候喜欢画画,画得还可以,但远远不算优秀。长大以后,在一家公司当经理,管理企业,也是业绩平平。无论是选择当画家,或者继续当公司经理,也许都能够干下去,但应该都不会很成功。于是,他灵机一动,把自己的这两个特点…

继续阅读每周分享第 42 期

火币、BigONE同日宣布撤出日本

  • Post author:
  • Post category:IT
  • Post comments:0评论

图片来源:视觉中国 火币、BigONE同日宣布撤出日本 前日,火币和BigONE相继“再次”官方宣布撤出日本。其中火币宣布在7月2日撤下日本的网页,BigONE在7月30日(中国时间)屏蔽日本用户登陆和交易。 火币撤出日本邮件通知 这并不是火币或者其他国际大平台第一次在日本疯狂踩线,之前火币在日本就有几位频繁的活动,与金融厅也在交涉中,还有币安等这样的国际大平台,具体可以参看链得得App之前文章:【得得深度】交易所牌照紧缺,如何吞下日本数字货币市场这块肥肉? 纵观国际各大…

继续阅读火币、BigONE同日宣布撤出日本