亚虎娱乐官方app中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
开源中国 - 找到您想要的开源项目,分享和交流 - 亚虎娱乐官方app_yahu999_亚虎国际pt客户端

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

玩转ActiveMQ与Zookeeper集群

MQ: Message Queue消息队列 ActiveMQ:Apache出品,最流行的,能力强劲的亚虎娱乐官方app消息总线。 用途和优点 1.将数据从一个应用程序传送到另一个应用程序,或者从yahu999的一个模块传送到另外一个模块; 2.负责建立网络通信的通道,进行数据的可靠传送; 3.保证数据不重复,不丢失; 4.能够实现跨平台操作; ActiveMQ应用场景 1,多个项目之间集成; 2,降低系统间模块的耦合度、解耦; 3,系统前后端隔离; 安装与配置 1.下载地址 http://activemq.apache.org/download.html 2.解压安装 tar -zxvf apache-activemq-5.15.3-bin.tar.gz -c /usr/local 3.重命名 mv apache-activemq-5.15.3 activemq 4.修改配置文件vim activemq/conf/activemq.xml 机器1.2.3修改集群名 三台机器必须一样 brokerName="activemq-cluster" 修改vim activemq/conf/activemq.xml持久化方式 <persistenceAdapter>    <replicatedLevelDB        directory="${activemq.data}/leveldb"        replicas="3"  //集群节点个数        bind="tcp://0.0.0.0.61621" //集群通讯端口        //zookeeper 集群地址        zkAddress="192.168.16.128:2181,192.168.16.130:2181,192....
木子道_ 亚虎国际pt客户端于 10小时前 阅读 40

“淘宝京东”构建流式计算卖家日志系统架构的应用实践

万变不离其宗
Java架构分享 亚虎国际pt客户端于 13小时前 阅读 59 评论 1 点赞 1

Ubuntu 17.10 下安装和使用 TIM 之草尼妈

其实我是不喜欢用 Ubuntu 的,但是因为之前系统出错,开机总是失败卡在一个什么 hostname.service 的地方(大概是这个样子忘记了),可能只有几十分之一的概率能正常进到系统,没办法只能重装系统了 你可能要问为什么不用原来的系统而要来用“不bu喜xi欢guan”的 Ubuntu,我只想说我也是很无耐。原来系统可能最近和我有仇,不但原系统进不了,连安装程序都不能正常用,要么就是进去刚到语言选择就死机,要么就是快安装完了安装grub引导的时候它去挂载efi分区时挂错硬盘了挂载失败安装被中断,也真是有仇了,这安装程序还不能手动处理后恢复继续安装(像debian那样多好,我就喜欢出错后手动解决 了再继续安装)。。。 第一次手动在 Linux 下一步一步安装配置和使用 TIM,只想说MMP,要在Linux下用windows的程序正是不容易。之前失败的过程就不说了,下面是现在我基本能正常使用的安装过程。先说下环境我现在用的是 Ubuntu 17.10 amd64 的系统。 首先照着winehq官方的安装教程把wine安装好,很简单,我就不写在这里了,我这里安装的是 winehq-devel 版,地址在这里 https://wiki.winehq.org/Ubuntu(还想说句MMP的就是,之前的系统也是用的rime输入法,里面的五笔词库很全,现...
呆萌虎 亚虎国际pt客户端于 15小时前 阅读 134 评论 1

Spring boot集成Elasticsearch Restful API案例分享

Spring boot集成Elasticsearch Restful API案例分享 The best elasticsearch highlevel java rest api-----bboss
bboss 亚虎国际pt客户端于 1天前 阅读 234

Smokeping快速安装指南

偶尔会用到Smokeping,隔久了全忘。 记录一下安装配置的核心步骤,以作备忘。
胡凯 亚虎国际pt客户端于 1天前 阅读 29

10款常见MySQL高可用方案选型解读

一、概述 我们在考虑MySQL数据库的高可用架构时,主要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。 用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致。 当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺失或者数据不一致而影响业务。 关于对高可用的分级我们暂不做详细的讨论,这里只讨论常用高可用方案的优缺点以及选型。 二、高可用方案 1 、主从或主主半同步复制 使用双节点数据库,搭建单向或者双向的半同步复制。在5.7以后的版本中,由于lossless replication、logical多线程复制等一些列新特性的引入,使得MySQL原生半同步复制更加可靠。 常见架构如下: 通常会和Proxy、Keepalived等第三方yahu999同时使用,即可以用来监控数据库的健康,又可以执行一系列管理命令。如果主库发生故障,切换到备库后仍然可以继续使用数据库。 优点: 架构比较简单,使用原生半同步复制作为数据同步的依据 双节点,没有主机宕机后的选主问题,直接切换即可 双节点,需求资源少,部署简单 缺点: 完全依赖于半同步复制,如果...
烂猪皮 亚虎国际pt客户端于 1天前 阅读 94 点赞 1

centos 手动安装mysql8

## 下载 官网太慢了,在清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/ ## 二进制版 二进制版是官方提供的预先编译好的版本 ### 下载二进制版发行包 ``` wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.11-el7-x86_64.tar.gz ``` ### 创建用户 ``` useradd mysql ``` ### 初始化 目录: ``` tar xvfz mysql-8.0.11-el7-x86_64.tar.gz cd mysql-8.0.11-el7-x86_64 ln -s $PWD /usr/local/mysql chown -R mysql:mysql /usr/local/mysql export PATH=$PATH:/usr/local/mysql/bin mkdir -p /var/log/mariadb chown -R mysql:mysql /var/log/mariadb mkdir -p /var/run/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/run/mariadb ``` 数据库: ``` mysqld --initialize --user=mysql ``` - 注意这一行日志: 2018-04-25T08:19:15.332554Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root[@localhost](https://my.oschina.net/u/570656): dCa0tyVgN1&o ### 检查配置 vi /etc/my.cnf 检查一下 /etc/my.cnf 中配置的 datadir 跟初始化时是否一样。 ``` ...
polly 亚虎国际pt客户端于 1天前 阅读 49 点赞 1

AQS简简单单过一遍

前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制了解一下 只有光头才能变强! 本来我是打算在这章节中写Lock的子类实现的,但看到了AQS的这么一个概念,可以说Lock的子类实现都是基于AQS的。 AQS我在面试题中也见过他的身影,但一直不知道是什么东西。所以本篇我就来讲讲AQS这个玩意吧,至少知道它的概念是什么,对吧~ 那么接下来我们就开始吧~ 一、AQS是什么? 首先我们来普及一下juc是什么:juc其实就是包的缩写(java.util.concurrnt) 不要被人家唬到了,以为juc是什么一个牛逼的东西。其实指的是包而已~ 我们可以发现lock包下有三个抽象的类:     AbstractOwnableSynchronizer AbstractQueuedLongSynchronizer AbstractQueuedSynchronizer 通常地:AbstractQueuedSynchronizer简称为AQS 我们Lock之类的两个常见的锁都是基于它来实现的:     那么我们来看看AbstractQueuedSynchronizer到底是什么,看一个类是干什么的最快途径就是看它的顶部注释     通读了一遍,可以总结出以下比较关键的信息: AQS其实就是一个可以给我们实现锁的框架 内部实现的关键是:先进先出的队列、state状态 定...
Java3y 亚虎国际pt客户端于 1天前 阅读 29

Chrome下载音频文件,而不是打开播放

项目中遇到一个问题,存放在七牛云的文件,在chrome中点击a标签下载文件。
kidou 亚虎国际pt客户端于 2天前 阅读 61

如何实现一个优质的微服务框架:Apache ServiceComb 的开放性设计

一个优质的微服务框架需要考虑的要素众多,在满足微服务设计理念的前提下,也是一个不断实践优化的过程。 本文讲述了整个 亚虎娱乐官方app微服务框架 Apache ServiceComb 设计形成的前因后果,尝试从理念、思想和实践结合的维度剖析一个优质的微服务框架应该具备哪些要素,包括但不限于 对开发者友好、高性能、内外部扩展性等。 阅读本文有利于加深对微服务理念和框架的理解,给予微服务用户或开发者以帮助,这也是 Apache ServiceComb 的前身华为云微服务引擎的智慧结晶,从细节处承载了华为云自身多年云化转型的经验。
ServiceComb 亚虎国际pt客户端于 2天前 阅读 2755 评论 10 点赞 2 打赏 1

以太坊预言机与智能合约开发

什么是以太坊预言机?智能合约就其性质而言,能够运行各种算法并可以存储和查询数据。预言机可以监控区块链事件并能将监控结果发回智能合约。因为每个节点每次都需要大量计算,所以从Ethereum智能合约开发中进行频繁的网络请求是切不实际的。这样,智能合约就可以与链外的世界进行互动了。 但是这样有一个明显的信任问题。与信任单一外部数据源的分布式智能合约有些矛盾。不过这可以通过让多个独立的预言机来响应相同的查询最终形成共识来缓解这个问题。 有关预言机的更多信息,请查看在分布式应用程序之间提供“可靠连接”的FinTech公司Oraclize。 他们对预言机的解释很不错。 ### The [Tinypay.co](http://tinypay.co/) DNS Oracle Tinypay的预言机做了三件简单的事情: 1. 从合同中提取'ClientCreated'事件 2. 使用来自事件的数据验证DNS记录 3. 域名确认后,向合约发送'ConfirmClient'交易 我经历了几次迭代,最终实现了,我希望通过它们来引导您了解以太坊的发展。 ### 你也可以直接用RPC,不过似乎不应这么干 我第一次写预言机,我用了Go-Ethereum。我想直接使用RPC API与Ethereum节点进行所有通信。 这很有趣,因为我能够学习很多关于以太坊协议如何进行存储和数...
笔阁 亚虎国际pt客户端于 2天前 阅读 127

高可用负载均衡:亚虎娱乐官方appPaaS Rainbond组件Rainbond-Entrance揭秘

负载均衡(Load Balancing)是亚虎娱乐官方appPaaS Rainbond的亮点功能,主要由“yahu999定义负载均衡”Rainbond-Entrance控制器完成。 本文将围绕设计架构和实现介绍Rainbond-Entrance。 #### 为什么需要负载均衡 Rainbond内部网络划分支持多租户,每个租户都有一个私有的IP段,不同租户的网络相互不可见。当我们把一个容器化应用部署到Rainbond,Rainbond会为该容器分配一个内部IP,用于同一租户中不同应用在集群内部的通信,而集群外部无法直接访问,因此我们需要有一个集群入口控制器,以便用户可以方便地访问这些应用。 另外,Rainbond中部署的每个应用都可以有多个实例,即假设我们为一个WEB应用部署了三个实例,每个实例分担一部分流量,我们就需要这三个实例前增加负载均衡控制器来完成分发流量的工作。 除了上述的基本功能以外,负载均衡控制器还必须支持更多功能,例如: * 入口控制器能够根据数据包信息(如协议、端口号、主机名等)将请求转发给指定的应用 * 实时发现集群中应用的变化(如添加自定义域名、添加证书、添加端口等)并动态更新自身的转发规则 * 同时支持HTTP、TLS、TCP、UDP协议,因为有时不只WEB应用需要向外提供服条,RPC、MySQL等也需要对外开放 * 支持高可用...
好雨云帮 亚虎国际pt客户端于 2天前 阅读 95

