`
文章列表
本文来自 fairjm@iteye 转截请注明出处 这90行代码写了大半年,本来年初就能写好的,结果懒癌发作一病不起,昨天突然惊醒,已经过了半年了,这半年来也没业余好好写代码,发的文章也是划水性质,不能再这么下去了.   初衷其实挺简单的,看自己发了1w+的微博,想着哪天不见了青春的记忆就荡然无存,实在太可惜了,保存到本地方便追溯.   目标是 http://weibo.com/xxxx/profile所有页码的内容.  
本文来自 fairjm@iteye 转截请注明出处   语法糖虽然没有为语言带来翻天覆地的变化,但是也减少了开发者的痛苦感.对于java这种更新进度缓慢,语法比较啰嗦的语言,多一点语法糖就可以减少大量的代码.lombok正是为此而生的项目.项目地址:https://projectlombok.org/ 因为官方文档简单并且详细,可以自行参阅.这里就聊聊常用的一些.   冗长的类型声明 想想scala里的val var,类型声明可以根据赋值推导出来,然而在java里只能老老实实写.想一想代码里的 StringBuilder sb = new StringBuilder();  为什 ...
本文来自iteye @fairjm 转截请注明出处   ---   偶尔会有一些业务需求是可以在线上代码运行的时候动态改变一些行为,一般的做法是使用个配置文件,存在数据库或者redis等存储中,程序动态获得之后解析根据配置进行相应的操作.在配置不复杂的情况下这样的做法能够满足需求.但如果配置很复杂,或者配置的规则很多,那么解析配置并运行就变成了一件很麻烦的事情.可能会引入一些解析器,或者`Criteria`这样的类.     如果这样,那是不是嵌入一段代码动态加载运行会不会简单点?   好在java本身就提供了这样的机制,也就是JSR-223     因为是开发使用的,所以 ...
本文来自 iteye@fairjm 转截请注明出处   之前写过一篇用SQLProvider进行数据库连接的,但实际使用的时候发现兼容性不是很好,在用mysql的时候很多表都找不到,要反复rebuild. 直接使用ADO.NET的话就显得麻烦.来看一下ADO.NET一个查询到例子 let cStr =@"Server=地址;Port=端口;Database=数据库名称;Uid=用户名;Pwd=密码;" use conn =newMySqlConnection

工作感悟

本文来自http://fair-jm.iteye.com/ 转截请注明出处 时间一不小心就过去那么久了,毕业后正式工作也一年多了,有些想法,有些感悟. 这一年来也没写过什么文章.一是接触的新东西少了,工作多是业务相关,没什么好写(之前写过一篇...). ...
本文来自http://fair-jm.iteye.com/ 转截请注明出处   前几天看spring实战(第四版)的spring-data-jpa部分 自己也动手实践了下 发现了一些问题 这边记录一下问题排除后的配置   首先是pom,这本书最不好的一点就是不告诉你要哪些依赖包。 我在动手实践的时候发现hibernate 5.2.1和spring4.2会出现flashMode方法找不到,查了下发现是hibernate在一个版本突然移除了这个方法,结果spring4.2以上跪了,我用的是spring4.3.2但是依赖的最新的spring-data-jpa依旧间接依赖4.2.6的spr ...
本文出自iteye http://fair-jm.iteye.com/ 转截请注明出处   app的API与网站使用的API较大的区别是其生命周期更长.API的修改需要做到向后兼容.   app的API设计要考虑到app的版本问题.API本身需要可以演化.       怎么拿到App的版本?     --   这不是一个技术问题而是一个设计问题,需要和app开发协商.   比如User-Agent字段,让app发送请求都带上一些标志.   后端建议做成一个工具类,可以从Request中抽取这些数据.   比如:      public AppInfo getAppIn ...
本文出自iteye http://fair-jm.iteye.com/ 转截请注明出处   需求比较特殊,需要将一个项目的ModelAndView的action全部转成API返回的形式,返回代表JSON的字符串.   如果手工去改,那工作量很大且非常无聊,最好的方式就是在切面进行操作.   最后考虑在Interceptor中实现,这个Interceptor放在第一个位置,preHandle默认返回true(不覆写),postHandle中能接触到ModelAndView以及Response就在这里操作,最后的代码如下: public class ModelAndViewToRespo ...
本文来自 fair-jm.iteye.com 转截请注明出处      play的官方文档(for scala) 第二章的笔记 有兴趣的可以看下 有错误欢迎指出     Handling asynchronous results Streaming HTTP responses Comet sockets WebSockets     1、Handling asynchronous results 来自 <https://www.playframework.com/documentation/2.3.x/ScalaAsync>   Play自下而上都是 ...
本文来自fair-jm.iteye.com 转截请注明出处在osforce上看的python课程 就记了下课程的笔记放在百度网盘上了 pan.baidu.com/s/1gd4DsJL密码:up6m   非常基础的笔记 有兴趣和需要的可以看看    
本文来自: fair-jm.iteye.com 转截请注明出处 QRGen的使用详见: http://www.importnew.com/15028.html   playframework的安装可以去play的官网: https://playframework.com/   通过activator建立一个play项目 activator new qr_example   使用eclipse插件生成eclipse项目 并导入   在项目根目录下的build.sbt中增加依赖   "net.glxn.qrgen" % "javase&q ...
本文来自: http://fair-jm.iteye.com/ 转截请注明出处   又做了一些笔记 因为长时间没做play的应用现在都已经生疏了  play官网的doc非常详细是非常好的学习教程 我想有了这个其他书都是浮云了 这是最近看的时候摘录的一些内容 翻译了一下 如果错误麻烦指正 第一章的内容还差两节 等有空 翻译之后会放上来    1、HTTP编程(HTTP programming)   1.1 Actions, Controllers and Results SimpleResult def index =Action{   SimpleResult(     ...
本文来自 http://fair-jm.iteye.com/ 转截请注明出处   因为新版的play要用activator 但使用activator比较蛋疼(国外的亚马逊s3在中国被ban 各种超时虐心) 不妨直接使用 sbt来生成 但lz建议先把activator的离线(300M那个下载下来) 然后放入对 ...
本文来自:fair-jm.iteye.com 转截请注明出处   看了些官网的文档 做点简单的总结 scala的类型系统比java要丰富点 但scala的运行时反射感觉比java的要难用   运行期反射的作用: 观察对象的类型 包括泛型 实例化一个对象   访问或者调用对象的成员   要使用运行期反射的相关工具的话 导入以下的包: import scala.reflect.runtime.universe._   TypeTags:由编辑器生成   只能通过隐式参数或者上下文绑定获取 可以有两种方式获取: scala> import scala.r ...
本文来自:fair-jm.iteye.com 转截请注明出处   defmodule Wordcount do @moduledoc "simple wordcount program by fairjm" @nodecount 3 def start(file) do s = self spawn(fn -> count(file,s) end) end defp count(file,caller) do s = self ...
Global site tag (gtag.js) - Google Analytics