具体详情https://gitee.com/wuburen/guns#GunsV2.1新版Guns基于SpringBoot全面升级,完美整合springmvc+shiro+mybatis-plus+beetl!在不用写xml配置(V1.0)的基础上进一步简化项目配置,让您更专注于业务开发!抛弃传统springxml的配置方式,利用springboot+javabean方式配置spring,极大简化了pom.xml配置和spring配置.Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架.如果您不喜欢用SpringBoot,或者您是一个spring初学者,您可以切换到GunsV1.0(点击这里)分支,GunsV1.0基于spring的javabean方式配置项目,同样简洁易上手.注:SpringBoot强大的AutoConfig和统一的依赖管理极大的简化了spring配置和maven依赖,在不了解其都配置了哪些东西的基础上可能会对初学者有一定困扰,所以建议初学者先看GunsV1.0##功能简介用户管理角色管理部门管理菜单管理字典管理业务日志登录日志监控管理通知管理代码生成##使用说明导入sql/guns.sql文件到mysql数据库以maven方式导入项目到ide修改application.yml中的数据库相关的配置,改为您本机的数据库配置启动项目,管理员账号admin/密码111111###如何启动项目Guns目前支持三种启动方式:在IDE里运行GunsApplication类中的main方法启动执行如下maven命令cleanpackage-Dmaven.test.skip=true并从target目录中找到guns-1.0.0-SNAPSHOT.jar,并在jar包的目录下执行如下java命令java-jarguns-1.0.0-SNAPSHOT.jar修改pom.xml中如下片段jar改为war并打包放入到tomcat中执行##所用框架###前端Bootstrapv3.3.6jQueryv2.1.4bootstrap-tablev1.9.0layerv2.1zTreecorev3.5.28WebUploader0.1.5###后端SpringBoot1.5.3.RELEASEMyBatis-Plus2.0.8MyBatis3.4.4Spring4.3.8.RELEASEBeetl2.7.15hibernate-validator5.3.5.FinalEhcache3.3.1Kaptcha2.3.2Fastjson1.2.31Shiro1.4.0Druid1.0.31##项目包结构说明├─main│││├─java│││││├─com.stylefeng.guns----------------项目主代码│││││││├─common----------------项目公用的部分(业务中经常调用的类,例如常量,异常,实体,注解,分页类,节点类)│││││││├─config----------------项目配置代码(例如mybtais-plus配置,ehcache配置等)│││││││├─core----------------项目运行的核心依靠(例如aop日志记录,拦截器,监听器,guns模板引擎,shiro权限检查等)│││││││├─modular----------------项目业务代码│││││││├─GunsApplication类----------------以main方法启动springboot的类│││││││└─GunsServletInitializer类----------------用servlet容器启动springboot的核心类│││││
2025/2/13 0:12:08 70B java SpringBoot guns guns(收费)
1
机房收费管理系统问题描述结合我校计算机机房的运作模式,设计一种适合的收费管理系统,能够实现相关的人员检索,计时收费,管理汇总等功能模块。
开发环境采用C或C++实现,VC++6.0基本要求主要功能模块:(1)登录模块(2)上机管理模块说明:上机登记时,余额不足3元或卡处于挂失状态,则拒绝登记。
每位同学的一次上机形成一条记录,每30秒遍历一次上机记录表,对表中所有正上机字段为TRUE的记录的上机用时增加30秒,同时减少上机卡表中的余额。
(3)上机卡管理模块(4)充值挂失模块(5)查找统计模块:统计某天上机的总时数、每次上机的平均时数和机房的收入;
某学生上机的次数、上机总时数、每次上机平均时间;
挂失和查询余额。
参考的数据结构:上机卡(卡号,姓名,专业班级,余额,状态),状态有:正常和挂失。
上机记录(卡号,上机日期,开始时间,上机用时,正上机,管理号代码)上机记录表永久保存,用于事后查询和统计。
设计要求1)界面友好,输入信息符合逻辑:如上机时间设定在合理的时间范围。
2)能从实践生活出发,设计合理的功能模块3)各类信息的数据结构明晰4)可根据自身生活体验添加相关功能模块。
拓展功能要求鼓励采用TurboC/C++、MFC等开发工具,实现彩色或图形操作界面。
鼓励引入小型数据作为处理数据的来源,拓展知识面。
2025/1/26 22:49:26 644KB 程序设计
1
录入=newJButton("录入");查询=newJButton("查询");删除=newJButton("删除");修改=newJButton("修改");显示=newJButton("显示");录入.addActionListener(newInputAct());查询.addActionListener(newInquestAct());修改.addActionListener(newModifyAct());删除.addActionListener(newDeleteAct());显示.addActionListener(newShowAct());修改.setEnabled(false);p1=newJPanel();p1.add(newJLabel("学号:",JLabel.CENTER));p1.add(学号);p2=newJPanel();p2.add(newJLabel("姓名:",JLabel.CENTER));p2.add(姓名);p3=newJPanel();p3.add(newJLabel("性别:",JLabel.CENTER));p3.add(男);p3.add(女);p4=newJPanel();p4.add(newJLabel("专业:",JLabel.CENTER));p4.add(专业);p5=newJPanel();p5.add(newJLabel("年级:",JLabel.CENTER));p5.add(年级);p6=newJPanel();p6.add(newJLabel("出生:",JLabel.CENTER));p6.add(出生);pv=newJPanel();pv.setLayout(newGridLayout(6,1));pv.add(p1);pv.add(p2);pv.add(p3);pv.add(p4);pv.add(p5);pv.add(p6);ph=newJPanel();ph.add(录入);ph.add(查询);ph.add(修改);ph.add(删除);ph.add(显示);file=newFile("学生信息.txt");学生散列表=newHashtable();if(!file.exists()){try{FileOutputStreamout=newFileOutputStream(file);ObjectOutputStreamobjectOut=newObjectOutputStream(out);objectOut.writeObject(学生散列表);objectOut.close();out.close();}catch(IOExceptione){}}Containercon=getContentPane();con.setLayout(newBorderLayout());con.add(lb,BorderLayout.WEST);con.add(pv,BorderLayout.CENTER);con.add(ph,BorderLayout.SOUTH);setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);Statementstmt; ResultSetrs;}publicstaticvoidmain(String[]args){StudentManagerff=newStudentManag
1
用C/C++语言实现如下函数:1. boollu(double*a,int*pivot,intn);矩阵的LU分解。
假设数组anxn在内存中按行优先次序存放。
此函数使用高斯列选主元消去法将其就地进行LU分解。
pivot为输出参数,pivot[0,n)中存放主元的位置排列。
函数成功时返回false,否则返回true。
2. boolguass(doubleconst*lu,intconst*p,double*b,intn);求线代数方程组的解设矩阵Lunxn为某个矩阵anxn的LU分解,在内存中按行优先次序存放。
p[0,n)为LU分解的主元排列。
b为方程组Ax=b的右端向量。
此函数计算方程组Ax=b的解,并将结果存放在数组b[0,n)中。
函数成功时返回false,否则返回true。
3. voidqr(double*a,double*d,intn);矩阵的QR分解假设数组anxn在内存中按行优先次序存放。
此函数使用HouseHolder变换将其就地进行QR分解。
d为输出参数,d[0,n)中存放QR分解的上三角对角线元素。
4. boolhouseholder(doubleconst*qr,doubleconst*d,double*b,intn);求线代数方程组的解设矩阵qrnxn为某个矩阵anxn的QR分解,在内存中按行优先次序存放。
d[0,n)为QR分解的上三角对角线元素。
b为方程组Ax=b的右端向量。
函数计算方程组Ax=b的解,并将结果存放在数组b[0,n)中。
函数成功时返回false,否则返回true。
1
来源于webrtc的vad音频处理模块,含源码。
VAD-录音过程中,实时检测当前是否有人在讲话(语音活动检测,或者叫静音检测)。
讲话时webRtcVad_Process返回true,不讲话时返回false。
直接用androidstudio打开,编译后“喂喂”两下,看log即可。
bytanyaping,欢迎技术交流。
2024/12/27 13:31:29 41.85MB vad webrtc 静音检测
1
true随机
2024/12/19 16:31:14 13KB C++
1
#include#include#include#includeusingnamespacestd;intw=0;//尾数累加器intp=0;//指数累加器intj=0;//十进制小数位数计数器inte=1;//用来记录十进制数的符号,当指数为正时为1,为负时为-1inti=0;//用来标志元素位置intd=0;//用来表示每个数值型元素对应的数值constintN=40;//用来确定输入识别符的最大长度chardata[N];//存放输入的识别符boolis_digit;//标志是否是数字stringCJ1;//确定是整形还是实型doubleCJ2;//记数值//函数声明voidcheck(charc);//检查首字母是否是数字的函数voiddeal_integer(charc);//处理识别符的整数部分voiddeal_point(charc);//用来处理小数部分voiddeal_index(charc);//用来处理指数部分voids_next();//确定实型voidz_next();//确定整型voidlast();//计算CJ2voiderror();//程序中错误处理程序voiddeal();//处理函数主体intmain(){//主函数coutdata;deal();//处理函数主体last();//计算CJ2system("pause");return0;}voidcheck(charc)//判断输入的首字母是否是数字{is_digit=isdigit(c);while(is_digit!=true){//输入的首字母不是数字时coutdata;check(data[0]);}}voiddeal_integer(charc){//处理识别符的整数部分d=(int)c-48;w=w*10+d;i++;if(isdigit(data[i])!=0)//下一个仍是数值时,调用程序本身deal_integer(data[i]);}voiddeal_point(charc){//用来处理小数部分inttemp=i;if(isdigit(c)!=0)//是数值字符时deal_integer(c);else{error();//错误处理程序deal();//处理函数主体}j=i-temp;//记录十进制小数位数}voiddeal_index(charc){//用来处理指数部分if(c=='-'){e=-1;i++;}//是'-'号时else{if(c=='+')i++;//是'+'号时else{if(isdigit(c)==false)//非数值字符时{error();//错误处理程序deal();//处理函数主体}else
2024/12/19 11:09:24 33KB 无符号数的词法分析程序
1
实现本地电脑监控服务器端电脑监控功能publicclassClient{ //入口 publicstaticvoidmain(String[]args){ try{ intchoice=JOptionPane.showConfirmDialog(null,"请求控制对方电脑","远程控制系统-Charles",JOptionPane.YES_NO_OPTION); if(choice==JOptionPane.NO_OPTION){ return; } Stringinput=JOptionPane.showInputDialog("请输入要连接电脑的ip(包括端口号)","127.0.0.1:10000"); //获取服务器的主机 Stringhost=input.substring(0,input.indexOf(":")); //获取服务器的端口号 Stringpost=input.substring(input.indexOf(":")+1); System.out.println("服务器的主机:"+host+""+"端口号:"+post); Socketclient=newSocket(host,Integer.parseInt(post)); DataInputStreamdis=newDataInputStream(client.getInputStream()); JFramejframe=newJFrame("本地监控系统-Charles"); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//默认关闭进程 jframe.setSize(1024,768);//设置窗体大小 doubleheight=dis.readDouble(); doublewidth=dis.readDouble(); Dimensionds=newDimension((int)width,(int)height); //设置 jframe.setSize(ds); //将服务器图片作为背景 JLabelbackImage=newJLabel(); JPanelpanel=newJPanel(); //设置滚动条 JScrollPanescrollPane=newJScrollPane(panel); panel.setLayout(newFlowLayout()); panel.add(backImage); jframe.add(scrollPane); jframe.setAlwaysOnTop(true); jframe.setVisible(true); while(true){ intlen=dis.readInt(); byte[]imageData=newbyte[len]; dis.readFully(imageData); ImageIconimage=newImageIcon(imageData); backImage.setIcon(image); jframe.repaint(); } }catch(Exceptione){ e.printStackTrace(); } }}
2024/12/9 15:25:48 13KB java 远程监控
1
1、头部菜单增加设置时间功能,可以随意设置app已经执行时间,真正做到想刷多久就刷多久。
2、修改参数『是否保活无障碍』开启则刷完app后自动听歌进行无障碍保活3、修改保活无障碍和碎片化的BUG4、蚂蚁看点保刷功能5、增加方法clickControlBounds()点击得是屏幕因此控制台尽量不要开,之前的clicControl()的问题在于控件的点击属性是true结果使用autojs内部click事件点击会报错6、修复快音点击错误的BUG,就是因为5的问题引发的7、增加淘看点、惠视频(收益不是很高)、区块链增加顶点号8、增加未安装app的颜色区分(浅黄色是未安装的)9、修改快
2024/11/17 8:47:05 11.4MB 自动阅读 autojs
1
产品名称:中国菜刀(Chinachopper)生产厂家:中国菜刀贸易有限公司厂家地址:http://www.maicaidao.com/----------------------------------------------------------------------------------------------------------免责申明: 请使用者注意使用环境并遵守国家相关法律法规! 由于使用不当造成的后果本厂家不承担任何责任!----------------------------------------------------------------------------------------------------------友情提示:程序在使用过程中难免有各种BUG,到官网看一下是否有更新吧,说不定己经修补了呢。
UINCODE方式编译,支持多国语言输入显示。
在非简体中文环境下使用,自动更换成英文界面,翻译有误的地方请留言指正。
一、脚本客户端(包括但不限于EVAL)部分  1)要了解的  服务端只需要简单的一行代码,即可用此程序实现常用的管理功能,功能代码二次编码后发送,过IDS的能力大幅提高。
  目前支持的服务端脚本:PHP,ASP,ASP.NET,并且支持https安全连接的网站。
  在服务端运行的代码如下:  PHP:  ASP:  ASP.NET: (注意:ASP.NET要单独一个文件或此文件也是Jscript语言)  Customize: 自定义类型,功能代码在服务端保存,理论上支持所有动态脚本,只要正确与菜刀进行交互即可。
  2)怎么用  在主视图中右键/添加,在弹出的对话框中输入服务端地址,连接的密码(请注意上例中的pass字串),选择正确的脚本类型和语言编码,  保存后即可使用文件管理,虚拟终端,数据库管理三大块功能,同时支持自定义的脚本执行,并可以导入导出数据。
  要是其它都没错误,那么可能就是你把语言编码选错了。
  1.文件管理:[特色]缓存下载目录,并支持离线查看缓存目录;  2.虚拟终端:[特色]人性化的设计,操作方便;(输入HELP查看更多用法)  3.数据库管理:[特色]图形界面,支持MYSQL,MSSQL,ORACLE,INFOMIX,ACCESS 以及支持ADO方式连接的数据库。
