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

泰安网站建设平台diy在线设计平台

泰安网站建设平台,diy在线设计平台,seo推广专员工作好做吗,您身边的网站建设专家最近搞个MYBATIS-PLUS里面的MAPPER DAO方法审计.就是把里面的SQL提取出来,然后使用SQL质量工具进行审计! SQLE 在这方面功能强大,就是细节不够完美,它有SCANDR工具可以把某个目录下XML文件扫描并上传到SQLE里面进行审计. 通过自由裁剪的MYSQL 审核规则,一条条SQL进行! 问题是那…最近搞个MYBATIS-PLUS里面的MAPPER DAO方法审计.就是把里面的SQL提取出来,然后使用SQL质量工具进行审计!  SQLE 在这方面功能强大,就是细节不够完美,它有SCANDR工具可以把某个目录下XML文件扫描并上传到SQLE里面进行审计. 通过自由裁剪的MYSQL 审核规则,一条条SQL进行! 问题是那么多SQL,不符合规范的是来之哪个文件,哪个方法? 像这样子就满意了 我通过提示方式来判断这个SQL来之哪里 SCANDER工具 它扫描 上传 显示是否通过,不通过显示是哪条规则,最后总是报个错误出来.  社区版也就这样,功能超强,细节不完美,要完美估计要买企业版. 所以作为一个初级程序员 之 C 就只好自己动手丰衣足食了! 经过3周,3个周的工作日,加班2个小时到8点,才初步成型. 上班时间要干其它活,只要下班,才能专心写代码,调试代码. 下面一段是用直接IO读写文件,就是绕过LINUX的系统缓存.  PG一大BUG 就是使用双缓存,导致某些SQL执行时快时慢,对DBA要精细调整两边的缓存比! MYSQL和ORACLE不这样干! PG   ACE 大部分没有代码动手的能力,有PPT,文档编辑能力以及演讲口才能力.  要使用DIO需要3个小条件 1 需要堆上分配 2 需要512字节对齐 3 需要4KB整数倍写入文件 下面代码开始大部分是在程序当前目录下创建一个XXX.SQL文件, 有就只写,追加,直接,同步方式写入数据. int fd open(filePath,  O_CREAT | O_APPEND | O_WRONLY | O_DIRECT | O_SYNC, 0644); 从双层MAP对象里提取出SQL MAPSTRING,MAPSTRING,STRING OBJECT; 这个对象保存了 文件名,方法名,SQL的对应关系 定义个通用类型的内存地址变量 memAddr_buf memAddr_buf memalign(512, 512 * 8); 通过这个函数进行512字节对齐,对4096字节,它自动在堆上分配4096字节 memcpy(memAddr_buf, it-second.c_str(), it-second.size()); 通过内存CP函数把MAP里的SQL拷贝进去*(char*)((char*)memAddr_buf sql_size) \n; 这段内容后面添加个换行符号,有意思的代码.是AI浣熊告知的. 然后就写入文件一次必须4KB字节倍数,成功返回写入字节,错误返回-1int   ret write(fd, memAddr_buf, 4096);free(memAddr_buf); 最后就是释放内存. 这4个函数OPEN,WRITE,MEMALIGN,FREE都是LINUX系统提供的函数. char current_dir[PATH_MAX]; //创建文件 并导出SQL语句到文件里char fileName[]ParseXMLFetchSQL.sql;char filePath[PATH_MAX];if(getcwd(current_dir,sizeof(current_dir)) ! NULL){if (is_debug) {printf(Current Working Directory:%s\n,current_dir);}strcpy(filePath, current_dir);strcat(filePath, /);strcat(filePath, fileName);if (is_debug) {printf(filePath:%s\n,filePath);}int fd open(filePath, O_CREAT | O_APPEND | O_WRONLY | O_DIRECT | O_SYNC, 0644);if (fd -1){printf(Error Open File %s\n,filePath);close(fd);return 1;}else{if (is_debug) {printf(fileName Number:%d\n,filename_sql_map.size());}for (auto it filename_sql_map.begin(); it ! filename_sql_map.end(); it){std::mapstd::string,std::string read_sql_map;read_sql_map it-second;if (is_debug) {printf(SQL Number:%d\n,read_sql_map.size());}void* memAddr_buf;memAddr_buf memalign(512, 512 * 8);if (!memAddr_buf) { printf(Failed to alloc write buffer\n); free(memAddr_buf); } for(auto it read_sql_map.begin(); it ! read_sql_map.end(); it){ unsigned int sql_sizeit-second.size(); memset(memAddr_buf,\0,4096); memcpy(memAddr_buf, it-second.c_str(), it-second.size());*(char*)((char*)memAddr_buf sql_size) \n;int ret write(fd, memAddr_buf, 4096);if (ret -1){printf(Error Write File %s\n,filePath);close(fd);free(memAddr_buf);return 1;} } // for sql mapfree(memAddr_buf); }//for filename_sql_map }} 下面是头文件. 有兴趣的朋友可以试试 /*By Sharkz(小凡仙) 曾凡坤 2024-07-08*//* Standard C headers */#include iostream //输入输出流 #include fstream //文件流 //#include sstream //字符串流 #include stdexcept //标准异常 #include map //MAP 类 #include string //字符串类 //#include chrono //获得纳秒时间 Calc_time_diff #include vector //动态数组 #include cstdlib//C LANGE LIB #include limits.h #include stdio.h #include string.h #include malloc.h//Liunx sys lib #include fcntl.h //linux 文件库 #include unistd.h //进程库 #include dirent.h //posix /*g -g main.cpp -stdc11 -o main.exe./main.exe -d /home/shark/projects/CPP_Projects/ParseXmlSql run.log */using namespace std; 写后文件内容是这样的,两个SQL中间一大段是NULL 哎 搞到高兴之处,把生产的14个SQL的文件传给SQLE进行审核,居然说语法不支持,开始我以为HINT放的位置不对, 另外SQLE还说SQL太长了,要分成多个SQL的提示. 以前直接审计XML文件,对有些超长的方法也是这样报错,我以为想当然. 直到看到一个DELETE语句 不到50个字母,也这样说,就忽然明白了什么. SQLE没有去空. 我写文件一次写入4096个字节,也可以说字符,大部分提取的SQL顶多是1500个字母,后面好几千都NULL. 哎 搞得我要放弃这段DIO,直接写文件的代码.  心里不是个滋味! 再论国产数据库的选择 如何选择国产数据库? 基于MYSQL的JAVA初级优化措施 Oracle优化新常态
http://www.yingshimen.cn/news/31990/

