开源中国

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

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

写自己的产品的教训

一个程序员开发自己的产品,是需要跳出技术的小圈子的
自由之信 发布于 4周前 阅读 505 评论 7 点赞 2

java 通过网络唤醒实现远程开机

网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
千里明月 发布于 4周前 阅读 3125 评论 6 点赞 9

SpringBoot集成JPA

idea工具,框架springboot,数据库mysql 可根据实体类自动生成数据表 更方便的执行CRUD操作
千里明月 发布于 1个月前 阅读 226 评论 7

Selenium使用及原理

#### 1、Selenium介绍 Selenium是一个Web测试工具,通过直接控制浏览器来实现Web测试,与真实用户操作完全一致。Selenium目前支持IE、Firefox、Chrome、Safari、Opera等浏览器,Selenium支持主流的操作系统平台-Windows、Linux、Mac等,Selenium支持Java、Ruby、Python、Perl、PHP、C#等编程语言进行制定测试。 Selenium IDE还可以录制用户的基本操作,用于方便生产测试案例,可以在随后的测试过程中回放。 #### 2、基于Python的简单使用 下面是一个简单的例子,用于打开百度并进行搜索 ```python from selenium import Webdriver from selenium.webdriver.common.keys import Keys #启动web driver server,打开IE浏览器 ie = Webdriver.Ie() #打开百度首页 ie.get('http://www.baidu.com') #获取搜索输入框 kw = ie.get_element_by_id('kw') #在输入框输入selenium,并回车 kw.send_keys('selenium'+Keys.RETURN) #ie.close() ``` #### 3、远程调用浏览器 selenium实际上是由服务端和客户端两部分组成的,服务端必须与被调用浏览器在同一主机,服务端通过webdriver控制浏览器的行为,客户端可以与服务端位于不同主机,只要网络能够访问到即可。客户端通过http协议(restful...
tangchenyi 发布于 1个月前 阅读 175

将自己的 jar 包发布到 maven 中央仓库

注册 首先到sonatype官网进行注册! 找到注册“sign up”,如图,进行注册! 登录 登录后,在页面上方点击“create”进行创建 issue。 获得如下图所示。 Summary:写你想做什么,你的包的功能。简单概述,要短一点。 Description:可以直接复制 summary,然后加一点描述信息。 Group Id :推荐写 github。例如我的是 io.github.dslzc ,很快能通过,自己域名的话我没试过,虽然我有自己的域名。 Project UR : 你的项目的描述,填写你的项目的 github 地址就可以了。 SCM url: 有填写说明的,如https://github.com/DSLZC/dslcode-common-utils.git。 Username(s):邀请其他人有权限一起完成这个项目。我当时没填。 等待 Issue 审批通过 网上说需要一天到两天。为何我这一步是秒过的。大概 20 秒过后我就接收到通过邮件了。或许是我填写的 github 比较好认真真实性。 配置 GPG 如果是 Windows 操作系统,需要下载 Gpg4win 软件来生成密钥对。建议大家下载 Gpg4win-Vanilla 版本,因为它仅包括 GnuPG,这个工具才是我们所需要的。 安装 GPG 软件后,打开命令行窗口,依次做以下操作: 查看是否安装成功 gpg --version 能够显示 GPG 的版本信息,说明安装成功了。 生成密钥对 ...
田心双木 发布于 1个月前 阅读 187 评论 1

Spring Session java连接redis 失败解决方案

使用Spring Session 连接redis时被拒绝的解决方案
jaffreyen 发布于 1个月前 阅读 170

在java中使用solr7.2.0 新旧版本创建SolrClient对比

solr:基于lucene的高性能查询服务器
jaffreyen 发布于 1个月前 阅读 114

zookeeper 管理 solrcloud 的配置以及安装 步骤

今天整理的是 在linux 环境中zookeeper搭建并且建立多个solr实例,和solr的集群搭建。 使用环境和工具:linuxCentOS6.5 , apache-tomcat-7.0.47.tar.gz,jdk-7u55-linux-i586.tar.gz ,solr-4.10.3.tgz.tgz ,zookeeper-3.4.6.tar.gz 注:由于本人是win7系统,所以安装的是linux虚拟机。 JDK这里就不写安装步骤了网上其他大神也写过,可以去搜索一个。 ————————————————————黄金分割线—————————————————— 搭建zookeeper: 在linux环境中先建立一个文件夹 放置解压的zookeeper压缩包: [root@localhost ~]# mkdir /usr/local/solrcloud   解压zookeeper压缩包,并保存在刚刚建立的文件中重命名,三个zookeeper实例: [root@localhost 文件位置]# tar -zxvf zookeeper-3.4.6.tar.gz  [root@localhost 文件位置]# cp -r zookeeper-3.4.6 /usr/local/solrcloud/zookeeper1 [root@localhost 文件位置]# cp -r /usr/local/solrcloud/zookeeper1 /usr/local/solrcloud/zookeeper2 [root@localhost 文件位置]# cp -r /usr/local/solrcloud/zookeeper1 /usr/local/solrcloud/zookeeper3 在每一个zookeeper文件夹中创建一个data文件加并...
Bill_Liu1 发布于 1个月前 阅读 23

linux jenkins 2.89.1 安装部署 构建maven项目并部署到tomcat

jenkins 自动化构建部署工具。安装、修改主目录、配置环境、新建任务、部署项目到tomcat
jaffreyen 发布于 2个月前 阅读 216 点赞 2

基于Docker安装、部署、破解Confluence 6.6图文教程

> 原文:http://www.itmuch.com/work/confluence-crack/ > 采用 CC BY 3.0 CN 许可协议。可自由转载、引用,但需署名作者且注明文章原文地址。 > Confluence可谓目前最强大的Wiki系统,但它是个收费软件。本文讲解如何安装、部署、破解Confluence,部署的环境是Docker。 ## WARNING * 不建议大家在公司使用破解版,用收费版的吧^_^。如果不想掏钱,可以尝试开源的`XWik` ,功能也非常强大。 * 本文只提供破解的思路及步骤,破解补丁 `atlassian-extras-decoder-v2-3.2.jar` 不提供,聪明如你,一定能在谷歌、百度、bing、ask上找到。 最近公司想将Confluence迁到Docker环境,同时顺序想升级一下。虽然公司用的是收费版,不过我顺便也研究了下怎么破解。以下是步骤,所用版本是 `Confluence 6.6` 。 Confluence的破解比较简单,只需要替换JAR包 `atlassian-extras-decoder-v2-3.2.jar` 就可以了。 ## 准备 ### Dockerfile 以下是Dockerfile。 ```dockerfile FROM atlassian/confluence-server MAINTAINER 周立 # 传入破解补丁 ADD crack/atlassian-extras-decoder-v2-3.2.jar ${CONFLUENCE_INSTALL_DIR}/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.2.jar # 设置...
EACDY 发布于 2个月前 阅读 418 点赞 1

秒杀解决方案:没有 redis 也能够支撑”小米在印度把亚马逊搞挂了”

没有 redis 也能够支撑”小米在印度把亚马逊搞挂了”事件的秒杀解决方案
monroeCode 发布于 2个月前 阅读 65

Spring Cloud各组件调优参数

原文: 采用 CC BY 3.0 CN 许可协议。可自由转载、引用,但需署名作者且注明文章原文地址。 Spring Cloud整合了各种组件,每个组件往往还有各种参数。本文来详细探讨Spring Cloud各组件的调优参数。欢迎联系我的QQ:`511932633` 或微信:`jumping_me` ,补充或者勘误,一起总结出最全、最实用的调优参数。 ## Tomcat配置参数 ```yaml server: tomcat: max-connections: 0 max-threads: 0 ``` ## Hystrix配置参数 - 如隔离策略是THREAD: ```yaml hystrix.threadpool.default.coreSize: 10 hystrix.threadpool.default.maximumSize: 10 hystrix.threadpool.default.maxQueueSize: -1 # 如该值为-1,那么使用的是SynchronousQueue,否则使用的是LinkedBlockingQueue。注意,修改MQ的类型需要重启。例如从-1修改为100,需要重启,因为使用的Queue类型发生了变化 ``` 如果想对特定的`HystrixThreadPoolKey` 进行配置,则将`default` 改为 `HystrixThreadPoolKey` 即可。 - 如果隔离策略是SEMAPHORE: ```yaml hystrix.command.default.execution.isolation.strategy: SEMAPHORE hystrix.command.default.execution.isolation.semaphore.maxConcurrentRequests: 10 # 默认值 ``...
EACDY 发布于 2个月前 阅读 233

实用技巧:Hystrix传播ThreadLocal对象(两种方案)

