logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么视频网站的视频链接地址是blob?

自从HTML5提供了video标签,在网页中播放视频已经变成一个非常简单的事,只要一个video标签,src属性设置为视频的地址就完事了。由于src指向真实的视频网络地址,在早期一般网站资源文件不怎么通过referer设置防盗链,当我们拿到视频的地址后可以随意的下载或使用(每次放假回家,就会有亲戚找我帮忙从一些视频网站上下东西)。目前的云存储服务商大部分都支持referer防盗链。其原理就是在..

Node.js + Consul 实现服务注册、健康检查、配置中心

作者:五月君原文:Nodejs技术栈本篇主要介绍了 Node.js 如何与 Consul 进行集成,Consul 只是服务注册的一种实现,还有其它的例如 Zookeeper、Etcd 等,服务注册发现在微服务架构中扮演这一个重要的角色,伴随着服务的大量出现,服务与服务之间的配置管理、运维管理也变的难以维护,通过 Consul 可以解决这些问题,实现服务治理、服务监控。关于 Consul 的更多知识

#consul#服务发现
d3.drag使用指南

创建一个可拖动的圆展示d3.drag的使用首先创建svg容器和一个circle元素:const width = window.innerWidthconst height = window.innerHeightconst svg = d3.select('body').append('svg').attr('width', width).attr('h...

SheetJS/js-xlsx修改表头

SheetJS/js-xlsx修改表头我们经常使用到json_to_sheet方法将json数据转化到worksheet(表示excel文件中的一个表)中,最后导出excel表,但是列头会默认采用数据的键名。const data = [{name: 'jzx',age: 17},{name: 'wmp',...

【Golang】gorm添加数据库排他锁,for update

适用于先读后更新的数据竞争场景,且应该将加锁操作放到事务中,防止锁被自动释放,原因参考mysql docsfunc UpdateUser(db *gorm.DB, id int64) error {tx := db.Begin()defer func() {if r := recover(); r != nil {tx.Roll...

#golang
到底了