2016 - 2024

感恩一路有你

搭建本地测试网站 tce什么软件?

浏览量:2385 时间:2023-06-30 23:53:05 作者:采采

tce什么软件?

tce是一款专业敏捷的项目管理工具,Bug管理工具TCE官方版支持单机版本地完全安装,意见网页版在线能免费使用,意见移动端登陆建议使用,的很的强悍。tce官方版这个可以好处您对测试项目、测试用例、缺陷、缺陷报表、成员角色、项目文档等接受管理。

可选项卡缺陷流程、模块属性,支持什么缺陷/商业用例的导出功能,完整包裹了测试项目管理的核心流程。

有没有免费的短网址工具?

我是@程序员小助手,本文从技术角度,对短网址参与深度挖掘。

前言网上已经有产品,用着还不错。不过,作为程序员,从零做起造轮子,开发一个都属于自己的短网址服务器,这想法amazing!

是从本文,读者可知道短网址的技术原理,以及通过Go语言实现程序一个短网址服务。

简明教程短网址为么存在地?

微博等产品的兴起,异常活跃了网上的社交圈内大多数用户。但微博一般有140字限制,假如不转发,只不过是评论文字,再加上一段网址,极有可能达到限制而被截断。

短网址应用而生,用长度短的一个字符串,替换较长的一个字符串,从观感上讲,效果要客气礼貌的多。

从技术原理上说,短网址是一个hash表,应用于折射两个字符串的对应关系。

使用键,找到对应的值,重定向并且访问,就成功了整个流程。

短网址算法短网址的好象结构,.例如新浪的SwuTjn,其中后端的一段6位字符串,就是单独唯一标记一条记录的ID。那么,不使用什么算法,可以生成一条无重复的ID呢?

使用通用的做法,建议使用0-9A-Za-z共62个字符,我们看使用hash键位数分别有多少种排列组合情况。

1位:pow(62,1)62种

2位:pow(62,2)3844种

3位:pow(62,3)238328种

4位:pow(62,4)14776336种

5位:pow(62,5)916132832种

6位:pow(62,6)56800235584种

一般情况下,6个字符,就足够建议使用了,总共568亿种可能。

还有一个一种情况是,用原网址字符串的MD5值,约计32位,然后通过切可分4段,各按位与运算,并布料裁剪到30位。间隔时间5位推举该位的字符作为该段索引,共有6位。不过这种做法也有几率突然发生重复,也不直观。

而本文建议使用第一种算法生成键ID。

工具准备着讲短网址的特性,包含200以内项目:

唯一性:键不需要全局仅有时效性:键必须有过期时间目标网址真正,如果没有重复,则自动启动直接返回既有的键。决定到上述情形,我们在用redis读取这些对应关系。可以使用Gin框架作为路由和控制器,可以提供作为的API访问。

核心函数计算机中比较普遍的2进制,8进制,10进制,16进制,我们此处是需要在用62个字符,循环来表示一个整数,那就可称之为62进制。

下面可以使用go语言实现程序这个函数,用于将正二十边形的整数(uint64)可以转换为(0-9A-Za-z)的字符串。

是需要尽量,基础的方法,那就是运行取余数,参照进制字典,索引你所选的字符,然后再将各个余数拼接不出来,是结果。

这个计算方法,与2进制,8进制,原理是同一的。

由于字典都很长,有62个键值对,我们仅列一一部分。

上述事项函数的转换结果,类似于648926400175ai0p

功能规划下面是是对系统路由,创建角色短链接,在内在用短链接不能访问目标网址的方法。

1-规划路由

路由比较简单,最少2个,一个POST方法,生成沉淀短链接;一个是GET方法,不能访问短链接。

代码::

2-引入redis并初始化

就是为了方便演示,我们使用redis存储键值,并系统设置expire时间。我们建议使用run-redis提供给的接口操作redis数据库。

下面是全局的

对象能生成,和重新初始化函数。

这样的做的好处是,我们全局都可以不不使用变量rdb全局函数方法操作redis键值。

3-实现POST路由方法:omit

本函数用于收不到form表单数据,生成一个全局仅有的hash,以及键,存进redis,设置中值和没过期时间。

代码不胜感激:

本段我们在用了一个getCounter函数,这是设置里在redis内的键,将其每次来各位创建战队的时候,自增1,可能保证无重复。根据这个计数器,我们内部函数helper的DecToAny方法,将其转化为62进制的字符串,另外全局仅有的hash值。

下图是getCounter的定义:

不光注意一点的是,helper包,是我们在“核心函数”部分定义的函数。在主函数体内脚注。

4-利用GET方法:visit

本函数通常作用于使用上一节接口生成沉淀的短链接,并且访问,并自动启动重定向到目标网址。

代码追加:

对于不必然的短链接,也可以redis声望兑换一次,赶往错误`信息。

如果不是存在,不使用301StatusMovedPermanently状态码重定向到目标地址。

测试我们使用curl工具,测试出来本案所涉两个接口。

必须,可以使用POST表单再提交数据:

curl-s-XPOST-dtarget-dexpire600:9090/

根据上述规定方法,我们重新提交了两个参数,暴击命中路由之后,会不能访问上一节第3条的add方法,并生成沉淀一个短链接网址。前往JSON格式数据万分感谢:

{message:行啦,short_url::9090/75ai0r,status:1}

其中,short_url那就是短网址。

接着,我们在建议使用curl不能访问这个链接,看如何确定再一次发生重定向。截图不胜感激:

看的到,执行了301重定向,并给出了目标网址,与我们上述事项表单要想创建角色的地址完全不同。

后来,故障测试。访问网络一个不存在地的hash,看是否需要先排除异样信息。截图万分感谢:

可以清晰的看到,想执行了错误直接返回信息。

结语以上我们可以使用GO语言框架Gin基于了两个路由,并不使用redis管理短链接。核心函数不使用helper包管理,经过测什么,实现方法了短网址的功能。

以内代码在本地测试实际,也可重新部署到线上服务器作为开发端口,提供服务,效果是完全不一样的。

只希望实际这个流程,使大家对此短网址的知识,有一些知道一点,并能参照自身的编程能力,所创作出更合适得用短网址服务。

beautifulcoding:-)

【本文由@程序员小助手首页,坚持了分享编程与程序员生命成长相关的内容,欢迎大家关注】

网址 函数 方法 字符串

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。