第一次纪录东西,也没有特别的顺序,想到哪里就随手画了一下,后续会继续整理- 6.2消息页面动作流程 6.2.1 消息页面初始化的总体思路 1.页面数据的填充更新直接由页面主线程从本地数据库请求 2.数据库数据的填充由后台线程异步方式从网络请求 3.前台线程每次按照18条记录读取数据库数据,后台线程按照每次18*3从网络请求数据 4.后台线程数据的请求由主线程满足一定的条件后发送总线事件,在 oneventbackgroudthread 中处理,具体条件(或的关系)如下: 1>第一次请求 2>本…
TeamTalk Android代码分析(业务流程篇) 1.1 总体结构 1.总体结构有点类似MVC的感觉,模块结构从上向下大体是: UI层:Activity和Fragment构成,期间包括常用的一些开源控件如:imageloader,speedx,gifview等,和下层数据变更通知通过总线事件完成(EventBus) 管理层:Service(即:imservice,下文均采用此称呼)和一些按照业务划分的Manager(loginmanager,contactmanager,sessionma…
RabbitMQ是建立在AMQP(Advanced Message Queuing Protocol,高级消息队列协议)基础上的,而AMQP是建立在TCP协议之上的. 因此,RabbitMQ是需要建立TCP连接的.其建立连接的方法如下: //首选创建一个连接工厂对象 var factory = new ConnectionFactory() { HostName = "localhost", UserName = "yyt", Password = "yy…
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 之前的文章<整合Spring Cloud Stream Binder与RabbitMQ进行消息发送与接收>讲解了Spring Cloud stream与RabbitMQ的整合,本文将简单介绍一下Spring Cloud Stream与Google Cloud Pub/Sub的整合. 2 通过Emulator启动Pub/Sub 因使用实际的GCP Pub/Sub相对麻烦,本文通过模拟器来运行. 关于Googl…
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能的bugs和可优化提升的地方. 1.2 lint工作流程 针对我们的项目,通过lint.xml配置lint分析的选项,执行检查后,会针对要分析的issue生成报告. 2 lint使用 有关lint的使用,有以下地方需要理解: 2.1 分析的范围 要对Android项目进行静态分析,首先就是指定要分析…
背景: 从DICOM网络传输一文开始,相继介绍了C-ECHO.C-FIND.C-STORE.C-MOVE等DIMSE-C服务的简单实现,博文中的代码给出的实例都是基于fo-dicom库来实现的,原因只有一个:基于C#的fo-dicom库具有高封装性.对于初学者来说实现大多数的DIMSE-C.DIMSE-N服务几乎都是“傻瓜式”操作——构造C-XXX-RQ.N-XXX-RQ然后绑定相应的OnResponseReceived处理函数即可.本博文希望在前几篇预热的基础上,对比DCMTK.fo-dico…
项目中用到了Android和C++的通信.选择了用socket 发送字符的方式,一開始使用的代码是: socket=new Socket(); InetSocketAddress isa = new InetSocketAddress(IP_STR, port); socket.connect(isa, 100); PrintWriter out=new PrintWriter(socket.getOutputStream(),true); BufferedReader recvBuf=new…
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 Spring Cloud Stream专门用于事件驱动的微服务系统,使用消息中间件来收发信息.使用Spring Cloud Stream可专注于业务开发,而不用花太多心思在应用与MQ之间的交互上.而且,在切换MQ后,也无须做太多的代码改动. 本文将整合Spring Cloud Stream和RabbitMQ,以实现消息收发. 2 整合过程 2.1 添加依赖 <dependency> <groupId&…
2016年2月23日,学习,分析ansible代码 ansible是一种运维中使用的批量部署的工具,它本身是一种框架,具体的部署和架构分析,下面这篇文章讲的不错. http://os.51cto.com/art/201409/451927_all.htm 首先分析主文件ansible,代码和注释如下: 1. from __future__ import (absolute_import, division, print_function) 2. __metaclass__ = type 3. _…
有人说声明 Private Destructor, 这对象只能在 stack 上创建,不能在Heap上创建, 其实错了, 这样的程序编译都过不了. 那为何会有 Private Destructor, 因为程序是这样写的 ------------------------------------ class Base { public:     Base(); protected:     virtual ~Base();     friend class Base_Friend; }; -----…