自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编码之旅

When you choose,just move on

  • 博客(46)
  • 论坛 (6)
  • 收藏
  • 关注

原创 Vue.js实战——开源H5跨移动平台的多媒体API_20

1. 主要功能:获取经纬度、拍照、录音、获取指南针等多媒体功能;2. 支持的平台包括:Mobile Chrome 浏览器、Android App、IOS App(未实现)、微信公众号、微博公众号等平台;

2020-01-14 18:03:26 180

原创 Springboot+Shiro优雅实战•计划概述_1

一、目标使用springboot搭建一个微服务基本框架;使用自定义加解密算法对所有账号密码进行加密存储(包括数据库账号密码、用户密码等);使用shiro作为rbac权限集成框架,同时支持账号密码登录和微信认证登录,且优雅地使用多FormAuthenticationFilter、多Realm分别进行认证;使用自定义操作日志框架,方便日后进一步扩展;给出所有源码,以感谢所有热情分享技术的网...

2019-09-24 23:13:09 58

原创 Vue.js 实战——彻底解决跨域问题_18

一. 背景在 Web 应用中,跨域是程序猿绕不过去的坎。什么是跨域:当一个请求 url 的协议、域名、端口三者之间任意一个与当前页面 url 不同即为跨域。举例:在自己的应用 html 中,需要访问微信或者新浪接口,这时浏览器就会提示跨域了。如下代码所示:在业务代码中访问网络地址来查询天气信息。let url = 'http://t.weather.sojson.com/api/we...

2019-09-15 13:44:50 2049

原创 Vue.js实战——封装浏览器拍照组件_5

一、目标使用vue.js作为前端javascript框架,结合html5+ES6语法,在移动端Chrome浏览器中,完成兼容Android和iOS的拍照功能; 预览拍照图片; 基于一般项目的诉求,封装成可复用的拍照组件;二、步骤1、基于上篇博文(Vue.js实战——获取浏览器经纬度的各种坑_4)搭建的项目框架(geo_location4),复制粘贴生成geo_location5项目;...

2019-01-24 17:42:38 850

原创 Vue.js实战——精简webpack配置_3

1、现状     继上次完成Vue.js实战——框架搭建_2,发现自动生成的框架配置(包括编译、打包、调试相关的)文件过多(见下图所示),既分散也不好理解,所以当时也没有去解读各个配置的含义。今天就来精简Vue.js项目使用的webpack配置,使之简单易懂,降低出错的成本。2、目标     把webpack配置文件精简成一个单独的文件,去掉冗余且不太使用的配置,让大伙能够享受...

2019-01-07 22:28:10 341 1

原创 扎金花大小比较算法(Java版)

扎金花大小比较算法,实现算法特点:1)采用面向对象方式实现,分别构造牌面值的对象(枚举)、牌的花色对象(枚举)、玩家三张牌的类型(枚举,如豹子、同花顺等)、一张扑克牌对应的对象(一张牌有一个牌面值属性、一个花色属性)、玩家对象(玩家有3张扑克牌,牌的类型属性);2)主要是通过Java Comparable 接口的compareTo实现比较功能,很方便对玩家手中的牌进行排序(调用Collections.sort方法实现),同事避免了很多if else 比较;

2014-06-17 00:10:07 8649 2

原创 蜂窝小区最短距离实现 (数学归纳法+广度优先算法)

题目描述:如图:由正六边形组成的蜂窝小区中,每个正六边形的编号也如图所示。求任意2点间的距离。(规定最大编号不超过100000)分析:1、求2点间的距离,第一印象就想到了广度优先算法(广度优先算法简单介绍:如图中的1点找编号为9的点时,可以第一次广度优先找到第二圈的所有元素,第二圈的元素再广度优先可以找到了9号点,所以必有一点可以从1点到9点,且距离为2)。但广度优先算

2013-05-28 00:32:21 18931 17

原创 营救公主(Java实现A*算法解决迷宫问题)

