精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

羽毛也疯狂,盘点 Apache 最新毕业的11个顶级项目

自1999年成立至今,Apache 软件基金会已成功建立起自己强大的生态圈。其社区涌现了非常多优秀的开源项目,同时有越来越多国内外项目走向这个国际开源社区进行孵化。据悉,目前所有的 Apache 项目都需要经过孵化器孵化,满足一系列质量要求之后才可毕业。从孵化器里毕业的项目,要么独立成为顶级项目,要么成为其他顶级项目的子项目。 为便于大家了解 Apache 孵化的标准,本文盘点了 Apache 从2016年1月1日至2017年1月19日所有孵化成功并独立管理的顶级项目,共有11个。同时,欢迎大家在评论区留言互动,聊聊对 Apache 的看法,分享曾经使用过的感受…… 1、Apache Beam Apache Beam 是 Google 在2016年2月1日贡献给 Apache 基金会的孵化项目,于2017年1月10日正式宣布毕业,升级为 Apache 顶级项目。 Apache Beam 的主要目标是统一批处理和流处理的编程范式,为无限,乱序,web-scale的数据集处理提供简单灵活,功能丰富以及表达能力十分强大的SDK。项目重点在于数据处理的编程范式和接口定义,并不涉及具体执行引擎的实现。Apache Beam 希望基于 Beam 开发的数据处理程序可以执行在任意的分布式计算引擎上。 2、Apache Eagle Apache Eagle 起源于 eBay,最早用于解决大规...
编辑部的故事 发布于 7分钟前 阅读 9

Kafka快速开始

入门 1.简介 Kafka is a distributed streaming platform,kafka是一个分布式流式平台,具有三个关键功能: 1.它允许您发布和订阅记录流。在这方面,它类似于消​​息队列或企业消息系统; 2.它允许您以容错方式存储记录流; 3.它允许您在记录发生时处理记录。 了解几个概念: 1.Kafka作为一个群集在一个或多个服务器上运行; 2.Kafka集群以称为Topic的类别存储记录流; 3.每个记录由一个键,一个值和一个时间戳组成。 来自Kafka官网的一张介绍Kafka的图片: 如上图所示,kafka提供了四个核心的API: 1.Producer API允许应用程序将流记录发布到一个或多个Kafka topics; 2.Consumer API允许应用程序订阅一个或多个topics,并处理为其生成的记录流; 3.Streams API允许应用程序充当流处理器,消耗来自一个或多个topics的输入流并产生到一个或多个输出topics的输出流,有效地将输入流转换为输出流; 4.Connector API允许构建和运行可重用的生产者或消费者,将Kafka topics连接到现有应用程序或数据系统。例如,关系数据库的连接器可能捕获对表的每个更改。 2.Topics and Logs Topics是发布记录的类别或Feed名称,Topics可以具有零个,一个或多个订阅它的consumers,对于每个T...
ksfzhaohui 发布于 1小时前 阅读 50

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

【原创】packetbeat 之“协议数据包分析每次输出结果均不同”问题

最近在玩 packetbeat ,玩的过程中发现了点问题,记录之~~
摩云飞 发布于 1小时前 阅读 7

使用 NuGet 管理项目库

NuGet 简介 NuGet 是一种 Visual Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 . nupkg,使用开放打包约定 (OPC) 格式。 OPC 仅仅是具有某些元数据的 zip 文件的首字母缩写词。 事实上,您可能早已熟悉 OPC,因为 Word 和 Excel 文档正是使用此格式。 如果您取一个 .docx 文件并将文件扩展名改为 .zip,您实际可以打开它并浏览里面的内容。 . nupkg 文件同样如此。 使用 NuGet 管理项目库 : https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 注册 NuGet 注册地址:https://www.nuget.org/ 管理地址:https://www.nuget.org/account/Packages 上传地址:https://www.nuget.org/packages/upload 下载和安装 NuGet 下载地址:https://dist.nuget.org/index.html NuGetPackageExplorer下载地址: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer 获取 API Key,获取页面:https://www.nuget.org/account 下载 NuGet.exe,将设置机器的 PATH 环境变量,将其 NuGet.exe 的路径添加到 PATH变量中。 设置 API Key,打开 Windows PowerShell,找到 NuGet.ex...
极光推送 发布于 4小时前 阅读 71 点赞 1

有人给我留言要电源软件,于是就有了这篇软件合集

电源开发离不开设计,那么都有那些软件来支持工程师们的工作呐?我整理了下电源电路设计常用软件合集,希望可以帮助大家~   SPICE模拟电路仿真 用于模拟电路仿真的SPICE(Simulation Program with Integrated Circuit Emphasis)软件于1972年由美国加州大学伯克利分校的计算机辅助设计小组利用FORTRAN语言开发而成,主要用于大规模集成电路的计算机辅助设计。 SPICE的正式实用版SPICE 2G在1975年正式推出,但是该程序的运行环境至少为小型机。1985年,加州大学伯克利分校用C语言对SPICE软件进行了改写,1988年SPICE被定为美国国家工业标准。与此同时,各种以SPICE为核心的商用模拟电路仿真软件,在SPICE的基础上做了大量实用化工作,从而使SPICE成为最为流行的电子电路仿真软件。   现在用得较多的是PSPICE6.2,在同类产品中是功能最为强大的模拟和数字电路混合仿真 EDA软件,它可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出、数据输出、并在同一窗口内同时显示模拟与数字的仿真结果。无论对哪种器件哪些电路进行仿真,都可以得到精确的仿真结果,并可以自行建立元器件及元器件库。   PSPICE信息电子电路设计软件 PSPICE则是由美国Microsim公...
朱朱耀磷 发布于 4小时前 阅读 93

JMeter配置远程执行

在对容器技术相关的各个组件进行压力测试时,我们选用JMeter作为压测工具,分别对docker daemon, convoy(a docker volume driver), contiv/netplugin (a docker net driver), swarm, etcd, OpenVSwitch, registry进行了压力测试。我们准备了几十台PV作为worker,为了便于本地修改JMeter测试用例后进行调测脚本等,需要对JMeter进行远程执行配置。本文主要记录该配置事项。
WaltonWang 发布于 4小时前 阅读 40

Clair介绍和源码分析

本文主要描述Clair架构、编译、部署、源码分析等内容。
WaltonWang 发布于 4小时前 阅读 25

SSM(九)反射的实际应用-构建日志对象

相信做Java的童鞋或多或少都听过反射,这也应该是Java从入门到进阶的必经之路。 但是在我们的实际开发中直接使用它们的几率貌似还是比较少的,(`除了造轮子或者是Spring Mybatis这些框架外`)。 所以这里介绍一个在实际开发中还是小有用处的反射实例。
crossoverJie 发布于 5小时前 阅读 67

来自京东、唯品会对微服务编排、API网关、持续集成的实践分享(上)

架构师小组交流会:每期选一个时下最热门的技术话题进行实践经验分享。 第三期:微服务。微服务架构以其高度的弹性、灵活性和效率的巨大提升,快速受到各领域架构师和技术决策者的关注。它的基本理念是将一个肥大的系统拆分成若干小的服务组件,组件之间的通讯采用轻量的协议完成。我们本期小组交流会来探讨一下,现在互联网公司的微服务实践情况。 嘉宾:京东章耿、原唯品会石廷鑫、七牛陈爱珍 本文是对此次交流的整理,分了上下两篇文章。   第一轮:自由交流 京东章耿:大家好,我是京东基础架构部平台中间件的章耿,主要负责京东的服务框架,配置中心等项目。京东11年底进行.NET转Java的技术变革,当时就提出了接口的SOA化的概念。那时京东业务发展非常快,项目越来越多,服务化是必然的趋势。京东的服务化框架是一共有两代。第一代是12年开始,我们使用开源的一个实现,用Dubbo作为RPC框架,Zookeeper 作为注册中心,那时应该算一个主流的技术选型。我们在开源的基础上做了一些易用性和功能扩展,比如说支持REST、支持kryo/thrift等序列化,服务监控等,这个框架在那时的业务规模和节点数量下面还是比较稳定的。14年初我们开始自研服务框架。为什么这么做呢?一个是之...
Myl123 发布于 6小时前 阅读 101

SpringSecurity安全性框架实战

SpringSecurity是基于Spring的应用程序提供声明式安全保护的安全性框架
流浪的木马 发布于 6小时前 阅读 83 点赞 1

lambda+reduce的一句艰深代码

一句代码,直接看懵逼!能一眼看懂的都是老码神。
lonelydawn 发布于 7小时前 阅读 40

支持Angular 2的表格控件

前端框架一直这最近几年特别火的一个话题,尤其是Angular 2拥有众多的粉丝。这篇文章介绍支持Angular 2的表格控件如何使用。
hobe 发布于 8小时前 阅读 41

大型网站技术架构-入门梳理

罗列了大型网站架构涉及到的概念,附上了简单说明
brianway 发布于 19小时前 阅读 107

“Effective Java” 对 Kotlin 设计的影响 — Part 1

