技术前沿网

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

It appears you’re using an unsupported browser

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

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

如何准备校招技术面试

2017 年互联网校招已近尾声,作为一个非 CS 专业的应届生,零 ACM 经验、零期刊论文发表,我通过自己的努力和准备,从找实习到校招一路运气不错,面试全部通过,谨以此文记录我的校招感悟。
brianway 发布于 2小时前 阅读 40 点赞 1

Python NLP入门教程

本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。 ## 什么是NLP? 简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或服务。 这里讨论一些自然语言处理(NLP)的实际应用例子,如语音识别、语音翻译、理解完整的句子、理解匹配词的同义词,以及生成语法正确完整句子和段落。 这并不是NLP能做的所有事情。 ## NLP实现 **搜索引擎**: 比如谷歌,Yahoo等。谷歌搜索引擎知道你是一个技术人员,所以它显示与技术相关的结果; **社交网站推送**:比如Facebook News Feed。如果News Feed算法知道你的兴趣是自然语言处理,就会显示相关的广告和帖子。 **语音引擎**:比如Apple的Siri。 **垃圾邮件过滤**:如谷歌垃圾邮件过滤器。和普通垃圾邮件过滤不同,它通过了解邮件内容里面的的深层意义,来判断是不是垃圾邮件。 ## NLP库 下面是一些开源的自然语言处理库(NLP): * Natural language toolkit (NLTK); * Apache OpenNLP; * Stanford NLP suite; * Gate NLP library 其中自然语言工具包(NLTK)是最受欢迎的自然语言处理库(NLP),它是用Python编写的,而且背后有非常强大的社区支持...
j_hao104 发布于 2小时前 阅读 46 评论 1

记一次php mysqli出现No such file or directory的错误排查

最近公司的一台开发机器坏了,需要把部分工作相关的系统转移到另一台机器上,在转移mantis的过程中发现mysql连不上了,而且错误居然是No such file or directory,这个错误信息很明显告诉我文件不存在,但是我是通过网络连mysql,何故会提示文件不存在?于是写了一段测试代码。 $mysqli = new mysqli('localhost', 'root', '', 'bugtracker'); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . '): '. $mysqli->connect_error); } 果然,还是报错!!!! PHP Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in /root/test.php on line 2 为了确保参数没错,使用mysql客户端进行测试 mysql -uroot -hlocalhost 嗯,连上了,完全没有任何错误,那说明参数是没有问题的,可为什么相同的参数,mysql客户端连接正常,php连接不上?为了一探究竟,于是使用strace再次跑了一下这段代码,发现系统调用的connect居然不是使用tcp,而是unixdomain,文件路径是/tmp/mysql.sock,而这个文件确实不存在 connect(3, {sa_family=AF_FILE, path="/tmp/mysql.sock"}, 17) = -1 ENOENT (No such file or directory) 到这里,我已...
呵大官人 发布于 3小时前 阅读 15
梦朝思夕

你应该了解NewSQL:CockroachDB验证文档

## 方案八:CockroachDB cockroachdb是分布式、支持事务、支持SQL操作、K-V存储模式的数据库。CockroachDB的三位创始人全部来自Google,其架构受到Google的 Spanner和F1的启发,[cockroach开源地址](https://github.com/cockroachdb/cockroach/)。 ![输入图片说明](https://static.oschina.net/uploads/img/201709/27153626_oTyu.png "在这里输入图片标题") 具有: - 标准SQL接口, 使用PostgreSQL协议,支持标准SQL接口,兼容关系型数据库SQL生态; - 扩展能力强、高并发,支持类MPP并行查询框架; - 弹性扩容,持按需扩容, 自动负载均衡; - 多副本强一致,使用raft算法保证数据一致性; - 服务高可用,上去中心化,无SPOF; - 分布式事务,基于MVCC实现事务控制,支持SI和SSI两种隔离级别; [](http://wiki.baidu.com/pages/viewpage.action?pageId=279391634) ### 调研 #### 建表 ```SQL DROP TABLE IF EXISTS "tracks"; CREATE TABLE IF NOT EXISTS "tracks" ( "id" SERIAL PRIMARY KEY , "third_tracks_id" varchar(32) NOT NULL DEFAULT '' , "tracks_title" varchar(255) NOT NULL DEFAULT '' , "tracks_title_other" varchar(255) NOT NULL DEFAULT '', "tracks...
梦朝思夕 发布于 3小时前 阅读 8

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

如何通过Mysql的二进制日志恢复数据库数据

经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据。   系统环境: 操作系统:CentOS 6.5 X64  (虚拟机); WEB服务:PHP+Mysql+apache; 网站:为方便,直接在本地搭建一个DEMO站点;   操作步骤: 1.开启binlog功能及基本操作; 2.往站点添加数据; 3.刷新binlog日志; 4.删除数据; 5.binlog日志内容解析; 6.恢复指定数据;   1.开启binlog功能及基本操作 要使用Mysql的binlog日志功能,首先要在Mysql的配置文件中开启该功能,操作很简单。找到Mysql的配置文件,在文件中添加一行”log_bin = mysql-bin”即可。其实在我安装的各种Mysql环境中,该功能通常都是默认开启的。 开启binlog功能后,在mysql的数据库目录下就会有诸如mysql-bin.000001、mysql-bin.000002等文件,这就是mysql的二进制日志文件。每当mysql启动或手动刷新日志后都会新建一个二进制日志文件。 首先我们mysql命令行中,用”show master logs”命令查看已有的binlog文件。   2.往站点添加数据 在网站后台文章模块里,我添加了几条...
GavinHsueh 发布于 5小时前 阅读 6

疯狂Activiti6.0连载(四)——流程引擎数据源配置

4 配置文件读取与数据源配置         本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         要点              掌握Activiti的配置文件读取方式              掌握Activiti的数据源配置 4.1流程引擎配置对象         ProcessEngineConfiguration对象代表一个Activiti流程引擎的全部配置,该类提供一系列创建ProcessEngineConfiguration实例的静态方法,这些方法用于读取和解析相应的配置文件,并返回ProcessEngineConfiguration的实例。除这些静态方法外,该类为其他可配置的引擎属性提供相应的setter和getter方法。本小节主要讲解如何使用这些静态方法创建ProcessEngineConfiguration实例。 4.1.1 读取默认的配置文件         ProcessEngineConfiguration的createProcessEngineConfigurationFromResourceDefault方法,使用Activiti默认的方式创建ProcessEngineConfiguration的实例。这里所说的默认方式,是指由Activiti决定读取配置文件的位置、文件的名称和配置bean的名称这些信息。Activiti默认到ClassPath下读取名为“activiti.cfg.xml”的Activiti配置文件,启动并获取名称为“processEngine...
杨大仙的程序世界 发布于 7小时前 阅读 25

SpringCloud(第 028 篇)ConfigServer 配置管理微服务

1、在讲到配置时,不得不说 SpringCloud 提供了一套解决分布式的配置管理方案,它既包含了服务端ConfigServer也包含了客户端ConfigClient; 2、SpringCloud 将配置文件当作源代码一样存储到 git 或者 svn 服务器上,虽然说这样没有什么管理界面配置啥的,既然能用 svn 上传上去,那也能做成管理界面,只是花的工作量多少而已了,而既然都说了是配置,那就是只要会稍微学些git或者svn的提交文件方式,基本上任何都极易掌握; 3、当我们把配置文件放在 git 上的时候,我们如果要做到更新的话,我们需要借助于 git 网页上的 push 操作来触发更新操作;
HMILYYLIMH 发布于 15小时前 阅读 23 评论 1

Spring使用中中文乱码的情况

Spring SpringMVC 中文乱码的情况
黑色蝈蝈 发布于 15小时前 阅读 15 评论 1

可靠消息服务实现(分布式事物)

分布式事物往往是服务化的痛点,很多场景通过业务避免了分布式事物,但是还是存在一些场景必须依赖分布式事物,下面来讲讲如何处理分布式事物
liangbo 发布于 16小时前 阅读 37
小程程程

面试时如何做好自我介绍

好的开始,是成功的一半。        自我介绍几乎是面试的必备节目,面试官见面寒暄后很可能提出的第一个问题就是“请你简单地做一下自我介绍”。如果你的自我介绍给他留下了深刻的印象,接下来的面试会朝着你预期的好的方向发展;而如果你的自我介绍做的稀碎稀碎的,面试官的“先入为主”恐怕会让你的人生更多一次悲催。        有的求职者很困惑:简历中我的情况已经写的很清楚了,还让我做自我介绍不是多此一举吃饱了撑的吗?你可千万别脑子一热和面试官说“我叫驴得水,我的基本情况,简历里都写了”,这潜台词分明是“你瞎啊,不会自己看啊,问个毛线”,面试官对你的印象分会一下子降为负数…… 面试官想从自我介绍中看到什么? 面试官想从自我介绍中看到什么? 第一,可以考察你自我介绍的内容和递交的简历内容是否相冲突        如果简历是真实的,口述的自我介绍就不会有明显出入;但如果简历有虚假成分,自我介绍可能就会漏出马脚。钓鱼者不建议求职者造假,绝大多数人都无法把谎话说得和真的一样,何况对面坐着的都是老油条。谎言一旦被揭穿,面试就到此为止,而且,还会有避免不了的尴尬与鄙视。就算侥幸没被揭穿,想像下,n年以后,回想这段不光...
小程程程 发布于 18小时前 阅读 34 评论 1

武汉校招,我都问了什么

“人生是持续而反复的构造”,是一场马拉松。“种一棵树最好的时间是十年前,其次是现在”-《精进》
新栋BOOK 发布于 19小时前 阅读 38
编辑部的故事

个性满满!那些有意思的艺术图像生成工具推荐

随着深度学习的快速发展以及技术的开源,越来越多的人开始接触和了解深度学习,也出现了越来越多的开源的深度学习项目。其中不乏一些非常有意思的项目,在帮助用户了解深度学习原理的同时,还能生成一些奇特、颇具艺术感的图像。 1、DeepDream DeepDream 是 Google 开源的用来分类和整理图像的 AI 程序 Inceptionism 。Google 把一个人工神经网络项目放到了互联网上“造梦”,它可以挖掘可视的数据,“增强”图像中某些部分,而且其特性是依靠自己的数据集来“识别”里面(的内容)。出图效果是朦胧的、旋涡状有噪点的彩釉色,里面的物体可以反复变化。 2、Neural style Neural style 可以说是一款画风迁移工具,就是让机器模仿已有画作的绘画风格来把一张图片重新绘制的算法。它将计算机算法和艺术相结合,可以将照片风格化为名家大师的画风,而且整个过程十分迅速,在笔记本 CPU 上十几秒就可以风格化一张图片。 3、Neural Doodle Neural Doodle 则是一款将涂鸦变成艺术画的工具。比如说随手涂鸦一幅画,它会使用深层神经网络借鉴真实艺术家的风格,将这幅画变成充满艺术感的画像。整个过程差不多类似于人脑对物体的解析和重构的过程。 4、Image Analogies Image Analogi...
编辑部的故事 发布于 20小时前 阅读 1627 评论 9 点赞 10

深度解剖~ FreeRtos阅读笔记2 任务创建