很早就听说过A*算法,据说在寻路径时,是一种比较高效的算法。但是一直没有搞清楚原理。这段时间刚好有个营救公主的例子:题描述 :公主被魔王抓走了 , 王子需要拯救出美丽的公主 。 他进入了魔王的城堡 , 魔王的城堡是一座很大的迷宫 。 为了使问题简单化 , 我们假设这个迷宫是一个 N*M 的二维方格 。 迷宫里有一些墙 , 王子不能通过 。 王子只能移动到相邻 ( 上

2013-05-20 01:40:51 7415 4

原创 五子棋落子游戏

题目要求:假设已有15*15的五子棋棋盘(0-14),黑白子对下,现要求能够实现落子接口:1)落子成功时,如果当前颜色的棋子胜利(有5子连成一条线),黑子胜利返回2,白子胜利返回3,没有人胜利时,返回落子成功1;2)黑白子顺序混乱、或者重复落子等异常返回-1;分析:1、需要实现保存所下所有棋子的数据;2、在1前提下,能够判定所下棋子是否有5个子在一条直线上(2条

2013-05-17 01:41:22 8899 21

原创 马拦过河卒(Java实现)

一、问题描述:1、在部分的象棋棋盘(都是方格,大小可从键盘输入)中,假设卒只能向下或者向右移动,且卒在原点A(0,0)位置2、棋盘中有马(初始位置由键盘输入),马可向任意方向移动一步,包括其初始位置都是卒的禁区3、约定B点不同于A点,且不同于马的初始位置;4、求卒移动到棋盘最大的终点位置B(m,n)的所有路径数;如图所示:假设马在其中标注的中心黑点处,则其所有标注的黑点都为

2013-05-15 23:35:24 2731 1

原创 卒的移动问题(JAVA)

一、问题描述:1、在部分的象棋棋盘(都是方格,大小可从键盘输入)中,假设卒只能向下或者向右移动,且卒在原点A(0,0)位置,求卒移动到棋盘最大的终点位置B(m,n)的所有路径数;2、约定B点不同于A点;二、思路:1、通过排列组合方法解题;2、通过面向对象构造模型解;我选择使用Java语言实现第二种。1、第一次直接使用迭代实现,发现效率极其低下,在棋盘较大

2013-05-14 00:21:34 1711

原创 实现二叉树(包括前序、中序、后序遍历算法)

以前没有记笔记的习惯,结果发现曾经实现过的东西居然都忘了,现在又需要花时间去看,去写,虽然又有所收获,但是毕竟在走重复的路。从今天起,开始打路标,为了以后少走回头路:)还请高手多指点,不胜感激!用Java语言实现二叉树:1、首先定义一个二叉树节点类:实现1)向某个节点下面添加节点方法;2)从某个节点前序遍历所有树节点;3)从某个节点中序遍历所有树节点;4

2012-05-21 00:45:54 1911 2

原创 我的2020书单

我的2020年书单编号书名作者完成度完成次数完成时间1大型网站技术架构:核心原理与案例分析李智慧100%22020/01/252020/03/012Effective JavaJoshua Bloch100%12020/03/053从零开始学架构,照着做,你也能成为架构师李运华80%0-4分布式服务架构原理与实践李林...

2020-03-06 16:46:04 291

原创 Springboot+Shiro优雅实战•加解密_2

springboot + shiro + AES256 + RSA1024

2020-01-17 17:41:56 100

原创 Vue.js实战——Vue+ElementUI bug定位及按需引用压缩优化_19

一、问题使用ElementUI后,相关图标出不来;在项目中部分页面的css中使用了backgroud-image:url(xxx/xxx.jpg),在生产环境中不显示;ElementUI体积过大,导致Webpack打包后的js有1M多;二、目标找出原因,解决该bug;找到替代方案,方便兼容几种类型的图片加载;ElementUI改成按需加载;三、方案在DEV模式下,访问项...

2019-11-15 08:50:20 131

原创 Excel函数解决棘手数据对比问题

