首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Jiahonzheng
掘友等级
在读大三学生,就读于中山大学
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
487
文章 460
沸点 27
赞
487
返回
|
搜索文章
最新
热门
WebView 同层渲染
H5 具有开发成本较低、跨平台、快速迭代等优点,但 WebView 在性能上相比 Native 会有一定的劣势。为解决该性能问题,我们可以使用 WebView 同层渲染技术。
获取请求来源 IP 地址
IP 追溯主要用于获取请求的真实 IP ,由于现有服务是基于 Nginx 实现负载均衡的,因此获取请求真实 IP 存在一定难度。在 Matrix 现有实现中,IP 追溯由 getIp 函数完成,其具体代码如下。 在 Node.js 官方文档 net_socket_remotea…
UITableView 复用机制
UITableView 首先加载能够覆盖一屏幕的 UITableViewCell(具体个数要根据每个 cell 的高度而定)。 然后当我们往上滑动时(往下滑动同理),需要一个新的 cell 放置在列表的下方。此时,我们不去生成新的 cell 而是先从 UITableView 的…
原生实现前端路由
在 Web SPA 中,前端路由描述的 URL 与 UI 之间的单向映射关系,即 URL 变化引起 UI 页面的更新(无需刷新页面)。 上面我们提到,在前端路由中,当 URL 发生变化时,我们需要在不刷新页面的情况下,触发 UI 页面的更新。因此,在实现前端路由时,我们需要解决…
Redis 实现分布式锁(Node.js)
在 course-se 的提交服务中,为了限制同一用户在规定时间(5秒)内,无法进行二次提交,开发人员实现了基于 Redis 的分布式锁。通常,我们称该业务场景为节流(Throttle)。 在阅读此部分代码时,我一开始寻思着完全可以使用一个 Map 维护各个用户及其剩余时间的关…
Node 绑定全局 TraceID
由于Node.js的单线程模型的限制,我们无法设置全局 traceid 来聚合请求,即实现输出日志与请求的绑定。如果不实现日志和请求的绑定,我们难以判断日志输出与对应用户请求的对应关系,这对线上问题排查带来了困难。 例如,在用户访问 retrieveOne API 时,其会调用…
《家国梦》游戏自动化测试
《家国梦》是最近很火的一款不用氪金的手游,在周围同学好友的怂恿下,我走上了“不归路”。这游戏玩法相当简单,就是拾取金币和搬运货物,攒足金币升级建筑。在这过程中,我们还可以学习国家当前政策。 由于游戏玩法很简单,这让我萌发了自动化测试(开挂)的念头。 项目地址:github.co…
Golang 热重启
热重启(Zero Downtime),指新老进程无缝切换,在替换过程中可保持对 client 的服务。 我们在父进程执行 cmd.ExtraFiles = []*os.File{f} 来传递 socket 描述符给子进程,子进程通过执行 f := os.NewFile(3, "…
当 Go 遇上了 Lua
在 GitHub 玩耍时,偶然发现了 gopher-lua ,这是一个纯 Golang 实现的 Lua 虚拟机。我们知道 Golang 是静态语言,而 Lua 是动态语言,Golang 的性能和效率各语言中表现得非常不错,但在动态能力上,肯定是无法与 Lua 相比。那么如果我们…
Go defer 知识点
在使用 Golang 开发程序时,我们可能会经常使用 defer 关键字,实现资源的回收,以及完成“收尾”工作。 若函数中有多个 defer ,执行顺序为 先进后出 ,可理解为栈。 defer 在声明时会先计算确定其参数的值,推迟执行的仅是其函数体。 在实际开发中,defer …
下一页
个人成就
文章被点赞
877
文章被阅读
91,503
掘力值
2,937
关注了
45
关注者
1,198
收藏集
3
关注标签
31
加入于
2017-09-10