完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
HTML
声明为html5文档 HTML基础 HTML标题 一共有6个标题,分别用h1-h6来表示 HTML段落 《p》《/p》 浏览器会自动地在段落的前后添加空行 HTML拆行 如果希望在不产生一个新段落的情况下进行换行,可以使用《br》标签 《p》这个《br》段落《br》演示了分行的效果《/p》 文本格式化 《b》加粗文本《/b》 《i》斜体文本《/i》 《sub》下标《/sub》 《sup》上标《/sup》 《big》放大《/big》 《small》缩小《/small》 《code》计算机输出《/code》 《kbd》键盘输入《/kbd》 《tt》打字机文本《/tt》 《samp》计算机代码样本《/samp》 《var》计算机变量《/var》 《address》地址《/address》 《q》块引用《/q》 预格式文本 跳出框架 是不局限于浏览器页面吗 HTML链接 《a href=“https://www.baidu.com”》《/a》 《a href=“mailto:someone@example.com?Subject=Hello%20again” target=“_top”》 《a href=“mailto:someone@example.com?cc=someoneelse@example.com&bcc=andsomeoneelse@example.com&subject=Summer%20Party&body=You%20are%20invited%20to%20a%20big%20summer%20party!” target=“_top”》发送邮件!《/a》 发送邮件《/a》 单词之间空格使用%20代替,确保浏览器可以正常显示文本。 HTML图像 《img src=“/images/logo.png” width=“258” height=“39” /》 HTML水平线 《hr》 HTML注释 《!-- 这是一个注释 --》 XML学习 XML被设计用来传输和存储数据 HTML被设计用来显示数据 网络编程 nc 测试吞吐量 带宽 吞吐量 延迟 使用率 额外开销 策略中心主机部署 ?什么是PL_BolPublic.ini ?dcc_sy.xml,dict_sy.xml和pl_dictionary.xml分别是什么 信控业务场景说明 流程图: ?预处理 PLCA信控测试流程(121421)绑定手机上网功能 预处理任务: 绑定手机上网阈值提醒事件,按合并组循环 ?预处理规则 事件类型(EVENT_TYPE_ID) 循环模式(LOOP_TYPE) ?基础数据获取 用户资料,余额信息,历史欠费明细,总账明细,累积量量本 ?策略匹配 ?获取合并规则 ?策略计算 每个合并的累积量实例都触发一次策略计算 ?策略生成 ?合并实例存在 ?策略工单生成 各业务的流程图基本一样 阈值提醒 手机上网时长阈值提醒 手机上网流量阈值提醒 4G定向/闲时流量包等阈值提醒 人工触发 一般触发 大账户触发 其他阈值触发 语音短信wlan等阈值提醒 流量卡不足提醒 达量提醒及制定流量提醒 余额提醒 国际数据漫游-首次上网 策略中心新模型 策略工单 STOP_OPEN 停复机 ITF REMD 实时 REMD_TIME 定时 ACCU 累积 OWE 余额 EXP 到期 ROAM 漫游 NEVERSTOP LIFECYCLE UNIFY 集团 REMIND 提醒 INTF OTHER 其他 TRIGGER 触发 VIP 大账户 ORD GEN 一般 MAN 人工 PLCA信控 用户个性化定制提醒 余额不足提醒 流量阈值提醒 WIFI上网时长提醒 短信阈值提醒 语音阈值提醒 套餐消费定期提醒 详单查询提醒 redis的操作 json数据格式 线程操作 ctg-mq消息 EOP 常用能力列表 其中有各种各样的函数 通讯录 业务逻辑 接口层:add del search travel 支持层:read write 链表操作: 链表而言:1.Insert 2.Remove 问题: 业务操作和数据结构没有分离,如何实现业务分离 如何解决scanf数组溢出的问题 #include 《stdio》 #include 《string.h》 #include 《 #define NAME_LENGTH 16 #define PHONE_LENGTH 32 // 上线时可以把INFO定义为空,则不会进行打印输出 #define INFO printf #define LIST_INSERT(item, list) do { item-》prev = null; item-》next = list; list = item; } while(0) #define LIST_DELETE(item, list) do { if(item-》prev != NULL) { item-》prev-》next = item-》next; } if(item-》next != NULL) { item-》next-》prev = item-》prev; } item-》prev = item-》next = NULL } while(0); struct person { char name[NAME_LENGTH]; char phone[PHONE_LENGTH]; struct person *next; struct person *prev; }; struct contacts { struct person *people; int count; }; enum { OPER_INSERT = 1, OPER_PRINT, OPER_DELETE, OPER_SEARCH, OPER_SAVE, OPER_LOAD } // define interface int person_insert(struct person **person, struct person *ps) { if(ps == NULL) return -1; LIST_INSERT(ps, people); } int person_delete(struct person *people, struct person *ps) { if(ps == NULL) return -1; LIST_REMOVE(ps, people); return 0; } int person_search(struct person *person, char *name) { struct person *item = NULL; for(item = people; item != NULL; item = item-》next) { if(strcmp(name, item-》name)) { break; } } return item; } int person_traversal(struct person *person) { struct person *item = NULL; for(item = people; item != NULL; item = item-》next) { INFO(“name:%s,phone:%s,n”,item-》name, item-》phone); } } int insert_entry(struct contacts *cts) { if(cts == NULL) return -1; struct person *p = (struct person*)malloc(sizeof(struct person)); if(p == NULL) return -2; // name INFO(“Please Input Name:n”); scanf(“%s”, p-》name); // phone INFO(“Please Input Phone:n”); scanf(“%s”, p-》phone); // add people if(0 != person_insert(cts-》people, p)) { free(p); return -3; } cts-》count++; INFO(“Insert Successn”); return 0; } intp print_entry(struct contacts *cts) { // cts-》people if(cts == NULL) return -1; person_traversal(cts-》person); } int delete_entry(struct contacts *cts) { // name if(cts == NULL) return -1; INFO(“Please Input Name:n”); char name[NAME_LENGTH] = {0}; scanf(“%s”,name); // person struct person *ps = person_search(cts-》people, name); if(ps == NULL) { INFO(“Person don‘t existn”); return -2 } // delete person_delete(&cts-》person, name); } int search_entry(struct *cts) { if(cts == NULL) return -1; INFO(“Please Input Name:n”); char name[NAME_LENGTH]={0}; scanf(“%s”, name); if(ps == NULL) { INFO(“Person don’t existn”); return -2 } INFO(“name:%s,phone:%sn”,cts-》name, cts-》phone); } int main() { { while(1){ int select = 0; scanf(“%d”,&select); switch(select) { case OPER_INSERT: break; case OPER_PRINT: break; case OPER_DELECT: break; case OPER_SEARCH: break; case OPER_TRAVER: break; } } } C学习 Bug分为: 编译时错误 运行时错误 逻辑错误和语义错误 gcc -Wall选项可以让gcc提示所有的警告信息 -S 生成汇编文件 -c 生成目标文件 -o 生成可执行文件 -masm=intel 生成Intel格式的汇编代码 objdump 反汇编 做任何项目,任何产品都需要分层次,这样调试和修改都会十分方便 fopen:打开一个文件 fprintf:按照指定的格式写入文件 fflush:从内存中同步到磁盘中 fclose:关闭一个打开的文件 feof:是否已经读到了文件的结尾 fgets:读取一行 greater()从大到小排序 less()从小到大排序 multimap()是有序的键值对,默认的比较键的函数是less《K》()。 协程 做什么? 与线程差不多,为什么需要协程? 服务器端: 协程更快? 服务器每增加1000个链接所用到的耗时为5000+ms。 服务器每增加1000个链接所用的耗时,900ms。 协程用在服务器上,用在客户端上 服务器定时检测io是否有数据, epoll/select epoll wait() 对io进行读写操作 recv()/send() 同时listen 100个端口 工程师只认可数据上面的对比 CMake语法 STREQUAL用于比较字符串,相同则返回true MATCHES 如果给定的字符串或变量值或给定的正则表达式匹配的话,表达式返回真。 并发 自旋锁:spinlock while(1)不断检测,锁的内容较少,等待时间的代价小于切换的代价 互斥锁:mutex 引起线程切换,锁的内容较多时,当被锁住时,该线程sleep 什么时候用自旋锁,什么时候用互斥锁 原子操作 单条cpu指令操作,多条指令变为一条指令 CAS -》 Compare And Swap 对比交换 linux 本地到远程 scp -r 。/LeetCode hua@192.168.79.130:/home/hua/Code/ linux网络库所在位置 du的代替:ncdu 查看磁盘空间 top 查看进程,资源占用 man 命令文档 sed/grep find SLAM想法 sudo apt-get # Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) 辅助 代码浏览: 安装doxygen:sudo apt-get install doxygen doxygen-gui graphviz 生成doxygen文档:doxygen open_vins/Doxyfile LeetCode 174. 地下城游戏 题目 动态规划 主要是要反着思考,动态规划可以用于二维数组的问题 DFS 直接用DFS速度较慢,利用空间来优化,还有需要做相应的剪枝,不然会超时 315. 计算右侧小于当前元素的个数 题目 离散化树状数组 归并排序 |
|
|
|
只有小组成员才能发言,加入小组>>
919浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 17:17 , Processed in 0.790914 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号