code import { Injectable } from '@angular/core'; import { Subject } from 'rxjs/Subject'; @Injectable() export class CommonService { private notify = new Subject<any>(); /** * Observable string streams */ notifyObservable$ = this.notify.asObservable(…
http.provider.ts import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from "rxjs/Observable"; @Injectable() export class HttpProvider { constructor( private httpClient: HttpClient,…
1.项目中字符串特别是\r\n,替换成br之后,在页面换行无法生效? 答:绑定元素 innerHTML. <div class="panel-body" [innerHTML]="proTxt(iosPkg.ReleaseNotes)"></div> proTxt(txt: string) { return txt && txt.replace(/\r?\n/g, "<br />").repla…
View Code import { Component, OnInit } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { ConfigureService } from '../../configure/configure.service'; import { Router } from '@angular/router'; @Component({ selector: 'na…
View Code import { Component, HostListener, ElementRef } from '@angular/core'; import { Adal4Service } from '../../adal/adal4.service'; export class UserProfile { name: string; roleName: string } @Component({ selector: 'avatar', templateUrl: './avata…
view code <div class="fxs-breadcrumb-wrapper" aria-label="Navigation history"> <div class="fxs-breadcrumb-dropmenu"> <div class="fxs-dropmenu" role="presentation"> <div class="fxs…
import { Injectable } from '@angular/core'; import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpErrorResponse } from '@angular/common/http'; import { Observable } from "rxjs/Observable"; import { Adal4Service } from '../adal/adal4…
<div class="form-group row"> <label class="col-sm-2 col-form-label">会议Logo</label> <div class="col-sm-10"> <dx-file-uploader selectButtonText="选择图片" name="file" [multiple]="…
download() { const token = localStorage.getItem('token'); let headers: HttpHeaders = new HttpHeaders(); headers = headers .set('Authorization', 'Bearer ' + token); const url = 'http://localhost:8764/api/v1/user/downLoadZipFile'; this.http.get(url, {h…
import { Injectable, Pipe } from '@angular/core'; @Pipe({ name: 'orderBy' }) @Injectable() export class OrderBy { /* Takes a value and makes it lowercase. */ static _orderByComparator(a:any, b:any):number{ if((isNaN(parseFloat(a)) || !isFinite(a)) ||…
/^[1-9][0-9]{0,4}$/ /^[1-9][0-9]{0,4}(,[1-9][0-9]{0,4})*$/ /^([a-zA-Z0-9_\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/ ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ #正则表达式#数值加上千分符 '1234567890.12'.replace(/(\d)(?=(\d{3})+(\.|$))/g, '$1,')==='1,234…
1.手机端 图片预览组件 组件:sideshow 效果图:(预览图全屏 且可以左右移动)                  code: <div class="row ui-app-screenshot"> <img src="{{proUrl(pic.Url)}}" *ngFor="let pic of currApp.Pictures;let i = index;" (click)="onViewPicture(i…
view code panel.component.css :host { display:flex; min-width:300px } panel.component.html <header class="fxs-blade-header fxs-header fxs-blade-border fxs-trim-border fxs-trim fxs-blade-loaded"> <div class="fxs-blade-title-content&…
view code form.css :host { display: flex; width: 100%; height:100%; border-left:1px solid #ccc; } .invalid-box { border: 1px solid #a94442; } .invalid-error-tip { color: #a94442; } .select-box { width:308px; height: 22px; } label { line-height:20px;…
view code list.css :host { display: flex; width: 100%; border-left: 1px solid #ccc; font: normal 12px/20px \5B8B\4F53, Arial, Verdana, Lucida, Helvetica, simsun, sans-serif; } ul { margin:; padding:; } .version-container { width: 100%; overflow-x: hi…
main.css @font-face { font-family: 'wf_segoe-ui_normal'; src: local('Segoe UI'),url('../fonts/segoe-ui/west-european/normal/latest.woff2') format('woff2'),url('../fonts/segoe-ui/west-european/normal/latest.woff') format('woff'),url('../fonts/segoe-ui…
憋不住想说一下:angular坑太多,各种教程各种不完整,官网还只是简单的画饼充饥,没办法只有自己研究自己总结,便于以后提高工作效率. 第一种: view      code list.css :host { display: flex; width: 100%; border-left: 1px solid #ccc; } .fxs-contextMenu { width: 125px; margin-left: -115px; } .ext-ad-appslist-image { heigh…
愿历尽千帆,归来仍是少年 1.所需依赖 <!-- Redis依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--常用工具类 --> <dependency> <groupI…
在 Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置 这篇中,我们知道Spring Boot自动化配置的实现,主要由如下几部分完成: @EnableAutoConfiguration注解 SpringApplication类 spring-boot-autoconfigure jar包 spring.factories文件 官方提供的starter,大多包含两个jar包: 一个starter--没有任何实现,只用来管理依赖(spring.providers文件声明)…
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件.EasyNetQ则是基于官方.NET组件RabbitMQ.Client 的又一层封装,使用起来更加方便.本篇随笔主要大概介绍下RabbitMQ的基础知识和环境的准备,以及使用EasyNetQ的相关…
Apache Pulsar是一款由雅虎开发的类似于Kafka的企业级消息订阅系统,在2016将其开源,由Apach基金会孵化,现在已经成长为Apache基金会的顶级项目.Pulsar在雅虎内部已经运行了三年,服务于众多的应用,主要有雅虎邮箱.雅虎财务系统.雅虎运动.Flickr.Gemini广告平台以及雅虎分布式键值对存储系统Sherpa等. Pulsar相关概念. 为Pulsar提供数据的应用叫做生产者,而从Pulsar消费数据的应用被称为消费者,有时也称为订阅者.主题Topic是Pulsar…
本实例实现需求 在游戏SDK测试中,经常需要测试游戏中SDK的埋点日志是否接入正确.本实例通过抓包(客户端http/https 请求)来判定埋点日志是是否接入正确. 实现细节:使用django项目,后端采用python mitmdump 扩展脚本“log_handler.py”实时抓取与过滤4399SDK 客户端日志,将数据处理成约定需要的格式,保存和发布到redis中. 前端使用websocket连接,websocket服务端通过redis订阅对应游戏频道信息,实时输出游戏的客户端日志到web…
  1 ActiveMQ简介 1.1 ActiveMQ是什么 ActiveMQ是一个消息队列应用服务器(推送服务器).支持JMS规范. 1.1.1 JMS概述 全称:Java Message Service ,即为Java消息服务,是一套java消息服务的API标准.(标准即接口) 实现了JMS标准的系统,称之为JMS Provider. 1.1.2 消息队列 1.1.2.1 概念 消息队列是在消息的传输过程中保存消息的容器,提供一种不同进程或者同一进程不同线程直接通讯的方式. Producer…
一,为什么要更新caffeine缓存? 1,caffeine缓存的优点和缺点 生产环境中,caffeine缓存是我们在应用中使用的本地缓存, 它的优势在于存在于应用内,访问速度最快,通常都不到1ms就能做出响应, 缺点在于不方便管理,因为存在于多台负载均衡的web服务器上, 很难象管理redis缓存一样对它做出更新.删除. 2,通常我们会把caffeine缓存的时间设置为5分钟或10分钟, 但当有大型促销活动开始时,如果缓存还没过期, 则web服务显示的数据不会立刻得到更新, 我们如何更新多台w…
什么是 Redis Redis 是一个开源的使用 ANSI C语言编写的内存数据库,它以 key-value 键值对的形式存储数据,高性能,读取速度快,也提供了持久化存储机制. Redis 通常在项目中用的最多的功能是缓存,然而今天靓仔将为你介绍它的另一个功能,轻量级的消息队列. Redis 发布订阅 机制 Redis 提供了发布订阅功能,可以用于消息的传输,Redis 的发布订阅机制包括三个部分,发布者,订阅者和 Channel(称之为频道或主题). 发布者将消息发布到指定频道,订阅该频道的订…
一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,“消息队列”是在消息的传输过程中保存消息的容器. 在目前广泛的Web应用中,都会出现一种场景:在某一个时刻,网站会迎来一个用户请求的高峰期(比如:淘宝的双十一购物狂欢节,12306的春运抢票节等),一般的设计中,用户的请求都会被直接写入数据库或文件中,在高并发的情形下会对数据库服务器或文件服务器造成巨大的压力,同时呢,也使响应延迟加剧.这也说明…
NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例   一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,“消息队列”是在消息的传输过程中保存消息的容器. 在目前广泛的Web应用中,都会出现一种场景:在某一个时刻,网站会迎来一个用户请求的高峰期(比如:淘宝的双十一购物狂欢节,12306的春运抢票节等),一般的设计中,用户的请求都会被直接写入数据库或文件中,在高…
一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,“消息队列”是在消息的传输过程中保存消息的容器. 在目前广泛的Web应用中,都会出现一种场景:在某一个时刻,网站会迎来一个用户请求的高峰期(比如:淘宝的双十一购物狂欢节,12306的春运抢票节等),一般的设计中,用户的请求都会被直接写入数据库或文件中,在高并发的情形下会对数据库服务器或文件服务器造成巨大的压力,同时呢,也使响应延迟加剧.这也说明…
[阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人   初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后使用mqs应用到我的程序中在阿里云的ecs中运行. 先上一张图这是初体验结果 开始正文         本地模式        网络环境     阿里云服务器环境 初体验 之 准备测试 首先就是阅读一下阿里的文档,以及介绍这个事必要的,磨刀不误砍柴工功么!建议大概的通读一下,然后可以将入门指南仔细看…
一.消息队列场景简介 "消息"是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,"消息队列"是在消息的传输过程中保存消息的容器. 在目前广泛的Web应用中,都会出现一种场景:在某一个时刻,网站会迎来一个用户请求的高峰期(比如:淘宝的双十一购物狂欢节,12306的春运抢票节等),一般的设计中,用户的请求都会被直接写入数据库或文件中,在高并发的情形下会对数据库服务器或文件服务器造成巨大的压力,同时…