Java串口通讯设计

之前从未与串口通讯打过交道的我,暑假实习第一个任务居然就是串口通讯,其实我对于这种底层玩意儿一点都不熟,于是乎只能在网上找第三方的开源库,最后使用的是jssc。 ...

August 22, 2015

为什么会烂尾

update:实际系统在12月初上线了,磕磕碰碰的运行了10来天,应该算是完成它的历史使命吧,就是不知道明年科技处还敢不敢用。 题目应该改成:为什么会做的这么烂? 现在距离真正开始写科研管理系统已经半年多了(其实快一年了)。经过最开始两个月的突飞猛进,到现在整个项目陷入停滞不前。我想了很多,感觉整个项目其实已经无法按时交付了,甚至都有可能无法完成(而且可能性较大)。这是第一个由我完整控制的项目,中间是有许多问题的,烂代码是最主要的问题,为什么会写烂代码? ...

August 8, 2015

Map,Json,String转换

为什么会有这么奇葩的需求 因为数据库外键到处飞,增删查改又特别多,给前台的数据又要在table上显示,又得填充form,一会儿是嵌套,一会儿是平铺,发来的数据就各种乱七八糟。 ...

May 14, 2015

Restful API接口的简陋版权限控制设计

不得不承认,这个标题异常绕口…… 前言 现在用jersey+spring+hibernate已经做了好几套“XXXX管理系统”了,但其实和单机应用无异,因为从来都没有遇到过权限设计的问题。但是上周帮学长做毕业设计时候不得已碰到了这一块。折腾了近5个小时。最终算有个屌丝版的解决方案了。 ...

May 12, 2015

利用Python实现FTP同步

接上一篇,文件放在Digital Ocean的速度也不快。刚好我前两天申请了一个万网的免费PHP空间,我就想如何利用这个PHP空间。 PHP我肯定是一点都不熟悉的,好在其开放了FTP,于是我想到了用FTP来自动同步。 ...

February 5, 2015

OpenVZ VPS搭建shadowsocks及优化

搭建Shadowsocks完整过程。 大部分内容来自网络,纯属集合。且不保证其真实性或者有效性(部分可能是心理作用)。 彩蛋——>Click It! ...

February 5, 2015

Intellij IDEA 根据数据库自动生成pojo和hbm

自从写Java以来,用过不少的IDE,eclipse那个哪个平台看都丑的界面。netbeans网上资料少。用的最顺手的,还是Intellij IDEA。 写java的这段时间,也改变了之前觉得手写才是硬道理的感觉。现在觉得,能自动生成的,就自动生成。 每次写hibernate部分,就觉得pojo和hbm.xml部分很蛋疼。今天搜索了半天,终于知道如何根据数据库自动生成了。 ...

January 28, 2015

Git WebHook实现自动更新Gitbook简易版

最近开始记录笔记,想选一个好用的能记录,能帖代码,还比较好看的,选来选去,最后决定使用Gitbook。 但是Gitbook.com的速度比较慢,感觉不爽,于是决定放在自己DigitalOcean的VPS上。但是不能每次修改都上去手动generate,于是决定使用Github的Webhook来实现这个自动发布的功能。 ...

January 28, 2015

八皇后递归解法

public class exer620{ public static void main(String[] args){ int[] queen; queen = new int[8]; putIt(queen,0); } public static void putIt(int[] numf,int mf){ if(mf == 8){//当递归完成时 display(numf); System.out.print("\n\n"); } else{ for(int j = 0;j < 8;j++) { if(findInArray(numf,mf,j) || isDiagonal(numf,mf,j)) continue; else{ numf[mf] = j; putIt(numf,mf+1); } } } } public static boolean findInArray(int[] numf,int mf,int nf){ //判断是否在同一行上 for(int i = 0;i < mf;i++){ if(nf == numf[i]) return true; } return false; } public static boolean isDiagonal(int[] numf,int mf,int nf){ //判断是否在同一对角线上 for(int i = 0;i < mf;i++){ if(((mf - i) * (mf - i)) == ((nf - numf[i]) * (nf - numf[i]))) return true; } return false; } public static void display(int[] numf){//显示每一行 for(int u:numf){ for(int i = 0;i < u;i++){ System....

January 23, 2015

使用python提交微软校园品牌大使调查问卷

我这个学期参加了微软校园品牌大使的项目,跟我想象的差的有点远,好在福利不错。 虽然是选的是技术组,但是做的还是调查问卷的活。 问题来了,微软的客户端做的令人发指的差。 所有的内容都得靠鼠标点选,而且必须是精确点击。 ...

January 23, 2015