> 原文:[http://www.itmuch.com/spring-cloud-sum/hystrix-threadlocal/](http://www.itmuch.com/spring-cloud-sum/hystrix-threadlocal/) > 采用 CC BY 3.0 CN 许可协议。可自由转载、引用,但需署名作者且注明文章原文地址。 目前,Spring Cloud已在南京公司推广开来,不仅如此,深圳那边近期也要基于Spring Cloud新开微服务了。 于是,领导要求我出一套基于Spring Cloud的快速开发脚手架(近期开源)。在编写脚手架的过程中,也顺带总结一下以前在项目中遇到的问题: > 使用Hystrix时,如何传播ThreadLocal对象? 我们知道,Hystrix有隔离策略:THREAD以及SEMAPHORE。 > 如果你不知道Hystrix的隔离策略,可以阅读我的书籍《Spring Cloud与Docker微服务架构实战》,或者参考文档: ## 引子 当隔离策略为 `THREAD` 时,是没办法拿到 `ThreadLocal` 中的值的。 举个例子,使用Feign调用某个远程API,这个远程API需要传递一个Header,这个Header是动态的,跟你的HttpRequest相关,我们选择编写一个拦截器来实现Header的传递(当然也可以在Feign Client接口的方法上加`RequestHeader` )。 示例代码: ```java public class KeycloakRequestInterceptor implements Request...
EACDY 发布于 3个月前 阅读 127

restful框架Jersey另类用法-接口即服务

记录一下我在项目中jersey框架的另一种使用方式。 项目java部分框架采用 spring+jersey+mybatis,数据库采用的mysql。 思路其实很简单,将interface当做jersey的Resource使用。 为什么会有这种要求呢? 其实也很简单, 不想单独写Resource,目的只有一个通过合理的方式减少程序猿的代码量。用最少的代码做更多的事情, 是我一直在考虑的问题。不讲理论,直接上代码吧。 web.xml配置: ![![输入图片说明](https://static.oschina.net/uploads/img/201712/01113438_F5NQ.jpg "在这里输入图片标题")](https://static.oschina.net/uploads/img/201712/01113438_F5NQ.jpg "在这里输入图片标题") spring配置: ![![输入图片说明](https://static.oschina.net/uploads/img/201712/01113614_s0bM.png "在这里输入图片标题")](https://static.oschina.net/uploads/img/201712/01113614_s0bM.png "在这里输入图片标题") interface接口类: ![![输入图片说明](https://static.oschina.net/uploads/img/201712/01113941_gWtu.png"在这里输入图片标题")](https://static.oschina.net/uploads/img/201712/01113941_gWtu.png "在这里输入图片标题") ![![输入图片说明](https://static.osch...
gs586169 发布于 3个月前 阅读 248

Spring Cloud限流详解(内含源码)

原文: 在高并发的应用中,**限流**往往是一个绕不开的话题。本文详细探讨在Spring Cloud中如何实现限流。 在`Zuul` 上实现限流是个不错的选择,只需要编写一个过滤器就可以了,关键在于如何实现限流的算法。常见的限流算法有漏桶算法以及令牌桶算法。这个可参考 ,写得通俗易懂,你值得拥有,我就不拽文了。 `Google Guava` 为我们提供了限流工具类`RateLimiter` ,于是乎,我们可以撸代码了。 ## 代码示例 ```java @Component public class RateLimitZuulFilter extends ZuulFilter { private final RateLimiter rateLimiter = RateLimiter.create(1000.0); @Override public String filterType() { return FilterConstants.PRE_TYPE; } @Override public int filterOrder() { return Ordered.HIGHEST_PRECEDENCE; } @Override public boolean shouldFilter() { // 这里可以考虑弄个限流开启的开关,开启限流返回true,关闭限流返回false,你懂的。 return true; } @Override public Object run() { try { RequestContext currentContext = RequestContext.getCurrentContext(); HttpServletResponse response = currentContext.getResponse(); if (!rateLimiter.tryAcqu...
EACDY 发布于 3个月前 阅读 501 评论 2

十分钟搞清字符集和字符编码

什么是字符集 什么是字符编码 UTF-8和Unicode的关系 UTF-8编码简介 为什么会出现乱码 如何识别乱码的本来想要表达的文字 常见问题处理之Emoji 本文将简述字符集,字符编码的概念。以及在遭遇乱码时的一些常用诊断技巧 背景:字符集和编码无疑是IT菜鸟甚至是各种大神的头痛问题。当遇到纷繁复杂的字符集,各种火星文和乱码时,问题的定位往往变得非常困难。本文就将会从原理方面对字符集和编码做个简单的科普介绍,同时也会介绍一些通用的乱码故障定位的方法以方便读者以后能够更从容的定位相关问题。在正式介绍之前,先做个小申明:如果你希望非常精确的理解各个名词的解释,那么可以查阅wikipedia。本文是博主通过自己理解消化后并转化成易懂浅显的表述后的介绍。 什么是字符集 在介绍字符集之前,我们先了解下为什么要有字符集。我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流。那么在这两者之间的转换规则就需要一个统一的标准,否则把我们的U盘插到老板的电脑上,文档就乱码了;小伙伴QQ上传过来的文件,在我们本地打开又乱码了。于是为了实现转换标准,各种字符集标准就出现了。简单的说字符集就规定了某个文字对应的二进制...
失败人士 发布于 3个月前 阅读 480 点赞 4

Android7.0编译 jack常见错误类型及解决办法

我使用的源码为SudaMod,3.1分支的源代码,第一次编译Android M以上的源码,就莫名其妙的遇到了几个关于JACK的坑,以下就列举几个常见的错误以及解决办法。 第一个错误: Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by android-jack-team@google.com)). GC overhead limit exceeded. Try increasing heap size with java option '-Xmx<size>'. Warning: This may have produced partial or corrupted output. 造成原因: 这个错误最傻瓜,解决方法在输出信息里已经提示得很明确了。错误大概意思是当前需要的堆大小超出限制,于是内存溢出了,尝试使用java 选项 '-Xmx<size>'.来增加堆大小。 解决方法: (1)编辑 prebuilts/sdk/tools/jack-admin,找到第29行: # # Settings # JACK_HOME="${JACK_HOME:=$HOME/.jack-server}" CLIENT_SETTING="${CLIENT_SETTING:=$HOME/.jack-settings}" TMPDIR=${TMPDIR:=/tmp} JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation}" 增加选项: -Xmx4096m,或是: -Xmx4g,修改好即为(二选一): JACK_SERVER_VM_ARGUMENTS="...
gesangtome 发布于 3个月前 阅读 70

Maven-- 自定义Archetype

# Maven-- 自定义Archetype ## 学习思维导图 ![image](http://wx4.sinaimg.cn/mw690/006qiLqogy1flppgqlbetj30j30cv74u.jpg) ## 自定义Archetype ### **背景** > Archetype是什么?为什么要自定义Archetype?又或者它能解决什么问题。 Archetype翻译为原型,也可被称作模板。简单来说,可以通过模板创建一个我们想要的初始化工程,从而可以在这个工程下快速或直接开始我们的业务编程工作。即解决创建工程时的重复性操作,比如pom依赖添加,资源文件添加等等等等... ### **操作系统** windows (window 10) ### **软件版本** JDK1.8.0_111 MAVEN3.0.4(可以提升一下版本) ECLIPSE4.4.2 ### **操作步骤** > 这里以小程序为例,web应用也是同样的道理 1. 打开Eclipse,创建Maven项目,选择quickstart。 ![image](http://wx2.sinaimg.cn/mw690/006qiLqogy1flpwoehn4ij30ih0gzmxw.jpg) ![image](http://wx1.sinaimg.cn/mw690/006qiLqogy1flpwoib7hxj30lr0hmwf1.jpg) 2. 打开新建的maven项目的pom文件,添加你需要的jar包依赖。 ![image](http://wx2.sinaimg.cn/mw690/006qiLqogy1flpwuc48sqj319o0kn40l.jpg) 3. 在工程名上右键,Run As -> maven build...,输入archetype:create-...
小祝特烦恼 发布于 3个月前 阅读 165 点赞 1

全新的.NET解释器 - Mono已经到来

Mono通过新的运行代码方式,完善了自己的即时编译器和静态编译器。 2001年,Mono项目正式开始,Mono开发团队为.NET指令集编写了一个解释器,用于在Linux上引导一个自托管的.NET开发环境。 当时认为解释器只是一个临时工具,可以在建立一个Just-in-Time(JIT)编译器的时候使用它。解释器(mint)和JIT引擎(mono)一直保持同步存在的状态,直到可以将JIT引擎移植到所有支持的平台。 当引入泛型时,同时保留解释器和JIT引擎的工程成本变得很高,不再值得,所以去掉了解释器。 稍后会介绍.NET代码的全静态编译。这也是引入禁止目标平台生成动态代码的技术。iOS是这方面的主要驱动者,它开启了允许Mono运行在PlayStation和Xbox等游戏机上的大门。 全静态编译的主要缺点是:每次更新代码时都必须重新创建一个全新的可执行文件。这是一个缓慢的过程,不适合于实践的互动式发展。 例如,一些游戏开发者喜欢在不触发完整的重新编译情况下,调整自己的游戏代码。静态编译使这种情况变得不切实际,所以他们在游戏代码中嵌入脚本语言,来快速迭代和调整。 .NET缺乏动态功能,这也妨碍了.NET作为教学或原型开发工具在一些环境中的使用。一些像Xamarin Workbooks或简单的脚本的工具,不...
葡萄城控件技术团队 发布于 3个月前 阅读 402 评论 1

腾讯与阅文技术合作 微服务框架Tars再添PHP

> 梁晨(Ted),任职阅文集团技术中心,负责起点中文网的WEB后台开发工作。曾负责腾讯上海企业产品部营销QQWeb后台开发、QQ公众号Web后台开发,对大型网站技术架构,有自己的经验和见解。腾讯开源项目TSF2.0框架开发者,腾讯开源组件Tars-PHP开发者,也曾是腾讯公司多个PHP扩展组件的开发者与维护者。 ## 引言 TARS作为由腾讯公司开源的优秀RPC框架与服务部署运维解决方案,被阅文集团引入了实际实践中,同时阅文集团对TARS在PHP语言层面进行了能力的补全,令TARS如虎添翼。TARS-PHP的解决方案兼具简单高效、接口维护方便容易扩展、代码自动生成,以及集成寻址、服务发现、监控、上报等功能。经历了阅文集团线上业务的考验与洗礼,充分证明了该解决方案的优势。 项目地址:https://github.com/Tencent/Tars/tree/master/php ## "PHP是世界上最好的语言" 众所周知,在PHP诞生之初,就是WEB站点的开发而生。但是一直以来,都无法摆脱弱类型、脚本语言的性能之殇的帽子。随着互联网行业的不断发展,以及用户需求和基础架构的不断变化,PHP语言本身也一直在发展。无论是SWOOLE的出现,还是PHP7对性能的提升,都丰富和助力了PHP本身的应用。 相信大家在开发中也会发现,作为经常处...
腾讯开源 发布于 4个月前 阅读 502 点赞 2

idea 2017.3 破解教程

idea破解
桃核儿 发布于 2个月前 阅读 116

nginx负载均衡session共享解决方案

服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态,下面提供了几种方式来解决session共享的问题: 1、不使用session,换用cookie session是存放在服务器端的,cookie是存放在客户端的,我们可以把用户访问页面产生的session放到cookie里面,就是以cookie为中转站。你访问web服务器A,产生了session然后把它放到cookie里面,当你的请求被分配到B服务器时,服务器B先判断服务器有没有这个session,如果没有,再去看看客户端的cookie里面有没有这个session,如果也没有,说明session真的不存,如果cookie里面有,就把cookie里面的sessoin同步到服务器B,这样就可以实现session的同步了。 说明:这种方法实现起来简单,方便,也不会加大数据库的负担,但是如果客户端把cookie禁掉了的话,那么session就无从同步了,这样会给网站带来损失;cookie的安全性不高,虽然它已经加了密,但是还是可以伪造的。 2、session存在数据库(MySQL等)中 可以配置将session保存在数据库中,这种方法是把存放session的表和其他数据库表放在一起,如果mysql也做了集群了话,每个mysql节...
故久呵呵 发布于 2个月前 阅读 16

CAD常用命令和快捷键的设置方法

第一类,绘图类。常用命令有: Line 直线 xline 构造线(用来画辅助线) mline 双线(在画墙线时常用到,也可自己定义使用其它线型) pline 多义线(大部分由线段组成的图元,能够定义为多义线的就定义为多义线,这样在选择时比较方便) rectang 矩形(实际上就是四段围合的多义线) arc 圆弧 circle 圆 hatch 填充(要注意填充图案的比例) boundary 边界(在计算面积、填充等情况会用到) block 定义块(需将准备用于定义块的所有图元放到0层,其它所有属性均改为bylayer) insert 插入快(与-insert相比较,一个会调出对话框,一个不会) 第二类,编辑类。常用命令有: Matchprop 特性匹配(相当于word中的格式刷,常用于将正在操作的图元刷成正确的图层) Hatchedit 填充图案编辑(鼠标左键双击填充的图案即可) Pedit 多义线编辑(也可用于将几段首尾相接的线段连接成多义线) Erase 擦除 Copy 拷贝 Mirror 镜像 Offset 平移 Array 阵列 Move 移动 Rotate 旋转 Scale 缩放 Stretch 拉伸 Lengthen 拉长(不常用,但在需要延长非水平或垂直的线段时很方便;!也可实现同样的功能,可以自己先琢磨琢磨) Trim 裁减 Extend 延伸 Break 打断 Fillet 倒圆角 Explode 打碎(可...
熊本二号 发布于 2个月前 阅读 5

idea使用 git 撤销commit

填写commit的id  就可以取消这一次的commit
liop 发布于 2个月前 阅读 7

如何编辑数学试卷?老师看过来

转眼又到学期末,又要进行期末考试了,那么大家知道考试用的试卷是怎么编辑的吗?尤其是数学试卷,那么多的公式怎么打呢?下面就让小编来告诉你。 一般在Word文本中虽然可以编辑一些简单的公式,但是由于数学公式是比较复杂的数学符号的组合,很多情况下,直接利用Word中的文档输入无法编辑出理想的数学公式,必须要采用第三方加载项来完成这些数学符号的输入。要想编辑出完美的数学公式,一份美观整洁的理工试卷,MathType是一款必不可少的公式编辑神器! MathType软件获取地址:http://wm.makeding.com/iclk/?zoneid=17790。 利用MathType你可以: 1.将常用的数学公式进行保存,后面可以直接调用。 在一份试卷出会多次出现相同的公式或者类似的公式。利用MathType公式编辑器编辑时就不再需要每次都手动输入了,你可以在输入一次后将之拖到标签栏中进行保存,在后面编辑遇到相同或者类似的部分时,可以直接点击输入即可,这样可以省去很多重复的工作。比如对数的输入:   输入完成后选中公式直接拖动到标签栏进行保存 2.MathType中包含有更多更全的数学符号和模板,可以满足中高等教育的不同需要。 MathType比一般公式编辑器多了几百种符号和模板,除了MathType独有的Euc...
软件贴士 发布于 1个月前 阅读 50

QT解决QSettings读取ini文件中文乱码

以前读取ini文件中文乱码网上查找方法,使用自定义QSettings,但是在频繁读写的时候可能会发生错误;后来专门做个工具给用户修改配置。 偶然在网上看到网友发的方法,方法非常简单: QSettings settings("xxx.ini", QSettings::IniFormat); settings.setIniCodec("GB2312"); settings.beginGroup("xx"); ... settings.endGroup(); 注意必须在QSettings对象创建之后和访问数据之前设定编码,该函数在Qt 4.5中就已经引入了。
道根 发布于 1个月前 阅读 39

Ubuntu Git安装与使用

本文整理和归纳了关于Ubuntu中Git安装与使用的资源,希望对大家有所帮助。 1 安装 安装方式主要有两种,即通过Apt和source: 1.1 通过Apt安装: 官网上提供的命令是: $ sudo add-apt-repository ppa:git-core/ppa 中间暂停时,按回车键Enter继续安装。 $ sudo apt-get update $ sudo apt-get install git 安装下载完成后,可以使用下面的命令行,确认git的版本: $ git --version 1.2 通过Source安装 首先,安装一些git依赖的软件: $ sudo apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip 安装完成后,可以在GitHub上公布的Git Project,选择Tags中的最新版本2.7.2: 复制下压缩文件的下载链接(Downloads按钮鼠标右键): 使用命令行下载: $ wget https://github.com/git/git/archive/v1.9.2.zip -O git.zip 解压,并路径转换到git下: $ unzip git.zip $ cd git-* 编译源码: $ make prefix=/usr/local all $ sudo make prefix=/usr/local install 编译完成后,同样可以利用上述的语句查看git版本。 如果,后面还想继续更新,可以这样: $ git clone https://github.com/git/git.git 访问的链接(URL)可以在上述的Git...
Dylan1009 发布于 4周前 阅读 15

jmeter乱码的几种解决方式

01.响应乱码,post请求中文乱码 添加HTTP请求时在Content encoding后填入相应的编码,以后台编码utf-8为例:   02. 添加BeanShell Sampler或者BeanShell PostProcessor 响应乱码   03 修改Jmeter的配置文件:jmeter.properties 这种方式经过我的测试,只是对响应结果有效果。 找到jmeter安装目录下bin目录下的jmeter.properties文件。 然后搜索encoding,找到如下这一行代码: . 然后把前面的#去掉,后面的编码修改成utf-8,如下图:     04 Body data中写的中文,乱码都是问号: 如图: 解决方案,检查jmeter.properties: 注释全部取消,重启jmeter;    
测试匠艺 发布于 2周前 阅读 12

IDEA中Junit使用注意事项

<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> 如图当junit依赖的scope域范围被设置成test时,在项目中是不能在类方法上@Test进行测试运行的,相当于整个jar包都被隐藏了,这可能跟IDEA的编译构建规则有关,是跟Eclipse中不同的地方。在以后的使用中要注意了,也要注意继承的父工程中也去掉父依赖的scope设置。不然就跟我一样悲催的搞了一晚上。  
小池仔 发布于 1周前 阅读 5 评论 5

微服务架构技术栈选型手册【转载】

一、前言 2014 年可以认为是微服务 1.0 的元年,当年有几个标志性事件,一是 Martin Fowler 在其博客上发表了”Microservices”一文,正式提出微服务架构风格;二是 Netflix 微服务架构经过多年大规模生产验证,最终抽象落地形成一整套开源的微服务基础组件,统称 NetflixOSS,Netflix 的成功经验开始被业界认可并推崇;三是 Pivotal 将 NetflixOSS 开源微服务组件集成到其 Spring 体系,推出 Spring Cloud 微服务开发技术栈。 一晃三年过去,微服务技术生态又发生了巨大变化,容器,PaaS,Cloud Native,gRPC,ServiceMesh,Serverless 等新技术新理念你方唱罢我登场,不知不觉我们又来到了微服务 2.0 时代。 基于近年在微服务基础架构方面的实战经验和平时的学习积累,我想总结并提出一些构建微服务 2.0 技术栈的选型思路,供各位在一线实战的架构师、工程师参考借鉴。对于一些暂时还没有成熟开源产品的微服务支撑模块,我也会给出一些定制自研的设计思路。 二、选型准则 对于技术选型,我个人有很多标准,其中下面三项是最重要的: 1.    生产级 我们选择的技术栈是要解决实际业务问题和上生产抗流量的(选择不慎可能造成生产级事故),而不是简单做个 POC 或者 Demo...
wind2012 发布于 10小时前 阅读 17 评论 1

目录结构

有好多个: /root:根用户的家目录 /etc:系统主要配置文件 /home:其它用户的家 /dev:系统设备相关文件 /lib:各种库文件,系统或软件程序 /boot:系统核心文件,开机所需文件 /bin:可执行的命令文件 /sbin:root才能执行的命令,文件 /tmp:临时存放数据的文件夹 /srv:服务启动后需要访问的数据,例如web访问需要的网友数据 /opt:第三方软件放置目录 /media:移动设备文件放置目录,如U盘 12个 --------- 简述 对于每一个学习 Linux 的人来说,了解 Linux 文件系统的目录结构至关重要。想要熟练使用 Linux,让 Linux 听命于自己,就必须掌握这些目录。   简述 目录结构 目录说明   目录结构 Linux 和 Windows 的最大不同之处在于目录结构的设计。进入 Windows 系统,打开 C 盘,你会发现一些常见的文件夹;而进入 Linux 后,执行 ls -l / 会发现在“/”(根目录)下包含很多的目录,比如 etc、usr、var、bin 等目录,进入其中一个目录后,看到的还是很多的文件和目录。 Linux 的目录结构类似于树形结构,如下所示: 要认识 Linux 的目录结构,首先要认识目录结构最顶层的“/”,任何目录、文件和设备等都在此目录下。Linux 的文路径与 Windows 不同,Linux 的文件路...
wsdsb 发布于 14小时前 阅读 5

从实际案例聊聊Java应用的GC优化【转载】

当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。 即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容: 优化前准备: 简单回顾JVM相关知识、介绍GC优化的一些通用策略。 优化方法: 介绍调优的一般流程:明确优化目标→优化→跟踪优化结果。 优化案例: 简述笔者所在团队遇到的GC问题以及优化方案。 优化前的准备 一、GC优化需知 为了更好地理解本篇所介绍的内容,你需要了解如下内容。 GC相关基础知识,包括但不限于: a) GC工作原理。 b) 理解新生代、老年代、晋升等术语含义。 c) 可以看懂GC日志。 GC优化不能解决一切性能问题,它是最后的调优手段。 如果对第一点中提及的知识点不是很熟悉,可以先阅读小结-JVM基础回顾;如果已经很熟悉,可以跳过该节直接往下阅读。 JVM基础回顾 JVM内存结构 简单介绍一下JVM内存结构和常见的垃圾回收器。 当代主流虚拟机(Hotspot VM)的垃圾回收都采用“分代回收”的算法。...
wind2012 发布于 7小时前 阅读 6