一、问题在分析数据的过程中,需要把自测的数据和官方的数据对标。验证发现,有的时间只有官方有数据,有的时间只有我们自测的数据,相当尴尬;官方数据:自验数据:二、思路以前使用过excel处理过表格,对excel函数略有了解;使用vlookup函数可以把两个表格的数据汇总到一起比较;三、步骤编写VLOOKUP函数:=VLOOKUP(A2,Sheet2!A2,Sheet2!A...

2019-10-31 18:20:19 90

原创 Windows下Kafka集群环境搭建及代码验证

导读一、背景二、分析三、步骤四、验证五、总结六、参考一、背景kafka应用场景很多,比如:日志收集、消息系统、大数据流式处理等;项目中刚好需要消息中间件、Spark流式处理,所以非常有必要深入了解下kafka原理与运行机制;二、分析先搞清楚Kafka的部署结构(物理结构):kafka由Kafka中间件(独立安装部署)、生产者、消费者三部分组成;Kafka中间件支持集群安装部署,生...

2019-10-30 15:01:36 327

原创 KeyTool证书生成与OpenSSL转换

导读一、证书生成方式二、证书工具安装及使用1. KeyTool安装2. OpenSSL安装三、证书生成过程四、总结一、证书生成方式使用Java JDK自带的KeyTool工具;使用OpenSSL生成;二、证书工具安装及使用1. KeyTool安装JDK自带的KeyTool是随着JDK安装的。只要配置好JDK环境变量,KeyTool就可正常使用;2. OpenSSL安装鉴于...

2019-10-30 08:29:20 143

原创 Windows 10下搭建Hadoop 3.x环境

目录一、背景二、计划三、步骤四、总结五、参考一、背景后续业务可能涉及大数据,虽说Hadoop权威指南书看了大半,但是后续比较多的代码示例,如果不自己亲手搭下环境,就没法去深入理解这些原理和经验,直白点就是看不懂咯;之前其实有搭过CDH环境,但是觉得这样对Hadoop了解不够深入,所以刚好借此机会先把Hadoop的原理和机制搞清楚。二、计划之前的CDH集群是在个人MacPro中虚拟出...

2019-10-24 10:21:44 413

原创 获取今天0时0分0秒时间戳的方法

一、背景项目中经常会涉及时间的处理及持久化,而时间是有时区和夏令时的;而Web项目中,客户端(浏览器操作系统)有1套时区和夏令时,服务端(操作系统)也有,数据库还有,java也有。他们记录的时间显示出来,与用户想看到的不一定匹配;基于上述2点考虑,时间必须统一到一个地方处理:就在Java后端处理,其它地方全部使用UTC跟后台交互;展示时,再转成对应时区的时间处理。二、问题解决上...

2019-09-30 10:44:42 2279 1

原创 Controller与Filter如何交替使用

Java Web中Url请求(Springmvc/Springboot中一般使用Controller)会被Filter拦截,如果要做Url跳转该怎么办?如果要部分情况下Url跳转,部分情况下响应值该怎么办?如果全部响应值,又需要Url跳转又该怎么办?本文就是讲述如何做上述几种业务场景下的处理过程

2019-09-28 16:11:43 427

原创 Java Web国际化及乱码解决方案

一、背景项目过程中,难免需要提示中文或者英文提示信息,有了国际化,方便切换;实际项目中,一般都不允许直接把中文提示信息写在代码中,避免其他国家程序猿看不懂(国际化公司和开源项目涉及),也容易招来其他国家的恶意攻击。比如菊花公司把中文写在代码中就算成非常严重的违规。二、目标在项目中引入简单易用的国际化框架,方便同事使用。三、步骤Java SDK自带国际化API:java.uti...

2019-09-27 11:20:23 540

原创 解决Springboot打包时,带入java源文件的问题

解决Springboot打包时,带入java源文件的问题一、问题二、定位问题三、解决方案四、收获总结五、参考资料一、问题无意反编译基于springboot打出的jar包时,发现jar包中包含了java源文件代码。二、定位问题分析了下执行打包的命令是mvn clean install,这中间实际执行的maven插件较多,如下图所示。进一步定界,发现是classes目录下有java源码所...

2019-09-20 09:52:55 291

原创 Vue.js实战——封装Android H5 App的录音组件_15

一、目标 1、把使用原生H5的audio录音功能组件移植到Android平台中; 2、尽量少改动代码。二、思路 录音之所以放在移植的最后一个章节讲,主要是因为需要修改原生H5 录音的JS,并在JS中调用Android,Android处理完成后,还要调用js,过程比较复杂。三、步骤 1、在Android中先实现录音功能,VoiceMgr.java代码如下...

2019-04-25 23:58:32 1019

原创 Vue.js实战——封装长按能量条&火箭发射动画组件_17

一、目标 按照项目需求,需要完成如下几部分的功能: 1、长按屏幕时,显示能量条动画(类似环形进度条); 2、当能量条充满时,发射小火箭;二、实现效果三、步骤 按照需求分析,上述目标可以拆解成3个功能: 1)用Vue实现屏幕长按事件; 2)实现能量条动画; 3)实现火箭发射动画; 1、先说下捕捉屏幕长按事件,...