Java 是一门非常不错的编程语言,但也存在一些缺陷,部分缺陷从 1995 年的早期版本延续至今。在 Joshua Bloch 出版的 Effective Java 一书中,作者详细介绍了避免常见编码错误及处理的方式。它包含 78 项,从语言的不同方面给读者提供了宝贵的意见。 现代编程语言创造很占优势,因为创造者可以从已创建的语言中学习和借鉴,然后开发出更好的编程语言。Jetbrains,一家捷克的软件开发公司,已创建了多个知名的 IDE,并于 2010 年创建了编程语言 Kotlin。该语言消除了 Java 中存在的一些问题,更简洁也更易表达。因之前的 IDE 全部用 Java 编写,现在他们急需一种与 Java 高度互操作的语言,并编译为 Java 字节码。Jetbrains 希望 Java 开发者能快速适应 Kotlin,同时用 Kotlin 构建一个更好的 Java。 重读 Effective Java 时,我发现许多建议对 Kotlin 来说都不那么必要了,所以,在这篇文章中,我想总结性地介绍一下这本书是如何影响 Kotlin 的设计的。 1、Kotlin 的默认值不需要更多构建器 当 Java 的 constructor 中存在多个可选参数时,代码会变得冗长,难读且容易出错。为解决这一问题,Effective Java 在第 2 项中介绍了如何有效的使用构建器模式。此类对象的构建...
编辑部的故事 发布于 19小时前 阅读 3558 评论 13 点赞 4

Django 1.10中文文档-第一个应用Part3-视图和模板

本教程上接Django 1.10中文文档-第一个应用Part2-模型和管理站点。我们将继续开发网页投票这个应用,主要讲如何创建一个对用户开放的界面。 概览 视图是Django应用中的一“类”网页,它通常使用一个特定的函数提供服务,并且具有一个特定的模板。例如,在博客应用中,可能有以下视图: 博客首页 —— 显示最新发表的博客; 博客“详细”页面 —— 每博客的链接页面; 基于年份的归档页面 —— 显示特定年内所有月份发表过的博客; 基于月份的归档页面 —— 显示特定月份内每天发表过博客; 基于日期的归档页面 —— 显示特定日期内发表过的所有博客; 评论:处理针对某篇博客发布的评论。 在我们的投票应用中,我们将建立下面的四个视图: Question首页 —— 显示最新发布的几个Question; Question“详细”页面 —— 显示单个Question的具体内容,提供一个投票的表单,但不显示该议题的当前投票结果; Question“结果”页面 —— 显示特定的Question的投票结果; 投票功能 —— 处理对Question中Choice的投票。 在Django中,网页的页面和其他内容都是由视图(views.py)来传递的(视图对WEB请求进行回应)。每个视图都是由一个Python函数(或者是基于类的视图的方法)表示。D...
j_hao104 发布于 23小时前 阅读 35

在Spring Boot中使用Spring Retry

    最近组内准备将项目中原有的重试功能抽取出来重构为一个重试平台,由于对重试的功能要求比较高,采用了不少中间件和框架(jimdb,jproxy, Elastic-Job ,JMQ,Hbase, Disruptor ),而且重写了  BlockingQueue,平台构架也比较复杂,在设计重试平台前,也调研过一些重试的开源框架,Spring Retry映入了眼帘,虽然最后没有采用它,但是还是想在此处介绍一下它。      在分布式系统中,为了保证数据分布式事务的强一致性,大家在调用RPC接口或者发送MQ时,针对可能会出现网络抖动请求超时情况采取一下重试操作。大家用的最多的重试方式就是MQ了,但是如果你的项目中没有引入MQ,那就不方便了,本文主要介绍一下如何使用Spring Retry实现重试操作。 1、引入Spring Retry依赖 <dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId> <version>1.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.9</version> </dependency> 2、在启动入口加入重试配置     添加@EnableRetry注解 @SpringBootAppli...
老虎是个蛋蛋 发布于 1天前 阅读 69 点赞 1

流媒体:在CentOS 7 安装ffmpeg

CentOS 7 安装ffmpeg
IamOkay 发布于 1天前 阅读 31

使用Mapstruct来进行实体与模型之间的映射操作

    在一个成熟可维护的工程中,细分模块后,domian工程最好不要被其他工程依赖,但是实体类一般存于domain之中,这样其他工程想获取实体类数据时就需要在各自工程写model,自定义model可以根据自身业务需要而并不需要映射整个实体属性。     mapstruct这个插件就是用来处理domin实体类与model类的属性映射,定义mapper接口,mapstruct就会自动的帮我们实现这个映射接口,避免了麻烦复杂的映射实现。     工程中引入mapstruct依赖      <!-- mapstruct --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>${org.mapstruct.version}</version> </dependency> </dependencies>     这里定义实体Person public class Person { private String name; private int age; private String phone; } 这里定义模型PersonModel  public class PersonModel { private String name; private int age; private String phone; } 定义实体Person与模型PersonModel,这里两个类的属性一致。   定义映射可以使用接口也可以使用静态类。...
神神经经的雁冰 发布于 1天前 阅读 7

iOS编程之C语言简介

开篇为什么要先学习C语言       对于零基础开发的人来说先学习C语言,是不错的选择,目前iOS开发的主要编程语言是Objective-C 和 swift,除此之外,你还要了解C语言,iOS有些系统类库是用C语言的,比如gcd, runtime 等等。C语言是其它语言的基础,和其它语言有很多相似之处,能够更深入的去理解,建议先学习。要想做一名资深的程序员,不可能不会C的。 iOS 是可以C和Objective-c, swift 是可以混编的。  什么是C语言       C语言就是一门计算机编程语言,输入高级语言,可以用来编写程序、开发软件。是一门面向过程的语言,好多高级语言都是从C语言中衍生过来的 C语言的用途       编写系统软件、图形处理,单片机程序、嵌入式系统开发甚至是用于科研、编写游戏外挂 C语言的版本问题 1983年美国国家标准局(American National Standards Institute, 简称ANSI)成立了一个委员会,开始制定C语言标准的工作 1989年C语言标准被批准这个C语言标准通常被称为ANSI C 1999年,国际标准化组织ISO有对C语言标准进行修订,在基本保留原C语言特征的基础上,针对应该的需要,增加了一些功能,命名为C99 2011年12月8日,ISO正式公布C语言新的国际标准草案:C11...
dqk_520iOS 发布于 1天前 阅读 14

mysql字符集乱码问题解决

基本概念 • 字符(Character)是指人类语言中最小的表义符号。例如’A'、’B'等; •给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding)。例如,我们给字符’A'赋予数值0,给字符’B'赋予数值1,则0就是字符’A'的编码; • 给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集(Character Set)。例如,给定字符列表为{’A',’B'}时,{’A'=>0, ‘B’=>1}就是一个字符集; • 字符序(Collation)是指在同一字符集内字符之间的比较规则; • 确定字符序后,才能在一个字符集上定义什么是等价的字符,以及字符之间的大小关系; • 每个字符序唯一对应一种字符集,但一个字符集可以对应多种字符序,其中有一个是默认字符序(Default Collation); •MySQL中的字符序名称遵从命名惯例:以字符序对应的字符集名称开头;以_ci(表示大小写不敏感)、_cs(表示大小写敏感)或_bin(表示按编码值比较)结尾。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等价的; MySQL字符集设置 • 系统变量: – character_set_server:默认的内部操作字符集 – character_set_client:客户端来源数据使用的字符集...
hello菜bird 发布于 1天前 阅读 14

来自京东、唯品会对微服务编排、API网关、持续集成的实践分享(上)

架构师小组交流会:每期选一个时下最热门的技术话题进行实践经验分享。 第三期:微服务。微服务架构以其高度的弹性、灵活性和效率的巨大提升,快速受到各领域架构师和技术决策者的关注。它的基本理念是将一个肥大的系统拆分成若干小的服务组件,组件之间的通讯采用轻量的协议完成。我们本期小组交流会来探讨一下,现在互联网公司的微服务实践情况。 嘉宾:京东章耿、原唯品会石廷鑫、七牛陈爱珍 本文是对此次交流的整理,分了上下两篇文章。   第一轮:自由交流 京东章耿:大家好,我是京东基础架构部平台中间件的章耿,主要负责京东的服务框架,配置中心等项目。京东11年底进行.NET转Java的技术变革,当时就提出了接口的SOA化的概念。那时京东业务发展非常快,项目越来越多,服务化是必然的趋势。京东的服务化框架是一共有两代。第一代是12年开始,我们使用开源的一个实现,用Dubbo作为RPC框架,Zookeeper 作为注册中心,那时应该算一个主流的技术选型。我们在开源的基础上做了一些易用性和功能扩展,比如说支持REST、支持kryo/thrift等序列化,服务监控等,这个框架在那时的业务规模和节点数量下面还是比较稳定的。14年初我们开始自研服务框架。为什么这么做呢?一个是之...
Myl123 发布于 6小时前 阅读 101

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

有人给我留言要电源软件,于是就有了这篇软件合集

