前言 最近在开发LayIM融云版,也在进行项目重构,现在在看之前的代码,简直不敢直视.不过不知道以后看现在的代码是不是也是糟糕的一批.LayIM有个接口,一般接触过的开发人员都不会生疏,就是init接口.接口返回的数据大概就是酱紫的: { "code": 0, "msg": "", "data": { "mine": { "username": "纸飞机", &quo…
一.开发环境准备 1.安装Visual Studio 2015,我这里安装的是专业版. 2.安装.NET Core SDK相关 需要安装  Visual Studio 2015 update3和NET Core 1.0.0 - VS 2015 Tooling 参考链接:http://www.cnblogs.com/fonour/p/5848933.html               http://www.cnblogs.com/linezero/p/NETCoreMySQL.html asp.…
前言 本篇内容主要是一些关于JPA的常用的一些用法等.内容也是很多是看其他博客学来的,顺道在本系列博客里抽出一篇作为总结.下面让我们来看看吧. 不过我更推荐大家读本篇:https://lufficc.com/blog/spring-boot-jpa-basic @Entity注解 标注在实体类上,每个实体类映射数据库里的一张表,name属性定义表名.默认表名为驼峰变量之间加下划线.例如:ProductInfo,生成的表名为product_info. @Entity(name="userinfo&…
前言 今天是第三篇了,上一篇简单模拟了数据,实现了LayIM页面的数据加载.那么今天呢就要用数据库的数据了.闲言少叙,书归正传,让我们开始吧. 数据库 之前有好多小伙伴问我数据库是怎么设计的.我个人用关系型数据库比较多,一般就是根据业务来分析,一对一的关系,一对多的关系,多对多的关系等,那么对于LayIM就根据这几个关系出发.而且先根据业务来设计.它初始化的数据我们都见过了,数据中分别包含以下四个部分. 个人用户信息 好友分组信息 群组信息 大部分业务都是围绕着用户转的,那么我们一条一条的分析.…
前言 接上篇,已经完成了一个SpringBoot项目的基本搭建.那么现在就要考虑要做什么,怎么做的问题.所以本篇内容不多,带大家一起来简单了解一下要做的东西,之前有很多人不知道从哪里下手,那么今天我带着大家熟悉LayIM以及它的对接思路.由于重点是SpringBoot,所以,LayIM部分也不会讲的太细,官网有详细的文章. LayIM有什么? 非常舒服的UI 封装了友好的聊天界面,消息记录,自定义插件,添加好友,添加群组等等功能,前端的东西完全不必费心,把重心放到实现业务上. 完善的文档,开发起…
项目背景 之前写过LayIM的.NET版后端实现,后来又写过一版Java的.当时用的是servlet,websocket和jdbc.虽然时间过去很久了,但是仍有些同学在关注.偶然间我听说了SpringBoot这么个东东,据说是省去了很多繁杂的配置.可以傻瓜式的创建项目,轻轻松松做出一个网站来,那么出于我对LayIM的情有独钟,于是乎想借用它来帮助我学习SpringBoot,并且全程记录,省的以后再走弯路和掌握解决问题的方法.(当然,我也是新手,我的解决方法就是百度,stackovreflow等网…
6月17日是Apache Karaf作为Apache顶级项目.Karaf是个运行时包,包含了一个OSGi框架(Equinox或Felix).一个命令shell(Felix Gogo)及默认情况下内置的大量实用工具. 虽然Equinox与Felix可以单独使用,但Karaf旨在结合这两个框架出色的OSGi功能,并且保证其开箱即用.比如说,它包含了一个可配置的日志系统(基于Log4J,但针对众多通用的日志系统进行了包装).通过SSH实现的远程访问.通过ConfigAdmin(源代码位于etc目录中)…
来自http://blog.csdn.net/phunxm/article/details/5082488 一.IDE基础配置 1.字体 VC6中“Tools→Options→Format→Font”配置字体:VC2005中“工具→选项→环境→字体和颜色”配置字体. 编写代码一般采用等宽字体,等宽点阵(位图)字体,相对矢量字体而言具有兼容性好和显示清晰的优点.常用的编程等宽字体包括Fixedsys(VC6和notepad御用字体).Consolas.YaHei Mono. VC6默认可选字体只有…
前言 距离上一篇已经比较久的时间了,项目也是开了个头.并且,由于网上的关于Spring Boot的websocket讲解也比较多.于是我采用了另外的一个通讯框架 t-io 来实现LayIM中的通讯功能.本篇会着重介绍我在研究与开发过程中踩过的坑和比较花费的时间的部分. WebSocket 在研究 t-io 的时候,我已经写过关于t-io框架的一些简单例子分析以及框架中关于 websocket 中的编解码代码分析等,有兴趣的同学可以先看一下.因为 在LayIM项目中我会是用到 Showcase D…
以前为了做compiler,研读+实现了几乎所有种类的语言.现在看语法手册几乎很快就可以理解整个语言的内容.后来我对比了一下go和rust,发现go的类型系统简直就是拼凑的.这会导致跟C语言一样,需要高超的技巧才能写大程序.而rust则没有这种问题,每个部分的组成都很和谐.---------------------------------------------------------------------- Rust是挺优秀的,函数式本来就比命令式来的优雅.但同时也要看到,两种语言的定位不同…