(各种脚本条件下的数据库连接方法请点击数据库管理界面左上角处的配置按钮查看)  注意:由于服务器的安全设置,某些功能可能不能正常使用。
  3)关于配置信息怎么填? A)数据库方面: PHP脚本: 类型类型可为MYSQL,MSSQL,ORACLE,INFOMIX中的一种 主机地址主机地址可为机器名或IP地址,如localhost 数据库用户连接数据库的用户名,如root 数据库密码连接数据库的密码,如123455 ASP和ASP.NET脚本: 类型类型只能填ADO ADO配置信息 ADO连接各种数据库的方式不一样。
如MSSQL的配置信息为 Driver={SqlServer};Server=(local);Database=master;Uid=sa;Pwd=123456; 同时,支持NT验证登录MSSQL数据库,并能把查询的结果列表导出为html文件 Customize脚本: 类型类型只能填XDB 与Customize脚本约定的配置信息 菜刀自带的server.jsp数据库参数填写方法如下(两行): MSSQL:com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:sqlserver://127.0.0.1:1433;databaseName=test;user=sa;password=123456 MYSQL:com.mysql.jdbc.Driverjdbc:mysql://localhost/test?user=root&password=123456 ORACLE:oracle.jdbc.driver.OracleDriverjdbc:oracle:thin:user/password@127.0.0.1:1521/test B)其它方面: 添加额外附加提交的数据,如ASP的新服务端是这样的: 那么,菜刀在配置处填入: SC=function+ff(Server,Response,Request,Application,Session,Error):eval(request("pass")):end+function 然后以密码pass来连接即可。
提交功能前先POST额外的数据包:会话期间只提交一次。
https://target.com/cgi-bin/login.cgi uid=user1&pwd=123456  3)关于HTTP登录验证 SHELL地址这样填http://user:pass@server/server.asp 用户名密码中的特殊字符可用URL编码转换。
二、安全扫描  蜘蛛爬行,绑定域名查询,目录爆破。
  命令解释: A)查单一IP的绑定域名 {reverse_ip}{url:http://www.test.com/} B)扫描本C段开放的WEB服务器,并查询绑定域名 {reverse_ip_c}{url:http://www.test.com/} C)只扫描本C段开放的WEB服务器 {reverse_ip_c}{url:http://www.test.com/}{port} D)蜘蛛爬行 {spider}{url:http://www.test.com/} E)蜘蛛爬行,并设定爬行范围 {spider}{url:http://www.test.com/}{range:test.com} F)蜘蛛爬行,过滤重复URL加快速度 加上{filter} G)爆破功能,%s为dict中的一行 flag:后面为返回的数据(含HTTP头部)中的特定关键字 加!!为不包含关键字为TRUE,否则包含关键字为TRUE list.txt为当前目录下的文件,可设为绝对路径,注意:不要包含太多的行。
注:从20100626版开始,list.txt一定要是UNICODE格式的文本文件 {crack}{url:http://%s/admin/}{flag:HTTP/1.1200}{dict:list.txt} {crack}{url:http://%s/admin/}{flag:!!HTTP/1.1404}{dict:list.txt} {crack}{url:http://www.test.com/%s/}{flag:successfully}{dict:list.txt}三、定时提醒  当闹钟来用吧,周期:每月/每周/每日/只一次。
四、快速启动  一些常用的快捷方式放在这里,可以指定用户身份运行程序。
这部分数据是加密存储的。
五、浏览器  就是一个专用的网页浏览器:Post浏览/自定义Cookies,/执行自定义脚本/自动刷新页面/同IP网页搜索。
六、其它部分  等待加入。
文件说明:------------------------------------------------------------------chopper.exe 菜刀程序db.mdb 菜刀的主数据库------------------------------------------------------------------cache.tmp 菜刀的缓存数据库(可删除)readme.txt 你现在正在看的(可删除)[目录]Script 存放菜刀的自写脚本和Customize模式Jsp的一个服务端文件(可删除)----附---------------------------Customize模式菜刀和服务端通信接口---------------------------------------------------------------------------------------------------其它语言的服务端代码可按此接口来编写(请参照server.jsp/server.cfm)---------------------例:菜刀客户端填写的密码为pass,网页编码选的是GB2312注:所有参数都以POST提交,返回的数据都要以->|为开始标记,|<-为结束标记注:返回的错误信息开头包含ERROR://注:\t代表制表符TAB,\r\n代表换行回车,\n代表回车注:数据库配置信息是一个字符串,服务端脚本可以对此字符串格式进行自定义。
--------------------------------------------------------------------------------------------------------------------------------------------------------[得到当前目录的绝对路径]提交:pass=A&z0=GB2312返回:目录的绝对路径\t,如果是Windows系统后面接着加上驱动器列表示例:c:\inetpub\wwwroot\ C:D:E:K:示例:/var/www/html/ [目录浏览]提交:pass=B&z0=GB2312&z1=目录绝对路径返回:先目录后文件,目录名后要加/,文件名后不要加/示例: 目录名/\t时间\t大小\t属性\n目录名/\t时间\t大小\t属性\n 文件名\t时间\t大小\t属性\n文件名\t时间\t大小\t属性\n[读取文本文件]提交:pass=C&z0=GB2312&z1=文件绝对路径返回:文本文件的内容[写入文本文件]提交:pass=D&z0=GB2312&z1=文件绝对路径&z2=文件内容返回:成功返回1,不成功返回错误信息[删除文件或目录]提交:pass=E&z0=GB2312&z1=文件或目录的绝对路径返回:成功返回1,不成功返回错误信息[下载文件]提交:pass=F&z0=GB2312&z1=服务器文件的绝对路径返回:要下载文件的内容[上传文件]提交:pass=G&z0=GB2312&z1=文件上传后的绝对路径&z2=文件内容(十六进制文本格式)返回:要下载文件的内容[复制文件或目录后粘贴]提交:pass=H&z0=GB2312&z1=复制的绝对路径&z2=粘贴的绝对路径返回:成功返回1,不成功返回错误信息[文件或目录重命名]提交:pass=I&z0=GB2312&z1=原名(绝对路径)&z2=新名(绝对路径)返回:成功返回1,不成功返回错误信息[新建目录]提交:pass=J&z0=GB2312&z1=新目录名(绝对路径)返回:成功返回1,不成功返回错误信息[修改文件或目录时间]提交:pass=K&z0=GB2312&z1=文件或目录的绝对路径&z2=时间(格式:yyyy-MM-ddHH:mm:ss)返回:成功返回1,不成功返回错误信息[下载文件到服务器]提交:pass=L&z0=GB2312&z1=URL路径&z2=下载后保存的绝对路径返回:成功返回1,不成功返回错误信息[执行Shell命令(Shell路径前会根据服务器系统类型加上-c或/c参数)]提交:pass=M&z0=GB2312&z1=(-c或/c)加Shell路径&z2=Shell命令返回:命令执行结果[得到数据库基本信息]提交:pass=N&z0=GB2312&z1=数据库配置信息返回:成功返回数据库(以制表符\t分隔),不成功返回错误信息[获取数据库表名]提交:pass=O&z0=GB2312&z1=数据库配置信息\r\n数据库名返回:成功返回数据表(以\t分隔),不成功返回错误信息[获取数据表列名]提交:pass=P&z0=GB2312&z1=数据库配置信息\r\n数据库名\r\n数据表名返回:成功返回数据列(以制表符\t分隔),不成功返回错误信息[执行数据库命令]提交:pass=Q&z0=GB2312&z1=数据库配置信息\r\n数据库名&z2=SQL命令返回:成功返回数据表内容,不成功返回错误信息注意:返回的第一行为表头,接下去每行分别在列表中显示,列数要求一致。
行中的每列后加上\t|\t标记,每行以标记\r\n为结束
2024/10/23 12:54:30 197KB hacker
1
共 161 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