个人知识管理系统Version1.0开发记录(08)
切入点
前面,我们已经搭建好了web端的一种基本结构,需要进一步定位的主要问题有三点:
1、界面的选择和确定,用extjs做的初步样式,进一步改动为jqueryUI/html,再进一步改变为HTML5等。我们思考一种用户思维,只要有一个地方让用户不喜欢,用户就会全盘否定该款软件;所以,软件界面一定要简单、精致、能引起用户的兴趣、符合用户习惯和用户思维。
2、框架的选择和确定,struts2,hibernate/mybatis,spring等,在编写知识体核心功能模块前,需要完成选择和改写。
3、方向的选择和确定,每个人的时间、精力都是一定的,选择一件事情,就需要先放弃其他很多事情;识时务者为俊杰,方向的选择上,可以参考社会背景和商业需求、工作相关内容、个人成长情况等。方向的选择至关重要,若是什么都想学什么都想做,只会迷失在知识的汪海大海之中,以致迷失自我、蹉跎岁月。学会专注,学会合作,学会沟通,自己不会的事务,不在自己知识体系主干上的事务,找专业人士合作才是上策。建议常用纸笔:
(1)列举出需要在做的功能模板,然后根据她们需要的知识来分析她们,哪些我们能做,我们需要学习去做,哪些需要我们做精做细;
(2)列举模块优先级,模块关联,哪些需要先做,哪些可以建立关联;
(3)哪些可以做个架子,然后找更专业的合作伙伴来做。
接下来,我们需要花费一段时间来做一个“连接功能模块”,以便切入到移动端,搭建移动端的一种基本结构。我们可以从以下几方面来考虑:
(1)切入点,简单、实用,是web端上的一个功能模块到app端上的一个功能模块的连接。
(2)数据可以互通,不论是界面不同还是数据库不同,可以建立关联,进行CRM管理。
(3)符合用户习惯,具有商业价值。
只有想不到,没有做不到。多看看广告,电梯、地铁、媒体新闻、车载电视、广场广告等,看看别人在做什么,用户群体在看什么。先不考虑能否实现,我们来模拟一个场景:
(1)我们在web界面加入一个功能模块,“联系我们”,有一些联系方式和一个微信二维码;
(2)用户关注我们的微信号,我们通过微信公众号获取用户基本信息、地理位置等;
(3)进行CRM管理,把用户基本信息和本系统用户基本信息形成关联,用这个应用切入到移动端,开发各自独立的(数据库和软件界面)、三者互相关联的移动端软件。
不论对错,日后再说。时间如梭,赶紧动手。思路如下:
1、在微信公众平台查看API和一些帮助信息,大致看看怎么玩的,需要什么条件,需要注意什么,可能用到什么知识。是基于微信服务器的数据传输和处理。
2、编写控制层。(1)用户界面是微信,(2)用户发送信息到微信服务器,(3)微信服务器把信息发送到我们编写的控制层,(4)控制层接收信息、处理信息、发送处理信息到微信服务器,(5)微信服务器把信息发送给用户。
3、用户发送到微信服务器的信息,有文本、图片、链接、地理位置、声音、视频;服务号发送到微信服务器的信息,有文本、图片、链接、声音、视频。按照API上的信息参数说明
,把她们封装成对象。
4、数据交换格式是xml。控制层接收消息,是把微信服务器发送过来的xml转换成java对象;控制层发送消息,是把java转换成xml发送到微信服务器。使用dom和xstream。
5、打开服务号“获取用户地理位置”,编写一些业务处理逻辑,比如接收消息、处理消息、发送消息。我们获取用户地理位置,并把这些数据原样发送给用户。
6、服务号自定义菜单,根据API编写菜单对象,根据开发者凭据生成自定义菜单。按钮有两种,click和view。
7、数据存储。若只是即时处理信息,可以把数据暂时保存在内存;若是需要做CRM管理,并实现一些追溯功能,则要考虑使用数据库。
8、不想用手机,不想让服务号知道我们真实的地理位置,怎么玩?那么就要考虑,移动端地理位置数据来自哪里?移动端系统。OK,下载android模拟器、GPS功能软件、微信,设置地理位置为北京天安门。用模拟器登录微信,服务号向我们发送的是北京天安门的地理位置,因为她接收到的是这个地理位置。
我们后面需要完成,(1)生成带参二维码,或者类似功能,(2)完善自定义菜单,(3)编写能和用户做一些基本互动的智能机器人,(4)追溯功能的实现,(5)数据互通的实现,为移动端的编写开路搭桥。
最近观天下时事,冥冥中似乎察觉到了一丝命运的轨迹,其实,她一直都在我们的眼前,当我们开始懂她的时候,我们才看见她的存在,才发现她早已经等待了我们很久很久。OK,我们下次见。
个人知识管理系统Version1.0开发记录(08)的更多相关文章
- 个人知识管理系统Version1.0开发记录(09)
MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索. 运用Mybatis框 ...
- 个人知识管理系统Version1.0开发记录(01)
架 构 描 述 01.数据层,数据源,有形资源入库,无形资源整理,对外搜索引擎,对内平台搜索,数据类型(文字.图片.声音.视频.组合),数据时空优化,数据安全方案(数据进站关卡,数据出战关卡),数据并 ...
- 个人知识管理系统Version1.0开发记录(02)
第 一 步 做 什 么 我们该如何入手呢?先来看看目前常用的三个方法. 1.从事物产生的源头出发,层层推进,步步验证,最后开花结果.这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多. ...
- 个人知识管理系统Version1.0开发记录(12)
最近碰到个问题,在五个工作日内阅读一个百万行左右代码量的新项目集合,如何解决呢? 第一个工作日,环境观察.待在那个项目组,看项目成员们在做些什么事情,开发,测试,聊天,或多或少可以收集到一些项目相关的 ...
- 个人知识管理系统Version1.0开发记录(10)
物理分页 这次我们运用Mybatis拦截器来实现物理分页,后面会运用动态sql来实现,或者运用Map/CollectionUtils/StringUtils编写工具类来实现.oracle是运用的row ...
- 个人知识管理系统Version1.0开发记录(07)
模 块 复 用 原本还要测试一会的,突然出现一连串诡异的问题,比如,编译少加载个类啊,输入地址少个字母啊,改几行代码一改就是半小时啊.这是在提醒我们大脑疲倦了,所以果断小结,下次继续.这一次简单完成了 ...
- 个人知识管理系统Version1.0开发记录(11)
(1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracl ...
- 个人知识管理系统Version1.0开发记录(05)
demo controller我们从前面的实现过程可以得出三种普遍使用的信息处理方式:1.操作数据库,对数据进行增删改查,比如运用sqldevloper查看数据信息.2.运用计算机程序语言,对数据进行 ...
- 个人知识管理系统Version1.0开发记录(06)
demo view 夜已深,我们先简单演示一下,完成一个小段落了.涉及工具及技术知识:图形处理软件photoshop cs6,js类库ext. 思路如下: 1.下载ps6,有破解版本的,dll文件覆盖 ...
随机推荐
- codeforces #516---ABC
A---golden plate http://codeforces.com/contest/1072/problem/A 题意:给一个n*m的格子,从最外层往里涂色,每次尽量涂最外面的那一圈,两圈涂 ...
- BBS - 后台管理
一.添加文章 注: 后台管理页面,应该有个新得 app /blog/backend/ # 文章列表页/blog/add_article/ # 添加文章 # 后台管理re_path(r'backend/ ...
- 以太坊geth主网全节点部署
以太坊geth主网全节点部署 #环境 ubuntu 16.4 #硬盘500GB(目前占用200G) #客户端安装 # 查看下载页面最新版 # https://ethereum.github.io/go ...
- 【Loadrunner】平台1.9环境APP成功录制并调试成功后的脚本备份
1.录制相关Loadrunner及录制的APP所在手机网络代理相关设置请参考日志:http://www.cnblogs.com/zhuzhubaoya/p/9152022.html 2.调试成功的脚本 ...
- 菜单和按钮-EasyUI Menu 菜单、EasyUI Linkbutton 链接按钮、EasyUI Menubutton 菜单按钮、EasyUI Splitbutton 分割按钮
EasyUI Menu 菜单 通过 $.fn.menu.defaults 重写默认的 defaults. 菜单(Menu)通常用于上下文菜单.它是创建其他菜单组件(比如:menubutton.spli ...
- 统计编程的框架与R语言统计分析基础——摘(2)统计分析之线性回归
一.线性回归 1.简单线性回归 a. > x = women > x height weight 1 58 115 2 59 117 3 60 120 4 61 123 5 62 126 ...
- bootstrap详解 见网址
http://caibaojian.com/bootstrap/base-css.html?#forms
- gstreamer调试命令
gplay播放命令 gplay 文件全路径 (eg:gplay 123.mp3) gstreamer播放命令 gst-launch playbin2 uri=file:///文件全路径 (eg gs ...
- WdatePicker设置日期范围
设置 结束日期不超过当天日期:设置 开始日期不超过结束日期:设置 开始日期默认显示当月1日的日期,结束日期显示当天日期?<label>开始日期:</label><inpu ...
- 20145204《Java程序设计》第5周学习总结
20145204<Java程序设计>第5周学习总结 教材学习内容总结 语法与继承构架 我们之前接触到的C通常都是将程序流程和错误处理混在一起,在编写程序的时候必须考虑可能出现的错误并提前做 ...