Minidao 1.5.1 - 我认为这是一个不严谨的错误

这里输入引用文本由于项目中使用了minidao 1.5.1,hibernate的增删改查不需要书写sql语句的地方造成程序运行的时候出现了连接池泄露,数据库连接数一直在300以上。
andotorg 亚虎国际pt客户端于 2天前 阅读 174

shell特殊符号cut命令sort_wc_uniq命令 tee_tr_split命令 shell特殊符号下

cut sort wc uniq tee tr split命令 • cut 分割,-d 分隔符  -f 指定段号   -c 指定第几个字符 cut -d ":" -f 1 /etc/passwd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 2,4 /etc/paaswd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 1-3 /etc/passwd 截取/etc/passwd文件中以:分割的1到3段 head -n 3 /etc/passwd |cut -d":" -f 1 /etc/passwd 的前三行截图第一段 cut -c 6 /etc/passwd 提取每行的第六个字符 cut -c 1-8 /etc/passwd 提取每行的前八个字符 • sort 排序, -n 以数字排序 -r 反序  -u 去重复 -t 分隔符 -kn1/-kn1,n2 sort /etc/passwd sort不加任何选项,则从首字符向后,依次按ASCII码值进行比较, 最后将它们按升序输出。 head -n 5 /etc/passwd |sort -t: -k3 -n root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin -t后面跟分割符,-k后面跟数字,表示第几个区域的字符串排序,-n则表示使用纯数字排序。 head -n5 /etc/passwd | sort -t: -k3,5 -r lp:x:4:7:lp:/var/spool/lpd:/s...
laoba 亚虎国际pt客户端于 2天前 阅读 72

Elastic X-Pack 代码已公开并上线