相关文章:

  • 进服务器编辑网站怎么做广州本地做网站
  • 做外贸的社交网站有哪些wordpress编辑主页
  • 北京网站建设外包公司排名中国建设银行官网站电话号码
  • 网站被百度惩罚放弃上海最大的企业
  • 西安网站开发有哪些公司聚名网是什么平台
  • 爱站网站长工具如何将网站开发成微信小程序
  • 淘客怎么做自己的网站电子商务网站建设的核心
  • 怎样做企业手机网站首页做网站办什么类型营业执照
  • 如何建单位网站手机网站用什么程序做
  • 专业外贸网站建设公司价格网站建设有哪几个方面
  • 房地产网站建设报价中信建设有限责任公司国内区事业部招聘
  • 企业网站php源码国家企业信用信息公示系统官网湖北
  • 网站开发汇报ppt电子商务网站建设与管理的理解
  • IP怎么屏蔽网站域名口碑营销的优势
  • 网站工程师的职责管理部门网站建设说明
  • 深圳设计网站公司汕头模板建站代理
  • 推荐电子商务网站建设广州番禺发布公众号
  • 全球访问量最大的网站深圳 企业 网站建设
  • 网站开发大概价格优化seo搜索
  • 智能科普网站平台建设方案黑龙江高端网站建设
  • 创建网站数据库灵感网站
  • 网站推广效果的评价一份优秀的网络推广方案
  • 河北邯郸建网站网店推广策划书
  • 加强网站队伍建设济南高新区网站建设
  • 网站设计一个页多少钱建设网站南昌
  • 移动网站屏蔽网站开发后台用什么语言
  • 织梦怎么做英文版网站哪些外贸网站比较好
  • 映射做网站深圳十大电子厂排名
  • 浮梁网站推广网站建设记在哪个科目
  • 小型网站设计及建设网站配色