电源开发离不开设计,那么都有那些软件来支持工程师们的工作呐?我整理了下电源电路设计常用软件合集,希望可以帮助大家~   SPICE模拟电路仿真 用于模拟电路仿真的SPICE(Simulation Program with Integrated Circuit Emphasis)软件于1972年由美国加州大学伯克利分校的计算机辅助设计小组利用FORTRAN语言开发而成,主要用于大规模集成电路的计算机辅助设计。 SPICE的正式实用版SPICE 2G在1975年正式推出,但是该程序的运行环境至少为小型机。1985年,加州大学伯克利分校用C语言对SPICE软件进行了改写,1988年SPICE被定为美国国家工业标准。与此同时,各种以SPICE为核心的商用模拟电路仿真软件,在SPICE的基础上做了大量实用化工作,从而使SPICE成为最为流行的电子电路仿真软件。   现在用得较多的是PSPICE6.2,在同类产品中是功能最为强大的模拟和数字电路混合仿真 EDA软件,它可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出、数据输出、并在同一窗口内同时显示模拟与数字的仿真结果。无论对哪种器件哪些电路进行仿真,都可以得到精确的仿真结果,并可以自行建立元器件及元器件库。   PSPICE信息电子电路设计软件 PSPICE则是由美国Microsim公...
朱朱耀磷 发布于 4小时前 阅读 93

SpringSecurity安全性框架实战

SpringSecurity是基于Spring的应用程序提供声明式安全保护的安全性框架
流浪的木马 发布于 6小时前 阅读 83 点赞 1

使用 NuGet 管理项目库

NuGet 简介 NuGet 是一种 Visual Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 . nupkg,使用开放打包约定 (OPC) 格式。 OPC 仅仅是具有某些元数据的 zip 文件的首字母缩写词。 事实上,您可能早已熟悉 OPC,因为 Word 和 Excel 文档正是使用此格式。 如果您取一个 .docx 文件并将文件扩展名改为 .zip,您实际可以打开它并浏览里面的内容。 . nupkg 文件同样如此。 使用 NuGet 管理项目库 : https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 注册 NuGet 注册地址:https://www.nuget.org/ 管理地址:https://www.nuget.org/account/Packages 上传地址:https://www.nuget.org/packages/upload 下载和安装 NuGet 下载地址:https://dist.nuget.org/index.html NuGetPackageExplorer下载地址: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer 获取 API Key,获取页面:https://www.nuget.org/account 下载 NuGet.exe,将设置机器的 PATH 环境变量,将其 NuGet.exe 的路径添加到 PATH变量中。 设置 API Key,打开 Windows PowerShell,找到 NuGet.ex...
极光推送 发布于 4小时前 阅读 71 点赞 1

SSM(九)反射的实际应用-构建日志对象

相信做Java的童鞋或多或少都听过反射,这也应该是Java从入门到进阶的必经之路。 但是在我们的实际开发中直接使用它们的几率貌似还是比较少的,(`除了造轮子或者是Spring Mybatis这些框架外`)。 所以这里介绍一个在实际开发中还是小有用处的反射实例。
crossoverJie 发布于 5小时前 阅读 67

Linux运维工程师真实的工作状态到底是怎么样的?

现在的运维工程师在大家眼中是个什么样子呢? 是不是还是把服务器搬来搬去,每天不是在拿着Linux光盘开始装系统,就是在等待系统安装完成.你如果还是这么想,那就大错特错了.现在又有做一个新的物种诞生,那就是运维开发工程狮(devops),这只狮子的作用就是把上面的那些工作统统给自动化掉,如自动化给数据中心的裸金属服务器安装系统,自动部署应用.自动收集日志,自动监控报警甚至是自动修复问题.然后运维工作就是每天喝喝茶看看图表,然后再给自动化运维工具提交两行代码.完全解放了生产力啊.
linuxprobe16 发布于 6小时前 阅读 40

支持Angular 2的表格控件

前端框架一直这最近几年特别火的一个话题,尤其是Angular 2拥有众多的粉丝。这篇文章介绍支持Angular 2的表格控件如何使用。
hobe 发布于 8小时前 阅读 41

怎么在条码打印软件中巧妙的运用白色线条

使用BarTender 设计标签的时候,客户的很多要求可能看起来很难,但只要掌握一些小技巧,还是十分好解决的。比如比较常见的一种情况:标签有边框,但要空出一条线段来摆布文字,如何简单快捷做到呢?下面,小编带你来发掘BarTender线条的妙用,简单到超乎你想象。
ABBYY 发布于 7小时前 阅读 38

lambda+reduce的一句艰深代码

一句代码,直接看懵逼!能一眼看懂的都是老码神。
lonelydawn 发布于 7小时前 阅读 40

JMeter配置远程执行

在对容器技术相关的各个组件进行压力测试时,我们选用JMeter作为压测工具,分别对docker daemon, convoy(a docker volume driver), contiv/netplugin (a docker net driver), swarm, etcd, OpenVSwitch, registry进行了压力测试。我们准备了几十台PV作为worker,为了便于本地修改JMeter测试用例后进行调测脚本等,需要对JMeter进行远程执行配置。本文主要记录该配置事项。
WaltonWang 发布于 4小时前 阅读 40

Effective Java学习笔记

本篇博客主要目的是记录本人在看《Effective Java》的过程中的关键点,并且在适当的位置记录本人对于这些要点的理解
爱宝贝丶 发布于 3个月前 阅读 29

effective java读书笔记3:用私有构造器或者枚举类型强化singleton

创建和销毁对象
silence88 发布于 24小时前 阅读 22 评论 3

Google Bigtable整理

参考论文:bigtable可以随着时间的增加,通过简单的增加机器,扩展系统的承载能力。它给的存储方案带来很多优势,可以设置自己的模型,以及用到的其他google基础构件,如果出现瓶颈或效率,能比较快速的解决。
BeGit 发布于 6小时前 阅读 23

hadoop伪分布式搭建

上传jdk hadoop 编辑etc/profile export JAVA_HOME=/opt/setup/jdk1.8.0_60 export HADOOP_DEV_HOME=/opt/setup/hadoop-2.7.1 export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME} export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME} export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME} export YARN_HOME=${HADOOP_DEV_HOME} export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop export ZOOKEEPER_HOME=/opt/setup/zookeeper-3.4.5 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_DEV_HOME/bin:$HADOOP_DEV_HOME/sbin:$ZOOKEEPER_HOME/bin 编辑etc/hosts 192.168.80.3 hadoop1 设置网编辑 编辑etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:78:9A:82 TYPE=Ethernet UUID=c1020d36-fe91-487b-af49-fdc888394574 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPV6INIT=no USERCTL=no IPADDR=192.168.80.3 NETMASK=255.255.255.0 GATEWAY=192.168.80.1 编辑core-site.xml fs.defaultFS hdfs://hadoop1:9000 hadoop.tmp.dir /home/hadoop/tmp 编辑hadoo...
忘忧草1181 发布于 2天前 阅读 20

多线程学习笔记

一、实现多线程的两种方式 1、继承Thread类,重写run方法 例子: public class ThreadDemo extends Thread { private String name; public ThreadDemo() { } public ThreadDemo(String name) { this.name = name; } @Override public void run() { for (int i = 0; i < 50; i++) { System.out.println(name + ": " + i); } } } 测试代码: // PS:启动线程是调用start方法,调用run只是普通的调用方法 ThreadDemo t1 = new ThreadDemo("t1"); ThreadDemo t2 = new ThreadDemo("t2"); t1.start(); t2.start(); 结果:t1和t2交替输出   2、继承Runnable接口,实现run方法,通过Thread(Runnable r)构造Thread对象,调用start方法 例子: package com.xiaol.demo.thread; public class ThreadDemo2 implements Runnable { private String name; public ThreadDemo2() { } public ThreadDemo2(String name) { this.name = name; } @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println(name + ": " + i); } } } 测试代码: ThreadDemo2 r1 = new ThreadDemo2("r1"); ThreadDemo2 r2 = new ThreadDemo2("...
Shawn1in 发布于 16小时前 阅读 19

P项目总结

1、图片轮播使用插件-swiper,API的调用 2、滚动监听事件,JQ,大麦网以及案例的参考
羊皮卷 发布于 7小时前 阅读 20

代码整洁之道(思维导图)

以年 发布于 5小时前 阅读 18

Clair介绍和源码分析

本文主要描述Clair架构、编译、部署、源码分析等内容。
WaltonWang 发布于 4小时前 阅读 25

effective java读书笔记1:考虑用静态工厂方法代替构造器

创建和销毁对象
silence88 发布于 2天前 阅读 18

Elasticsearch技术解析与实战--序

Elasticsearch技术解析与实战,包含Elasticsearch5新版功能
赛克蓝德 发布于 8小时前 阅读 15

2017 年不可错过的开发工具 Top 50

想知道 2017 年有哪些值得关注的开发工具吗?StackShare 年度开发工具排行榜来啦! StackShare.io 是一个开发者工具及服务分享平台,致力于发现并分享开发者使用的开发工具、服务与优质资源,帮助开发者使用最方便的开发工具和便捷的服务。该网站对数千个数据点进行分析,并收集整理 2016 年开发者的评论和投票数,最终为大家呈现以下最热门开发工具排名。 应用与数据工具 #1:JavaScript:轻量级、可演绎的、面向对象的程序语言 得票数:4.72K 使用数:7.06K 点赞数:407 #2: Bootstrap:简单切灵活的 HTML、CSS 和 JS,适配流行的 UI 组件和交互 得票数:6K 使用数:11.3K 点赞数:379 #3: Node.js:基于 Chrome 的 JavaScript 运行时构建的平台,能够轻松构建快速、可扩展的网络应用 得票数:5.51K 使用数:5.36K 点赞数:463 #4: nginx:自由开源软件,为互联网上业务繁忙的网站提供高性能的网页服务器 得票数:3.68K 使用数:9.91K 点赞数:293 #5: AngularJS:超强 JavaScript MVW 框架 得票数:4.44K 使用数:4.75K 点赞数:323 #6: PHP:流行的通用脚本语言,特别适合 Web 开发 得票数:2.91K 使用数:10.8K 点赞数:176 #7: Python:一门清晰且强大的面向对象的编...
达尔文 发布于 1周前 阅读 8837 评论 12 点赞 7