Myeclipse错误:Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project

问题描述: Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'. java.lang.NullPointerException 原因分析: 此问题一般发生在Myeclipse 保存文件并自动部署时候。本人在写项目的时候,还没等部署好,关闭了了myeclipse 10,结果出现了这种情况。有一种产生此错误的原因是因为此项目不不是由myeclipse创建的,需要检查.project 文件,并且添加com.genuitec.eclipse.j2eedt.core.webnature。 解决方法: 1、首先关闭MyEclipse工作空间。 2、然后删除工作空间下的“/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.ast.deploy.core.prefs” 取消myeclipse的自动部署: 右键点击项目 ->properties -> Builders,将DeploymentBuilder勾选去除....
蛋黄哥 发布于 1个月前 阅读 68

java 通过网络唤醒实现远程开机

网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
千里明月 发布于 4周前 阅读 3125 评论 6 点赞 9

Spring Boot自动扫描

进行Spring Boot和Mybatis进行整合的时候,Spring Boot注解扫面的时候无法扫描到Application类的以外的包下面的注解,如下图: App就是Application类,下图是ProductMapper 类: @Mapper public interface ProductMapper { @Insert("insert into products (pname,type,price)values(#{pname},#{type},#{price}") public int add(Product product); @Delete("delete from products where id=#{arg1}") public int deleteById(int id); @Update("update products set pname=#{pname},type=#{type},price=#{price} where id=#{id}") public int update(Product product); @Select("select * from products where id=#[arg1}") public Product getById(int id); @Select("select * from productsorder by id desc") public List<Product> queryByLists(); }   App类运行的时候后台就会报没有找到ProductMapper 这个类bean: Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException:<br> No qualifying bean of type 'com.self.spring.mapper.ProductMapper' availab...
binhu 发布于 1周前 阅读 38 评论 1

