盘点那些年我做过的其他作品

0x01 盘点那些年我做过的其他作品

盘点那些年我做过的一些作品。

  1. 快递助手(Android端,PC端,开发主力,负责二维码扫描和图片识别模块功能开发。)
  2. 学生信息管理系统(struts2+jsp 带新闻公告和后台管理)
  3. 党课考试系统(Android 端,Java web 的全栈式开发)
  4. IOS 移动端游戏开发——模仿微信版飞机大战游戏和汤姆猫游戏
  5. C 语言——图形用户界面动态模拟走迷宫 和 Flash AS 脚本开发 飞机大战游戏
  6. Winform PC 桌面程序——快递助手(二维码生成,打印,短信群发) 教学助手(摄像头操控,Office 嵌入)
  7. C语言动态迷宫求解程序

技术宅男,爱编程,爱挑战,爱专研,爱学习新的技术。

拥有高效的自学学习能力、丰富的代码 bug 调试经验,能独立高效完成分配的任务。

其他技术栈:

  1. 熟悉安卓开发四大组件,会使用碎片、自定义控件、XML 和 JSON 解析,传感器等技术。
  2. 有微信SDK开发经验, 了解TCP/IP和http协议以及Socket,熟悉Android下网络通信机制
  3. 研读并使用过 OCR 图片识别和 ZXING 二维码扫描开源库并实战开发安卓 app 经验。
  4. 会熟练使用 Android Studio、git 和 APK Multi-Tool 反编译工具。
  5. 自学过 HTML5 开发基础,熟悉 Struts2 框架的 jsp 网站程序开发,短信群发 API.
  6. 懂 dos 命令、批处理、组策略、注册表、服务、沙箱、虚拟机等技术

1.1 C语言

1.1.1 C 语言动态走迷宫

在这里插入图片描述
源码见我的博客园博文 C语言动态走迷宫

1.2 Java

1.2.1 网络爬虫

1.2.1.1 网络爬虫一

Java爬虫获取某个页面中指定节点的内容

1.2.1.2 网络爬虫一

在这里插入图片描述

1.2.2 可疑文件监测删除脚本

