开源中国

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

It appears you’re using an unsupported browser

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

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

Spring cloud 微服务安全解决方案

这里我谈谈在实施微服务项目中的心得,首先项目采用 Spring cloud 方案,Spring cloud 有自己的RestController 控制器,我们需要遵循他的规范开发,这就限制了很多传统的认证加密方法不能应用到 Spring cloud中。
neo-chen 发布于 13小时前 阅读 242

CSS深入理解之border

大家对基础的border应该非常熟悉了,这篇文章就说点不一样的,更深入点~
娇娇jojojo 发布于 1天前 阅读 278 评论 16 点赞 2 打赏 1

Golang的docker尝试

golang是一个天生适合在docker中运行的语言,这可能也是为什么golang在develop模式中受欢迎的原因。
dingdayu 发布于 1天前 阅读 148 评论 3

Go圣经-学习笔记入门bufio

ReadSlice容易犯错的方法
cdh0805010 发布于 1天前 阅读 161

记一次外包项目微信接口开发流程-spring-boot

看到众包上还有贩卖微信接口对接指导,代码,表示此人大才,正好最近接个朋友的运营类小项目,便写下一点开发中的流程和经验
北风刮的不认真了 发布于 1天前 阅读 220 评论 1

iOS11新特性:新增拖拽交互体验

在Mac软件开发时,拖拽交互是一种十分常用的交互方式,在iOS以前的系统中要实现拖拽交互往往比较困难。iOS11新引入了拖拽相关的API可以帮助开发者快速的构建拖拽交互,在iOS11中,使用这种API进行APP的开发为设计提供了一种全新维度的用户交互方式。
珲少 发布于 1天前 阅读 104

Go圣经-学习笔记入门-面试题

Go,面试基础知识
cdh0805010 发布于 2天前 阅读 84

认识Vue.js的组件和模板

指令是Vue.js中一个重要的特性, 主要提供了一种机制将数据的变化映射为DOM行为。 那什么交数据的变化映射为DOM行为, Vue.js是通过数据驱动的, 所以我们不会直接去修改DOM结构, 不会出现类似$('ul').append(' one')这样的操作, 当数据变化时,指令会一句设定好的操作对DOM进行修改, 这样就可以只关注数据的变化, 而不用去管理DOM的变化和状态,
爱敲代码的程序员 发布于 2天前 阅读 136

Android计步模块优化(今日步数)