【干货】被认为是区块链3.0版本的Cosmos究竟是什么?

本文首发于微信公众号“万向区块链”,作者为万云首席技术官奚海峰。奚总将在本文中就Cosmos的核心技术、生态系统、关键协议等进行介绍和解读。
万向区块链 发布于 2个月前 阅读 64

USB 虚拟串口简介

1. USB虚拟串口简介 USB虚拟串口属于USB通信设备类。在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口。在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT端点,用于数据的接收和发送,模拟串口的RX和TX线。另外USB控制器还提供中断IN端点,发送当前串口的状态,实现对串口传输的控制。串口设备的数据,由系统的串口采集,在芯片内完成USB包的封装,通过USB总线上传至主机,再由相应的串口应用程序进行处理。对用户来说,看到的是基于串口的数据采集和传输,而实际上实现的是基于USB协议包的数据传输。 1.1      USB CDC协议简介 USB的CDC类是USB通信设备类(Communication Device Class)的简称。CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类。根据CDC类所针对通信设备的不同,CDC类又被分成以下不同的模型:USB传统纯电话业务(POTS)模型,USB ISDN模型和USB网络模型,其中USB传统纯电话业务模型又可分为直线控制模型(Direct Line Control Model)、抽象模型、电话模型,如图 1.1所示。本文讨论的虚拟串口就属于USB 传统纯电话业务模型下的抽象控制模型。 图 1.1 CDC分类 1.2  ...
BEST_CC 发布于 3个月前 阅读 10

BWA-MEM算法记录

BWA-MEM算法整体流程如下: 1 读入 bwt、options、reads; 2 利用mem_chain生成chain; 3 利用mem_chain_flt过滤掉部分chain; 4 利用mem_chain2aln生成比对结果元数据。 BWA采用seed-and-extend策略。在seed阶段,BWA取read的碱基片段在reference上进行精确匹配,并选择满足一定匹配次数和长度要求read片段作为seed,这个阶段算法的核心是基于FM-index的精确匹配;在extend阶段,BWA利用Smith-Waterman算法将seed在read和reference上向两边延伸比对(容忍gap),进而找到整个read在reference上符合条件的全局匹配。                                                                                                                                              BWT变换 BWT算法的主要流程是:首先将给定的字符串每次右移一个字符,得到的所有字符串构成一个字符串矩阵,然后对该字符串矩阵中的所有字符串执行字典排序,取该字符串矩阵的最后一列即为BWT变换字符串。下图为对字符串T=“acaacg”进行BWT变换(a)、BWT逆变换(b)、查找字符串(c)的过程。 FM-index数据结构 FM-index是基于...
悲催的古灵武士 发布于 3个月前 阅读 162

写自己的产品的教训

一个程序员开发自己的产品,是需要跳出技术的小圈子的
自由之信 发布于 4周前 阅读 505 评论 7 点赞 2

从B树、B+树、B*树谈到R 树

从B 树、B+ 树、B* 树谈到R 树   作者:July、weedge、Frankie。编程艺术室出品。 说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。 出处:http://blog.csdn.net/v_JULY_v 。   第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。 但是咱们有面对这样一个实际问题:就是大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下(为什么会出现这种情况,待会在外部存储器-磁盘中有所解释),那么如何减少树的深度(当然是不能减少查询的数据量),一个基本的想法就是:采用多叉树结构(由于树节点元素...
new_chaos 发布于 3个月前 阅读 4

java 通过网络唤醒实现远程开机

网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
千里明月 发布于 4周前 阅读 3125 评论 6 点赞 9

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

BWA-MEM算法记录

BWA-MEM算法整体流程如下: 1 读入 bwt、options、reads; 2 利用mem_chain生成chain; 3 利用mem_chain_flt过滤掉部分chain; 4 利用mem_chain2aln生成比对结果元数据。 BWA采用seed-and-extend策略。在seed阶段,BWA取read的碱基片段在reference上进行精确匹配,并选择满足一定匹配次数和长度要求read片段作为seed,这个阶段算法的核心是基于FM-index的精确匹配;在extend阶段,BWA利用Smith-Waterman算法将seed在read和reference上向两边延伸比对(容忍gap),进而找到整个read在reference上符合条件的全局匹配。                                                                                                                                              BWT变换 BWT算法的主要流程是:首先将给定的字符串每次右移一个字符,得到的所有字符串构成一个字符串矩阵,然后对该字符串矩阵中的所有字符串执行字典排序,取该字符串矩阵的最后一列即为BWT变换字符串。下图为对字符串T=“acaacg”进行BWT变换(a)、BWT逆变换(b)、查找字符串(c)的过程。 FM-index数据结构 FM-index是基于...
悲催的古灵武士 发布于 3个月前 阅读 162

BWA-MEM原始论文算法部分翻译

Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM   2.1 Aligning a single query sequence 单序列比对 2.1.1 Seeding and re-seeding BWA-MEM follows the canonical seed-and-extend paradigm. It initially seeds an alignment with supermaximal exact matches (SMEMs) using an algorithm we found previously (Li, 2012,Algorithm 5), which essentially finds at each query position the longest exact match covering the position. However, occasionally the true alignment may not contain any SMEMs. To reduce mismappings caused by missing seeds, we introduce re-seeding. Suppose we have a SMEM of length l with k occurrences in the reference genome. If l is too large (over 28bp by default), we re-seed with the longest exact matches that cover the middle base of the SMEM and occur at least k + 1 times in the genome. Such seeds can be found by requiring a minimum occurrence in the original SMEM algorithm. BWA-MEM算法基于seed-and-extend。首先使用以前的算法,用 supermaximal e...
悲催的古灵武士 发布于 3个月前 阅读 46

Myeclipse错误:Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project

问题描述: Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'. java.lang.NullPointerException 原因分析: 此问题一般发生在Myeclipse 保存文件并自动部署时候。本人在写项目的时候,还没等部署好,关闭了了myeclipse 10,结果出现了这种情况。有一种产生此错误的原因是因为此项目不不是由myeclipse创建的,需要检查.project 文件,并且添加com.genuitec.eclipse.j2eedt.core.webnature。 解决方法: 1、首先关闭MyEclipse工作空间。 2、然后删除工作空间下的“/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.ast.deploy.core.prefs” 取消myeclipse的自动部署: 右键点击项目 ->properties -> Builders,将DeploymentBuilder勾选去除....
蛋黄哥 发布于 1个月前 阅读 68

Spring Boot自动扫描

进行Spring Boot和Mybatis进行整合的时候,Spring Boot注解扫面的时候无法扫描到Application类的以外的包下面的注解,如下图: App就是Application类,下图是ProductMapper 类: @Mapper public interface ProductMapper { @Insert("insert into products (pname,type,price)values(#{pname},#{type},#{price}") public int add(Product product); @Delete("delete from products where id=#{arg1}") public int deleteById(int id); @Update("update products set pname=#{pname},type=#{type},price=#{price} where id=#{id}") public int update(Product product); @Select("select * from products where id=#[arg1}") public Product getById(int id); @Select("select * from productsorder by id desc") public List<Product> queryByLists(); }   App类运行的时候后台就会报没有找到ProductMapper 这个类bean: Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException:<br> No qualifying bean of type 'com.self.spring.mapper.ProductMapper' availab...
binhu 发布于 1周前 阅读 38 评论 1

看我如何轻松破解加密PDF

文中将介绍如果利用开源工具、python代码等秒破加密的pdf文件。 过程分析 因为pdf文件加密的密码是随机的,而且密码不长。首先,我们需要指导pdf的加密方式。 pdfid.py可以查看pdf文件的加密方式: pdf-parser.py可以让我们了解更多信息: 加密信息在obj 26: 我们可以得出结论使用的标准加密器。这种加密方法用的密钥是40bit的(注:一般会有字典记录:/length40,但是这里没有出现)。 为了保证pdf文件的机密性可以对文件进行加密,而用user密码加密的pdf文件需要提供加密密码才可以打开。而owner密码加密的pdf文件可以不提供密码打开,但是打开后的pdf文件会有一些限制,比如不能打印等。 QPDF是一款用于确定pdf文件机密的方式。 QPDF的输出是invalid password,这说明pdf是用user 密码加密的。 作者写过很多关闭解密pdf文件的blog,但是使用的方法大多数是暴力破解,文章中作者用一种新的工具hashcat来破解密码。 首先,需要从pdf文件中提取需要破解的hash值,作者用了pdf2john.py来完成这个操作。注:因为pdf2john.py在运行中会出现一些问题,比如如果/length不指定,就不能产生40bit密钥的hash值。作者用打过补丁的pdf2john.py文件解决了默认40位密钥的问题。 下面是...
dragon_tech 发布于 1个月前 阅读 48

