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

简单模板网站制作时间开发一个软件能卖多少钱

简单模板网站制作时间,开发一个软件能卖多少钱,市通建设工程质量监督局网站,淮南做网站的TOC 目录 路由匹配模块 代码展示 路由匹配模块 决定了一条消息是否能够发布到指定的队列 在每个队列根交换机的绑定信息中#xff0c;都有一个binding_key#xff08;在虚拟机篇有说到#xff09;这是队列发布的匹配规则 在每条要发布的消息中#xff0c;都有一个rout…TOC 目录 路由匹配模块 代码展示 路由匹配模块 决定了一条消息是否能够发布到指定的队列 在每个队列根交换机的绑定信息中都有一个binding_key在虚拟机篇有说到这是队列发布的匹配规则 在每条要发布的消息中都有一个routing_key, 是消息的发布规则 交换机有三种交换类型直接交换广播交换主题交换 广播交换直接将消息发布给交换机的所有绑定队列 直接交换routing_key和binding_key完全一致则匹配成功 主题交换binding_key中是匹配规则 new.music.#, routing_key是消息规则 new.music.pop匹配成功才能发布 1. 提供一个判断routing_key与binding_key是否能够匹配成功的接口 2. 判断 routing_key是否符合规定 格式约定只能由数字字母_ 构成 3. 判断binding_key是否符合规定 格式约定只能由数字字母_# * 构成 代码展示 #ifndef __M_ROUTE_H_ #define __M_ROUTE_H_#include iostream #include ../mqcommon/logger.hpp #include ../mqcommon/helper.hpp #include ../mqcommon/msg.pb.hnamespace mymq {class Router{public:static bool isLegalRoutingKey(const std::string routing_key){// routing_key: 不需要判断是否包含有非法字符即可合法字符a ~ z, A ~ Z, 0 ~ 9, ....for(auto ch : routing_key){if((ch a ch z) ||(ch A ch Z) ||(ch 1 ch 9) ||(ch _ || ch .))continue;return false;}return true;}static bool isLegalBindingKey(const std::string binding_key){for(auto ch : binding_key){if((ch a ch z) ||(ch A ch Z) ||(ch 1 ch 9) ||(ch _ || ch .) ||(ch # || ch *))continue;return false;}// 2. * 和 # 必须独立存在std::vectorstd::string sub_word;StrHelper::split(binding_key, ., sub_word);for(std::string word : sub_word){if((word.size() 1) (word.find(*) ! std::string::npos (word.find(#) ! std::string::npos))){return false;}}// 3. * 和 # 不能连续出现for(int i 1; i sub_word.size(); i){if(sub_word[i] * sub_word[i - 1] #){return false;}if(sub_word[i] # sub_word[i - 1] #){return false;}if(sub_word[i] # sub_word[i - 1] *){return false;}}return true;}static bool route(ExchangeType type, const std::string routing_key, const std::string binding_key){if(type ExchangeType::DIRECT){return (routing_key binding_key);}else if(type ExchangeType::FANOUT){return true;}// 主题交换 要进行模式匹配 // 1. 将 binding_key 与 routing_key 进行字符串分割得到各个单词数组std::vectorstd::string bkeys, rkeys;int n_rkeys StrHelper::split(routing_key, ., rkeys);int n_bkeys StrHelper::split(binding_key, ., bkeys);// 2. 定义标记数组 并初始化[0][0]位置为true, 其他位置为falsestd::vectorstd::vectorbool dp(n_bkeys 1, std::vectorbool(n_rkeys 1));dp[0][0] true;//3. 如果binding_key以#开始则将#对应的第0行全部为1for(int i 1; i n_bkeys; i){if(bkeys[i - 1] #){dp[i][0] true;continue;}break;}// 4. 使用routing_key中的每个单词与binding_key中的每个单词进行匹配并标记数组for(int i 1; i n_bkeys 1; i){for(int j 1; j n_rkeys 1; j){if(bkeys[i - 1] rkeys[j - 1] || bkeys[i - 1] *){dp[i][j] dp[i - 1][j - 1];}else if(bkeys[i - 1] #){dp[i][j] dp[i - 1][j - 1] | dp[i][j - 1] | dp[i - 1][j];}}}return dp[n_bkeys][n_rkeys];}}; }#endif
http://www.hkea.cn/news/14422744/

相关文章:

  • 龙岗网站建设哪家好旅游分销平台有哪些
  • 深圳哪里有网站建设手表网站 源码
  • 制作网页的三大技术是什么搜素引擎排名优化技术
  • 郑州网络营销网站如何把网站做好
  • 深圳网站优化提供商中国新冠疫苗接种率
  • 网站风格代码全能医院网站管理系统
  • 鹿岛建设 网站百度收录网站名
  • 网站空间域名一次性收费还是一年一算唯品会信息科技有限公司
  • 卖友情链接的哪来那么多网站贵州住房和城乡建设厅旧网站
  • 找人做网站去哪里找重庆网站建设选夹夹虫
  • 贵州省住房和城乡建设厅官网站郑州知名做网站公司有哪些
  • 计算机网络技术网站开发深圳 网站设计公司
  • 为什么我的网站做不起来宁波营销型网站建设首选
  • 深圳龙华建网站房产官网
  • 济南建站软件成都百度推广代理公司
  • 网站开发常用的前端框架个人可以做电视台网站吗
  • 音乐相册制作网站为什么计算机鄙视软工
  • 网站制作建设需求淘宝上的网站建设
  • 做app网站建设深圳学校网站定制设计
  • 官网型网站开发优秀定制网站建设案例
  • 住房和创新建设部网站wordpress如何管理员密码
  • 东莞网站建设 少儿托管wordpress 赚钱
  • ps做分享类网站效果图宣武青岛网站建设
  • 广东建设局网站室内设计作品集
  • 邯郸做wap网站建设想建设网站前期调研报告如何写
  • 网站首页布局有哪些网站建设案例包括哪些
  • 株洲网站排名优化网站建设哪
  • 常州做网站需要多少钱宁波网站推广大全
  • 潜江市网站苏州建设银行网站
  • 临淄网站制作价格低网站建设保定