精华内容
下载资源
问答
  • 做项目过程中遇到问题

    千次阅读 2017-08-25 15:04:30
    正在进行着的一个项目,行至一半,停下记录下一些需要注意的地方。 1.梳理清即将要写的功能的逻辑,用到的技术点,用什么方式实现功能,然后再去寻找技术点的使用。 2.判空操作:controller接收前台传入的参数时、...

    正在进行着的一个项目,行至一半,停下记录下一些需要注意的地方。

    1.梳理清即将要写的功能的逻辑,用到的技术点,用什么方式实现功能,然后再去寻找技术点的使用。

    2.判空操作:controller接收前台传入的参数时、查询方法查出的对象信息等都为了避免出现java.lang.NullPointException错误,都需要在这是判断是否为空null,

    对象类型判断:

    	User user;
    	if(user == null) {
    		return ;
    	}

    list类型:

    List list = Lists.newArrayList();
    if(list.isEmpty) {
        return ;
    }


    string类型:

    	String s;
    	if(StringUtils.isEmpty(s)) {
    		return;
    	}
    public static boolean isEmpty(final CharSequence cs) {
        return cs == null || cs.length() == 0;
    }
    
    

    
    
    3.比较日期大小,判断当前日期是否在某段时间内:
    比较大小:
    date1.after(date2);
    //当date1比date2大时,返回true
    date1.before(date2);
    //当date1比date2小时,返回true
    判断是否在某段时间内:
    Date date = new Date();// 判断的是不在这段时间内
    if (date.after(meetingInfo.getSignupEndTime()) || date.before(meetingInfo.getSignupStartTime())) {
    	return ajaxResult(false, "请您在报名时间内进行报名");
    }
    4.注解
    @RequestMapping(value = "/login") 窄化请求映射,通过访问login可以直接访问该方法,注解作用是指定方法对应的url
    @ResponseBody  该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
    @PathVariable @RequestMapping中如果URL中有参数用@PathVariable 
    @Valid:@Valid + @RequestBody 接收json同时校验javaBean的数据有效性,BindingResult 对象必须在 @Valid 的紧挨着的后面,否则接收不到错误信息。
    
    @Param("name")
    在Dao中方法中使用: void save(@Param("name")String name, @Param("age")Integer age);
    在SQL语句中,写添加的字段要与@Param中的字段对应起来
    
    
    
    
    

    
    
    展开全文
  • PyQt5项目打包过程中遇到问题记录

    万次阅读 2021-04-02 13:35:24
    博主近期写了很多的PyQt项目,每次打包的时候都会遇到一堆让自己崩溃的问题,尤其是软件图标的问题,网上搜了一堆资料,没几个说到点子上。 博主折腾了很长一段时间后,终于解决了这些坑,记录一下,以免下次遇到又...

    写在前面

    博主近期写了很多的PyQt项目,每次打包的时候都会遇到一堆让自己崩溃的问题,尤其是软件图标的问题,网上搜了一堆资料,没几个说到点子上。
    博主折腾了很长一段时间后,终于解决了这些坑,记录一下,以免下次遇到又抓狂。

    打包过程

    打包工具

    博主用的是pyinstaller,这也是目前最主流的打包工具了吧,听说还可以将Python文件打包成apk文件呢,也就是说以后安卓开发也可以用Python了,当然IOS开发也不成问题
    如果还没安装的话,在cmd窗口中输入以下命令行即可:

    pip install pyinstaller -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    

    也可以直接pip install pyinstaller,后面是用的豆瓣的镜像安装的,速度会快一点。

    切换路径

    软件打包也是在cmd窗口中,但一般情况下,cmd的根目录和你的工程项目可能不是一个文件夹,因此在打包之前先切换一下盘符,后面也能省掉很多麻烦事儿。
    切换盘符方法,也是在cmd窗口中输入:

    cd /d D:\python\
    

    通过这种方法,从根目录切换到了D盘的Python文件夹下面,这里要根据个人的工作目录情况而定。

    打包

    正式进入打包环节,也是在cmd窗口下打包,在切换工作目录后,继续输入命令行即可,用pyinstaller打包网上能搜出一大堆的资料,这里我简单介绍几种。

    • 第一种,生成单一的可执行文件:
    pyinstaller -F test.py
    

    test.py是你要打包的项目,这样生成的玩意儿就是个单一的可执行文件,也没有图标,这种我很少用,大家可以自行试试。

    • 第二种,给软件加个图标,这里我说的图标是指可执行文件的图标,看下面的图
      在这里插入图片描述
      就是说,要给我的exe文件加上前面那个ico图标,上面已经是我打包好的结果。命令行如下:
    pyinstaller -F --icon=test.ico test.py
    

    test.ico是要用到的图标文件,这个文件应该要与test.py放在同一个目录下面,当然也可以用绝对路径。
    好了,经过漫长的打包过程,如果顺利的话,能生成一个可执行文件。但是如果不顺利的话,能出现一大堆bug,这些bug真是一言难尽,有时候说咱没有安装这个那个包,反正很难受,博主也遇到了,然后放弃了,直接换了另外一台电脑打包。顺利通过。
    虽然通过了,但是一看打包的大小,如下
    在这里插入图片描述
    这是个啥玩意儿,300M+,这怕是打了个寂寞。
    说多了都是泪,网上说是因为我在导入包的过程中用了from XXX import *这种方式,我觉得这不是主要原因,主要原因是当初安装Python时,为了省事直接通过anaconda安装的,这才是罪魁祸首,所以啊,建议大家在安装Python的时候千万别图一时之爽,官网安装才是最好的选择。
    当然了,博主也不想重装Python,反正就是启动慢了点而已。
    现在双击这个可执行文件,看看效果:
    首先出现的是一个dos窗口,而不是软件的界面,如下:
    在这里插入图片描述
    过了大概半分钟,出现了软件的界面:
    在这里插入图片描述
    是这么回事儿,可是,为啥软件左上角是这么个玩意儿?在这里插入图片描述
    命名我在代码里面用QIcon设置了图标啊,不光是这里,连状态栏里也是这么个丑东西。看下面
    在这里插入图片描述
    简直不能再丑了,待会儿再来说怎么解决这个问题吧。
    前面说了,如果我双击可执行文件,先出来的是控制台,这样有啥好处呢,就是如果软件还在测试阶段,如果运行有啥问题的话,可以在控制台中显示,如果不想要,也可以去掉,也就是下面的方式。

    • 第三种,不需要控制台
    pyinstaller -F -w --icon=test.ico test.py
    

    中间加个-w就行了。
    还有很多种方式,这个不是重点,需要的可以网上搜。
    我这篇博客重点要解决的就是上面那个图标不显示的问题,因为这个问题它浪费了我半天的时间,而实际上之前我也遇到了同样的问题,解决了,然后因为没记录又忘记了,所以这次一定要记录下来。

    软件图标显示问题

    网上很多文章,有的说要设置图标的绝对路径,有的说是icon格式有问题,这些都是指标不治本的方法。下面我来说说我的解决方案,当然也是网上找的,只不过很难找到而已。
    思考:
    在计算机中,图片也是矩阵,如果把图片处理成数字,然后导入这些数字,是不是也能显示为图片?
    就是这么个思路。

    生成qrc文件

    先用记事本新建个文件,在文件中写入以下代码:

    <RCC>
     <qresource prefix = "/">
       <file>test.ico</file>
     </qresource>
    </RCC>
    

    注意了test.ico就是咱软件要显示的图标。
    然后把这个文件重命名下,比如我命名的就是resource.qrc,注意后缀名,是qrc文件,待会儿要用到,注意,这个qrc文件应该放是图标文件所在的文件夹下。

    生成py文件

    就是使用pyrcc5将resource.qrc进行转换得到.py文件,pyrcc5是PyQt5的附带工具,安装PyQt5后有。
    具体怎么操作呢?这很关键,网上资料比较少,我记录一下:

    1. 打开resource.qrc所在的文件夹;
    2. 使用命令行进入项目所在文件夹进行操作,或者使用Powershell,博主使用的是Powershell,怎么使用这个Powershell呢,在刚才这个文件夹下,按住shift键单击鼠标右键弹出菜单,点击“在此处打开Powershell窗口(S)”打开Powershell,界面像下面这个样子;
      在这里插入图片描述
    3. 在Powershell窗口中输入命令行pyrcc5 -o resource.py resource.qrc,再看看,文件夹下面是不是多了个resource.py文件;
    4. 在主程序代码中import这个py文件,并设置图标,如下。
    import resource
    self.setWindowIcon(QIcon(":/test.ico"))
    

    经过这一系列的操作,然后再去打包,就正常显示这个图标了。随便把这个可执行文件放哪里都能正常显示。
    在这里插入图片描述
    在这里插入图片描述
    上面是软件的左上角显示的图标,下面是状态栏显示的图标,一个不少。
    好啦,就到这里了,Python项目打包可不简单~

    展开全文
  • 项目开发过程中遇到问题

    千次阅读 2019-05-10 09:37:24
    问题分类: 1、逻辑问题:结构、处理流程的设计有问题,尤其在多线程操作同一个对象时; 2、接口定义和使用问题:例如接口结构或返回情况改了,未及时编译或更改其他模块的调用; 3、对接问题:对讲问题不是你的问题...

    问题分类:
    1、逻辑问题:结构、处理流程的设计有问题,尤其在多线程操作同一个对象时;
    2、接口定义和使用问题:例如接口结构或返回情况改了,未及时编译或更改其他模块的调用;
    3、对接问题:对讲问题不是你的问题,就是我的问题,需要联查;
    4、理解问题:对功能、逻辑流程或函数定义和使用的理解不清晰;
    5、异常处理机制问题;
    6、代码细节问题:变量类型、返回值、引用、指针;

    socket绑定(bind)本地端口失败

    问题描述:地标协议在启用时,会主动向平台注册,socket本地端口6600(可修改),当快速关闭使能再打开时,概率性出现socket绑定本地端口失败。

    问题分析:bind 普遍遭遇的问题是试图绑定一个已经在使用的端口。 该陷阱是也许没有活动的套接字存在,但仍然禁止绑定端口(bind 返回 EADDRINUSE),它由 TCP 套接字状态 TIME_WAIT 引起。该状态在套接字关闭后约保留 2 到 4 分钟。在 TIME_WAIT 状态退出之后,套接字被删除,该地址才能被重新绑定而不出问题。

    解决方法:等待 TIME_WAIT 结束可能是令人恼火的一件事,特别是如果您正在开发一个套接字服务器,就需要停止服务器来做一些改动,然后重启。幸运的是,有方法可以避开 TIME_WAIT 状态。可以给套接字应用 SO_REUSEADDR 套接字选项,以便端口可以马上重用。通过sesockopt函数重置本地端口来解决该问题;

    线程池、任务队列阻塞问题

    问题描述:有远程操控协议为TCP短连接,通过客户端操作设备时,设备会频繁的创建线程、销毁线程,后来将设备端来请求就创建线程的机制,修改为线程池模式(固定创建4个线程,来处理请求)。线程池模型机制如下:

    epoll监听socket状态
     → 设备/服务端检测socket可读 
     	→ 创建task丢进任务队列 
     		→  若任务队列为空则唤醒一个等待线程(线程池线程通过条件变量阻塞)
    

    逻辑上是来一个任务,即唤醒一个阻塞线程,任务即被取出,任务队列又恢复成空队列。根据任务队列是否为空这个判断条件来唤醒线程就要求有一个前提是,来任务,任务被线程池取出处理后,下一次任务才会进来。当epoll监听线程添加任务、唤醒一个等待线程、但是该线程没有及时取出任务、又有新的任务添加进来时(任务队列非空),就是出现唤醒一次,但是任务队列有两个甚至多个任务,这就导致这些任务只能有这个被唤醒的线程处理,并且再有任务进来,也不会执行唤醒,直到该线程处理完所有任务(若不能及时处理完,就会导致连接异常)。

    socket套接字关闭问题
    问题描述:某协议为TCP短连接,执行一次数据交互即关闭socket套接字,在Client执行close时,Server端正常;在Client不主动关闭时,Server端的处理时,读完套接字缓冲区所有数据,然后关闭套接字,readn函数封装了recv读取指定长度数据,要么读到指定数据,要么套接字异常才返回。这就导致读套接字缓冲区时,既不到指定数据,套接字又没有被Client关闭,陷在死循环里,占据一个线程池线程。

    问题分析:现使用的readn是本模块自己封装的,没有select超时机制,原有readn函数,通过select设定超时机制为2秒,超时套接字不能读,则返回-1,不会陷入死循环;

    展开全文
  • 本文转载自: javax.servlet.ServletException:java.lang.NoClassDefFoundErr 怎么将int数据转换成String数据? Eclipse如何设置断点&断点处运行快捷键 本部分转载自:javax.servlet....【问题描述】J
    本文转载自:

    javax.servlet.ServletException:java.lang.NoClassDefFoundErr

    怎么将int数据转换成String数据?

    Eclipse如何设置断点&断点处运行快捷键


    -------------------------------------------------------------------------------------------------------

    本部分转载自:javax.servlet.ServletException:java.lang.NoClassDefFoundErr

    【问题描述】JavaWeb项目JSP页面运行报错如下:

    HTTP Status 500 -

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    root cause

    java.lang.NoClassDefFoundError: javax/el/ELResolver
        java.lang.ClassLoader.defineClass1(Native Method)
        java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        java.security.AccessController.doPrivileged(Native Method)
        java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        org.apache.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:209)
        org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
        org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
        org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.

    【解决方案】到apache-tomcat/lib目录下,拷贝el-api.jar放到D:\Program Files\Java\jdk1.6.0\jre\lib\ext下即可


    -----------------------------------------------------------------------------------------------------

    本部分转载自:怎么将int数据转换成String数据?

    【问题描述】例如,需要将int a=123转换成"123"。

    【解决方案】

    方法1:String str=123+"";

    方法2:String str=String.valueOf(123);


    ------------------------------------------------------------------------------------------------------

    本部分转载自:Eclipse如何设置断点&断点处运行快捷键

    【问题描述】在Eclipse中设置断点并调试
    【解决方案】
    第一步:
    设置断点:在该行最前面边框双击  或快捷键:Ctrl+Shift+B
    第二步:
    Debug 运行启动
    第三部:
    运行到断点后:
    使用快捷键F5,F6,F7单步执行。
    F5:Step into/进入该行的函数内部
    F6:Step over/一行一行执行
    F7:Step return/退出当前的函数 


    展开全文
  • 最近搭建maven项目的时候碰到了一个问题,明明有jar包但是一直找不到这个类,请路过的有缘人指出。 控制台报错: java.io.IOException: java.lang.ClassNotFoundException: org.springframework.web....
  • 开发过程中遇到问题该怎么办?

    万次阅读 2017-05-05 16:42:19
    开发过程中遇到问题了怎么办日常开发过程中,总会遇到问题,那么遇到问题该怎么办呢? 首先我们把问题分成大的两类:业务问题、技术问题。一、业务问题这类问题一般跟你的需求和设计相关。大致分下列情况:1、需求不...
  • Process: Python [39974] Path: /System/Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python Identifier: Python Version: 3.7 Code Type: X86-64 (Native) ...
  • 项目中,作为项目组成员难免会遇到问题遇到问题时,有些人就会想:“领导挺忙的,就不进行汇报了”,“还是不汇报了吧,领导也许会因为我解决不了这个问题而低看我吧”,“再等等,我再努力努力也许就找到解决...
  • options:{ presets:['react','es2015',"stage-0"], plugins: [['import', options],["transform-class-properties"]] }
  • 问题:computed里是不能直接修改data里变量的值,否则在git commit 时会报错 解决:在computed里使用get和set来进行获取和修改data变量,(参考下图) (二)computed里监听数组的变化 问题:computed里返回一...
  • 1、软件项目开发合同的订立,合同需要对将来几个月甚至几年需要的事情有个明确的定义说明,限定好工作范围、工作内容、承担的责任、项目总费用,每个阶段支付的费用都需要有明确的说明甚至付款条件等都需要...
  • 开发项目过程中遇到问题是难免的,但是面试绝对不可以暴露低级的bug,博主小白在职期间经常遇到问题: 1.本地环境与线上环境出现问题不一致,可能是线上环境问题,运维部署服务器问题等。 2.线上数据库版本问题...
  • ETL开发过程中遇到问题

    千次阅读 2018-06-08 17:24:32
    1 动态数据源的切换问题 近期在开发ETL过程中遇到了动态数据源的切换问题 要求是常规配置好自己的数据库 然后后期可以自定义连接数据 有点类似与msql的可视化连接工具 实际开发主要遇到的一些问题 现在记录 1 ...
  • 数据库使用过程中遇到问题

    千次阅读 热门讨论 2017-05-21 21:36:08
    最近在学习的时候,用到了数据库,在打开数据库的时候,结果数据库打不开了,本着遇到问题解决问题的态度,成功解决了,开心。下面就来看看小编都遇到什么问题了吧。
  • 项目管理中遇到问题

    千次阅读 2014-03-13 19:55:45
    一:团队正在一个重要的项目或者变更,此时上面领导突然要求一个新的项目,并且需求人员和开发人员经过对此项目的评估,认为此项目的开发没有必要或者会影响之前的项目时,项目经理该如何处理这种情况?...
  • 我估计是在安装过程中遇到问题最多的一个人了 ....按照《第一行代码》书内容,应该建立一个HelloWorld项目,但是刚一建立,就出现一堆红色的错误。 第一个问题是“could not find any version that matchse ...
  • 遇到问题:java版本在环境变量和在命令行查询结果不一致问题。解决方法:win7 java命令行路径不一致解决方法 (能解决)war包放入tomcat的webapps目录。遇到问题:启动正常,浏览器访问报错Unable to compile class...
  • 微信小程序开发过程中遇到问题

    万次阅读 2016-12-05 13:31:05
    微信小程序发布到现在有段时间了,公司内部正在一个小程序的项目过程中踩到了不少问题,这里说一下遇到问题和解决方案,希望能帮到正在的人,也希望又正好的解决方案的人可以给我提供意见和建议,谢谢!...
  • 记录搭建springboot项目遇到的一些问题问题:Exception in thread "main" java.lang.UnsupportedClassVersionError : unsupported major.minor version 52.0我的电脑上安装了jdk1.7 和 jdk1.8,虽然...
  • redis使用过程中遇到问题及解决方法最近项目里想用redis提升查询效率,我是其中几个模块的开发人员,在使用redis的过程中遇到了很多的问题。摸着石头过河,受到很多打击,但也学会了很多,记录下来,供自己备忘也...
  • JAVA研发项目中遇到问题

    万次阅读 2018-12-03 15:25:15
    也不是说工作中项目很忙,而是自己没有按照自己得规定来,以前说得是一天更新一篇文章,后来,发现一天更新,自己更加没有精力去弄。就说一周更新一天,发现还是无法去实践。但是为了让自己能力提升,还是需要严格...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 523,303
精华内容 209,321
关键字:

做项目过程中遇到的问题