当前位置: 首页 > news >正文

高端网站建设公司哪家公司好网站建设考虑哪些因素

高端网站建设公司哪家公司好,网站建设考虑哪些因素,重庆开发,单机游戏排行榜2020前十名目录 1. 建立敏感词数据库表2. 定时任务#xff0c;读数据并建立敏感词树2.1 开启定时任务2.2 读数据并建立敏感词树 3. 使用 思路#xff1a; 将敏感词都存到数据库表中定时读取数据到内存中#xff0c;构建敏感词前缀树写工具方法#xff0c;使用内存中的前缀树判断消息… 目录 1. 建立敏感词数据库表2. 定时任务读数据并建立敏感词树2.1 开启定时任务2.2 读数据并建立敏感词树 3. 使用 思路 将敏感词都存到数据库表中定时读取数据到内存中构建敏感词前缀树写工具方法使用内存中的前缀树判断消息中是否包含敏感词或完成替换操作 1. 建立敏感词数据库表 CREATE TABLE bad_words (id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键id,content text COMMENT 敏感词内容,create_user_idbigint(20) unsigned COMMENT 创建用户id,extra text COMMENT 扩展信息,create_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 创建时间,modify_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT 修改时间,status int DEFAULT 0 COMMENT 0存在1删除,PRIMARY KEY (id) ) ENGINEInnoDB CHARSETutf8 COLLATEutf8_general_ci;2. 定时任务读数据并建立敏感词树 项目启动的时候开始执行这一块。 2.1 开启定时任务 var (ctx context.ContextBadWordsTrie *BadWordsTrieNode )func InitCronLoader() {var err errorctx context.Background()err getBadWordsAndInitBadWordsTrie() // 初始化敏感词树if err ! nil {panic(err)}gocron.Every(3).Minutes().Do(getBadWordsAndInitBadWordsTrie)go func() {-gocron.Start()}() }2.2 读数据并建立敏感词树 func getBadWordsAndInitBadWordsTrie() error {// 从数据库获取信息badWordsList : getBadWordsFromDB()// 初始化敏感词树BadWordsTrie initTrie(badWordsList)return nil }func getBadWordsFromDB() []string {badWords : make([]*models.BadWord, 0)caller.LyhTestDB.Debug().Table(models.TableNameBadWord).Where(status0).Find(badWords)badWordsList : make([]string, 0)for _, item : range badWords {if item.Content ! {badWordsList append(badWordsList, item.Content)}}return badWordsList }func initTrie(badWordsList []string) *BadWordsTrieNode {root : BadWordsTrieNode{}for _, word : range badWordsList {addWord(root, word)}return root }type BadWordsTrieNode struct {Children map[rune]*BadWordsTrieNode }func addWord(root *BadWordsTrieNode, word string) {node : rootfor _, char : range word {if node.Children nil {node.Children make(map[rune]*BadWordsTrieNode)}if _, ok : node.Children[char]; !ok {node.Children[char] BadWordsTrieNode{}}node node.Children[char]} }3. 使用 可以写到工具中 // 检查是否包含敏感词 func CheckBadWords(message string) bool {return isContain(message, cronloader.BadWordsTrie) }// 将敏感词字符替换为* func CheckAndReplaceBadWords(message string) string {return replaceBadWords(message, *, cronloader.BadWordsTrie) }// 将敏感词字符替换为自定义字符 func CheckAndReplaceBadWordsWithSep(message string, sep rune) string {return replaceBadWords(message, sep, cronloader.BadWordsTrie) }func isContain(message string, root *cronloader.BadWordsTrieNode) bool {message strings.ToLower(message)runes : []rune(message)for i : 0; i len(runes); i {p : rootj : ifor j len(runes) p.Children ! nil {char : runes[j]if _, ok : p.Children[char]; ok {p p.Children[char]j} else {break}}if p.Children nil {return true}}return false }func replaceBadWords(message string, sep rune, root *cronloader.BadWordsTrieNode) string {message strings.ToLower(message)runes : []rune(message)for i : 0; i len(runes); i {p : rootj : ifor j len(runes) p.Children ! nil {char : runes[j]if _, ok : p.Children[char]; ok {p p.Children[char]j} else {break}}if p.Children nil {for k : i; k j; k {runes[k] sep}}}return string(runes) }
http://www.hkea.cn/news/14480205/

相关文章:

  • 建立网站服务器搜狗短网址生成
  • 戴尔网站建设国际最新局势最新消息
  • 内网做网站需要空间吗望野什么意思
  • 北京网站制作平台沈阳网站制作公司和服务器
  • 网站建设 事业单位 安全重庆沙坪坝网站建设
  • 中国摄影网站十大排名河南郑州暴雨
  • 中国品牌设计公司个人网站seo
  • 北京市住房与城乡建设厅网站软件开发设计文档示例
  • 佛山 做网站公司大连网站建设那家好
  • 网站制作视频教学wordpress系统api
  • 免费英文网站模板elgg与wordpress对比
  • 网站建设的3个阶段网站推广采用的方法
  • wordpress小说下载站个人网站备案要多久
  • 网站做游戏活动如何创建网站设计
  • 徐州金网网站建设十大全屋整装公司排名
  • 一家做运动鞋的网站好上海网站建设网站游戏
  • 深圳市建设局网站首页曼联对利物浦新闻
  • 南阳网站排名优化企业宣传片视频模板
  • 网站视频主持人怎么做各种广告牌图片
  • 做网站诈钱wordpress termmeta
  • 黄埔做网站要多少钱郑州最新发展
  • 河南网站建设哪家公司好WordPress多站点同步设置
  • 站长做旅游网站即墨区建设局网站
  • 企业网站怎么做排名圣辉友联做网站公司
  • 今天刚刚发布的新闻衡水网站优化
  • 做游戏ppt下载网站有哪些重庆在线开放课程平台
  • 汽车宣传网站模板找个网页公司做网站
  • 手机自适应网站深圳网站建设最专业
  • 本地网站搭建工具c#网站开发+pdf
  • 国外申请域名的网站公司开发设计推荐