切入点

前面,我们已经搭建好了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)的更多相关文章

  1. 个人知识管理系统Version1.0开发记录(09)

    MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.   运用Mybatis框 ...

  2. 个人知识管理系统Version1.0开发记录(01)

    架 构 描 述 01.数据层,数据源,有形资源入库,无形资源整理,对外搜索引擎,对内平台搜索,数据类型(文字.图片.声音.视频.组合),数据时空优化,数据安全方案(数据进站关卡,数据出战关卡),数据并 ...

  3. 个人知识管理系统Version1.0开发记录(02)

    第 一 步 做 什 么 我们该如何入手呢?先来看看目前常用的三个方法. 1.从事物产生的源头出发,层层推进,步步验证,最后开花结果.这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多. ...

  4. 个人知识管理系统Version1.0开发记录(12)

    最近碰到个问题,在五个工作日内阅读一个百万行左右代码量的新项目集合,如何解决呢? 第一个工作日,环境观察.待在那个项目组,看项目成员们在做些什么事情,开发,测试,聊天,或多或少可以收集到一些项目相关的 ...

  5. 个人知识管理系统Version1.0开发记录(10)

    物理分页 这次我们运用Mybatis拦截器来实现物理分页,后面会运用动态sql来实现,或者运用Map/CollectionUtils/StringUtils编写工具类来实现.oracle是运用的row ...

  6. 个人知识管理系统Version1.0开发记录(07)

    模 块 复 用 原本还要测试一会的,突然出现一连串诡异的问题,比如,编译少加载个类啊,输入地址少个字母啊,改几行代码一改就是半小时啊.这是在提醒我们大脑疲倦了,所以果断小结,下次继续.这一次简单完成了 ...

  7. 个人知识管理系统Version1.0开发记录(11)

    (1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracl ...

  8. 个人知识管理系统Version1.0开发记录(05)

    demo controller我们从前面的实现过程可以得出三种普遍使用的信息处理方式:1.操作数据库,对数据进行增删改查,比如运用sqldevloper查看数据信息.2.运用计算机程序语言,对数据进行 ...

  9. 个人知识管理系统Version1.0开发记录(06)

    demo view 夜已深,我们先简单演示一下,完成一个小段落了.涉及工具及技术知识:图形处理软件photoshop cs6,js类库ext. 思路如下: 1.下载ps6,有破解版本的,dll文件覆盖 ...

随机推荐

  1. AngularJS 指令的 Scope (作用域)

    参考:https://segmentfault.com/a/1190000002773689 每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的 ...

  2. 寻找最小(最大)的k个数

    题目描述:输入n个整数,输出其中最小的k个元素. 例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4. 思路1:最容易想到的方法:先对这个序列从小到大排序,然后输出前 ...

  3. (2.1)DDL增强功能-数据类型、同义词、分区表

    1.数据类型 (1)常用数据类型 1.整数类型 int 存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型. (每个数值占用 4字节) smallint ...

  4. 微软官方推出的win10安装或者创建安装u盘的工具

    https://www.microsoft.com/zh-cn/software-download/windows10 下载安装后,可根据提示,一步步的安装win10或者创建安装u盘

  5. python基础之员工信息表作业

    周末大礼包 文件存储格式如下: id, name, age, phone, job 1, Alex, 22, 13651054608, IT 2, Egon, 23, 13304320533, Tea ...

  6. python之sqlalchemy使用

    一.介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并 ...

  7. #C++初学记录(初识汉诺塔)

    汉诺塔 题目 用1,2,...,n表示n个盘子,称为1号盘,2号盘,....号数大盘子就大.经典的汉诺塔问 题经常作为一个递归的经典例题存在.可能有人并不知道汉诺塔问题的典故.汉诺塔来源于 印度传说的 ...

  8. Django:学习笔记(8)——文件上传

    Django:学习笔记(8)——文件上传 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不 ...

  9. Python 无穷大与NaN

    想创建或测试正无穷.负无穷或NaN(非数字) 的浮点数 Python 并没有特殊的语法来表示这些特殊的浮点值,但是可以使用float() 来创建它们.比如: >>> a = floa ...

  10. 基于swing的MySQL可视化界面

    个人记录贴... 代码过烂不宜参考.. 效果展示 1.选择需要打开的数据库,查看数据库下的表. 2.双击打开一个表 3.没有CRUD.... 代码 test-main: import shell.DB ...