2.任务创建 开始源码阅读,这里我使用了TI cc3200 cortex m4的学习板,由TI提供移植后的freertos。 xTaskGenericCreate 函数用来创建一个新任务,在调度器启动前和启动后都可以创建。Freertos在调度器启动后至少会有一个任务在运行,即使开发者不去创建任务。源码中使用TCB结构体存放一个任务的所有信息,控制了某个TCB便是控制一个任务的运行状态。一个TCB将会根据需要在不同链表内重复插入和移除,比如等待被调度的任务插在readylist中,被taskDelay等函数睡过的任务则乖乖的放入xDelayedTaskList1或xDelayedTaskList2中,这两个链表有点意思,它们解决了systick变量溢出的问题,不过今天它不是主角,以后再细细说来。 先贴一些结构体图片(//亿图画的,绘画水平勉强能看。。。)   (TCB)   一个TCB中有两个链表节点,链表本身和节点并不完全相同,链表只保留了几个指针,其它元素根本使用不到,所以被叫做mini_list_item: (LIST)   看清楚了任务及链表结构体组成,开始主流程分析。 (任务创建流程图)   2.1 prvAllocateTCBAndStack函数: 创建TCB  Freertos在堆上分配一块TCB大小的空间,分配成功后便给任务分配一块任务栈空间,大小由开发者参数决定。注意栈分配...
橘子O 发布于 20小时前 阅读 7

Java9 Module解惑

Java 9 特性以及解决的问题 Java 9 模块化的一个最大的变化体现在Java结构上。 本文将介绍关于“Java 9模块系统的”高级特性。 Java 9 模块化 我们将探讨关于Java 9模块化系统的以下主题: 1.介绍 2.JavaSe9之Jigsaw Project 3.当前Java系统的问题 4.Java9模块系统的特性 5.Jdk9和Jdk8的对比 6.Java9模块化是什么? 7.Java9模块化系统之母 8.Java9和Java8程序的对比。 介绍 Oracle 将Java 9从2017年3月延期到2017年9月进行发行。 我们知道, Java SE 8提供了三大新特性(加上少量改进和新特性)。 Lambda 表达式 Stream API Date API 同样地, Java SE 9提供了三大新特性(加上少量改进和新特性): Java模块系统(Jigsaw项目) Java REPL(交互式编程) Milling project coin(主要是语法改进的一个项目,Java7的时候就已经开始) 接下来,我们将谈论关于Oracle的Jigsaw项目。 Java SE 9 :Jigsaw项目 接下来我们将对Jigsaw项目--> Java SE 9: Java模块系统中的一些新特性,做一个简单的介绍。 JavaSE9中的Jigsaw项目来源与Oracle项目中一个非常出名的大项目。其实在Java7的版本开始就已经启动。 但是由于变动巨大被延期到JavaSE8,最终是随着17年9月份发布的JavaSE9一起发布。 Jigs...
路上有你0314 发布于 1天前 阅读 45

图解机器学习

警告:多图杀猫! 每当提到机器学习,大家总是被其中的各种各样的算法和方法搞晕,觉得无从下手。确实,机器学习的各种套路确实不少,但是如果掌握了正确的路径和方法,其实还是有迹可循的,这里我推荐SAS的Li Hui的这篇博客,讲述了如何选择机器学习的各种方法。 另外,Scikit-learn 也提供了一幅清晰的路线图给大家选择: 其实机器学习的基本算法都很简单,下面我们就利用二维数据和交互图形来看看机器学习中的一些基本算法以及它们的原理。(另外向Bret Victor致敬,他的 Inventing on principle 深深的影响了我) 所有的代码即演示可以在我的Codepen的这个Collection中找到。 首先,机器学习最大的分支的监督学习和无监督学习,简单说数据已经打好标签的是监督学习,而数据没有标签的是无监督学习。从大的分类上看,降维和聚类被划在无监督学习,回归和分类属于监督学习。 无监督学习 如果你的数据都没有标签,你可以选择花钱请人来标注你的数据,或者使用无监督学习的方法。 首先你可以考虑是否要对数据进行降维。 降维 降维顾名思义就是把高维度的数据变成为低维度。常见的降维方法有PCA, LDA, SVD等。 主成分分析 PCA 降维里最经典的方法是主成分分析PCA,也就是...
naughty 发布于 1天前 阅读 21

Apache下通过shell脚本提交网站404死链

网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名。   百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链、404页面)进行提交,可快速删除死链,帮助网站SEO优化。在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交。     1.配置Apache记录搜索引擎 Apache是目前网站建设最为主流的web服务,但是apache的日志文件默认是不记录百度、谷歌等各大搜索引擎的爬取程序的,所以首先需要我们设置Apache的配置文件。 找到Apache的配置文件httpd.conf,在配置文件中找到下面两行:   CustomLog "logs/access_log" common #CustomLog "logs/access_log" combined   默认采用的是common,这里我们只需要将common这一行前面加#注释掉,然后将combined这一行前的#去掉即可。然后保存重启Apache服务。 注:如果你的服务器上添加了多个站点,每个站点有单独的配置文件,则我们只需要在相应站点的配置文件中设置CustomLog项即可,例如:   vim /usr/local/apach...
GavinHsueh 发布于 1天前 阅读 163 评论 1

常见JS动画效果

作为一名前端开发人员,想要的大多都是,在开发过程中,看着自己制作的动画的炫酷以及困难的解决;开发结束后,自己的项目、成果可以被他人认可接受。人们浏览网页时,若一个网页动画效果丰富炫酷,性能良好,体验度良好,自然会受到吸引去打来浏览。吸引用户,自然少不了网页的布局优美、色彩搭配的恰当,更重要的是其中吸引人的炫酷动画效果。
爱敲代码的程序员 发布于 1天前 阅读 395 评论 1 点赞 2

可"重复"key的HashMap

