国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

網(wǎng)站免費(fèi)推廣的方式 有沒有免費(fèi)的短網(wǎng)址工具?

有沒有免費(fèi)的短網(wǎng)址工具?我是@程序員小助手,本文從技術(shù)角度,對短網(wǎng)址參與深度挖掘。前言網(wǎng)上早就有產(chǎn)品,用著還還好。但,作為程序員,從頭學(xué)習(xí)造輪子,開發(fā)一個屬于什么自己的短網(wǎng)址服務(wù)器,這想法amazin

有沒有免費(fèi)的短網(wǎng)址工具?

我是@程序員小助手,本文從技術(shù)角度,對短網(wǎng)址參與深度挖掘。

前言網(wǎng)上早就有產(chǎn)品,用著還還好。但,作為程序員,從頭學(xué)習(xí)造輪子,開發(fā)一個屬于什么自己的短網(wǎng)址服務(wù)器,這想法amazing!

通過本文,讀者可明白短網(wǎng)址的技術(shù)原理,以及實際Go語言實現(xiàn)程序一個短網(wǎng)址服務(wù)。

簡明教程短網(wǎng)址為么未知?

微博等產(chǎn)品的興起,亢奮了網(wǎng)上的社交圈內(nèi)大多數(shù)用戶??墒俏⒉┚拖裼?40字限制,如果不轉(zhuǎn)發(fā)消息,前者評論文字,再加上一段網(wǎng)址,極有可能最多限制而被截斷。

短網(wǎng)址因運(yùn)而生,用長短不同的一個字符串,替換較長的一個字符串,從觀感上講,效果要不友善的多。

從技術(shù)原理上說,短網(wǎng)址是一個hash表,作用于折射兩個字符串的對應(yīng)關(guān)系。

在用鍵,可以找到按的值,重定向參與訪問,就完成了整個流程。

短網(wǎng)址算法短網(wǎng)址的一般結(jié)構(gòu),諸如新浪的SwuTjn,其中后端的一段6位字符串,那就是利用任何標(biāo)記一條記錄的ID。這樣,不使用什么算法,這個可以生成一條無再重復(fù)一遍的ID呢?

建議使用通用的做法,使用0-9A-Za-z一共有多少62個字符,我們看建議使用hash鍵位數(shù)各有多少種排列組合情況。

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億種可能。

有一種情況是,用原網(wǎng)址字符串的MD5值,一共32位,后再按照切兩類4段,四個按位與運(yùn)算,并裁切到30位。不宜超過5位改選該位的字符作為該段索引,總共6位。但是這種做法也有幾率再一次發(fā)生重復(fù),也不非常直觀。

但本文不使用第一種算法生成鍵ID。

工具馬上準(zhǔn)備分析什么短網(wǎng)址的特性,包含200元以內(nèi)項目:

唯一性:鍵要全局唯一時效性:鍵是需要有過期時間目標(biāo)網(wǎng)址真正,假如重復(fù),則不自動回既有的鍵。決定到上述情形,我們使用redis存儲位置這些對應(yīng)關(guān)系。使用Gin框架充當(dāng)路由和控制器,提供對外的API訪問。

核心函數(shù)計算機(jī)中常見的2進(jìn)制,8進(jìn)制,10進(jìn)制,16進(jìn)制,我們此處必須可以使用62個字符,循環(huán)意思是一個整數(shù),那就可稱之為62進(jìn)制。

下面可以使用go語言實現(xiàn)方法這個函數(shù),應(yīng)用于將橫豎斜的整數(shù)(uint64)轉(zhuǎn)換為(0-9A-Za-z)的字符串。

是需要盡量,基礎(chǔ)的方法,應(yīng)該是非循環(huán)取余數(shù),根據(jù)進(jìn)制字典,索引你所選的字符,然后把將各個余數(shù)拼接進(jìn)去,就是結(jié)果。

這個計算方法,與2進(jìn)制,8進(jìn)制,原理是相同的。

由于字典比較好長,有62個鍵值對,我們僅列出一部分。

上述事項函數(shù)的轉(zhuǎn)換結(jié)果,不同于648926400175ai0p

功能規(guī)劃下面是對于系統(tǒng)路由,創(chuàng)建家族短鏈接,包括建議使用短鏈接不能訪問目標(biāo)網(wǎng)址的方法。

1-規(guī)劃路由