小程序如约而至,微信小程序玩法大起底!!

博卡君的小程序使用教程
博卡君 发布于 2周前 阅读 6898 评论 9 点赞 5

小程序上线,5 款的移动应用开发工具拯救你的 App

小程序来了,大伙都忙着卸载一大波App, App 真的会死掉吗?用这 5 款最实用的移动应用开发工具来拯救你的 App 吧!
两味真火 发布于 1周前 阅读 6825 评论 16 点赞 1

华为众包第二波 —— 13 万元开发 OpenStack 插件

这元旦刚过,华为公有云众包第二波任务出来了! 本次众包的任务是为华为公有云开发基于OpenStack的6个插件, 费用总计 136800 元。 华为不愧是国内领先的软件开发公司,需求明确、文档规范,加上开源中国众包项目运营团队的小伙伴一再确认,相信接包的小伙伴会切身体验到我们团队背后付出的辛勤工作。 所有 6 个任务全都采取整包的方式,每个项目选取一名开发者进行开发,只要您按时按需求提交,我们保证资金安全到账,快过年了,赚点零花钱花花吧! 华为公有云 Openstack - WorkSpace 插件项目  ¥33,300元  华为公有云 Openstack - Auto Scaling 插件项目 ¥41,400元 华为公有云 Openstack - Anti-DDOS插件项目 ¥19,800元 华为公有云 Openstack - Volume Backup Service 插件项目 ¥7,200元 华为公有云 Openstack - Cloud Eye Service 插件项目 ¥15,300元 华为公有云 Openstack - Key Management Service 插件项目 ¥19,800元...
开源中国众包平台 发布于 1周前 阅读 9086 评论 22 点赞 5

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

从零开始成为一名开源程序员,其实只需要九步!

探索技术世界,是一件非常令人兴奋的事情。你会发现有非常非常多的领域,等待你去学习,去深挖。如果有兴趣参与和帮助创造更好的功能,加入到开源的队伍当中,你知道要从哪里开始吗?第一步该做什么?第二十步又是什么? 首先要明白,开源是开放的。这听起来似乎是句废话,但现实中有很多人恰恰就忘记它只是一个文化现象的描述,而不是一家500强公司的名字。不需要去面试或完成注册表或注册表单才能成为开源程序员。只需要做好程序,然后共享代码。在理想情况下保证代码能保持开放,不管它被如何使用。 就是这样,你就是一名开源程序员! 那现在目标已经有了,过程要怎么样呢? 第一步:找到和选择自己的 Skill trees (技能树) 玩过 RPG 游戏的人应该知道,这些游戏中会有“技能树”的概念。 最开始的时候,会获得基础技能,然后不断“升级”和获得新技能,再用新技能获取更新的技能…… 成为一名程序员有点像往你的技能树上不断添加新技能的过程。 先得到一些基本的技能,持续练习直到它们进入第二阶段,然后获得新的技能。最终沿着你选择的技能树不断进步。 在这个过程中你会遇到许多技能树。就像开源有很多切入点,每个人都有自己独特的优势、才能和兴趣。 但是,某些...
编辑部的故事 发布于 6天前 阅读 7689 评论 28 点赞 15

快鸟VPN和快鸟影梭SS 今天免费账号更新

免费VPN账号 可以在Win 10应用商店搜索【快鸟VPN】或【快鸟SS】获取,或者收藏本页面 获取后的帐号需要填入系统设置或者软件才能使用,不是获取了就能连上。 快鸟VPN QQ群:307988452 使用教程点击本页面下方教程,2017.1.19免费账号更新: PPTP连不上的话,请使用手机流量,或者使用影梭。 打不开国外网页,浏览器建议使用Chrome浏览器:https://www.baidu.com/s?wd=chrome浏览器 【VPN:类型PPTP,服务器地址45.32.75.178用户名freevpn密码999999】 【影梭Shadowsocks:服务器地址185.72.156.28端口8989密码999999加密方式:AES-256-CFB】 【免费VPN失效,如需要使用,请联系客服QQ:3197571508  购买付费帐号】   另外:付费VIP更快更稳定,购买VIP付费独立帐号请加快鸟vpn客服qq:3197571508。遇到VPN连不上的情况请联系客服解决。 点击下方超链接可以查看教程: PPTP: 快鸟VPN Win10 VPN设置教程  快鸟VPN Win7 PPTP VPN设置教程 快鸟VPN WP连接PPTP使用教程 快鸟VPN 安卓Andriod PPTP设置教程 快鸟VPN iOS PPTP设置教程   影梭: 快鸟影梭SS Windows上使用影梭教程 快鸟影梭SS Android上使用影梭教程 快鸟影梭SS iPhone iOS 设置教程 【WP手机不支持影梭SS所以没...
快鸟VPN 发布于 2个月前 阅读 47104 点赞 2 打赏 1

码云周刊:当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演!

