A系统与B系统之间有很多接口交互,但是有一段时间接口经常报错,作为开发如果不能第一时间知道问题且及时解决的话就会收到业务投诉,当月绩效凉凉. 如果你也有这种场景,那么你就需要一个及时告警的功能. 实现方案 实现及时告警分以下两种场景: 有ELK日志收集 没有ELK日志收集 没有ELK日志收集的方案 ~~很简单,搭建一个日志收集环境(O(∩_∩)O哈哈~)~~ 需要在业务代码中嵌入硬编码,每次catch到异常直接发送告警信息告警平台进行告警 有ELK日志收集的方案 最核心的是 elasticsea…
前言 上一篇文章讲到了JDBC的基本用法及其问题所在,并提出了使用Mybatis的好处,那么今天这篇文章就来说一下该如何设计一个类似Mybatis这样的持久层框架(暂时只讲思路,具体的代码编写工作从下一篇文章开始). 从使用端的角度来设计 从使用端的角度来看,我们需要做一些配置工作,原理等同于使用Mybatis框架时所进行的配置.这其中包括以下步骤: 引入自定义持久层框架的jar包. 提供存放数据库核心配置的信息. 提供sql配置信息(包括sql语句.参数类型和返回类型). 这里暂时不讲这些工作…
实现思路: 重写评分方法,调整计算文档得分的过程,然后根据function_score或script_sort进行排序检索.   实现步骤: 1.新建java项目TestProject,引入Elasticsearch的jar包 2.新建package:es.testscript 3.新建类TestScriptFactory,继承NativeScriptFactory,示例: package es.testscript; import java.util.Map;   import org.ela…
最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客中也有大量介绍.EventStore是在Event Sourcing(下面简称ES)模式中,用于存储事件用的.从DDD的角度来说,每个聚合根在自己的状态发生变化时都会产生一个或多个领域事件,我们需要把这些事件持久化起来.然后当我们需要恢复聚合根的最新状态到内存时,可以通过ES这种技术,从EventS…
基于django的自定义简单session功能 简单思路: 1.建立自定义session数据库 2.登入时将用户名和密码存入session库 3.将自定义的随机session_id写入cookie中 4.在中间件中,取出浏览器请求中cookie的session_id 5.使用session_id去数据库中比对用户名和密码,成功就访问,失败就重定向到登入页面 没有完善的地方:每次登入都会 生成一个随机字符串和value存入数据库 1.数据库 from django.db import models…
EventStore的设计思路 最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客中也有大量介绍.EventStore是在Event Sourcing(下面简称ES)模式中,用于存储事件用的.从DDD的角度来说,每个聚合根在自己的状态发生变化时都会产生一个或多个领域事件,我们需要把这些事件持久化起来.然后当我们需要恢复聚合根的最新状态到内存时,可以…
背景 随着公司业务的高速发展以及数据爆炸式的增长,当前公司各产线都有关于搜索方面的需求,但是以前的搜索服务系统由于架构与业务上的设计,不能很好的满足各个业务线的期望,主要体现下面三个问题: 不能支持对语句级别的搜索,大量业务相关的属性根本无法实现 没有任何搜索相关的指标评价体系 扩展性与维护性特别差 基于现状,对行业内的搜索服务做出充分调研,确认使用ElasticSearch做底层索引存储,同时重新设计现有搜索服务,使其满足业务方对维护性.定制化搜索排序方面的需求. 整体技术架构 沪江搜索服务底…
          基于特定领域国土GIS应用框架 设计及应用              何仕国 2012年8月16日   摘要: 本文首先讲述了什么是框架和特定领域框架,以及与国土GIS 这个特定领域行业相结合,而进行的特定领域应用框架的设计及其相关的实践应用实例.刻画了该领域软件系统的公共属性.公共的商业规则.公共的设计决策.在设计这个领域新的软件系统的时候,可以基于应用框架包含的重要信息,设计该软件系统特殊的属性,然后有效的把两者集成为一个完整的应用系统.通过这种软件开发方式,可以大大加快…