2019-04-18 18:09:35 300

原创 Vue.js实战——H5拍照迁移至Android App_14

一、目标 1、解决从纯H5开发且带拍照功能的App迁移至Android平台时,保证拍照和裁剪功能正常; 2、解析实现过程中碰到的各种问题;二、实现效果 为了达成上述目标,先大体介绍下思路: 1)Android平台下支持h5的input拍照标签,但是需要在Android侧对拍照过程做一些特殊处理才能正常获取到此拍照图片; 2)Android平...

2019-04-14 22:05:57 273

原创 Vue.js实战——单独封装echarts时间轴高级篇_16

一、目标 1、需求:项目中会用到纵向时间轴,且有大量数据,支持自动播放和翻页; 2、基于该目标去分析,发现时间轴组件确实不少,但综合考虑稳定性、可扩展性、文档API以及是否开源(涉及版权问题),最后选定综合评价较高的echarts 时间轴组件。二、实现效果三、步骤 1、在刚开始使用echarts时间轴做demo时,错误的选择了2.x稳定版本的时间轴组件,结...

2019-04-08 20:03:31 1239 1

原创 Vue.js实战——开发Android H5 App之Webview高级配置_13

一、目的 1、在H5 Android App开发过程中,尤其是移植来自IOS/微信/纯Web浏览器等平台的H5时,需要解决一些平台特有的特性,比如弹窗、获取经纬度、拍照、录音等API,就不尽相同,现在就想通过纯Web原生实现的方式,通过改变中间的JS或者Android代码,从而保证原生Web页面不用做任何更改; 2、此文采用循序渐进的方式,先讲解下如何实现弹窗和经纬度(下述所有...

2019-03-31 10:36:59 1500 4

原创 Vue.js实战——开发Android Hybird App之Webview基础配置_12

一、目的 1、为了让基于前端框架vue.js的html5代码跨平台运行(此处仅分析Android),就需要搞清楚平台加载html5的机制; 2、Android平台各系统版本对应的SDK各不相同,需要在代码层面做好版本兼容适配。二、步骤 1、先分析下Android平台加载html5的机制。Android平台内置浏览器内核WebKit/Blink,Android在此内...

2019-03-24 01:03:40 156

原创 Vue.js实战——开发Android Hybird App之权限设置_11

一、目标 在Html5代码已经移植至Android工程后,完成Android App开发的基本框架之权限设置部分的代码设计与开发;二、步骤 1、在AndroidManifest.xml中定义需要使用到的权限,如本项目中使用的权限如下: <uses-permission android:name="android.permission.INTERNET" /...

2019-03-13 22:46:15 267

原创 Vue.js实战——移植Html5 App为Android App_10

一、目标 1、把前面开发的Html5原生获取经纬度、拍照、录音的demo移植至Android平台中,达到Html5可以横跨Web/Android/IOS平台的目标; 2、在Android系统中,把不支持原生Html5的特性,或者使用原生Android效果更佳的特性,使用原生Android代码来替代html5代码,做到更好的适配效果;二、步骤 1、把之前开发的geo...

2019-03-12 21:50:12 2131

原创 Vue.js实战——ToggleSwitch组件介绍_8

一、背景    1、项目中有个业务诉求:把多个可选项的开关控制放在一个页面中管理,方便用户自由组合选择。Android和IOS中有ToggleSwitch组件,而我们的项目是基于Html5的;    2、查询开源组件的过程中,发现有vonic和vuejs-toggle-switch2个组件基本满足要求,但是前者太大(组件库),后者只支持单个,且二者无法自由定义组件大小、颜色,所以想着自己开...

2019-02-27 13:10:11 515

原创 Vue.js实战——微信拍照时页面会被刷新的BUG定位_9

一、目标 1、这几个月辛辛苦苦做出来,基于Vue.js和html5的项目里面,一直存在一个明显的BUG:在微信公众号拍照后,会出现概率重定向到当前页面(当前页面被刷新,或者叫做重新加载)。这两天的目标就是定位并解决这个bug,提高用户体验。 2、基于之前的承诺,把精简后确实可用的微信公众号的源码放至GIT库(weixin_8),方便大家理解(涉及版权的LOGO和内部URL被屏蔽...

2019-02-26 22:26:20 1402

原创 Vue.js实战——开源ToggleSwitch组件_7

一、目标    1、把以前vue.js项目中用到的功能抽象成独立的vue组件;     2、在github上开源出来,并搞清楚npm发布组件的流程,发布第一款js组件;     注意:如果你还不清楚vue和npm,需要先看下Vue.js实战——框架搭建_2。二、步骤    1、搞清楚github.com开源和npmjs开源的差异。经过一番探索,发现二者的异同点如下:    ...

2019-02-19 22:32:39 227

原创 Vue.js实战——封装浏览器录音组件_6

一、目标    1、使用vue.js作为前端javascript框架,结合html5+ES6语法,在移动端Chrome浏览器中,完成兼容Android和iOS的录音功能;    2、基于一般项目的诉求,封装成可复用的录音组件;二、步骤    1、基于上篇博文(Vue.js实战——封装浏览器拍照组件_5)搭建的项目框架(geo_location6),复制粘贴生成geo_locatio...

2019-02-15 13:14:07 2442 12

原创 Vue.js实战——获取浏览器经纬度的各种坑_4

1、目标使用Vue.js框架,实现从浏览器获取经纬度坐标,并在页面显示。注意:个人的地理位置信息为个人的隐私数据,请勿随意传播或者扩散,避免不必要的麻烦。2、步骤1)根据上期搭建好的框架(见Vue.js实战——精简webpack配置_3),复制粘贴为新工程geolocation_3;2)按照上期规划好的工程结构,需要新增4个文件geolocation.html/geolocati...