![码云周刊](https://static.oschina.net/uploads/img/201701/09170848_HsPK.jpg "码云周刊") **类型:自动化测试** 虽然之前小一做过几年开发,但当时对于在公司兴起的自动化测试概念还不是很清楚,觉得是一种很神秘的东西,后来通过向业内资深的测试工程师朋友咨询才恍然大悟。其实自动化测试从广义上来讲,即通过各种工具(程序)的方式来代替或辅助手工测试的行为都可以认为是自动化;从狭义上来说,即通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统各种功能进行验证。同时,小一也了解到目前自动化测试大致分为以下几类: 1. 对Web UI 的自动化测试程序 2. 对Windows 窗体UI的自动化测试程序 3. API测试, 比如(测试WCF service, Web API 等) 4. 数据库测试, 比如测试存储过程 5. 接口测试 (这种只能用自动化测) 6. 单元测试 7. 性能测试, 性能测试都需要用到自动化 今天小一为大家带来了各种开源的自动化测试工具,希望能够帮助小伙伴们快速的完成各种测试,在未来的职业道路一帆风顺! ##一、项目名称:基于selenium webdriver 自动化测试框架 ![基于selenium webdriver 自动化测试框架](https://sta...
开源中国码云 发布于 2周前 阅读 5384 评论 3 点赞 4

极客君教你破解隔壁妹子的wifi密码,成功率高达90%

首先,给大家推荐一个我自己维护的网站: 开发者网址导航:http://www.dev666.com/ 破解wifi密码听起来很复杂,实际上也不是非常的复杂,极客君(微信公众帐号:极客峰)今天教大家如何破解隔壁妹子的wifi密码。   首先声明:本教程只用于技术交流,请勿用于非法用途。请严格遵循相关法律法规。为了保护本例中被破解密码者信息,本人不透露wifi主人所在地理位置。本人有宽带,也不会使用被破解者的wifi。   目前无线网络加密形式常见的有两种,WEP和WPA/WPA2,WEP破解方法非常简单,但是现在这种加密方式由于不安全基本上见不到了。这里就没有必要讨论WEP破解方法了。   今天我们要破解的正是最难破解的WPA/WPA2加密方式的密码!WPA/WPA2破解的主流方法有Pin码破解、抓包破解。   Pin码破解最简单成功率最高,但是必须要路由器开启wps才行,而且很多最新的路由器都有防pin码破解功能,对于Pin码破解,大家可以用虚拟机安装CDLinux系统,里面集成了相关的软件,网上百度一下就能找到相关的教程。   今天我们要讲的是抓包破解,如果路由器没有开启wps,Pin码破解的方式就不能用了,对于路由器开启了wps功能创建的wifi来说,抓包破解wifi密码的成功率要低于pin码破解,但...
李峰峰 发布于 3个月前 阅读 65544 评论 8 点赞 5

微信小程序开放公测,快速申请一个小程序账号

微信小程序社区也上线啦
小木学堂 发布于 3个月前 阅读 6555 评论 11 点赞 6

【软件周刊】Bootstrap 将不再支持 IE 9;Swoole 2.0 正式版发布,协程特性支持 PHP 7

软件周刊(01.01 — 01.07):本周热门软件更新 — Swoole 发布 2.0 正式版,协程特性支持 PHP 7;Bootstrap 发布最后一个 alpha 版本,将不再支持 IE 9;Firefox 51 Beta 11 发布,增加对 WebGL 2 的支持
局长 发布于 2周前 阅读 6351 评论 9 点赞 4

开源中国众包平台派活:微信小程序任务

大家好! 微信小程序开发是现在的一个热点,开源中国众包项目助理接到了第一波小程序开发的订单,作为对接需求方和实施方的平台,我们很希望能打响开局的第一炮, 我们的首批小程序任务将通过直接撮合、定向的方式分派到前期维护的资源池,确保任务能快速完美地交付。 为此我们希望能召集一批真正有“小程序开发实力” & “能保证开发时间”的个人/公司/团队,如果您是: 有微信小程序开发经验的个人/公司/团队 有案例、demo或代码(建议托管在码云上) 个人或者团队能保证一定的兼职时间 满足以上条件的个人/公司/团队,请在开源中国众包平台上: 完善您/公司/团队的资料和服务的内容(点击完善资料); 通过站内信 @开源中国众包平台  或者 发邮件到 zb@oschina.cn , 标题为“微信小程序服务伙伴”,内容为您的开源中国账号。 如您需要找人开发小程序,也可以直接通过我们的项目助理快速发布任务 (点击发任务)。 立即完善个人资料和服务内容 》》》 立即发布小程序开发任务》》》  
开源中国众包平台 发布于 1周前 阅读 3142 评论 4 点赞 2

【源资讯第12期】你们关心的软件排行榜、小程序终于来了,当然还有……黑客!

【一周源资讯(2017.1.7-2017.1.13)】本周,你们最关心的开源中国新增开源软件以及码云热门项目两个排行榜、小程序终于一一上线,随之而来的还有MongoDB 数据库安全事故!
编辑部的故事 发布于 5天前 阅读 5028 评论 4 点赞 1

首发丨微信小程序正式上线 ,首批名单揭晓!

博卡君独家曝料,首批最权威小程序名称揭晓,不愁没得玩了!
博卡君 发布于 1周前 阅读 2544 评论 3 点赞 2

2016年最具潜力前端开源项目Top20

在2016年,前端的开源世界越发精彩,Vue的不断壮大,Angular 2的发布,Amaze UI 3.0蓄势待发,黑马级别的Ant Design,这些都给2016年的前端世界注入了不同的鲜活血液。作为一名前端开发者,今天就给大家盘点一下在过去的2016年中,哪些开源项目值得期待,哪些具有成为开发者眼中NO.1的潜力。 因盘点的开源项目不能完全以技术等标准来判定谁高谁低,所以以下项目排名以Github上Star数量排名,且盘点的项目里均是在2016年中保持了较高的活跃度(有重大更新、重大事件、最新发布等),毕竟个人精力和水平有限,如有不足之处还请见谅。   1 Bootstrap 作者:Twitter 官网:http://getbootstrap.com/ Github:https://github.com/twbs/bootstrap Star:10W+ 最近更新:4.0.0-alpha.5(2016.10.19) 介绍:作为老牌的前端框架,Bootstrap 一直保持着不俗的成绩,Bootstrap 4 目前也正处于 Alpha 阶段,预计在 2017 年发布。值得关注的变化是新的通用卡片组件和 Flexbox 网格(查看与常规网格的对比),这使得框架更加现代化,并且让用户使用它进行工作时更加得舒心。   2 React 作者:Facebook 官网:https://facebook.github.io/react/ Github:https://github.com/facebook/react Sta...
淡蓝色风 发布于 1周前 阅读 3256 评论 8 点赞 1

keepalived高可用性分析

准备使用keepalived作为高可用性软件,因此针对keepalived做了一些实验,得出的结论先说一下: 1: keepalived一个作为master,另一个做为backup。当master挂了后,backup接管。但存在一个问题,当master恢复了后,master又会接管会来,这个频繁切换对于业务来说是不好的,再快的切换也会有影响。 2: keepalived进程被强制kill后,虚拟ip移除不掉,导致脑裂的现象。   对于对第1个结论,做的实验如下,探测设置为30s只是为了方便实验,对于生产环境不适用: master(ip: 172.16.0.3)的配置: vrrp_instance VI_1 { !state BACKUP state MASTER interface eth1 !nopreempt virtual_router_id 51 priority 100 advert_int 30 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.0.254 } } backup(ip: 172.16.0.1)的配置: vrrp_instance VI_1 { state BACKUP interface eth1 virtual_router_id 51 priority 50 advert_int 30 !nopreempt authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { ...
鸿弟 发布于 1周前 阅读 2564 评论 5 点赞 2

使用 TeamCity 实现持续集成(CI)

持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础。本文论述了如何使用 TeamCity 持续集成工具来实现项目的持续集成。
waylau 发布于 1周前 阅读 2266 评论 15 点赞 4

打造linux回收站功能

前言:其实今天我是很忙的,不过内心总感觉有些事情必须要做。前两天一哥们把线上环境一个web节点的/给删除了,昨天一哥们又把mysql的data目录给删除了。试想一下,如果没有做全网备份,如果不是一个节点,是不是就要跑路了,严重的话。。。不过想要恢复也是很麻烦的(上面提到的两位小盆友,看到不要打我)   今天就来说说如何打造linux回收站功能: 第一种方法: 当然是自己写脚本喽,然后再做一个别名追加到全局变量,脚本内容还是自己写吧 第二种方法: 修改当前用户或者全局的环境变量,然后再重新加载一下 mkdir -p /.trash alias rm=trash alias lt='ls /.trash' trash() { mv $@ /.trash/ } cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }   我的思考: 1、我们只是简单的把rm做了一个alias,那/bin/rm或者\是不是也可以删除到回收站呢 2、rm -f和-rf参数还能使用吗 3、我们只是把文件mv到回收站,是否需要定期清除?   为了方便大家交流,本人开通了微信公众号,和QQ群291519319。喜欢技术的一起来交流吧...
IT--小哥 发布于 6天前 阅读 2540 评论 8 点赞 1

认识 ElasticSearch Analyzer 分析器

做全文搜索就需要对文档分析、建索引。从文档中提取词元(Token)的算法称为分词器(Tokenizer),在分词前预处理的算法称为字符过滤器(Character Filter),进一步处理词元的算法称为词元过滤器(Token Filter),最后得到词(Term)。这整个分析算法称为分析器(Analyzer)。
傅易君 发布于 1周前 阅读 1973 点赞 2

从零开始学做微信小程序,看这些就够了!

随着正式开放公测,微信小程序再次万众瞩目,越来越多的企业和个人涌入到小程序开发的大军中。小程序究竟是什么?适合做小程序的产品有哪些?做小程序需要提前准备什么?如何零基础学做小程序?此文,将列出OSC上优质的资源供大学了解和学习。 一、新手入门 有关小程序的入门,首选自然是官方文档。 它解释了基本概念,有简单的设计指南和开发教程,能让你很好地对小程序有初步理解。  微信小程序产品定位及功能介绍 微信小程序设计指南 微信小程序简易教程 微信小程序运营规范 看完这些你会发现,小程序主打的是比APP更轻量的形态,简单的开发,却接近app的体验,无需下载,扫码打开。那么,一些刚需且高频的金融类、电商类、教育类等其实是不适合接入小程序的。这些对功能的要求都很重,小程序难以承载。而且小程序不能像微信公众号一样被关注、群推送消息以及转发朋友圈,这也就意味着,它没有办法获取用户更多的信息,也不便于深度营销。 小程序适用哪些产品? 功能很轻,用完即走的,如刚需且低频的服务类、旅游类等 基于社交场景的轻应用,或者说基于轻社交的应用 非即时、可异步的应用 初创型企业的MVP产品 开发和设计能力有限的产品 以及更多…… 这些不错的资源...
王练 发布于 2个月前 阅读 11472 评论 20 点赞 26

Android 平台的 10 款开源任务管理和时间追踪应用

自我管理对于个人的发展的重要性不言而喻了。所以为了遇见更优秀的自己,就从这 10 款 Android 平台的开源任务管理和时间追踪应用开始吧!
局长 发布于 1周前 阅读 1931 评论 3 点赞 2

Cmakelists.txt最后实现部分模板

add_definitions(-D_AFXDLL) set(CMAKE_MFC_FLAG 2) set(_src_files      ../CommInter/ProcessMutex.cpp     ../CommInter/ProcessMutex.h     ../CommInter/Thread.cpp     ../CommInter/Thread.h     ../ToolBox/OPini.cpp     ../ToolBox/OPini.cpp     resource.h      stdafx.cpp      stdafx.h      targetver.h      TMServer.cpp      TMServer.h      TMServerDlg.cpp      TMServerDlg.h     ) set(_tarName TMServer) add_executable(${_tarName} WIN32 ${_src_files}  TMServer.rc) target_link_libraries(${_tarName}      ManageModule     StreamModule     )  #use_msvc_pch(${_tarName} stdafx.h stdafx.cpp)  ...
jamin-snails 发布于 59分钟前 阅读 2

android与JavaScript互相调用

android与JavaScript互相调用 http://www.cnblogs.com/mengdd/archive/2013/0 3/02/2940185.html http://blog.csdn.net/singleton1900/article/d etails/8776336 http://www.cnblogs.com/glony/articles/214544 7.html 1.JavaScript调用android 1>  新建类(如:WebAppInterface):作为桥梁 用来处理JavaScript调用的android方法,比如: JavaScript里面的弹框,要对其弹框显示的内容处 理,则再次写入处理方法 public class WebAppInterface{     Context mContext;          WebAppInterface(Context c){     mContext=c;   }   public void showToast(String toast){     Toast.makeText(mContext,"互相调 用",Toast.LENGTH_LONG).show();     } } 2>   MainActivity操作显示界面 将这个类和WebView中的JS代码绑定 WebView webview=(WebView)findViewById (R.id.webview); webview.addJavascriptInterface(new WebAppInterface(this),"Android"); 给这个对象起的别名叫“Android”。 这个就创立了一个接口名,叫“Android”,运行 在WebView中的JS代码可以通过这个名字调用 WebAppInterface类中的showToast()方法 (猜想:下面是JavaScript代...
下雨天_冒泡泡 发布于 1小时前 阅读 4

Kafka快速开始

入门 1.简介 Kafka is a distributed streaming platform,kafka是一个分布式流式平台,具有三个关键功能: 1.它允许您发布和订阅记录流。在这方面,它类似于消​​息队列或企业消息系统; 2.它允许您以容错方式存储记录流; 3.它允许您在记录发生时处理记录。 了解几个概念: 1.Kafka作为一个群集在一个或多个服务器上运行; 2.Kafka集群以称为Topic的类别存储记录流; 3.每个记录由一个键,一个值和一个时间戳组成。 来自Kafka官网的一张介绍Kafka的图片: 如上图所示,kafka提供了四个核心的API: 1.Producer API允许应用程序将流记录发布到一个或多个Kafka topics; 2.Consumer API允许应用程序订阅一个或多个topics,并处理为其生成的记录流; 3.Streams API允许应用程序充当流处理器,消耗来自一个或多个topics的输入流并产生到一个或多个输出topics的输出流,有效地将输入流转换为输出流; 4.Connector API允许构建和运行可重用的生产者或消费者,将Kafka topics连接到现有应用程序或数据系统。例如,关系数据库的连接器可能捕获对表的每个更改。 2.Topics and Logs Topics是发布记录的类别或Feed名称,Topics可以具有零个,一个或多个订阅它的consumers,对于每个T...
ksfzhaohui 发布于 1小时前 阅读 50

视频处理利器 ffmpeg 静态版

视频处理利器 ffmpeg 静态版
cpaku 发布于 1小时前 阅读 3

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

Python第三方包安装

1. 安装anaconda 2. 安装第三方包相关命令     pip install ****(包名)     pip list --outdated:列出所有的可升级的包     pip install --upgrade ****(包名):升级第三方包 3. 镜像安装: pip install XXX --index-rurl=https://pypi.douban.com/simple 4. Python MySQLdb 安装 (1). 到http://www.lfd.uci.edu/~gohlke/pythonlibs/下载     MySQL_python-1.2.5-cp27-none-win32.whl     MySQL_python-1.2.5-cp27-none-win_amd64.whl     根据自己的平台选择下载 (2). 启动cmd,进入MySQL的下载目录 (3). 在cmd下输入 pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl Mac平台安装: (1). MySQLdb不大好安装,可以用下面的数据库取代 pip install https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.tar.gz (2). 使用方法: import mysql.connector config = { 'host':'127.0.0.1',#默认127.0.0.1 'user':'root', 'password':'123456', 'port':3306 , #默认即为3306 'database':'test', 'charset':'utf8' #默认即为utf8} cnn = mysql.connect...
Mestarxh 发布于 1小时前 阅读 1

python argparse 命令行参数

[python argparse 命令行参数](http://blog.xiayf.cn/2013/03/30/argparse/)
TonyMistark 发布于 1小时前 阅读 1

【原创】packetbeat 之“协议数据包分析每次输出结果均不同”问题

最近在玩 packetbeat ,玩的过程中发现了点问题,记录之~~
摩云飞 发布于 1小时前 阅读 7

malloc 与 new

## malloc 1. 在阅读android系统binder.c源码的时候,看到有行代码‘bs = malloc(sizeof(*bs));’ 2. binder.c中用到的malloc函数应该是包含在 stdlib.h头文件中的 ### malloc介绍 0. malloc的全称为memory allocation,中文叫动态内存分配 1. 用来动态的分配内存空间,void* malloc(size_t size); size为需要动态分配的空间大小,以字节(Byte)计 2. malloc函数在堆分区分配一块指定大小的内存空间,用来存储数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的。 3. 分配成功之后返回指向改内存的地址,分配失败则返回NULL 4. 如果size的值为0,返回的值会因标准库的不同而不同,有可能是NULL,也可能不是,反正返回的指针不应该再次被引用就对了 5. 申请了内存空间之后,必须检查是否分配成功 6. 在用完对应的内存空间之后,记得手动释放一下可以用free函数 void free(void *) ### malloc使用实例 char *name = (char *)malloc(10) //分配10个字节的内存空间,用来存放字符 struct people *p = malloc(sizeof(*p)); //分配结构体people需要的内存空间 if(!p) //进行是否分配内存空间成功检查 { // 分配内存空间失败 } else { //分配内存空间成功 } ### ma...
qenter 发布于 1小时前 阅读 2

Kafka监控

.监控 KafkaOffsetMonitor http://www.cnblogs.com/yinchengzhe/p/5123515.html http://top.jobbole.com/31084/ http://my.oschina.net/cjun/blog/514956 Kafka三款监控工具比较 - 在之前的博客中,介绍了Kafka Web Console这个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者、消费者、ZooKeeper建立大量连接,从而导致网络阻塞。并且这个Bug也在其他使用者中出现过,看来使用开源工具要慎重!该Bug暂未得到修复,不得已,只能研究下其他同类的Kafka监控软件。 通过研究,发现主流的三种kafka监控程序分别为: Kafka Web Conslole Kafka Manager KafkaOffsetMonitor 现在依次介绍以上三种工具: Kafka Web Conslole 使用Kafka Web Console,可以监控: ·         Brokers列表 ·         Kafka 集群中 Topic列表,及对应的Partition、LogSiz e等信息 ·         点击Topic,可以浏览对应的Consumer Groups、Offset、Lag等信息 生产和消费流量图、消息预览… 程序运行后,会定时去读取kafka集群分区的日志长度,读取完毕后,连接没有正常释放,一段时间后产生大量的socket连接,导致网络堵塞。 Kafka Manager 雅虎开源的...
writeademo 发布于 1小时前 阅读 1

centos7将lvm的分割成两个卷组

  目的:将centos卷组的大小由49G减少到40G,然后新建一个10G的cinder-volumes卷组。   1、首先查看卷组: vgdisplay   2、:将centos lvm减少10G空间: lvreduce -L -10G -n centos /dev/mapper/centos-root     现在已经有10G空间剩余了。 查看centos 卷组详情: 从上图获取到LV Path:/dev/centos/root   3、新建一个cinder-volumes卷组: lvcreate -L 10G --name cinder-volumes /dev/centos/root   报错,汗。。。   lvcreate -L +10G -n cinder-volumes centos 其中最后面的centos为上述vgdisplay想要分割分区的卷组名   lvdisplay   df -h 没有找见刚刚创建的cinder-volumes卷组。而且/dev/mapper/centos-root大小没有改变。     4、格式化挂在使用逻辑卷:   mkfs.ext4 /dev/centos/cinder-volumes    5、新建一个挂载目录: mkdir /mymount   6、挂载: mount /dev/centos/cinder-volumes /mymount/ 查看结果: df -h     7、测试使用下逻辑卷组:   一切正常。  ...
xingfei 发布于 1小时前 阅读 1

30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!

请对着30万奖金和加拿大的KDD门票,真诚地摸着自己的良心说你想不想去:)
阿里聚安全 发布于 2小时前 阅读 1

Python的 函数 参数为数据结构和表的区别

a = 1 def change_integer(a): a = a + 1 return a print change_integer(a) print a #===(Python中 "#" 后面跟的内容是注释,不执行 ) b = [1,2,3] def change_list(b): b[0] = b[0] + 1 return b print change_list(b) print b 第一个例子,我们将一个整数变量传递给函数,函数对它进行操作,但原整数变量a不发生变化。 第二个例子,我们将一个表传递给函数,函数进行操作,原来的表b发生变化。 对于基本数据类型的变量,变量传递给函数后,函数会在内存中复制一个新的变量,从而不影响原来的变量。(我们称此为值传递) 但是对于表来说,表传递给函数的是一个指针,指针指向序列在内存中的位置,在函数中对表的操作将在原有内存中进行,从而影响原有变量。 (我们称此为指针传递)
mickelfeng 发布于 2小时前 阅读 1

Android Studio的gitignore文件

Android Studio自动生成的: *.iml .gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures .externalNativeBuild 优化后的: #built application files *.apk *.ap_ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Local configuration file (sdk path, etc) local.properties # Windows thumbnail db Thumbs.db # OSX files .DS_Store # Eclipse project files .classpath .project # Android Studio *.iml .idea #.idea/workspace.xml - remove # and delete .idea if it better suit your needs. .gradle build/ #NDK obj/...
Gnepux 发布于 2小时前 阅读 1

在Eclipse中使用JUnit4进行单元测试(初级篇)

本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。正因为如此麻烦,所以程序员们编写单元测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4。本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元测试的方法。 首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实...
要么伟大要么死_zcv 发布于 2小时前 阅读 1

Git 使用规范流程

http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
Oscarfff 发布于 2小时前

idea debug下启动不能进入断点(tomcat9出问题后续)

今天想启动tomcat op做debug,发现打的断点都没用,然后搜到这个http://baibashige.iteye.com/blog/1495622  才意识到,那次为了试试是不是jdwp问题,把这个勾去掉了,导致没有导入debug配置.   把这个勾勾上,就能进入debug断点了
风神AI 发布于 2小时前 阅读 1

开源区块链平台ChainCore使用教程

本文详细描述了ChainCore中的概念以及ChainCore Developer Dashboard的操作
风摆残荷 发布于 2小时前 阅读 1

用Maven部署war包到远程Tomcat服务器

1、思维导图   2、每个步骤配置 1)tomcat     本人使用apache-tomcat-8.0.35版本,解压后,只要在conf/tomcat-users.xml加入<user username="deployer" password="654321" roles="manager-script"/>。 2)pom.xml加入如下 其中localServer表示本地服务,remoteServer远程服务。 <properties> <warPackageName>deploy-web</warPackageName> <tomcat.deploy.server>localServer</tomcat.deploy.server> <tomcat.deploy.serverUrl>http://localhost:8080/manager/text</tomcat.deploy.serverUrl> </properties> <profiles> <profile> <id>deploy2production</id> <properties> <tomcat.deploy.server>remoteServer</tomcat.deploy.server> <tomcat.deploy.serverUrl>http://120.26.93.30:8080/manager/text</tomcat.deploy.serverUrl> </properties> </profile> </profiles> <build> <finalName>${warPackageName}</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> ...
warlockssss 发布于 2小时前 阅读 3

