帖子怎么引流最快?
熱點引流最快,每個人都有追熱點的特點。
在論壇里如何查找自己曾經回復過的帖子?
打開人人網的主頁。;的論壇。在所有列的頂部,有一個"我的帖子和。進去之后,有一個"回復和在縱隊的最前面。這是你回復的所有帖子。
小紅書怎么看歷史瀏覽?
小紅書可以除非收集,否則無法直接看到歷史瀏覽記錄。
查看歷史瀏覽記錄有兩種
第一,我收集了每天翻小紅書時的筆記,可以在小紅書界面右上角的收藏里找到之前的瀏覽記錄。
wegame如何看轉發的帖子?
W
有沒有免費的短網址工具?
我是@程序員的小助手。本文從技術的角度,對短網址進行了深度挖掘。
前言網上已經有產品了,用起來還不錯。但是,作為一個程序員,從零開始造輪子,開發一個屬于自己的短URL服務器,是很了不起的!
通過本文,讀者可以了解短URL的技術原理,并通過Go語言實現一個短URL服務。
簡明教程的短URL為什么會存在?
微博等產品的興起,活躍了網絡社交圈的大部分用戶。但是微博一般有140字的限制。如果你不t轉發,單純評論文字,加上網站的一段,極有可能超限被截。
短URL應運而生,用一個更短的字符串代替一個更長的字符串,從觀感上來說要友好很多。
從技術上講,短URL是一個哈希表,用來映射兩個字符串之間的對應關系。
使用鍵,找到對應的值,重定向到access,完成整個過程。
短URL算法(ShortURLalgorithm)短URL的一般結構,如新浪的SwuTjn,后端的一個6位字符串是用來唯一標記一條記錄的ID。那么,用什么算法可以生成一個不重復的ID呢?
使用通用方法,使用0-9A-Za-z,共62個字符,let讓我們看看使用散列密鑰數字有多少排列和組合。
一個位置:62種冪(62,1)
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個字符就夠了,總共56個。八億種可能性。
還有一種情況,原始URL字符串的MD5值一共32位,然后分成4段,分別按位與,截成30位。每隔5位選取該位的字符作為本段的索引,共6位。但這種做法也有重復的可能,并不直觀。
因此,本文采用第一種算法來生成密鑰ID。
該工具可以分析短URL的特征,包括以下項目:
惟一性:密鑰需要是全局惟一的和時間敏感的:密鑰需要有一個截止日期,并且目標URL是惟一的。如果它們是重復的,現有的密鑰將自動返回。考慮到以上情況,我們使用redis來存儲這些對應關系。Gin框架被用作路由器和控制器來提供外部API訪問。
核心函數計算機中常見的二進制、八進制、十進制和十六進制,我們這里需要用62個字符循環表示一個整數,所以可以稱之為62。
讓s用go語言實現這個函數,用來把任意整數(uint64)轉換成(0-9A-Za-z)的字符串。
需要注意的是,基本方法是循環取余數,根據十進制字典索引相應的字符,然后將余數拼接在一起,就是這個結果。
這個計算方法和二進制、八進制是一樣的。
因為字典很長,有62個鍵值對,所以我們只列出其中的一部分。
上述函數的轉換結果類似于648926400175ai0p。
功能規劃以下是系統路由、創建短鏈接、使用短鏈接訪問目標URL的方法。
1-計劃工藝路線
路由比較簡單,一共兩個,一個POST方法,生成短鏈接;一個是GET方法,它訪問短鏈接。
代碼如下:
2-介紹redis并初始化
為了演示方便,我們使用redis存儲鍵值并設置過期時間。我們使用go-redis提供的接口來操作redis數據庫。
以下是全局。
對象生成和初始化功能。
這樣做的好處是,我們可以使用變量rdb調用方法來全局操作redis鍵值。
3-實施發布路由方法:添加
這個函數用于接收表單數據,生成一個全局唯一的散列,作為一個鍵,存儲在redis中,設置值和過期時間。
代碼如下:
在這一段中,我們使用了一個getCounter函數,它是redis中的一個鍵集。每次請求創建它時,它都會增加1,以確保沒有重復。根據這個計數器,我們稱之為助手sDecToAny方法,并將其轉換為62位字符串作為全局唯一的哈希值。
下圖是getCounter的定義:
要特別注意助手包,這是我們在"核心功能和部分。主函數體中的引用。
4-實現獲取方法:訪問
這個函數主要是利用上一節接口生成的短鏈接來訪問并自動重定向到目標URL。
代碼如下:
對于不texist,或者redis無法獲取,則返回一條錯誤消息。
如果存在,請使用301StatusMovedPermanently狀態代碼重定向到目標地址。
測試我們使用curl工具來測試上面兩個接口。
首先,使用POST表單提交數據:
curl-s-XPOST-dtarg:9090/
在上面的方法中,我們提交了兩個參數。命中路由后,我們將訪問上一節第3條中的add方法,并生成一個短鏈接URL。以JSON格式返回數據,如下所示:
{m:ok,short_URL::9090/75ai0r,statusCHO11-@.com1}
其中short_url是短url。
接下來,我們使用curl來訪問這個鏈接,看看是否發生了重定向。截圖如下:
如您所見,執行了301重定向并給出了目標URL,這與我們在上面的表單中想要創建的地址一致。
最后,故障測試。訪問一個不存在的hash,看是否排除了異常信息。截圖如下:
如您所見,執行了一條錯誤返回消息。
以上結論,我們使用GO語言框架Gin實現兩條路由,使用r:-)
【本文由@程序員的助手,并繼續分享與編程和程序員的成長。歡迎關注】