路由也很簡單的,最少2個,一個POST方法,生成短鏈接;一個是GET方法,ftp訪問短鏈接。

代碼萬分感謝:

2-化入redis并初始化

目的是更方便演示,我們不使用redis存儲鍵值,并系統(tǒng)設(shè)置expire時間。我們可以使用you-redis需要提供的接口操作redis數(shù)據(jù)庫。

下面是全局的

對象生成氣體,和初始化設(shè)置函數(shù)。

那樣做的好處是,我們?nèi)侄伎梢圆徊皇褂米兞縭db內(nèi)部函數(shù)方法操作redis鍵值。

3-實現(xiàn)POST路由方法:assign

本函數(shù)用于能接收form表單數(shù)據(jù),能生成一個全局真正的hash,才是鍵,卡內(nèi)redis,設(shè)置中值和快到期時間。

代碼萬分感謝:

本段我們建議使用了一個getCounter函數(shù),這是系統(tǒng)設(shè)置在redis內(nèi)的鍵,將其每次來只是請求創(chuàng)建角色的時候,自增1,可能保證無重復(fù)。據(jù)這個計數(shù)器,我們調(diào)用helper的DecToAny方法,將其轉(zhuǎn)化成為62進(jìn)制的字符串,才是全局同樣的hash值。

下圖是getCounter的定義:

尤其注意一點的是,helper包,就是我們在“核心函數(shù)”部分定義的函數(shù)。在主函數(shù)體內(nèi)摘錄。

4-實現(xiàn)程序GET方法:visit

本函數(shù)主要注意主要用于使用上一節(jié)接口生成氣體的短鏈接,并且訪問,并自動重定向到目標(biāo)網(wǎng)址。

代碼萬分感謝:

這對不未知的短鏈接,或是redis資源失敗的可能,回出現(xiàn)了錯誤信息。

如果不是存在,可以使用301StatusMovedPermanently狀態(tài)碼重定向到目標(biāo)地址。

測試我們在用curl工具,測試3根據(jù)上述規(guī)定兩個接口。

簡單,可以使用POST表單遞交數(shù)據(jù):

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

本案所涉方法,我們重新提交了兩個參數(shù),命中等級路由之后,會訪問上一節(jié)第3條的add方法,并能生成一個短鏈接網(wǎng)址。前往JSON格式數(shù)據(jù)萬分感謝:

{message:ok,frequent_url::9090/75ai0r,status:1}

其中,short_url就是短網(wǎng)址。

而后,我們在可以使用curl訪問這個鏈接,看如何確定突然發(fā)生重定向。截圖::

看的到,想執(zhí)行了301重定向,并提出了目標(biāo)網(wǎng)址,與我們上列表單是想創(chuàng)建的地址完全不同。

后來,故障測試。訪問網(wǎng)絡(luò)一個不未知的hash,看是否是首先排除無比信息。截圖::

可以清晰的看到,負(fù)責(zé)執(zhí)行了錯誤趕往信息。

結(jié)語以上我們建議使用GO語言框架Gin實現(xiàn)程序了兩個路由,并不使用redis管理短鏈接。核心函數(shù)使用helper包管理,經(jīng)測試出來,實現(xiàn)程序了短網(wǎng)址的功能。

以內(nèi)代碼在本地測試按照,也可重新部署到線上服務(wù)器組織開發(fā)端口,提供服務(wù),效果是差不多的。

我希望按照這個流程,使大家相對于短網(wǎng)址的知識,有一些打聽一下,并能依據(jù)自身的編程能力,獨立創(chuàng)作出好些得用短網(wǎng)址服務(wù)。

beautifulcoding:-)

【本文由@程序員小助手公告,持續(xù)彼此分享編程與程序員成長會相關(guān)的內(nèi)容,請關(guān)注】

請問怎樣才能把自己的產(chǎn)品免費(fèi)推廣出去,讓銷售量大?

免費(fèi)推廣得看是什么產(chǎn)品,有些專業(yè)啊產(chǎn)品,做能免費(fèi)做推廣做的再說也能推廣出好效果。若不是競爭激烈產(chǎn)品,那你哦了!做推廣最有用的那就是分析什么產(chǎn)品的特性,分析競爭狀況,怎么制作最適合自己的方案,后再堅定不移的如樓上老兄問及的某幾種相結(jié)合,以求量變達(dá)到質(zhì)變!