Python统计文章单词数量

2021-09-25 开发

最近收到软件工程课程老师的一个实验作业,其中涉及到了一部分NLP的内容,这里捡出来一些整理下来。 需求 输出单个文件中的前 N 个最常出现的英语单词。 作用:一个用于统计文本文件中的英语单词出现频率的控制台程序 单词:以英文字母开头,由英文字母和字母数字符号组成的字符串视为一个单词。单词 以分隔符分割且不区分大小写。在输出时,所有单词都用小写字符表示。 思路 统计个数优先考虑字典。先把文章里的标点和多余空格处理掉,然后把整篇文章处理成一个单词列表,再去count这个列表里的元素就可以了。最后做一下排序。 代码 #-*- coding: UTF-8 -*- # 需求:输出单个文件中的前 N 个最常出现的英语单词。 # 获取文本内容,分隔单词 def get_words(filename): with open(filename) as f: content = f.read() # 处理标点符号 content = content.replace(",", "") content = content.replace(".", "") content = content.replace("!", "") content = …

阅读全文 →

Java 实现程序计时功能

2021-06-17 开发

系统开发中,常常需要在特定时刻执行特定的任务,Java支持定时任务功能。请实现定时任务执行功能。 原理很简单,通过线程睡眠来起到定时的效果。创建一个线程,然后让它在while里一直睡眠,到时间唤醒即可。 package com.edisoncgh.timer; public class Test { public static void main(String[] args) { // 设置时间间隔,单位ms int timeInterval = 1000; Runnable runnable = new Runnable() { @Override public void run() { while(1) { System.out.println("尝试定时"); try { Thread.sleep(timeInterval); } catch (Exception e) { e.toString(); } } } }; Thread …

阅读全文 →

Java 实现邮件推送

2021-06-17 开发

通过mailgun的api平台实现邮件发送功能。 import java.io.File; import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.JsonNode; import com.mashape.unirest.http.Unirest; import com.mashape.unirest.http.exceptions.UnirestException; // 此处为mailgun官方提供的java语言调用方法 public class MGSample { public static JsonNode sendSimpleMessage() throws UnirestException { String domainName = "这里设置mailgun平台的私人域域名"; String apiKey = "这里设置mailgun平台提供的api私钥"; String mailFrom = "这里设置邮件发送者信息"; String mailTo = "这里设置邮件接受者信息"; String mailTitle = "这里设置邮件标题"; String …

阅读全文 →

Java SSM 两种方法实现验证码

2021-06-17 开发

方法1:kaptcha开源组件。 导入maven依赖 <!-- 引入kaptcha依赖 --> <!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> index.jsp页面 <form action="check.jsp"> <div> <label>验证码</label> <input required name="VerificationCode" type="text" placeholder="请输入验证码" autocomplete="off" /> </div> <div> <img alt="验证码" id="imageCode" src="randomCode.jpg" /> <button onclick="reload()">看不清?</a> </div> <div> <button type="submit">进行验证</button> …

阅读全文 →

Java SSM VO、DTO、DO、PO 的含义

2021-06-17 开发

Vo(view object) Vo即view object,也叫视图对象。通常我们会将一个web网页封装为一个对象,然后用一个vo对象在控制层与视图层之间作传输转换。即,vo的作用是给视图提供数据支撑,这个数据从控制层来,用以描述你期望描述的页面。 DTO(data transfer object) DTO即data transfer object,也叫数据传输对象。把它和DAO(data access object,数据访问对象)相区分开来是很有必要的。DAO是封装对数据的访问,通常用来描述所有数据,例如某表的所有字段。而DTO用来传输开发者所指定的部分数据,即使某表存在100个字段,我也可以只实现一个获取其中10个字段的DTO对象并传到下一层。通常来讲,DAO将实体对象抽象成持久层对象,并组装成DTO,也就是说这二者之间存在一个逻辑上的递进关系。 DO(Data Object) 与数据库表结构一一对应,通过DAO层向上传输数据的数据源对象。 PO(persistant object) 持久层对象,对应数据库中表的字段,数据库表中的记录在java对象中的显示状态,最形象的理解就是一个PO就是数据库中的一条记录。

阅读全文 →

Java SSM 图书管理系统

2021-06-12 开发

开篇文章记录一下开(hua)发(shui)周期仨个半星期的Java开发期末设计。 项目一览 欢迎页面 登录页面 系统主页 表单页面 技术结构 需求分析 我们选的题目是图书管理系统,没别的原因,就图它简单。因为别的事情很多,并没有过多的精力单独放在这一门课。先研究研究老师给的需求: 大致功能需求: 图书信息有书名、ISBN、分类号、作者、在管本数。借书人姓名、性别、学号、班级、专业。 1)系统用户管理:系统管理员的增删改查; 2)图书管理:新进图书信息录入、修改、删除、查询,按模板导入,导出; 3)为借书人办理注册即添加借书人,借书人的增删改查; 4)办理借书手续; 5)借书信息的查询、统计,统计信息可按班级、书类别条件筛选导出Excel表; 从这些描述里,我们可以概括出以下核心功能: 1. 管理员、图书、借书人、借阅记录的常规增删改查; 2. 借阅记录的统计、筛选、查询; 3. Excel导出表格内容。 在动手开发之前,一定要明确项目的核心功能,这样写起来脑子才不会乱,至少不会乱得很离谱。 贴一下项目最终的结构(为保证观感,已省略末级目录)。

阅读全文 →