2019-01-18 17:41:04 3672

原创 Vue.js实战——框架搭建_2

1、参考网友的经验安装Node.js:https://blog.csdn.net/zhaibingbinglove/article/details/79311673安装好:node(如果部分组件下载timeout时,才需要考虑使用cnpm,建议一开始跳过这步)。本人因几个月前已经做完这些操作,无法一一验证。各位也可以自行通过其他经验进行安装验证。安装完成后的结果如下:2、安装vue-cli...

2019-01-01 16:59:33 847

原创 Vue.js实战——序言_1

    时间一晃,搞前端搞了好几个月了,终于迎来了崭新的2019年。新年伊始,公司项目终于有了个雏形。本着反哺精神,本人在此立下Flag:把这段时间的前端经验汇总成一系列实战的小文章,供感兴趣的程序猿朋友参考,也算是给自己一个交代。欢迎批评指正。    思路如下:1、使用Vue.js框架和ES5语法(为主)全面单点实现浏览器原生的地理位置(经纬度)坐标、录音、拍照、DBIndexed等常用...

2019-01-01 15:33:21 86

原创 Javascript实践——函数_0

前言在java世界里游览一番后,实际项目中,因进度紧张,需要支撑同事做一段时间的前端开发,所用JavaScript框架为Vue.js。说实话,在做Java后台开发过程中,发现还有很多地方需要用到javascript的。比如android中的cordova和web服务端的nods.js等。作为1个10年+面向对象编程经验的老程序猿,决心花点精力研究下js技术,做一名更加称职的全栈攻城狮。准备...

2018-07-20 00:01:27 140

原创 Gradle使用初体验

gradle编译cas经验总结

2017-04-21 00:45:32 355

空空如也

多个表的主键共用@GeneratedValue生成关联表的问题

发表于 2012-08-06 最后回复 2012-08-12

【求助】人力外包公司要进吗?

发表于 2011-08-31 最后回复 2011-09-02

纠结呀!要不要去人力外包公司搞android开发?

发表于 2011-08-31 最后回复 2011-09-01

如何把servlet中的文本框内容传递到地址栏中的参数里?

发表于 2010-04-30 最后回复 2010-04-30

用java语言写的产生随机数的问题,请高手解答!

发表于 2008-11-13 最后回复 2008-11-29

有一个简单的java GUI程序,编译没有错误,但是没有输出结果!

发表于 2008-04-25 最后回复 2008-04-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除