【项目学习】
文章平均质量分 82
好好生活_
这个作者很懒,什么都没留下…
展开
-
JAVE实现音频截取并上传OSS
引言前段时间有个项目需求,需要对一段完整的音频按照开始时间和结束时间进行截取。网上查了一些相关资料,最后采用JAVE Java类库实现。介绍JAVE (Java Audio Video Encoder) 类库是一个 ffmpeg 项目的 Java 语言封装。开发人员可以使用JAVE 在不同的格式间转换视频和音频,实现视频和音频文件的截取功能。思路1. 如果是直接截取本地文件,代码很简单,直接引入jave jar包,实现截取功能即可。2. 对于不是本地文件,而是一个远程文件的链接情况,就需要先下载原创 2020-11-12 15:10:32 · 1941 阅读 · 3 评论 -
【JAVA】对接苹果授权登录流程
背景苹果公司要求所有使用第三方登录的 App,都必须接入Sign in with Apple。接入方式基于JWT identityToken的算法验证基于授权码的验证校验流程上图为苹果对接官网的流程示意图,大致意思就是APP端在请求登录的时,服务端会接收到用户信息,拿着用户信息,服务端会请求苹果服务端,验证用户信息,苹果服务端用户信息验证通过后,则用户登录苹果账号成功,下一步则是允许APP进行登录。使用JWT方式接入步骤(通过查询资料,大多数成功案例都是通过JWT方式实现的,下原创 2020-08-21 17:39:14 · 8214 阅读 · 2 评论 -
MySQL连接指定时区及LocalDate反序列化处理
【引言】记录两个最近遇到的问题:1. SpringBoot集成MybatisPlus连接Mysql问题(1) 问题描述之前整合了SpringBoot+Mybatis的项目,最近想在项目中实践一些东西,启动项目,报错如下:java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or repr...原创 2020-03-25 15:31:45 · 1328 阅读 · 0 评论 -
【java】Apache POI - the Java API for Microsoft Documents
导入导出可以说是每个项目中都可能会有的需求。项目渐渐接近尾声了,各个模块之前没有实现的导入导出的功能也需要完善起来了。而自己做的新的一个需求,正好也有导出数据的需求,就自己开始实现了。 原来,有个同事已经写好了一个导出工具类,那我实现就很简单了。此功能的实现其实和页面列表显示的逻辑一样,最后将列表上的数据写入到Excel即可。下面就直接上代码了: JS: /**原创 2016-11-22 21:07:47 · 1024 阅读 · 30 评论 -
Avalon,继Angular之后
在上篇博客中的最后,提到了项目中用到了Avalon。和Angular一样,它也属于MVVM模式。 之前对Angular也只是接触过,但没能快速上手,熟练地去应用,只是留下了些印象。而通过这段时间,在项目中对Avalon的应用,发现两者其实差不多。 Avalon是一个功能强大,体积小巧的MVVM框架。它遵循“操作数据即操作DOM”的理念,让你在代码里基本见不到一点DOM操作代原创 2016-10-03 22:36:39 · 1355 阅读 · 55 评论 -
JQuery Validate,验证也可以很简单
在项目中,输入验证是少不了的一项工作。在测试人员那里,更是有上百个测试用例需要对开发进行验证。以前项目中验证的工作好像并不多,最多的是进行一些为空判断,判断的方法也是通过调用公共类中写好的一些方法。而这一次,接触到的验证方法是JQuery Validate,JQuery自定义验证的方法。 首先,先来看一下JQuery自定义验证的基本格式:jQuery.validator.addMet原创 2016-10-17 22:08:32 · 6592 阅读 · 34 评论 -
fullcalendar,轻松管理日程
前面接触到了JQuery的自定义验证方法,今天介绍一个的也和JQuery有关,是FullCalendar,一个非常不错的插件,日历工具,可用于制作日程表或计划安排。 在项目中,有个需求是需要查看某个特定广告位置下广告的排期,从而可以更合理地安排广告,避免冲突。所以,此时,有个像日历一样工具就非常必要了,可以很方便很清楚的看到每天每时刻的安排。 下面就看看如何将数据与Full原创 2016-10-25 21:27:18 · 2963 阅读 · 33 评论 -
MVC、MVP、MVVM
近半年接触的新项目,都不再是以前的MVC,而是MVVM。现在有时间停下来学习一下项目里的技术点,就一边想着项目中的实践,一边查资料,又发现,除了MVC、MVVM之外,还有个MVP。本篇博客就来梳理一下它们。 一.MVC(Model-View-Controller) 好久没有接触MVC了,都快要忘记了项目中是如何实践的。 1. 模式结构 它将系统分成了三原创 2016-09-28 22:08:49 · 725 阅读 · 24 评论 -
Eclipse SVN 中的分支与合并
这两天,项目大体上都完成的差不多了,剩下的都是细节上修修补补的东西。所以,负责人将项目在SVN上做了各个模块对应的分支。分支,在此之前也没有使用过SVN上的分支,这一次,又算是学习到了一些新的东西。【SVN—目录结构】 SVN的标准目录结构:trunk、branches、tags.这点大家应该都很清楚的,而三个目录分别有着怎样的区别,何时何种情况下使用哪一个目录也许是大家不太清楚的。原创 2016-10-11 00:03:04 · 1816 阅读 · 33 评论 -
Mybatis,怀疑--使用--感悟
正当我疯狂地学习Hibernate的时候,接到新项目的电话面试,说底层用的是Mybatis.因为只是听说过,在学习Hibernate的时候,也接触过一些理论方面的东西,因为都属于ORM框架,对两者进行过简单的比较,但都是偏向于Hibernate的角度。所以说,自己对Mybatis可以说是几乎什么都不知道。 现在还记得那天接到面试电话时的场景,听到Mybatis,很熟悉,但其实是很陌生。关原创 2016-09-18 22:38:04 · 6529 阅读 · 25 评论 -
java中以post方式提交,中文编码&解码问题
【项目需求】 一个页面,通过抓取数据,获取需要处理的数据的列表。对此列表数据进行单条或批量操作后,将数据存入到另一个表中,存入前先判断是否存在该条记录,存在则更新,不存在则插入。 【开发环境】 MyEclipse、Oracle 【开发问题】 在将记录存入到数据库时,遇到了一个问题,中文乱码~~~乱码真是一个老朋友,当初在.net开发用mysql数据原创 2016-08-01 19:09:21 · 11582 阅读 · 10 评论 -
【BootStrap】陌生=》熟悉=》惊喜
最近一直在写静态页面,这一周真的是写完一个又一个的页面。通过写这些页面,也是接触到了BootStrap中很多的常用插件,也就是我们之前所说的控件。下面就来看看BootStrap中会给我们带来怎样眼前一亮。 本篇博客将介绍下拉菜单、列表和按钮三种。【具体介绍】一.BootStrap下拉菜单 Usage Make sure jQuery.j原创 2016-05-04 08:54:23 · 5103 阅读 · 24 评论 -
架构之美 ----- Dubbo 框架
实习项目中用的框架是Dubbo,还记得刚进公司的时候,架构师给我们简单地说了项目的架构,也问了问之前接触过的框架。具体内容记不清了,关键字包括:WebService,SOA。可以说,这两者并不陌生,而项目中的Dubbo和这两者有着紧密的联系。下面就开始对Dubbo框架进行一些细致的了解。 一. Dubbo是什么? Dubbo 是阿里巴巴公司开源的一个高性能优秀的分布式服务框原创 2016-12-08 13:06:51 · 1212 阅读 · 26 评论 -
【java】事件与观察者模式
【需求】 之前接触到了项目中的成长值和积分模块。这两个模块的业务需求相信大家都清楚,就拿我们身边的应用来说,无非是用软件做了一些事,之后就会返回对应的一些积分到自己的账户中。这也是在电商项目中必不可少的一项需求。 【方案】 业务都了解,而采用何种方式去实现这一需求呢。 我们在模块中写好了给对应的会员增加或更新其账户下的积分方法,按照其他模块的做法,他们前端大原创 2016-12-14 20:22:20 · 906 阅读 · 24 评论 -
filter中流未关闭引发的问题getWriter() has already been called for this response
【引言】在上一篇博客中,写了Spring MVC和Spring Boot框架中如何实现自定义filter,文章结尾提到了filter中遇到的问题,如下:IllegalStateException: getWriter() has already been called for this response...原创 2019-06-30 18:41:36 · 2382 阅读 · 1 评论 -
【MySQL】java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x9' for column 插入国外文字失败解决方案
【引言】线上问题,Excel导入某字段是印度文,导入报错,插入Mysql失败,具体错误如下:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x95 V...' for column '***' at row 1at com.mysql.jdbc.SQLError.createSQLExceptio...原创 2019-07-13 19:53:06 · 3245 阅读 · 0 评论 -
【Git】关于分支策略的一些思考
【引言】在正文之前,先给大家抛一个问题,自己所在公司上线的分支是如何规划和管理的?可以在脑海中梳理一下。不同的团队,有着不同的管理方式。开发过程中,对于分支的管理也有不同的策略;上线过程中,也有不一样的流程。本篇博客内容就结合自己工作以来,所在团队管理方式的经验,来分享一下不同的分支策略,对比看看各有着什么样的优缺点,而自己所在团队,究竟更适合于哪种策略,可以想想,在此给大家一个参考。【说...原创 2019-07-07 21:26:24 · 1292 阅读 · 0 评论 -
【redis】常用命令总结
开发一个新需求,需要将redis缓存从原有的以公司为key替换为以个人为key,在这过程中,通过命令行对redis进行操作,之前没有实战,正好是个积累学习的过程。一 . Connection (连接)AUTH (Auth password):通过设置配置文件中 requirepass 项的值(使用命令 CONFIG SET requirepass password ),可以使用 密码来...原创 2018-08-21 17:19:06 · 13048 阅读 · 1 评论 -
【Git】工作区 暂存区 版本库
上篇博客总结了一下git的常用命令,而在命令的操作背后,其实影响的是不同的工作区域。git的工作区域分为三个部分,分别为:工作区,暂存区和版本库。一. 基本概念工作区(working directory):将一个文件夹通过git init设置成一个git可以管理的文件夹时,这个文件夹里的内容就是工作区;版本库(repository):当工作区生成后,可发现.git,这个就是版本库;暂...原创 2018-08-20 23:31:25 · 469 阅读 · 0 评论 -
【Git】使用总结
公司旧系统都是使用svn版本控制,只有新系统才直接用的git,最近我们把旧系统从svn版本控制转换到用git。转到git,主要考虑到以下几点:git强调个体,为了满足开发需求的快速迭代,两三个需求上线,不会因为一个需求没完成而耽误上线;而svn适合开发人数不多的项目开发。git速度快,灵活,任意两个开发者之间的冲突也很容易解决;git支持离线工作;而svn如果不能连接到服务器上,基本上不...原创 2018-08-20 22:53:02 · 2097 阅读 · 1 评论 -
【redis】分布式锁的基本实现
【问题背景】在分布式场景下,出现了拿到的主键id相同的情况,从而导致物流单单号重复,新建失败。物流单号生成的规则是:固定字符(“**) + 发货站点id + yyyyMMdd形式日期 + 自增id。所以,利用redis,分布式锁机制,保证生成的物流单号不重复。【相关命令】incr:将 key 中储存的数字值增1。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再...原创 2018-08-22 23:01:20 · 310 阅读 · 1 评论 -
Mybatis,Order By排序问题
曾写过一篇博客,是接触了一段时间的mybatis开发总结的:《Mybatis,怀疑--使用--感悟》。又过去了一段时间,前不久和别人联调接口,遇到了mybatis的排序问题。这篇博客就来总结一下,在mybatis框架下,如何实现排序? 排序,是个很基础的需求。实现的时候只需要在查询语句后面加上order by 某个字段即可。在mybatis中,用工具可以帮助我们自动生成底层的一套东西,便原创 2016-11-03 21:49:24 · 156688 阅读 · 33 评论 -
【java】消息队列
在上一篇博客中,介绍了事件在项目中的应用,在自定义事件中,往往会将事件和消息队列一同使用,本篇博客就来了解消息队列。 一.为什么使用消息队列 当我在项目中看到了消息队列的使用,我并不明白为什么要使用它。也许如果你知道了下面对消息队列的概述,也知道答案。因为我对消息队列的接触等于0,所以就先查了查,简单地说: 在高并发环境下,由于来不及同步处理,请求往往会发生堵塞(原创 2016-12-20 21:31:57 · 1740 阅读 · 26 评论 -
【Oracle】PLSQL Developer如何连接Oracle
【学习背景】 最近换新项目,用的数据库是Oracle的,在几个月前,就开始听很多人说,他们公司用的是Oracle数据库。虽然,都觉得不同的数据库之间没什么太大的区别,但毕竟又是一个新鲜的东西,还是很想有机会能接触到。这一次,总算是等到它了。 【开发环境】 Win7 64位系统、MyEclipse10、Oracle Client32位、PLSQL Develop原创 2016-06-16 13:31:48 · 5571 阅读 · 14 评论 -
jBox,实现批量查询
【项目需求】 系统使用人员希望可以根据一批号码查询到对应的信息。组长在其他系统见过类似的功能,就给我直接提供了方案。利用jBox插件,在对话框中输入批量查询的号码,号码间以回车分开,查询的时候,以','标识。 【项目环境】 开发软件:MyEclipse10;数据库:Oracle;项目框架:Struts1;浏览器:IE8. 【jBox学习】原创 2016-06-23 19:13:30 · 1830 阅读 · 20 评论 -
Grid++Report实现Web报表
最早接触报表是在机房收费系统中,那时候还是在C/S模式下,所以可以直接在窗体上添加报表。而现在,已经转战B/S模式下。本篇博客将介绍如何实现Web报表。 【需求说明】 在我们的生活中,表格也是无处不在,清晰而有条理。在这次的项目中,也需要在浏览器中直接打印报表(非IE打印)与导出报表,让用户使用更安全。 【开发环境】 整个项目是B/S模式下的,前台采用的原创 2015-12-07 14:23:12 · 7940 阅读 · 15 评论 -
WCF程序的发布
项目验收前,组长把发布的任务交给我了。上一次接触发布,还是在学习牛腩的时候,而这一次,项目用的是WCF技术,这算是第一次接触。在这一发布的过程中,遇到了不少问题,不过最后,终于是把系统发布成功了。本篇博客就将介绍WCF程序的发布流程,最后把期间遇到的问题写出来,供大家以后参考吧。【环境说明】 VS2012、IIS8【方法说明】因为在VS2012中发布失败,提示XXX文件未能复原创 2015-12-08 08:12:52 · 1133 阅读 · 21 评论 -
【项目经验】DataTable与JSON之间的转换
【项目需求】 问卷调查的制作学生端已经完成了,下一步要做的便是后台对问卷结果的管理。通过和老师的沟通,了解到老师想要的结果是按专业查询的结果,而其中包括两门课程。所以,接下来的工作便很明确了。【项目设计】 对问卷结果的回收内容明确之后,第一项工作便是页面的设计。如下: 在导航栏新增对此次问卷调查的菜单,其下包括三个子菜单,也就是本次问卷包含的三种题型,原创 2016-01-08 15:37:22 · 3794 阅读 · 16 评论 -
面向服务编程
从最初的面向过程编程,到后来觉得难以理解的面向对象编程,从软件工程的发展历程中来看,这已经成为我们编程路上熟知的两种编程方式。 接触了ITOO项目这么长时间,才发现,不知不觉,我们已经进入了软件工程发展历程之面向服务编程的开发。本篇博客的主题便是面向服务编程。 【一.面向服务编程从何而来?】 想要了解面向服务编程的发展方向以及它在软件行业中所占的地位,我们首先要原创 2016-01-24 19:14:30 · 6431 阅读 · 22 评论 -
ASP.NET制作调查问卷
【项目需求】最近几天,一直在做考试系统的维护。这一次的考试,思政部的老师提出了一个需求,希望在学生考试前填写一个关于本学期本学科的几个问题调查,以便更加了解学生情况。调查问卷共有三种题型:单选、多选和填空。我负责的是多选题型。【项目概要】ASP.NET WebForm开发框架,简单的三层开发。开发环境VS2012,SQL Server2008R2数据库。【项目开发】我们决定在已原创 2016-01-05 09:36:14 · 5771 阅读 · 15 评论 -
word嵌入表格,完美解决报表
【背景概要】 项目中,有很多地方涉及到需要打印各种表格,静态的,动态的,都有。而之前利用锐浪报表实现了显示表格的需求,但在进行条件筛选后,报表中的数据并不能显示了。这个问题一直搁置了很久,一直得不到解决。 【问题解决】 在放下报表问题实现其它需求期间,偶然发现,我们可以动态的将表格嵌入到word文件中,利用word将各种表格显示打印。这里用到的就是Aspos原创 2015-12-22 15:35:07 · 3494 阅读 · 28 评论 -
MVC框架
前段时间,一直跟着师父做一个项目。整个系统的框架都是师父搭建好的,作为新手,刚开始以为我们只是跟着了解了解需求,后来,没想到,师父也给了我们参与到代码的编写的机会,从而见到了整个系统的真正框架。 系统的框架是MVC+WCF+EF。这几个英文缩写其实自己也不是第一次见,之前在浏览师哥师姐们的博客里,经常见到。这一次亲身经历,学习的机会便不约而至了。这篇博客就从MVC说起。 一.什么是MVC?原创 2015-07-31 12:11:04 · 1609 阅读 · 59 评论 -
【ASP.NET】Webform与MVC开发比较
去年暑假开始,跟着一个项目,开始接触到了MVC,那时候,自己对Webform的开发还没有在项目中真正实践过,没有什么过渡,就跳跃到MVC开发下了。而最近,在维护的一个项目中,并没有使用MVC开发,用的是Webform开发。这两次经历的结合,引发了我对本篇博客标题的思考,即Webform与MVC开发比较。 【Webform下的开发】 通过这次对ASP.NET Webform的重原创 2016-01-20 18:39:28 · 5119 阅读 · 24 评论 -
【ASP.NET】session与cookie的比较
在这次的考试维护中,温习了很多旧知识,也学习到了很多新知识。本篇博客想要和大家一起分享的是session和cookie的联系和区别。【项目概要】 开发中,免不了会需要这样一种变量,在此阶段并没有它,但它出现在之前阶段或者其它方法中,我们就需要把它存储着,使得我们可以方便的获取它的值。在C/S开发下,我们可以定义全局变量;那么在B/S开发下,我们要用到的就是session或cookie原创 2016-01-15 19:51:51 · 935 阅读 · 19 评论 -
评教,这一路
周六日评教,这两天自己是一点也没闲着。随着昨天评教的结束,自己也总算是感觉放下了一个沉甸甸的担子,回想评教的这一路,走的有些不容易。回想评教的这一路,自己将从下面几个阶段来与大家分享。 (一)评教之业务了解 每个学期,学生在离考试周的前一个月,会被安排一次对自己上课的老师进行一次教学评价,也就是我们说的评教。学生评教也就是在学生端输入自己的学号,页面上便会显示本学期该学生所上的原创 2015-06-01 07:45:30 · 1249 阅读 · 19 评论 -
Web Service——面向服务编程的方式之一
在上篇博客中,我们认识了面向服务编程。本篇博客,将学习Web Service,它属于实现面向服务编程的方式之一。 【一.什么是Web Service?】 Web Service也叫XML WebService,是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。 从生活中举一个简单的例子,我们平时在浏览不原创 2016-01-27 15:26:53 · 2776 阅读 · 28 评论 -
由"缓存"到"Memcached分布式缓存"
【学习背景】 在ITOO4.0的时候,自己听了师哥师姐的技术分享,从那开始,Memcached 就留在脑海中了。现在,我们开始了ITOO4.1,在师父的指导下,开始缓存的学习。自然地,我第一时刻想到的便是Memcached。【学习阶梯】 在正是进入Memcached之前,自己先了解了些关于“缓存”的知识。 一.什么是缓存 用来暂时存储数据,避免频繁连接数据库或磁盘文件。一般来原创 2016-02-11 17:27:01 · 1132 阅读 · 18 评论 -
TFS管理工具
【背景介绍】 最近回到了MyEclipse中开发项目,前几周,我还以为这个项目没有团队管理工具,也不用提交代码,开发完新需求后直接把代码包扔到测试环境下进行测试,随后就部署上线。上周,组长让我们提交代码,我才见到了这样一个管理工具——TFS(TEAM FOUNDATION SERVER). 【插件安装】 要进入团队项目,必须在自己电脑上安装上TFS的插件。原创 2016-06-28 15:01:40 · 10171 阅读 · 19 评论 -
【NodeJS】运行在服务端的JavaScript
在外面做项目,真的是学到了很多都还没有接触过的东西。本篇博客,与大家一起分享学习NodeJS相关知识。 【一. 什么是NodeJS】 JS,从最初的理论学习到后来的项目实践,我们都很熟悉了。而本篇博客的主题NodeJS,简单地说,它其实是运行在服务端的JavaScript。下面是具体介绍: JS是脚本语言,需要一个解析器才能运行。对于写在HTML页面里的JS,原创 2016-05-19 08:17:59 · 11335 阅读 · 26 评论 -
【BootStrap】图片轮播
在之前的装修项目里,后期有个滑动预览图片的功能,那时候,整天都在调试页面布局,让我很崩溃,所以,自己并没有接过来做,就回复了负责人一句,不会实现。 “轮播”,不知道大家有没有听过这么一个词。这效果也就是做装修中所说的滑动查看图片,今天才知道,别人原来有个响亮而专业的名字:“轮播”。 下面,就一起来看看如何实现轮播的效果。 项目里前端框架采用的是BootStra原创 2016-04-19 20:14:01 · 2442 阅读 · 31 评论