最近在项目中研究计步模块,主要功能记录当天步数,类似微信运动,支付宝计步,咕咚今日步数。 [本篇文章简书地址](http://www.jianshu.com/p/cfc2a200e46d)
jiahongfei 发布于 2天前 阅读 53 评论 1

SpringBoot项目中的多数据源支持

## 1.概述 项目中经常会遇到一个应用需要访问多个数据源的情况,本文介绍在SpringBoot项目中利用SpringDataJpa技术如何支持多个数据库的数据源。 具体的代码参照该 [示例项目](https://github.com/qihaiyan/boot-multi-datasource) ## 2.建立实体类(Entity) 首先,我们创建两个简单的实体类,分别属于两个不同的数据源,用于演示多数据源数据的保存和查询。 Test实体类: ```java package com.example.demo.test.data; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "test") public class Test { @Id private Integer id; public Test(){ } public Integer getId() { return this.id; } public void setId(Integer id){ this.id = id; } } ``` Other实体类: ```java package com.example.demo.other.data; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "other") public class Other { @Id private Integer id; public Integer getId() { return this.id; } public void setId(Integer id){ this.id = id; } } ```...
QiHaiYan 发布于 2天前 阅读 368 点赞 1

关于setInterval与setTimeout作用域问题

        最近在模仿swiper鼓捣一个轮播图插件时,碰到了setInterval的作用域问题,轮播的方法写在一个对象里,但是setInterval执行这个方法后,在方法体内无法访问这个对象的属性了,业务逻辑代码如下: function Swiper(num,loopTime) { this.num = num; // 轮播起始位置 this.loopTime = loopTime; // 轮播间歇时间 this.timer = null; // 保存setInterval定时器对象Id this.autoPlay(); } Swiper.prototype.autoPlay = function() { clearInterval(this.timer); // 将循环方法Loop传进setInterval执行 this.timer = setInterval(this.loop,this.loopTime); } Swiper.prototype.loop = function() { // 循环主逻辑 console.log('num',this.num); this.num++; } var swiper = new Swiper(0,1000);         以上代码并没有按照预期情况(循环递增num)来执行,执行结果为:              分析结果后,发现loop方法体内的this并不是指向new出来的swiper对象,而是window对象,window中没有num,即为undefined,自增后,为NaN。 一、分析 setInterval(this.loop,this.loopTime)         setInterval是window对象的方法,在...
会写代码的husky 发布于 2天前 阅读 264

【区块链】以太坊区块链技术初探

LinApex个人简介     今年刚接触到区块链网络,奋斗在数字货币交易平台,底层框架设计,区块链钱包,区块链解决方案一线,做过人工智能,金融支付行业,目前正在做一款区块链+黄金的App系统。   连载系列(基于以太坊)     开发系列         1、【区块链】以太坊区块链技术初探         2、【区块链】以太坊区块链环境搭建         3、【区块链】以太坊区块链概念了解         4、【区块链】以太坊区块链技术进阶     源码系列         1、【以太坊源码】编译以太坊源码,打造自己的公链私链         2、【以太坊源码】以太坊源码研究系列(以太坊模拟机、挖矿、点对点网络库、节点发现、合约代码传输、加密签名等)   区块链基本概念     区块链就是通过密码学的方式形成的一个由集体维护的分布式数据库。     区块链的概念最近很火,它来自于比特币等加密货币的实现,但是目前,这项技术已经逐步运用在各个领域。什么是区块链技术?为了感性认识这个问题,我们可以使用谷歌地球的例子做类比,ajax不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P网络...
linapex 发布于 2天前 阅读 670 评论 7 点赞 2

【码云周刊第 43 期】看完绝对想尝试的创意 Android 库,你关注了吗?

每周为您推送最有价值的开源技术内参!
开源中国码云 发布于 2天前 阅读 42

提高效率,eclipse上你可能不知道的技巧

>一张思维导图 ![eclipse技巧.png](http://upload-images.jianshu.io/upload_images/4120002-a0571f1f1cbd9d3d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 公众号回复“eclipse技巧”可下载源导图 >1、控制台(console )日志输出另保存 * 经常会遇到这种情况,习惯性的清掉控制台上的输出日志,再然后发现刚才的日志居然还有用,不得不又重新调试一遍,为了解决这种“手贱”的问题,我在网上搜了一些资料,还真解决的方法哈,只需要把日志同时输出到设定一个文件就行。方法如下: * 设置Eclipse保存控制台文件。右键项目 -> Debug As -> Debug Configurations菜单。 进入Common标签下,设置“Standard Input and Output”, 勾选 “File:”, 填写输出文件路径及文件名。如果你勾选了“Append”,输出的日志将会被追加写入到文件最后,否则将会覆盖重写文件。 ![右键项目设置输出文件路径](http://upload-images.jianshu.io/upload_images/4120002-717c143607136ee7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![在当前服务器上设置文件输出路径](http://upload-images.jianshu.io/upload_images/4120002-7ad565b618fd43c0.png?imageMogr2/auto-...
java思维导图 发布于 2天前 阅读 251

JDK容器学习之CopyOnWriteArrayList:线程安全保障机制

CopyOnWriteArrayList底层数据存储结构,读写接口的分析,并探究保障线程安全的机制
小灰灰Blog 发布于 2天前 阅读 122 评论 1

SpringCloud(第 045 篇)链接Mysql数据库简单的集成Mybatis、ehcache框架采用MapperXml访问数据库

1、数据库频繁的操作也会影响性能,所以本章节准备给访问数据库前面添加一层缓存操作; 2、虽然说缓存框架存在很多且各有各的优势,本章节仅仅只是为了测试缓存的操作实现,所以就采用了一个简单的缓存框架ehcache;
HMILYYLIMH 发布于 2天前 阅读 461 评论 1 点赞 1

SpringCloud(第 044 篇)链接Mysql数据库简单的集成Mybatis框架采用MapperXml访问数据库

1、前面章节讲解的是在方法上面添加sql语句操作,虽然说仅仅只是一种简单的操作,在测试期间可以多试试; 2、但是对于复杂的操作,那种简单也仅仅只是简单的自己用用而已,复杂的还是得采用xml配置; 3、因此本章节就试试采用Mybatis框架通过mapperxml进行对数据的操作;
HMILYYLIMH 发布于 2天前 阅读 119

SpringCloud(第 043 篇)链接Mysql数据库简单的集成Mybatis框架访问数据库

1、访问数据库,自然少不了一些持久化框架,而我本身也是Mybatis框架的支持者; 2、Mybatis是那种专注于sql的框架,对象映射以及输入输出都是由框架自动完成; 3、因此本章节就简单小试牛刀尝试下如何使用Mybatis持久化框架进行对数据的操作;
HMILYYLIMH 发布于 2天前 阅读 174

【避坑】初次接项目的血与泪,扎坑了老铁

谈起外包经历,我的第一次外包源自前两年某天陪着女友逛商场时,接到一个朋友的电话,朋友兴高采烈地跟我介绍一个大项目:需求不多、钱不少,难度不大、口气不小,我一听心动了,原以为要赚一笔 easy money,后面再看看,这次外包踩了大大小小不少的坑,遂想好好记录一下。
面包奶油巧克力 发布于 3天前 阅读 843 评论 22 点赞 4

SpringCloud(第 042 篇)链接Mysql数据库,通过JdbcTemplate编写数据库访问,而且支持事物处理机制

1、在数据库操作中,当遇到异常时,我们最关心的是部分回滚还是整体回滚还是不理会,怎么操作怎么来; 2、所以本章节就着重讲解了如何运用Transactional注解来处理事物回滚机制; 3、rollbackFor 属性:抛出的异常是 rollbackFor 异常的子类时都会回滚数据; 4、noRollbackFor 属性:抛出的异常是 noRollbackFor 异常的子类时不会回滚数据;抛出的异常不是 noRollbackFor 异常的子类时会回滚数据;
HMILYYLIMH 发布于 3天前 阅读 74

Java定时任务调度工具Timer

前言: 首先我们先明确一下什么是定时任务调度? 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务。 Java中定时任务调动工具有俩:Timer 、Quartz 区别:     出身不同:Timer由jdk直接提供,不需jar包支持;Quartz需引入jar包。     能力不同:Timer简单定时任务;Quartz时间控制功能更强大。     底层机制:Timer只有一个后台线程执行;Quartz是多线程执行任务。 一.Timer简介:     让我们看下官方文档api(JDK1.8) 可能有的小伙伴英语水平不太好,那让我们看下中文版吧:   那么我们可以归纳Timer的定义:有且仅有一个后台线程对多个业务线程进行定时定频率的调度 主要构件:   Timer工具类详解: 二.Timer实战 1.简单实战 1)定时任务类 package com.leo.timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { private String name; public MyTimerTask(String inputName){ name=inputName; } @Override public void run() { //打印当前name的内容 System.out.println("Current exec name is"+name); } public String getName() { ...
悟空悟不空 发布于 4小时前 阅读 5

Oracle 用户(user)和模式(schema)的区别

Oracle 用户(user)和模式(schema)的区别 概述: (一)什么Oracle叫用户(user):   A user is a name defined in the database that can connect to and access objects. 大意:Oracle用户是用连接数据库和访问数据库对象的。(用户是用来连接数据库访问数据库)。 (二)什么叫模式(schema):   A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data. 大意:模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。(把数据库对象用模式分开成不同的逻辑结构)。 (三)用户(user)与模式(schema)的区别:   Schemas and users help database administrators manage database security. 大意:用户是用来连接数据库对象。而模式用是用创建管理对象的。(模式跟用户在oracle 是一对一的关系。)   详解:   从官方的定义中,我们可以看出schema为数据库对象的集合。为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到 的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema。schema里面包含了各种对...
独钓渔 发布于 4小时前 阅读 4

hashmap实现原理浅析

[转载](http://www.cnblogs.com/lzrabbit/p/3721067.html#h1)
zh151832 发布于 7天前 阅读 7

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

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

Ubuntu16.04下将程序快捷方式从Dash中移到桌面

如题: 将程序快捷方式从Dash中移到桌面 首先说明,个人记录,这个功能很简单。 依Chrome浏览器添加为例; 1、安装Chrome浏览器,从网上找的一条命令下载即可安装; 下载: sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/ 安装: 在Home文件夹下找到下载好的DEB文件。双击执行安装即可。 2、从Dash中将快捷方式复制到桌面 安装好的Chrome浏览器在Dash中可见【图】: 但是我们怎么找到她的快捷方式在什么地方呢? /usr/share/applications 一般安装的程序都会在这个目录建立快捷方式,如Firefox浏览器;但是Chrome浏览器不一样。她在另一个隐藏文件夹中: ./.local/share/applications 【图】 找到了我们就可以操作了。 cp ./.local/share/applications/google-chrome.desktop 桌面 OK.一步完成。 但是复制过了的快捷方式不能执行。【图】 什么原因呢?从网上搜了一下,新建快捷方式不能使用是因为没有权限的原因; 复权命令走起: chmod 777 google-chrome.desktop 【图】 终于可以畅快的浏览网络了。...
Nori 发布于 2个月前 阅读 26

在Ubuntu下安装nodejs4.x,并实现开机自动启动forever进程守护nodejs应用后台运行

  投票 对于面对此问题的其他用户: 您必须添加forever模块的路径,然后以cronjob的形式运行该脚本。 在linux中的路径通常是: / usr / local / lib / node_modules / forever / bin / forever start file.js 只需在你的脚本中使用这个命令,永远的错误就是:找不到命令不会打扰你的。  
james_laughing 发布于 1个月前 阅读 23

堆栈简单理解

堆:存的 属性。 栈:存的 对象名称,即 实际存的是 堆内存中对象所对应的地址。 //声明并实例化 //声明对象后  实例化对象
OldCoffee 发布于 2周前 阅读 4

PHP微信退款异步通知aes-256-ecb解密

今天一个小伙伴跟来找我说,微信的aes-256-ecb数据,怎么都解析不了,微信官方又没出Demo。附代码: var_dump(openssl_decrypt(base64_decode($data), 'aes-256-ecb', md5($key))); 看了下,在保证$data和$key正确的情况下,逻辑是没问题。解不了吗?确实解不了。 看了下文档: options明确要有值。看了下两个常量的值,一个是1,一个是2。但是默认却是0,改为: $decrypt = base64_decode($data, true); var_dump(openssl_decrypt(decrypt , 'aes-256-ecb', md5($key), OPENSSL_RAW_DATA)); 解析成功,以上还返回false的,就是基础数据问题。 新手测试时要注意在console或者一定要用var_dump来打印。因为解析出来的是xml。  
伯洛芒果汁。 发布于 1周前 阅读 4

Vue和百度地图结合

亲试可行
龙马行空 发布于 1周前 阅读 11

paxos协议

Paxos算法是莱斯利·兰伯特(英语:Leslie Lamport,LaTeX中的“La”)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。
cassia_ 发布于 1个月前 阅读 9

Nginx + PHP(php-fpm)遇到的502 Bad Gateway错误

我一个统计程序估计要跑1分多钟以上 查看了一个php-fpm 配置文件 [13-Oct-2013 12:06:07] WARNING: [pool www] child 7458, script '/home/wwwroot/admin/index.php' (request: "GET /index.php") execution timed out (101.515909 sec), terminating [13-Oct-2013 12:06:07] WARNING: [pool www] child 7458 exited on signal 15 (SIGTERM) after 1130895.840878 seconds from start [13-Oct-2013 12:06:07] NOTICE: [pool www] child 24885 started 很明显了 部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间 google了一较以后 http://rtcamp.com/wordpress-nginx/tutorials/php/increase-script-execution-time/ Changes in php.ini If you want to change max execution time limit for php scripts from 30 seconds (default) to 300 seconds. vim /etc/php5/fpm/php.ini Set… max_execution_time = 300 In Apache, applications running PHP as a module above would have suffice. But in our case we need to make this change at 2 more places. Changes in PHP-FPM This is only needed if you have alread...
baiwengong 发布于 1个月前 阅读 6

基于docker tileserver的开源GIS基础地图服务搭建教程

基于docker tileserver的开源GIS基础地图服务搭建教程 发表于 2017-02-19   |   分类于 tileserver , docker   |   基于docker tileserver的开源GIS基础地图服务搭建教程 tileserver-mapnik tileserver-mapnik是klokantech公司基于nodejs编写的一套地图服务器。 下载地图数据 tileserver-mapnik地图服务器需要的地图数据格式为mbtiles,OpenMapTilles提供已生成好的全球基础数据源,可根据国家、城市过滤按需下载。 下载地图样式 tileserver-mapnik地图服务器使用MapBox Studio project 地图样式规则来渲染矢量切片地图。相关样式可以从mapbox github上找到。如若想自定义样式,可以下载mapbox studio classic 进行样式自定义。 从docker启动地图服务器 为了顺利从docker启动地图服务器,需要将样式工程和数据集放在同一个目录下,如map_tiles: - map_tiles - planet.mbtiles - mapbox-studio-dark.tm2 - mapbox-studio-pirates.tm2 在顺利安装docker之后,就可以下载tileserver-mapnik docker镜像 $ docker pull klokantech/tileserver-mapnik 在map_tiles目录启动tileserver-mapnik docker 服务 $ sudo docker run -v $(pwd):/data -p 9980:80 -d ...
james_laughing 发布于 7天前 阅读 10

树莓派3安装centos7以及相关设置

本文永久地址:https://my.oschina.net/bysu/blog/1554410 下载地址: http://mirror.centos.org/altarch/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1708-RaspberryPi3.img.xz 解压后,本地目录多了个img文件.使用Win32DiskImager.exe写入sd卡. 把sd卡插入树莓派的卡槽上,网线连上路由器,通电,登录路由器后台,查看路由器分配给树莓派的ip地址. 通过ssh连接树莓派,账户root,密码centos. 1.关闭默认防火墙启用iptables防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) 更换iptables防火墙(这里iptables已经安装,下面进行配置) vi/etc/sysconfig/iptables #编辑防火墙配置文件 # sampleconfiguration for iptables service # you can edit thismanually or use system-config-firewall # please do not askus to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT[0:0] :OUTPUT ACCEPT[0:0] -A INPUT -m state--state RELATED,ESTABLISHED -j ACC...
不最醉不龟归 发布于 6小时前 阅读 3

sass安装、创建工程

1.安装sass     1.1ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby。先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量,不然以后使用编译软件的时候会提示找不到ruby环境     1.2sass安装 安装完ruby之后,在开始菜单中,找到刚才我们安装的ruby,打开Start Command Prompt with Ruby 然后直接在命令行中输入 gem install sass gem install compass 如果报错,安装到最后失败,输入下段代码 gem install compass -v 1.0.1 查看sass版本的命令行为 sass -v compass -v 安装成功 tip:Sass是一种"CSS预处理器",可以让CSS的开发变得简单和可维护。但是,只有搭配Compass,它才能显出真正的威力。 2.创建工程 1.创建一个《public》文件夹用来装“css”与“sass” 2.创建sass     2.1cmd打开 找到所在位置《public》输入   compass create --bare --sass-dir "sass" --css-dir "css" --images-dir "img" --javascripts-dir "js"     会在指定文件夹下面使用命令行创建,会创建出三个文件(sass stylesheets config.rb)     2.2编译sass        2.2.1在《sass》内创建一个 .scss 的文件如...
heartless01 发布于 2个月前 阅读 7

信息系统项目管理师----案例分析知识点

整体管理 项目整体管理的过程包括如下内容 : ① 制定项目章程 —通过发布项目章程,正式地批准项目并授权项目经理在项目活动中使用组织资 源。 ② 制定项目管理计划 —定义、准备和协调所有子计划,并把它们整合为一份综合项目管理计划的 过程。一份正式项目管理计划包括经过整合的项目基准和子计划。 ③ 指导和管理项目的执行 —为实现项目目标而领导和执行项目管理计划中所确定的工作,并实施 已批准变更的过程。 ④ 监督项目工作 —跟踪、审查和报告项目进展,以实现项目管理计划中所确定的工作,并实施已 批准变更的过程。 ⑤ 实施整体变更控制 —审查所有的变更请求,批准变更,管理对可交付成果、组织过程资产、项 目文件和项目管理计划的变更,并对变更处理结果进行沟通的过程。 ⑥ 结束项目或阶段 —完成项目过程中的所有活动,以正式结束一个项目或项目阶段。   项目章程的主要内容: ①概括性的项目描述和 项目产品描述; ②项目目的或 批准项目的理由; ③项目 总体要求; ④可测量的项目目标和相关的 成功标准; ⑤项目的 主要风险 ; ⑥总体 里程碑进度计划; ⑦ 总体预算; ⑧项目的 审批要求,即在项目的规划、执行、监控和收尾过程中,应该由谁来做哪种...
郑加威 发布于 2周前 阅读 36 点赞 1

MAC快捷键

https://support.apple.com/zh-cn/HT201236 https://support.apple.com/zh-cn/HT204895
gaolongquan 发布于 3天前 阅读 4

Pytorch中文视频教程,Pytorch实战视频教程

Pytorch是Facebook 的 AI 研究团队发布了一个 Python 工具包,是Python优先的深度学习框架。作为 numpy 的替代品;使用强大的 GPU 能力,提供最大的灵活性和速度,实现了机器学习框架 Torch 在 Python 语言环境的执行。 但是在我们刚接触Pytorch框架的过程中,查看文档无疑会让人云里雾里的,感谢莫烦Python 大神的贡献,我观看后觉得受到了很大的启发,所以推荐并且转载到了我们的网站,同时如果影响到别人,希望告知并且更高,文章目录如下: 名称 连接 PyTorch 简介 查看  为什么使用Pytorch? 查看  Pytorch安装教程 查看  PyTorch 神经网络基础 查看  Torch和Numpy 查看  变量Variable 查看  激励函数Activation 查看  建造第一个神经网络 查看  回归 查看  分类 查看  快速搭建神经网络 查看  保存提取 查看  批训练 查看  Optimizer 优化器 查看  高级神经网络结构 查看  CNN 卷积神经网络 查看  RNN 循环神经网络 (分类) 查看  RNN 循环神经网络 (回归) 查看  AutoEncoder 查看  DQN 强化学习 查看  GAN (Generative Adversarial Nets 生成对抗网络) 查看  高阶内容 查看  为什么 Torch 是动态的 查看  GPU 加速运算 查看  Dropout 缓解过...
earnpls 发布于 2个月前 阅读 60

G1 垃圾收集器配置参数

如下列表为 G1 GC垃圾收集器常用配置参数: 可选项及默认值 描述 -XX:+UseG1GC 采用 Garbage First (G1) 收集器 -XX:MaxGCPauseMillis=n 设置最大GC 暂停时间。这是一个大概值,JVM 会尽可能的满足此值 -XX:InitiatingHeapOccupancyPercent=n 设置触发标记周期的 Java 堆占用率阈值。默认占用率是整个 Java 堆的 45%。默认值 45. -XX:NewRatio=n new/old 年代的大小比例. 默认值 2. -XX:SurvivorRatio=n eden/survivor 空间的大小比例. 默认值 8. -XX:MaxTenuringThreshold=n 对象晋升年代的最大阀值。默认值 15. -XX:ParallelGCThreads=n 设置在垃圾回收器的并行阶段使用的线程数。默认值因与 JVM 运行的平台而不同。 -XX:ConcGCThreads=n 并发垃圾收集器使用的线程数。默认值因与 JVM 运行的平台而不同。 -XX:G1ReservePercent=n 设置作为空闲空间的预留内存百分比以降低晋升失败的可能性。默认值10 -XX:G1HeapRegionSize=n 使用G1,Java堆被划分为大小均匀的区域。这个参数配置各个子区域的大小。此参数的默认值根据堆大小的人工进行确定。最小值为 1Mb 且最大值为 32Mb。 -XX:G1PrintRegionLivenessInfo 默认值false, 在情理阶段的并发标记环节,输出堆中的所有 region...
Ryan-瑞恩 发布于 1个月前 阅读 21

第二层$.get()、$.post() 方法使用(三)

一、get和post方法简介 二、get方法,url后面 参数的三种传递方式 1、url?name=zhangsan 不行,参数丢失  2、 字符串形式的键值对 ‘name=zhangsan’  3、对象形式的键值对 {name:‘zhansan’} 三种方式,作用一样,最后达到的效果都是url问好追加 三、post方法 url后面参数的 三种传递方式  1、url?name=zhangsan 不行,参数丢失  2、 字符串形式的键值对 ‘name=zhangsan’  3、对象形式的键值对 {name:‘zhansan’}  最后两种方式传参最终都会自动转换为http消息实体传参    
LYQ1990 发布于 3天前 阅读 2

dva 之 Mock —— 实现前后端分离开发

> 在项目开发中,经常会出现这么一种情况:前端开发人员负责开发页面功能,后端开发人员负责提供数据接口,倘若后端开发人员提供接口的速度比前端开发人员开发页面功能的速度要慢的话,势必会造成不必要的工期滞缓。Mock 的出现弥补了这个缺陷,Mock 主要有以下两个特色: > - 提供了丰富的造数据能力,造假技术一流,能满足绝大多数的要求; > - 提供虚拟的 http 请求接口,用起来就像是真的是请求后端开发人员提供的数据接口一样。 ## 一、实例 - 创建项目,安装依赖包 安装 jquery 和 mockjs 依赖包,jquery 包用于发送 ajax 请求 ``` $ npm install jquery mockjs ``` - 新建 index.html 页面,内容如下: ``` 测试 Mock 拦截请求的功能 点击我发送 Ajax 请求 ``` - 打开页面,点击按钮,会看到下面的内容数据会不停变换,具体过程如下: - Mock 在这里模拟了服务端的数据接口; - Ajax 发送一个请求(请求 hello.json 这个地址); - Mock 接收所有 .json (正则表达式:/.json/)结尾的请求,并将造的假数据返回给 Ajax; - Ajax 的回调函数接收到数据后将数据打印到页面的 DIV 元素中用于展示。 ## 二、Mock 造假数据 > 这部分建议直接去 [Mock Github 文档](https...
dkvirus 发布于 2个月前 阅读 44

区块链?人工智能?2018 年你应该了解的十大技术趋势

领先的研究和咨询公司Gartner最近分享了2018年值得关注的十大技术趋势,我们不妨关注一下。
编辑部的故事 发布于 4天前 阅读 7700 评论 21 点赞 12

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

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

一张思维导图,让正则表达式不再难懂

一张精彩的导图  关注公众号回复“正则导图”即可下载xmind源文件   导图内容解析 语法结构 字符 普通字符:字母、数字、汉字、下划线,匹配与之相同的一个字符 简单转义字符:n(换行),t(制表),(本身)和 ^...(^等有特殊作用的符号如要匹配自己的话要用转义) 标准字符集合 注意区分大小写,大写是相反的意思,匹配相反是不匹配 d 任意一个数字,0~9 w 任意一个字母、数字、汉字或下划线,A~Z、a~z、0~9、_和任意一个汉字 s 任意空白符,包括空格、制表符、换行符 . 小数点可以匹配任意一个字符,换行除外(如果要匹配包括"n"在内的所有字符,一般用[sS]) 自定义字符集合 [ ]方括号匹配方式,能够匹配方括号中的任意一个字符,^表示取反 [ab5@] 匹配"a"或"b"或"5"或"@" [^abc] 匹配a、b、c之外的任意字符 [f-k] 匹配“f"到"k"之间的字符 [^A-F0-3] 匹配“A"-"F","0"-"3"之外的任意一个字符 量词(Quantifier) 修饰前面的一个表达式,如果要修饰多个表达式,就用( )把表达式包起来 {n} 表达式重复n次​ {m,n} 表达式至少重复m次,最多重复n次 贪婪模式 (默认) 匹配符合的最长的字符串 非贪婪模式 (在量词后面加 ? 例:{m,n}? ) 匹配符合的最短的字符...
java思维导图 发布于 1周前 阅读 9601 评论 23 点赞 38

jvm优化必知系列——监控工具

项目部署线上之后,我们该如何基于监控工具来快速定位问题....
wier 发布于 4天前 阅读 2812 评论 11 点赞 14

t-io对quartz的封装,以极简的方式来开发定时任务

定时任务不须多言,几乎是每个项目必备功能,而原生的quartz用起来着实有点哆嗦,市面上也有不少依赖spring的定时任务组件,因为笔者本人已经完全抛弃spring(笔者还抛弃了servlet),所以自己动手对quartz进行了简单封装,使其更容易开发和维护! 引入相关jar <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.t-io</groupId> <artifactId>tio-core</artifactId> <version>2.0.1.v20171015-RELEASE</version> </dependency>   创建任务类 import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * @author tanyaowu * 2017年10月8日 下午4:58:34 */ public class ZzzJob implements Job { public ZzzJob() { } /** * @param context * @throws JobExecutionException * @author: tanyaowu */ @Override public void execute(Jo...
talent-tan 发布于 7天前 阅读 2726 评论 25 点赞 7 打赏 1

9 大跨平台移动 App 开发工具推荐

如今,移动应用开发已经变得越来越重要,开发人员面临最大的挑战之一就是在多个平台上运行应用程序。最新的应用程序代码支持“一次编写,到处运行”(WORA)的概念,即只要在一个平台上编写代码一次,就可以在多个平台运行。本文我们将为大家介绍 9 个优秀的移动 App 开发工具,帮你在短时间内设计出最前沿、最高效的应用。 9、移动应用开发工具 Codename One Codename One是一个针对移动应用开发者的、开源的、跨平台的Java工具,旨在帮助Java开发者通过单一代码库来针对所有移动(智能手机和平板电脑)平台构建本地应用。 8、手机 Web 应用开发平台 PhoneGap PhoneGap 是一款HTML5平台,通过它,开发商可以使用HTML、CSS及JavaScript来开发本地移动应用程序。因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、bada、Winodws Phone以及Symbian。 7、开源手机应用开发平台 Appcelerator Appcelerator 是一个构建基于SOA的RIA应用的全集成平台,用来构建富应用、交互式的网站和应用程序。它是开源的。 6、手机上的 HTML5 框架 Sencha Touch ...
编辑部的故事 发布于 3天前 阅读 2572 评论 11 点赞 2

【码云周刊第 42 期】Unity 开发看这些就够了!

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

vue 指令基本使用大全

## 指令 - 解释:指令 (Directives) 是带有 `v-` 前缀的特殊属性 - 作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM ### 常用指令 - v-text - v-html - v-bind ### v-text - 解释:更新元素的 textContent ```html ``` ### v-html - 解释:更新元素的 innerHTML ```html ``` ### v-bind - 作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM - 语法:`v-bind:title="msg"` - 简写:`:title="msg"` ```html ``` ### v-on - 作用:绑定事件 - 语法:`v-on:click="say"` or `v-on:click="say('参数', $event)"` - 简写:`@click="say"` - 说明:绑定的事件从`methods`中获取 ```html ``` ### 事件修饰符 - `.stop` 阻止冒泡,调用 event.stopPropagation() - `.prevent` 阻止默认事件,调用 event.preventDefault() - `.capture` 添加事件侦听器时使用事件`捕获`模式 - `.self` 只当事件在该元素本身(比如不是子元素)触发时触发回调 - `.once` 事件只触发一次 ### v-model - 作用:在表单元素上创建双向数据绑定 - 说明:监听用户的输入事件以更新数据 ```html Message is: {{ message }} ``` ### v-for - 作用:基于源数据多次渲染元素...
不负好时光 发布于 1周前 阅读 3655 评论 8 点赞 11

疯狂Activiti6.0连载(十一)———Activiti6的流程控制逻辑

11 流程控制逻辑 本文节选自《疯狂Workflow讲义(第2版)》。 本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         本小节将以一个简单的例子,讲述Activiti关于流程处理的逻辑。 11.1 概述         在Activiti5以及jBPM4,对流程的控制使用的是流程虚拟机这套API,英文为Process Virtual Machine,简称PVM。PVM将流程中的各种元素抽象出来,形成了一套Java API。         新发布的Activiti6.0版本中,PVM及相关的API已经被移除,取而代之的是一套全新的逻辑,本小节将以一个例子,讲述这套全新逻辑,是如何进行流程控制的,本小节的案例,目的是为了让读者了解新版本Activiti是如何进行流程控制的。 11.2 设计流程对象         基于BPMN规范,Activiti创建了对应的模型,由于BPMN规范过于庞杂,为了简单起见,在本例中,我们也先创建自己的规范。代码清单18-1为一份定义我们自己流程的XML文档。         代码清单18-1:codes1818.1my-bpmnresourcemyBpmn.xml <?xml version="1.0" encoding="UTF-8"?> <process id="testProcess"> <start id="start" /> <flows> <flow id="flow1" source="start" target...
杨大仙的程序世界 发布于 4天前 阅读 1719 评论 12 点赞 2

基于Activiti扩展的工作流引擎OpenWebFlow

开源地址:https://gitee.com/bluejoe/openwebflow(欢迎star) 1.    OpenWebFlow概述 OpenWebFlow是基于Activiti扩展的工作流引擎。Activiti (官方网站http://activiti.org/,代码托管在https://github.com/Activiti/Activiti)是一个新兴的基于 Apache 许可的支持 BPMN 2.0 标准的开源 BPM 产品,它是一个轻量级,可嵌入的 BPM 引擎,并且提供了功能丰富的开发和流程设计工具。OpenWebFlow与业务应用系统之间的关系如下图所示。 相对于Activiti,OpenWebFlow扩展的功能包括: 1) 完全接管了Activiti对活动(activity)权限的管理。 Activiti允许在设计model的时候指定每个活动的执行权限,但是,业务系统可能需要根据实际情况动态设置这些任务的执行权限(如:动态的Group)。OpenWebFlow完全实现了与流程定义时期的解耦,即用户对活动的访问控制信息单独管理(而不是在流程定义中预先写死),这样有利于动态调整权限,详见自定义活动权限管理; 2) 完全接管了Activiti对用户表(IDENTITY_XXX表)的管理。 在标准的工作流定义中,每个节点可以指定其候选人和候选用户组,但是比较惨的是,Activiti绑架了用户信息表的设计!这个是真正致命的,因为几乎每个业务系统...
白乔 发布于 4天前 阅读 1569 评论 6 点赞 3

jvm优化—— 图解垃圾回收

jvm必知系列,总结一些常见jvm回收机制,方便查阅
wier 发布于 2周前 阅读 4033 评论 19 点赞 17

Spring Boot 整合 Thymeleaf 完整 Web 案例

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! Thymeleaf 是一种模板语言。那模板语言或模板引擎是什么?常见的模板语言都包含以下几个概念:数据(Data)、模板(Template)、模板引擎(Template Engine)和结果文档(Result Documents)。 - 数据 数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。 - 模板 模板,是一个蓝图,即一个与类型无关的类。编译器在使用模板时,会根据模板实参对模板进行实例化,得到一个与类型相关的类。 - 模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。 - 结果文档 一种特定格式的文档,比如用于网站的模板引擎就会生成一个标准的HTML文档。 模板语言用途广泛,常见的用途如下: - 页面渲染 - 文档生成 - 代码生成 - 所有 “数据+模板=文本” 的应用场景 这里案例用途自然是 页面渲染,下面在 Spring Boot 中整合 Thymel...
泥沙砖瓦浆木匠 发布于 6天前 阅读 766 评论 7 点赞 2

Python实现生命游戏

Python,生命游戏,matplotlib
江桃人 发布于 1周前 阅读 1302 评论 1 点赞 6

SpringMVC源码(四)-请求处理

111001001011100010111010111001001011110110100000111001111001101010000100111001011010010110111101111001011010010110000111111001011011111110000011111001111000001010111001111010001011010110011110
青离 发布于 5天前 阅读 589 评论 5

可直接嵌入业务系统为终端客户提供分析服务的阿里云分析型数据库

课程介绍 分析型数据库(AnalyticDB),是阿里巴巴自主研发的海量数据实时高并发在线分析(Realtime OLAP)云计算服务,使得您可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。分析型数据库对海量数据的自由计算和极速响应能力,能让用户在瞬息之间进行灵活的数据探索,快速发现数据价值,并可直接嵌入业务系统为终端客户提供分析服务。 产品详情:https://www.aliyun.com/product/ads 课时列表 课时1:产品和应用场景 课时2:开通、购买和创建 课时3:创建表组和表 课时4:写入和导入数据 课时5:本地客户端访问 开始学习http://click.aliyun.com/m/27851/
mcy0425 发布于 4天前 阅读 557

作为前端Web开发者,这12条基本命令不可不会

对于开发人员来说,终端是最重要的工具之一。掌握终端,能够有效的提升开发人员的工作流程。使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮。   本文列举了一系列 Linux 命令,旨在帮助大家充分利用终端这个工具。其中一些终端命令是内置的,其它的则是免费的工具,并且经过测试这些工具可以在不到一分钟内进行安装。   Curl Curl 是一个命令行工具,用于通过 HTTP(s)、FTP 和数十种其它协议进行请求。使用Curl可以进行文件下载、检查响应标题和自由访问远程数据。 在 Web 开发中,Curl 经常和 RESTful API 一起使用,用于测试连接。 # Fetch the headers of a URL. curl -I http://google.com HTTP/1.1 302 Found Cache-Control: private Content-Type: text/html; charset=UTF-8 Referrer-Policy: no-referrer Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ Content-Length: 258 Date: Wed, 09 Aug 2017 11:24:01 GMT # Make a GET request to a remote API. curl http://numbersapi.com/random/trivia 29 is the number of days it takes Saturn to orbit the Sun. Curl 命令可能比上述代码更复杂。有许多选项用于控制...
葡萄城控件技术团队 发布于 5天前 阅读 547 点赞 1

我为什么要黑JFinal?

不知道什么时候,流传了Beetl作者黑JFinal的故事,依据是我写了俩篇博客。 - [没看懂“重新定义模板引擎”?](https://my.oschina.net/xiandafu/blog/829499) - [关于极简编程的思考](https://my.oschina.net/xiandafu/blog/894155) 如果你是个技术爱好者,一定能看出来,我在文章中大部分都是摆事实讲道理,说我黑JFinal的人拿不出技术依据,只好在随后很多博客和论坛里对我个人进行了攻击,比如最近的一个文章: - [beetl作者闲大赋为什么如此自负和目中无人?](https://www.oschina.net/question/3631543_2266929),这篇文章在OSChina头条已经快一个月了。 另外还有很多Jfinal粉丝的马甲发的博客对我个人进行了人品攻击,在此就不一一列举了。 每次都有朋友像我求证,问我怎么回事,我在这里做一下申明 ### JFinal首先在文章中攻击了Beetl JFinal以前并不具备模板引擎功能,因此很多功能都受到限制,包括模板,还有模仿BeetlSQL的新的功能。它在3.0中能推出了模板引擎本来是个很好的事情,却在新闻里发表了“[JFinal 3.0 发布,重新定义模板引擎](/news/81225/jfinal-3-0-released)”。里面首先攻击了Beetl的基础Antlr,自以为写了一个解析器,就...
闲大赋 发布于 1周前 阅读 3946 评论 170 点赞 15 打赏 1

大规模并行批处理作业的分布式云服务——批量计算使用教程

课程介绍 批量计算(BatchCompute)是一种适用于大规模并行批处理作业的分布式云服务。BatchCompute可支持海量作业并发规模,系统自动完成资源管理,作业调度和数据加载,并按实际使用量计费。BatchCompute广泛应用于电影动画渲染、生物数据分析、多媒体转码、金融保险分析、科学计算等领域。 产品详情:https://www.aliyun.com/product/batchcompute 课时列表 课时1:Docker应用使用演示 课时2:控制台提交和管理作业 课时3:命令行工具安装和配置 课时4:命令行工具提交和管理作业 课时5:云渲染管理系统使用演示 课时6:自定义镜像 开始学习http://click.aliyun.com/m/27858/
mcy0425 发布于 3天前 阅读 535

域名解析产品——HTTPDNS使用教程

课程介绍 HTTPDNS是面向移动开发者推出的一款域名解析产品,具有域名防劫持、精准调度的特性。 HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 产品详情:https://www.aliyun.com/product/httpdns 课时列表 课时1:HTTPDNS-快速开始 课时2:HTTPDNS-最佳实践 课时3:HTTPDNS-管理控制台使用 课时4:HTTPDNS-Android接入指南 课时5:HTTPDNS-iOS接入指南 课时6:HTTPDNS-HTTP API说明 课时7:HTTPDNS-技术支持 课时8:HTTPDNS-控制台API说明 开始学习http://click.aliyun.com/m/27878/
mcy0425 发布于 6天前 阅读 512

阿里云移动测试平台使用教程

课程介绍 移动测试(Mobile Testing)是为广大企业客户和移动开发者提供真机测试服务的云平台,拥有大量热门机型,提供7x24全天候服务,帮助客户发现APP中的各类隐患(应用崩溃、各类兼容性问题、功能性问题、性能问题等),减少用户流失,提高APP质量和市场竞争力。 产品详情:https://www.aliyun.com/product/mqc 课时列表 课时1:移动测试快速接入 课时2:提交Android测试任务 课时3:提交iOS测试任务 课时4:使用Android远程真机租用 课时5:使用Android在线录制 开始学习http://click.aliyun.com/m/27868/
mcy0425 发布于 5天前 阅读 512

学会容器服务帮你打造Docker云端最佳运行环境

课程介绍 容器服务提供高性能可伸缩的容器应用管理服务,支持用Docker容器进行应用生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。容器服务简化了容器管理集群的搭建工作,整合了阿里云虚拟化、存储、网络和安全能力,打造Docker云端最佳运行环境。 产品详情:https://www.aliyun.com/product/containerservice 课时列表 课时1:如何快速搭建WordPress应用 课时2:如何基于Jenkins实现DevOps 课时3:如何实现深度学习模型开发 课时4:如何做深度学习模型开发 课时5:如何运行TensorFlow分布式训练 开始学习:http://click.aliyun.com/m/27845/
mcy0425 发布于 2天前 阅读 499

Oracle 用户(user)和模式(schema)的区别

Oracle 用户(user)和模式(schema)的区别 概述: (一)什么Oracle叫用户(user):   A user is a name defined in the database that can connect to and access objects. 大意:Oracle用户是用连接数据库和访问数据库对象的。(用户是用来连接数据库访问数据库)。 (二)什么叫模式(schema):   A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data. 大意:模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。(把数据库对象用模式分开成不同的逻辑结构)。 (三)用户(user)与模式(schema)的区别:   Schemas and users help database administrators manage database security. 大意:用户是用来连接数据库对象。而模式用是用创建管理对象的。(模式跟用户在oracle 是一对一的关系。)   详解:   从官方的定义中,我们可以看出schema为数据库对象的集合。为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到 的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema。schema里面包含了各种对...
独钓渔 发布于 4小时前 阅读 4

Java定时任务调度工具Timer

前言: 首先我们先明确一下什么是定时任务调度? 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务。 Java中定时任务调动工具有俩:Timer 、Quartz 区别:     出身不同:Timer由jdk直接提供,不需jar包支持;Quartz需引入jar包。     能力不同:Timer简单定时任务;Quartz时间控制功能更强大。     底层机制:Timer只有一个后台线程执行;Quartz是多线程执行任务。 一.Timer简介:     让我们看下官方文档api(JDK1.8) 可能有的小伙伴英语水平不太好,那让我们看下中文版吧:   那么我们可以归纳Timer的定义:有且仅有一个后台线程对多个业务线程进行定时定频率的调度 主要构件:   Timer工具类详解: 二.Timer实战 1.简单实战 1)定时任务类 package com.leo.timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { private String name; public MyTimerTask(String inputName){ name=inputName; } @Override public void run() { //打印当前name的内容 System.out.println("Current exec name is"+name); } public String getName() { ...
悟空悟不空 发布于 4小时前 阅读 5

AngularDart4.0 英雄之旅-教程-03英雄编辑器

AngularDart4.0 英雄之旅-教程-英雄编辑器
scooplol 发布于 5小时前 阅读 1

linux 配置ssh免密登录

准备工作:     1、确认本机sshd的配置文件(需要root权限)   $ vi /etc/ssh/sshd_config   找到以下内容,并去掉注释符”#“   RSAAuthentication yes   PubkeyAuthentication yes   AuthorizedKeysFile      .ssh/authorized_keys    2、如果修改了配置文件需要重启sshd服务 (需要root权限)    /sbin/service sshd restart   (systemctl restart sshd) 配置SSH无密码登录需要3步:     1.生成公钥和私钥     2.导入公钥到认证文件,更改权限     3.测试 1.生成公钥和私钥   Shell代码:  ssh-keygen -t rsa       默认在 ~/.ssh目录生成两个文件(eg:/root/.ssh):     id_rsa      :私钥     id_rsa.pub  :公钥 2.导入公钥到认证文件,更改权限     2.1 导入本机         Shell代码:  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys       2.2 导入要免密码登录的服务器         首先将公钥复制到服务器         Shell代码:  scp ~/.ssh/id_rsa.pub xxx@host:/home/id_rsa.pub           然后,将公钥导入到认证文件(这一步的操作在服务器上进行)         Shell代码:  cat /home/id_rsa....
流萤飘枫丶 发布于 5小时前 阅读 2

RN与原生的通信-android(选择联系人例子)

RN与原生的通信: RN触发android原生的方法:(启动一个原生Activity) 开发意图一定要加这句:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 实例:RN调用原生的界面,用户操作原生界面后将结果发送给RN侧边(从RN侧启动Android)原生的选择联系人界面,用户选择后,将其电话号码发送给RN侧)  
洪春生 发布于 5小时前 阅读 1

IndexedDB:浏览器里内置的数据库

IndexedDB是HTML5规范里新出现的浏览器里内置的数据库。对于在浏览器里存储数据,你可以使用cookies或local storage,但它们都是比较简单的技术,而IndexedDB提供了类似数据库风格的数据存储和使用方式。存储在IndexedDB里的数据是永久保存,不像cookies那样只是临时的。IndexedDB里提供了查询数据的功能,在online和offline模式下都能使用。你可以用IndexedDB存储大型数据。 IndexedDB里数据以对象的形式存储,每个对象都有一个key值索引。IndexedDB里的操作都是事务性的。一种对象存储在一个objectStore里,objectStore就相当于关系数据库里的表。IndexedDB可以有很多objectStore,objectStore里可以有很多对象。每个对象可以用key值获取。 IndexedDB vs LocalStorage IndexedDB和LocalStorage都是用来在浏览器里存储数据,但它们使用不同的技术,有不同的用途,你需要根据自己的情况适当的选择使用哪种。LocalStorage是用key-value键值模式存储数据,但跟IndexedDB不一样的是,它的数据并不是按对象形式存储。它存储的数据都是字符串形式。如果你想让LocalStorage存储对象,你需要借助JSON.stringify()能将对象变成字符串形式,再用JSON.parse()将字符串还原成对象。但如...
今天来找bug 发布于 5小时前 阅读 3

树莓派3安装centos7以及相关设置

本文永久地址:https://my.oschina.net/bysu/blog/1554410 下载地址: http://mirror.centos.org/altarch/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1708-RaspberryPi3.img.xz 解压后,本地目录多了个img文件.使用Win32DiskImager.exe写入sd卡. 把sd卡插入树莓派的卡槽上,网线连上路由器,通电,登录路由器后台,查看路由器分配给树莓派的ip地址. 通过ssh连接树莓派,账户root,密码centos. 1.关闭默认防火墙启用iptables防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) 更换iptables防火墙(这里iptables已经安装,下面进行配置) vi/etc/sysconfig/iptables #编辑防火墙配置文件 # sampleconfiguration for iptables service # you can edit thismanually or use system-config-firewall # please do not askus to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT[0:0] :OUTPUT ACCEPT[0:0] -A INPUT -m state--state RELATED,ESTABLISHED -j ACC...
不最醉不龟归 发布于 6小时前 阅读 3

《将博客搬至CSDN》

《将博客搬至CSDN》
AllenOR灵感 发布于 6小时前 阅读 4

mysql-5.7.18-winx64安装过程遇到的一些问题

mysql免安装版
to_ln 发布于 6小时前 阅读 1

shared_ptr使用(作为类的内部变量)

#include <iostream> #include <boost/shared_ptr.hpp> class test { public: test(){std::cout << "test 被创建为空" << std::endl;} test(const char* str):s(new std::string(str)){std::cout << "test 被创建" << std::endl;} //~test(){std::cout << "test 被析构" << std::endl; std::cout << *s << std::endl;} ~test(){std::cout << "test 被析构" << std::endl; } private: boost::shared_ptr<std::string> s; }; class mysql_cfg_t { private: boost::shared_ptr<std::string> ip; boost::shared_ptr<test> t; public: mysql_cfg_t(const char* ip):ip(new std::string(ip)),t(new test()){} ~mysql_cfg_t(){std::cout << "mysql_cfg_t 被析构" << std::endl;} void set_test(const char* n){t.reset(new test(n));} }; boost::shared_ptr<mysql_cfg_t> v() { boost::shared_ptr<mysql_cfg_t> mysql( new mysql_cfg_t("127.0.0.1")); std::cout << "do nothing" << std::endl; mysql->set_test("b"); return mysql; } int main() { std::cout << "<<>>" << std::endl; boost::shared_ptr<...
mskk 发布于 6小时前 阅读 4

Docker入门命令:开发人员版

一年半载不接触,好多命令忘记了。。
RippleChan 发布于 6小时前 阅读 7

iOS 11 下 UICollectionView 出现滚动条被 HeaderView 遮挡的问题

## iOS 11 下 UICollectionView 出现滚动条被 HeaderView 遮挡的问题 > 在使用了`- collectionView: viewForSupplementaryElementOfKind: atIndexPath:`的 UICollectionView 页面中,滑动页面的时候滚动条会被 HeaderView 遮挡。导致滚动条看起来是断断续续的。 问题页面如下图所示(查看滚动条): ![](https://static.oschina.net/uploads/img/201710/21225149_2eZY.png "在这里输入图片标题") 以上问题具体是否与使用了 `- collectionView: viewForSupplementaryElementOfKind: atIndexPath:` 有关目前还不确定,待验证。 这个问题在之前的 iOS 10 上是没有的,iOS 11 新出之后才出现。经过在 stackoverflow 上查找之后找到解决办法。[https://stackoverflow.com/questions/46694144/scrollbar-incorrectly-appears-underneath-uicollectionview-section-header](https://stackoverflow.com/questions/46694144/scrollbar-incorrectly-appears-underneath-uicollectionview-section-header) stackoverflow 中提供的是 swift 中的解决办法,我自己则使用的是 Objective-C。 > 提示:解决这个问题只是更改了继承自 `UICollectionReusableView` 的自定义 HeaderView 类文件...
宜铜铜 发布于 6小时前 阅读 4

java基础专栏—ThreadSafe

笔者在java学习的这条道路上也是断断续续走了一年多了,视频啊,书籍啊什么的也看了好几遍了,真的是java从入门到放弃啊,哈哈,看的多了一渐渐的明白了一点东西,笔者整理了一些自己的学习笔记,在此与大家分享,不喜勿喷,多多指教,万分感谢。
T-newcomer 发布于 6小时前 阅读 2

C#处理MySQL的查询和写入

C#操作MySQL的查询和写入代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data.MySqlClient; namespace MySQL数据库操作 { class Program { static void Main(string[] args) { //connectInfo 储存哪个数据库即Database;哪个ipDataSource;哪个端口号port;哪个数据库账号userid;指定数据库密码passward; string connectInfo = "Database=mygame;Data Source=127.0.0.1;port=3306;userid=root;password=root"; //创建一个数据库链接 MySqlConnection connect = new MySqlConnection(connectInfo); //打开数据库链接 connect.Open(); #region 查询 //创建数据库命令,有两个参数,第一个参数是数据库操作命令,第二个是数据库链接 //MySqlCommand cmd = new MySqlCommand("select * from usersinfo where id_usersinfo = 6", connect); //使用读取命令 //MySqlDataReader reader = cmd.ExecuteReader(); ...
NickHomeSelf 发布于 6小时前 阅读 3

php curl 400

程序里面使用 curl 访问接口, 报400错误,win 下正常, 上到 linux 报400 错误,postman 和浏览器都能正常访问接口, 查阅资料后反现是** curl 版本问题**, 当curl 使用 post 方式访问接口,而post 数据又为空时就会出现这种情况, 解决: 添加任意一个 post 字段 ``` curl_setopt($ch, CURLOPT_POSTFIELDS, 'xx=xxx'); ```
jack_0110 发布于 7小时前 阅读 2

“从相遇到深爱-Nodejs”-模块机制

与其他高级语言相比,如Java有类文件,Python有import机制,Ruby有require,PHP有include和require,JavaScript先天就缺乏的一项功能:**模块** ## 1 CommonJS规范 ### 1.1 CommonJS的出发点 Web发展中,浏览器中出现了很多的标准API,这些过程发生在前端,后端JavaScript的规范却远远落后。主要有以下缺陷: - 没有模块库 - 标准库较少。ECMAScript(官方规范)仅定义了部分核心库,对于文件系统、IO流等常见需求却没有标准的API。 - 没有标准接口 - 缺乏包管理系统 Node借鉴CommonJS的Modules规范实现了一套非常易用的模块系统,NPM对Packages规范的完好支持使得Node应用在开发过程中事半功倍。 ### 1.2 CommonJS的模块规范 1.模块引用 ``` var math = require('math'); ``` 使用require将模块引入到当前上下文。 2.模块定义 上下文提供了exports对象用于导出当前模块的方法或者变量,并且它是唯一导出的出口。在模块中,还存在一个module对象,它代表模块自身,而exports是module的属性。在Node中,一个文件就是一个模块。 ``` // math.js exports.add = function(){ var sum = 0, i = 0, args = arguments, l = args.length; while(i < 1){ sum += args[i++]; } return...
sunangie 发布于 7小时前 阅读 4

线程池参数和实践

一直在用,总结一下,新手容易搞混,其实很简单的。
会飞的蝌蚪 发布于 7小时前 阅读 4

DevStack 自动化安装

导读 Lightbot  Devstack目前是支持Ubuntu 14.04和CentOS 7,不过全球的OpenStack开发者,大部分都在用Ubuntu 14.04。所以为了减少麻烦,还是建议你使用Ubuntu 14.04。默认无论是Devstack和OpenStack,都是采用Master的代码进行安装,这样经常会出现,今天安装成功,明天失败,代码时刻在变化。所以我们不仅仅要指定OpenStack的版本,还需要指定Devstack的版本,才能提供安装成功的概率。 1、环境准备 我使用的操作系统为Ubuntu 14.04的版本,默认的软件包源是国外的,速度相对来说比较慢,所以我们修改文件/etc/apt/sources.list,更改为如下内容。 deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse  deb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse  deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse  deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse  deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 或者使用如下命令更新...
问题终结者 发布于 8小时前 阅读 5

用户管理相关配置文件及命令-2

usermod、passwd、mkpasswd
Lu_Castiel 发布于 8小时前 阅读 3

Spring Mybatis实例SqlSessionDaoSupport混用xml配置和注解

一、表(这里用mysql,数据库名为yiibai)  CREATE TABLE `user` ( `id` int(10) UNSIGNED NOT NULL, `name` varchar(64) NOT NULL DEFAULT '', `dept` varchar(254) NOT NULL DEFAULT '', `website` varchar(254) DEFAULT '', `phone` varchar(16) NOT NULL DEFAULT '', `birthday` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Indexes for table `user` -- ALTER TABLE `user` ADD PRIMARY KEY (`id`); 二、表相应的实体类User.java以及mybatis表map配置文件User.xml package com.yiibai.mybatis.models; import java.util.Date; public class User { public User(int id, String name, String dept, String phone, String website, Date birthday) { super(); this.id = id; this.name = name; this.dept = dept; this.phone = phone; this.website = website; this.birthday = birthday; } public User() { super(); // TODO 自动生成的构造函数存根 } private int id; private String name; private String dept; private String phone; private String website; private D...
wangxuwei 发布于 8小时前 阅读 4

【区块链】以太坊区块链技术初探

LinApex个人简介     今年刚接触到区块链网络,奋斗在数字货币交易平台,底层框架设计,区块链钱包,区块链解决方案一线,做过人工智能,金融支付行业,目前正在做一款区块链+黄金的App系统。   连载系列(基于以太坊)     开发系列         1、【区块链】以太坊区块链技术初探         2、【区块链】以太坊区块链环境搭建         3、【区块链】以太坊区块链概念了解         4、【区块链】以太坊区块链技术进阶     源码系列         1、【以太坊源码】编译以太坊源码,打造自己的公链私链         2、【以太坊源码】以太坊源码研究系列(以太坊模拟机、挖矿、点对点网络库、节点发现、合约代码传输、加密签名等)   区块链基本概念     区块链就是通过密码学的方式形成的一个由集体维护的分布式数据库。     区块链的概念最近很火,它来自于比特币等加密货币的实现,但是目前,这项技术已经逐步运用在各个领域。什么是区块链技术?为了感性认识这个问题,我们可以使用谷歌地球的例子做类比,ajax不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P网络...
linapex 发布于 2天前 阅读 670 评论 7 点赞 2

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

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

jvm优化必知系列——监控工具

项目部署线上之后,我们该如何基于监控工具来快速定位问题....
wier 发布于 4天前 阅读 2812 评论 11 点赞 14

基于Activiti扩展的工作流引擎OpenWebFlow

开源地址:https://gitee.com/bluejoe/openwebflow(欢迎star) 1.    OpenWebFlow概述 OpenWebFlow是基于Activiti扩展的工作流引擎。Activiti (官方网站http://activiti.org/,代码托管在https://github.com/Activiti/Activiti)是一个新兴的基于 Apache 许可的支持 BPMN 2.0 标准的开源 BPM 产品,它是一个轻量级,可嵌入的 BPM 引擎,并且提供了功能丰富的开发和流程设计工具。OpenWebFlow与业务应用系统之间的关系如下图所示。 相对于Activiti,OpenWebFlow扩展的功能包括: 1) 完全接管了Activiti对活动(activity)权限的管理。 Activiti允许在设计model的时候指定每个活动的执行权限,但是,业务系统可能需要根据实际情况动态设置这些任务的执行权限(如:动态的Group)。OpenWebFlow完全实现了与流程定义时期的解耦,即用户对活动的访问控制信息单独管理(而不是在流程定义中预先写死),这样有利于动态调整权限,详见自定义活动权限管理; 2) 完全接管了Activiti对用户表(IDENTITY_XXX表)的管理。 在标准的工作流定义中,每个节点可以指定其候选人和候选用户组,但是比较惨的是,Activiti绑架了用户信息表的设计!这个是真正致命的,因为几乎每个业务系统...
白乔 发布于 4天前 阅读 1569 评论 6 点赞 3

疯狂Activiti6.0连载(十一)———Activiti6的流程控制逻辑

11 流程控制逻辑 本文节选自《疯狂Workflow讲义(第2版)》。 本书代码目录:https://gitee.com/yangenxiong/CrazyActiviti         本小节将以一个简单的例子,讲述Activiti关于流程处理的逻辑。 11.1 概述         在Activiti5以及jBPM4,对流程的控制使用的是流程虚拟机这套API,英文为Process Virtual Machine,简称PVM。PVM将流程中的各种元素抽象出来,形成了一套Java API。         新发布的Activiti6.0版本中,PVM及相关的API已经被移除,取而代之的是一套全新的逻辑,本小节将以一个例子,讲述这套全新逻辑,是如何进行流程控制的,本小节的案例,目的是为了让读者了解新版本Activiti是如何进行流程控制的。 11.2 设计流程对象         基于BPMN规范,Activiti创建了对应的模型,由于BPMN规范过于庞杂,为了简单起见,在本例中,我们也先创建自己的规范。代码清单18-1为一份定义我们自己流程的XML文档。         代码清单18-1:codes1818.1my-bpmnresourcemyBpmn.xml <?xml version="1.0" encoding="UTF-8"?> <process id="testProcess"> <start id="start" /> <flows> <flow id="flow1" source="start" target...
杨大仙的程序世界 发布于 4天前 阅读 1719 评论 12 点赞 2

SpringMVC配置太多?试试SpringBoot

SpringMVC相信大家已经不再陌生了,大家可能对于Spring的各种XML配置已经产生了厌恶的感觉,Spring官方发布的Springboot 已经很长时间了,Springboot是一款“约定优于配置”的轻量级框架;Springboot首先解决的就是各种繁琐的XML配置,你可以不用任何XML配置,进行web服务的搭建,其次是Springboot本身就继承了web服务器,如果说前端开发人员想在本地启动后端服务不需要进行各种配置,几乎可以做到一键启动。 再有就是目前大热的微服务,而Springboot恰恰满足了快速开发微服务的开发场景;对于目前主流的框架Spring+MyBatis+redis的集成,好吧直接看代码... 以下代码是整个开发框架集成完之后的,关于Spring官方那一套如何编写启动类,如何配置端口这些随便google一大把的我就不再本文说明了。下面的代码,mybatis mapper我就不贴了,平常怎么写现在也一样,还有redis存数据取数据什么的。本文给的都是划的重点啊! 1.数据源以及其他的配置文件(PS:说好了不配置,怎么刚开始就上配置? 答:不配置也可以,如果你想把数据源硬编码写死的话。^_^) 下面给的是YML的配置文件方式,YML被各种主流的开发语言所支持,相当于常见的.properties文件。 jedis : pool : hos...
红暑 发布于 6天前 阅读 3926 评论 43 点赞 10

t-io对quartz的封装,以极简的方式来开发定时任务

定时任务不须多言,几乎是每个项目必备功能,而原生的quartz用起来着实有点哆嗦,市面上也有不少依赖spring的定时任务组件,因为笔者本人已经完全抛弃spring(笔者还抛弃了servlet),所以自己动手对quartz进行了简单封装,使其更容易开发和维护! 引入相关jar <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.t-io</groupId> <artifactId>tio-core</artifactId> <version>2.0.1.v20171015-RELEASE</version> </dependency>   创建任务类 import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * @author tanyaowu * 2017年10月8日 下午4:58:34 */ public class ZzzJob implements Job { public ZzzJob() { } /** * @param context * @throws JobExecutionException * @author: tanyaowu */ @Override public void execute(Jo...
talent-tan 发布于 7天前 阅读 2726 评论 25 点赞 7 打赏 1

一张思维导图,让正则表达式不再难懂

一张精彩的导图  关注公众号回复“正则导图”即可下载xmind源文件   导图内容解析 语法结构 字符 普通字符:字母、数字、汉字、下划线,匹配与之相同的一个字符 简单转义字符:n(换行),t(制表),(本身)和 ^...(^等有特殊作用的符号如要匹配自己的话要用转义) 标准字符集合 注意区分大小写,大写是相反的意思,匹配相反是不匹配 d 任意一个数字,0~9 w 任意一个字母、数字、汉字或下划线,A~Z、a~z、0~9、_和任意一个汉字 s 任意空白符,包括空格、制表符、换行符 . 小数点可以匹配任意一个字符,换行除外(如果要匹配包括"n"在内的所有字符,一般用[sS]) 自定义字符集合 [ ]方括号匹配方式,能够匹配方括号中的任意一个字符,^表示取反 [ab5@] 匹配"a"或"b"或"5"或"@" [^abc] 匹配a、b、c之外的任意字符 [f-k] 匹配“f"到"k"之间的字符 [^A-F0-3] 匹配“A"-"F","0"-"3"之外的任意一个字符 量词(Quantifier) 修饰前面的一个表达式,如果要修饰多个表达式,就用( )把表达式包起来 {n} 表达式重复n次​ {m,n} 表达式至少重复m次,最多重复n次 贪婪模式 (默认) 匹配符合的最长的字符串 非贪婪模式 (在量词后面加 ? 例:{m,n}? ) 匹配符合的最短的字符...
java思维导图 发布于 1周前 阅读 9601 评论 23 点赞 38

vue 指令基本使用大全

## 指令 - 解释:指令 (Directives) 是带有 `v-` 前缀的特殊属性 - 作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM ### 常用指令 - v-text - v-html - v-bind ### v-text - 解释:更新元素的 textContent ```html ``` ### v-html - 解释:更新元素的 innerHTML ```html ``` ### v-bind - 作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM - 语法:`v-bind:title="msg"` - 简写:`:title="msg"` ```html ``` ### v-on - 作用:绑定事件 - 语法:`v-on:click="say"` or `v-on:click="say('参数', $event)"` - 简写:`@click="say"` - 说明:绑定的事件从`methods`中获取 ```html ``` ### 事件修饰符 - `.stop` 阻止冒泡,调用 event.stopPropagation() - `.prevent` 阻止默认事件,调用 event.preventDefault() - `.capture` 添加事件侦听器时使用事件`捕获`模式 - `.self` 只当事件在该元素本身(比如不是子元素)触发时触发回调 - `.once` 事件只触发一次 ### v-model - 作用:在表单元素上创建双向数据绑定 - 说明:监听用户的输入事件以更新数据 ```html Message is: {{ message }} ``` ### v-for - 作用:基于源数据多次渲染元素...
不负好时光 发布于 1周前 阅读 3655 评论 8 点赞 11

源码分析之ThreadLocal

前言 Java项目中通常为了并发数据准确性经常使用Lock或者synchronized来作为并发的手段。 也就是说作为共享资源必然需要通过同步等手段来实现。那么转换一下思路, 我们确实在每个地方都需要用到共享资源么? 如果我们所有的变量都是私有的 那自然不需要同步就是thread-safe的 ThreadLocal就是这样应运而生。人如其名就是线程私有对象。 实现 ThreadLocal /* <p>Each thread holds an implicit reference to its copy of a thread-local * variable as long as the thread is alive and the <tt>ThreadLocal</tt> * instance is accessible; after a thread goes away, all of its copies of * thread-local instances are subject to garbage collection (unless other * references to these copies exist). * * @author Josh Bloch and Doug Lea * @since 1.2 */ public class ThreadLocal<T> { /** * ThreadLocals rely on per-thread linear-probe hash maps attached * to each thread (Thread.threadLocals and * inheritableThreadLocals). The ThreadLocal objects act as keys, * searched via threadLocalHashCode. This...
Mr_Qi 发布于 1周前 阅读 2152 评论 7 点赞 5

jvm优化—— 图解垃圾回收

jvm必知系列,总结一些常见jvm回收机制,方便查阅
wier 发布于 2周前 阅读 4033 评论 19 点赞 17

JavaScript中错误正确处理方式,你用对了吗?

JavaScript的事件驱动范式增添了丰富的语言,也是让使用JavaScript编程变得更加多样化。如果将浏览器设想为JavaScript的事件驱动工具,那么当错误发生时,某个事件就会被抛出。理论上可以认为这些发生的错误只是JavaScript中的简单事件。 本文将会讨论客户端JavaScript中的错误处理。主要介绍JavaScript中的易犯错误、错误处理、异步代码编写等内容。 下面就让我们一起看看如何正确处理JavaScript中的错误。   Demo演示 本文中使用的demo可以在GitHub上找到,运行之后会是这样的页面: 每个按钮都会引发一个“错误(Exception)”,同时这个错误会模拟出一个被抛出的异常TypeError。下面是模块的定义: // scripts/error.js function error() { var foo = {}; return foo.bar(); } 首先,这个函数声明了一个空对象foo。需要注意的是,bar( )未在任何地方定义。接下来验证这个单元测试是否会引发“错误”: // tests/scripts/errorTest.js it('throws a TypeError', function () { should.throws(error, TypeError); }); 这个单元测试在Mocha中,同时在 Should.js中有测试声明。Mocha是测试运行工具,而Should.js是断言库。这个单元测试运行在Node上,不需要使用浏览...
葡萄城控件技术团队 发布于 2周前 阅读 2677 评论 7 点赞 3

golang 标准库间依赖的可视化展示

国庆看完 << Go 语言圣经 >>,总想做点什么,来加深下印象.以可视化的方式展示 golang 标准库之间的依赖,可能是一个比较好的切入点.做之前,简单搜了下相关的内容,网上也要讨论,但是没有发现直接能拿过来用的.标准库之间,是必然存在依赖关系的,不同库被依赖的程度必然是不一样的.但究竟有多大差别呢?
ios122 发布于 2周前 阅读 2641 评论 5 点赞 3

疯狂Spring Cloud连载(六)——负载均衡框架Ribbon介绍

6 负载均衡框架Ribbon介绍         本文节选自《疯狂Spring Cloud微服务架构实战》,本书将于2017年11月出版。         Spring Cloud教学视频:https://my.oschina.net/JavaLaw/blog/1552993                  本书代码共享地址:https://gitee.com/yangenxiong/SpringCloud                  本文要点              认识Ribbon              第一个Ribbon程序         负载均衡是分布式架构的重点,负载均衡机制将决定着整个服务集群的性能与稳定。根据前面章节可知,Eureka服务实例可以进行集群部署,每个实例都均衡处理服务请求,那么这些请求是如何被分摊到各个服务实例中的?本章将讲解Netflix的负载均衡项目Ribbon。   6.1 Ribbon介绍 6.1.1 Ribbon简介         Ribbon是Netflix下的负载均衡项目,它在集群中为各个客户端的通信提供了支持,它主要实现中间层应用程序的负载均衡。Ribbon提供以下特性:               负载均衡器,可支持插拔式的负载均衡规则。               对多种协议提供支持,例如HTTP、TCP、UDP。        ...
杨大仙的程序世界 发布于 2周前 阅读 2956 评论 9 点赞 4

jQuery实现放大镜效果

相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果。 在接下来的博文中,将向大家介绍通过jQuery实现放大镜效果。
爱敲代码的程序员 发布于 2周前 阅读 1814 评论 6 点赞 5

深度思考Spark Runtime机制

序言 在以往的博客一天一个函数系列中,我们集中精力攻克了一座又一座的spark中那些晦涩的语法,收获了不少知识。如果以战喻,那就是我们的游击战取得了局部的显著效果。但是要想撼动整个spark-streaming大厦,还需要对整个运行时的机制有一个深入性的了解,知道所谓的接口应用,调用都是一些工程性封装好的东西,这些只要经过熟练的训练即可,但是想要更好的运用,就必须从底层了解它的机制。 在深入理解运行时机制之前,我建议大家思考一下这个问题,为什么spark采用的计算模型是以宽依赖为分界线的DAG模式?在我看来有以下几个优势在里面,第一点是按照不同的stage划分,使得计算更加高效,窄依赖诸如x平方,可以直接以pipe的形式进行操作,而宽依赖诸如(x+y)的平方,它需要等父依赖就绪后才能计算,所以这样的划分能够使计算速率最大化。第二点是,由于分布式集群的不可控性,我们的数据可能要随时落盘,这样一来由于我们采用的是stage模式的处理,我们就可以将中间结果保存在磁盘上,而不会发生由于宕机使得数据全部丢失的情况。 基于以上概念,我们来谈谈一些专业术语以及spark运行时的架构。 Terminologies SparkContext SparkContext是整个Spark Application的核...
牧师-Panda 发布于 2周前 阅读 785 评论 2 点赞 2

TeamFlowy——结合Teambition与Workflowy

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

Java9之HttpClientAPI实战详解

Java9之HttpClientAPI实战详解 前言 相信关注java9的小伙伴们都知道java9版本内置模块提供了Http功能,当然并不是说之前jdk之前并不支持,那么这次更新又多了什么呢?或者是解决了什么问题? 说明 自JDK 1.0以来,Java已经支持HTTP/1.1。 HTTP API由java.net包中的几种类型组成。 现有的API有以下问题: 它被设计为支持多个协议,如http,ftp,gopher等,其中许多协议不再被使用。 太抽象了,很难使用。 它包含许多未公开的行为。 它只支持一种模式,阻塞模式,这要求每个请求/响应有一个单独的线程。 2015年5月,IETF(Internet Engineering Task Force)发布了HTTP/2规范。 有关HTTP/2规范的完整文本,请访问https://tools.ietf.org/html/rfc7540。 HTTP/2不会修改应用程序级语义。 也就是说,对应用程序中的HTTP协议的了解和使用情况并没有改变。 它具有更有效的方式准备数据包,然后发送到客户端和服务器之间的电线。 所有之前知道的HTTP,如HTTP头,方法,状态码,URL等都保持不变。 HTTP/2尝试解决与HTTP/1连接所面临的许多性能相关的问题: HTTP/2支持二进制数据交换,来代替HTTP/1.1支持的文本数据。 HTTP/2支持多路复用和并发,这意味着多个数据交换可以同时发生...
路上有你0314 发布于 3周前 阅读 2926 评论 6 点赞 6

Java 9 中的 GC 调优基础

在经过了几次跳票之后,Java 9终于在原计划日期的整整一年之后发布了正式版。Java 9引入了很多新的特性,除了闪瞎眼的Module System和REPL,最重要的变化我认为是默认GC(Garbage Collector)修改为新一代更复杂、更全面、性能更好的G1(Garbage-First)。JDK的维护者在GC选择上一直是比较保守的,G1从JDK 1.6时代就开始进入开发者的视野,直到今天正式成为Hotspot的默认GC,也是走了很长的路。 本文将主要讲解GC调优需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。由于在这次写作过程中,恰逢Java 9正式版发布,之前都是依赖Java 8的文档写的,如果有不正确的地方还望指正。本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC调优方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM的内存结构,JVM内存中主要有以下几个区域:堆、方法区(JVM规范中的叫法,Hotspot大致对应的是Metaspace)、栈、本地方法栈、PC等,其中GC主要作用在堆上,如下图所示: JVM内存结构 其中堆和方法区...
心梦无双 发布于 3周前 阅读 1847 评论 8 点赞 5

常见JS动画效果

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

JavaScript 闭包

JavaScript 的闭包原理和详解
唯情 发布于 3周前 阅读 1874 评论 11 点赞 9
顶部