自定义生命周期的设计(iOS篇) 首先要确定一点,我们的App,要基于XIB文件进行编程,而不是在每个相应的ViewController里面去手动创建页面的每个控件.这样做的好处是,将页面布局与业务逻辑彻底隔离.于是我们可以把xib的绘制工作交给美工人员,而iOS程序员,主要关心的是业务逻辑. 有人会怀疑过多的xib会导致App体积变大,我曾经有专门看过ipa文件解压后的文件列表,我发现每个xib也就2k大小,而一个App最多也就七八十个xib,那么就是说共计150k大小的样子,由于是xml文本…
背景描述 最近接到一个需求,就是要求我们的 WPF 客户端具备本地化功能,实现中英文多语言界面.刚开始接到这个需求,其实我内心是拒绝的的,但是没办法,需求是永无止境的.所以只能想办法解决这个问题. 首先有必要说一下我们的系统架构.我们的系统是基于 Prism 来进行设计的,所以每个业务模块之间都是相互独立,互不影响的 DLL,然后通过主 Shell 来进行目录的动态扫描来实现动态加载. 为了保证在不影响系统现有功能稳定性的前提下,如何让所有模块支持多语言成为了一个亟待解决的问题. 刚开始,我 G…
基于 Angularjs&Node.js 云编辑器架构设计及开发实践 一.产品背景 二.总体架构 1. 前端架构 a.前端层次 b.核心基础模块设计 c.业务模块设计 2. Node.js端设计 三.单元测试 四.持续集成及自动部署 五.打包 六.总结 一.产品背景 产品是一个内部项目,主要是基于语义网本体的云端编辑器,用于构建语义知识库.抛开语义网本体概念不谈 ,简单说就是一个简易的visual studio 云端编辑器.而图形显示则是在百度脑图的基础上改进的,增加了自己的形状和颜色,以及其他…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 登录窗口>,主要是介绍系统登录界面页面设计与代码. 最近刚做完施工计划安排设计,之后将分享出来,这个系列更新不是很快,望大家多多体谅. 一.首页快捷方式 首页快捷方式,如下图所示. 点击[添加新的快捷方式],将所有页面以快捷方式呈现,如下图所示 双击添加快捷方式到首页.…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 总体介绍>,主要介绍系统总体的界面效果和用户体验UI设计. 在MVC.MVP大行其道的今天,写WebForm该系列篇章,是否是过时? 之后系统重构,将朝着vNext方向 一.系统设置 我们知道,一般客户浏览器千奇百怪,如何实现快捷下载到我们需要的浏览器?如下界面所示. <!DOCTYPE HTML> <html> <head> <title>浏览器安装</title>…
前言:“我们有一个订单列表,希望能够根据当前登陆的不同用户看到不同类型的订单数据”.“我们希望不同的用户能看到不同时间段的扫描报表数据”.“我们系统需要不同用户查看不同的生产报表列”.诸如此类,最近经常收到项目上面的客户提出的这种问题,即所谓的“数据权限”,经过开会讨论决定:在目前的开发框架上面搭建一套通用的数据权限功能. 本文原创地址:http://www.cnblogs.com/landeanfen/p/7760803.html 一.大话权限模块 有了上面的引言,自然而然就引出了今天需要和大…
作者:陈希章 发表于 2017年12月12日 前言 在上一篇文章 基于Office 365的随需应变业务应用平台 中我提到,随着随需应变的业务需要,以及技术的发展,业务应用的开发的模式也有了深刻的变化.基于微软的平台,有服务于主干业务应用的Dynamic 365 业务应用平台(包括CRM和ERP),也有服务于员工日常工作的Office 365 生产力平台.这看起来非常清晰,但他们的界限其实在逐渐模糊,谁说在Office 365上面就不能进行业务操作呢?又谁说在Dynamics 365这个成熟的平…
作者:陈希章 发表于 2017年12月14日 在上一篇 使用PowerApps快速构建基于主题的轻业务应用 -- 入门篇 中,我用了三个实际的例子演示了如何快速开始使用PowerApps构建轻业务应用,你可能已经发现,我都是使用默认生成的设置,没有做任何修改.当然,那样做出来的应用看起来不那么酷,但已经可以运行了,作为一个起点,已经不错了,不是吗? 但这样自动生成的应用,估计也不能直接用于咱们实际的工作中,为了达到这个目的,你还多多少少需要掌握一些"高级"知识,并且要多一些练习.这一篇…
扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引无扩容因子 - 如何判断一个请求过来,我的信息在哪个分片上面 shard = hash(routing) % number_of_primary_shards routing 大致是指文档的id 分片预分配 一个分片存在于单个节点, 但一个节点可以持有多个分片 一个拥有两个分片的索引可以利用第二个节…
一.基本信息 标题:基于UML的高校教务管理系统的设计与实现 时间:2018 出版源:南昌航空大学 领域分类:教育信息化:教务管理系统:UML:SSH:Oracle 二.研究背景 问题定义:高校教务管理系统的设计与实现 难点:想出新的数据录入方式,采用面向对象的分析方法和设计思路来逐步实现一个较为完善的高校教务管理系统 相关工作:了解并掌握相关技术,进行系统分析.设计,实现系统,测试系统可行性. 三.创新方法 1.多种技术构成的体系结构.平台.开发框架.交互技术的综合的系统 四.实验 实验1:相…
一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存储的重要技术,它将数据存储在多个从节点上,对这些节点的硬件资源进行统一管理与分配,并向客户端提供文件系统访问接口,解决了本地文件系统在文件大小.文件数量.打开文件数目等的限制问题.海量数据存储系统的数据都是通过分布式文件系统存储在各个节点上.通过分布式文件系统,海量数据存储系统可以可靠地存储PB级以…
基于WebServices简易网络聊天工具的设计与实现 Copyright 朱向洋 Sunsea ALL Right Reserved 一.项目内容 本次课程实现一个类似QQ的网络聊天软件的功能:服务端采用WebServices提供技术支持,客户端采用Windows窗体,为用户提供网络聊天的简单功能. 二.项目目的与要求        掌握完整项目开发的流程: 掌握LINQto SQL类的使用: 掌握传递二进制文件的Web方法: 掌握Web服务中用户状态的管理: 三.项目环境 在win7系统下V…
 1. 整体解决方案概述    1.1 权限整体解决方案概述     权限设计主要有一下几大部分组成:     PassPort:    针对现在系统的分析,系统之间有部分信息是共享的,这部分信息将由中心话的Passport来统一维护 用于中心存放用户,组织架构,渠道,品牌和产品相关的信息. 有关员工信息,可以从现有HR系统或者MDM中取得. 有关外部人员活动目录,可以专门在本PassPort系统中维护.    权限订阅模块:   负责订阅接受Passport发出的相关实体修改的信息.   资源…
