avatar
文章
200
标签
94
分类
0
首页
书单
歌单
关于
LeFer
首页
书单
歌单
关于

LeFer

乔布斯:遗失的访谈(1995)
发表于2017-08-03
这是乔布斯在1995年接受的一次采访的视频。无意中看到深受触动。收藏,分享。
将Spring Boot Application设为服务
发表于2017-08-03
通过Spring Boot构建的项目,可以在pom中设置,使用maven生成jar包,而非传统的war包。相较war包,jar包简化了实施的难度,但在windows下,需要想办法将jar设置成开机启动,否则重启就是个悲剧了。将ja包装为一个windows 服务是一个很好的办法。下面具体说说怎么做。 如何构建可运行Jar<packaging>jar</packaging> <!--这里是jar--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version></parent> <dependencies> ....</dependencies> <build> <p...
内网环境中的BS系统前端埋点
发表于2017-08-03
行业软件的运行环境通常有三个特点:没有外网、浏览器版本低、业务优先。我们要做前端埋点,就必须考虑这三点。 监控谁行软的前端埋点,主要是为了分析用户的使用路径,用以改善冲浪率;分析用户在页面的驻留时间,用以改善信息传递的准确性;识别出哪些功能是主要关注功能。基于此点,我们设置监控的对象应为: 页面的button元素 页面的a元素 浏览器的页面后退 浏览器的页面关闭 记录操作时间、操作人、操作元素的相关信息、url轨迹 怎么监控使用js对button和a绑定onclick事件,并捕获page的onbeforeunload事件,结合url轨迹来判断是返回还是关闭 怎么记录对于频繁操作,不应每次触发都往后端post数据,最好使用localStorage;先将埋点捕获的日志写入localStorage中,然后择机提交,比如页面关闭时、用户退出时、或者每5分钟,提交后清空对应的key值。 附录 localStorage的兼容性 九种缓存机制对比
Tess4J文字识别过程记录-未完成...
发表于2017-08-02
考虑到产品未来可能需要对图片中的文字进行识别分析,所以抽空我做了一点初步的尝试。暂且写下来做个记录吧。 选型经过一番寻找,锁定了tesseract。tesseract是一个开源的OCR引擎,支持中文识别。Tess4J提供了tesseract面向java的api封装。 安装 使用tess4j必须先安装tesseract,我的系统环境是centos,可以很方便的使用yum安装。为了识别中文还需要安装中文datafile。 sudo yum install tesseract sudo yum install tesseract-langpack-chi_sim.noarch //简体中文支持 其他操作系统,需要参考tesseract的说明安装。 然后在java项目中,通过maven引入tess4j。目前3.x版本里最新的是3.4 <dependency> <groupId>com.sun.media</groupId> <artifactId>jai_imageio</artifactId> ...
解决 Spring Cloud Zuul 前端跨域请求问题
发表于2017-08-02
正在做的一个微服务架构的项目中,不出意料的在前端请求时遇到了跨域的问题 stats code: 401。以下就是我们采取的解决方案。 在zuul的入口类,即注解为@EnableZuulProxy的类中,增加以下代码: @Beanpublic CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); final CorsConfiguration config = new CorsConfiguration(); //允许跨域 config.setAllowCredentials(true); //允许向该服务器提交请求的URI,*表示全部 config.addAllowedOrigin("*"); //允许访问的头信息,*表示全部 config.addAllowedHeader("*"); //允许的meth...
ajax-post参数传递方式
发表于2017-08-02
今天在写一个测试的ajax请求的时候,突然忘记了怎么用request body 传参。借这个机会,总结一下。当从前端通过ajax向后台发起一个post请求时,一共有三种方式传递参数。 通过url传递参数 ajax:通常采用形如以下的js代码。这样实质上是拼成了这样一个url : http://lefer.cn/getUserInfo?username=lefer $.post({ url: "http://lefer.cn/getUserInfo", data: { username:"lefer", }, success: function( result ) { alert(result); }}), java:通常在controller中采用形如以下的代码来接受参数。 @RequestMapping("/getUserInfo")public void getUserInfo(@RequestParam String ...
设计模式演绎-工厂方法模式
发表于2017-08-02
定义 Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory method lets a class defer instantiation to subclasses. 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其他类。 通用类图 Product 是抽象产品类,ConcreteProduct是对Product类的具体实现 Creator 是抽象创建类,也就是抽象工厂,ConcreteCreator是实现工厂,如何创建产品类就是在ConcreteCreator类中实现。 通用代码/* 抽象产品类 */public abstract class Product { // 产品类的公共方法 public void method1(){ //实现业务逻辑 } //抽象方法: 在实现类中必须实现 public abstract void ...
赛门铁克CA不被信任后,我们用什么
发表于2017-08-01
今天(2017/8/1),cnbeta上报道Chrome计划在2018年取消对赛门铁克CA的信任。我的网站之前的ca证书是从阿里云和腾讯云申请的免费证书,都是从赛门铁克签发的。神仙打架,凡人遭殃。有了这档子事,我就开始着手更换一个可靠的证书。经过再三筛选,最终决定使用Let’s encrypt提供的证书(免费)。原因是这家机构是大学背景,而且谷歌参与出资。下面是具体的操作过程。 安装 ACME client按照官方推荐,采用Certbot作为ACME客户端。 访问Certbot网站,选择Http服务器和操作系统,会自动提示对应的Certbot客户端。我的服务器是Nginx+Centos 6,根据提示做以下操作 wget https://dl.eff.org/certbot-autochmod a+x certbot-auto 获取证书 第一次签发证书的命令很慢很慢,需要安装许多依赖包和python组件。如果长久没反应,杀掉重来。多试几次。 sudo ./certbot-auto --nginx certonly # 建议带上certonly参数,否则...
Spring Boot添加静态资源目录
发表于2017-07-31
Hexo的好处很多,坏处之一就是图片的处理了。虽然可以在_post下创建静态资源目录,但我是把这个目录当作笔记目录,多了一些文件夹强迫症真的受不了。而第三方图床服务,总不能放心。刚好我的服务器上同时还有个jar在跑,目的是提供我的api,那么就通过这个去实现我自己的图床吧。 实现方式这个api.jar采用的是Spring Boot架构,虽然可以通过字节流去定义一个RESTful API提供图片服务,但觉得是高射炮打蚊子。还是直接增加一个外部资源目录,通过访问静态资源的方式去提供图片。本地通过ftp上传图片在这个目录。后续有必要的话,还可以建一个Git仓库,通过hooks转发到这个目录里去。 具体步骤增加一个配置类,继承WebMvcConfigurerAdapter类,并重写addResourceHandlers方法。 package com.lefer.bed;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.ann...
Spring AOP实现零侵入日志记录
发表于2017-07-31
软件系统的日志输出是必不可少的,目前在做的RESTful系统中,需要考虑比较复杂的日志处理,但又不想让开发人员在写每个API的时候都去考虑日志的处理,干扰正常的开发,于是决定采用AOP实现零侵入的日志处理。以下是核心思路。 引入AOP依赖在项目的pom.xml中引入AOP依赖,对于Spring Boot来说应如下。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 编写Aspect类package com.lefer.demo4doc.aspect;import com.fasterxml.jackson.databind.ObjectMapper;import com.lefer.demo4doc.common.Result;import io.swagger.anno...
1…141516…20
avatar
LeFer
日拱一卒,功不唐捐
文章
200
标签
94
分类
0
公告
不见五陵豪杰墓,无花无酒锄作田!
最新文章
AI热潮中的冷思考2026-04-08
一篇文章说清楚AI原生架构(AI Native)2026-03-22
人机协同时代,如何防止AI引入“隐性”技术债2026-03-08
全球智能危机(第二部分:一场来自未来的金融史思想实验)2026-02-26
全球智能危机(第一部分:Agentic AI的兴起)2026-02-25
标签
aria2 websocket 网易云 软件工程 可信数据空间 spark web emby next spring modulith ibus spring cloud gcc jointjs nas webmvc windows 随记 nodejs mac DDD mysql token spring nextcloud shadowsocks AI 转载 机器学习 jib spring boot starter proxychains sonar 数据分析 pdf spring security xml lantern cdh 项目
网站信息
文章数目 :
200
运行时间 :
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By LeFer
沪ICP备2024075747号沪公网安备31011502401302号