git pull 时报fatal: early EOF fatal: index-pack failed处理方式

处理方式一: This error may occur for memory needs of git. You can add these lines to your global git configuration file, which is .gitconfig in $USER_HOME, in order to fix that problem. [core] packedGitLimit = 512m packedGitWindowSize = 512m [pack] deltaCacheSize = 2047m packSizeLimit = 2047m windowMemory = 2047m 处理方式二: # git pull --depth 1  # git pull --depth 2 . . .# git pull --all
Michaelyn 发布于 2小时前 阅读 2

网站运营方案该怎么策划

网站运营的重点在于计划、安排与分配。要经营好自己的网站,你要学会该怎么去做好网站运营。网站运营是一种思维的活动,没有死板的限定,要按照自身的情况与网站的定位来知道属于你的网站运营方案。不同种类的行业、不同类型的网站都有他们特定的网站运营策划方案。接下来小编为大家分析下,网站运营方案该怎么策划。
纳思尼克 发布于 2小时前 阅读 2

基于ELK5.1(ElasticSearch, Logstash, Kibana)的一次整合测试

前言 开源实时日志分析ELK平台(ElasticSearch, Logstash, Kibana组成),能很方便的帮我们收集日志,进行集中化的管理,并且能很方便的进行日志的统计和检索,下面基于ELK的最新版本5.1进行一次整合测试。 ElasticSearch 1.概述: ElasticSearch是一个高可扩展的开源的全文搜索分析引擎。它允许你快速的存储、搜索和分析大量数据。ElasticSearch通常作为后端程序,为需要复杂查询的应用提供服务。 Elasticsearch是一个基于Lucene的开源分布式搜索引擎,具有分布式多用户能力。Elasticsearch是用java开发,提供Restful接口,能够达到实时搜索、高性能计算;同时Elasticsearch的横向扩展能力非常强,不需要重启服务,基本上达到了零配置。 2.解压ElasticSearch并进入目录: unzip elasticsearch-5.1.1.zip cd elasticsearch-5.1.1 3.启动ElasticSearch服务: ./bin/elasticsearch 因为这里使用的是root账号进行启动服务的,所以会报如下错误: at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.1.1.jar:5.1.1] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearc...
ksfzhaohui 发布于 2天前 阅读 1936 评论 8 点赞 7

