-
如何实现短链服务 short url-06-vue js 实现页面拷贝
说明
为了提升用户复制体验,添加点击按钮复制功能。
实现
页面
<el-button type="primary" @click="addShortUrl" icon="el-icon-plus">添加</el-button>
<el-button type="success" @click="copyShortUrl" v-if="shortUrl !...
2022-06-02 01:22:02 |
WEB
-
如何实现短链服务 short url-05-HTTP 请求头与分组统计
引子
通常 HTTP 消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。
客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。
服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
Http协议定义了很多与服务器交互的方法...
2022-06-02 01:22:02 |
WEB
-
如何实现短链服务 short url-04-优化思路及 JS 实现复制
实现拆分
新增
如果我们把新增和访问放在一个应用,就无法像 dwz 那样很好的实现一个 https://dwz.cn/xxx 就可以直接访问。
所以新增可以是一个单独的应用。
对于连接的访问重定向尽可能的域名短,直接访问即可。
复制优化
实现一个 JS 复制功能。
主动复制
直接复制
生成之后,直接 js 设置到用户的粘贴板。
性能优化
短链是否存在
BITMAP?
...
2022-06-02 01:22:02 |
WEB
-
如何实现短链服务 short url-03-springboot 中页面重定向方式
springboot 重定向方式
//重定向到其他网站或其他服务器
//通过new ModelAndView对象添加http://xxxx/xxxx即可跳转到第3方网站
@GetMapping(value = "test")
public ModelAndView test(CurrentUser user, HttpServletRequest request){
//第一种写...
2022-06-02 01:22:02 |
Tool
-
如何实现短链服务 short url-02-短链的实现原理
什么是短链接
顾名思义,短链接即是长度较短的网址。
通过短链接技术,我们可以将长度较长的链接压缩成较短的链接。
并通过跳转的方式,将用户请求由短链接重定向到长链接上去。
短链接主要用在诸如微博,BBS等对帖子字数有限制的网站,通过使用短链接,用户可以把注意力放在帖子的内容上,而不是在担心链接超长的问题。这
里以百度的 dwz.cn 短链接服务为例,我们使用百度搜索”hello wo...
2022-06-02 01:22:02 |
Tool
-
如何实现短链服务 short url-01-long 值进行 Base64 编码原理详解
long 值进行 Base64 编码原理详解
分析一下long值;
1、有符号long值,64bit,8字节,取值范围 -2^63——2^63-1,第一位符号位,负数为1,正数为0;
2、正数,符号位0,后63位为正数值;
3、负数,符号位1,整个64位取反、加1,加负号即为负数值;
Base64 是做什么?
把任意二进制数据转换为可显示字符,总共64种可显示字符。
具体转换规...
2022-06-02 01:22:02 |
Tool
-
Solidity-18-Inline Assembly
Inline Assembly
您可以使用接近以太坊虚拟机的语言将 Solidity 语句与内联汇编交错。这为您提供了更细粒度的控制,这在您通过编写库来增强语言时特别有用。
在 Solidity 中用于内联汇编的语言称为 Yul,它记录在其自己的部分中。本节将仅介绍内联汇编代码如何与周围的 Solidity 代码交互。
警告
内联汇编是一种在低级别访问以太坊虚拟机的方法。这绕过了几个...
2022-05-22 01:22:02 |
Lang
-
Solidity-17-Contracts
Contracts
Solidity 中的契约类似于面向对象语言中的类。
它们在状态变量中包含持久数据,以及可以修改这些变量的函数。
在不同的合约(实例)上调用函数将执行 EVM 函数调用,从而切换上下文,使得调用合约中的状态变量不可访问。
任何事情发生都需要调用合约及其函数。
以太坊中没有“cron”概念来自动调用特定事件的函数。
创建合同
合约可以通过以太坊交易“从外部”创...
2022-05-22 01:22:02 |
Lang