碰到一些需求需要放入可重复key的HashMap,比如Excel需要报错的行号。 那么如果对象实现过hashCode方法和equals 那么放入到hashMap中会出现可能互相覆盖的情形。 原来你是这样的HashMap 正如这篇文章中的测试所说,互相覆盖。 那么就是IdentityHashMap出场的时候啦~ 首先了解一下Object的hashCode方法 /** * Returns a hash code value for the object. This method is * supported for the benefit of hash tables such as those provided by * {@link java.util.HashMap}. * <p> * The general contract of {@code hashCode} is: * <ul> * <li>Whenever it is invoked on the same object more than once during * an execution of a Java application, the {@code hashCode} method * must consistently return the same integer, provided no information * used in {@code equals} comparisons on the object is modified. * This integer need not remain consistent from one execution of an * application to another execution of the same application. * <li>If two objects are equal according to the {@code equals(Obje...
Mr_Qi 发布于 2天前 阅读 300 评论 2

SpringCloud(第 026 篇)简单异构系统之 nodejs 微服务

1、因为在后面要利用 SpringCloud 集成异构系统,所以才有了本章节的 nodejs 微服务; 2、本章节使用了最简单的 http 请求截取 url 的方式,截取不同 url 的后缀做不同的响应处理,简直 so easy;
HMILYYLIMH 发布于 2天前 阅读 209 评论 2

JavaScript 闭包

JavaScript 的闭包原理和详解
唯情 发布于 2天前 阅读 233 评论 4 点赞 5

Reactive Programming with Spring 5

Reactive Programming with Spring 5
hantsy 发布于 1个月前 阅读 255 点赞 2

Python NLP入门教程

本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。 ## 什么是NLP? 简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或服务。 这里讨论一些自然语言处理(NLP)的实际应用例子,如语音识别、语音翻译、理解完整的句子、理解匹配词的同义词,以及生成语法正确完整句子和段落。 这并不是NLP能做的所有事情。 ## NLP实现 **搜索引擎**: 比如谷歌,Yahoo等。谷歌搜索引擎知道你是一个技术人员,所以它显示与技术相关的结果; **社交网站推送**:比如Facebook News Feed。如果News Feed算法知道你的兴趣是自然语言处理,就会显示相关的广告和帖子。 **语音引擎**:比如Apple的Siri。 **垃圾邮件过滤**:如谷歌垃圾邮件过滤器。和普通垃圾邮件过滤不同,它通过了解邮件内容里面的的深层意义,来判断是不是垃圾邮件。 ## NLP库 下面是一些开源的自然语言处理库(NLP): * Natural language toolkit (NLTK); * Apache OpenNLP; * Stanford NLP suite; * Gate NLP library 其中自然语言工具包(NLTK)是最受欢迎的自然语言处理库(NLP),它是用Python编写的,而且背后有非常强大的社区支持...
j_hao104 发布于 2小时前 阅读 46 评论 1
qwfys

Java 9中的jinfo命令

``` [email protected] ~ $ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 09:34 ? 00:00:01 /sbin/init splash root 2 0 0 09:34 ? 00:00:00 [kthreadd] root 3 2 0 09:34 ? 00:00:00 [ksoftirqd/0] root 4 2 0 09:34 ? 00:00:00 [kworker/0:0] root 5 2 0 09:34 ? 00:00:00 [kworker/0:0H] root 7 2 0 09:34 ? 00:00:00 [rcu_sched] root 8 2 0 09:34 ? 00:00:00 [rcu_bh] root 9 2 0 09:34 ? 00:00:00 [migration/0] root 10 2 0 09:34 ? 00:00:00 [lru-add-drain] root 11 2 0 09:34 ? 00:00:00 [watchdog/0] root 12 2 0 09:34 ? 00:00:00 [cpuhp/0] root 13 2 0 09:34 ? 00:00:00 [cpuhp/1] root 14 2 0 09:34 ? 00:00:00 [watchdog/1] root 15 2 0 09:34 ? 00:00:00 [migration/1] root 16 2 0 09:34 ? 00:00:00 [ksoftirqd/1] root 18 2 0 09:34 ? 00:00:00 [kworker/1:0H] root 19 2 0 09:34 ? 00:00:00 [cpuhp/2] root 20 2 0 09:34 ? 00:00:00 [watchdog/2] root 21 2 0 09:34 ? 00:00:00 [migration/2] root 22 2 0 09:34 ? 00:00:00 [ksoftirqd/2] root 24 2 0 09:34 ? 00:00:00 [kworker/2:0H] root 25 2 0 09:34 ? 00:00:00 [cpuhp/3] root 26 2 0 09:34 ? ...
qwfys 发布于 4小时前 阅读 39

如何准备校招技术面试

2017 年互联网校招已近尾声,作为一个非 CS 专业的应届生,零 ACM 经验、零期刊论文发表,我通过自己的努力和准备,从找实习到校招一路运气不错,面试全部通过,谨以此文记录我的校招感悟。
brianway 发布于 2小时前 阅读 40 点赞 1

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

疯狂Activiti6.0连载(四)——流程引擎数据源配置

4 配置文件读取与数据源配置         本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         要点              掌握Activiti的配置文件读取方式              掌握Activiti的数据源配置 4.1流程引擎配置对象         ProcessEngineConfiguration对象代表一个Activiti流程引擎的全部配置,该类提供一系列创建ProcessEngineConfiguration实例的静态方法,这些方法用于读取和解析相应的配置文件,并返回ProcessEngineConfiguration的实例。除这些静态方法外,该类为其他可配置的引擎属性提供相应的setter和getter方法。本小节主要讲解如何使用这些静态方法创建ProcessEngineConfiguration实例。 4.1.1 读取默认的配置文件         ProcessEngineConfiguration的createProcessEngineConfigurationFromResourceDefault方法,使用Activiti默认的方式创建ProcessEngineConfiguration的实例。这里所说的默认方式,是指由Activiti决定读取配置文件的位置、文件的名称和配置bean的名称这些信息。Activiti默认到ClassPath下读取名为“activiti.cfg.xml”的Activiti配置文件,启动并获取名称为“processEngine...
杨大仙的程序世界 发布于 7小时前 阅读 25

Git版本回退

### 本地版本库回退 1. 运行`git log`或者`git reflog`命令查看回退版本号 2. 运行`git reset`命令进行版本回退 注意,版本号一般选取前几位,只要能唯一标志一个版本就可以。如果是回滚到上一个版本,可以简单使用以下命令: ``` git reset --hard HEAD^ ``` 其中,`HEAD`表示最新的版本库,而加上`^`就表示上一个版本库; ### 远程版本库回退 1. 先进行本地版本库回退 2. 运行`git push -f`强制推送到远程库 ### 参考资料 1\. [ 廖雪峰网站:版本回退 ](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000) 2\. [ 远程仓库版本回退方法 ](http://blog.csdn.net/fuchaosz/article/details/52170105)
wqli 发布于 14小时前 阅读 12

MyBatis使用总结

iBatis从3.x开始更名为MyBatis。除了Java以外,还有可用于.Net的Mybatis.Net 相关依赖包(maven) <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependency> 映射相关文件自动生成(mybatis-generator) iBatis提供了Abator用于生成映射相关文件。Mybatis可以用mybatis generator实现类似功能。 生成配置文件 mybatis默认使用的路径和文件名(无需配置):src/main/resources/generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!-- classPathEntry:数据库的JDBC驱动--> <classPathEntry location="target\assist\WEB-INF\lib\mysql-connector-java-5.1.32.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3"> ...
无语年华 发布于 3个月前 阅读 34 点赞 1

《Kotlin项目实战开发》 第3章 类型系统与可空类型

  第3章 类型系统与可空类型 跟Java、C和C ++ 一样, Kotlin也是“静态类型编程语言”。 通常,编程语言中的类型系统中定义了 1.      如何将数值和表达式归为不同的类型 2.     如何操作这些类型 3.     这些类型之间如何互相作用 我们在编程语言中使用类型的目的是为了让编译器能够确定类型所关联的对象需要分配多少空间。 在每一个编程语言中,都有一个特定的类型系统。静态类型在编译时期时,就能可靠地发现类型错误。因此通常能增进最终程序的可靠性。 类型系统在各种语言之间有非常大的不同,主要的差异存在于编译时期的语法,以及运行时期的操作实现方式。 本章我们简单介绍一下Kotlin的类型系统。 3.1 类型系统 我们知道在计算机中中,信息都是以01比特存储的,硬件无法区分存储器地址、脚本、字符、整数、以及浮点数。为了赋予01比特意义,于是有了类型。 3.1.1 类型系统的作用 使用类型系统,编译器可以检查无意义的、无效的、类型不匹配等错误代码。这也正是强类型语言能够提供更多的代码安全性保障的原因之一。 另外,静态类型检查还可以提供有用的信息给编译器。跟动态类型语言相比,由于有了类型的显式声明,静态类型的语言更加易读好懂...
东海陈光剑 发布于 14小时前 阅读 8
qwfys

Install Oracle JDK 9 in Ubuntu 16.04 LTS

# add repository ``` apt add-repository ppa:webupd8team/java ``` # update ``` apt update ``` # install ``` apt install oracle-java9* ```
qwfys 发布于 13小时前 阅读 8
梦朝思夕

你应该了解NewSQL:CockroachDB验证文档

## 方案八:CockroachDB cockroachdb是分布式、支持事务、支持SQL操作、K-V存储模式的数据库。CockroachDB的三位创始人全部来自Google,其架构受到Google的 Spanner和F1的启发,[cockroach开源地址](https://github.com/cockroachdb/cockroach/)。 ![输入图片说明](https://static.oschina.net/uploads/img/201709/27153626_oTyu.png "在这里输入图片标题") 具有: - 标准SQL接口, 使用PostgreSQL协议,支持标准SQL接口,兼容关系型数据库SQL生态; - 扩展能力强、高并发,支持类MPP并行查询框架; - 弹性扩容,持按需扩容, 自动负载均衡; - 多副本强一致,使用raft算法保证数据一致性; - 服务高可用,上去中心化,无SPOF; - 分布式事务,基于MVCC实现事务控制,支持SI和SSI两种隔离级别; [](http://wiki.baidu.com/pages/viewpage.action?pageId=279391634) ### 调研 #### 建表 ```SQL DROP TABLE IF EXISTS "tracks"; CREATE TABLE IF NOT EXISTS "tracks" ( "id" SERIAL PRIMARY KEY , "third_tracks_id" varchar(32) NOT NULL DEFAULT '' , "tracks_title" varchar(255) NOT NULL DEFAULT '' , "tracks_title_other" varchar(255) NOT NULL DEFAULT '', "tracks...
梦朝思夕 发布于 3小时前 阅读 8

centos7 firewall防火墙设置

[[email protected] /]$ firewall-cmd --zone=public --add-port=3306/tcp --permanent success [[email protected] /]$ firewall-cmd --reload systemctl stop firewalld.service #停止 systemctl disable firewalld.service #禁用 mysql安装后还要允许远程连接,其他服务器才能连接到本地的数据库。     mysql账户是否不允许远程连接。如果无法连接可以尝试以下方法:     mysql -u root -p    //登录MySQL      mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;     //任何远程主机都可以访问数据库      mysql> FLUSH PRIVILEGES;    //需要输入次命令使修改生效     mysql> EXIT    //退出     也可以通过修改表来实现远程:     mysql -u root -p     mysql> use mysql;      mysql> update user set host = '%' where user = 'root';      mysql> select host, user from user; 参考:http://blog.163.com/[email protected]/blog/static/86096191201541963521154/...
豆花饭烧土豆 发布于 10小时前 阅读 7

JavaScript 解析JSON 数据

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 JSON的规则很简单:** 对象是一个无序的“‘名称/值’对”集合**。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html 举个简单的例子: js 代码 ``` js function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); } ``` 这表示一个user对象,拥有username, age, info, address 等属性。 同样也可以用JSON来简单的修改数据,修改上面的例子 js 代码: ``` js function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "1234...
东风125 发布于 3天前 阅读 10

Vue.js学习笔记(1): 数据的双向绑定(ES6写法)

HelloWorld 动手写第一个Vue.js 应用 app.html: <div id="app"> <div>{{message}}</div> <input type="text" v-model="message"> </div> app.js: new Vue({ el:'#app', data: { message:'hello vue.js.' } }); 1. 声明式渲染 Vue允许你采用简洁的模板语法来声明式将数据渲染进Dom。 此时app.message会进行双向绑定,修改的同时也会改变Dom渲染。称为响应式元素。 除了声明式渲染,还可以使用v-bind指令来绑定数据。v-bind属性称为指令,指令带有前缀v-。以表示它是Vue.js提供的特殊属性 2. 创建Vue实例 在使用Vue.js之前,我们需要先像这样实例化一个Vue对象: new Vue({ el:'#app' }); 3. 双向数据绑定 就像HelloWorld展示的那样,app.html是view层,app.js是model层,通过vue.js(使用v-model这个指令)完成中间的底层逻辑,实现绑定的效果。改变其中的任何一层,另外一层都会改变 3. 插值 相信你也注意到了,通过{{value}}的形式就能取到value的值,并与value进行绑定。HelloWorld中改变input中的值时相应也改变了app.js中的message,从而{{message}}也得到改变。上面的代码改为这样: {{*message}} 则message不会随着数据的改变而更...
BrillantZhao 发布于 22小时前 阅读 6

HttpClient以及Json传递的一些坑

背景: 记录一下使用中关于HttpClient以及Json传递的坑。 HTTPS: 普通方式: public class Test { public static void main(String[] args) throws Exception { URI uri = new URIBuilder().setScheme("http").setHost("***:**") .setPath("/***/***").build(); HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost(uri); httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded"); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("params", "test")); HttpResponse httpResponse = httpClient.execute(httpPost); StatusLine httpStatus = httpResponse.getStatusLine(); HttpEntity httpEntity = httpResponse.getEntity(); System.out.println("httpStatusline: " + httpStatus); System.out.println("strEntity: " + EntityUtils.toString(httpEntity)); EntityUtils.consume(httpEntity); } } 这种适合普通的http的请...
Hosee 发布于 1周前 阅读 26

Android------底部导航栏BottomNavigationBar

Android 的底部导航栏 BottomNavigationBar 由Google官方Material design中增加的。 Android底部导航栏的实现方式特别多,例如TabHost,TabLayout,或者TextView等,都可以实现底部导航栏的效果。 但Google既然推出了还是可以尽量用他来实现底部导航栏这样的功能。 下来看看案例效果图                 使用添加依赖 compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0' 布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.zhangqie.bottomnavigationbar.MainActivity"> <FrameLayout android:id="@+id/fragment" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> <com.ashokvarma.bottomnavigation.BottomNavigationBar ...
切切歆语 发布于 4小时前 阅读 5

如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)

Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法。
CloudMAN 发布于 6小时前 阅读 5

webstorm激活

webstorm激活   //2017 03 27 http://idea.imsxm.com/ -------------------------------------------------------------------------------------------------------------   WebStorm 最新版本激活方式: 今天下载最新版本的WebStorm,发现原来的通过license server激活的方式,网上的已经失效。 找到一种最新的激活码,今天试了下,是有效的。记录下。 注册时,在打开的License Activation窗口中选择“activation code”,在输入框输入下面的注册码 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IkRQTiIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlJTMCIsInBhaWRVc...
yizhichao 发布于 3个月前 阅读 24

Linux 下集成开发环境 – PyCharm介绍

介绍 在这篇指南中,我将向你介绍一个集成开发环境 - PyCharm, 你可以在它上面使用 Python 编程语言开发专业应用。 Python 是一门优秀的编程语言,因为它真正实现了跨平台,用它开发的应用程序在 Windows、Linux 以及 Mac 系统上均可运行,无需重新编译任何代码。 PyCharm 是由 Jetbrains 开发的一个编辑器和调试器,Jetbrains 就是那个开发了 Resharper 的公司。不得不说,Resharper 是一个很优秀的工具,它被 Windows 开发者们用来重构代码,同时,它也使得 Windows 开发者们写 .NET 代码更加轻松。Resharper 的许多原则也被加入到了 PyCharm 专业版中。 如何安装 PyCharm 已经写了一篇关于如何获取 PyCharm 的指南,下载、解压文件,然后运行。 欢迎界面 当你第一次运行 PyCharm 或者关闭一个项目的时候,会出现一个屏幕,上面显示一系列近期项目。 你也会看到下面这些菜单选项: 创建新项目 打开项目 从版本控制仓库检出 还有一个配置设置选项,你可以通过它设置默认 Python 版本或者一些其他设置。 创建一个新项目 当你选择‘创建一个新项目’以后,它会提供下面这一系列可能的项目类型供你选择: Pure Python Django Flask Google App Engine Pyramid Web2Py Angu...
linuxprobe16 发布于 24小时前 阅读 4

常见算法基础题思路简析(四)-二分搜索篇

本文对和 **二分搜素** 有关的常见算法基础题思路分类进行分析和总结,并以 Java 为例,适当指出需要注意的编程细节
brianway 发布于 15小时前 阅读 4

Gradle 编译成功Apk以后, 对使用脚本对apk进行部分处理