【干货】被认为是区块链3.0版本的Cosmos究竟是什么?

本文首发于微信公众号“万向区块链”,作者为万云首席技术官奚海峰。奚总将在本文中就Cosmos的核心技术、生态系统、关键协议等进行介绍和解读。
万向区块链 发布于 2个月前 阅读 64

从B树、B+树、B*树谈到R 树

从B 树、B+ 树、B* 树谈到R 树   作者:July、weedge、Frankie。编程艺术室出品。 说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。 出处:http://blog.csdn.net/v_JULY_v 。   第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。 但是咱们有面对这样一个实际问题:就是大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下(为什么会出现这种情况,待会在外部存储器-磁盘中有所解释),那么如何减少树的深度(当然是不能减少查询的数据量),一个基本的想法就是:采用多叉树结构(由于树节点元素...
new_chaos 发布于 3个月前 阅读 4

Go应用程序使用dockerfile multi-stage的问题

就是不写摘要.
taadis 发布于 6天前 阅读 10 评论 3

如何用数学课件制作工具制作转盘

转盘游戏是我们生活中经常玩的游戏,通过制作旋转的转盘,让你体会用数学课件制作工具几何画板制作课件的乐趣,下面就一起来学习具体制作技巧。 几何画板软件获取地址:http://wm.makeding.com/iclk/?zoneid=17783 具体的操作步骤如下: 1.打开数学课件制作工具,使用“圆工具”构造圆A,隐藏圆A上的点。   使用“圆工具”构造圆A示例 2.在圆A上任意取一点B,连接BA;双击点A为旋转中心,选取线段BA,执行“变换”——“旋转”,在对话框中设置“固定角度”为“360/16”,点击“确定”。   设置旋转角度为360/16度来旋转线段AB 3.将圆16等分。使用“点工具”标出旋转后的线段与圆A的新交点C;选中点B,执行“变换”——“迭代”,点击点C设为初象,单击“显示”下的增加迭代,或者按住Shift键连续点击“+”使“迭代次数”为“14”,单击“迭代”,至此圆已被等分成16份了。   利用迭代功能将圆A 16等分 4.选中点B,执行“编辑”——“操作类按钮”——“动画”,设置旋转方向为顺时针,速度为中速,点击“确定”。点击“动画”按钮,即可看到旋转的转盘了。   选中点B设置操作类动画按钮 看了以上教程,就学会了用几何画板制作转盘的方法,主要运用了迭代和动画功能。关...
软件贴士 发布于 1个月前 阅读 20

docker container 启动异常

就是不写摘要.
taadis 发布于 3周前 阅读 29

CPU状态信息us,sy,ni,id,wa,hi,si,st含义

cpu状态信息
金龙鱼管家 发布于 2个月前 阅读 12

Java中的异常有哪几类?分别怎么使用?

一、Java中使用异常处理所带来的好处: 1、统一异常处理方式。当问题出现的时候,你也许不清楚该如何处理,但你知道不应该置之不理,在同一个环境里对异常做出正确的决定。(相对于早期C等语言主动检查错误来说) 2、降低错误处理代码的复杂度。如果不使用异常,那么就必须检查特定的错误,并在程序中得许多地方去处理它。而如果使用了异常,那就不必在方法调用处检查错误,因为异常机制将保证能够捕获这个错误。由此,将所有的异常在一个地方处理,即所谓的异常处理程序中。这种方法不仅节省代码,而且把“描述在正常执行过程中做了什么事”的代码和“出了问题怎么办”的代码分离。总之,与以前的错误处理方法相比,异常机制使代码的阅读、编写和调试工作更加井井有条。 二、Java抛出异常的流程: 通过当前正在解决的问题环境,不清楚如何处理当前产生的问题的时候,就要抛出异常,而不是顺着原来的路径执行下去。 当抛出异常后:首先,同Java其他对象的创建一样,将使用new在堆上创建异常对象。然后,当前的执行路径(它不能继续下去了)被终止,并且从当前环境中弹出异常对象的引用。此时,异常处理机制接管程序,并开始寻找一个恰当的地方继续执行程序。这个恰当的地方...
一直在成长的程序猿 发布于 2个月前 阅读 28

wkt转geojson (for MultiPolygon)

