技术文章

idea中web.xml默认版本问题解决

纵然是瞬间 提交于 2021-02-18 21:43:42
问题描述:用idea的maven新建一个webapp项目,自动生成的web.xml默认版本是2.3版本(这版本连EL表达式都默认不能使用,无语了)。 Servlet 2.3: <? xml version="1.0" encoding="UTF-8" ?> <! DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > < web-app > </ web-app > 1、临时解决办法: 把web.xml删掉。在Project Structure 里面的Modules重新添加一个Web.xml,能够生成并选择版本,但是这只是作用于当前项目。 2、永久解决办法: 修改默认版本,具体步骤如下: 进入“1.3”文件夹,找到jar包,如下图 用解压软件 打开文件,记住不是解压 。 按下图这个路径依次打开,找到web.xml文件: 直接打开web.xml,修改头文件,保存就可以了(注意:是在解压软件打开的的界面直接打开并修改web.xml,而不是解压成文件夹之后修改,也就是要保证jar包本来的结构不变)。 下面这个就是3.0的web.xml头文件,直接复制就可以。 <? xml version="1.0"

Qt编写自定义控件69-代码行数统计

点点圈 提交于 2021-02-18 21:41:43
一、前言 代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行、注释行、代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计。写完这个工具第一件事情就是统计了一下自己写过的最大的项目大概多少行代码,看下是不是传说中的一行代码一块钱,这个最大的项目从2010年开始的,到现在差不多快10年了,是自己在现在公司写过的最大的项目,一直在升级更新完善,途中重构过两次,大的结构改动,统计了下好像有15W行左右的代码,纯代码大概在10W,其余是空行和注释行,着实把自己吓了一跳,还算是中型项目了,然后又统计了下自定义控件的所有代码,我勒个去,总代码23W行,纯代码17W行呢,哎呀我去! 开源地址: https://gitee.com/feiyangqingyun/QWidgetDemo https://github.com/feiyangqingyun/QWidgetDemo 二、实现的功能 1:可分别统计代码行/空行/注释行 2:支持指定过滤拓展名 3:支持指定文件或者指定目录进行统计 4:分步显示统计结果,不卡主界面 5:分别展示每个统计过的文件的大小/总行数/代码行数等 三、效果图 四、头文件代码 #ifndef FRMCOUNTCODE_H #define FRMCOUNTCODE_H #include <QWidget>

Shell脚本编程之逻辑运算符

╄→尐↘猪︶ㄣ 提交于 2021-02-18 21:39:13
1.逻辑运算符; 逻辑运算符实例: a= 10 b = 20 if [ $a != $b ] then echo " $a !=$b:a != b " else echo " $a !=$b:a = b " fi if [ $a -lt 100 -a $b -gt 15 ] then echo " $a 小于 100 且 $b 大于 15 : 返回 true " else echo " $a 小于 100 且 $b 大于 15 : 返回 false " fi if [ $a -lt 100 -o $b -gt 100 ] then echo " $a 小于 100 或 $b 大于 100 : 返回 true " else echo " $a 小于 100 或 $b 大于 100 : 返回 false " fi if [ $a -lt 5 -o $b -gt 100 ] then echo " $a 小于 5 或 $b 大于 100 : 返回 true " else echo " $a 小于 5 或 $b 大于 100 : 返回 false " fi 运算结果: 2.字符串运算符: 字符串运算符实例: a= " abc " b = " efg " if [ $a = $b ] then echo " $a=$b:a 等于 b " else echo " $a=$b:a 不等于 b "

福州大学软件工程1916|W班 第2次作业成绩排名