几个小时前, Elastic 商业插件 X-Pack 的源代码已正式 Merge 进 Master,作为一家亚虎娱乐官方appyahu999公司,能够将商业部分的代码也公开,实在是需要很大的勇气(我深感自豪),这一切都是为了更好的打造一个更加好用的产品:Elastic Stack,只有开放才能走的更远! 想了解更多关于 X-Pack 代码公开背后的介绍,可以看 Elastic 创始人 Shay 的这篇博客:[https://elasticsearch.cn/article/513](https://elasticsearch.cn/article/513) 相关代码已在 github 上面可以找到: [Elasticsearch](https://github.com/elastic/elasticsearch/tree/master/x-pack) [Kibana](https://github.com/elastic/kibana/tree/master/x-pack) [Logstash](https://github.com/elastic/logstash/tree/master/x-pack) [Beats](https://github.com/elastic/beats/tree/master/x-pack) 有关问题可以在此回复,我会一一解答。...
Medcl 亚虎国际pt客户端于 2天前 阅读 275 评论 2

深入以太坊智能合约 ABI

开发 DApp 时要调用在区块链上的 Ethereum 智能合约,就需要智能合约的 ABI。本文希望更多了解 ABI,如为什么需要 ABI?如何解读 Ethereum 的智能合约 ABI?以及如何取得智能的 ABI? ![数字猫合约 ABI](https://static.oschina.net/uploads/img/201804/24232643_QKn7.png) ### ABI(Application Binary Interface) 如果理解 API 就很容易了解 ABI。简单来说,API 是程序与程序间互动的接口。这个接口包含程序提供外界存取所需的 functions、variables 等。ABI 也是程序间互动的接口,但程序是被编译后的 binary code。所以同样的接口,但传递的是 binary 格式的信息。所以 ABI 就要描述如何 decode/encode 程序间传递的 binary 信息。下图以 Linux 为例,描述 Linux 中 API、ABI 和程序的关系。 ![Linux API and ABI](https://static.oschina.net/uploads/img/201804/24232727_M5ni.png) ### 编译和部署智能合约 在 Ethereum 智能合约可以被大家使用前,必须先被部署到区块链上。 从智能合约的代码到使用智能合约,大概包含几个步骤: 1. 编写智能合约的代码(一般是用 Solidity 写) 2. 编译智能合约的代码变成可在 EVM 上执行的 bytecode(binary code)。同时可以通过...
笔阁 亚虎国际pt客户端于 2天前 阅读 138

微服务中 Dubbo 和 Spring Cloud 架构技术路线对

微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的亚虎娱乐官方app微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。 微服务主要的优势如下: 1、降低复杂度 将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。每个服务开发者只专注服务本身,通过使用缓存、DAL等各种技术手段来提升系统的性能,而对于消费方来说完全透明。 2、可独立部署 由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需要亚虎国际pt客户端相关服务的迭代即可,降低了测试的工作量同时也降低了服务亚虎国际pt客户端的风险。 3、容错 在微服务架构下,当某一组件发生故障时,故障会被隔离在单个服务中。 通过限流、熔断等方式降低错误导致的危害,保障核心业务正常运行。 4、扩展 单块架构应用也可以实现横向扩展,就是将整个应用完整的复制...
烂猪皮 亚虎国际pt客户端于 2天前 阅读 827 评论 3 点赞 2

EMQ百万级MQTT消息服务(TLS Docker Golang)

![](http://i.imgur.com/vhdeDvX.png) 附上: 喵了个咪的博客:[w-blog.cn](w-blog.cn) EMQ官方地址:[http://emqtt.com/](http://emqtt.com/) EMQ中文文档:[http://emqtt.com/docs/v2/guide.html](http://emqtt.com/docs/v2/guide.html) ## 1.TLS证书验证 为了保障安全.我们常常会使用HTTPS来保障请求不被篡改,作为MQTT使用TLS加密的方式来保障传输安全 EMQ默认使用的TLS加密的端口是8883端口,默认证书在EMQ目录下etc/certs: ![](http://pic.w-blog.cn/DB6FF723-F67B-4DE3-BACC-F5FA254D78BE.png) 对应的配置文件在emq.conf中,可以修改你的端口和配置文件路径 ``` listener.ssl.external = 8883 listener.ssl.external.keyfile = etc/certs/key.pem listener.ssl.external.certfile = etc/certs/cert.pem ``` > PS:在链接的时候注意需要从之前的链接前缀做如此修改 tcp:// -> ssl:// ## 2.使用Docker部署EMQ 使用Docker部署EMQ很方便版本升级,端口管理和单节点多EMQ等,对于性能来说基本没有带来额外的开销 但是官方并没有提供对于直接可以用的Docker镜像,但是提供的GIT大家可以自己打包以及压缩包,笔者因为使用这里打成了公共进行如下(2.3.5往上版本都会进维护): ``` regist...
喵了_个咪 亚虎国际pt客户端于 2天前 阅读 369

Quartz调度源码分析

前言 上一篇文章Quartz数据库表分析介绍了Quartz默认提供的11张表,本文将具体分析Quartz是如何调度的,是如何通过数据库的方式来现在分布式调度。 调度线程 Quartz内部提供的调度类是QuartzScheduler,而QuartzScheduler会委托QuartzSchedulerThread去实时调度;当调度完需要去执行job的时候QuartzSchedulerThread并没有直接去执行job, 而是交给ThreadPool去执行job,具体使用什么ThreadPool,初始化多线线程,可以在配置文件中进行配置: org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount: 10 org.quartz.threadPool.threadPriority: 5 常用的线程池是SimpleThreadPool,这里默认启动了10个线程,在SimpleThreadPool会创建10个WorkerThread,由WorkerThread去执行具体的job; 调度分析 QuartzSchedulerThread是调度的核心类,具体Quartz是如何实现调度的,可以查看QuartzSchedulerThread核心源码: public void run() { boolean lastAcquireFailed = false; while (!halted.get()) { try { // check if we're supposed to pause... synchronized (sigLock) { ...
ksfzhaohui 亚虎国际pt客户端于 2天前 阅读 329 点赞 4

ElasticSearch5.4.3离线搭建

  1、ElasticSearch简介 ElasticSearch 是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch 是用Java开发的,并作为Apache许可条款下的开放源码亚虎国际pt客户端,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch 来解决所有这些问题以及可能出现的更多其它问题。 2、部署准备 2.1、环境准备 elasticsearch-5.4.3.tar.gz jdk-8u161-linux-x64.tar.gz 可用的yum源 可联网的Linux环境一台(不安装插件则不需要) 2.2、节点配置信息 IP地址 主机名 192.168.23.1 risen01 192.168.23.2 risen02 192.168.23.3 risen03   2.3、节点资源配置信息 IP地址 角色 192....
ByCoder 亚虎国际pt客户端于 3天前 阅读 279 评论 1 点赞 2

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

如何将任意数据保存到以太坊区块链?

虽然有北大博士讲,95%的区块链项目都没有前途,但我们知道区块链还是有它的优势,比如数据的不可篡改性对于版权保护有相当大的意义,而地址的匿名性则有其他潜在的用途。那么,如何将任意数据,比如图像或文本写入以太坊区块链呢?本文将讲解如何使用web3.js实现这一功能并给出相应的实现代码。 实现任意数据上链的核心是[web3.eth.sendTransaction()](https://blog.csdn.net/shebao3333/article/details/80077975)方法的使用,我们将借助一个转账交易来完成任意数据上链的任务。在要发送的交易对象中,使用`data`字段就可以传入任意的16进制字符串。 ## 将数据转换为16进制字符串 我们可以使用[web3.toHex()](https://blog.csdn.net/shebao3333/article/details/80062811)方法将一个字符串转换为16进制字符串: ``` let data = web3.toHex('你可以将任意数据写入以太坊区块链') ``` 得到的data值为:`0x4f6053ef4ee55c064efb610f6570636e519951654ee5592a574a533a575794fe`。 当然不一定需要使用`web3.toHex()`方法,可以使用任何能够得到16进制串的方法,例如在NodeJS中使用`Buffer`: ``` let data = '0x' + Buffer.from('使用Buffer更好处理图像数据').toString('hex'...
汇智网教程 亚虎国际pt客户端于 5小时前 阅读 10

JavaSE——装饰流

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 装饰流: 介绍:有两种流,一种是处理运输速度的流,一种是处理具体产品的流,一次读一个反而速度比较慢,要一次读一批,而且这一批不能太大,这个一批就是以8k为主就行了 如果是读取上来的每次都是100字节,那样的话速度就会很慢,那就需要先读上8k把它放到内存先缓存起来,然后慢慢的提供给它用,等他不够的时候我在读8k上来缓存,那就要在这个环节建立一个缓存机制,这样的话我每次都屯8k在这里,用完之后又给你屯8k在缓存里面 例题:使用BufferedInputStream流处理照片 如下图,前面54个字节就是头,后面每3个字节描述一个像素,描述的方式是BGR,首先把图片转成bmp格式的,建立一个输入和输出通道,然后把它的头读取出来,然后在把这54个字节写出去,写个死循环,每次读一个字节出来,如果加上BufferedInputStream流速度就更快了 BufferedOutputStream 清理缓存就是清理最后一点点数据写入文件之中,直接用close的话也行 ObjectOutputStream 如下图:可以通过ObjectOutputStream转换成字节,可以通过FileOutputStream输出数据...
凯哥学堂 亚虎国际pt客户端于 7小时前 阅读 5

Chorme dev tools的小技巧技巧

[改日再战](https://www.w3cplus.com/tools/15-must-know-chrome-devtools-tips-tricks.html)
莫西摩西 亚虎国际pt客户端于 6小时前 阅读 5

Spring之AOP的实现

spring AOP
Izecson 亚虎国际pt客户端于 5小时前 阅读 5

给老婆的一篇文章

老婆公司有个这样的需求: > 查询出王者荣耀的用户回流信息,当用户连续两天登陆,则判定为2日回流,如果间隔一天登陆,则判定为3日回流,如果间隔5天登陆,则判定为7日回流。用户数据间隔时间短为14天(固定)。 ## 准备数据 ## database语法和mysql一致。 创建表: ``` create table user_login( u_id int, login_date timestamp default current_timestamp ); ``` 插入数据: ``` DELIMITER // create procedure loop_insert() begin declare days int; declare usrs int; declare mx int; declare i int; set days = 14; set usrs = 30; set mx = 500; set i = 1; repeat insert into user_login(u_id,login_date) values (floor((RAND() * usrs)),subdate(sysdate(),(RAND() * (days+1)))); set i = i + 1; until i >= mx end repeat; end// ``` ``` call loop_insert(); ``` 最开始我想到的是用`group_concat`,sql是这样: ``` SELECT u_id, group_concat(distinct DATE_FORMAT(login_date, '%Y%m%d') order by DATE_FORMAT(login_date, '%Y%m%d') desc separator '-') AS yyyymmdd FROM user_login GROUP BY u_id; ``` ![输入图片说明](https://static.oschina.net/...
caiyongji 亚虎国际pt客户端于 7小时前 阅读 4

Mac下的shell命令总结

1.wget 与 curl wget/curl都为下载文件命令,但是使用的平台不一样。 wget命令可以在Linux下使用,但是MacOS x不自带wget,不过可以在Mac下用curl,如果需要使用wget命令,则需要安装,这里我们在Mac平台默认使用curl命令下载文件。 Mac平台使用wget会找不到命令: MacdeMacBook-Pro-3:python mac$ wget http://labfile.oss.aliyuncs.com/courses/499/lab2.zip -bash: wget: command not found 关于curl工具介绍: curl 是一个传输文件(上传/下载)的命令行工具,它支持FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE 和 LDAP 等多种协议。在 Mac OS X 里已经预装了curl,主要用它来下载文件。 基本用法: curl [选项][下载地址] curl命令参数: curl 'url地址' curl [选项] 'url地址' curl -O 'url' curl -L -O 'url' curl -o output.file.name.here 'url-here' curl -o foo.pdf 'http://server1.cyberciti.biz/foo.pdf' 如果你只是指定网络地址,而没有使用其它选项,那么将直接在屏幕上显示文件的内容,这里,压缩的文件会以乱码显示在屏幕: curl示例: 从服务器aliyuncs下载lab2.zip文件 curl -o mylab2.zip http://labfile.oss.aliyuncs.com/cours...
ghou-靠墙哭 亚虎国际pt客户端于 3个月前 阅读 18

【MyBatis】学习纪要六:动态SQL

## 引言 动态SQL:Dynamic SQL。 本节我们来通过 MyBatis 的官方文档进行学习。 ## Description(描述) 官方描述如下: >One of the most powerful features of MyBatis has always been its Dynamic SQL capabilities. If you have any experience with JDBC or any similar framework, you understand how painful it is to conditionally concatenate strings of SQL together, making sure not to forget spaces or to omit a comma at the end of a list of columns. Dynamic SQL can be downright painful to deal with. > >While working with Dynamic SQL will never be a party, MyBatis certainly improves the situation with a powerful Dynamic SQL language that can be used within any mapped SQL statement. > >The Dynamic SQL elements should be familiar to anyone who has used JSTL or any similar XML based text processors. In previous versions of MyBatis, there were a lot of elements to know and understand. MyBatis 3 greatly improves upon this, and now there are less than half of those elements to work with. MyBatis employs...
小冯少爷 亚虎国际pt客户端于 6小时前 阅读 4

Win10 跳跃预览版推出更高级功能

微软近日推送了Windows 10 Build 17643跳跃预览版,在该版本当中,Linux / WSL子系统的文本复制、粘贴功能在Linux/WSL子系统当中可用。要试用此功能,在控制台的“选项”属性页面中启用“使用Ctrl + Shift + C / V作为复制/粘贴”选项(查看下面的图像以供参考)。微软还提到,可以为每个Shell或快捷方式独立设置此项。 微软表示,如果将快捷方式固定到用户自定义的shell(例如Cmd / PowerShell / Linux)到任务栏,并通过这些快捷方式启动的主机,你的设置将只能受影响的快捷键生效。 如果通过“开始”菜单或“运行”启动相同的shell,则不应用个人设置。 原文来自:https://www.ithome.com/html/win10/355308.htm
linuxprobe16 亚虎国际pt客户端于 14小时前 阅读 3

webSocket和socket.IO

http://nodejs.cn/api/https.html HTTP难以实现实时数据传输 1长轮询 ajax 2长连接 websocket 协议能够让 浏览器和服务器互相通信,服务器也能主动通知客户端 原理: 利用http请求产生握手,http头部憨厚webSocket协议的请求,握手之后,两者使用tcp协议进行交流 (qq的协议) 2.websocket协议需要浏览器和服务器同时支持 node 0 apache 7.02 nginx 1.3 网址:http://socket.io/ 先要npm下载这个库 npm install socket.io socket.io 还为不支持webSocket协议浏览器,提供了长轮询的透明模拟机制 var http=require("") 当server创建出来之后,调用io函数,取得一个socket对象 var socket=io(); - 写原生的JS,搭建一个服务器,server创建好之后,创建一个io对象 ``` var http = require("http"); var server = http.createServer(function(req,res){ res.end("你好"); }); var io = require('socket.io')(server); //监听连接事件 io.on("connection",function(socket){ console.log("1个客户端连接了"); }) server.listen(3000,"127.0.0.1"); ``` 写完这句话之后,你就会发现,http://127.0.0.1:3000/socket.io/socket.io.js 就是一个js文件的地址了。 此时,在服务器上,a...
droden 亚虎国际pt客户端于 2周前 阅读 21

为创世纪图书馆(Library Genesis)作镜像

简介 Library Genesis的Wikipedia条目中的介绍是: Library Genesis or LibGen is a search engine for articles and books on various topics,which allows free access to content that is otherwise paywalled or not digitized elsewhere. Among others it carries PDFs of content from Elsevier's ScienceDirect web-portal. In 2015, the website became involved in a legal case when Elsevier accused it of providing pirate access to articles and books. LibGen is reported to be registered in both Russia and Amsterdam, making it unclear which legislation applies, and whether defendants will show up in a United States court hearing. LibGen is blocked by a number of ISPs in the United Kingdom, but such DNS-based blocks are claimed to do little to deter access. In late October 2015, a New York district court ordered LibGen to shut down and to suspend use of the domain name (libgen.org), but the site is accessible through alternate domains. As of July 2016, the database contains more than 52 mi...
NeoYoung 亚虎国际pt客户端于 3天前 阅读 6

Top K Frequent Words

问题: Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted by frequency from highest to lowest. If two words have the same frequency, then the word with the lower alphabetical order comes first. Example 1: Input: ["i", "love", "leetcode", "i", "love", "coding"], k = 2 Output: ["i", "love"] Explanation: "i" and "love" are the two most frequent words. Note that "i" comes before "love" due to a lower alphabetical order. Example 2: Input: ["the", "day", "is", "sunny", "the", "the", "the", "sunny", "is", "is"], k = 4 Output: ["the", "is", "sunny", "day"] Explanation: "the", "is", "sunny" and "day" are the four most frequent words, with the number of occurrence being 4, 3, 2 and 1 respectively. Note: You may assume k is always valid, 1 ≤ k ≤ number of unique elements. Input words contain only lowercase letters. Follow up: Try to solve it in O(n log k) time and O(n) extra space. 解决: ① 使用PriorityQueue排序 class Soluti...
叶枫啦啦 亚虎国际pt客户端于 3个月前 阅读 18

vue 路由 懒加载

路由懒加载 当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。 结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载。 首先,可以将异步组件定义为返回一个 Promise 的工厂函数 (该函数返回的 Promise 应该 resolve 组件本身): const Foo = () => Promise.resolve({ /* 组件定义对象 */ }) 第二,在 Webpack 2 中,我们可以使用动态 import语法来定义代码分块点 (split point): import('./Foo.vue') // 返回 Promise 注意:如果您使用的是 Babel,你将需要添加 syntax-dynamic-import 插件,才能使 Babel 可以正确地解析语法。 结合这两者,这就是如何定义一个能够被 Webpack 自动代码分割的异步组件。 const Foo = () => import('./Foo.vue') 在路由配置中什么都不需要改变,只需要像往常一样使用 Foo: const router = new VueRouter({ routes: [ { path: '/foo', component: Foo } ] }) 把组件按组分块 有时候我们想把某个路由下的所有组件都打包在同个异步块 (chunk) 中。只需要使用 命名 chunk,一个特殊...
阿豪boy 亚虎国际pt客户端于 3个月前 阅读 53

JPA关系映射之one-to-one、one-to-many、many-to-one和many-to-many

SpringDataJPA是Spring Data的一个子项目,通过提供基于JPA的Repository极大的减少了JPA作为数据访问方案的代码量,你仅仅需要编写一个接口集成下SpringDataJPA内部定义的接口即可完成简单的CRUD操作。
郑龙飞 亚虎国际pt客户端于 2个月前 阅读 35 评论 2

nodejs+socket.io用nginx反向代理提示400 Bad Request及ws://…无法连接的解决方法

socket.io 提示:400 Bad Request ws://
Deacyn 亚虎国际pt客户端于 2个月前 阅读 35

poi对word的操作

    excle因为是单元格为单位,所以操作十分简便,相对于它来说,word操作相对复杂一些,word操作主要用来做文本内容的替换来实现动态生成word,下面把我对这一块的思想,以及操作进行一下总结。     0.和excle一样有一个老版本的文件格式为doc格式,对应对象名称为HWPFDocument,最新的docx格式对应的对象为XWPFDocument,这里以后者为例。因为在工作中处理表格,一般抬头为一行描述,如标题年月日名称等,然后下面是表格内容填充这种形式,所以以下操作就以这种文件内容作为处理对象举例。     1.XWPFDocument docx = new XWPFDocument(inputstream);// word主要就通过传入文件流的方式进行实例化。     2.List<XWPFParagraph> allXWPFParagraphs = docx.getParagraphs(); 拿到文本段落 一行数据为一个XWPFParagraph对象。         遍历上面的allXWPFParagraphs -> for (XWPFParagraph xwpfParagraph : paragraphs)        通过List<XWPFRun> run = xwpfParagraph.getRuns();拿到段落中的文本 以符号或者不同数据类型终结,就像是一句话会以句号结束。         遍历上面 话语集合 -> for (int i = 0; i < run.size(); i++)         run.get(i)...
huaizhe 亚虎国际pt客户端于 2个月前 阅读 22

JDK8中LinkedList的工作原理剖析

LinkedList虽然在日常开发中使用频率并不是很多,但作为一种和数组有别的数据结构,了解它的底层实现还是很有必要的。 在这之前我们先来复习下ArrayList的优缺点,ArrayList基于数组的动态管理实现的,数组在内存中是一块连续的存储地址并且数组的查询和遍历是非常快的;缺点在于在添加和删除元素时,需要大幅度拷贝和移动数据,还要考虑是否需要扩容操作,所以效率比较低。 正是由于上面的不足,才出现了链表的这种数据结构,首先链表在内存中并不是连续的,而是通过引用来关联所有元素的,所以链表的优点在于添加和删除元素比较快,因为只是移动指针,并且不需要判断是否扩容,缺点是查询和遍历效率比较低下。 首先,我们先看下LinkedList的继承结构: ```` public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable ```` 从上面的源码里面可以看到: LinkedList继承了AbstractSequentialList是一个双向链表,可以当做队列,堆栈,或者是双端队列。 实现了List接口可以有队列操作。 实现了Deque接口可以有双端队列操作 实现了Cloneable接口既可以用来做浅克隆 实现了Serializable接口可以用来做网络传输和持久化...
九劫散仙 亚虎国际pt客户端于 2个月前 阅读 23

腾讯云上安装代理服务器(SQUID)

通常在一些办公环境对外网IP进行了限制,此时就可以通过代理服务器绕过限制,访问随意的访问网站了 1.安装squid yum install squid 2.配置 vi /etc/squid/squid.conf 修改 http_access deny all为http_access allow all http_port 8000 新增配置 dns_nameservers 8.8.8.8 cache_mem 60 MB  3.创建交换目录 # cd /usr/sbin/ # ./squid -z 4.启动并检查 # ./squid # netstat -ntl 5.在IE中设置代理服务器 填写自己的云服务器IP地址与端口 打开网页测试....OK 6.设置squid开机启动 chkconfig --level 35 squid on     更详细的设置可以参考:https://blog.csdn.net/zzulp/article/details/17763527
特拉仔 亚虎国际pt客户端于 3周前 阅读 23

自定义horizon插件

此例子是基于ocata版本horizon的自定义了一个插件。帮助对于horizon自定义dashbaord及panel的了解。要求对Python、HTML和JavaScript(AngularJS)有基本的了解。 仓库命名¶ 不用说,选择一个有意义的存储库名称很重要。此外,如果您计划在您的dashboard插件上支持翻译,建议选择一个类似于xxxx-dashboard的名称(或xxxx-ui. xxx-horizon)。OpenStack CI infra脚本将这些后缀视为Django项目。 文件结构¶ 整个插件目录结构如下: xxxx-dashboard │ ├── xxxxdashboard │ ├── __init__.py │ │ │ ├── enabled │ │ ├──_90000_mydashboard.py │ │ ├──_90010_mygroup_panel_group.py │ │ └──_90011_mypanel.py │ │ │ ├── api │ │ ├──__init__.py │ │ ├── my_rest_api.py │ │ └── myservice.py │ │ │ ├── dashboards │ │ ├──__init__.py │ │ └── mydashboard │ │ ├──__init__.py │ │ ├──dashboard.py │ │ ├── mypanel │ │ │ ├── __init__.py │ │ │ ├── panel.py │ │ │ ├──...
JennerLuo 亚虎国际pt客户端于 1周前 阅读 8

微信小程序之多文件下载的简单封装

微信小程序之多文件下载的简单封装
quanke_ 亚虎国际pt客户端于 3个月前 阅读 300 点赞 1

Pour Water

问题: We are given an elevation map, heights[i] representing the height of the terrain at that index. The width at each index is 1. After Vunits of water fall at index K, how much water is at each index? Water first drops at index K and rests on top of the highest terrain or water at that index. Then, it flows according to the following rules: If the droplet would eventually fall by moving left, then move left. Otherwise, if the droplet would eventually fall by moving right, then move right. Otherwise, rise at it's current position. Here, "eventually fall" means that the droplet will eventually be at a lower level if it moves in that direction. Also, "level" means the height of the terrain plus any water in that column. We can assume there's infinitely high terrain on the two sides out of bounds of the array. Also, there could not be partial water being spread out evenly on more than 1 grid block - each unit of water has to be in exactly one block. Example 1: Input: heights =...
叶枫啦啦 亚虎国际pt客户端于 3个月前 阅读 30

如果亚虎娱乐官方app领域里没有了这些yahu999,那我们还有什么?

不妨设想这样一个极端的场景,如果我们平时使用的由国外开发者主导的亚虎娱乐官方app项目被限制使用了,我们还有什么?事实上,凭借中国开发者对于亚虎娱乐官方appyahu999的贡献和自身实力的提升,我们已经打造了很多优秀的亚虎娱乐官方appyahu999。
编辑部的故事 亚虎国际pt客户端于 2天前 阅读 2736 评论 42 点赞 4

京东首席架构师:618大促网关承载十亿调用量背后的架构实践

618大促,我们的网关承载了几十亿的流量和调用,在这种情况下,网关系统必须保证整个系统的稳定性和高可用,保证高性能和可靠,以支撑业务。我们面临的是一个非常复杂的问题,基于这种复杂问题,怎样做到很好地提高它的性能和稳定性、复杂技术之间怎么整合保证整体网关的高可用,是本文的重点。 一、网关涵盖技术 1.1 网关系统 网关系统主要有两种: 第一种叫客户端网关主要用来接收一些客户端的请求,也就是APP的服务端; 第二种叫开放网关,主要是公司(比如京东)对于第三方合作伙伴提供接口。 这两种不同网关所使用的技术非常类似。 流量比较大的网关面临的难点包括: 第一,网关系统需要扛几十亿的流量调用,接口的平稳运行、每一个接口在后端服务之后的性能耗损都非常重要。比如我们使用了一个Redis集群,然后构建了两个机房,每一个机房都搭建了一个Redis集群,这样的话就能够很好地保证高可用。在面对一个瞬间流量的时候,我们采用了一些缓存技术,或者更前置的Nginx+lua+Redis技术,让这种大流量应用能够脱离开JVM的依赖。还有我们需要梳理各个接口,通过降级的策略把一些弱依赖的接口进行降级,从而保证核心应用的可用。 第二,网关系统其实就是一个把Http请求拓...
高级架构师 亚虎国际pt客户端于 4天前 阅读 1717 评论 1

JHipster修改JDL中的entity

## 更新model #### 需求 ``` 概览表增加"创建时间,修改时间,软删除" ``` #### 以往的方式 ###### 1. 修改model.jh, 在实体 Overview 中增加三个属性 ``` /** * 数据概览 -- 概览 */ entity Overview { id Long, ... /* 以下属性为新增的属性 */ /* 创建时间 */ createTime ZonedDateTime, /* 更新时间 */ updateTime ZonedDateTime, /* 是否删除 */ delFlag Boolean, } ``` ###### 2. 生成配置文件 ``` jhipster import-jdl model.jh ``` ###### 3. 运行项目使配置生效 ``` 运行项目时提示"Validation Failed",原因是配置文件的MD5值不同, 此时需要以下操作 1. 修改 DATABASECHANGELOG 表中相关记录的 MD5SUM 2. 在overview表中手动新增三个属性. ``` #### 现在的方式 ###### 1. 修改model.h, 在实体 Overview 中增加三个属性 ###### 2. 生成配置文件 ###### 3. 修改生成的配置文件 ``` src/main/resources/config/liquibase/changelog/20180302095615_added_entity_Overview.xml 将 changeSet中新增的三个column提取至新的changeSet中, 如下: 注意: changeSet的id不能与之前的相同 ``` ###### 4. 运行项目使配置生效 ``` 不需要手动修改MySQL,自动生效 ```...
tianshl 亚虎国际pt客户端于 2个月前 阅读 24240

Java中的OneToMany

### 写在开头 ``` 使用jhipster声明的OneToMany在One的一方DTO中是没有与Many的DTO的映射关系的, 为了在One的一方DTO中使用Many的DTO, 使用以下三步解决此问题。 ``` ### 步骤 ``` 1. OneDTO 中的"mark 1"处为自己写的一对多的关系, 此处变量名称不能与实体One中相应的变量名称一致,否则编译失败。 2. OneMapper 中的"mark 2"处 uses属性添加ManyMapper。 2. OneMapper 中的"mark 3"处使用@Mapping注解声明 Entity 转 DTO 的映射关系。 ``` ### Entity ``` @Entity @Table(name = "one") public class One { ... @OneToMany(mappedBy = "one") private Set manys = new HashSet<>(); ... public void setManys(Set manys) { this.manys = manys; } public Set getManys() { return manys; } } @Entity @Table(name = "many") public class Many { ... @ManyToOne private One one; } ``` ### DTO ``` public class OneDTO { ... // mark 1 private Set manyDTOS = new HashSet<>(); ... public void setManyDTOS(Set manyDTOS) { this.manyDTOS = manyDTOS; } public Set getManyDTOS() { return manyDTOS; } } public class ManyDTO { ... private Long oneId; ... public...
tianshl 亚虎国际pt客户端于 3个月前 阅读 35371

完整微服务化示例:使用 Apache ServiceComb (incubating) 进行微服务开发、容器化、弹性伸缩

最完整的微服务化示例,从业务场景入手,讲述微服务化架构设计、容器化、集群部署、弹性伸缩
ServiceComb 亚虎国际pt客户端于 6天前 阅读 2719 评论 8 点赞 1 打赏 1

Maven项目一键部署

### 免登陆 ``` # 生成秘钥 tianshl:.ssh tianshl$ ssh-keygen -t rsa -P '' # 将公钥添加至服务器的authorized_keys中 tianshl:.ssh tianshl$ ssh-copy-id -i ./id_rsa.pub root@192.168.1.54 ``` ### 创建脚本 ``` # 项目根目录下创建脚本,名为:update.sh, 内容如下 #!/usr/bin/env bash # 更新 git pull # 打包 mvn clean package -Dmaven.test.skip=true # 上传 scp target/etl-0.0.1-SNAPSHOT.war root@192.168.1.54:/root/ # 删除原日志 | 终止服务 | 启动服务 | 查看启动日志 ssh root@192.168.1.54 "rm etl.log; ps -ef | grep etl | awk '{print $2}' | xargs kill -9; nohup ./etl-0.0.1-SNAPSHOT.war > etl.log 2>&1 &; tail -f etl.log" ``` ### 配置IDE ``` Run / Edit Configurations... / "+" / Bash 1. Name 填写 2. Script 选择 update.sh 3. Working directory 选择 项目根目录 ```...
tianshl 亚虎国际pt客户端于 1个月前 阅读 16150

Postman自动登录,请求带token

![这里写图片描述](http://img.blog.csdn.net/20180323182705200?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2J1ZGluZzAwNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) ![这里写图片描述](http://img.blog.csdn.net/20180323182719115?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2J1ZGluZzAwNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) #### 添加一个环境 ``` Manage Environments(右上角的齿轮) => Add => 填写环境的名称 => Add ``` #### 添加登录接口 ``` # 比正常的请求多设置一下 "Tests" # 将登录接口返回的response中的token加入环境变量, 如: pm.environment.set("token", JSON.parse(responseBody).data.authorization); ``` #### 添加一个集合 ``` 1. New collection (左侧 目录) 2. 填写名称,如:"需要token的请求" 3. 切换到选项卡"Authorization" 4. 选择相应的 TYPE 5. Token 中填写 {{token}} 6. 点击Create 创建集合 ``` #### 添加需要token的请求 ``` 在刚创建的集合中添加的请求, Headers中都会自动添加 token, 如果token失效, 重新请求一下登录接口即可...
tianshl 亚虎国际pt客户端于 1个月前 阅读 14853

Java下载CSV文件

```java @GetMapping("/download") public void download(HttpServletResponse response, @RequestParam String path) throws Exception { // 让servlet用utf-8转码,默认为ISO8859 response.setCharacterEncoding("utf-8"); File file = new File(path); if (!file.exists()) { // 让浏览器用utf-8解析数据 response.setHeader("Content-type", "text/html;charset=utf-8"); response.getWriter().write("文件不存在或已过期,请重新生成"); return; } String fileName = URLEncoder.encode(path.substring(path.lastIndexOf("/") + 1), "utf-8"); response.setContentType("text/csv"); response.setHeader("Content-Disposition", String.format("attachment; filename=\"%s\"", fileName)); InputStream is = null; OutputStream os = null; try { is = new FileInputStream(path); byte[] buffer = new byte[1024]; os = response.getOutputStream(); int len; while((len = is.read(buffer)) > 0) { os.write(buffer,0, len); } }catch(Exception e) { throw new RuntimeException(e); }finally { try { if (is != null) is.close(); if (os != null) os.close(); } c...
tianshl 亚虎国际pt客户端于 2周前 阅读 6393

Packet for query is too large

### 前言 ##### max_allowed_packet ``` mysql根据max_allowed_packet限制server接收数据包的大小, 数据量超过这个限制时会导致写入或更新失败. ``` ##### 查看当前限制 ``` show VARIABLES like '%max_allowed_packet%'; ``` ### 修改 ``` 以下提供两种修改方式 ``` ##### 1. 修改配置文件 ``` # 查看配置文件路径 mysql --help | grep my.cnf # 修改 vim /etc/my.cnf 在[mysqld]段增加或修改以下内容: max_allowed_packet = 5M # 重启mysql service mysql restart ``` ##### 2. 命令行修改 ``` # 登录mysql mysql -u root -p # 运行指令 set global max_allowed_packet = 5*1024*1024 # 如果上条命令无效: # set @@max_allowed_packet=5*1024*1024 # 重启mysql service mysql restart # ubuntu service mysqld restart # centos ```...
tianshl 亚虎国际pt客户端于 2周前 阅读 4577

简易html视频播放器

### 文件列表 ``` root@tianshl:/data/video# ls hch.mp4 test.mp4 xyx.mp4 index.html video.list jquery.js ``` ###### index.html ```html 视频列表 ``` ###### video.list ``` # 该目录下的所有MP4文件, 供jQuery解析 root@tianshl:/data/video# ls *.mp4 > video.list ``` ### nginx配置 ``` user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; sendfile on; keepalive_timeout 65; server { listen 8000; server_name 本机IP; location / { # 前两行是认证(可不加) auth_basic "secret"; auth_basic_user_file /usr/local/nginx/passwd.db; # 路径 root /data/video; # 首页 index index.html; } } } ``` ### 界面展示 ``` http://localhost:8000 ``` ###### 认证 ![这里写图片描述](https://img-blog.csdn.net/20180423110432301?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9idWRpbmcwMDc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) ###### 播放器 ![这里写图片描述](https://img-blog.csdn.net/20180423105900537?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9idWRpbmcwMDc=/f...
tianshl 亚虎国际pt客户端于 4天前 阅读 1731

亚虎娱乐官方app众包优质开发商计划。坐享100万很easy!

只要你有心,100万等着你
亚虎娱乐官方app中国众包平台 亚虎国际pt客户端于 7天前 阅读 1863 评论 6

使用Remix编译和部署以太坊智能合约

![以太坊remix汇智网](https://static.oschina.net/uploads/img/201804/20113835_7UHh.png "以太坊remix汇智网") Remix 是一个亚虎娱乐官方app的 Solidity 智能合约开发环境,提供基本的编译、部署至本地或测试网络、执行合约等功能。Solidity 是 以太坊Ethereum 官方设计和支持的开发语言,专门用于编写智能合约。 本文希望将一个很简单的代币合约(只能发行和转账),部署在本地和测试网络上,测试下它的功能。 详细描述使用 Remix 的步骤及使用上可能碰到的问题。 之前开发过以太坊Ethereum智能合约,但没有记录过开发的过程和碰到的问题,觉得挺可惜。这次重新开始,从最基础开始,一步步学习。 ### 开发环境 不需要安裝,直接在任何浏览器启动 Remix。 ![以太坊remix汇智网](https://static.oschina.net/uploads/img/201804/20113913_wFJy.png "以太坊remix汇智网") ### 取得代币合约 代币合约的范例很多,Ethereum 官网有提供一个最小可执行的代币合约(MINIMUM VIABLE TOKEN): ``` pragma solidity ^0.4.0; contract MyToken { /* This creates an array with all balances */ mapping (address => uint256) public balanceOf; /* Initializes contract with initial supply ...
笔阁 亚虎国际pt客户端于 7天前 阅读 1106 评论 2 点赞 2

SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。
郑龙飞 亚虎国际pt客户端于 4天前 阅读 958 评论 6 点赞 1

天了噜,Java 8 要停止维护了!

前些天的中兴事件,已经让国人意识到自己核心技术的不足,这次的 JDK 8 对企业停止免费更新更是雪上加霜。。 以下是 Oracle 官网提示的 JDK8 终止更新公告。 ![image](http://upload-images.jianshu.io/upload_images/5954965-6b071671115f961d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) > 原文内容:Oracle will not post further updates of Java SE 8 to its public download sites for commercial use after January 2019\. Customers who need continued access to critical bug fixes and security fixes as well as general maintenance for Java SE 8 or previous versions can get long term support through Oracle Java SE Advanced, Oracle Java SE Advanced Desktop, or Oracle Java SE Suite. For more information, and details on how to receive longer term support for Oracle JDK 8, please see the Oracle **翻译** 2019年1月之后,Oracle将不会在其网站上亚虎国际pt客户端Java SE 8商业使用的进一步更新下载。那些需要持续获取安全的bug修复和安全补丁以及Java SE 8或以前版本的稳定性支持可以通过Oracle Java SE高级版,Oracle Java SE高级桌面...
Java技术栈 亚虎国际pt客户端于 5天前 阅读 4206 评论 23

JeeSite 4.0 开发环境部署运行调试(Eclipse)

# 环境要求 1、Java SDK 1.8 [下载](http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html) 2、Eclipse IDE for Java EE Mars 2 (4.5.2) [下载](https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars2) 3、Apache Maven 3.3+ [下载](https://maven.apache.org/download.cgi) 4、MySql 5.7+ [下载](https://dev.mysql.com/downloads/windows/installer/5.7.html) # 导入到Eclipse 1、检出JeeSite4源代码: ``` git clone https://gitee.com/thinkgem/jeesite4.git ``` 2、拷贝`web`文件夹,到你的工作目录(不包含中文和空格的目录)下,重命名为你的工程名,如:`jeesite-demo` 3、打开`pom.xml`文件,修改第13行,artifactId为你的工程名,如:`jeesite-demo` 4、导入到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择第2步的`jeesite-demo`文件夹,然后点击 Finish 按钮,即可成功导入 5、这时,Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定),若工程上有小叉号,请打开Problems窗口,查看具体错误内容,直到无错误为...
ThinkGem 亚虎国际pt客户端于 2个月前 阅读 15137 评论 36 点赞 8

如何实现一个优质的微服务框架:Apache ServiceComb 的开放性设计

一个优质的微服务框架需要考虑的要素众多,在满足微服务设计理念的前提下,也是一个不断实践优化的过程。 本文讲述了整个 亚虎娱乐官方app微服务框架 Apache ServiceComb 设计形成的前因后果,尝试从理念、思想和实践结合的维度剖析一个优质的微服务框架应该具备哪些要素,包括但不限于 对开发者友好、高性能、内外部扩展性等。 阅读本文有利于加深对微服务理念和框架的理解,给予微服务用户或开发者以帮助,这也是 Apache ServiceComb 的前身华为云微服务引擎的智慧结晶,从细节处承载了华为云自身多年云化转型的经验。
ServiceComb 亚虎国际pt客户端于 2天前 阅读 2755 评论 10 点赞 2 打赏 1

Java Web从前端到后台常用框架介绍

一、SpringMVC Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 模型(Model )封装了应用程序的数据和一般他们会组成的POJO。 视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。 控制器(Controller )负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。 Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。 Spring Web MVC处理请求的流程   具体执行步骤如下: 1、 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤; 2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个Model...
Java工程师-Distance 亚虎国际pt客户端于 3天前 阅读 878 评论 2 点赞 3

微服务中 Dubbo 和 Spring Cloud 架构技术路线对

微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的亚虎娱乐官方app微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。 微服务主要的优势如下: 1、降低复杂度 将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。每个服务开发者只专注服务本身,通过使用缓存、DAL等各种技术手段来提升系统的性能,而对于消费方来说完全透明。 2、可独立部署 由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需要亚虎国际pt客户端相关服务的迭代即可,降低了测试的工作量同时也降低了服务亚虎国际pt客户端的风险。 3、容错 在微服务架构下,当某一组件发生故障时,故障会被隔离在单个服务中。 通过限流、熔断等方式降低错误导致的危害,保障核心业务正常运行。 4、扩展 单块架构应用也可以实现横向扩展,就是将整个应用完整的复制...
烂猪皮 亚虎国际pt客户端于 2天前 阅读 827 评论 3 点赞 2

福利:饿了么《分布式时序数据库 - LinDB》!

背景 饿了么对时序数据库的需求主要来自各监控系统,主要用于存储监控指标。原来使用graphite,后来慢慢有对指标有多维的需求(主要体现在对一个指标加多个Tag, 来组成Series,然后对Tag进行Filter和Group进行计算),这时graphite基本很难满足需求。 业界现在用的比较多的主要有如下几类TSDB: InfluxDB:很多公司都在用,包括饿了么有部分监控系统也是用InfluxDB。优点,支持多维和多字段,存储也根据TSDB的特点做了优化。但亚虎娱乐官方app的部分不支持,很多公司自己做集群化, 但大多基于指标名来,这样会有单指的热点问题。现在饿了么也是类似的做法,但热点问题很严重,大的指标已经用了最好的服务器,但是查询性能还是不够理想, 如果做成按Series Sharding那成本还是有一点高; Graphite:根据指标写入及查询,计算函数很多,但很难支持多维,包括机房或多集群的查询,原来饿了么把业务层的监控指标存储在Graphite中,并工作的很好, 但是多活之后基本已经很难满足一些需求了,由于其存储结构的特点,很占IO,根据目前线上的数据写放大差不多几十倍以上; OpenTSDB: 基于HBase,优点存储层不用自己考虑,做好查询聚合就可以,也会存在HBase的热点问题等,在以前公司也弄基于H...
java高级架构牛人 亚虎国际pt客户端于 4天前 阅读 452 评论 2 点赞 1

深入理解 Java 多线程核心知识:跳槽面试必备

多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要。 本文从基础概念开始到最后的并发模型由浅入深,讲解下线程方面的知识。 概念梳理 本节我将带大家了解多线程中几大基础概念。 并发与并行 并行,表示两个线程同时做事情。 并发,表示一会做这个事情,一会做另一个事情,存在着调度。单核 CPU 不可能存在并行(微观上)。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待。 阻塞与非阻塞 阻塞和非阻塞通常用来形容多线程间的相互影响。比如一个线程占用了临界区资源,那么其它所有需要这个资源的线程就必须在这个临界区中进行等待,等待会导致线程挂起。这种情况就是阻塞。 此时,如果占用资源的线程一直不愿意释放资源,那么其它所有阻塞在这个临界区上的线程都不能工作。阻塞是指线程在操作系统层面被挂起。阻塞一般性能不好,需大约8万个时钟周期来做调度。 非阻塞则允许多个线程...
Java工程师-Distance 亚虎国际pt客户端于 2周前 阅读 1585 评论 3 点赞 7

Why Helm? - 每天5分钟玩转 Docker 容器技术(160)

本章我们将学习 Helm,Kubernetes 的包管理器。
CloudMAN 亚虎国际pt客户端于 5分钟前 阅读 1

如何将任意数据保存到以太坊区块链?

虽然有北大博士讲,95%的区块链项目都没有前途,但我们知道区块链还是有它的优势,比如数据的不可篡改性对于版权保护有相当大的意义,而地址的匿名性则有其他潜在的用途。那么,如何将任意数据,比如图像或文本写入以太坊区块链呢?本文将讲解如何使用web3.js实现这一功能并给出相应的实现代码。 实现任意数据上链的核心是[web3.eth.sendTransaction()](https://blog.csdn.net/shebao3333/article/details/80077975)方法的使用,我们将借助一个转账交易来完成任意数据上链的任务。在要发送的交易对象中,使用`data`字段就可以传入任意的16进制字符串。 ## 将数据转换为16进制字符串 我们可以使用[web3.toHex()](https://blog.csdn.net/shebao3333/article/details/80062811)方法将一个字符串转换为16进制字符串: ``` let data = web3.toHex('你可以将任意数据写入以太坊区块链') ``` 得到的data值为:`0x4f6053ef4ee55c064efb610f6570636e519951654ee5592a574a533a575794fe`。 当然不一定需要使用`web3.toHex()`方法,可以使用任何能够得到16进制串的方法,例如在NodeJS中使用`Buffer`: ``` let data = '0x' + Buffer.from('使用Buffer更好处理图像数据').toString('hex'...
汇智网教程 亚虎国际pt客户端于 5小时前 阅读 10

Spring之AOP的实现

spring AOP
Izecson 亚虎国际pt客户端于 5小时前 阅读 5

【MyBatis】学习纪要六:动态SQL

## 引言 动态SQL:Dynamic SQL。 本节我们来通过 MyBatis 的官方文档进行学习。 ## Description(描述) 官方描述如下: >One of the most powerful features of MyBatis has always been its Dynamic SQL capabilities. If you have any experience with JDBC or any similar framework, you understand how painful it is to conditionally concatenate strings of SQL together, making sure not to forget spaces or to omit a comma at the end of a list of columns. Dynamic SQL can be downright painful to deal with. > >While working with Dynamic SQL will never be a party, MyBatis certainly improves the situation with a powerful Dynamic SQL language that can be used within any mapped SQL statement. > >The Dynamic SQL elements should be familiar to anyone who has used JSTL or any similar XML based text processors. In previous versions of MyBatis, there were a lot of elements to know and understand. MyBatis 3 greatly improves upon this, and now there are less than half of those elements to work with. MyBatis employs...
小冯少爷 亚虎国际pt客户端于 6小时前 阅读 4

Chorme dev tools的小技巧技巧

[改日再战](https://www.w3cplus.com/tools/15-must-know-chrome-devtools-tips-tricks.html)
莫西摩西 亚虎国际pt客户端于 6小时前 阅读 5

JavaSE——装饰流

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 装饰流: 介绍:有两种流,一种是处理运输速度的流,一种是处理具体产品的流,一次读一个反而速度比较慢,要一次读一批,而且这一批不能太大,这个一批就是以8k为主就行了 如果是读取上来的每次都是100字节,那样的话速度就会很慢,那就需要先读上8k把它放到内存先缓存起来,然后慢慢的提供给它用,等他不够的时候我在读8k上来缓存,那就要在这个环节建立一个缓存机制,这样的话我每次都屯8k在这里,用完之后又给你屯8k在缓存里面 例题:使用BufferedInputStream流处理照片 如下图,前面54个字节就是头,后面每3个字节描述一个像素,描述的方式是BGR,首先把图片转成bmp格式的,建立一个输入和输出通道,然后把它的头读取出来,然后在把这54个字节写出去,写个死循环,每次读一个字节出来,如果加上BufferedInputStream流速度就更快了 BufferedOutputStream 清理缓存就是清理最后一点点数据写入文件之中,直接用close的话也行 ObjectOutputStream 如下图:可以通过ObjectOutputStream转换成字节,可以通过FileOutputStream输出数据...
凯哥学堂 亚虎国际pt客户端于 7小时前 阅读 5

给老婆的一篇文章

老婆公司有个这样的需求: > 查询出王者荣耀的用户回流信息,当用户连续两天登陆,则判定为2日回流,如果间隔一天登陆,则判定为3日回流,如果间隔5天登陆,则判定为7日回流。用户数据间隔时间短为14天(固定)。 ## 准备数据 ## database语法和mysql一致。 创建表: ``` create table user_login( u_id int, login_date timestamp default current_timestamp ); ``` 插入数据: ``` DELIMITER // create procedure loop_insert() begin declare days int; declare usrs int; declare mx int; declare i int; set days = 14; set usrs = 30; set mx = 500; set i = 1; repeat insert into user_login(u_id,login_date) values (floor((RAND() * usrs)),subdate(sysdate(),(RAND() * (days+1)))); set i = i + 1; until i >= mx end repeat; end// ``` ``` call loop_insert(); ``` 最开始我想到的是用`group_concat`,sql是这样: ``` SELECT u_id, group_concat(distinct DATE_FORMAT(login_date, '%Y%m%d') order by DATE_FORMAT(login_date, '%Y%m%d') desc separator '-') AS yyyymmdd FROM user_login GROUP BY u_id; ``` ![输入图片说明](https://static.oschina.net/...
caiyongji 亚虎国际pt客户端于 7小时前 阅读 4

两个栈实现队列

两个栈实现队列完成队列的push 和 pop操作
哲别0 亚虎国际pt客户端于 7小时前 阅读 4

9.4/9.5 sed

9.4-9.5 sed命令 sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 sed用法 使用sed可以实现grep的大部分功能,而且还可以查找替换。 语法: sed [options] 'command' filename sed [options] -f scriptfile filename Options: -n:-n选项和p命令一起使用表示打印 -e:等价于--expression,多点编辑,在一行执行多条命令   用sed实现匹配(grep)功能=打印有root字符串的行 [root@cham2 sed]# sed -n '/root/'p test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@cham2 sed]# sed -nr '/r+o/'p test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin systemd-bus-proxy:x:999:997:systemd Bus Proxy:/...
Champin 亚虎国际pt客户端于 7小时前 阅读 3

互联网高级面试题目

Java 基础知识 面向对象的特性有哪些? 封装、继承和多态。 Java 中覆盖和重载是什么意思? 覆盖(Override)是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小。 被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法;重载(Overload)表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。 那么构成重载的条件有哪些? 参数类型不同、参数个数不同、参数顺序不同。 函数的返回值不同可以构成重载吗?为什么? 不可以,因为 Java 中调用函数并不需要强制赋值。举例如下: 如下两个方法: void f(){}    int f(){ return 1;} 只要编译器可以根据语境明确判断出语义,比如在 int x = f();中,那么的确可以据此区分重载方法。 不过, 有时你并不关心方法的返回值,你想要的是方法调用的其他效果 (这常被称为 “为了副作用而调用”),这时你可能会调用方法而忽略其返回值,所以如果像下面的调用: fun(); 此时 Java 如何才能判断调用的是哪一个 f( ) 呢?别人如何理解这种代码呢?所以,根据方法返回值来区分重载方法是行不通的。 抽象类和接口的区别有哪些? 抽象类中可以没有抽象方法;接口中的方...
故久呵呵 亚虎国际pt客户端于 7小时前 阅读 4

015 jenkins + maven + springboot + git + docker

前面介绍了用Jenkins自动化部署项目, 也介绍了用docker stack编排服务, 现在将二者整合起来, 自动化整个流程,如果有疑问的地方, 请翻阅一下前面的文章
GoldLeaf 亚虎国际pt客户端于 7小时前 阅读 3

neo-共识算法dBFT 源码解析

neo-共识算法dBFT 源码解析
魂祭心 亚虎国际pt客户端于 7小时前 阅读 5

【C++多线程系列】【六】给线程设置监听器listener

    #include<iostream> #include<thread> #include<mutex> using namespace std; class Listener { public: Listener() {}; ~Listener() {}; void onStart() { cout << "start" << endl; } void onDone(int result) { cout << "done" << endl; this->result = result; } int get() { return this->result; } private: int result; }; void f(Listener &lis) { int r = 0; lis.onStart(); for (int i = 0; i < 10; i++) { r += i; } lis.onDone(r); } int main(int argc, int * argv[]) { Listener lis; thread t1(f, std::ref(lis)); t1.join(); cout << lis.get()<< endl; cout << "main" << endl; system("pause"); }  ...
muqiusangyang 亚虎国际pt客户端于 7小时前 阅读 5

第二章 第一节 spring-beans之BeanNameGenerator深入详解

### 前言 > BeanNameGenerator是beans体系非常重要的一个组件,主要功能是从一定的条件中计算出bean的name.如果出现问题,是可以规避的。同样可以重写解决。 ```java /** Map of bean definition objects, keyed by bean name */ private final Map beanDefinitionMap = new ConcurrentHashMap(256); /** Map of singleton and non-singleton bean names, keyed by dependency type */ private final Map, String[]> allBeanNamesByType = new ConcurrentHashMap, String[]>(64); /** Map of singleton-only bean names, keyed by dependency type */ private final Map, String[]> singletonBeanNamesByType = new ConcurrentHashMap, String[]>(64); /** List of bean definition names, in registration order */ private volatile List beanDefinitionNames = new ArrayList(256); /** List of names of manually registered singletons, in registration order */ private volatile Set manualSingletonNames = new LinkedHashSet(16); /** Cached array of bean definition names in case of frozen configuration */ private volatile String[] frozenBeanDefinitio...
鸟菜啊 亚虎国际pt客户端于 7小时前 阅读 8

Spring @autowired注解

在搭建spring boot过程中,使用到该注解,因此去了解了下关于 @Autowired的相关使用方式
lar555 亚虎国际pt客户端于 7小时前 阅读 5

大型分布式网站架构:缓存在分布式系统中的应用

缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。 一、缓存概述 缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。 1.1缓存的原理 (1)       将数据写入/读取速度更快的存储(设备); (2)       将数据缓存到离应用最近的位置; (3)       将数据缓存到离用户最近的位置。 1.2缓存分类 在分布式系统中,缓存的应用非常广泛,从部署角度有以下几个方面的缓存应用。 (1)       CDN缓存; (2)       反向代理缓存; (3)       分布式Cache; (4)       本地应用缓存; 1.3缓存媒介 常用中间件:Varnish,Ngnix,Squid,Memcache,Redis,Ehcache等; 缓存的内容:文件,数据,对象; 缓存的介质:CPU,内存(本地,分布式),磁盘(本地,分布式) 1.3缓存设计 缓存设计需要解决以下几个问题: (1)       缓存什么? 哪些数据需要缓存:1.热点数据;2.静态资源; (2)       缓存的位置? CDN,反向代理,分布式缓存服务器,本机(内存,硬盘) (3)      ...
烂猪皮 亚虎国际pt客户端于 7小时前 阅读 10 评论 1

numpy基础知识(二)

## 数组转置和轴对换 ``` In [4]: arr = np.random.randn(3,2) In [5]: arr.T Out[5]: array([[-1.61958612, 0.51404498, 1.27702971], [-1.49568441, -0.62306175, 0.27173435]]) In [6]: np.dot(arr.T,arr) Out[6]: array([[4.5181063 , 2.44912079], [2.44912079, 2.69911737]]) ``` ![dot说明](https://static.oschina.net/uploads/img/201804/26214159_PvEG.png "dot计算") ``` In [7]: arr = np.arange(16).reshape((2,2,4)) In [8]: arr Out[8]: array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]]) In [9]: arr.transpose((1,0,2)) Out[9]: array([[[ 0, 1, 2, 3], [ 8, 9, 10, 11]], [[ 4, 5, 6, 7], [12, 13, 14, 15]]]) ``` >transpose需要得到有一个有轴编号组成的元组才能对这些轴进行转置 ``` In [10]: arr.swapaxes(1,2) Out[10]: array([[[ 0, 4], [ 1, 5], [ 2, 6], [ 3, 7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]]) ``` ## 通用函数 ``` In [11]: arr = np.arange(10) In [12]: arr Out[12]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [13]: np.sqrt(arr) Out[13]: array([0. , 1. , 1.41421356, 1.73205081, 2. , 2....
Joseph_hu 亚虎国际pt客户端于 8小时前 阅读 4

腾讯/阿里/百度 BAT人才体系的职位层级、薪酬、晋升标准

互联网圈有这么一句话:百度的技术,阿里的运营,腾讯的产品。那么代表互联网三座大山的BAT,内部人才体系有什么区别呢?今天小编就带领大家看一看~
茶轴的青春 亚虎国际pt客户端于 8小时前 阅读 10 评论 1

@ModelAttribute

有返回值入参 默认为POJO首字母小写 @ModelAttribute public Account modelAttribute() { //从数据库当中查出的原始信息 Account account = new Account(1,"tom","2018-4-25"); return account; } //原始数据 1 tom 2018-4-25 //方法是入参:在进行数据绑定之前,先到请求范围当中查找指定key(POJO类的首字母小写)对应的value值对象 @RequestMapping("/testModelAttribute") public String testModelAttribute(Account account) { //通过数据层的内容更新数据 System.out.println(account); return "success"; } 指定的key @ModelAttribute(value="aaa") public Account modelAttribute() { //从数据库当中查出的原始信息 Account account = new Account(1,"tom","2018-4-25"); return account; } //原始数据 1 tom 2018-4-25 //方法是入参:在进行数据绑定之前,先到请求范围当中查找指定key(POJO类的首字母小写)对应的value值对象 @RequestMapping("/testModelAttribute") public String testModelAttribute(@ModelAttribute("aaa")Account account) { //通过数据层的内容更新数据 System.out.println(account); return "succe...
沉迷于编程的小菜菜 亚虎国际pt客户端于 8小时前 阅读 6 评论 1 点赞 1

rabbitmq 客户端golang实战

对使用golang进行rabbitmq客户端开发过程中的一些问题及可能踩坑的地方进行总结。总体上现在使用的单机rabbitmq基本上可以替代云上的消息分发服务,实现了较好的及时可靠消息分发。
hiker_urey 亚虎国际pt客户端于 8小时前 阅读 6

微服务开发中的数据架构设计

本文来自作者 陈伟荣 在 GitChat 分享的文章【微服务开发中的数据架构设计】 前言 微服务是当前非常流行的技术框架,通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性。为业务创新和业务持续提供了一个良好的基础平台。本文分享在这种技术架构下的数据架构的设计思想以及设计要点,本文包括下面若干内容。 微服务技术框架中的多层数据架构设计 数据架构设计中的要点 要点1:数据易用性 要点2:主、副数据及数据解耦 要点3:分库分表 要点4:多源数据适配 要点5:多源数据缓存 要点6:数据集市 为了容易理解,本文用一个简化的销售模型来阐述,如下图。图1显示了客户、卖家、商品、定价、订单的关系(这里省略支付、物流等其他元素)。 图1 销售模型 在这个销售模型中,卖家提供商品、制定价格,客户选择产品购买、形成销售订单。根据微服务的理念设计,可以划分为客户服务、卖家服务、商品服务、定价服务、订单服务,以及公共服务(比如认证、权限、通知等),如图2所示。 图2 微服务功能 微服务架构中的多层数据架构设计 分布式架构一般把系统分为 Saas(Software-as-a-Service)、Paas(P...
Java架构资源分享 亚虎国际pt客户端于 5天前 阅读 2961 评论 2 点赞 16

完整微服务化示例:使用 Apache ServiceComb (incubating) 进行微服务开发、容器化、弹性伸缩

最完整的微服务化示例,从业务场景入手,讲述微服务化架构设计、容器化、集群部署、弹性伸缩
ServiceComb 亚虎国际pt客户端于 6天前 阅读 2719 评论 8 点赞 1 打赏 1

使用Remix编译和部署以太坊智能合约

![以太坊remix汇智网](https://static.oschina.net/uploads/img/201804/20113835_7UHh.png "以太坊remix汇智网") Remix 是一个亚虎娱乐官方app的 Solidity 智能合约开发环境,提供基本的编译、部署至本地或测试网络、执行合约等功能。Solidity 是 以太坊Ethereum 官方设计和支持的开发语言,专门用于编写智能合约。 本文希望将一个很简单的代币合约(只能发行和转账),部署在本地和测试网络上,测试下它的功能。 详细描述使用 Remix 的步骤及使用上可能碰到的问题。 之前开发过以太坊Ethereum智能合约,但没有记录过开发的过程和碰到的问题,觉得挺可惜。这次重新开始,从最基础开始,一步步学习。 ### 开发环境 不需要安裝,直接在任何浏览器启动 Remix。 ![以太坊remix汇智网](https://static.oschina.net/uploads/img/201804/20113913_wFJy.png "以太坊remix汇智网") ### 取得代币合约 代币合约的范例很多,Ethereum 官网有提供一个最小可执行的代币合约(MINIMUM VIABLE TOKEN): ``` pragma solidity ^0.4.0; contract MyToken { /* This creates an array with all balances */ mapping (address => uint256) public balanceOf; /* Initializes contract with initial supply ...
笔阁 亚虎国际pt客户端于 7天前 阅读 1106 评论 2 点赞 2

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

手把手教你打造一个可视化接口自动化测试系统

现如今,接口开发几乎成为一个互联网公司的标配了,无论是web还是app,哪怕是小程序,都离不开接口作为支撑,当然,这里的接口范围很广,从http到websocket,再到rpc,只要能实现数据通信的都可以称之为接口,面临着如此庞大的接口数据,如果更好的管理和测试他们都是一个比较头疼的问题,更主要的是很多业务场景是需要多个接口进行联调的,因此在接口开发完成后,一轮自动化测试能快速反馈出当前系统的状况,面对这样的需求,一个对测试人员友好的可视化接口自动化测试系统就显得必不可少了。那么,我们今天就来和大家聊聊如何实现一个小型的http接口自动化测试系统! 我们拿DOClever 做为这套系统的范本进行阐述,因为它是亚虎娱乐官方app的,源码随时可以从GitHub和OSChina上获取,同时,这套系统内置了完整的自动化测试框架,从无需一行代码的UI测试用例编写,到更强大更灵活的代码模式,都提供了很友好的支持。 系统需求: 1.   能在一个测试用例里可以对一个接口自由编辑其入参,运行并判断出参是否正确,同时可以查看该接口完整的输入输出数据 2.   能在一个测试用例里可以对一组接口进行测试,自由调整他们的执行顺序,并根据上一接口的出参作为下一接口的入参条件。 3.  ...
ansun123 亚虎国际pt客户端于 1周前 阅读 2407 点赞 7

数据权限管理中心 - 基于mybatis拦截器实现

基于mybatis拦截器实现简单的数据权限管理中心
GMarshal 亚虎国际pt客户端于 1周前 阅读 1841 评论 14 点赞 6

Ubuntu 编译ffmpeg 实现GPU 转码

    前言,公司转码集群服务器资源有限,需要考虑GPU方案,本文记录下整个实现ffmpeg gpu 转码的过程。          该文章后续仍在不断的更新修改中, 请移步到原文地址 https://my.oschina.net/u/2950272/blog 环境: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS" 注意,这里机器启动级别调低,不要加载桌面系统。 本机是2核4G 普通硬盘,gpu 型号:GTX950M 第一部分,安装cuda 8:     1.1 查看是否有显卡: lspci | grep -i nvidia     1.2 查看操作系统是否cuda 官方支持: uname -m && cat /etc/*release     1.3 安装gcc g++ 等编译依赖基础库 apt-get install gcc g++ build-essential     1.4 下载安装cuda 下载cuda: wget --no-check-certificate https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb 安装 cuda 源: dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb 添加源: deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 / 更新缓存: apt-get update 安装cuda: apt-get i...
鼎铭 亚虎国际pt客户端于 1周前 阅读 2078 评论 25 点赞 4

Docker容器可视化监控中心搭建

一个宿主机上可以运行多个容器化应用,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空间等等一系列信息,而且这些信息随时间变化,我们称其为时序数据
hansonwang 亚虎国际pt客户端于 1周前 阅读 3234 评论 7 点赞 4

EMQ百万级MQTT消息服务(小技巧)

![](http://i.imgur.com/vhdeDvX.png) 附上: 喵了个咪的博客:[w-blog.cn](w-blog.cn) EMQ官方地址:[http://emqtt.com/](http://emqtt.com/) EMQ中文文档:[http://emqtt.com/docs/v2/guide.html](http://emqtt.com/docs/v2/guide.html) ## 1.ACL鉴权规则化 在正常业务使用下对于客户端的行为可以使用ACL进行限制,比如A客户端只能订阅 /A/get 队列消息和向 /A/set 亚虎国际pt客户端内容 但是在MYSQL里面处理这样的鉴权就需要写入两条记录,如果设备量有一百万数据库就要承担两百万条鉴权数据量会大大影响数据库的性能 那么有没有什么批量的方式来定义ACL鉴权呢? 在mysql-ACL鉴权的配置文件下关于如何使用鉴权的SQL是可以编辑的,也就意味着你可以通过SQL来实现批量ACL鉴权规则 ```bash > vim /usr/local/emqttd/etc/plugins/emq_auth_mysql.conf # 最下面有这样一条配置 auth.mysql.acl_query = select allow, ipaddr, username, clientid, access, topic from mqtt_acl where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c' ``` 笔者这里就实现每个设备默认可以订阅 /A/get 队列消息和向 /A/set 亚虎国际pt客户端 ![](http://pic.w-blog.cn/ADE78396-BF03-4672-A3E2-07F04...
喵了_个咪 亚虎国际pt客户端于 2周前 阅读 2401 评论 3 点赞 1

Apache Ignite事务架构:Ignite持久化的事务处理

在本系列[上一篇文章](https://my.oschina.net/liyuj/blog/1791800)中,介绍了故障和恢复,下面是本系列剩下的文章将要讨论的主题: - Ignite持久化的事务处理(WAL、检查点及其他) - 第三方持久化的事务处理 在本文中,会聚焦于Ignite持久化的事务处理。 将[Apache Ignite](https://ignite.apache.org/)作为内存数据网格(IMDG)的都知道,如果整个集群瘫痪,仅仅将数据保存在内存中问题是很严重的,其他的IMDG以及缓存技术也会面临同样的问题。解决这个问题的方案之一就是,将Ignite与第三方的持久化存储集成,然后提供通读和通写能力,如图1所示: ![图1:使用第三方存储进行持久化](https://www.gridgain.com/sites/default/files/inline-images/Figure1_10.png) 但是,这个方法有一些缺陷,在本系列的下一篇文章中会说明。 作为第三方持久化的替代方案,Ignite开发了一个固化内存架构,如图2所示,该架构可以同时在内存和磁盘上进行数据和索引的存储和处理,该特性使用非常简单,使得Ignite集群在数据落盘的前提下,获得内存级的性能: ![图2:固化内存](https://www.gridgain.com/sites/default/files/inline-images/Figure2_9.png) 固化内存的工作方式类似于现代操...
李玉珏 亚虎国际pt客户端于 2周前 阅读 979 点赞 3

架构师眼中的高并发架构

以架构师的眼光来讲述高并发架构
高级架构师 亚虎国际pt客户端于 2周前 阅读 4545 评论 15 点赞 22

有助于提高"锁"性能的几点建议

qq:853089986@qq.com
张泽立 亚虎国际pt客户端于 2周前 阅读 2292 评论 10 点赞 12

如何用Nginx搭建一个安全的、快速的微服务架构

本文改编自Chris Stetson发表在nginx.conf 上的一个有关如今的微服务以及如何使用Nginx构建一个快速的、安全的网络系统的演讲,大家可以在YourTube上回看此次演讲。 自我介绍 Chris Stetson:Hi,我的名字是Chris Stetson,我在Nginx带领专业服务部门,同时也领导微服务实践。 今天我们要谈论微服务以及如何使用Nginx构建一个快速的、安全的网络系统。在我们谈话的最后,我们将与我们在Zokets的合作伙伴向您展示一个使用Fabric模式如何非常快速和轻松地构建一个微服务的demo。 在我们探讨Fabric模式之前,我想谈一谈微服务并且从Nginx的角度来看这意味着什么。 0:56 - 大转变 微服务已经引起了应用程序架构的重大转变。 当我第一次开始构建应用程序时,他们都是差不多的。幻灯片中所展示的单体架构也象征了应用程序的构造方式。 目前存在着某种类型的虚拟机(VM),对我来说,就是通常的Java。在虚拟机中应用的功能组件以对象的形式存在,这些对象是在内存中相互通讯的,它们将来来回回处理并进行方法调用。偶尔,你会采用诸如通知等机制来接触到其他系统以便获取数据或传递信息。 有了微服务之后,应用程序如何构建的范式是完全不同的了。你的功能组件会从在同一个主机的...
烂猪皮 亚虎国际pt客户端于 3周前 阅读 3991 评论 11 点赞 4

List集合就这么简单【源码剖析】

前言 声明,本文用得是jdk1.8 前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识。 现在这篇主要讲List集合的三个子类: ArrayList 底层数据结构是数组。线程不安全 LinkedList 底层数据结构是链表。线程不安全 Vector 底层数据结构是数组。线程安全 这篇主要来看看它们比较重要的方法是如何实现的,需要注意些什么,最后比较一下哪个时候用哪个~ 看这篇文章之前最好是有点数据结构的基础:Java实现单向链表,栈和队列就是这么简单,二叉树就这么简单         当然了,如果讲得有错的地方还请大家多多包涵并不吝在评论去指正~ 一、ArrayList解析     首先,我们来讲解的是ArrayList集合,它是我们用得非常非常多的一个集合~ 首先,我们来看一下ArrayList的属性:     根据上面我们可以清晰的发现:ArrayList底层其实就是一个数组,ArrayList中有扩容这么一个概念,正因为它扩容,所以它能够实现“动态”增长 1.2构造方法 我们来看看构造方法来印证我们上面说得对不对:     1.3Add方法 add方法可以说是ArrayList比较重要的方法了,我们来总览一下:     1.3.1add(E e) 步骤: 检查是否需要扩容 插入元素 首先,我们来看看这个方法: ...
Java3y 亚虎国际pt客户端于 3周前 阅读 2362 评论 4 点赞 6

约瑟夫环的几种实现方式

约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后 [1] 结果+1即为原问题的解。
珂jack 亚虎国际pt客户端于 3周前 阅读 2232 评论 18

从linux源码看socket的阻塞和非阻塞

# 从linux源码看socket的阻塞和非阻塞 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自采用Linux-2.6.24内核版本。 ## 一个TCP非阻塞client端简单的例子 如果我们要产生一个非阻塞的socket,在C语言中如下代码所示: ``` // 创建socket int sock_fd = socket(AF_INET, SOCK_STREAM, 0); ... // 更改socket为nonblock fcntl(sock_fd, F_SETFL, fdflags | O_NONBLOCK); // connect .... while(1) { int recvlen = recv(sock_fd, recvbuf, RECV_BUF_SIZE) ; ...... } ... ``` 由于网络协议非常复杂,内核里面用到了大量的面向对象的技巧,所以我们从创建连接开始,一步一步追述到最后代码的调用点。 ### socket的创建 很明显,内核的第一步应该是通过AF\_INET、SOCK\_STREAM以及最后一个参数0定位到需要创建一个TCP的socket,如下图绿线所示: ![inet_family](https://static.oschina.net/uploads/img/201804/08095807_GSaV.png "inet_family") 我们跟踪源码调用 ``` socket(AF_INET, SOCK_STREAM,...
无毁的湖光-Al 亚虎国际pt客户端于 3周前 阅读 3742 评论 12 点赞 7 打赏 1

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1
悦动智能 亚虎国际pt客户端于 3周前 阅读 2158 评论 8 点赞 4

深入浅出设计模式——从球赛中悟命令模式

命令模式,顾名思义就是向对象发出命令使其执行指定操作。具体的说就是以命令的形式发出请求交给调用对象,随后调用对象又将命令传送给需要处理这条命令的对象并让目标对象执行该命令。
珂jack 亚虎国际pt客户端于 3周前 阅读 1365 评论 8 点赞 5 打赏 1

Spring整合Quartz分布式调度

前言 为了保证应用的高可用和高并发性,一般都会部署多个节点;对于定时任务,如果每个节点都执行自己的定时任务,一方面耗费了系统资源,另一方面有些任务多次执行,可能引发应用逻辑问题,所以需要一个分布式的调度系统,来协调每个节点执行定时任务。 Spring整合Quartz Quartz是一个成熟的任务调度系统,Spring对Quartz做了兼容,方便开发,下面看看具体如何整合: 1.Maven依赖文件 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.5.RELEASE</version> </dependency> <dependency> <groupId>org.spri...
ksfzhaohui 亚虎国际pt客户端于 3周前 阅读 3921 评论 14 点赞 13

Shell入门看我吧

shell入门的文章,对shell不太熟悉小伙伴可以看看
aron1992 亚虎国际pt客户端于 3周前 阅读 2566 评论 6 点赞 9

MySQL的索引是什么?怎么优化?

索引对大数据的查询速度的提升是非常大的,Explain可以帮你分析SQL语句是否用到相关索引。
我叫刘半仙 亚虎国际pt客户端于 4周前 阅读 5623 评论 14 点赞 40
顶部