遇到一个需求, 在打出apk以后, 需要使用x509对apk进行签名, 之前都是把apk copy到一个地方再签名, 很麻烦, 于是使用gradle做了一个自动化的命令 void signHisense() { println("sign >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") String rootPath = rootProject.projectDir.absolutePath; String targetPath = rootPath + "/tftest" File outputFile = new File(targetPath+ "/build/outputs/apk/tftest-debug.apk") String signPath = rootPath + "/kktv_sdk_manuf_hisense/ext/" String a = "java -jar " + signPath + "signapk.jar " + signPath + "platform.x509.pem " + signPath + "platform.pk8 " String signedPath = outputFile.absolutePath + ".signed.apk"; String cmd = a + outputFile.absolutePath + " " + signedPath; println("cmd:" + cmd) Process p = cmd.execute() p.waitFor() // File signedFile = new File(signedPath); // outputFile.delete(); // signedFile.renameTo(outputFile); } build.doLast { println "sign " + tv if (tv == "kktv_sdk_manuf_hisense") { signHisense()...
SuShine 发布于 4小时前 阅读 4

【码云周刊第 39 期】GVP 特辑(二):7 款 JAVA 程序开发“大杀器”

每周为您推送最有价值的开源技术内参!
技术前沿网码云 发布于 7天前 阅读 5990 评论 7 点赞 10
编辑部的故事

可能是国内最火的开源项目 —— C/C++ 篇

推荐阅读: 可能是最火的开源项目 —— Java 篇 可能是国内最火的开源项目 —— PHP 篇 可能是国内最火的开源项目 —— Python 篇 截止目前技术前沿网收录了 44513 款开源项目,囊括了最热门的各类开源项目,而软件的评分在一定程度上代表了软件的质量和热度,而 C 和 C++ 语言作为最基础的语言,在各类编程语言排行榜中高居不下,因此本文整理了 C/C++ 语言中评分最高并且收藏量超过 100 的几款项目,以供开发者选择和交流,排名如下: 高性能 TCP/UDP/HTTP 通信框架 HP-Socket 评分:9.8,收藏:1404  HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示...
编辑部的故事 发布于 4天前 阅读 5556 评论 11 点赞 8

Java平台,标准版Oracle JDK 9中的新功能

Java平台,标准版 Oracle JDK 9中的新增功能 版本9 E77563-05 2017年9月   JDK 9中的新功能概述 Java Platform,Standard Edition 9是一个主要的功能版本。以下总结了Java SE 9和JDK 9的特点和增强功能,Oracle 对于 Java SE 9的实现。 JDK增强提案(JEP)是对JDK设计和实施非常重要更改的提案。参阅JEP 1:JDK增强提案和路线图流程。Java规范请求(JSR)描述了Java平台的建议和最终规范。请参阅JSR概述。   JDK 9中的重要变化 这些变化影响了多个技术领域。 特征 描述 Java平台模块系统 推出了一种新的Java编程组件--模块,是一个指定的,自描述代码和数据的集合。 模块系统: 引入一个新可选阶段,link time,它在编译和运行时之间,在此期间,可以将一组模块组合并且优化到一个自定义的运行时映像中;在 Java Platform, Standard Edition Tools Reference 中查看 jlink 工具。 添加选项到工具javac,jlink和java,可以指定模块路径在哪里,哪一个定义模块的定位。 引入模块化JAR文件,它是一个在根目录下包含module-info.class的JAR文件。 推出JMOD格式,它是一种类似于JAR的打包格式,除了它可以包含原生代码和配置文件外; 参见jmod工具。 JDK本身已经被分为一组模...
GuoMengYue 发布于 7天前 阅读 5985 评论 25 点赞 14

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

疯狂Activiti6.0连载(一)———Activiti介绍

                                            1 Activiti介绍         在计算机尚未普及时,许多工作流程采用手工传递纸张表单的方式,一级一级审批签字,工作效率非常低下,对于数据统计以及生成报表的功能,需要经过大量的手工操作才能实现。随着电脑的普及,这些工作的参与者只需要在电脑的系统中填入工作内容,系统就会按照定义好的流程自动执行,各级审批者可以得到工作的信息并作出相应的审批和管理操作,数据统计和报表的生成均由系统代为完成,这样大大提高了工作效率,在这种背景下,各种的工作流应用以及中间件应运而生。         工作流应用在日常工作中的应用越来越广泛,JavaEE领域出现了许多优秀的工作流引擎,例如JBoss社区的jBPM、OpenSymphony的OSWorkflow等,在2010年5月17日,以Tom Baeyens为首的工作流小组发布了一个全新的工作流引擎——Activiti,该工作流引擎的第一个版本为5.0alpha1,由于Tom Baeyens是jBPM的创始人(由于意见分歧离开JBoss),因此Activiti的团队希望该流程引擎是jBPM4的延伸,希望在jBPM中积累的经验和知识的基础上,继续进行新一代工作流解决方案的建设,因此将...
杨大仙的程序世界 发布于 5天前 阅读 2420 评论 26 点赞 8

SpringCloud(第 018 篇)Zuul 服务 API 网关微服务之代理与反向代理

1、API 服务网关顾名思义就是统一入口,类似 nginx、F5 等功能一样,统一代理控制请求入口,弱化各个微服务被客户端记忆功能; 2、本章节主要讲解了使用 zuul 的代理功能与反向代理功能,当然 zuul 还有很多属性设置,我就没一一列举所有的测试方法了; 3、http://localhost:8150/routes 地址可以查看该zuul微服务网关代理了多少微服务的serviceId;
HMILYYLIMH 发布于 5天前 阅读 1789 评论 7 点赞 2
编辑部的故事

可能是最火的开源项目 —— Java 篇

很多开发者在看到自己感兴趣的项目时会使用 Star 功能,可以说 Star 的数量在一定程度上代表了开源项目的热门程度,本文整理了 Java 语言中 star 数最多的十五款开源项目,这些项目在 GitHub 上的 star 数均超过 15000,排名如下: Rx 的 Java 实现 RxJava star:26782;fork:4718 .Net响应式编程框架 Rx 的Java版本开源实现,有Groovy, Clojure, Scala and JRuby版本的实现。 分布式搜索引擎 ElasticSearch star:24646;fork:8723 Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决越来越多的用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。这个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。           REST 客户端 Retrofit star:23443;fork:4731 retrofit 是一个类型安全的 REST 客户端,用于 Android 平台。 RestAdapter restAdapter = new RestAdapter.Builder() .setServer("https://api.github.com") .build(); GitHubService service = restAdapter.create(GitHubService.class); HTTP+SPDY 客户端开发包 okhttp star:2...
编辑部的故事 发布于 1个月前 阅读 21387 评论 30 点赞 26

说说码云为什么要做封面人物?

昨天我们上线了码云封面人物的栏目,多数人叫好,但也有不少人唱衰。当然你推出任何东西都会有各种评论,这很正常,我们也习以为常。但是还是想说一说我们推出这个栏目的初衷。 码云作为一个平台,在这个平台上的项目和人的成功,才是平台的成功。 所以呢,我们的运营思路有两方面: 1. 推广项目 技术前沿网一直在致力于开源项目的推广,在码云上我们会对好的开源项目进行推荐和分类,方便用户找到这些项目。此外我们上个月刚刚推出的 GVP 计划,就是为了发掘更多有价值的开源项目。 2. 推广人 也就是这次封面人物的目的。互联网让人与人之间的关系越来越淡漠,每个躲在屏幕前的 ID 其实都是一个个活生生的人。因为物理的隔阂,以及身份的隐秘,使得不少人在网上肆无忌惮,喷别人,被别人喷。久而久之,大家就厌恶了这种网络人际关系,然后氛围越来越差。  其实回到真实生活中,大家不会那么的狂躁。举个例子,@宏哥 以语不惊人死不休的特质闻名于 OSC 好几年,到现在也还是这样。但是鄙人在线下与 @宏哥 会面多次,这其实是一个非常 Nice 的人,技术很牛,对人温文尔雅,沟通非常顺畅,虽然长得有点对不起观众。 码云封面人物这个栏目的初衷就是为了展示真实的程序员风采,...
红薯 发布于 3天前 阅读 1578 评论 69 点赞 5

Java9新特性——module模块系统

官方文档:https://docs.oracle.com/javase/9/index.html 关于 java9的新特性,官方原文:https://docs.oracle.com/javase/9/whatsnew/toc.htm 这玩意就是一个列表,具体的技术细节需要根据官方文档挖一挖。 modular-模块系统 --- java9的模块化,从一个独立的开源项目而来,名为Jigsaw。 项目官网:http://openjdk.java.net/projects/jigsaw/ ### 为什么要使用模块化 java开发者都知道,使用java开发应用程序都会遇到一个问题,Jar hell,他就像windows里的dll hell。 比如我们启动一个不算大的应用,但依赖了很多的jar,如下图: ![输入图片说明](https://static.oschina.net/uploads/img/201709/26094041_w0RP.png "在这里输入图片标题") 摘自:Mark Reinhold的演讲 https://www.youtube.com/watch?v=l1s7R85GF1A 这是很常见的。虽然你可以使用 "java -Djava.ext.dirs=lib xxx" 让命令行小一些,但不可否认,他的classpath就是那么长。顺便说一句,java9中不允许使用extdirs了。 另一方面,jdk本身有很多的api: ![输入图片说明](https://static.oschina.net/uploads/img/201709/26094131_JZAh.png "在这里输入图片标题") 对于一些小设备,它太庞大了。 ### helloworld...
polly 发布于 3天前 阅读 4872 评论 33 点赞 22 打赏 1

Java9之Jshell入门

jshell 在学习JSHELL之前确保,已经安装过jdk9,可以参阅Java9安装。 为什么要学Jshell 学习Jshell需要知道他的特性, Read-Eval-Print-Loop (REPL) 交互式解释器(REPL)既可以作为一个独立的程序运行, 也可以很容易地包含在其他程序中作为整体程序的一部分使用。 REPL为运行Java脚本与查看运行结果提供了一种交互方式, 通常REPL交互方式可以用于调试、测试以及试验某种想法。 开始使用 切换jdk环境 检查环境 切换到Jshell环境 Hello World 命令 输入-help 进行查看,会展示出Jshell所支持的命令 /history,查看在Jshell输入的的所有指令(不管正确与否) /list,列出所有你输入过的Java源代码(非命令相关) 也可以根据id进行查询 上图列出了我历史操作的一些与Jshell交互的Java代码命令。 根据ID查看Java命令并执行。 /exit ,退出Jshell命令行 /edit,根据id修改曾经输入过的Java代码,一般配合/list进行使用 利用List命令查找你要修改代码的Id。 输入你要更改代码的Id,回车确认。 回车后出来如下页面。 将Java代码修改为你想要的结果,点击Accept进行保存和执行,出现如下图所示结果。默认不会自动退出,需要手动exit。 重新查看list,发现多出一个修改过的历史。 /drop 删...
路上有你0314 发布于 4天前 阅读 720 评论 4 点赞 4
编辑部的故事

可能是国内最火的开源项目 —— Python 篇

推荐阅读: 可能是最火的开源项目 —— Java 篇 可能是国内最火的开源项目 —— PHP 篇 截止目前技术前沿网收录了 44478 款开源项目,囊括了最热门的各类开源项目,而软件的评分在一定程度上代表了软件的质量和热度,而 Python 语言近年来发展势头一路攀升,因此本文整理了 Python 语言中评分超过 8.0 分的几款项目,并附上评分和收藏量,以供开发者选择和交流,排名如下: 开源 ERP 系统 GoodERP 评分:8.7,收藏:74 GOODERP是一个开源ERP项目,软件采用agpl协议,版权归代码提交者所有,项目范围是一组功能模块,包括财务加进销存的核心模块及满足行业特殊需求的模块,这些模块都以openobject8.0为平台开发,模块全部放在 osbzr/gooderp mater分支的根目录下,每个模块一个目录,参照 ys 的功能菜单和输出布局重新设计。 Go 运行 Python Grumpy 评分:8.6,收藏:85 Grumpy 是一个 Python to Go 源代码翻译编译器和运行时,旨在替代 CPython 2.7。 关键的区别是它将 Python 源代码编译为 Go 源代码,然后将其编译为本机代码,而不是字节码。这意味着 Grumpy 没有 VM。编译的 Go 源代码是对 Grumpy 运行时的一系列调用,Go 库服务与 Python C API 类似的目的(尽管不直...
编辑部的故事 发布于 2周前 阅读 7608 评论 9 点赞 12 打赏 1
编辑部的故事

【软件周刊第 47 期】Java 9 和 Swift 4 正式发布;PostgreSQL 10 发布首个候选版

软件周刊(09.17 — 09.23):本周热门软件更新 — 国内自主物联网操作系统 RT-Thread 3.0 发布;zbus 0.9.0 新版发布,MQ、RPC、微服务总线;Apollo 1.5.0 发布,百度开源的自动驾驶平台;Sharding-JDBC 1.5.4 发布,1.x 系列的最终版本;Gitlab 10.0 发布,代码托管平台
编辑部的故事 发布于 6天前 阅读 1743 评论 1
编辑部的故事

可能是国内最火的开源项目 —— PHP 篇

推荐阅读:可能是最火的开源项目 —— Java 篇 很多开发者在看到自己感兴趣的项目时会使用 Star 功能,可以说 Star 的数量在一定程度上代表了开源项目的热门程度,本文整理了 PHP 语言中 star 数最多的十款开源项目,这些项目在 Gitee 上的 star 数均超过 600,排名如下: 轻量级PHP后台接口开发框架 PhalApi  star:1007, fork:343 PhalApi是一个PHP轻量级后台接口开发框架。在iOS、Android、Windows Phone、PC版、Web版等各种终端和各种垂直应用不停更新迭代的大背景下,显然很是需要一组乃至一系列稳定的后台接口支撑。 所以,这里希望通过提供一个快速可用的后台接口开发框架,可以: 一来,支撑各业务场景下接口开发; 二来,阐明如何进行接口开发、设计和维护,以很好支持海量访问、大数据、向前向后兼容等; 三来,顺便分享一些好的思想、技巧和有用的工具、最佳实践。 如果您有接口项目开发的需要,又刚好需要一个PHP接口框架,欢迎使用! 我们也争取致力于将我们的PhalApi维护成像恒星一样:不断更新,保持生气;为接口负责,为开源负责! 基于Yii的协同办公管理系统 IBOS star:808, fork:513 IBOS 是一个基于PHP开发,Yii框架的,开源的,快速、高效的协...
编辑部的故事 发布于 3周前 阅读 7750 评论 24 点赞 12
编辑部的故事

给 Web 开发人员推荐的文档生成工具

工欲善其事必先利其器,在此给 Web 开发人员推荐几款优秀的开源文档生成工具,希望能对大家有所帮助。 1、JavaScript JSDoc 3 这是一款根据 Javascript 文件中注释信息,生成 JavaScript 应用、库、模块的 API 文档的工具。你可以使用它记录如:命名空间、类、方法、方法参数等。该项目还衍生出了许多模板和其他工具来帮助生成和自定义文档,比如: 模板 jaguarjs-jsdoc DocStrap (example) jsdoc3Template (example) minami docdash (example) tui-jsdoc-template (example) 构建工具 JSDoc Grunt plugin JSDoc Gulp plugin 其它工具 jsdoc-to-markdown Integrating GitBook with JSDoc ESDoc 一个 JavaScript 文档生成器,按照规范编写代码注释,即可生成友好的 JavaScript 代码文档。它可以将测试代码和用户手册一并集成到文档中,支持通过插件添加自定义功能。 Demo 2、API apiDoc 这是一款 RESTful Web API 文档生成工具,一个在注释里边编写 API 文档的小工具。有了它,只需在写源码的时候顺手写上一些简单的注释,就可以生成出漂亮的文档了。项目支持大部分主流语言,注释维护起来也比较方便,不需要额外再维护一份文档。 Demo GraphQL Voyager 这是一款将任意 ...
编辑部的故事 发布于 1周前 阅读 4916 评论 4 点赞 11 打赏 1

【码云周刊第 38 期】GVP 特辑(一):6款 Java WEB应用开发工具

每周为您推送最有价值的开源技术内参!
技术前沿网码云 发布于 2周前 阅读 3465 评论 5 点赞 8

java多线程——并发测试

并发程序存在不确定性,出现的方式也没有固定规则。这对程序的应用会造成一些困难,如何在测试中,尽可能的暴露出这些问题,并且了解其性能瓶颈,这也是对开发者带来新的挑战。
wier 发布于 3天前 阅读 754 点赞 4

疯狂Activiti6.0连载(二)———下载和运行Activiti

                                                2 安装与运行Activiti     要点          安装JDK与MySQL          安装Eclipse以及Activiti插件          运行官方的Activiti例子         Activiti的第一个正式版本发布于2010年12月1日,经过多年的发展,Activiti已经成为一个较为成熟的工作流引擎,作为一个开源的工作流引擎,它在工作流领域吸引了众多开发者的目光,在当前的工作流框架角逐中,慢慢成为众多企业的首选。在2017年5月26日,Activiti迎来全新篇章:6.0版本正式发布。本书将以6.0版本为基础,讲解基于Activiti的工作流应用开发。         本章将介绍Activiti的安装与运行、Activiti开发环境的搭建等内容,本书除了最后一章的项目案例外,其他所有的案例均以本章的开发环境为基础。搭建Activiti的开发环境,需要安装JDK、Eclipse、MySQL等软件,除此之外,还会编写第一个Activiti应用,让大家对Activiti有一个初步的了解。         注:本书全部的案例均在Windows7下开发和运行。                             ...
杨大仙的程序世界 发布于 4天前 阅读 403 评论 3

springboot 入门教程(6)--- 整合Spring data JPA实现CRUD(附源码)

前面整合ssm的时候就说要写一个整合jpa的,周末有点空就写下,时间短写得不是特别好,代码有点不规范,注释也没怎么写,将就了哈。
pxk 发布于 5天前 阅读 334 点赞 1

当web前端架构方案遇上《金瓶梅》?!

![图片描述][1] 首先声明,我**不是标题党**,你可以说我是老司机,但是这次绝对不会把你带沟里去,关于技术类的文章千篇一律,估计早就看烦了,不妨细细品味这篇文章,带你认识一个不一样的web前端世界,文章主要结合金瓶梅中的人物属性和web前端架构的模块划分关系,分享一个关于我对web前端架构的一点点别致的看法,如果能耐心的看完,对你构建复杂的web应用一定有所收获,当然,有讲的不好的地方,也希望各路大神多多指点,废话不多说,上正文。 大家知道《金瓶梅》中几个重要角色:`武大郎`,`潘金莲`,`西门庆`,`武松`,`王婆`。在故事情节中,各种角色扮演起到不同的作用,互相关联,将故事情节紧密联系在一起,这样的情节构造堪称经典,已然成为经典,而在构建复杂的web前端应用时候,也需要一些模块互相作用,构造一个完整的系统。 **潘金莲(插件)**:我觉得这个比喻再合适不过了,如果这里你只看到公用性,那你就想简单了,潘金莲除了公用性,还有美,没错,插件不仅要有公用性,还要美。这里的美是指代码的简洁,轻量,高维护,对于一个复杂的项目来说,往往会对插件有些特殊的要求,在使用插件的时候,你必须对插件有较深入的了解,确保你能驾驭她,当然在必...
馒头 发布于 4天前 阅读 312 评论 2 点赞 1

记录一次通过性能日志处理线上性能问题的过程

       在项目发展初期,可能由于数据量和用户访问量的原因,系统不会出现性能问题,但是随着项目发展,数据量发生具体变化,系统访问量也不断增多,此时对代码的优化就显得迫在眉睫。本文首先讲解如何使用perf4j和aop定期的完成相关日志的统计,其次讲解了如何使用ThreadLocal变量记录一个请求从开始到结束过程中所产生的调用链,并且记录相关方法的调用时间,最后将演示如何使用shell脚本对生成的日志文件进行处理,并生成性能统计报告。        perf4j是一种日志统计工具,其不仅可以进行日志的实时统计,也可以进行定时汇总统计。实时统计主要是记录项目运行过程中的一些消息日志,以便后续排查问题;而定时汇总统计则可用于对方法调用时间进行汇总,并且perf4j能够进行计算每个时间间隔内所有方法的最小调用时间,最大调用时间,平均调用时间,调用次数以及调用方差。这里主要讲解如何使用perf4j进行定时时间统计,如下是在log4j.xml中对service方法进行时间统计的配置: ```xml ```        这里name属性用于指定log的名称,其与代码中LogFactory.getLog(name)中的name对应,level表示打印info及以上级别的日志,appender-ref则配置了日志的相关...
爱宝贝丶 发布于 4天前 阅读 306 评论 1 点赞 2

疯狂Spring Cloud连载(三)———Spring Boot简介与配置

                                            3 Spring Boot简介与配置         本书代码共享地址:https://gitee.com/yangenxiong/SpringCloud         本章要点              Spring Boot简介              Spring Boot使用                                                 3.1 Spring Boot         Spring Cloud基于Spring Boot搭建,本小节将对Spring Boot作一个大致的讲解,读者知道Spring Boot作用即可。 3.1.1 Spring Boot简介         开发一个全新的项目,需要先进行开发环境的搭建,例如要确定技术框架以及版本,还要考虑各个框架之间的版本兼容问题,完成这些繁琐的工作后,还要对新项目进行配置,测试能否正常运行,最后才将搭建好的环境提交给项目组的其他成员使用。经常出现的情形是,表面上已经成功运行,但部分项目组成员仍然无法运行,项目初期浪费大量的时间做这些工作,几乎每个项目都会投入部分工作量来做这些固定的事情。         受Ruby On Rails、Node.js等技术的影响,JavaE...
杨大仙的程序世界 发布于 4天前 阅读 301 评论 3 点赞 2

python生成url二维码

  需要安装1.images 2.qrcode pip install images     pip install qrcode import qrcode qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data('http://xiaorui.cc') qr.make(fit=True) img = qr.make_image() #保存图片 img.save("test.png") 参考:http://rfyiamcool.blog.51cto.com/1030776/1400865 http://blog.csdn.net/yybmec/article/details/43568013...
梦幻柒仔 发布于 27分钟前

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

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

nginx做反向代理

## 配置被代理的服务器 配置两个服务器,同时分别取名为ms-cc和mine ``` http{ upstream ms-cc { server 10.74.148.169:28001; #server 10.43.33.38:28001; } upstream mine { server 10.74.65.21:9595; #配置两个可以访问的地址 } } ``` ## 设置转发规则 ``` http{ server { listen 80; server_name localhost; location / { if ($uri ~ ^/aaa/bbb/) { rewrite ^/aaa/bbb/(.*)$ /$1; proxy_pass http://mine; #一部分使用http的协议转发 break; } proxy_pass https://ms-cc; #一部分使用https的协议进行转发 break; } } } ``` ## 访问 注意:做完以上的设置必须要重启nginx服务器 使用 http://localhost:80/ 即可访问,如果 http://localhost:80/aaa/bbb/ 开头的请求就会自然而然的转发到mine的服务器上,其他的则将由ms-cc进行处理...
_Rui_ 发布于 39分钟前

mysql的数据类型int、bigint、smallint 和 tinyint取值范围

使用整数数据的精确数字数据类型。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。 smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。 tinyint 从 0 到 255 的整型数据。存储大小为 1 字节。 注释 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。 在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。...
botkenni 发布于 48分钟前

Revive开发商加入VR开源标准OpenXR

Revive开发商加入VR开源标准OpenXR
linuxprobe16 发布于 48分钟前

mysql5.7正确安装步骤

mysql5.7容易安装失败记录 服务器版本 cetons 6.9 空机器安装,机器上没有安装mysql。使用yum安装方式 第一次安装(结果失败) step1 下载mysql 安装仓库(MySQL Yum Repository) 地址:https://dev.mysql.com/downloads/repo/yum/ 使用wget下载 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm step 2 安装mysql yum repository rpm -Uvh localinstall mysql57-community-release-el7-11.noarch.rpm step 3 安装mysql community server sudo yum install mysql-community-server 此时报错,预示安装失败 失败原因是mysql的安装包的系统版本和操作系统不对应,若是 cetons 7 则可以安装成功 第二次安装(结果成功) 由于当时服务器无法连接到mysql的网站,于是我下载mysql的包,然后在上传到服务器上进行安装 下载的是mysql全量包 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar 下载完成之后解压,解压之后出现如下文件 mysql-community-client-5.7.19-1.el6.x86_64.rpm mysql-community-common-5.7.19-1.el6.x86_64.rpm mysql-community-devel-5.7.19-1.el6.x86_64.rpm mysql-comm...
linncheung 发布于 58分钟前

数据结构教案

``` 潍 坊 学 院 教 案 课 题 绪论 课 时 2 教学目的 与 要 求 1.熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构间的关系。 2.了解抽象数据类型的定义、表示和实现方法。 3.熟悉类C语言的书写规范。 教学重点 与 难 点 重点:数据、数据元素、数据对象、数据结构、存储结构和抽象数据类型等概念术语的确切含义; 难点:理解什么是数据结构,另外存储结构也是个难点。 教 学 过 程 主 要 内 容 及 步 骤 备 注 授课形式:多媒体 一、介绍学好《数据结构》的意义及方法,激发同学的学习兴趣。 另外简要介绍《数据结构》课程的发展背景及新的发展和研究方向。 二、引入新内容 1.1 什么是数据结构 以多个例子引入数据结构的概念: 图书馆的书目检索系统自动化问题——线性表 计算机和人对奕问题——树 多叉路口交通灯的管理问题——图 问题引发学生兴趣,用图示加深学生理解和记忆,最后给出简洁明确的总结、定义。 1.2 基本概念和术语 数据、数据元素、数据对象、数据结构、存储类型、数据类型等。 对于几种基本数据结构、存储结构等概念在课件中要给出形象的图示,便于学生理解。 1.3 抽象数据类型的表示与实现 三、小结 四、课后作业: 习题1.1 简述...
vga 发布于 1小时前

tomcat 连接池

<bean class="org.apache.tomcat.jdbc.pool.PoolProperties"> <property name="url" value="${jdbcUrl}"/> <!--数据库驱动--> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <!--用户名--> <property name="username" value="mysql"/> <!--密码--> <property name="password" value="123456"/> <!--注册池JMX,默认:true--> <property name="jmxEnabled" value="false"/> <!--检查连接死活的时间间隔,单位:毫秒--> <property name="validationInterval" value="30000"/> <!--指定连接进入空闲状态时是否经过空闲对象驱逐进程的校验,如果校验未通过,则该连接被连接池断掉 值为true,则validationQuery参数必须为一个非空字串----> <property name="testWhileIdle" value="false"/> <!--指定连接返回到池中是时是否经过校验 值为true,则validationQuery参数必须为一个非空字串----> <property name="testOnReturn" value="false"/> <!--指定连接被调用时是否经过校验,如果校验未通过,则该连接被连接池断掉,并由连接池尝试调用另一个连接 值为true,则validationQ...
夜黑人模糊灬 发布于 1小时前 阅读 1

[日推荐]『旅行翻译』不懂外语也能走遍天下!

![](http://upload-images.jianshu.io/upload_images/5615783-39b2b4608d4799b6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 难得的国庆&中秋长假,国内旅游人太多,不如出国玩玩,但是,不懂外语怎么办?没关系,这个[小程序](http://www.wxapp-union.com/)来帮你—— # [**旅行翻译**](http://store.dreawer.com/wxapp/lv-xing-fan-yi.html) ![](http://image.dreawer.com/images/app/2017-03-03_58b93432075ff.jpg) >简介:旅行翻译是能为用户提供便捷的翻译功能小程序应用,旅行翻译界面简洁使用方便,是旅游出行的最佳选择。 ![](http://upload-images.jianshu.io/upload_images/5615783-51f2a5b8f2e6bba9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![](http://upload-images.jianshu.io/upload_images/5615783-11cbe8ed46c11932.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) >旅行翻译小程序用法简单明了,输入你想表达的内容即可翻译成你以选择的语种。如果需要切换语种就点击旅行翻译小程序右上角的“中译英”文字样式即可切换翻译语种。你还可以将翻译过的内容收藏起来,这样在下次遇到时就可以省去输入环节直接使用了...
小程序社区 发布于 2小时前 阅读 2

Flux学习笔记1:为何我们需要Flux

Flux
透笔度 发布于 2小时前 阅读 2

AlertDialog源码简析

// 部分代码省略 /** * Dialog父类 */ public class Dialog { public void show() { // ... 省略代码 if (!mCreated) { dispatchOnCreate(null); // onCreat、View相关代码 } else { final Configuration config = mContext.getResources().getConfiguration(); mWindow.getDecorView().dispatchConfigurationChanged(config); } onStart(); // onStart 方法 mDecor = mWindow.getDecorView(); WindowManager.LayoutParams l = mWindow.getAttributes(); if ((l.softInputMode & WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION) == 0) { WindowManager.LayoutParams nl = new WindowManager.LayoutParams(); nl.copyFrom(l); nl.softInputMode |= WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION; l = nl; } mWindowManager.addView(mDecor, l); // 将mDecor显示到屏幕上 mShowing = true;...
t_yapeng 发布于 2小时前 阅读 1

Excel控件Spire.XLS for .NET V7.12.90发布 | 支持向工作表添加形状

Excel控件Spire.XLS 更新至7.12.90,支持向工作表添加形状。
可乐瓶的小辣椒 发布于 2小时前 阅读 1

go 入门学习笔记之notepad++支持 (二)

提示: 可以右击图片 选择 在 新标签页中打开图片查看高清图片
痞子汤 发布于 2小时前 阅读 2

如何准备校招技术面试

2017 年互联网校招已近尾声,作为一个非 CS 专业的应届生,零 ACM 经验、零期刊论文发表,我通过自己的努力和准备,从找实习到校招一路运气不错,面试全部通过,谨以此文记录我的校招感悟。
brianway 发布于 2小时前 阅读 40 点赞 1

java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatterBuilder.appendFixedDecimal

Root cause of ServletException. org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatterBuilder.appendFixedDecimal(Lorg/joda/time/DateTimeFieldType;I)Lorg/joda/time/format/DateTimeFormatterBuilder;
郑加威 发布于 2小时前 阅读 2

Python NLP入门教程

本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。 ## 什么是NLP? 简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或服务。 这里讨论一些自然语言处理(NLP)的实际应用例子,如语音识别、语音翻译、理解完整的句子、理解匹配词的同义词,以及生成语法正确完整句子和段落。 这并不是NLP能做的所有事情。 ## NLP实现 **搜索引擎**: 比如谷歌,Yahoo等。谷歌搜索引擎知道你是一个技术人员,所以它显示与技术相关的结果; **社交网站推送**:比如Facebook News Feed。如果News Feed算法知道你的兴趣是自然语言处理,就会显示相关的广告和帖子。 **语音引擎**:比如Apple的Siri。 **垃圾邮件过滤**:如谷歌垃圾邮件过滤器。和普通垃圾邮件过滤不同,它通过了解邮件内容里面的的深层意义,来判断是不是垃圾邮件。 ## NLP库 下面是一些开源的自然语言处理库(NLP): * Natural language toolkit (NLTK); * Apache OpenNLP; * Stanford NLP suite; * Gate NLP library 其中自然语言工具包(NLTK)是最受欢迎的自然语言处理库(NLP),它是用Python编写的,而且背后有非常强大的社区支持...
j_hao104 发布于 2小时前 阅读 46 评论 1

VueScroller滚动到指定的位置

vueScroller滚动到页面指定位置。 <div class="scheduling-scroll"> <scroller ref="my_scroller" heigth="100%"> <section v-for="(item,index) in scheduledDate" :key="index"> <div v-if="!getNowTime(item.hrScheduleDate)"> <p>{{item.hrScheduleDate | getDay}}</p> <p>{{item.hrScheduleDate | getWeek}}</p> </div> <div id="toDay" style="position:relative" v-if="getNowTime(item.hrScheduleDate)"> <p></p> <p style="margin-top: 16px; color: red; font-size: 30px;">{{item.hrScheduleDate | getDay}}</p> </div> <div> <p v-for="items in item.detailList"> <span>{{items.hrScheduleType}}</span> <span>{{items.hrScheduleStartTime}}-</span> <span>{{items.hrScheduleEndTime}}</span> </p> </div> </section> </scroller> </div> setTimeout(() => { if (document.getElementById('toDay')) { let container = document.getElementById('toDay').offsetTop; let x = this.$refs.my_scroller.scrollTo...
BigGod 发布于 2小时前 阅读 2

spark streaming容错机制

receiver容错 spark streaming从1.2开始提供了数据的零丢失,想享受这个特性,需要满足如下条件: 1.数据输入需要可靠的sources和可靠的receivers 2.应用metadata必须通过应用driver checkpoint 3.WAL(write ahead log) 可靠的sources和receivers spark streaming可以通过多种方式作为数据sources(包括kafka),输入数据通过receivers接收,通过replication存储于spark中(为了faultolerance,默认复制到两个spark executors),如果数据复制完成,receivers可以知道(例如kafka中更新offsets到zookeeper中)。这样当receivers在接收数据过程中crash掉,不会有数据丢失,receivers没有复制的数据,当receiver恢复后重新接收。 checkpoint Spark Streaming 会 checkpoint 两种类型的数据。 Metadata(元数据) checkpointing - 保存定义了 Streaming 计算逻辑至类似 HDFS 的支持容错的存储系统。用来恢复 driver,元数据包括: 配置 - 用于创建该 streaming application 的所有配置 DStream 操作 - DStream 一些列的操作 未完成的 batches - 那些提交了 job 但尚未执行或未完成的 batches Data checkpointing - 保存已生成的RDDs至可靠的存储。这在某些 stateful 转换中是...
张欢19933 发布于 2小时前 阅读 1

CentOS下安装JDK、Tomcat

jdk,tomcat
夜华-Q 发布于 2小时前 阅读 3

Mongo Java操作:按时间Group By

Mongo的Java API对于初学者来说真心不好用,基本操作还好,对于一些复杂的点的语法,很容易让人懵圈。 官网JAVA API的使用示例: http://mongodb.github.io/mongo-java-driver/3.2/driver/reference/crud/   跟时间操作相关的函数: $dayOfYear: 返回该日期是这一年的第几天。(全年366天) $dayOfMonth: 返回该日期是这一个月的第几天。(1到31) $dayOfWeek: 返回的是这个周的星期几。(1:星期日,7:星期六) $year: 返回该日期的年份部分 $month: 返回该日期的月份部分(between 1 and 12.) $week: 返回该日期是所在年的第几个星期(between 0 and 53) $hour: 返回该日期的小时部分 $minute: 返回该日期的分钟部分 $second: 返回该日期的秒部分(以0到59之间的数字形式返回日期的第二部分,但可以是60来计算闰秒。) $millisecond:返回该日期的毫秒部分(between 0 and 999.) $dateToString: { $dateToString: { format: <formatString>, date: <dateExpression> } } 假设有如下的mongo集合: > db.newAreaDayInfo.findOne() { "_id" : ObjectId("57e9638844f50a0da4c0c128"), "id1" : "10001", "id2" : "20001", "areaI...
jeremyli90 发布于 2小时前 阅读 3

浅谈两个相互引用的对象是否会被GC回收

两个相互引用的对象会被GC垃圾回收吗?答案应该是不会!只要对象、属性等存在被引用,GC都会过滤掉的,不会被回收。笔者就简单谈一谈其中的原理吧。 判断对象是否存活,可以考虑以下方法。 1、引用计数算法 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1。 当引用失效时,计数器值就减1。 任何时刻计数器为0的对象就是不可能再被使用的。 但是主流的java虚拟机没有采用引用计数算法,其中最主要的原因就是它很难解决对象之间互相循环引用的问题。 例子: 对象A和B互相引用,但除此之外,这两个对象再无任何引用,但是他们因为互相引用着对方,所以导致他们的引用计数都不为0,于是引用计数算法无法通知GC收集器回收他们。 (代码示例解释什么是循环引用) class  A {     public B bb; } class  B {     public A aa; } public class TestGC {     public static  void main(String[] args) {     A a = new A();     B b = new B();     a.bb = b;     b.aa = a;     a = null;     b = null;     } } 在上面的代码示例中,假设我们有两个类分别是A和B,A类中有一个字段是B类的类型,B类中有一个字段是A类类型,现...
小欣妹妹 发布于 2小时前 阅读 3

Java9新特性——module模块系统

官方文档:https://docs.oracle.com/javase/9/index.html 关于 java9的新特性,官方原文:https://docs.oracle.com/javase/9/whatsnew/toc.htm 这玩意就是一个列表,具体的技术细节需要根据官方文档挖一挖。 modular-模块系统 --- java9的模块化,从一个独立的开源项目而来,名为Jigsaw。 项目官网:http://openjdk.java.net/projects/jigsaw/ ### 为什么要使用模块化 java开发者都知道,使用java开发应用程序都会遇到一个问题,Jar hell,他就像windows里的dll hell。 比如我们启动一个不算大的应用,但依赖了很多的jar,如下图: ![输入图片说明](https://static.oschina.net/uploads/img/201709/26094041_w0RP.png "在这里输入图片标题") 摘自:Mark Reinhold的演讲 https://www.youtube.com/watch?v=l1s7R85GF1A 这是很常见的。虽然你可以使用 "java -Djava.ext.dirs=lib xxx" 让命令行小一些,但不可否认,他的classpath就是那么长。顺便说一句,java9中不允许使用extdirs了。 另一方面,jdk本身有很多的api: ![输入图片说明](https://static.oschina.net/uploads/img/201709/26094131_JZAh.png "在这里输入图片标题") 对于一些小设备,它太庞大了。 ### helloworld...
polly 发布于 3天前 阅读 4872 评论 33 点赞 22 打赏 1

疯狂Activiti6.0连载(三)———Activiti开发环境搭建

                                            3 Activiti开发环境搭建         本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         本书的common-lib项目,是各个案例的依赖项目,可从以下地址获得:         https://gitee.com/yangenxiong/CrazyActiviti/tree/master/codes         要点              安装JDK与MySQL              安装Eclipse以及Activiti插件              编写第一个Activiti程序                                                 3.1 安装开发环境         本小节所说的Activiti开发环境包括以下内容:               Eclipse IDE               Eclipse的Activiti插件 3.1.1 下载Eclipse         本书使用Eclipse作为开发工具,如果想使用Activiti的Eclipse设计器,官方建议使用Kepler(4.3)或者 Luna(4.4)版本,本书所使用的版本为Luna,大家可以从以下的地址得到该版本的Eclipse:         h...
杨大仙的程序世界 发布于 3天前 阅读 1658 评论 4 点赞 4

谈谈开源(一)

作者 申砾 源码面前,了无秘密 ---- 侯捷 ### 前言 很多人的『开源』是一个比较时髦且有情怀的词汇,不少公司也把开源当做 KPI 或者是技术宣传的手段。但是在我们看来,大多数人开源做的并不好,大多数开源项目也没有被很好的维护。比如前一段时间微博上流传关于 Tengine 的讨论,一个优秀的开源项目不止是公布源代码就 OK 了,还需要后续大量的精力去维护,包括制定 RoadMap、开发新功能、和社区交流、推动项目在社区中的使用、对使用者提供一定程度的支持,等等。 目前我们在国内没看到什么特别好的文章讲如何运营一个开源项目,或者是如何做一个顶级的开源项目。TiDB 这个项目从创建到现在已经有两年多,从开发之初我们就坚定地走开源路线,陆续开源了 TiDB、TiKV、PD 这三个核心组件,获得了广泛的关注,项目在 GitHub 的 Trending 上面也多次登上首页。在这两年中,我们在这方面积累了一些经验和教训,这里和大家交流一下我们做开源过程中的一些感受,以及参与开源项目(至少是指 TiDB 相关项目)的正确姿势。 ### 什么是开源 Open-source software (OSS) is computer software with its source code made available with a license in which the copyright ...
TiDB 发布于 4天前 阅读 649 评论 4

SpringCloud(第 018 篇)Zuul 服务 API 网关微服务之代理与反向代理

1、API 服务网关顾名思义就是统一入口,类似 nginx、F5 等功能一样,统一代理控制请求入口,弱化各个微服务被客户端记忆功能; 2、本章节主要讲解了使用 zuul 的代理功能与反向代理功能,当然 zuul 还有很多属性设置,我就没一一列举所有的测试方法了; 3、http://localhost:8150/routes 地址可以查看该zuul微服务网关代理了多少微服务的serviceId;
HMILYYLIMH 发布于 5天前 阅读 1789 评论 7 点赞 2

疯狂Activiti6.0连载(一)———Activiti介绍

                                            1 Activiti介绍         在计算机尚未普及时,许多工作流程采用手工传递纸张表单的方式,一级一级审批签字,工作效率非常低下,对于数据统计以及生成报表的功能,需要经过大量的手工操作才能实现。随着电脑的普及,这些工作的参与者只需要在电脑的系统中填入工作内容,系统就会按照定义好的流程自动执行,各级审批者可以得到工作的信息并作出相应的审批和管理操作,数据统计和报表的生成均由系统代为完成,这样大大提高了工作效率,在这种背景下,各种的工作流应用以及中间件应运而生。         工作流应用在日常工作中的应用越来越广泛,JavaEE领域出现了许多优秀的工作流引擎,例如JBoss社区的jBPM、OpenSymphony的OSWorkflow等,在2010年5月17日,以Tom Baeyens为首的工作流小组发布了一个全新的工作流引擎——Activiti,该工作流引擎的第一个版本为5.0alpha1,由于Tom Baeyens是jBPM的创始人(由于意见分歧离开JBoss),因此Activiti的团队希望该流程引擎是jBPM4的延伸,希望在jBPM中积累的经验和知识的基础上,继续进行新一代工作流解决方案的建设,因此将...
杨大仙的程序世界 发布于 5天前 阅读 2420 评论 26 点赞 8

Java平台,标准版Oracle JDK 9中的新功能

Java平台,标准版 Oracle JDK 9中的新增功能 版本9 E77563-05 2017年9月   JDK 9中的新功能概述 Java Platform,Standard Edition 9是一个主要的功能版本。以下总结了Java SE 9和JDK 9的特点和增强功能,Oracle 对于 Java SE 9的实现。 JDK增强提案(JEP)是对JDK设计和实施非常重要更改的提案。参阅JEP 1:JDK增强提案和路线图流程。Java规范请求(JSR)描述了Java平台的建议和最终规范。请参阅JSR概述。   JDK 9中的重要变化 这些变化影响了多个技术领域。 特征 描述 Java平台模块系统 推出了一种新的Java编程组件--模块,是一个指定的,自描述代码和数据的集合。 模块系统: 引入一个新可选阶段,link time,它在编译和运行时之间,在此期间,可以将一组模块组合并且优化到一个自定义的运行时映像中;在 Java Platform, Standard Edition Tools Reference 中查看 jlink 工具。 添加选项到工具javac,jlink和java,可以指定模块路径在哪里,哪一个定义模块的定位。 引入模块化JAR文件,它是一个在根目录下包含module-info.class的JAR文件。 推出JMOD格式,它是一种类似于JAR的打包格式,除了它可以包含原生代码和配置文件外; 参见jmod工具。 JDK本身已经被分为一组模...
GuoMengYue 发布于 7天前 阅读 5985 评论 25 点赞 14

数据可视化(三)基于 Graphviz 实现程序化绘图

- OmniGraffle 和 Graphviz - Why draw when you can code? - Graphviz 简介 - 最佳 Graphviz 实践(一):流程图、数据结构图、网络路径 Trace Route - 最佳 Graphviz 实践(二):复杂社会关系链分析(《红楼梦》、《权力的游戏》) - 最佳 Graphviz 实践(三):机器学习算法-决策树(Decision Tree)
RiboseYim 发布于 1周前 阅读 1652 评论 3 点赞 4

关于Python 列表操作 ,最常见问答Top10

列表是最常用的数据类型之一,本文整理了 StackOverflow 上关于列表操作被访问最多的10个问答,如果你在开发过程中遇到这些问题,不妨先思考一下如何解决。 1、迭代列表时如何访问列表下标索引 普通版: items = [8, 23, 45] for index in range(len(items)): print(index, "-->", items[index]) >>> 0 --> 8 1 --> 23 2 --> 45 优雅版: for index, item in enumerate(items): print(index, "-->", item) >>> 0 --> 8 1 --> 23 2 --> 45 enumerate 还可以指定元素的第一个元素从几开始,默认是0,也可以指定从1开始: for index, item in enumerate(items, start=1): print(index, "-->", item) >>> 1 --> 8 2 --> 23 3 --> 45 2、append 与 extend 方法有什么区别 append表示把某个数据当做新元素追加到列表的最后面,它的参数可以是任意对象 x = [1, 2, 3] y = [4, 5] x.append(y) print(x) >>> [1, 2, 3, [4, 5]] extend 的参数必须是一个可迭代对象,表示把该对象里面的所有元素逐个地追加到列表的后面 x = [1, 2, 3] y = [4, 5] x.extend(y) print(x) >>> [1, 2, 3, 4, 5] # 等价于: for i in y: x.append(i) 3、检查列表是否为空 普通版:...
liuzhijun 发布于 1周前 阅读 1111 评论 2 点赞 10

从0开始的微服务架构:(一)重识微服务架构

导语 虽然已经红了很久,但是“微服务架构”正变得越来越重要,也将继续火下去。 各个公司与技术人员都在分享微服务架构的相关知识与实践经验,但我们发现,目前网上的这些相关文章中,要么上来就是很有借鉴意义的干货,要么就是以高端的专业术语来讲述何为微服务架构。就是没有一个做到成熟地将技术传播出来,同时完美地照顾“初入微服务领域人员”,从0开始,采用通俗易懂的语言去讲解微服务架构的系列。 所以,本文试图开启微服务架构专题“Re:从0开始的微服务架构”,为还没有入门该领域的技术人员开路,也帮助微服务架构老手温故知新。   这是专题的第一篇文章,从最基础的地方入手,让我们重识微服务架构。 前言 得益于2013年Docker的诞生,微服务概念及架构的推广和落地变得更加的可靠和方便。在2016年及之前,微服务架构的讨论更多的是活跃于互联网企业及社区。现如今,随着Docker和微服务架构组件与Docker等相关技术的逐步成熟,微服务架构已然步入传统企业及传统行业。 但是,程序员作为一个理性消费的群体,需要冷静地思考,避免挖个大坑把自己给埋了。所以,我们需要冷静地搞清楚:微服务(架构)是什么?它有什么优势劣势?我们为什么需要采用微服务架构?如...
京东技术 发布于 1周前 阅读 3309 评论 18 点赞 23

VirtualDOM与diff(Vue实现)

## 写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出。 文章的原地址:[https://github.com/answershuto/learnVue](https://github.com/answershuto/learnVue)。 在学习过程中,为Vue加上了中文的注释[https://github.com/answershuto/learnVue/tree/master/vue-src](https://github.com/answershuto/learnVue/tree/master/vue-src),希望可以对其他想学习Vue源码的小伙伴有所帮助。 可能会有理解存在偏差的地方,欢迎提issue指出,共同学习,共同进步。 ## VNode 在刀耕火种的年代,我们需要在各个事件方法中直接操作DOM来达到修改视图的目的。但是当应用一大就会变得难以维护。 那我们是不是可以把真实DOM树抽象成一棵以JavaScript对象构成的抽象树,在修改抽象树数据后将抽象树转化成真实DOM重绘到页面上呢?于是虚拟DOM出现了,它是真实DOM的一层抽象,用属性描述真实DOM的各个特性。当它发生变化的时候,就会去修改视图。 但是这样的JavaScript操作DOM进行重绘整个视图层是相当消耗性能的,我们是不是可以每次只更新它的修改呢?所以Vue.js将DOM抽象成一个以JavaScript对象为节点的虚拟...
染陌同学 发布于 2周前 阅读 1506 点赞 4

微服务后如何做一次系统梳理

微服务治理的特点,网络延迟、分布式事务、异步消息。因此我们针对微服务的梳理也是从这几个方面入手。微服务后依赖关系从代码依赖变成了通讯依赖,我们梳理微服务系统的关键点,就是找出通讯依赖,确定是强依赖,还是弱依赖。
新栋BOOK 发布于 2周前 阅读 1823 评论 7 点赞 4

LinkedList的实现原理浅析

本文简单分析一下JDK1.7的LinkedList源码,看一下其内部的结构以及典型方法的实现~ LinkedList内部结构 查看LinkedList的源码,发现其继承自AbstractSequentialList,实现了List,Deque,Cloneable以及Serializable接口,如: public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable { } 也就意味着: LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行列表操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。 LinkedList 实现java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。   public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable { transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last == null) || ...
王孟君 发布于 2周前 阅读 1973 评论 7 点赞 5

浅析开源数据库MySQL架构

数据库是所有应用系统的核心,故保证数据库稳定、高效、安全地运行是所有企业日常工作的重中之重。数据库系统一旦出现问题无法提供服务,有可能导致整个系统都无法继续工作。所以,一个成功的数据库架构在高可用设计方面也是需要充分考虑的。下面就为大家介绍一下如何构建一个高可用的MySQL数据库系统。 做过DBA或者是运维的同学都应该知道,任何设备或服务,存在单点就会带来巨大风险,因为这台物理机一旦宕机或服务模块crash,若在短时间内无法找到替换的设备,势必会影响整个应用系统。因而如何保证不出现单点就是我们的重要工作,使用MySQL高可用方案可以很好地解决这个问题,一般有以下几种: 一、利用MySQL自身的Replication来实现高可用 MySQL自带的Replication就是我们常说的主从复制(AB复制),通过对主服务器做一个从机,在主服务器宕机的情况下快速地将业务切换到从机上,保证应用的正常使用。利用AB复制做高可用方案也分为几种不同的架构: 1、常规的MASTER---SLAVE解决方案 普通的MASTER---SLAVE是目前国内外大多数中小型公司最常用的一种架构方案,主要的好处就是简单、使用设备较少(成本较低)、维护方便。这种架构能解决单点的问题,而且还能在很大程度上...
illy安智 发布于 2周前 阅读 2076 评论 5 点赞 1

在CentOS 7 上使用PaceMaker构建NFS HA服务

## 基本环境 * 总共四台虚拟机,安装CentOS 7 X64系统。 * 每台虚拟机两张网卡,分别连接两个网络,NAT网络192.168.195.0,仅主机网络192.168.162.0。 * Target主机安装iSCSI TGT服务,提供共享存储服务。 * Test1和Test2主机利用Target主机提供的共享存储对外提供A/P结构的NFS服务,使用PaceMaker进行集群管理。 * Develop主机mount有Test主机提供的NFS服务并测试其功能。 ## 网络配置 ### IP地址 使用静态IP地址,并按如下的方式进行配置。 Target eth0 : 192.168.195.131 eth1 : 192.168.162.131 Test1 eth0 : 192.168.195.132 eth1 : 192.168.162.132 Test2 eth0 : 192.168.195.133 eth1 : 192.168.162.133 Develop eth0 : 192.168.195.136 eth1 : 192.168.162.136 NFS使用的浮动IP为:192.168.195.200。 ### 域名解析 在四台机器的域名解析文件下增加如下部分,并确保相互可以ping通。 $ vi /etc/hosts 192.168.195.131 target 192.168.195.132 test1 192.168.195.133 test2 192.168.195.136 develop ## 配置iSCSI ### 安装tgt服务 在Target主机上执行如下操作: 安装软件包 $ yum install -y scsi-target-utils iscsi-initiator-utils 配置tgt服务,使用/dev/sdd1分区...
LastRitter 发布于 2周前 阅读 1313 评论 4 点赞 1

LVM锁机制分析

## LVM支持的锁类型 0. 无锁(No Locking) - 不使用锁,此状态下不能并行执行命令,或者由使用者处理并行问题。 1. 本地锁(Local Locking) - 当使用本地flock锁,只能在单机环境下使用;当use_lvmlockd=1时,同时使用lvmlockd提供的锁,可用于集群环境。 2. 外部锁(External Locking) - 使用外部共享库提供的锁功能,可以在配置文件中设置库的名称,在共享库中只要按要求。 3. 集群锁(Clustered Locking) - 使用内建的集群锁,必须配合clvmd来使用,同时必须关闭lvmetad缓存功能。 4. 只读锁(Read-Only Locking) - 只读模式,禁止元数据修改。 5. 哑巴锁(Dummy Locking) - 只读模式,被不需要锁的工具使用。 配置文件: ```sh $ cat /etc/lvm/lvm.conf ... # Configuration option global/locking_type. # Type of locking to use. # # Accepted values: # 0 # Turns off locking. Warning: this risks metadata corruption if # commands run concurrently. # 1 # LVM uses local file-based locking, the standard mode. # 2 # LVM uses the external shared library locking_library. # 3 # LVM uses built-in clustered locking with clvmd. # This is inco...
LastRitter 发布于 2周前 阅读 1524 评论 1 点赞 1

java多线程——锁

这是多线程系列第四篇,偏重于线程的实践,对锁的几种应用做个简要介绍
wier 发布于 2周前 阅读 2910 评论 15 点赞 3
GaiSama

前端对图片进行本地压缩并上传实践

正好项目碰到这个需求,花了一下午基本搞定,记录一下实现步骤以及一些需要注意的坑,本实例后端使用node express,Multer作为处理multipart/form-data的中间件,完整代码:https://gitee.com/gaisama/codes/xwus19y6crjnm0vf25dza10
GaiSama 发布于 3周前 阅读 1086 评论 10 点赞 9

vue组件开发

## 什么是vue组件 组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式。 ## 组件使用步骤 ### 1. 定义组件 var myComponent = Vue.extend({ template:" this is my first component" }); ### 2. 注册组件 全局注册组件 Vue.component('myComponent',myComponent) 局部注册组件 var apk = new Vue({ el:"#apk", components:{ "myComponent":myComponent } }) ### 3. 使用组件 ### 4. 上面的定义过程比较繁琐,也可以不用每次都调用Vue.component和Vue.extend方法: // 在一个步骤中扩展与注册 Vue.component('my-component', { template: ' A custom component!' }) // 局部注册也可以这么做 var Parent = Vue.extend({ components: { 'my-component': { template: ' A custom component!' } } }) ## 组件常用方法使用 ### 1. 嵌套组件 组件本身也可以包含组件,下面的parent组件就包含了一个命名为child-component组件,但这个组件只能被parent组件使用: var myComponent = Vue.extend({ template:" this is my first component" }...
wshining 发布于 3周前 阅读 2208 评论 8 点赞 4

Eclipse中怎么将JRE换成JDK

关于JDK 和 JRE 的介绍 JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。 JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。 如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。 以上解释来源:知乎 在Eclipse我们项目中的Libraries库默认是JRE的,一般需求都能满足,但是当需要编译java文件时就不行了,这就需要我们把它换成JDK。 步骤: 点击相应项目->右键BuildPath-> configureBuildPAth 点击Libraries 出现下面的界面 点击一下JRE System Library(选中) 然后 ->  点击右边的 Edit (不选中Edit是灰的) 出现下面的界面    (这个JDK是我已经加进来后的,你的可能没有)   如果开始你就有那直接选一下就行了。。。。QAQ 如果没有就 点击Installed JREs 出现下面界面 这个JDK(黄色箭...
为了美好的明天 发布于 3周前 阅读 2059 点赞 1

用docker搭建elasticsearch集群

## 概述 用docker进行elasticsearch的部署非常简单,如果要实现集群配置,需要进行一些特殊的处理,本文介绍如何利用docker进行elasticsearch集群的搭建。 具体的配置可以参照该 [示例](https://github.com/qihaiyan/fluentd-boot) ## 主节点配置 ### docker-compose.yml配置文件 ```yml es: image: elasticsearch volumes: - ./es:/usr/share/elasticsearch/data - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ports: - 9200:9200 - 9300:9300 ``` 其中的```./es:/usr/share/elasticsearch/data```是将elasticsearch的数据文件挂在到本机的一个目录上,这儿指定的本机目录是./es,可以修改为其它有权限的目录。 ### elasticsearch.yml配置文件 ``` yml cluster.name: elasticsearch_cluster node.name: node-master node.master: true node.data: true http.port: 9200 network.host: 0.0.0.0 network.publish_host: master-ip discovery.zen.ping.unicast.hosts: ["master-ip"] ``` ```network.publish_host: master-ip```指定了本机ip,需要将master-ip修改为真实的机器ip。```discovery.zen.ping.unicast.hosts```中的master-ip同样需要修...
QiHaiYan 发布于 3周前 阅读 1516 点赞 1
顶部