左心房为你撑大大i 提交于 2021-02-18 21:38:39
###作业链接: 结对第一次—原型设计(文献摘要热词统计) ###评分准则: 本次作业评分分为两部分,一部分是博客分数(满分25分),另一部分是 工程能力分数 (满分30分)。 ###博客分数评分标准: 1.在随笔开头请加上作业格式描述,以方便阅读时查看作业需求,并备注两个同学的学号。(2`) 2.文字准确、样式清晰、设计思路清晰、图文并茂,并描述遇到的困难及解决方法(包括:困难描述、解决尝试、是否解决、有何收获)。字数在1000字左右。(10`) 3.原型模型必须采用专用的原型模型设计工具实现:如Axure Rp、Balsamiq Mockup、Prototype Composer、GUI Design Studio、Adobe设计组件等等。在博文中说明你所采用的原型开发工具。(1`) 4.描述结对的过程,提供非摆拍的两人在讨论、细化和使用专用原型模型工具时的结对照片。(3`) 5.再次推荐博客排版采用博客园的markdown排版,范老师提供了说明:[http://www.cnblogs.com/math/p/se-tools-001.html][3] 。 (2`) 6.提供此次结对作业的效能分析和PSP。(5`) 7.将博客内容生成一份PDF作为随笔的附件。(2`) ###工程能力分数评分标准: A:分析复杂工程问题的关键所在 A能力评分标准 (复杂工程系统分析能力) 分数

修改jumpserver源码并且实现一个自定义功能模块

北城余情 提交于 2021-02-18 21:38:01
在前面已经说了,如何打开jumpserver的管理控制台并且自定义自己的数据模型。接下来实现一个自定义的功能模块。 先看效果! 一 定义好自己的模型(model)   1.1 这一块儿在前一篇博文已经讲过了 二 定义好自己的app(这里注意 一定要自定义app,不要在源码上修改别人的app,因为jumperver的源码不是那么简单的。。可能用各种问题) 2.1 python manage.py startapp XXX     通过以上步骤就可以建立自己的app 三 自定义URL 这块儿不难, 直接把我新建的app发出来。 四 自定义模板(html) 4.1 加入功能模块   这块儿极其复杂(jumpserver 用的bootstrap)要想弄清楚逻辑 很耗时间,   首先在_nav.html 这个模板里面,按照自己的需求加上模块,我加的如下 如果加的没问题 在前端应该看到,多出来这样一个模块    4.2 模板页面详情     在jumpserver里面 采用了 多页面拼接的方式,凑一个整的页面大概逻辑为 base.html(基础页)    {% load static i18n %} <! DOCTYPE html > < html > < head > < meta charset ="utf-8" > < meta name ="viewport" content =

Python 用pygame模块播放MP3

♀尐吖头ヾ 提交于 2021-02-18 21:32:44
安装 pygame (这个是python3,32位的) pip安装这个whl文件 装完就直接跑代码啦,很短的 import time import pygame file = r'C:\Users\chan\Desktop\Adele - All I Ask.mp3' pygame.mixer.init() print( "播放音乐1") track = pygame.mixer.music.load( file) pygame.mixer.music.play() time.sleep( 10) pygame.mixer.music.stop() 功能:播放音乐10秒后停止 附录 pygame.init() 进行全部模块的初始化, pygame.mixer.init() 或者只初始化音频部分 pygame.mixer.music.load('xx.mp3') 使用文件名作为参数载入音乐 ,音乐可以是ogg、mp3等格式。载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取。 pygame.mixer.music.play()播放载入的音乐。该函数立即返回,音乐播放在后台进行。 play方法还可以使用两个参数 pygame.mixer.music.play(loops=0, start=0.0)

基于Cloudera Search设计数据灾备方案