基于 Python 的自定义分页组件 分页是网页中经常用到的地方,所以将分页功能分出来,作为一个组件可以方便地使用. 分页实际上就是不同的 url ,通过这些 url 获取不同的数据. 业务逻辑简介 说是组件,其实就是个分页类,能够在试图层对该类进行实例化再传到前端. 既然是类,初始化时需要的参数就比较重要. 首页.尾页功能. 上一页.下一页功能. 当前页高亮及当前页左右有一定数量的页码. 分页类实现 初始化 初始化传参说明: data_num: 整个数据库的数据数量. current_page…
基于ESP32的智能家居管理系统的设计与实现 ESP32的智能家居管理系统访问链接: https://www.cnblogs.com/easyidea/p/13101165.html 一.需求分析 1.1硬件需求 1.1.1 蓝牙收发数据 1.1.2 网络收发数据 1.1.3 传感器检测 1.1.4 开关控制 1.1.5 PWM电机控制 1.1.6 舵机控制 1.1.7 OLED显示 1.1.8 自动控制 1.2 微信小程序需求分析 1.2.1 用户登录 1.2.2 设备管理 1.2.3 数据修…
一.简介: 21世纪是出于互联网+的时代,许多传统行业和硬件挂钩的产业也逐步转向了系统集成智能化,简单来说就是需要软硬件的结合.这时,软硬件通讯便是这里面最主要的技术点,我们需要做到的是让硬件能够听懂我们系统的指令,自定义协议便应运而生. 二.设计思路: 1)引入SuperSocket所需要的各种项目文件 2)新建两个WinForm添加具体功能 3)启动项同样设置两个 4)启动服务器监听 5) 客户登陆 6)服务器广播 三.代码实现 1)引入项目文件,包含在项目中,这里包含是 右键解决方案>添加…
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力活:对于自动化测试与人工测试优缺势的问题,这里不想深入讨论,开一个博客收集一些观点然后开个讨论组讨论效果可能会更好. 标题上列的,是自己对web自动化这块统一的一个想象或是一套完整的自动化应所包含的的部分,目前完成了excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 施工计划查询(Ⅷ)>,主要介绍通过报表工具数据钻取,获取施工计划详细信息. 这篇我们看看ParamQueryGrid[行合并]与[列合并] 一.[列合并]效果 以编号配置界面为例,如下图所示. 设置表格列合并,代码如下. /**设置表格列合并 colModel:列 ,startNumber:开始列 ,numberOfColumns:从开始列开始,合并列数量 ,titleText:合并列标题 **/ function SetPq…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 施工计划安排>,主要介绍整个施工计划列表与编辑界面. 下面看看施工计划查询(ⅠⅡⅢ ⅣⅤⅥ Ⅶ Ⅷ) 一.施工计划查询 施工计划查询界面,如下图所示. 点击[查询],按年月得出该年月施工计划,具体代码如下 1 protected void lbtSearch_Click(object sender, EventArgs e) 2 { 3 if (CheckInput()) 4 { 5 string connValue = Da…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 首页Portal界面拖拽>,主要介绍首页随客户喜好安排区块位置,更好的实现用户体验. 这两天将项目中施工计划管理归纳总结一下(ⅠⅡⅢ ⅣⅤⅥ Ⅶ Ⅷ) 一.施工计划安排 施工计划安排界面,如下图所示. 编辑界面,如图所示 根据设定的提醒时间,通知施工人员及相关人员 有关于消息提醒的实现,在<Windows服务调用Quartz.net 实现消息调度>有详细介绍.…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 构建Web界面>,主要介绍系统界面布局.导出数据等. 本篇将介绍首页Portal界面拖拽. 一.首页Portal界面拖拽效果 效果对比,如下图所示. 具体实现代码 //在一起的用,分割,不在一起的用:分割 var local = 'p1,p4,p2:p3'; if ($.cookie("panelStates")) { local = $.cookie("panelStates"); }…
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 数据统计>,主要介绍系统数据统计所采用图形.报表工具. 本篇将如何构建Web界面以及新增.编辑.导出数据等功能. 一.在Web界面使用ParamQueryGrid控件 web界面,如图所示 新增.编辑功能就不详细讲了,看一下导出功能 通过选择导出列,选择导出内容 Dictionary<string, string> dic = new Dictionary<string, string>(); ; i…