软件工程师之路
文章平均质量分 54
肖老板
ECNU_SEI
展开
-
Spring Boot + BPMN流程管理引擎实践
本文首先介绍了BPMN基本概念以及为什么要引入BPMN;接着对实现了BPMN标准的开源框架进行了简单介绍和对比;然后重点介绍了Camunda BPMN框架的核心概念、框架及最佳开发实践,同时基于Spring Boot框架结合实际业务场景对Camunda的应用进行了介绍;最后是对于流程引擎集成到业务系统的一些注意事项说明。......原创 2022-06-26 19:38:06 · 5581 阅读 · 2 评论 -
Ubuntu下Java、Nginx和Tomcat的安装部署
Ubuntu下Java、Nginx和Tomcat的安装之前在阿里云上面闲置着一个Linux ECS,昨天正好要给上海二中部署一套新高考教务系统,就搞了一下。Linux环境下部署Nginx和Tomcat的运行环境会经常遇到,在此记录一下供以后参考。 整个部署过程主要分为以下3步:安装Java,配置JRE环境变量安装Tomcat安装Nginx,修改转发配置1. 安装JavaUbuntu下面的J原创 2017-10-27 16:03:12 · 2109 阅读 · 1 评论 -
Java 实现 Map 和 Object 互相转换的几种方法
Java 实现 Map 和 Object 互相转换的几种方法第一种方法是自己加的,后面几种是摘抄的 :)参考链接:https://stackoverflow.com/questions/6796187/java-introspection-object-to-map/** * 使用 com.fasterxml.jackson.databind.ObjectMapper 进行转换 */class原创 2017-09-19 18:51:15 · 17215 阅读 · 0 评论 -
Spring BcryptPasswordEncorder Log Rounds参数说明
Spring BcryptPasswordEncorder log rounds参数说明今天在做用户上传Excel表格导入数据到Mongodb数据库的时候遇到一个超时的问题,比较有意思,在这里记录一下!需求是这样的,用户通过页面选择本地的Excel表格,通过接口将Excel表格上传到后台,由后端解析Excel表格中的数据,解析成功后保存到数据库中。对于Excel表格的处理我表示轻车熟路,本来这个功能原创 2017-09-05 21:33:42 · 1308 阅读 · 0 评论 -
Mongodb 删除重复数据的几个方法
Mongodb 删除重复的数据最近在处理一些专利数据,从专利局爬数据的时候,总会间隙性出现中断,为了保证数据的完整性就进行了一些重复下载。将数据从几万个Excel表格中导入Mongodb后,第一步就是要去掉重复的数据。我的第一反应是写个Python小脚本,结果在执行的时候,由于数据量确实比较大,有十几万条,执行了半个小时仍不见结束。这时候才想着使用数据库的查询命令是不是可以实现去重复的功能。简单搜索原创 2017-07-10 17:52:41 · 17213 阅读 · 2 评论 -
Python使用combinations实现排列组合
Python使用combinations实现排列组合 好久没有写博客了!昨天小牛在上海举办了牛友见面会,现场优惠还是比较大,心仪已久加上一时脑热就入手了。以为会有多么开心,其实目前最大的感受就是焦虑!担心电动车被偷,担心电池被偷,担心路上突然被交警叔叔拦下!我想,直到我的小牛真的被偷的那天,这种焦虑才会随之消失。唉,要说这样的焦虑怎么来的,我只能呵呵了:) 下面步入正题: 今原创 2017-07-30 17:25:14 · 59992 阅读 · 9 评论 -
Java 编码规范
参考Sun公司的Java编码规范,半翻译半理解。使用空行分割代码块,并给代码块添加注释;一个文件一个类(或者接口),将私有类放在引用该类的公用类的后面;源文件构成:文件注释、package/import、类或接口的声明;/* * Class name * Version info * Copyright notice * Program de原创 2015-04-22 18:21:21 · 850 阅读 · 0 评论 -
Sort operation used more than the maximum 33554432 bytes of RAM
Mongodb: Sort operation used more than the maximum 33554432 bytes of RAM上线许久的产品突然爆出了一个Mongodb 查询的BUG,错误如下:"exception":"org.springframework.data.mongodb.UncategorizedMongoDbException","message":"Query原创 2017-04-25 20:39:16 · 26414 阅读 · 3 评论 -
Python 中求和函数 sum 用法
Python 中求和函数 sum 用法今天在看《集体编程智慧》这本书的时候,看到一段Python代码,当时是百思不得其解,总觉得是书中排版出错了,后来去了解了一下sum的用法,看了一些Python大神写的代码后才发现是自己浅薄了!特在此记录一下。书中代码段摘录如下:from math import sqrtdef sim_distance(prefs, person1, person2):原创 2017-03-25 21:47:34 · 72425 阅读 · 0 评论 -
Maven自动部署到Tomcat容器
Maven自动部署到Tomcat容器Reference在开发过程中对程序的更新比较频繁,每次更新都要使用Maven打包,然后手动拷贝到测试服务器上的Tomcat里面去,实在麻烦!然后花了点时间研究了一下 Maven的自动部署,把要点记录在此。1. 修改项目pom.xml中的配置 <build> <plugins> <plugin>原创 2016-09-14 14:27:28 · 1773 阅读 · 0 评论 -
Nginx配置HTTPS
Nginx配置HTTPS最近配置了现网网站的HTTPS,简单记录一下配置过程。先交代一下我的服务部署环境:Nginx监听80端口,转发到Tomcat的8080端口;服务器使用的是阿里云的ECS,操作系统是Windows Server 2012;CA证书也是在阿里云的CA证书服务上面申请的免费证书。 1. 申请CA证书 首先去购买CA证书。一般各大云服务提供商都会有此类证书服务,根据公司和业务需求原创 2017-10-16 17:49:02 · 49523 阅读 · 2 评论 -
使用`phy`进行神经网络数据读取及可视化之开发环境准备
基本步骤:下载并安装 anaconda3安装环境,environment.yml里面需要配置环境name和python版本: conda env create -f environment.yml --force安装phy和phycontrib,进入各自的目录执行:python setup.py install激活并进入环境:activate phy-name在新环境中安装phy和phyco原创 2017-10-20 18:28:31 · 923 阅读 · 0 评论 -
Ubuntu下编译安装ngrok
Ubuntu下编译安装ngrok在微信开发过程中,调试过程极不方便,后来偶然了解到 ngrok 这个东西,用起来实在顺手!国内有很多先驱已经提供了免费的ngrok服务,人都是有惰性, 果断用别人的免费服务,后来用的人多了,问题也多了,这东西渐渐不稳定。最近产品要上线测试,结果正赶上ngrok服务很不稳定,没办法,只好自己来搭建一个了。好久没写博客了,借此机会更新一下!1. 导出源代码mkdir n原创 2016-04-21 15:30:33 · 7298 阅读 · 14 评论 -
Failed to introspect annotated ** org.springframework.boot.web.support.SpringBootServletInitializer
Failed to introspect annotated ** org.springframework.boot.web.support.SpringBootServletInitializerSpring Boot应用启动类:@SpringBootApplicationpublic class ApiApplication extends SpringBootServletIniti...原创 2019-03-21 14:45:41 · 7341 阅读 · 1 评论 -
Restful接口规约
Restful接口规约在前后端分离的程序架构下,前后端交互一般是由前端通过HTTP协议访问后端提供的Restful风格的API进行的。在这种场景下,常用的HTTP方法主要包括:GET、PUT、POST和DELETE。1. GETGET方法用于获取资源详情或者列表,不对资源做变更。其一般使用场景如下:获取某个资源的详情:/resourceName/{id},Path Variable中的...原创 2018-12-14 14:14:04 · 1531 阅读 · 0 评论 -
Spring Security - 获取当前登录用户的详细信息
Spring Security - 获取当前登录用户的详细信息在Spring框架里面,可以通过以下几种方式获取到当前登录用户的详细信息:1. 在Bean中获取用户信息Authentication authentication = SecurityContextHolder.getContext().getAuthentication();if (!(authentication insta...原创 2018-12-13 10:08:16 · 52754 阅读 · 10 评论 -
基于Spring Security实现权限管理系统
基于Spring Security实现权限管理系统稍微复杂一点的后台系统都会涉及到用户权限管理。何谓用户权限?我的理解就是,权限就是对数据(系统的实体类)和数据可进行的操作(增删查改)的集中管理。要构建一个可用的权限管理系统,涉及到三个核心类:一个是用户User,一个是角色Role,最后是权限Permission。接下来本文将介绍如何基于Spring Security 4.0一步一步构建起一个接...原创 2018-11-06 16:49:49 · 78674 阅读 · 38 评论 -
Subresource Integrity 介绍
这几天,GitHub 宣布启用 SRI 策略,用来减少由「托管在 CDN 的资源被篡改」而引入的 XSS 等风险。很多小伙伴对此表示关注。那么 SRI 究竟是什么,如何使用 SRI,它的适用场景和局限性是什么?本文逐一解答。SRI 是什么?SRI 是 Subresource Integrity 的缩写,一般按照字面意义翻译为:子资源完整性(草案),它也是由 Web 应用安全工作组(Web Ap...转载 2018-10-10 19:18:45 · 1619 阅读 · 0 评论 -
Python中整数移位及二进制串操作
Python中整数移位及二进制串操作&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;最近一个项目涉及到电压数据的接收和可视化处理。其中电压数据是由FPGA通过TCP协议传输的二进制流,软件接收端需要安装数据帧格式进行解析后处理。由于嵌入式组的FPGA发送程序还处于调试原创 2018-08-24 12:22:35 · 8678 阅读 · 0 评论 -
Spring Oauth2: Redirect back to origin url after login successfully.
Spring OAuth2 登录成功后跳转到原来的地址本文介绍基于Spring Cloud Zuul实现的OAuth2 Clinet在跳转到OAuth2 Server的登录页面成功登录后如何redirect跳转回原来的地址,即redirect back to origin url after login successfully.Spring OAuth SSO的基本过程有以下几步:...原创 2018-08-17 18:30:22 · 6140 阅读 · 1 评论 -
RTF 批量转换为 DOCX 文件
RTF 批量转换为 DOCX 文件 RTF是多信息文本格式,可用于多设备、系统。最近在做一个小的数据批量处理程序时遇到了RTF格式的数据文件,这种格式虽然跨设备跨系统,但是发现解析此格式的库比较少(至少Python比较少)而且功能不全,不能实现自己获取数据文件里面的表格的需求。而对于DOCX格式的文件,其解析库就相对成熟一些!所以我需要将RTF文件转换为DOCX文件。单个文件的话,直接用wo...原创 2018-04-26 20:12:21 · 9936 阅读 · 6 评论 -
Unable to locate package xxx
Unable to locate package xxx 错误解决办法最近在实践Docker,新装了ubuntu容器镜像,结果安装python时出现了”Unable to locate package python”的错误, 然后发现其他的apt-get install命令也都是出现同样的错误提示,解决办法其实很简单,更新一下软件源即可,终端输入以下命令:sudo apt-get update然后原创 2017-01-10 10:57:11 · 4280 阅读 · 0 评论 -
Tomcat Catalina子项目配置多域名访问
Tomcat Catalina子项目配置多域名访问1. 修改conf文件夹下的server.xml,原文件中有一个默认的localhost的Host配置,直接复制该段代码,修改name为自己的二级域名即可,如下修改为了api.demo.com<Host name="api.demo.com" appBase="webapps" unpackWARs="true" autoDeploy="true"原创 2016-11-13 16:55:06 · 1811 阅读 · 0 评论 -
防止程序多开的原理介绍
windows系统下,程序防止多开的几种常见方法: 1)使用FindWindow API函数。 通过查找窗口标题(或/和类名)来判断程序是否正在运行。如果找到了,表明程序正在运行,这时可退出程序,达到不重复运行的效果;反之表明程序是第一次运行。 这种方法不适用于以下情况,程序的标题是动态变化的、系统中运行了相同标题(或/和类名)的程序2)Mutex/Event/Semaphor转载 2014-10-22 20:47:06 · 6459 阅读 · 0 评论 -
Windows Server 2008 Apache并行配置不正确解决办法
在阿里云上买了一个ECS云服务器,阿里云预装的是Windows Server 2008原创 2014-08-30 15:25:27 · 6033 阅读 · 2 评论 -
IT名词
ORM:Object/Relation Mapping 关系数据库映射原创 2014-07-03 21:48:32 · 806 阅读 · 0 评论 -
没有网络时VirtualBox主机与虚拟机的通信
废话不多说,简单介绍一下有网络和没有网络两种情况下VirtualBox原创 2014-04-17 10:07:16 · 3844 阅读 · 0 评论 -
win7命令行窗口中无法使用系统命令
最近装了JDK,设置环境变量时居然一不小心把之前PATH中的内容给覆盖掉了,导致在命令行中无法使用系统命令。求助于强大的谷哥,找到解决办法。很简单,就是将之前PATH中的系统环境变量加进去:;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem注意需要的分号一个都不能少哦~~原创 2013-07-18 16:00:33 · 1480 阅读 · 0 评论 -
windows7 命令行关机/重启
1.开始菜单,输入“cmd”回车进入命令行;2.“shutdown -r -t 5”:“-r”表示restart,重启;“-t”表示time,重启操作执行前等待的时间,秒为单位。该命令表示5秒后计算机将重新启动,可以自行修改时间,0表示马上执行重启操作;3.“shutdown -s -t 0”:“-s”表示shutdown,关机;“-t”表示time,关机操作执行前等待的时间,秒为单位。该命令表示原创 2013-07-18 16:01:08 · 88834 阅读 · 1 评论 -
Linux MySQL 忘记root密码的处理
如果数据不重要的话,最直接的方法就是将 "/var/lib/mysql/*"目录内的资料全部删除掉,然后重启MySQL,资料库会进行重建,然后root又没有密码了。。。。。如果数据很重要,哈哈,再说吧。。。。。原创 2013-07-18 16:00:39 · 719 阅读 · 0 评论 -
Linux 下 apache的启动命令
Linux系统为Ubuntu一、Start Apache 2 Server /启动apache服务# /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 start二、 Restart Apache 2 Server /重启apache服务# /etc/init.d/apache2 restartor$ sudo /etc/init.d/ap原创 2013-07-18 16:01:04 · 2216 阅读 · 0 评论 -
云计算介绍
云计算是IT基础设施的交付和使用模式,允许人们通过网络以按需付费、易扩展的方式获得所需资源(包括网络、服务器、存储、应用和服务等),这是云计算的核心意义。云计算的资源来自一个共享的、可配置的资源池,并能够以最省力和无人干扰的方式获取和释放。通过云计算抽象而出的“计算能力”可作为一种商品通过互联网进行流通。“云”能给予用户强大的支持,其自动化集中式管理使企业无需负担高额的数据管理成本;同时,其通用性原创 2013-07-18 16:00:55 · 812 阅读 · 0 评论 -
一个程序员的十年总结
看到这篇文章,说得蛮实在的,转过来,提醒自己要认真努力。展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是转载 2015-01-23 10:54:41 · 929 阅读 · 0 评论 -
Windows 8.1打开Visual Studio后崩溃
前不久用了3年多的硬盘坏掉了,换了一个SSD,装了个Windows 8.1,然后再装了Visual Studio 2010,结果打开VS2010一会儿后就崩溃了!再联想起之前装Windows 8时VS2010一直装不上的问题,顿时好失望,怎么微软自己家的东西都不好好支持一下!然后火速下了一个Visual Studio 2012,SSD就是快啊,很快就安装好了,然后打开,结果傻眼了,还是崩溃!这下该原创 2015-07-07 19:31:56 · 920 阅读 · 0 评论 -
Failed to instantiate * using constructor public * with arguments **
Failed to instantiate * using constructor public * with arguments **今天在从MongoDB中读取数据到包含有内部类的结构中去的时候一直抛出异常,跟了半天也不知道是什么原因导致的。后来偶然看到 Stackoverflow上面一哥们也遇到同样的问题,然后才解决了,做一下大自然的搬运工,记录一篇中文博客。 保存在MongoDB中的数据原创 2016-07-26 20:25:52 · 4713 阅读 · 0 评论 -
Ubuntu下使用vsftpd配置FTP服务器
Ubuntu下使用vsftpd配置FTP服务器在conoha上面购买了一个Ubuntu服务器,准备部署一个网站。要将自己的网站发布包传输到服务器上去,自然想到是使用FTP了!经过网上搜索和个人实践,将Ubuntu Server 12.04 LTS上部署FTP Server的相关步骤记录如下:安装FTPsudo apt-get install vsftpd配置vsftpd.confsudo vi /e原创 2015-11-08 18:34:41 · 3510 阅读 · 0 评论 -
Resource interpreted as Font but transferred with MIME type application/x-font-woff
Resource interpreted as Font but transferred with MIME type application/x-font-woff在项目前端中使用了Bootstrap的Glyphicons字体图标,本地Spring开发时 没有出现任何问题,后来部署到阿里云上的tomcat中后,账号登陆时突然自动把字体文件下载了下来,而且登录后的自动跳转也没用了!更囧的是当时我正原创 2016-05-04 20:02:23 · 4036 阅读 · 0 评论 -
常用正则表达式
常用正则表达式整理转载 2016-04-28 16:05:39 · 769 阅读 · 0 评论 -
吐槽
这一周过得甚为苦闷。我发现自己一旦处于多任务状态时就会一个任务都完成不好,或者总会有那么一段毫无目的的晕头期。这点很不好,要锻炼自己提取要点,分清主次,将多任务有序地完成下去。很久不写博客,都只顾着在Git上面传代码了。写代码很重要,但是博客总结也必不可少,万事贵在坚持,少年,加油!原创 2015-12-25 16:39:44 · 607 阅读 · 0 评论 -
Tomcat 自动部署
当我们的服务在正式运营环境下时,如果每做一次更新都重启一下服务器,是很糟糕的!通过配置Tomcat,可以让服务自动部署,不用重启服务。在Tomcat的server.xml配置文件中部署1、在Tomcat下,找到conf文件下的server.xml,打开。2、在和之间加上如下代码:Context path="/虚拟目录名" docBase="目标目录位置" debug原创 2015-08-07 11:25:02 · 7685 阅读 · 1 评论