最近项目需要研究了一下空间地图数据格式 wkt 格式数据转为geojson 给google map使用 数据格式: wkt: MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3))) geoJson: {"type":"MultiPolygon","coordinates":[[[[1,1],[5,1],[5,5],[1,5],[1,1]],[[2,2],[2,3],[3,3],[3,2],[2,2]]],[[[6,3],[9,2],[9,4],[6,3]]]]} - 导入 jts jar包 ,通过geometry来解析MultiPolygon等类型数据,代码如下,针对数据量复杂的数据单元测试用时大概200ms ``` public static final GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326); public static final WKTReader wktReader = new WKTReader(geometryFactory); public static Geometry toGeometry(String wkt) throws ParseException { Geometry read = wktReader.read(wkt); return read; } public static JSONObject parsePolygon2Geojson(Geometry geom) throws ParseException { JSONObject jsonObject = new JSONObject(); String type = geom.getGeometryType(); jsonObject.put("type", geom.getGeometryType()); if ("MultiPolygon".equalsIgnoreCase(type)) { JSON...
zyosenn 发布于 1周前 阅读 5

如何用课件制作工具绘制圆柱

现代教学是多媒体教学,这就需要老师们掌握辅助教学工具,对于数学老师来说,那就需要掌握使用专业的数学课件制作工具几何画板,利用该软件可以绘制出很多图形,简单又方便,比如圆柱。下面介绍绘制圆柱的方法。 几何画板软件免费获取地址:http://wm.makeding.com/iclk/?zoneid=17783 具体步骤如下: 1.利用自定义工具中的椭圆工具绘制出一个椭圆。选中椭圆之外的点,按下“Ctrl+H”将之隐藏。利用点工具在椭圆上任意绘制一个点,标签为F。   使用“椭圆工具”在画布上面绘制一个圆并在椭圆上绘制一个点F 2.选中点F,依次单击“变换”——“平移”菜单命令,在对话框中将“固定距离”设置为6厘米,角度设置为90度,单击“平移”按钮,绘制出点F平移6厘米的点F’。选中点F和点F’,按快捷键“Crl+L”,作出线段FF’。   将F点变换平移后构造线段FF’ 3.选中点F和点F’,依次单击“构造”——“轨迹”菜单命令,绘制出点F’的轨迹。同法选中点F和线段FF’,依次单击“构造”——“轨迹”菜单命令,绘制出椭圆侧面。   构造点F的轨迹形成椭圆并构造线段FF’的轨迹构成圆柱侧面 4.选中上下底面椭圆,按住“Shift”键,依次单击“显示”——“线型”菜单命令,选中“线型”菜...
软件贴士 发布于 2个月前 阅读 13

如何用数学课件制作工具画直三棱柱

在棱柱的侧面展开图教学中,老师可以利用数学课件制作工具几何画板制作动画课件,使学生能够在比较生动形象的动画演示中,通过自己的发现观察,获取新知,达到良好的教学效果。下面以一起来学习制作演示直三棱柱的侧面展开动画。 几何画板软件获取地址:http://wm.makeding.com/iclk/?zoneid=17783 直三棱柱的侧面展开动画课件模板样图: 几何画板课件模板—直三棱柱的侧面展开动画 具体操作步骤如下: 第一步:制作直三棱柱 (1) 建立直角坐标系;分别标记坐标原点、单位点为标签A、B隐藏坐标网格。 (2) 标记点A为中心;把x轴、点B,按逆时针方向旋转45度,作出直线AB’。 (3) 在x轴上画两点C、D,在y轴上画一点E,在直线AB'上画一点F。 (4) 画出三角形CDE。 (5) 标记向量AF,平移三角形CDE及顶点C、D、E,作出三角形C’D’E’。 (6) 连结CC’、DD’、EE’,画出三棱柱。 在几何画板画直三棱柱图形示例 第二步:制作棱柱的侧面展开图 (1)隐藏点B、B’,画以点D为圆心、过点E的圆D,交x轴的正半轴于点G;依次选择点G、E、圆D,作弧GE,构造弧GE上的点H,连结DH。以点H为圆心、线段CE为半径画圆H。 在几何画板画圆D和圆H示例 (2)标记点H为旋转中心;依次选择点...
软件贴士 发布于 2个月前 阅读 10

hadoop 开发环境设置以及可运行jar包生成

开发环境搭建: 两个文件 hadoop的win安装包,然后配置path; 然后还有一个几个配置的包,然后把配置放在hadoop安装包里面的;   ====================   解决MapReduce任务在windows本地执行的NullPointerException问题 原创 2017年03月01日 11:06:25 为了能在调试MapReduce任务阶段有更好的工作效率,我们可以把URI的Schema设置为file:///,这样MapReduce任务就可以范围windows本地文件夹。当我在尝试这么做的时候出现了如下的空指针异常 Exception in thread "main" java.lang.NullPointerException at java.lang.ProcessBuilder.start(ProcessBuilder.java:1010) at org.apache.hadoop.util.Shell.runCommand(Shell.java:445) at org.apache.hadoop.util.Shell.run(Shell.java:418) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650) at org.apache.hadoop.util.Shell.execCommand(Shell.java:739) at org.apache.hadoop.util.Shell.execCommand(Shell.java:722) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633) at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.jav...
new_chaos 发布于 4周前 阅读 9

TortoiseGit、Git在项目中的应用

TortoiseGit Git
程序员狗蛋 发布于 3个月前 阅读 10

【Spring】如何配置多个applicationContext.xml文件

2014-10-29 13-30-28  liulin 在web.xml中通过contextConfigLocation配置spring 开发Java Web程序,使用ssh架构时,默认情况下,Spring的配置文件applicationContext.xml存放在 项目下的“web-inf/applicationContext.xml”目录下,默认时,Spring会加载这个文件,完成Spring的配置。 如果想改变配置文件的名称,或者想添加多个Spring的配置文件,则可以通过如下方式添加。 在web.xml文件中添加如下内容:   <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">   <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/config/spring-config/applicationContext-*.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> < 省略其他配置...> </web-app> 上面使用的是通配符:applicationCont...
new_chaos 发布于 3个月前 阅读 14

jmeter乱码的几种解决方式

01.响应乱码,post请求中文乱码 添加HTTP请求时在Content encoding后填入相应的编码,以后台编码utf-8为例:   02. 添加BeanShell Sampler或者BeanShell PostProcessor 响应乱码   03 修改Jmeter的配置文件:jmeter.properties 这种方式经过我的测试,只是对响应结果有效果。 找到jmeter安装目录下bin目录下的jmeter.properties文件。 然后搜索encoding,找到如下这一行代码: . 然后把前面的#去掉,后面的编码修改成utf-8,如下图:     04 Body data中写的中文,乱码都是问号: 如图: 解决方案,检查jmeter.properties: 注释全部取消,重启jmeter;    
测试匠艺 发布于 2周前 阅读 12

手把手教你实现自定义的应用层协议

1.简述 互联网上充斥着各种各样的网络服务,在对外提供网络服务时,服务端和客户端需要遵循同一套数据通讯协议,才能正常的进行通讯;就好像你跟台湾人沟通用闽南语,跟广东人沟通就用粤语一样。 实现自己的应用功能时,已知的知名协议(http,smtp,ftp等)在安全性、可扩展性等方面不能满足需求,从而需要设计并实现自己的应用层协议。 2.协议分类 2.1按编码方式 二进制协议 比如网络通信运输层中的tcp协议。 明文的文本协议 比如应用层的http、redis协议。 混合协议(二进制+明文) 比如苹果公司早期的APNs推送协议。 2.2按协议边界 固定边界协议 能够明确得知一个协议报文的长度,这样的协议易于解析,比如tcp协议。 模糊边界协议 无法明确得知一个协议报文的长度,这样的协议解析较为复杂,通常需要通过某些特定的字节来界定报文是否结束,比如http协议。 3.协议优劣的基本评判标准 高效的 快速的打包解包减少对cpu的占用,高数据压缩率降低对网络带宽的占用。 简单的 易于人的理解、程序的解析。 易于扩展的 对可预知的变更,有足够的弹性用于扩展。 容易兼容的 向前兼容,对于旧协议发出的报文,能使用新协议进行解析,只是新协议支持的新功能不能使用。 向后兼容,...
wangxuwei 发布于 6小时前 阅读 2

从实际案例聊聊Java应用的GC优化【转载】

当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。 即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容: 优化前准备: 简单回顾JVM相关知识、介绍GC优化的一些通用策略。 优化方法: 介绍调优的一般流程:明确优化目标→优化→跟踪优化结果。 优化案例: 简述笔者所在团队遇到的GC问题以及优化方案。 优化前的准备 一、GC优化需知 为了更好地理解本篇所介绍的内容,你需要了解如下内容。 GC相关基础知识,包括但不限于: a) GC工作原理。 b) 理解新生代、老年代、晋升等术语含义。 c) 可以看懂GC日志。 GC优化不能解决一切性能问题,它是最后的调优手段。 如果对第一点中提及的知识点不是很熟悉,可以先阅读小结-JVM基础回顾;如果已经很熟悉,可以跳过该节直接往下阅读。 JVM基础回顾 JVM内存结构 简单介绍一下JVM内存结构和常见的垃圾回收器。 当代主流虚拟机(Hotspot VM)的垃圾回收都采用“分代回收”的算法。...
wind2012 发布于 7小时前 阅读 6

微服务架构技术栈选型手册【转载】

一、前言 2014 年可以认为是微服务 1.0 的元年,当年有几个标志性事件,一是 Martin Fowler 在其博客上发表了”Microservices”一文,正式提出微服务架构风格;二是 Netflix 微服务架构经过多年大规模生产验证,最终抽象落地形成一整套开源的微服务基础组件,统称 NetflixOSS,Netflix 的成功经验开始被业界认可并推崇;三是 Pivotal 将 NetflixOSS 开源微服务组件集成到其 Spring 体系,推出 Spring Cloud 微服务开发技术栈。 一晃三年过去,微服务技术生态又发生了巨大变化,容器,PaaS,Cloud Native,gRPC,ServiceMesh,Serverless 等新技术新理念你方唱罢我登场,不知不觉我们又来到了微服务 2.0 时代。 基于近年在微服务基础架构方面的实战经验和平时的学习积累,我想总结并提出一些构建微服务 2.0 技术栈的选型思路,供各位在一线实战的架构师、工程师参考借鉴。对于一些暂时还没有成熟开源产品的微服务支撑模块,我也会给出一些定制自研的设计思路。 二、选型准则 对于技术选型,我个人有很多标准,其中下面三项是最重要的: 1.    生产级 我们选择的技术栈是要解决实际业务问题和上生产抗流量的(选择不慎可能造成生产级事故),而不是简单做个 POC 或者 Demo...
wind2012 发布于 10小时前 阅读 17 评论 1

目录结构

有好多个: /root:根用户的家目录 /etc:系统主要配置文件 /home:其它用户的家 /dev:系统设备相关文件 /lib:各种库文件,系统或软件程序 /boot:系统核心文件,开机所需文件 /bin:可执行的命令文件 /sbin:root才能执行的命令,文件 /tmp:临时存放数据的文件夹 /srv:服务启动后需要访问的数据,例如web访问需要的网友数据 /opt:第三方软件放置目录 /media:移动设备文件放置目录,如U盘 12个 --------- 简述 对于每一个学习 Linux 的人来说,了解 Linux 文件系统的目录结构至关重要。想要熟练使用 Linux,让 Linux 听命于自己,就必须掌握这些目录。   简述 目录结构 目录说明   目录结构 Linux 和 Windows 的最大不同之处在于目录结构的设计。进入 Windows 系统,打开 C 盘,你会发现一些常见的文件夹;而进入 Linux 后,执行 ls -l / 会发现在“/”(根目录)下包含很多的目录,比如 etc、usr、var、bin 等目录,进入其中一个目录后,看到的还是很多的文件和目录。 Linux 的目录结构类似于树形结构,如下所示: 要认识 Linux 的目录结构,首先要认识目录结构最顶层的“/”,任何目录、文件和设备等都在此目录下。Linux 的文路径与 Windows 不同,Linux 的文件路...
wsdsb 发布于 14小时前 阅读 5

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

用好man

俗话说的好:“授人以鱼不如授人以渔”,这里我们将好好讨论一下如何使用Linux中一个重要工具——帮助文档。    帮助文档相关的命令有好几个,但是最常用的一个命令就是man命令,man就是manual的缩写,用来查看系统中自带的各种参考手册(注意,不仅仅是命令噢)。例如我们现在要查看who命令的帮助文档,最简单的用法如下: 命令序列 1 [stu@localhost~]$ man who 这时就来到了man命令的界面中,其中的项目意义如下所示: NAME   这个命令(程序)的名称和简单用途的说明 SYNOPSIS   命令(程序)语法 DESCRIPTION  命令(程序)详细说明,包括选项与参数的用法 AUTHOR  命令(程序)的作者 REPORTINGBUGS  如果发现bug可以联系的电子邮件 COPYRIGHT  命令(程序)版权协议 SEE ALSO  还可以参考哪些文档   当然,不同的命令(程序)的文档格式可能有些微区别,文档中还可能包括的项目有:  COMMANDS 当命令(程序)在运行的时候,可以在此命令(程序)中下执行内部命令  FILES 这个命令(程序)或数据所使用或者相关的某些文件  EXAMPLE 这个命令(程序)执行的一些参考的样例。            重要     在  man界面中,可以使用如下快捷键来进行操作:   ¨  ...
wsdsb 发布于 15小时前 阅读 2 评论 1

操作系统基础知识

《程序员的自我修养》读书笔记,计算机基础知识
aron1992 发布于 5天前 阅读 12

编译链接过程

《程序员的自我修养》的读书笔记
aron1992 发布于 5天前 阅读 4

Go应用程序使用dockerfile multi-stage的问题

就是不写摘要.
taadis 发布于 6天前 阅读 10 评论 3

微服务之通信

微服务架构中,服务与服务之间的通信,通常是采用轻量级的的通信方式 轻量级一般指与语言平台无关的协议 ##### 同步通信与异步通信 消息的传递,分为同步消息传递和异步消息传递 ###### 同步消息传递的场景: 当消息发送者希望在某个时间范围内收到响应,然后在进行下一个任务。基本上就是他在收到响应之前一直处于阻塞状态 ###### 异步消息传递的场景: 发送者并不要求立即收到响应,而且也不会阻塞整个流程。响应可有可无,发送者会执行剩下的任务 ##### RPC(Remote Procedure Call) RPC是指远程过程调用,有A、B两台服务器,一个服务部署在A服务器上,想要调用B服务器上应用提供的函数、方法,由于不再一个内存空间,不能直接调用,需要通过网络像调用本地方法一样,调用B服务的函数或者方法。如上的调用机制可能导致各个系统之间的耦合度较高 ##### RESTFUL 以资源为核心,能够保持应用的无状态性,利于集群的水平伸缩,但是对于个系统或者各功能之间,如何标准化资源结构来确保能够接纳多样而标准的各方请求。 ##### JMS(Java Message service) JMS消息有queues和topic两种消息类型,支持事物,能够自定义消息格式(消息头、属性、内容) ###### queues生产/消费者...
AustinYe 发布于 1周前 阅读 6

教您用数学课件制作工具度量点到直线的距离

作为专业的课件制作工具,几何画板可以用来画各种形状的几何图形,但是它也可以用来作为一款几何度量工具,用来测量距离、长度、角度等等。下面就一起来学习如何度量点到直线之间的距离的? 几何画板软件正在搞新春特惠活动,软件获取地址:http://wm.makeding.com/iclk/?zoneid=17783 具体的操作步骤如下: 步骤一 绘制点。打开几何画板数学课件制作工具,单击左侧侧边栏“点工具”,在画板上面单击一下鼠标绘制一个点,如下图所示。   使用点工具在画板中绘制点示例 步骤二 绘制直线。单击左侧侧边栏“线段直尺工具”,在画布上面绘制一条直线,如下图所示。   使用线工具在画板中绘制直线示例 步骤三 度量距离 1.选择左侧侧边栏“移动箭头工具”,选中刚才绘制的点和线,单击上方菜单栏“度量”菜单,在其下拉菜单选择“距离”命令,如下图所示。   在度量菜单下执行距离命令示例 2.这样就可以看到点到线的距离已经测量出来了,在画板左上角已经将点到直线的距离数据显示。   执行度量命令得到的点到直线的距离示例 看了以上教程,相信大家已经学会在几何画板中度量点到直线距离的方法,主要是要运用几何画板里面强大的度量功能,其实几何画板度量菜单还有很多强大的...
软件贴士 发布于 1周前 阅读 3

如何绘制化学实验装置图

作为化学老师必备的教学工具,ChemDraw化学软件不仅使用简便、输出质量高,并且结合了强大的化学智能技术,集成ChemOffice 套件和许多第三方产品,受到成千上万用户的喜爱。比如可以用它绘制化学实验装置图。 ChemDraw软件获取地址:http://wm.makeding.com/iclk/?zoneid=18518 绘制的装置图(效果图)   ChemDraw中绘制装置图 在ChemDraw中绘制装置图的具体步骤: 步骤一 打开ChemDraw化学公式编辑软件。 步骤二 选择工具栏中的“刻章”按钮,出现如下图子菜单:   ChemDraw刻章分类下的Clipware,part 1按钮 步骤三 选择“Clipware,part 1”选项,出现如下图子菜单,选择所需要组件:   ChemDraw刻章分类下的Clipware,part 1组件 步骤四 选择“Clipware,part 2”选项,出现如下图子菜单,选择所需要组件:   ChemDraw刻章分类下的Clipware,part 2组件 步骤五 通过选中组件进行大小和位置的调整组成装置图。 看了以上教程,就掌握了在ChemDraw中绘制化学实验装置图的方法,新用户可以很快上手,如您还需ChemDraw的入门教程或者使用技巧请访问ChemDraw中文官网。 以上教程参考自:http://www.chemdraw.com.cn/youjihuaxue/zhuangzhi-tu.html...
软件贴士 发布于 1周前 阅读 4

IDEA中Junit使用注意事项

<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> 如图当junit依赖的scope域范围被设置成test时,在项目中是不能在类方法上@Test进行测试运行的,相当于整个jar包都被隐藏了,这可能跟IDEA的编译构建规则有关,是跟Eclipse中不同的地方。在以后的使用中要注意了,也要注意继承的父工程中也去掉父依赖的scope设置。不然就跟我一样悲催的搞了一晚上。  
小池仔 发布于 1周前 阅读 5 评论 5

微服务 分布式、集群杂谈(思绪未整理)

#### 集群与分布式的区别 集群是一个物理形态,分布式是一种工作方式 ##### 集群 同一个业务,部署在多个服务器上,把ERP财务模块这个系统,在多台机器上部署,称为集群 ##### 分布式 一个业务拆分多个子业务,以集群的形式部署在不同的服务器上。以ERP系统为例,ERP系统6大模块 (人力资源、财务、仓存管理、生产管理、采购管理、销售管理),每个模块以集群的形式进行部署,这个ERP系统可以叫分布式系统 ##### 总结 集群一般是物理集中、统一管理的,而分布式是相对与中心化而言的,强调的是任务在多个物理隔离的节点上进行。 #### 单体应用集群的主要问题 单体集群中心化带来的主要问题是可靠性,若中心节点宕机则整个系统不可用,分布式除了解决部分中心化问题 > 例如一个开票员用户,在终端上传发票扫描文件,对她而言她只知道文件上传到服务器上了,不在乎后台是几台服务器,分布在那些机房。但是对于后台管理人员而言,同样是发票扫描件上传,我可以在东莞放置服务器处理华南地区的请求,在南京放置服务器处理华东区的请求,在德国放置服务器处理欧洲的请求,实现全球用户可上传文件的任务,从这个角度看,这是分布式的。 另一方面东莞的服务器可能有多台来同时处理...
AustinYe 发布于 1周前 阅读 7

Google map在线加载geojson

研究了在线加载google map 数据,记录下 https://jsfiddle.net/api/post/library/pure/ ![![输入图片说明](https://static.oschina.net/uploads/img/201802/11210357_MXPi.png "在这里输入图片标题")](https://static.oschina.net/uploads/img/201802/11210357_MXPi.png "在这里输入图片标题") js 覆盖,数据填充 ``` function initMap() { map = new google.maps.Map(document.getElementById('map'), { // todo zoom: 14, center: {lat: 40.7119402000001, lng: -74.0434486} }); // data var temp= { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "letter": "G", "color": "blue", "rank": "7", "ascii": "71" }, "geometry": //geojson 格式空间数据 todo } ] }; // NOTE: This uses cross-domain XHR, and may not work on older browsers. map.data.addGeoJson(temp); } ``` html ``` ```...
zyosenn 发布于 1周前 阅读 4

wkt转geojson (for MultiPolygon)

最近项目需要研究了一下空间地图数据格式 wkt 格式数据转为geojson 给google map使用 数据格式: wkt: MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3))) geoJson: {"type":"MultiPolygon","coordinates":[[[[1,1],[5,1],[5,5],[1,5],[1,1]],[[2,2],[2,3],[3,3],[3,2],[2,2]]],[[[6,3],[9,2],[9,4],[6,3]]]]} - 导入 jts jar包 ,通过geometry来解析MultiPolygon等类型数据,代码如下,针对数据量复杂的数据单元测试用时大概200ms ``` public static final GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326); public static final WKTReader wktReader = new WKTReader(geometryFactory); public static Geometry toGeometry(String wkt) throws ParseException { Geometry read = wktReader.read(wkt); return read; } public static JSONObject parsePolygon2Geojson(Geometry geom) throws ParseException { JSONObject jsonObject = new JSONObject(); String type = geom.getGeometryType(); jsonObject.put("type", geom.getGeometryType()); if ("MultiPolygon".equalsIgnoreCase(type)) { JSON...
zyosenn 发布于 1周前 阅读 5

Spring Boot自动扫描

进行Spring Boot和Mybatis进行整合的时候,Spring Boot注解扫面的时候无法扫描到Application类的以外的包下面的注解,如下图: App就是Application类,下图是ProductMapper 类: @Mapper public interface ProductMapper { @Insert("insert into products (pname,type,price)values(#{pname},#{type},#{price}") public int add(Product product); @Delete("delete from products where id=#{arg1}") public int deleteById(int id); @Update("update products set pname=#{pname},type=#{type},price=#{price} where id=#{id}") public int update(Product product); @Select("select * from products where id=#[arg1}") public Product getById(int id); @Select("select * from productsorder by id desc") public List<Product> queryByLists(); }   App类运行的时候后台就会报没有找到ProductMapper 这个类bean: Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException:<br> No qualifying bean of type 'com.self.spring.mapper.ProductMapper' availab...
binhu 发布于 1周前 阅读 38 评论 1

MathType新春特惠,降价等你购!

想必大家都听说过这款强大的公式编辑器,MathType被理科生所青睐,在写论文的时候经常用它来编辑公式进行排版,从而可以很标准、美观地进行显示。这不2018年春节即将到来,为了回馈广大用户,MathType中文官网推出特惠活动,下面就一起来看看活动详情。 活动时间:即日起至2018年2月28日 活动内容:MathType教育版直降200,仅需498即可购得。 软件获取地址:http://wm.makeding.com/iclk/?zoneid=17790 活动地址:http://www.mathtype.cn/goumai.html 图1:新春特惠图 MathType是强大的数学公式编辑器,与常见的文字处理软件和演示程序配合使用,能够在各种文档中加入复杂的数学公式和符号,可用在编辑数学试卷、书籍、报刊、论文、幻灯演示等方面,是编辑数学资料的得力工具。MathType使用人群主要集中在学生、教师以及理科专业工作者,可应用于教育教学、科研机构、工程学、论文写作、期刊排版、编辑理科试卷等。 图2:mathtype软件图 作为全世界最受欢迎的公式编辑器,MathType自从发行以来就备受理工科人们喜爱。受助它在编辑公式方面的强大功能,MathType也在不断更新以满足人们的需要。目前MathType最新版是6.9,里面添加了一些新功能。下面给大家介绍MathType6.9新增...
软件贴士 发布于 1周前 阅读 4

POJO和javabean的区别

什么是POJO  按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的Java对象”,但大家都使用“简单java对象”来称呼它。 POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。     pojo和javabean的比较 pojo的格式用于数据的临时传递,它只能装在数据,作为数据存储的载体,而不具有业务逻辑处理的能力。 而javabean虽然数据的获取与pojo一样,但是javabean当中可以有其它的方法。   JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:   1.这个类必须有一个公共的缺省构造函数。 2.这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。 3.这个类应是可序列化的。 详解:     使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter、setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。       POJO对象有时也被称为Data对象,大量应用于表现现实中的...
new_chaos 发布于 1周前 阅读 12 评论 1

黑盒测试用例设计方法

等价类划分法 边界值法 判定表驱动法 因果图法   正交表法     主要用于配置文件测试和界面测试     场景法     站在客户使用场景上按照业务流程测试。  
一越王超 发布于 2周前 阅读 6

黑盒测试

黑盒测试概述 黑盒测试以用户角度为出发点!    
一越王超 发布于 2周前 阅读 2

java 通过网络唤醒实现远程开机

网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
千里明月 发布于 4周前 阅读 3125 评论 6 点赞 9

TeamFlowy——结合Teambition与Workflowy

使用Teambition来管理任务,使用Workflowy来撰写大纲,使用TeamFlowy来将Workflowy里面特定的条目作为任务自动添加到Teambition中。
kingname 发布于 5个月前 阅读 1035 评论 10 点赞 1

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

Spring、Spring Boot和TestNG测试指南 - 测试@Configuration

[码云地址][1] 在Spring引入Java Config机制之后,我们会越来越多的使用@Configuration来注册Bean,并且Spring Boot更广泛地使用了这一机制,其提供的大量Auto Configuration大大简化了配置工作。那么问题来了,如何确保@Configuration和Auto Configuration按照预期运行呢,是否正确地注册了Bean呢?本章举例测试@Configuration和Auto Configuration的方法(因为Auto Configuration也是@Configuration,所以测试方法是一样的)。 ## 例子1:测试@Configuration 我们先写一个简单的@Configuration: ```java @Configuration public class FooConfiguration { @Bean public Foo foo() { return new Foo(); } } ``` 然后看[FooConfiguration][src-ex1-FooConfiguration]是否能够正确地注册Bean: ```java public class FooConfigurationTest { private AnnotationConfigApplicationContext context; @BeforeMethod public void init() { context = new AnnotationConfigApplicationContext(); } @AfterMethod(alwaysRun = true) public void reset() { context.close(); } @Test public void testFooCreation() { context.register(FooConfiguration.class); context.refresh...
jarchan 发布于 6个月前 阅读 1970 评论 7

比特币深层技术原理浅析

这是一篇主要针对技术小白的文章。本文尽量使用通俗易懂但又不失要义的文字,带你深入剖析当前备受追捧的比特币背后的深层技术原理,最后会简要介绍一下业界市场的现状。
中成才 发布于 8个月前 阅读 4470 评论 30 点赞 12 打赏 4

关于“全球遭受网络勒索攻击”WannaCry2.0病毒软件图文分析

我是技术一般般码农 若分析的不到位 错误 请各位大神指出 分析此软件只是出去安全角度研究;请勿非法使用,工具就不公开,大家有兴趣逛逛我博客哈 liberxue博客:本文请勿转载by liberxue
Liberxue 发布于 9个月前 阅读 4672 评论 17 点赞 5

重复性管理——从泛值到泛型以及泛函(上)

为什么用泛型以及它到底解决了什么问题?文中用大量例子介绍了重复性管理的一些具体做法,重点分析了泛型范式在解决重复性问题上的应用。
国栋 发布于 9个月前 阅读 1629 评论 35 点赞 12

使用t-io实现简单的rpc调用(一)

1.先从最基础的来 编写接口及实现类 public interface IUserService { public String getList(); public String getList(Integer id,String name); } import cn.ensoft.service.IUserService; public class UserServiceImpl implements IUserService{ @Override public String getList() { return "{'id':'abc','name':'hello'}"; } @Override public String getList(Integer id, String name) { return "{'id':'"+id+"','name':'"+name+"'}"; } } 2.t-io自定义公共类     2.1业务消息包 import java.io.UnsupportedEncodingException; import org.tio.core.intf.Packet; public class MsgPacket extends Packet{ public static final String CHARSET = "GB18030"; private byte[] body; public MsgPacket() { } public MsgPacket(String msg) { try { this.body = msg.getBytes(MsgPacket.CHARSET); } catch (UnsupportedEncodingException e) { } } /** * @return the body */ public byte[] getBody(){ return body; } /** * @param body the body to set ...
龙图腾飞 发布于 10个月前 阅读 4262 评论 19 点赞 18

Dubbo与Zookeeper、SpringMVC整合和使用(入门级)

Dubbo与Zookeeper、SpringMVC整合和使用 相关的原理介绍可以参考http://blog.csdn.net/congcong68/article/details/41113239博客写的内容。
小帅帅丶 发布于 10个月前 阅读 8019 评论 47 点赞 14

视觉角度: jfinal的Model与Beetlsql比较

JFinal 是目前在 git.oschina.net java中关注最多的项目. 亲自用JFinal开发过有上百张表的项目.项目完结后总要做个总结 这篇文章是介绍项目中开发的一些经历. 会首先列出JFinal的Model开发 (只是Model的使用) 使用Beetlsql替换JFinal的Model (给出一种较爽编码方式) 对比两个在写多条件查询sql时, (就是需要条件判断, 为null的不参与查询) 1.JFinal的Model开发 JFinal的ORM下面称JFinal的Model 这是Model的新增 修改 删除 jfinal 实体类1 public class Elephant extends Model<Elephant> { public static final Elephant Dao = new Elephant(); public List<Integer> findIds() { return Db.query("select id from tb_bird"); } }   jfinal 测试用例1 @Log4j public class ElephantTest { @Test public void testChainSave() { // 无需要创建字段 new Elephant().set("age", 17).set("name", "jfinal").set("desc", "mvc + orm").save(); } @Test public void testUpdate() { Elephant elephant = Elephant.Dao.findById(1); elephant.set("age", 18).update(); } @Test public v...
渔泯小镇 发布于 10个月前 阅读 3744 评论 97 点赞 18

Gitlab删库事件的借鉴意义

上周轰动一时的Gitlab事件终于尘埃落定了,不可否认的是这次事故Gitlab官方公关的的很出色,及时公布事件细节并寻求帮助,这让本是一个失误引发的事故,演变为一个真诚面对问题并反思的正面教材。对此,网络上一片好评。
wier 发布于 1年前 阅读 4619 评论 40 点赞 11

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

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

接口自动化测试框架搭建

越来越多的公司开始做接口自动化测试,这里搭建一个轻量级的接口自动化框架,希望对大家有所帮助,在这之前希望大家先思考两个问题,什么是自动化测试?为什么要做接口自动化测试?
红焖鲤鱼 发布于 1年前 阅读 4886 评论 9 点赞 2

软件开发性感吗 ?!

软件开发的本质是复杂,有快感,无性感 。而美的感知是建立在亿万年人类进化之上深层次心理需求。
OceanStack 发布于 2年前 阅读 3055 评论 20 点赞 1

100行lua代码实现简单目录浏览器

界面部分用lae实现,无需写代码,100行lua代码实现简单目录浏览器。
ouloba 发布于 2年前 阅读 3828 评论 7 点赞 9

mybatis源码分析之Configuration

mybatis源码分析之Configuration
udbwcso 发布于 2年前 阅读 2855 评论 6 点赞 4

性能测试艺术

介绍 本文地址:http://my.oschina.net/u/1433482/blog/634047。 交流:python开发自动化测试群291184506 PythonJava单元白盒测试群144081101 英文原版书籍下载:https://bitbucket.org/xurongzhong/python-chinese-library/downloads。 精品文章推荐: python 2.7 中文教程及自动化测试介绍 使用Python学习selenium测试工具 为什么要进行性能测试? 什么是好的与坏的性能?为什么性能测试在软件开发生命周期(SDLC software development life cycle)中很重要? 性能不佳的应用通常无法实现企业预期利益,花费了大量时间和金钱,但是却在用户中失去了信誉。 相比功能测试和验收测试(OAT operational acceptance testing),性能测试容易被忽略,往往在发布之后碰到性能和扩展性问题才意识到重要性。 最终用户眼中的性能 性能”是用户最终的感受。性能优异的应用在最终用户执行某项任务时不会产生过度的延迟而引起用户的不满。好的应用不会在登录时显示空屏,不会让用户走神。比如偶然的用户在购物网站上寻找和购买他们所需要的东西时,客户中心不会收到差性能的投诉。 多 数应用系统在峰值时性能表现不佳。从高层看,应用由客户端软件和基础设施组成,后者包括了运行软件所需...
磁针石 发布于 2年前 阅读 7575 评论 11 点赞 22

编辑-发布-开发分离:git作为NoSQL数据库

动态网页是下一个要解决的难题。我们从数据库中读取数据,再用动态去渲染出一个静态页面,并且缓存服务器来缓存这个页面。既然我们都可以用Varnish、Squid这样的软件来缓存页面——表明它们可以是静态的,为什么不考虑直接使用静态网页呢? 为了实现之前说到的编辑-发布-开发分离的CMS,我还是花了两天的时间打造了一个面向普通用户的编辑器。效果截图如下所示: 作为一个普通用户,这是一个很简单的软件。除了Electron + Node.js + React作了一个140M左右的软件,尽管打包完只有40M左右 ,但是还是会把用户吓跑的。不过作为一个快速构建的原型已经很不错了——构建速度很快、并且运行良好。 尽管这个界面看上去还是稍微复杂了一下,还在试着想办法将链接名和日期去掉——问题是为什么会有这两个东西? 从Schema到数据库 我们在我们数据库中定义好了Schema——对一个数据库的结构描述。在《编辑-发布-开发分离 》一文中我们说到了echeveria-content的一个数据文件如下所示: { "title": "白米粥", "author": "白米粥", "url": "baimizhou", "date": "2015-10-21", "description": "# Blog post \n > This is an example blog post \n L...
Phodal 发布于 2年前 阅读 3868 评论 8 点赞 4

简述 Microservices(微服务)

自 2014 年始,Microservices(微服务)一词越来越火爆,不谈 Microservices 彷佛就 out 了。那么什么是 Microservices?Microservices 架构与传统的架构有什么区别?何时应该采用 Microservices?如何构建 Microservices? 本文,就针对上述提到的问题,来简单介绍下 Microservices。
waylau 发布于 2年前 阅读 3187 评论 4 点赞 8

老翟书摘:从《大野耐一的现场管理》看软件工程管理

![输入图片说明](https://static.oschina.net/uploads/img/201602/11213623_brK3.jpg "在这里输入图片标题") 前年,接触到了[《丰田生产方式》](http://my.oschina.net/zjzhai/blog/522423),就对大野耐一这个人十分感兴趣,就专门找他的书来看。 同时,我一直都有一种“感觉”:我们软件工程的管理方式都是从传统工业借鉴的。比如被吹上天的“精益”概念及“看板”概念。然而,这些概念里,少有人说明这样地借鉴的理由及借鉴了哪些,放弃了哪些。想回答这个问题就必须分别弄清楚传统工业和软件工程的本质。 我尝试在这本书了解一些关于传统工业的管理概念。以下是书摘: ####“精益”的概念的产生 >1990年,美国麻省理工学院的詹姆斯 沃麦克等多位教授,在《改变世界的机器》一书中,首次以“精益生产”(learn production)为核心介绍丰田生产方式,自此,欧美的一些企业才开始把丰田生产方式作为全球化以及提高生产率的标准和尺度。 ####领导说服力:坦诚即代表强劲的说服力 > 要想说服别人或是得到理解,若没有什么根据或道理是行不通的。 > 不要总是认为自己的言行没有错误,意识到错之后就应该爽快地说出来。如果有了这种胸怀,指挥现场以及下属不就变得轻而易举了吗...
翟志军 发布于 2年前 阅读 1925 评论 9 点赞 4

TCP可靠传输&流量控制&拥塞控制

TCP 可靠性算法解释,TCP 可靠性传输的理论知识 LwIP协议栈推荐
满小茂 发布于 2年前 阅读 8621 评论 7 点赞 23
顶部