计算机毕设 基于机器学习的文本聚类 - 可用于舆情分析
文章目录
- 0 简介
- 1 项目介绍
- 1.1 提取文本特征
- 1.2 聚类算法选择
- 2 代码实现
- 2.1 中文文本预处理
- 2.2 特征提取
- 2.2.1 Tf-idf
- 2.2.2 word2vec
- 2.3 聚类算法
- 2.3.1 k-means
- 2.3.2 DBSCAN
- 2.4 实现效果
- 2.4.1 tf-idf + k-means聚类结果
- 2.4.2 word2vec + k-means 聚类结果
- 最后
0 简介
今天学长向大家介绍一个毕设项目,中文文本分类技术
中文文本分类 ( 机器学习 和 深度学习 ) - 新闻分类 情感分类 垃圾邮件分类
1 项目介绍
由于项目需要,需要对旅游游记文本进行聚类,为打标签做指导,所以调研了主流的短文本聚类方法,文本聚类主要还是分成两个方面。
1.1 提取文本特征
在《数学之美》前几章中,详细讲了为何要将文本这个自然语言领域的事物,转换成数学领域能处理的向量、矩阵。为了分析一段文本,我们需要首先得到这段文本的表示向量,这个向量就可以作为文本的特征输入决策器中进行判决。
1.2 聚类算法选择
这里的聚类算法就是上面说的决策器。聚类算法主要分成两大类,一类是基于距离的迭代算法,比如k-means,还有一类是基于密度的流式聚类算法,比如DBSCAN。他们各有优劣,通常由于我们并不清楚聚类的簇数量,并且由于海量文本迭代的效率比较低,真实应用场景中,我们在聚类算法的选择上,更加倾向选DBSCAN这类的算法。
这里学长做了几组对照实验,分别使用tf-idf或word2vec作为文本的特征,采用k-means或者DBSCAN进行聚类分析。实验流程如下:
2 代码实现
2.1 中文文本预处理
将清洗过的数据进行分词、去停用词。其中分词的时候,载入预先设置好的自定义词典,提高分词精度。笔者自己写了一个分词的类,提高代码复用率。
from tools.tokenizer.wordCut import WordCutmydict = ["mysenicdict.txt", "myfooddict.txt"]
file_path = '/home/zcy/haiNan/texttravelgen/data/clean_comments.txt'
# 默认是精确模式
test = WordCut()
test.addDictionary(mydict) # 加载自定义词典# 分词,去停用词(集成在类中了),不显示在console,保存分词后的文件到file_path目录
test.seg_file(file_path, show=False, write=True)
2.2 特征提取
2.2.1 Tf-idf
# 词频矩阵:矩阵元素a[i][j] 表示j词在i类文本下的词频
vectorizer = CountVectorizer()
# 统计每个词语的tf-idf权值
transformer = TfidfTransformer()
freq_word_matrix = vectorizer.fit_transform(corpus)
#获取词袋模型中的所有词语
word = vectorizer.get_feature_names()
tfidf = transformer.fit_transform(freq_word_matrix)
# 元素w[i][j]表示j词在i类文本中的tf-idf权重
weight = tfidf.toarray()z
2.2.2 word2vec
# doc2vec
#训练并保存模型
import gensimsentences = gensim.models.doc2vec.TaggedLineDocument(token_path)
model = gensim.models.Doc2Vec(sentences, size=100, window=2, min_count=3)
model.train(sentences,total_examples=model.corpus_count, epochs=1000)
model.save('../model/demoDoc2Vec.pkl')
2.3 聚类算法
2.3.1 k-means
# K-means聚类
print 'Start K-means:'
from sklearn.cluster import KMeans
clf = KMeans(n_clusters=20)
s = clf.fit(model.docvecs)
print s
#20个中心点
print(clf.cluster_centers_)
#每个样本所属的簇
print(clf.labels_)
i = 1
while i <= len(clf.labels_):print i, clf.labels_[i-1] i = i + 1
#用来评估簇的个数是否合适,距离越小说明簇分的越好,选取临界点的簇个数
print(clf.inertia_)
2.3.2 DBSCAN
# dbscan 密度聚类
from sklearn.cluster import DBSCAN# Compute DBSCAN
db = DBSCAN(eps=0.005, min_samples=10).fit(weight)
print db.core_sample_indices_
db.labels_
2.4 实现效果
为了将聚类后的类别信息与原文信对照起来,方便查看,笔者写了一个类提高重用效率,将结果写到ori_path的路径下,并提供了排序的功能,代码如下:
from tools.labelMap.labelText import LabelTextlabel = clf.labels_
ori_path = "../data/clean_comments.txt"
labelAndText = LabelText(label, ori_path)
labelAndText.sortByLabel(write=True)
2.4.1 tf-idf + k-means聚类结果
new file saved in /home/zhouchengyu/haiNan/texttravelgen/data/sortedLabelText.csv
0 一下机场携程订的专车很准时的来接了我们,服务也很好,经过大约40分钟的车程,我们从凤凰机场来到了亚龙湾。
0 下午18:35坐动车返回美兰,住在机场附近小旅馆,老板人倒是挺好,挺便宜,装修这些也算对得起这个价格了。
0 中午十二点,飞机准时到达海口美兰国际机场。到达厅内,爷爷奶奶早已等待多时。
0 祥鹏航空8L9963,特价机票,加上机场建设费及燃油费等约300。我们老大火速抢完了27人的机票,带着这个超级散团,出发!
0 到了海南一下飞机,湿热的空气就迎面扑来。没几步路就出汗了。出了机场赶紧找订好的住宿的地方。
0 作为一个北方人去过的最南端就是福州了,也是今年才去的,一般都在武汉止步。终于在北京等了个把星期,可以坐上飞机出发啦~~~
0 新加坡的过境签相当方便,填一张入境卡就可以了,而且居然不用排队。兴冲冲地通过海关后发现机场的两小时的免费观光大巴居然是在转机区,而不是入境后,只好换了100人民币的新币开始自助公交游。从机场坐地铁到Raffles Palace,去找鱼尾狮公园(Merlion Park)。奇怪的是这么有名的地标性景点一路上居然没有任何指示……雕像附近合影的人超多,大家都是到此一游。
0 所有的机场大巴都绕来绕去从同一条线路开往机场了,40分钟后到达机场
0 樟宜机场被多家机构评为世界最佳机场是不无道理的。整个机场就像一个购物休闲中心,吃喝玩乐各项设施应有尽有。在这里转机丝毫不用担心如何消磨时间。新加坡机场的登机一般提前一个小时,因为安检被安排在了各个登机口。这样布局的好处是在机场里可以畅行无阻。加上新加坡机场实际上只有国际区没有国内区(全国就这一个机场嘛),因此除了边检,其他区域都是连成一片的。
0 上班之后,基本每次出门都是想要叫车。但是这次想来一次随心所欲的旅行,从出发开始就不再走便捷的方法了,机场大巴走起。这才发现,志诚丽柏那个酒店门口的大巴是半小时发一次,10分一次,40分一次。会先到西稍门,然后才出发。
0 用银行贵宾卡享受了机场贵宾室
label0都与机场有关,可以看出来聚类效果还是不错的。
3 在沙滩上玩了一会我就去附近泳池边的WC换泳衣,回来和LILY扑向大海试图游泳。其实浪还是挺大的,我们在靠近沙滩的地方都不太能稳住自己,远处几个金发的外国姑娘却能在浪里漂浮自如,也许人家从小在海滩玩到大的吧!羡慕啊。 我在水里玩的不亦乐乎,LILY时刻紧盯着我的皮肤怕我晒伤,我很惊讶他有着能看出我皮肤被晒黑程度的能力,我自己看不出来……在海里玩了半小时的样子他果断拖回乐不思蜀的我,说再晒我就要回去哭了。
3 南湾猴岛其实是个半岛,但这里的位置得天独厚,三面环海,景色和离岛一样的美。除了拥有优越的热带海岛生态环境、猕猴特色资源、优质的海水以及滨海沙滩,还有水上疍家鱼排的独特民俗风情。全国最长的跨海观光索道,犹如一条凌空彩链横跨新村港湾,将神秘的南湾猴岛、迷人的热带港湾、浓郁的疍家民俗、喧闹的渔港风情等串成一线。
3 大东海是三亚我常去的沙滩,其他地方不是下饺子就是煮馄饨。
3 刚上船的时候心情还是挺激动的~想象岛上迷人的风景,结果到站之后看到码头左边的天空还有点蓝色了,就先往左边走去看看,一路上人都很多,零星的开着几个小店,大概走了100多m的样子都都到头了,路封着的,一堆建筑垃圾在哪儿堆着,也没看见机械设备动工。于是只能调头往回网右边走,其实右边一来我就看见了只有很小一片沙滩,我还以为左边会有一大片沙滩和浮潜的海域等着我们呢~越往右边走越是失望啊,先经过美食一条街,各种高价的食品和纪念品出售,等终于穿过美食街的人群到了海边那更是失望,比大东海划分的每个游泳区域还要小一半以上~还只有三个区域,完全没得浮潜地方!我也是醉了,我还以为是像东南亚那些海岛一样,上岛都是很宽泛的游泳和浮潜区域,结果。。。而且这个区域离码头也不远,水质可想而知,当然人也非常多,瞬间没了下海的欲望~真不知道网上那些好评怎么来的~商业化的气息太重了,我不相信大多数人来这里是为了去深潜去玩那些海上项目~家人都说还不如在大东海游泳,还要花100多的门票来看这乌泱泱的水~还好海边沙滩椅收费不贵,15块一张随便躺
3 三亚自游行心得1、我不想去景点打卡,只为纯度假。所以选择住大东海,我住在大菠萝(类似于京华城)附近的哈曼酒店。去年才开的五星酒店,设施完备,吃住行都方便!哈曼有私家沙滩,有酒店电瓶车接送,服务很贴心!不是所有酒店都有私家沙滩,需看清。如果住在没有私家沙滩的酒店,各种不便!我住的是哈曼的16楼行政山海房,(最高17层)记住:一定要高楼层,楼层低了什么都看不到2、大东海商业发达,价廉物美,只是海水和沙滩略逊亚龙湾一筹。 3、交通:因为我住大东海,很便利,没有租车的必要。去较远的景点、接送机等,我全程易到专车、滴滴专车,非常方便4、关于第一市场:易到司机告诉我们,那已经相当于旅游商店的性质了,大东海区域用餐,我都在大菠萝。
3 从照片看就知道这时候的三亚天气不是很好,时常乌云甚至下雨,所以找出来的照片好不好看很大程度取决于天气怎么样啦大东海海滩上人很多,长长的海岸线上都是人,我去的这个时候天不是很热,海水还是有些凉的,多以游泳的人并不多,大多数都在沙滩上捡贝壳或石头。
3 收拾完毕!步行至大东海广场的沙滩~脱鞋玩水啦~!
3 亚龙湾是很长一个海湾。沙滩除了名地细腻。有很多的星级酒店私人沙滩。当然我们去的是公共开放海滩,建议四点以后再去游泳,否则日晒很严重。我和小果果都在阴凉下。
第3类都与沙滩有关,聚类效果也不错。
2.4.2 word2vec + k-means 聚类结果
1 直到回来后还在流连成都老火锅的味道。真的很好吃。用牛油做锅底,加热后牛油化了,根本不用加水的。
1 离开宽窄巷子,回酒店附近吃了小天鹅,午睡过后下午去人民广场喝茶采耳。
1 黄流老鸭:海南最有特色的美食之一,在三亚,最正的黄流老鸭还是在胜利路的光明黄流老鸭店,十多年的老店,黄流老鸭必然是白切的才是最好的,也是最好吃的,再加上微热的蘸料,就更美味了,我们俩人点了白切黄流老鸭、虾酱地瓜叶和冬瓜海螺汤,冬瓜海螺汤,可以说是此次去三亚吃到的最好吃的汤品,其他地方吃到的总有那么些不新鲜的无奈~,这的冬瓜海螺汤太让我喜欢了,现在想起来都能感觉到的味美~当然,鸭肉那可是吃得精光的~,海南的特色美食啊~~
1 很多老人在这里,聊天,喝茶,打牌,老成都的生活。我们也喝了盖碗茶,叫了师傅来采耳,享受安逸。
1 第三次登临这座热带岛屿。2013年来的时候还是一个刚上大一的小姑娘,在海边遇到同是一个人来三亚游玩的泥巴,后来成为了朋友,在上海的时候还一起约着吃过饭,逛过上海博物馆,在夜晚的浦江边散步拍照。 2014年清明,趁着假期,去了海口,约见了在海南念书的闺蜜,住在海口巴纳纳国际青旅和一群来自五湖四海的朋友一起玩杀人游戏到凌晨三点多,第二天醒来和青旅认识的姑娘一起逛海南的菜市场。来自济南的她对南方的蔬果特别感兴趣,她说,因为海南的水果多,于是她就考了个海大的研究生,准备过来捞水果了。 2015年国庆过后,和一起奋战过高考的好朋友一起,在不同的城市出发来到三亚找在三亚念书的闺蜜。一起住在三亚老班长国际青旅,和青旅的义工老板们,去吃了三亚最好吃的炒冰炸鸡,去大东海游泳玩沙子,好是快活。
1 从北京西开出的Z201次列车,在漫长的27小时行驶后来到了我的城市。晚上吃过晚饭,八点多到火车站候车,第二天早上八点就能到三亚了。全程762公里,途中跨越琼州海峡,火车会被拆分成五节运上粤海轮渡,抵达海南岛接驳后将继续行驶。(前三图来自网络,侵删。)
1 海南鸡饭:鸡饭的主料是鸡和大米,最好的鸡饭选用的作料是“文昌鸡”。由于“文昌鸡”供不应求,一般鸡饭摊档选用本地杂色鸡,要求是刚成熟而尚未下蛋的鸡,以1至1.5公斤重为宜。大米选用上等新鲜的优质米,鸡是白切鸡。鸡饭皮色油黄,肉白且嫩,骨髓带血,吃来清甜爽口。这种米饭,油润软滑,香浓味爽。
1 出发前在老班长国际青旅订好住宿。位置就在吉祥街,径直往海边走不到五分钟,吉祥街口有到各个景点的汽车公交,招手即停,交通十分便利。周围有海南最大的超市旺豪超市,还有很多吃东西的小饭馆,住下来不用愁吃的。
1 三个人一起逛超市看海鲜买水果,海洋动物多的就像水族馆。因为海南气候原因,种出来的水果都像是放大版的。(如果不想在街头小贩那里买不足称的水果,可以来超市看看,一般海南的各种水果在这里都可以买到。)
1 清补凉是三亚当地的一种小吃。将红枣、薏米、绿豆、芋头、西瓜、汤圆等煮熟的东西,淋上椰子汁或糖水,清热消暑,是夏季必备的饮品。在冬天也可以吃到热的清补凉。清补凉摊多是设在路旁,摆上一席小桌子和小橱窗,旁边摆上一个保温冰桶,几套塑料的椅子和木桌。清补凉摊的小橱窗里放着一排塑料碗,碗里面分别装着糖水煮的芸豆、煮好的绿豆、通心粉、鹌鹑蛋、菠萝丁、西瓜丁、桂圆肉、红枣、薏米等等,很是诱人
可以发现,类别1的输出基本都是美食,但是也有一些错分的情况发生,考虑到Doc2Vec输出的向量跟向量大小、迭代次数等参数,影响较大,这只是一个Doc2Vec的baseline,这些错误聚类暂时还是可以接受的。
最后
相关文章:
计算机毕设 基于机器学习的文本聚类 - 可用于舆情分析
文章目录 0 简介1 项目介绍1.1 提取文本特征1.2 聚类算法选择 2 代码实现2.1 中文文本预处理2.2 特征提取2.2.1 Tf-idf2.2.2 word2vec 2.3 聚类算法2.3.1 k-means 2.3.2 DBSCAN2.4 实现效果2.4.1 tf-idf k-means聚类结果2.4.2 word2vec k-means 聚类结果 最后 0 简介 今天学…...
uniApp获取当前位置经纬度
以下是使用uni.getLocation获取当前位置的示例代码: 调用uni.getLocation方法获取当前位置信息 uni.getLocation({type: wgs84, // 坐标类型,默认为wgs84,可选的值为gcj02和bd09llsuccess: res > {// 获取成功,经度和纬度在r…...
this.$message提示内容添加换行
0 效果 1 代码 let msgArr [只允许上传doc/docx/xls/xlsx/pdf/png/jpg/bmp/ppt/pptx/rar/zip格式文件,且单个文件大小不能超过20MB,已过滤无效的文件] let msg msgArr.join(<br/>) this.$message({dangerouslyUseHTMLString: true,message: msg,type: warning })...
“三大阶段稳定性测试”筑牢长安链信任基石
前言 随着长安链应用生态的不断丰富、面对的应用场景更加多元,稳定性测试在长安链测试流程中占到越来越重要的位置。本文将介绍长安链稳定性测试的发展历程及如何通过三大阶段稳定性测试应对不断出现的复杂的商业需求,筑牢长安链信任基石。 功能测试和…...
手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队
mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。 他的BaseMapper中定义了这些常用的C…...
Spring Data JPA 项目配置与QueryDSL集成
一、说明 Spring Data JPA通过Spring Initializer创建时勾选相关依赖即可引入,QueryDSL需要单独引入。Spring JPA针对QueryDSL有比较好的兼容性,可以实现优雅的SQL构建。 二、设置JPA默认配置(yaml格式) spring:jpa:hibernate:…...
UE5数字孪生制作-数据篇(二) - 数据处理
1.卫星图与DEM高度图坐标一致处理 https://www.bilibili.com/video/BV1op4y1V71r?p4&vd_source707ec8983cc32e6e065d5496a7f79ee6 坐标系的调整 如何使用临时图层,对其他数据层进行裁切 (1)创建临时图层 (2)在临…...
Java 设计模式——享元模式
目录 1.概述2.结构3.实现3.1.抽象享元3.2.具体享元3.3.享元工厂3.4.测试 4.优缺点5.使用场景6.JDK 源码解析——Integer 类 1.概述 (1)享元模式 (Flyweight Pattern) 是一种结构型设计模式,主要通过共享对象来减少系统中的对象数量ÿ…...
再扩国产化适配版图,长安链新增数据库兼容性认证
基础软件的自主可控影响着国家信息安全与产业技术发展是否受制于人。实现真正长期可持续的技术自主可控,需要再进一步的是让国产化信息系统生态更有”活性“,基础软件之间、基础软件与其他国产上层应用的互相兼容、互相促进,共同繁荣发展&…...
MES系统数据集成系统源码
MES系统数据集成系统源码 1 MES的生产计划管理综述 生产计划的管理在MES系统中是非常重要的。我们知道,一般的情况下,企业的生产计划是由上层管理系统ERP来完成,那么MES中的生产计划和ERP的生产计划的不同点在于: ERP的生产计划…...
关于道一云-七巧使用感悟
低代码,开发快速,缺点组件比较少但能满足大多数场景,如果需要的话得自己造,官方的技术群里面普遍问题响应就很快,技术文档这个会抽风,有些代码就改个筛选条件本地死活运行不了,去官网那里问他们…...
去中心化数据云项目Oort主网即将上线
备受期待的去中心化数据云项目Oort,今日已通过官方X账号官宣,将于纽约时间11月27日正式上线主网Olympus Protocol。届时,用户也能够通过Oort的Ale Wallet钱包和开发者API使用主网,并可通过OORT浏览器查询交易和合约,开…...
CSS知识点梳理(一)
CSS 是层叠样式表(Cascading Style Sheets)的缩写,它是一种用于描述 HTML 或 XML(包括如 SVG、MathML 等派生语言)文档呈现的语言。CSS 可以用来控制文档的布局、颜色、字体等外观属性。 CSS 的主要特点包括ÿ…...
网络安全深入学习第八课——反向代理(工具:frp)
文章目录 一、实验环境二、实验要求三、开始模拟1、攻击机配置frp文件2、攻击拿下跳板机,并且上传frpc.ini、frpc.exe、frpc_full.ini文件3、把frps.ini、、frps.exe、frps_full.ini文件放到VPS主机上4、VPS机开启frp5、跳板机开启frp6、验证 一、实验环境 攻击机&…...
浅谈前端自定义VectorGrid矢量瓦片样式
目录 前言 一、VectorGrid相关API介绍 1、VectorGrid 2、 LayerStyles样式详解 二、样式自动配置 1、页面定义 2、地图及PBF瓦片引入 3、矢量瓦片样式定义 4、鼠标事件交互 三、最终效果 1、自定义样式展示 2、鼠标交互 总结 前言 在上一篇博客中,详细讲…...
Qt5多线程<12>
1.多线程的简单实现 <1> 在头文件threaddlg.h声明用于界面显示所需的控件,其代码如下: #ifndef THREADDLG_H #define THREADDLG_H#include <QDialog> #include <QPushButton> #include "workthread.h" #define MAXSIZE 5class ThreadDlg : publ…...
Linux学习笔记之五(父子进程、孤儿进程、僵尸进程、守护进程)
Linux 1、进程1.1、进程的六种状态1.2、创建子进程1.3、添加子进程任务1.4、孤儿进程、僵尸进程、守护进程1.4.1、避免僵尸进程1.4.2、创建守护进程1.4.3、杀死守护进程 1.5、综合练习 1、进程 进程可以简单的理解为一个正在执行的程序,它是计算机系统中拥有资源和…...
[题] 不容易系列之(3)―― LELE的RPG难题 #DP
题目 不容易系列之(3)―― LELE的RPG难题 思路 简单的DP题。 代码 #include<bits/stdc.h> using namespace std; //默认以0开头,以1和2结尾。f[i][1]表示长度为i的以1结尾的涂抹方案 //状态转移方程:若以1结尾,则前面一个格子只能是…...
pip 安装任意软件包报错
现象 使用 pip 命令时提示 查看源码 可以看到是从 pip 包中导入 main失败,点击查看目录 main 文件不见了,判断是文件缺失,重装 pip 即可 # python3 下载 pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # python2 下载…...
NLP之Bert实现文本多分类
文章目录 代码代码整体流程解读debug上面的代码 代码 from pypro.chapters03.demo03_数据获取与处理 import train_list, label_list, val_train_list, val_label_list import tensorflow as tf from transformers import TFBertForSequenceClassificationbert_model "b…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