亡梦爱人 提交于 2021-02-18 21:32:29
  当实际项目上线到生产环境中,难以避免一些意外情况,如数据丢失、服务器停机等。对于系统的搜索服务来说,当遇到停机的情况意味着在停机这段时间内,用户都不能通过搜索的相关功能进行访问数据,停机意味着将这一段时间内的数据服务完全停止。如果项目是互联网项目依赖于用户数量,这将严重影响用户访问和用户的产品体验。   针对于这种实际情况,在实际的项目开发维护过程中,如果系统使用的大数据平台是Cloudera公司是CDH,可以考虑使用Cloudera Search来进行数据的增量备份和数据恢复工作。Cloudera Search是Cloudera公司基于Apache的开源项目Solr发布的一个搜索服务,安装非常简单,通过Cloudera Manager的管理页面就可以进行一键式安装,本文将对使用Cloudera Search进行各个应用场景做灾备的方案一一介绍。 1.HDFS - HDFS   一般情况下,一个大数据项目中所有用到的原始数据都会存储HDFS中(Hive和HBase存储也是基于HDFS存储数据)。对HDFS做灾备和数据恢复最直接的方式是在源HDFS集群和备份HDFS集群之间设置数据定期增量更新,例如时间Cloudera BDR工具,基础数据备份之后可以选择使用MapReduce Indexer或者Spark

三十而已的年纪,三十真的可以还可以转行吗?

蹲街弑〆低调 提交于 2021-02-18 21:32:21
我觉得在30岁转行的人都有一种常人所不能及的勇气,毕竟这个年龄转行不像你刚工作1、2年时转行,容错的资本比较多,也意味着你可能需要承受的压力也会增多。 不过这并不意味这个年龄转行是一件不好的事,想转行说明你对自己想做的事有了追求,这恰恰是一件好事,很多名人甚至在年龄更大的时候选择「转行」,才得以成功。肯德基的创始人哈兰·山德士之前是开加油站的,40之后转行做起了炸鸡,后来又经历了一系列的坎坷才把肯德基做到了如今的规模。 所以,30岁想转行的你没有什么可怕的,限制你成功的从来都不是你的年龄,而是你自己。 那么想转行该如何转呢? 作为一个也在转行的人,我根据自己的经验总结了以下几点: 1.明确转行目的 这个是你在转行之前一定要思考好的问题。 大部分转行的原因不外乎两点: 职业问题 自身问题 先来说说职业问题: 这一点主要是职业发展不顺,可能是由于你觉得目前所处的行业是夕阳行业,而你的岗位因为在大环境面前变得没有发展前景,不得不选择转行等等。 如果是这个问题的话,你要问清楚自己:自己的岗位不行,能否转到同行业的其他岗位呢?毕竟同行业转的话你会有一些行业优势。如果行业不行,你要看看是否你真的在这里施展不开拳脚,毕竟再夕阳的产业也有人做成功的。如果你觉得上面两点都行不通的时候,你再决定转行也不迟。 再说说自身问题: 1.这个可能是由于自己性格等特质与当前岗位不匹配

我的第13个代码

女生的网名这么多〃 提交于 2021-02-18 21:31:37
我的第十三个代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int a = 1; while (a <= 100) { printf("%d ", a); a++;//也可以表示为a+=1 } return 0; }//学习while循环 来源: 51CTO 作者: 大圣? 链接: https://blog.51cto.com/15100722/2631167

mysql 彻底解决:Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentC...

家住魔仙堡 提交于 2021-02-18 21:31:31
彻底解决:Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentContent' at row 1 今天在爬取网易云音乐歌曲评论的时候,在将数据插入mysql数据库的时候,出现了 Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentContent' at row 1 这个错误,Google了下发现原来是因为数据库编码问题导致的,原因在于我们的评论数据中存在emoj表情,而这些表情是按照四个字节一个单位进行编码的,而我们通常使用的utf-8编码在mysql数据库中默认是按照3个字节一个单位进行编码的,正是这个原因导致将数据存入mysql数据库的时候出现错误,那么这个问题我们应该怎么解决呢?   我分为下面五个步骤来解决: (1):修改mysql数据库的编码为uft8mb4 (2):修改数据表的编码为utf8mb4 (3):     在mysql的安装目录下找到my.ini,作如下修改:     [mysqld]     character-set-server=utf8mb4     [mysql]     default-character-set=utf8mb4     修改后重启Mysql      (4)