在SpringBoot中集成Redis

    上篇介绍了 Spring-data-jpa一些使用方法,都是基于mysql数据库来讲解的,但是在实际项目中,由于访问量的不断增大,数据库的压力会越来越大,这时候类似于mysql的数据库往往只是为了兜底或者在降级时才会有查询操作,大部分的读操作都会集中在缓存或者像elasticsearch这种全文搜索引擎,本篇主要介绍一下如何在SpringBoot中使用Redis,后续会介绍如何集成elasticsearch  1、添加Redis起步依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency> 2、添加Redis相关配置 spring: redis: host: localhost port: 6379 pool: max-idle: 100 min-idle: 1 max-active: 1000 max-wait: -1 3、编写Redis配置类 @Configuration @EnableCaching public class RedisConfig extends CachingConfigurerSupport { /** * 生成key的策略 * @return */ @Bean public KeyGenerator keyGenerator() { return new KeyGenerator() { @Override public Object generate(Object target, Method m...
老虎是个蛋蛋 发布于 3天前 阅读 2633 评论 11 点赞 3

免费个人博客搭建教程(详细-图文)--Hexo+OSChina

本人作为一个屌丝程序员,**年少无为,卖马为生**,买不起服务器,买不起域名,但是又想拥有属于自己的博客网站,那就只有通过技术来实现这一切了。先上成果:[点击](http://z77z.oschina.io/),现在我把我自己搭建博客的过程共享出来,只要你按照步骤一步步走下去,一定会搭建成功,如果大家在搭建过程中遇到什么问题,欢迎在我的博客评论区留言,也欢迎大神进来,教我做码,带我装逼,带我飞。**[博客地址](http://z77z.oschina.io/)**,JUST DO IT(`离开舒适区`)。
z7-7z 发布于 5天前 阅读 4757 评论 69 点赞 16

Linux服务器安装Oracle服务端总结

通过ssh远程连接linux服务器,上传Oracle11g的安装包,在无图形化界面的情况,安装Oracle服务器端。本例中linux服务器系统为CentOS6.5.
黎嘉诚 发布于 6天前 阅读 2457 评论 25 点赞 3

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

一个大对象引起的血案,GC的踩坑实录

踩过很多次GC的坑,基本每次性能问题,除了数据库,其它高发地区就是GC问题了
爱吃大肉包 发布于 6天前 阅读 4592 评论 15 点赞 4

使用 TeamCity 实现持续集成(CI)

持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础。本文论述了如何使用 TeamCity 持续集成工具来实现项目的持续集成。
waylau 发布于 1周前 阅读 2266 评论 15 点赞 4

【技术解密】SequoiaDB复制组选举原理说明

1.SequoiaDB介绍 SequoiaDB是国内一款自主研发的分布式文档型数据库。它与过去开发者所熟悉的关系型数据库不同,它的数据结构是BSON类型,一种与JSON结构非常相近的数据类型。 SequoiaDB与关系型数据库除了在数据类型上有比较明显的差异外,还原生支持分布式存储。用户在搭建一个能够应对海量数据以及包含高并发操作的系统时,不再需要像过去一样,在业务层面做复杂的分表分库工作,直接在定义数据表时,明确告诉数据库此表需要根据哪个字段以及何种规则进行分布式存储,数据分布式存储对于用户来说变得透明。用户可以更加专注以业务逻辑开发,而不是关注如何分表分库。 2.SequoiaDB总体架构介绍   图1:SequoiaDB 总体架构示意图 SequoiaDB整个集群中,主要角色构成是三个,协调节点,编目节点和数据节点。 1.1 协调节点 协调节点(英文称呼为Coord),是SequoiaDB的任务分发节点(一般用户成为Master节点),本身不存储任何数据,主要负责接收应用程序的访问请求。所以一般用户在与SequoiaDB打交道时,访问的都是协调节点,对于其他角色的节点,一般情况下是不建议用户去访问的。 在SequoiaDB老版本中,协调节点在数据库集群中是类似孤岛式部署的。怎么说呢,主要因为...
巨杉数据库 发布于 1周前 阅读 766 点赞 1

小程序如约而至,微信小程序玩法大起底!!

博卡君的小程序使用教程
博卡君 发布于 2周前 阅读 6898 评论 9 点赞 5

一个热词推荐的简单实现

#### 为什么想做这个东西 一直好奇像亚马逊这类网站的搜索是如何做到推荐的,最近刚好看到一篇文章:[Redis 与搜索热词推荐](http://blog.jobbole.com/95780/),然而只写了思路。所以,就是想自己实现一个。 先上个效果图,再聊: ![xxx](https://showme.codes/assets/images/index.lsp.gif) P.S. 按四年前,要写这样的前端效果,对于我这个后台开发,还是挺困难的。而现在,简单的学了下Vue.js,再加上同事的小小指点,就搞定了。😂 #### 热词推荐的本质 假如你预先就知道了用户输入:s、sz、shen、深这些字时,就是想搜“深圳”,那是不是说,我们只要提前将这些字放到一个Map结构中,将用户的输入想像出一个key,value就是“深圳”。 说到底,热词推荐的本质就是一个大大的Map。**难点就在于如何更新这个Map**,以至于让用户觉得“智能”,或觉得我们在给他们做“推荐”。 这个Map,常常被人称为“索引”。其实使用“索引” 这个名词也更准确一些。Map中的Key是不能重复的。但是我们数据结构是要求可重复的,为什么呢?因为,在系统中,s、sh、shen、深等等这些都是key,而它们对应的value,可能相同,又可能不同。举个例子: ``` hotword:0>zrevrange s 0 10 1) 鼠蛟...
翟志军 发布于 2周前 阅读 2304 评论 3 点赞 2

微信小程序模块化开发实践

## 准备 - 了解微信小程序是什么? [微信小程序官方文档](https://mp.weixin.qq.com/debug/wxadoc/dev/index.html) - 了解应用状态管理方案: [Redux], 也是[Flux架构](http://www.ruanyifeng.com/blog/2016/01/flux.html)的具体实现 - 了解Javascript打包工具: [webpack] - 了解ES6/7代码转译(transcompile)工具: [Babel], 原理大致是借助语法分析工具(Esprima之类的), 将代码解析成抽象语法树, 再"重写"成最终的代码. - Javascript测试工具: jest, mocha等等, 请根据需要选择. ## TL;DR; 微信小程序目前版本的API实现需要兼顾方方面面, 所以仍然使用callback写法, 众所周知的`Callback-Hell`是传统js语法上的历史问题, 但毕竟称手的工具是开发效率的源泉. 因此笔者对当前版本的微信小程序API做了简单的封装 [weapp]. 同时, 微信小程序框架本身专注于交互和UI的实现, 并未提供内置的状态管理, 如果众多的异步操作都直接在App或者Page中一一实现, 相信写起来会是一场噩梦, 而且不易于测试, 笔者又因此针对微信小程序实现了一个基于Redux方案的状态管理模块, 用以方便的在小程序中实现应用状态管理 [redux-weapp]. 特别地, 微信小程序构建(编译)时不支持从App scope之外requi...
xixilive 发布于 2周前 阅读 4386 评论 6 点赞 2

jdk1.8的HashMap和ConcurrentHashMap

本文针对jdk1.8的ConcurrentHashMap # 1 1.8的HashMap设计 ## 1.1 整体概览 HashMap采用的是**数组+链表+红黑树**的形式。 数组是可以扩容的,链表也是转化为红黑树的,这2种方式都可以承载更多的数据。 用户可以设置的参数:初始总容量默认16,默认的加载因子0.75 初始的数组个数默认是16(用户不能设置的) 容量X加载因子=阈值 一旦目前容量超过该阈值,则执行扩容操作。 什么时候扩容? - 1 当前容量超过阈值 - 2 当链表中元素个数超过默认设定(8个),当数组的大小还未超过64的时候,此时进行数组的扩容,如果超过则将链表转化成红黑树 什么时候链表转化为红黑树?(上面已经提到了) - 当数组大小已经超过64并且链表中的元素个数超过默认设定(8个)时,将链表转化为红黑树 目前形象的表示数组中的一个元素称为一个桶 ## 1.2 put过程 - 根据key计算出hash值 - hash值&(数组长度-1)得到所在数组的index - 如果该index位置的Node元素不存在,则直接创建一个新的Node - 如果该index位置的Node元素是TreeNode类型即红黑树类型了,则直接按照红黑树的插入方式进行插入 - 如果该index位置的Node元素是非TreeNode类型则,则按照链表的形式进行插入操作 链表插入操作完成后...
乒乓狂魔 发布于 2周前 阅读 4932 评论 20 点赞 12

小程序服务端集成微信支付

换取openid->统一下单->发起支付,三步走,其中二次签名比较坑人。
秀杰 发布于 2周前 阅读 4319 评论 30 点赞 9

Mybatis查询延迟加载

本文主要介绍Mybatis延迟加载的原理、启用等。
Elim 发布于 2周前 阅读 3211 评论 4 点赞 2

秒杀抢购思路以及高并发下数据安全

      我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Web服务器,配置MaxClients为500个(表示服务器的最大连接数目)。 那么,我们的Web系统的理论峰值QPS为(理想化的计算方式): 20*500/0.1 = 100000 (10万QPS) 在高并发的实际场景下,机器都处于高负载的状态,在这个时候平均响应时间会被大大增加。 就Web服务器而言,他打开了越多的连接进程,CPU需要处理的上下文切换也越多,额外增加了CPU的消耗,然后就直接导致平均响应时间增加。因此上述的MaxClient数目,要根据CPU、内存等硬件因素综合考虑,绝对不是越多越好。可以通过Apache自带的ab来测试一下,取一个合适的值。然后,我们选择内存操作级别的存储的Redis,在高并发的状态下,存储的响应时间至关重要。网络带宽虽然也是一个因素,不过,这种请求数据包一般比较小,一般很少成为请求的瓶颈。负载均衡成为系统瓶颈的情况比较少,在这里不做讨论哈。 那么问题来了,假设我们的系统,在5w/s的高并发状态下,平均响应时间从100ms变为250ms(实...
拍簧片的小伙伴 发布于 3周前 阅读 4101 评论 39 点赞 7

类型签名在Javascript中的探索

## 简介 类型签名轻轻诉说着函数最不可告人的秘密。短短一行,就能暴露函数的行为和目的。O(∩_∩)O~ ## 作用 虽然js是动态类型的语言,但并不意味否定类型的存在,我们在写代码的时候还是要和Number,Boolean,String,Array等打交道,只不过没有在语言层面做类型检查。 - 简洁美观(对于我来说这一点就足够了) - 降低阅读代码成本 - 有效节约沟通成本(附带装X技能) 以下是描述同一个函数的 - A:fs.readFile 函数有三个参数 第一个是字符串的文件路径,第二个是编码,第三个是回掉函数 回掉函数内部第一个代表错误,第二个代表文件内容(字符串) 无返回值 - B:fs.readFile :: String:路径 -> String:编码 -> (Error -> String) -> () - C:fs.readFile :: String -> String -> (Error -> String) -> () - 编译期间检查错误(js未实现) - 生成文档 ## 简单的例子 ```javascript // Number -> Number -> Number function add(a,b){ return a + b; } ``` `add` 上方的一行注释描述了函数从入参到返回值的过程,即 `add` 函数接受两个数字返回数字 - `Number`代表数字类型 - 最后一个`Number` 代表函数返回值的类型 前面两个`Number`分别代表函数的第一参数和第二个参数 ## 数组 函数...
diqye 发布于 3周前 阅读 1263 评论 10 点赞 2

Lua与ObjC的交互

在这里,我想跟大家分享另外一种脚本语言的交互方式,就是使用Lua与原生的ObjC语言进行交互。
vimfung 发布于 3周前 阅读 1870 评论 7

haproxy和nginx负载均衡分析

出于对负载均衡工具的疑问,分别对haproxy和nginx的负载均衡进行了抓包分析,分析的过程跟大家分享下。先说下对haproxy抓包得到的结论吧:haproxy在负载均衡的一台后端挂掉后,如果还没达到探测的时间点时,请求还会往挂掉的这台转发,请求会丢失。 haproxy负载均衡的实验过程如下: 1: 先看下haproxy的配置。配置inter 20000为20s检测一次,这个是为了更明显的抓下haproxy的负载均衡探测机制。 listen test9090         bind 127.0.0.1:9090         mode tcp         server localhost90 127.0.0.1:90 check inter 20000         server localhost91 127.0.0.1:91 check inter 20000 2: 后端我是用nginx进行测试,看下nginx的配置如下。可在/var/www/html/建个index.html进行测试 server {             listen       90;             listen       91;             location /{                     root /var/www/html;             }     } 先用curl 127.0.0.1:9090进行测试,并在机器上开两个窗口看下抓包是否均衡正常,两个窗口运行的命令分别如下:tcpdump -i lo -nn 'port 90'      tcpdump -i lo -...
鸿弟 发布于 3周前 阅读 4142 评论 19 点赞 6

JDK动态代理详解

本文主要介绍JDK动态代理的基本原理,让大家更深刻的理解JDK Proxy,知其然知其所以然。明白JDK动态代理真正的原理及其生成的过程,我们以后写JDK Proxy可以不用去查demo,就可以徒手写个完美的Proxy。下面首先来个简单的Demo,后续的分析过程都依赖这个Demo去介绍,例子采用JDK1.8运行。 ##JDK Proxy HelloWorld ``` package com.yao.proxy; /** * Created by robin */ public interface Helloworld { void sayHello(); } ``` ``` package com.yao.proxy; import com.yao.HelloWorld; /** * Created by robin */ public class HelloworldImpl implements HelloWorld { public void sayHello() { System.out.print("hello world"); } } ``` ``` package com.yao.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; /** * Created by robin */ public class MyInvocationHandler implements InvocationHandler{ private Object target; public MyInvocationHandler(Object target) { this.target=target; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("method :"+ method...
robin-yao 发布于 4周前 阅读 4639 评论 4 点赞 17 打赏 1

异步编程RxJava-介绍

前言 前段时间写了一篇对协程的一些理解,里面提到了不管是协程还是callback,本质上其实提供的是一种异步无阻塞的编程模式;并且介绍了java中对异步无阻赛这种编程模式的支持,主要提到了Future和CompletableFuture;之后有同学在下面留言提到了RxJava,刚好最近在看微服务设计这本书,里面提到了响应式扩展(Reactive extensions,Rx),而RxJava是Rx在JVM上的实现,所有打算对RxJava进一步了解。 RxJava简介 RxJava的官网地址:https://github.com/ReactiveX/RxJava, 其中对RxJava进行了一句话描述:RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. 大意就是:一个在Java VM上使用可观测的序列来组成异步的、基于事件的程序的库。 更详细的说明在Netflix技术博客的一篇文章中描述了RxJava的主要特点: 1.易于并发从而更好的利用服务器的能力。 2.易于有条件的异步执行。 3.一种更好的方式来避免回调地狱。 4.一种响应式方法。 与CompletableFuture对比 之前提到CompletableFuture真正的实现了异步的编程模式,一个比较常见的使用场景: CompletableFuture<In...
ksfzhaohui 发布于 4周前 阅读 3797 评论 10 点赞 3

爬取知乎60万用户信息之后的简单分析

使用 Java+Elasticsearch+Kibana 爬取了知乎 60 万用户数据,做了简单的可视化分析。
brianway 发布于 1个月前 阅读 7971 评论 49 点赞 30
顶部