可疑文件监测删除JSP脚本

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="java.io.*,java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

	<%
	
	    /**
	     *可疑文件监测删除脚本
	     * 范例:删除WebRoot/WEB-INF/ 下所有的JSP和JSPX 文件
	     */
	    //必须配置
	    String configDetectionFolder="WEB-INF";//配置检索的文件夹
	    Boolean enalbeDeleteThread=true;//是否启用删除监测线程
	    response.setHeader("refresh" , "30" );//30秒刷新一次
	
	    //可选:配置参数
	    Boolean enablePrintWebName=false;//是否打印当前项目名称和网址
	    Boolean enablePrintFileName=false;//是否打印监测到的可疑文件名称
	    Boolean enablePrintFilePath=false;//是否打印监测到的可疑文件路径
	    Boolean enablePrintDeleteFileLog=false;//是否打印删除文件日志
	    
	    
	    //可选:是否打印网站信息
	    if(enablePrintWebName){
	    	String path = request.getContextPath();
	    	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
	    	out.println("<p>当前监测网站名称:"+path+"</p>");
	    	out.println("<p>当前监测网站网址:"+basePath+"</p>");
	    }    
		//必选:打印监视器名称
		String currentFileURI=request.getRequestURI();
		String currentFileName=currentFileURI.substring(currentFileURI.lastIndexOf("/")+1);
        out.println("监视器文件: "+currentFileName);
	   
				
		//获取项目实际根目录
		String contextPath= request.getServletContext().getRealPath("/")+File.separator;
		//设置监测的文件夹
		File searchRootFolderFile = new File(contextPath +File.separator+configDetectionFolder);
		//查找SmartScanWeb\WEB-INF目录下的的所有文件夹和文件
		out.println("<p>当前监控真实文件夹路径:</p><p>"+searchRootFolderFile.getAbsolutePath()+"</p>");

		
		//初始化保存监测结果集合
		//所有的文件夹集合
		List<String> searchFolderList = new ArrayList<>();
		//所有的文件名称集合
		List<String> searchFileList = new ArrayList<>();
		//检索到的文件夹路径
		List<String> searchFolderPathList = new ArrayList<>();
		//执行删除文件列表
		List<File> searchFilePathList = new ArrayList<>();
		

		//递归遍历监控目录下所有的文件夹, JSP和JSPX文件
		if (searchRootFolderFile.exists()) {
			LinkedList<File> rootFolderList = new LinkedList<File>();
			File[] files = searchRootFolderFile.listFiles();
			for (File file : files) {
				if (file.isDirectory()) {
					searchFolderList.add(file.getName());
					searchFolderPathList.add(file.getAbsolutePath());
					rootFolderList.add(file);
				} else if(file.getName().endsWith(".jsp")||file.getName().endsWith(".jspx")){
					searchFileList.add(file.getName());
					searchFilePathList.add(file);
				}
			}
			File temp_file;
			while (!rootFolderList.isEmpty()) {
				//遍历过一个目录移除第一个
				temp_file = rootFolderList.removeFirst();
				files = temp_file.listFiles();
				for (File file2 : files) {
					if (file2.isDirectory()) {
						searchFolderList.add(file2.getName());
						searchFolderPathList.add(file2.getName());
						rootFolderList.add(file2);
					} else if(file2.getName().endsWith(".jsp")||file2.getName().endsWith(".jspx")){
						searchFileList.add(file2.getName());
						searchFilePathList.add(file2);
					}
				}
			}
			
		}else{
			out.println("文件不存在!");
		}
		
		//打印检索结果
	    out.println("<hr/><p>监测状态: ");
	    out.println("发现JSP/JSPX文件个数: "+searchFileList.size()+"</p><hr/>");
	   
	  
	    //可选可删除: 打印可疑文件列表
	    if(enablePrintFileName){
	        out.println("<p>可疑文件名称列表:</p>");
		    for(int i=0;i<searchFileList.size();i++){
		    	out.println("<p>"+searchFileList.get(i)+"</p>");
		    }
	    }
	    //可选可删除:打印可疑文件路径
	    if(enablePrintFilePath){
	        out.println("<p>可疑文件路径列表:</p>");
		    for(int i=0;i<searchFilePathList.size();i++){
		    	out.println("<p>"+searchFilePathList.get(i).getAbsolutePath()+"</p>");
		    }
	    }
	    
	    
	    //执行删除
	    if(enalbeDeleteThread){
	       int deleteCount=0;
	   	   for(int i=0;i<searchFilePathList.size();i++){
	   		   //做判断不删除自身版本
	   		   if(!searchFilePathList.get(i).getAbsolutePath().toString().contains(currentFileName)){
	   			   if(enablePrintDeleteFileLog){
	   			      out.println("正在删除:<p>"+searchFilePathList.get(i).getAbsolutePath()+"</p>");
	   			   }
	   			   searchFilePathList.get(i).delete();
	   			   deleteCount++;
	   		   }
	   	   }
	   	   out.println("删除个数:"+deleteCount);
	    }
	    
	%>
</body>
</html>

1.2.3 HTTP FileServer

基于Spring Boot 开发的一个类似FTP文件服务器,实现功能如下:

  1. 支持文件上传下载
  • 关于文件下载

默认监控当前机器C:\ftp_share_folder 的文件下的所有文件变化,只要刷新下页面,就可以获取文件下载列表

  • 关于文件上传

默认上传到C:\ftp_share_folder 根目录下

  • 关于文件上传下载限制

最大默认支持1024GB,已解决tomcat内嵌容器大文件上传超时问题

  • 修改监控文件夹

修改监控文件夹很简单只需要修改application-dev.properties 下的 com.xingyun.ftp.ftp-share-folder=C:/ftp_share_folder

  1. 长文本持久化支持以实现类似剪切板功能

基于H2内嵌文本数据库实现,最大支持999999999个字符的保存和读取

Github 开源地址

1.3 C#

1.3.1 郭哥教学助手

为大学老师讲课开发的一款软件,支持摄像头打开,窗体中嵌入Office 文档

在这里插入图片描述

1.3.2 绘制圆形窗体

在这里插入图片描述

1.4 Python

1.4.1 Python爬虫

Python爬虫获取某个网页所有的a标签中的超链接网址

发布了194 篇原创文章 · 获赞 262 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/hadues/article/details/104408071