互联网后端开发工程师,技术经理,项目经理,架构师
jqgrid 不支持单选,自己自带了多选multiselect 那么单选怎么做呢,可以参考如下配置 multiselect: true, multiboxonly:true, gridComplete: hideSelectAll, beforeSelectRow: beforeSelec...
由于一些项目上的原因以及相关因素,我们使用其他富文本编辑器替代了UMEditor 本来用CKEditor,但是团队觉得使用起来很不顺手,尤其图片上传十分不爽,功能复杂但是使用起来比较麻烦 后来我们又替换了summernote,这款编辑器名气没有ck大,但是简介直观,而且风格和项目很匹配,最终决定使用这款 这是github地址,先下载 https://github.
最近很多人都在谈论幂等性,好吧,这回我也来聊聊这个话题,光看着俩字,一开始的确有点一头雾水,语文不好嘛,词太专业嘛,对吧 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能再服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其再支付场景。
之前有说了一种以base64的图片上传形式,这次来说说另外一种,其实很简单,很早以前都是在form提交的时候再controller中处理,现在基本不会这么做,都是通过ajax来实现异步上传的 首先需要引入jquery.
很早以前的单应用项目上传图片都是很简单的,上传图片后在controller层设置路径并且保存到服务器的某个路径下就行了,数据库中存储路径地址,最后在tomcat中设置一个虚拟路径就行了,很多年以前大多都是这么做的。
今天碰到这么一个问题,在使用sweetalert的时候时有时无会报错 elem.className.replace Uncaught TypeError: Cannot read property 'className' of null 很简单,debug源码,发现elem在有时候会为空,为空的...
996 - 9点上班,21点下班,周六必须上班。 这就是IT界的潜规则,之前晚上陪家人看新闻的时候我就看到一则新闻轻描淡写的说了996制度,我当时就想说点甚么,但是没有,然而就仿佛突然的一下爆发了,我身边的996全部出来了,让人匪夷所思。
单点登录以及权限,在很早之前都有写过,不过都比较简单,今天就具体说一下,以及下一步要做的 1、web单系统应用 早期我们开发web应用都是所有的包放在一起打成一个war包放入tomcat容器来运行的,所有的功能,所有的业务,后台管理,门户界面,都是由这一个war来支持的,这样的单应用,也称之为巨石应用,因为十分不好扩展和拆分。
cookie,很多网站都会用的一个机制,可以保存用户的相关信息,token等等,很多人熟知的应该是第一方cookie,可以针对二级域名进行信息的保存,如果遇到跨域的情况,那么第一方cookie是没有用的,因为他做不到跨域。
说道线程,肯定会想到使用 java.lang.Thread.java这个类 那么创建线程也主要有2种方式 第一种方式: public class MyThread extends Thread { public void run() { System.
最近一直在搞邮件这块,本来我们邮件发送是用的腾讯免费的企业邮箱,邮件功能没有问题,但是由于邮件的限制,如下: 这些限制导致我们的部分客户是收不到邮件的,哪怕付费,这样的固定频率限制也是无法解决的,可以说我们国内的邮件厂商都是这样,而国外的却要收费。
1、HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没有流传开来 2、OAuth(OAuth2) 这个就是开放平台的概念,就像你登录第三方网站或者app的时候可以使用qq或者微信登录,那么登录后第三方可以获取你的个人信息,这就是开放授权的概念,理念是通过token来实现。
以前很早的时候大家都用javamail实现发送邮件的功能,而且我们也一直沿用至今,代码拷过来用用就行了,现在我们改为用spring来实现,这样一来减少代码的复杂度,也能更好的契合spring理念 首先spring的相关jar包都是要引入的,其次要引入mail.
我们为何使用多线程,之前已经有讲过了,为了更快的处理多个任务,分割任务,或者调用多个毫无关联的第三方服务 其实spring就提供了ThreadPoolTaskExecutor这个类来实现线程池,线程池是啥,可以理解为数据源,或者有一堆线程的池子也行 在spring配置中我们可以写好如下代码(大致意思...
我记得我接触电脑的时候是在小学三年级的时候,那是1995年,那年发布了windows95,但是我学习的时候还是只是dos系统,简单对于文件的一些命令操作还有五笔 在过去的那个年代,电脑都是单CPU,也就是单任务处理;多任务处理到后来才慢慢发展起来,多任务代表电脑在同一时刻内可以处理很多并行操作,这样CPU被利用率高了,多个任务都可以共享。
本期槽点嘉宾:苹果系统 ios10 小吐我记得iphone是在2008年出的,当时我还在用诺基亚N70,对iphone是十分的陌生,想必大家也是,直到iphone4的时候,黄牛成群,饥饿营销,包括出iphone4S的时候也是,然而在众多诱惑之下,去抢了一台4s,当时的系统版本为ios5,升级到6也能很好的用,但在ios7的时候互联网出现了扁平化设计,很多人不习惯,包括我,所以一直都没有升级到ios7,直到当做二手机出了也没有升。
BJG吐槽汇:一直以来我都觉得其实生活中工作中会有各种各样奇葩的事或者奇葩的人可以去吐槽,那么BeJavaGod本身聊得就是关于JavaWeb技术,互联网技术,互联网产品等,那么今天起咱们开了这么一档《吐槽汇》,并且会不定时更新,一起来吐槽那些带有槽点的互联网产品啦,某项技术啦,某个产品功能啦等等…如引起不适,欢迎留言,欢迎吐槽… 本期槽点嘉宾:亚马逊Prime。
优化软件以及杀毒软件想必大家都是用过的,小编自用的第一台电脑自带安装的是金山毒霸,随着时间的偏移渐渐用过小红伞,卡巴斯基,优化大师,鲁大师到后来的360优化杀毒套装,优化软件给大家带来了方便,尤其是上上网看看视频玩玩游戏的还好,但是对于开发者我们是不是要好好选择一下呢? 小编我曾经问过很多开发者选择用金山还是360,几乎所有人都说用360,没几个说用金山的,难道金山有那么不堪吗?虽说我用的第一个毒霸就是金山的(当然当年还有瑞星这玩意。
现在很多公司做app应用都会用到推送,推送这个不多说了,怎么做网上一堆,用的比较多的还数极光推送(Jpush)以及百度推送,目前我们使用Jpush,文档方面质量是差了点。。这个先不吐槽,主要现在的app应用很多公司不是做单个,而是多个,比如打车软件有司机端和用户端,运输类应用会有司机端、车主端、货主...
import java.util.List; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.
其实不久前苹果就发了通告,要求ios上的应用全部以HTTPS来进行接口调用以及数据访问,这样做是为了数据安全,一方面为了自己,另一方面也是对应用的要求更加严格,这么做很好,也加强了市场app的规范,虽然android没有这么提,但是苹果的这个做法肯定会引来移动互联网不小的波动 什么是HTTP,这个不...
做我们IT这行,每到年底就十分的忙,当然了,忙归忙,有时候企业还是要招人的,毕竟在年底公司的人员流动性还是有的,进进出出,出了就要招人;进了就要好好栽培~ 最近有个朋友留言道:“作为面试官您更注重求职人员的技术水平,还是为人处世?”,今天咱们就来聊聊这个话题,把我曾经面试过的一些经验一些人一些事来跟...
要知道,app调用支付后,微信会发送一个异步通知给后台,同时后台需要调用查询微信后台这笔订单的支付结果以及金额,这是一个并行操作,需要注意的是微信后台收到的金额和订单金额需要进行比对,为了防止钓鱼,所以这个查询是有必要的,必须匹配:收到的到账金额 >= 订单金额(我有一哥们他们的app是没有这步操作的,支付了不论是否成功订单直接往下走,这样是不对滴.
要知道,如今很多平台的接口都是可以同时被门户网站,手机端,移动浏览器访问,因为接口是通用的,而为了安全起见,有些接口都会设置一个门槛,那就是限制访问次数,也就是在某一时间段内不能过多的访问,比如登录次数限制,在一些金融理财或者银行的接口上比较常见,另外一些与用户信息有关的接口都会有一个限制门槛 那么...
import org.apache.shiro.cache.Cache; import org.apache.shiro.cache.CacheManager; import org.apache.shiro.
前一篇文章的时序图中说了,app端调用微信支付必须先由后台调用微信后台生成预付单,再构建参数给手机端,而数据的构建要以xml形式,那么看看代码具体实现吧,代码已经精简过了,自己的业务已经除去,精简的代码附上注释是可以直接调用微信后台的 这个是微信所要接受的参数,咱们可以把它构建成一个entity ...
主要还是整合了本地ehcache,集群session管理过段时间放出 Shiro安全配置 ...
想必微信支付是现在很多朋友离不开的一个功能,不论是扫描支付还是公众号支付或者app端支付,基本的思路都是一样的,之前做过支付宝支付以及中国移动支付接口,这几天花时间讲讲微信支付吧 先看一下微信支付的时序图,这图是官方提供的 看上去步骤很多,其实仔细划分后就是4个步骤: 生成预付单,用户点击支付后...
之前有写过数据字典的相关业务是怎么做的,有朋友留言问如何读取,其实很简单,最简单的方式就是每次读取数据库,但是这样的做法很不好,因为数据字典在数据库中属于冷资源,不是经常会变得数据,这样的数据用缓存来做是最好的,在访问数据库前就直接拦截了去数据库的请求,这样减少数据库的压力,毕竟很多页面对于数据字典...
SweetAlert2是一款功能强大的纯Js模态消息对话框插件。SweetAlert2用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,并提供5种内置的情景类,功能非常强大。
之前有讲到过数据字典,什么是数据字典,用来干啥的,这个不细说了,今天来说说如何实现数据字典功能 无非就是维护数据字典,对数据字典对象进行增删改成,曾经我写过一个页面跳转形式的,十分简单,不说了,今天用JS来实现,当然JS也要面向对象,不论是属性还是函数,都要当成对象来对待! 先来看看数据库表结构,根...
富文本编辑器,不多说了,这个大家应该都用到过,至于用到的什么版本,那就分很多种 CKEditor:很早以前叫FCK,那个时候也用过,现在改名了,比较流行的一个插件,国外很多公司在用 UEDITOR:百度开发的插件,lite版是UM EasyUI编辑器:用easyUI的都懂,基本上肯定用到 其他的富文...
看到ztree.js,这几个字眼,毋庸置疑,那肯定就是tree树形结构了,曾经的swing年代有jtree,后来jquery年代有jstree和treeview,虽然我没写过,但是我见过,一些小功能做起来比较繁琐,几个功能做了一个月,当然了有能力的关系,也有插件易用度的关系 最近要实现的功能用tre...
shiro自带了quartz定时任务,不过版本是1.3的 很多项目都会使用shiro,另外定时任务也会使用,quartz的版本2.2目前和shiro不兼容 有人通过修改源码可以解决 我这边是这样解决的: 本身项目就是分布式的,quartz独立出来作为一个单独的工程,每日跑批,这样jar包就不会冲突了...
JavaScript,是前端开发人员必须会的一门技术,从JS演变出来的有很多框架,先说说几个热门的框架吧: JQuery:这个技术必须会,如果不会,那一定要会查api,知道怎么写,要看得懂英文文档,这个框架十分流行,不论是刚入坑的开发者还是老油条,其实也都是是需要会的 BackBone:这个技术...
先说说什么是数据字典,这个玩意一般不太会解释,举个栗子吧~ 每个系统都会有用户表,性别:男(1)女(0) 另外我们做物流的会涉及到车型:卡车(1),轿车(2),挂车(3) 货物类型:危险品(1),普通货物(2),液态物品(3) 这些就是属于数据字典,在平时的表设计中,我们会把他们分别作为一张表来存储...
近期都游荡在各大群里看大家的讨论,经常看到关于程序员生涯的一些讨论,颇有感触,最近的国庆的确过得有些堕落,都没怎么更新,仔细相信还是应该分享点经验给大家的!想必大家都经历过面试,这是进入一家公司的必要门槛,面试官总会问“你的职业规划是什么”,那么你怎么回答? 技术经理,项目经理,架构师,有时候这些回到不是你想到的,而是你身边的人说多了,就脱口而出。
Shiro想必大家都知道了,之前的文章我也有提过,是目前使用率要比spring security都要多的一个权限框架,本身spring自己都在用shiro,之前的文章有兴趣可以去扒一下 最近正好用到shiro,简单聊聊几个小tips吧 /images/**...
之前我有提过文档的事,标题是《文档!文档!文档!重要的事情说三遍!》,其中提到的文档工具是使用wiki来管理文档,当然也能配合jira来分发任务,以及管理bug,查看每个任务的工作流状态等等 今天来讲讲另外一个文档工具,swagger+spring,这个插件比较好用,非常适合那种敏捷开发的小...
项目内测中,马上就要发布了,如今内测,所以很忙,今天运维那发来一堆状态,忘记截图了,简单来讲就是HTTP发送请求的时候有连接等待关闭,导致CLOSE_WAIT这个状态一直累加,没有释放,这样长时间下去肯定会有问题。
说道存储过程,很多人都知道,但是真正用的人其实很少,但是在某些必要的场景,是必须使用的,虽然可以使用java代码解决,但是效率性能远不及存储过程 曾经在sqlserver 以及pgadmin上用过,mysql还真没使用过,今天遇到这样的场景那就使用一次吧 场景:订单自动失效,定时任务跑批的时候会...
今天运维那边过来说阿里云服务器进程被占用很多,后来查了一下进程发现了这个玩意: 小编我看不懂,经运维先森仔细研究,发现这是被注入进来的一个进程,服务器被当成了肉鸡,专门用来跑比特币的,这样对方就不需要有很多服务器,从而节省了成本,也是醉了 那问题是什么呢,那就是redis的问题,redis可以不使用密码来登录,就可以直接操作,那么只要添加密码就行了 redis做好密码配置,经过客户端的调试可行: Auth,意为权限,就是密码的意思,输入密码就可以登录。
今天偶然遇到一个错误,就是保存文本的时候带有了emoji表情,报错了 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A\xF0\x9F.
先来说说场景,JSON,这货大家应该都懂,不懂的请自动面壁思过,那么什么是JSONP,不是JSON放了个P就叫JSONP,而是JSON with Padding,在进行跨域请求的时候需要的数据,什么是跨域,打个比方:在user.weixin.com下的某个页面下,用户服务需要调用订单服务,请求order.weixin.com,那么在这两个二级域名下,请求是互斥的,如果请求就会报错。
今天来说说图片压缩技术,为什么要使用图片压缩,图片上传不就完事了吗?对的,这在几年前可以这么说,因为几年前还没有现在这么大的并发,也没有现在这么关注性能。 如今手机很多,很多人都是通过手机访问网络或者app,再调用接口的时候肯定会多多少少的浏览图片,尤其是脱离wifi的情况下,可以看到很多软件展示都会展示小图,这个小图就是压缩的图片,点击后才会放大,如下: 这样的做法可以尽量减少手机端的图片展示压力,因为一个图片对于上传者来说可能是几百K,也有可能是几兆,这样对于手机端无遗展现的压力会比较大,同时也会耗费很多流量,所以在如今手机互联网当道的情况下一定要做好这样的图片压缩处理。
菊长:火星特工们!今天是周五了,大家有什么提议? BeJavaGod:报告菊长!我发现,在StackOverflow上拯救歪果仁十分有意思! 噗哈哈,时不时遇到问题会使用到StackOverflow,上面汇聚了各路大神的各种精妙解答,不论是java,ios,android,js,.
“不要让任何事情成为你不去学习的理由” - 李华明 2012年的时候初识Himi,那个时候他还在搞安卓,很厉害,从最基本的java到安卓,再到ios,没见到过这么牛的人了,而标题这句话就是他的至理名言,说的很对,尤其对于我们程序员而言,学无止境,逆境中才会成长,太安逸了你就死了。
先说一下场景 测试环境是linux - centos6.5,项目是分布式的,分别搭建到linux上 数据货使用的是阿里巴巴数据源 每次重启后的第一次访问会比较慢,查看日志发现 卡在这个地方 ..
目前常用的数据源主要有c3p0、dbcp、proxool、druid,先来说说他们Spring 推荐使用dbcp;Hibernate 推荐使用c3p0和proxool1、 DBCP:apacheDBCP(DataBase connection pool)数据库连接池。
其实后台开发已经接近尾声,目前后台团队作为辅助参与到app的接口调试中 当然接口调试会发生很多莫名的情况,需要辅助解决 简述一下遇到的问题: 1、手机号验证规则,老的手机验证正则表达式是不支持新号的,现在运营商开放了很多新号,导致规则失效,比如新增的 147 开头的手机号就验证不了,还好有同事新换手机号。