开源中国

我们不支持 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 发布于 6小时前 阅读 163

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

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

CSS深入理解之border

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

Golang的docker尝试

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

Go圣经-学习笔记入门bufio

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

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

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

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

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

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

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

认识Vue.js的组件和模板

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

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

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

关于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 发布于 1天前 阅读 261

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

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

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

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

提高效率,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天前 阅读 240

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

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

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

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

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

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

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

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

CSS深入理解之border

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

Spring cloud 微服务安全解决方案

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

libcurl使用ip直连https在实际场景中的应用

起因 开发的产品使用到的某服务器后台接口,因为业务的特殊性,在常规的host访问失败时,需要前端再使用指定的ip访问,而且是https。 开始 使用ip访问https的首要问题就是证书验证流程。在提出此需求时,后台同学给了一份阿里云的参考:HTTPS(含SNI)业务场景“IP直连”方案说明 。此中提到的例子是Andriod和ios上的应用,方案就是在使用的对应库中修改https的证书验证过程,使其最终合法。 而开发的桌面App的网络请求使用的是libcurl实现,于是开始查找文档。半天时间里浏览器了一遍libcurl的文档,也看到了有相关ssl相关的参数控制,但一个是看起来很复杂,一个是也没有找到有效解决问题的方法。同时也在网络搜索,意外找到了github上这篇 DNS污染方案调研/iOS防DNS污染方案调研---SNI业务场景 ,里面有清晰的描述,使用 CURLOPT_RESOLVE。 一测试,果然OK。于是欣喜若狂——绕过验证方法的方式太笨,而且还得改请求的地方,将url中的host改为ip。也感叹,浏览了半天我怎么就是没有看到CURLOPT_RESOLVE这个参数呢。 意外 以上发生在评估阶段。等开始进入实质开发阶段,心想,这次可便宜我了。这个周期的任务——秒提。嘿嘿,就好像少了一个需求。不曾想在严格按照需求开...
木灵瓜 发布于 13小时前 阅读 72

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

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

CKEditor与jQuery整合

<script src="jquery.js"></script> <script src="ckeditor.js"></script> <script src="adapters/jquery.js"></script> //初始化 $( 'textarea.editor' ).ckeditor(); //使用jquery chain $( '.section-x' ) .find( 'textarea.editor' ) .ckeditor() .end() .find( 'a' ) .addClass( 'mylink' ) .end(); //ready的回调 $( 'textarea' ).ckeditor( function( textarea ) { // Callback function code. } ); #配置属性 $( 'textarea' ).ckeditor( { uiColor: '#9AB8F3' } ); // 获取编辑器的内容 var data = $( 'textarea.editor' ).val(); // 设置编辑器的内容 $( 'textarea.editor' ).val( 'My new content' ); https://docs.ckeditor.com/#!/guide/dev_jquery CKEditor 普通初始化方法 //初始化 var editor; if ( typeof CKEDITOR !== 'undefined' ) { editor = CKEDITOR.replace('brief'); CKFinder.setupCKEditor(editor, '/Public/Admin/vendors/ckfinder/'); }else{ layer.msg('需要CKEditor'); } //得到editor的值 data['brief'] = encodeURI($('#brief')....
swingcoder 发布于 2个月前 阅读 78

mysql在linux下的安装

mysql在linux下的安装 安装环境:系统是 centos6.5 1、下载     下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads     下载版本:我这里选择的5.6.33,通用版,linux下64位     也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 2、解压 1 2 3 4 #解压 tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz #复制解压后的mysql目录 cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql 3、添加用户组和用户 1 2 3 4 #添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql 4、安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 cd /usr/local/mysql/<br>mkdir ./data/mysql chown -R mysql:mysql ./ ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql cp support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld cp support-files/my-default.cnf /etc/my.cnf   #修改启动脚本 vi /etc/init.d/mysqld   #修改...
rootliu 发布于 1个月前 阅读 45

浅谈wifi加密过程、wep破解原理以及wpa、wpa2密钥重装攻击

wifi,wep,wpa,wpa2,KPACK
江桃人 发布于 23小时前 阅读 14

VirtualBox安装完centos7设置网卡

以下内容只是备忘,在virtualBox上安装完centos,设置网络信息。 参考:http://blog.csdn.net/scaleqiao/article/details/44206825 http://www.linuxidc.com/Linux/2015-02/112964.htm 下了个virtualBox,按步骤装了centos7,但是上不了网,解决步骤如下: 首先,目标是两个,虚拟机centos可以上外网和主机可以访问虚拟机。 1.1:virtualBox在windows10上虚拟了一个网卡,叫VirtualBox Host-Only Ethernet Adapter,虚拟机是通过这个网卡交换数据的,所以就要求它的地址和电脑无线网的ip地址在一个网段里, 用cmd命令看本机网络:ipv4:192.168.0.104,所以将虚拟机的ip设置为192.168.0.110,其它的不用变。 注意win10下打开网络连接的方式:右键--设置--网络与internet--以太网---更改适配器选项 1.2:虚拟机设置网络,网卡1连接方式选择桥接网卡(无线网连接的好像要选这个,网线连接的选NAT,没验证),其它的默认,界面名称选择主机使用的无线网卡。 1.3:进入linux系统,修改文件:/etc/sysconfig/network-scripts/ifcfg-enp0s3 将:BOOTPROTO值改为:"dhcp"(原为none)     GETWAY=192.168.0.110(也就是虚拟网卡的地址)  DNS1=192.168.0.1 1.4:重启网络服务:ser...
那年二十三 发布于 22小时前 阅读 10

Python函数式编程:从入门到走火入魔

函数式编程源自于数学理论,它似乎也更适用于数学计算相关的场景,因此本文以一个简单的数据处理问题为例,逐步介绍 Python 函数式编程从入门到走火入魔的过程。 很多人都在谈论函数式编程(Functional Programming),只是很多人站在不同的角度看到的是完全不一样的风景。坚持实用主义的 Python 老司机们对待 FP 的态度应该更加包容,虽然他们不相信银弹,但冥冥中似乎能感觉到 FP 暗合了 Python 教义(The Zen of Python)的某些思想,而且既然 Python 是一门多范式编程语言,并在很大程度上支持函数式编程,那就更没有理由拒绝它。 函数式编程源自于数学理论,它似乎也更适用于数学计算相关的场景,因此本文以一个简单的数据处理问题为例,逐步介绍 Python 函数式编程从入门到走火入魔的过程。 问题:计算 N 位同学在某份试卷的 M 道选择题上的得分(每道题目的分值不同)。 首先来生成一组用于计算的伪造数据: # @file: data.py import random from collections import namedtuple Student = namedtuple('Student', ['id', 'ans']) N_Questions = 25 N_Students = 20 def gen_random_list(opts, n): return [random.choice(opts) for i in range(n)] # 问题答...
好铁 发布于 11小时前 阅读 10

一次zipkin接口down问题的排查

线上的zipkin老是出问题,之前做的人已经离职了,所以我来看看咋回事。 --------------------------------------- 1)登录机器,取出jar包 drwxr-xr-x 2 root root 4096 Sep 1 13:48 . drwxr-xr-x 13 root root 4096 Jul 4 10:21 .. -rw-r--r-- 1 root root 841 May 31 17:31 dependency-output -rw-r--r-- 1 root root 523 Mar 16 15:49 docker-compose.yml -rw-r--r-- 1 root root 15514 Sep 5 10:39 output -rwxrwxrwx 1 root root 209 Feb 3 2017 start-dependency.sh -rwxr-xr-x 1 root root 414 Sep 1 13:48 start.sh -rw-r--r-- 1 root root 89911534 Feb 2 2017 zipkin-dependencies.jar -rw-r--r-- 1 root root 69280615 Nov 30 2016 zipkin.jar 可以看到有2个jar包,确定是zipkin.jar 上传到我自己的机器上,启动一把,看看web-url有哪些映射存在! java -jar zipkin.jar . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|=...
路飞Luffy 发布于 1个月前 阅读 53

系统迁移——硬盘克隆

Mac系统使用Carbon Copy Clone,Windows系统使用分区助手。
HarleyZhuge 发布于 22小时前 阅读 8

NodeJS对于Java开发者而言是什么?

我们都知道Node.js现在得到了所有的关注。每个人都对学习Node.js感兴趣,并希望可以工作于Node.js。在开始工作之前了解技术背后的概念总是不会错的。但对初学者来说,可能会因为不同的人使用的不同定义而晕头转向。Node.js究竟是什么?它是新的语言还是新的框架,是新的工具抑或只是一个简单的JavaScript文件?即使对于有经验的Java开发人员来说,也很难快速了解Node.js。因此,在本文中,我将尝试为Java开发人员诠释Node.js。 运行时环境 我们知道Java需要一个称为JRE的运行时环境来运行Java程序。JRE有一个称为Java Virtual Machine(JVM)的虚拟机。JVM有许多组件,如垃圾回收器(GC),即时(JIT)编译器,解释器,类装载器,线程管理器,异常处理器,用于在不同时间执行不同的任务。 除了JVM之外,JRE还有一系列的库(例如,rt.jar)来帮助运行时的Java程序。我们有单独的JRE用于不同的平台,如Windows,Macintosh和Linux,以及还有JVM。 好吧,就试着记住如何编译和执行一个Java程序。我们有源代码(.java),它由Java编译器编译成一个名为Bytecode(.class)的中间代码。此Bytecode被提供给JVM以便在给定的目标平台上执行。JVM在执行之前将Bytecode转换为特定于目标...
城固如春 发布于 11小时前 阅读 8

Linux系统目录结构、文件类型、ls和alias命令

Linux系统目录结构 /是Linux操作系统里最核心的的一个目录,所有的文件和目录都在它下面,称之为“根目录”。 通过输入命令# ls /,列出根下面的目录。 tree是以树形的形式显示一个目录下面有哪些子目录和文件,可以用yum命令先安装一下,输入 # yum install -y tree,然后# tree /,可以查看根的目录结构。 /bin、 /sbin 都是存放我们常用命令的目录,不过sbin存放的是root用户的命令; /boot目录下存放的是系统启动的相关文件; /dev目录下存放的是Linux系统里面特有的设备文件; /etc目录下存放的是系统的配置文件; /home目录下存放是用户的家目录文件; /lib、/lib64这两个目录是存放系统的库文件; /media是媒介目录,默认为空,比如插入U盘,自动放在media目录下; /mnt也是临时挂载的目录,也为空,如光驱或硬盘挂载在/mnt下面; /opt也是空目录,安装Oracle数据库,可以放在/pot目录下。 /proc是系统启动进程的目录; /root是root用户的家目录; /run是存放进程产生的一些临时文件的目录; /srv是存放一些服务启动之后需要提取的数据的目录; /sys目录下会存放系统内核相关的文件; /tmp是系统临时目录; /usr会存放系统用户的所用到的应用程序和文件; /var会存放...
风流花生 发布于 18小时前 阅读 7

《Kotlin 极简教程 》第16章 使用 Kotlin Native

第16章 使用 Kotlin Native === 不得不说 JetBrains 是一家务实的公司,各种IDE让人赞不绝口,用起来也是相当溜。同样的,诞生自 JetBrains 的 Kotlin 也是一门务实的编程语言,Kotlin以工程实用性为导向,充分借鉴了Java, Scala, Groovy, C#, Gosu, JavaScript, Swift等等语言的精华,让我们写起代码来可谓是相当优雅却又不失工程质量与效率。Kotlin Native能把 Kotlin代码直接编译成机器码,也就是站在了跟 C/C++、Go和Rust的同一个层次,于是这个领域又添一位竞争对手。 在前面的所有章节中,我们使用的 Kotlin 都是基于 JVM 的运行环境。本章我们将从 JVM 的运行环境中离开,走向直接编译生成原生机器码的系统编程的生态系统:Kotlin Native 。 ## 16.1 Kotlin Native 简介 Kotlin Native利用LLVM来编译到机器码。Kotlin Native 主要是基于 LLVM后端编译器(Backend Compiler)来生成本地机器码。 Kotlin Native 的设计初衷是为了支持在非JVM虚拟机平台环境的编程,如 ios、嵌入式平台等。同时支持与 C 互操作。 ### 16.1.1 LLVM LLVM最初是Low Level Virtual Machine的缩写,定位是一个虚拟机,但是是比较底层的虚拟机。LLVM是构架编译器(compiler)的框架系统,以C++...
东海陈光剑 发布于 3个月前 阅读 57

ASP检测用某个域名访问并跳转

由于现在各大免费的域名邮箱需要域名备案或者实名认证,否则不能使用。 所以可以采用以下另类方式达到一样的效果。   <% 'ASP检测用某个域名访问并跳转 if Request.ServerVariables("SERVER_NAME")= "mail.mblog.cc" then Response.Redirect("https://exmail.qq.com/domain/mblog.cc") end if %>  
Cody_Lee 发布于 23小时前 阅读 7

xshell远程连接服务

上次我们学习了如何用putty连接服务器,有时候也需要用到xshell学习linux,需要连接远程服务器,接下来我们学习下如何用xshell来连接: 1、首先我们下载xshell软件,下载连接如下: 链接:http://pan.baidu.com/s/1bo7TDfx 密码:uepx 2、安装后xshell软件,并开软件,设置IP地址,端口号,以及名称等: 3、点击连接,需要输入用户名和密码: 4、即可以连接至远程服务器:用于操作了。 2、有时候我们需要远程来操作服务,为了方便也为了安全性,我们需要设置linux使用秘钥登录。 1、打开xshell软件,点击工具栏--新建用户秘钥生成向导: 2、选择秘钥类型和秘钥长度,一般默认就好: 3、此时生成秘钥名称的,可自定义即可: 4、此时公钥已经生成,把公钥复制到服务器下authorized_keys. 5、此时在linux服务器上,打开authorized_keys.并把公钥复制进去: [root@localhost .ssh]# vi authorized_keys 6、由于生成的私钥的xshell里面,打开之前的连接客户端:点击用户身份验证: 7、点击连接,则可以自动登录: 8、则可以无密码登录即可了。 此时使用秘钥登录完成。    ...
芬野de博客 发布于 24小时前 阅读 7

Python的数据类型一

Python的数据类型一     1、  整型   整型的赋值,只能是证书才行,一半为正整数和负整数     2、  浮点型   round(a),默认保留一位小数,并采用四舍五入的方法进行计算 round(a, 2),(float, 精度),先进行四舍五入,取小数点两位,小数点最后一位,必须为偶数       3、  布尔类型   布尔类型,只有两个值,一个是True,一个是False,布尔类型一般不单独出现,配合逻辑运算符一起使用   4、  字符串   字符串是python中最常用的数据类型,一般用引号(’或”)创建   字符串常用方法,find,replace,split,join,strip,format   Find(查找,找到就打印出来位置,找不到就返回-1) Replace(替换) Split(分割,以*为分割符) Join(连接字符串,升成新的字符串) Strip(去除左右两边的空格,lstrip 去除左边的空格,rstrip去除右边的空格) Format(字符串格式化)   %s 代表的是字符串,%d 代表的是整型, %f代表的是浮点型          
peizh 发布于 21小时前 阅读 7

如何爬取CFDA的公开数据

本文介绍了如何对CFDA——中国食品药品监督局的公开数据进行抓取以供个人研究或学习。
hengbao5 发布于 5天前 阅读 21

文件/目录权限相关命令:chmod、chown、umask、lsattr/chattr命令解析

本文索引: * 文件/目录权限修改:chmod * 预备知识 * 几种具体用法 * 重要参数: -R * 所有者/所属组修改: chown * 几种具体用法 * 重要参数:-R * 默认权限:umask * 隐藏权限:lsattr/chattr * 查看:lsattr * 修改:chattr ### 文件/目录权限 chmod #### 预备知识 * 所有者user:拥有该文件/目录的用户 * 所属组group:拥有该文件/目录的群组 ls命令查看文件、目录的详细信息时,其第一个字段例如"-rwxr--r--.",将除首尾外的9位每3位为一组,分别是其所有者(u)、所属组(g)、其他用户(o)对该文件/目录的权限。 #### 几种具体用法(例rwxr-xr-x) ``` [root@centos7 test]# ll 总用量 0 ----------. 1 root root 0 10月 20 21:11 file1 ----------. 1 root root 0 10月 20 21:11 file2 -rwxrwxrwx. 1 root root 0 10月 20 21:38 file3 # 数字形式 [root@centos7 test]# chmod 755 file1 # 表达式形式 [root@centos7 test]# chmod u=rwx,g=rx,o=rx file2 # 删减形式 [root@centos7 test]# chmod g-w,o-w file3 [root@centos7 test]# ll 总用量 0 -rwxr-xr-x. 1 root root 0 10月 20 21:11 file1 -rwxr-xr-x. 1 root root 0 10月 20 21:11 file2 -rwxr-xr-x. 1 root root 0 1...
Lu_Castiel 发布于 23小时前 阅读 6

长江后浪推前浪:聊天AIM最终留在了沙滩上

导读 据科技博客TechCrunch北京时间10月7日报道,由于Facebook和WhatsApp等即时通讯应用兴起,美国在线(AOL)日前表示,公司计划在今年年底关闭旗下即时通讯AIM(American Online Instant Messager)服务,包括MacOS、Windows、iOS和Android等各个版本的应用支持都将取消。 AOL于1997年开始推出AIM服务,截至目前运营时间长达二十年。在本世纪初,AIM主导了北美地区的在线聊天市场。但是,由于短消息和Facebook和WhatsApp等社交应用的兴起,令AIM门庭冷落、用户锐减。为此,AOL没有计划推出替代方案,而是直接选择了放弃。 AOL在一封电子邮件声明中表示:“从完美的信息发送到我们熟悉的聊天记录,AIM将一直留在我们的心中,并占据特别的位置。”用户可以在今年12月15日前将所发送的图片下载下来,逾期将无法下载。但从现在开始,该应用的下载链接将消失。而且不幸的是,目前无法保存或移植好友列表数据。 “我们知道AIM有这么多忠实的粉丝,他们使用AIM有十多年的时间,自1997年以来,我们一直热衷开发、创建这款聊天应用。”AOL在AIM帮助页面上写道:“我们始终关注的重点是,向消费者提供他们所想要的创新体验。我们将专注于打造下一代标志性品牌和能够改变生活的产品,...
linuxprobe16 发布于 8小时前 阅读 5

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

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

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

一张精彩的导图  关注公众号回复“正则导图”即可下载xmind源文件   导图内容解析 语法结构 字符 普通字符:字母、数字、汉字、下划线,匹配与之相同的一个字符 简单转义字符:\n(换行),\t(制表),\\(\本身)和 \^...(\^等有特殊作用的符号如要匹配自己的话要用转义) 标准字符集合 注意区分大小写,大写是相反的意思,匹配相反是不匹配 \d 任意一个数字,0~9 \w 任意一个字母、数字、汉字或下划线,A~Z、a~z、0~9、_和任意一个汉字 \s 任意空白符,包括空格、制表符、换行符 . 小数点可以匹配任意一个字符,换行除外(如果要匹配包括"\n"在内的所有字符,一般用[\s\S]) 自定义字符集合 [ ]方括号匹配方式,能够匹配方括号中的任意一个字符,^表示取反 [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周前 阅读 9575 评论 23 点赞 38

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

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

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 发布于 6天前 阅读 2724 评论 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天前 阅读 2557 评论 11 点赞 2

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

每周为您推送最有价值的开源技术内参!
开源中国码云 发布于 1周前 阅读 2058 评论 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周前 阅读 3640 评论 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:codes\18\18.1\my-bpmn\resource\myBpmn.xml <?xml version="1.0" encoding="UTF-8"?> <process id="testProcess"> <start id="start" /> <flows> <flow id="flow1" source="start" target...
杨大仙的程序世界 发布于 4天前 阅读 1715 评论 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绑架了用户信息表的设计!这个是真正致命的,因为几乎每个业务系统...
白乔 发布于 3天前 阅读 1562 评论 6 点赞 3

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

jvm优化—— 图解垃圾回收

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

SpringMVC源码(四)-请求处理

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

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

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

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

课程介绍 批量计算(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

Python实现生命游戏

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

域名解析产品——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 发布于 5天前 阅读 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 发布于 4天前 阅读 512

阿里云文件存储 NAS 使用教程

课程介绍 阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas 课时列表 课时1:NAS入门与提高系列之基本概念 课时2:NAS入门与提高系列之典型应用场景 课时3:NAS入门与提高系列之如何在Windows下使用NAS 开始学习http://click.aliyun.com/m/27883/
mcy0425 发布于 5天前 阅读 497

【云安全课程】云平台使用安全

课程介绍 阿里云大学Apsara Clouder云安全专项技能认证:云平台使用安全 您还在担心阿里云官网的帐号单凭密码登录不够安全?还在为服务代维时工程师的权限过大而产生风险?或者您作为系统管理员还在寻求一个完美的系统监控方案?也可能因为购买了不同批次的云资源导致续费工作太复杂,偶尔会导致数据丢失。通过这门精心设计的在线课程+动手实验,您可以轻松Get到这些技能。 云平台使用安全认证旨在帮助学员了解由传统IT到云计算架构的变迁过程、当前信息安全的现状和形势,以及在云计算时代不同系统架构中应该从哪些方面利用云平台的优势使用安全风险快速降低90%,特别是如何用好阿里云的帐户安全和云资源管理策略做好云上资产的安全管理,是企业上云的必备技能。 课时列表 免费 课时1:课程介绍 免费 课时2:典型IT系统架构介绍 免费 课时3:信息安全现状和形势 课时4:IT系统风险构成 课时5:云上安全防护的关键点 课时6:阿里云安全解决方案 课时7:安全法概要 课时8:云平台使用的账号安全 课时9:云资源管理 课时10:【在线实验-1】访问控制初体验 课时11:【在线实验-2】云存储访问的授权管理 开始学习:http://click.aliyun.com/m/27839/...
mcy0425 发布于 4天前 阅读 489

作为前端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 命令可能比上述代码更复杂。有许多选项用于控制...
葡萄城控件技术团队 发布于 4天前 阅读 547 点赞 1

免费使用函数计算,只有在阿里云能实现

课程介绍 阿里云函数计算(Function Compute)是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码。更棒的是,您只需要为代码实际运行消耗的资源付费 - 代码未运行则不产生费用 产品详情:https://www.aliyun.com/product/fc 课时列表 课时1:函数计算的控制台操作 课时2:函数计算控制台文档讲解 课时3:函数计算命令行工具 课时4:函数计算中的限制项 课时5:函数计算对图片处理的例子 开始学习http://click.aliyun.com/m/27859/
mcy0425 发布于 2天前 阅读 497

线程池参数和实践

一直在用,总结一下,新手容易搞混,其实很简单的。
会飞的蝌蚪 发布于 18分钟前

简单的异步通信【处理粘包和分包】(二)

一、服务端: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Sockets; using System.Net; namespace Server { class Program { static void Main(string[] args) { startServer(); Console.ReadKey(); } static void startServer() { Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 88); serverSocket.Bind(ipEndPoint); serverSocket.Listen(0); serverSocket.BeginAccept(AcceptCallBack, serverSocket); } static messageInfo msgInfo = new messageInfo(); static void AcceptCallBack(IAsyncResult ar) { Socket serverSocket = ar.AsyncState as Socket; Socket clie...
NickHomeSelf 发布于 22分钟前

JAVA入门基础(四)之基础知识

一.构造函数 一种特殊的函数,用于初始化对象,在创建对象的时候会被自动调用 函数的名字,必须和类的名字相同。 函数不可以有返回值,但是函数定义的时候不能加void。 构造函数可以有多个。多个构造函数参数不能相同 默认构造函数,是指没有参数的构造函数。当我们不编写构造函数的时候,系统会自动生成默认构造函数。当我们编写了有参的构造函数,系统不会生成默认构造函数。 package javastudy; public class Person { private String name; private int height; //这是构造函数。注意名字要个类名一样,不能有返回值,也不能void public Person(String name,int height) { this.name=name; this.height=height; System.out.println(this.height+this.name); } } 上文定义了构造函数,接受了两个参数。下面new一个类的时候要传构造函数所需要的参数。  Person z=new Person("张",20);  ...
洪春生 发布于 24分钟前

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 或者使用如下命令更新...
问题终结者 发布于 54分钟前

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

usermod、passwd、mkpasswd
Lu_Castiel 发布于 60分钟前

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

一、概述: 所有的应用程序都需要“数据”支持。对于大多数的Web应用程序来说,数据是在服务器端进行组织和整理,然后由客户端(浏览器端)通过网络请求获取。随着浏览器的处理能力不断增强,可以在浏览器端存储和操纵应用程序需要的数据,因此越来越多的网站开始考虑,将大量数据储存在本地客户端,这样可以减少用户等待从服务器端获取数据的时间。 现有的浏览器端数据储存方案,都不适合储存大量数据。Cookie不超过4KB,且每次请求都会发送回服务器端;Window.name属性缺乏安全性,且没有统一的标准;LocalStorage容量在2.5MB到10MB之间,且其以字符串形式进行存储。因此,需要一种新的技术解决方案,这就是IndexedDB诞生的背景。 IndexedDB 是一种浏览器端文档数据库,可以被网页脚本程序创建和操作。它允许储存大量数据,并且提供查询接口,且可以建立索引。这些特性都是localStorage技术所不具备的。就数据库类型而言,IndexedDB不属于关系型数据库(不支持SQL查询语句),更接近NoSQL数据库。关系型数据库(如SQL Server,MySQL,Oracle等)的数据存储在表中;文档数据库(如MongoDB,CouchDB,Redis)将数据集作为个体对象来存储。  通过使用IndexedDB,开发者可以...
今天来找bug 发布于 1小时前

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 Date ...
wangxuwei 发布于 1小时前 阅读 2

D3.js学习(四)

上一节我们已经学习了线条样式和格栅的绘制,在这一节中我们将要根据之前绘制的线条对图表进行填充,首先来看一下我们的目标吧 在这个图表中,我们对位于线条下面的空间进行了填充,那么,如何改做到呢?     设置填充样式 这里设置我们填充区域的样式,我们使用浅蓝色进行填充: .area{     fill: lightsteelblue;     stroke-width: 0;   } 定义填充区域 就像前面绘制线条之前一样,我们首先要对其进行定义 //定义填充区域 var area = d3.svg.area() .x(function(d){ return x(d.date); }) .y0(height) .y1(function(d){ return y(d.close); }); 其实定义填充区域跟前面我们定义绘制线条函数特别像,不知道大家发现没有呢? 在这里,多的只是y0(height),如果我们把填充区域看做是由一条条垂直方向上的线条组成的话那就好理解了,这个y0,y1实际上就是组成整个区域的这些线的两个端点,y0(height)表示从x轴开始到与线条的交点处结束。可以用图来说明: 我们可以在定义玩坐标轴之后立即定义这个填充区域,就像这样: 绘制填充区域 前面对填充区域定义了之后,我们拿它来绘制填充区域了 //Get the data d3.tsv("...
菜鸟的进阶 发布于 2小时前 阅读 1

Spark调优

Spark调优 由于大部分Spark计算都是在内存中完成的,所以Spark程序的瓶颈可能由集群中任意一种资源导致,如:CPU、网络带宽、或者内存等。最常见的情况是,数据能装进内存,而瓶颈是网络带宽;当然,有时候我们也需要做一些优化调整来减少内存占用,例如将RDD以序列化格式保存。 本文将主要涵盖两个主题:1.数据序列化(这对于优化网络性能极为重要);2.减少内存占用以及内存调优。同时,我们也会提及其他几个比较小的主题。 1 数据序列化   序列化在任何一种分布式应用性能优化时都扮演几位重要的角色。如果序列化格式序列化过程缓慢,或者需要占用字节很多,都会大大拖慢整体的计算效率。 通常,序列化都是Spark应用优化时首先需要关注的地方。Spark着眼于便利性(允许你在计算过程中使用任何Java类型)和性能的一个平衡。Spark主要提供了两个序列化库: Java serialization:默认情况,Spark使用Java自带的ObjectOutputStream框架来序列化对象,这样任何实现了 java.io.Serializable 接口的对象,都能被序列化。同时,你还可以通过扩展java.io.Externalizable 来控制序列化性能。Java序列化很灵活但性能较差,同时序列化后占用的字节数也较多。 Kryo serialization: ...
hblt-j 发布于 2小时前 阅读 2

浅谈jsp、freemarker、velocity区别

以前做web开发页面层用的基本就是就是,最近公司java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的区别。 在java领域,表现层技术主要有三种:jsp、freemarker、velocity httl、beetl ... 等等。 jsp是大家最熟悉的技术 优点: 1、功能强大,可以写java代码 2、支持jsp标签(jsp tag) 3、支持表达式语言(el) 4、官方标准,用户群广,丰富的第三方jsp标签库 5、性能良好。jsp编译成class文件执行,有很好的性能表现 缺点: jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。 velocity是较早出现的用于代替jsp的模板语言 优点: 1、不能编写java代码,可以实现严格的mvc分离 2、性能良好,据说比jsp性能还要好些 3、使用表达式语言,据说jsp的表达式语言就是学velocity的 缺点: 1、不是官方标准 2、用户群体和第三方标签库没有jsp多。 3、对jsp标签支持不够好 freemarker 优点: 1、不能编写java代码,可以实现严格的mvc分离 2、性能非常不错 3、对jsp标签支持良好 4、内置大量常用功能,使用非常方便 5、宏定义(类似jsp标签)非常方便 ...
cccyb 发布于 2小时前 阅读 1

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

This version of MySQL doesn't yet support
干干 发布于 3小时前 阅读 1

Struts2 ( 四 )

拦截器概述   在struts2中,拦截器(Interceptor)是用来动态拦截Action执行的对象。 拦截器是struts2的一个重要特性,Struts2框架的大多数核心功能都是通过拦截器来实现的,像避免表单重复提交、类型转换、对象组装、验证、文件上传等,都是在拦截器的帮助下实现的。拦截器之所以称为“拦截器”,是因为它可以在Action执行之前和执行之后拦截调用 优点 Struts2将它的核心功能放到拦截器中实现,而不是分散到Action中实现,有利于系统的解耦,使得功能的实现类似于个人电脑的组装,变成了可插拔的,需要某个功能就“插入”一个拦截器,不需要某个功能就“拔出”一个拦截器。你可以任意组合拦截器来为Action提供附加的功能,而不需要修改Action的代码。 拦截器执行流程 流程简略图 流程详细图 自定义拦截器 实现Interceptor接口 public class MyInterceptor implements Interceptor { public void init() {} public void destroy() {} public String intercept(ActionInvocation invocation) throws Exception { return null; } }   在package标签中配置Interceptors <interceptors> <interceptor name="myInterceptor" class="org.itheima.struts.web.interceptor....
勤劳的开发者px 发布于 3小时前 阅读 1

css实现左边div固定宽度,右边div自适应撑满剩下的宽度

开发管理后台时遇到的布局
LM加强 发布于 3小时前 阅读 1

springmvc乱码问题

最近开发的一个web项目,返回json数据的时候出现了乱码问题。 代码如下: @RequestMapping(path = "/abcdef",method={RequestMethod.GET,RequestMethod.POST}) @ResponseBody public String getData(){         return ...; }             于是我查看了数据库编码,springmvc配置的过滤器的编码,tomcat的编码问题,都是统一的采用编码方式UTF-8,而且我确定在服务器返回之前,数据是没有乱码的,但是为什么返回的数据,前端的js获取的时候就乱码呢?filter已经设置了编码啊,tomcat也是这样的编码啊。最后在网上找到下面的这篇博客,就知道原因了  https://my.oschina.net/heiseguoguo/blog/1545155。   <mvc:annotation-driven>     <mvc:message-converters>     <bean class="org.springframework.http.converter.StringHttpMessageConverter">         <!--  @since 4.3 -->         <!-- <property name="defaultCharset" value="UTF-8"></property>-->         <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>         </bean>     <bean class="org.springframework.http.converter.j...
cjavaer 发布于 3小时前 阅读 1

easyui datagrid 在不关闭行编辑情况下,更新行,更新单元格。

var tmpIndex = editIndexs[rewriteTableId];                     //获取 主要的按钮对象  单元格                     var ed = $(rewriteTableId).datagrid('getEditor', {index:tmpIndex,field:"FPROJECTNUMBER"});                     $(ed.target).textbox('setValue', rowData.FPROJECTNUMBER);                     // 有editor的更新方法------------------------------------------------                     $($(rewriteTableId).datagrid('getEditor', {index:tmpIndex,field:"FCREATEPROJECTID"}).target).textbox('setValue', rowData.FID);                     // 没有editor 的列,更新方法       --------选择按钮的列名---------------------------------要反写的字段列明------------------------弹窗  选择的 数据。                     $(ed.target).parents("td[field='FPROJECTNUMBER']").siblings("td[field='FPROJECTNAME_L1']").find("div").html(rowData.FPROJECTNAME_L1);                     $(ed.targ...
深夜里写琴弹代码的人 发布于 3小时前 阅读 1

JDK容器学习之List: CopyOnWriteArrayList,ArrayList,LinkedList对比

list常用容器小结对比
小灰灰Blog 发布于 4小时前 阅读 2

米扑博客:总结分享 WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商

WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商
sunboy2050 发布于 4小时前 阅读 2

米扑博客:总结分享 WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商

在网上查资料闲逛,偶然间看到了张戈博客的评论框有点意思,于是就收走拿到了我的米扑博客。 WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商,如下图: 米扑博客评论演示效果: https://blog.mimvp.com/donate/#comments     恩,本来搞定了不打算写博客的,但是想了想原文步骤繁琐,有些细节还没有,都是自己一点一点捣鼓出来的,很多朋友可能用得到,所以还是总结分享写出来 张戈博客,WordPress显示访客UA信息,共分了两篇博客: WordPress显示访客UA信息:Show UserAgent纯代码轻度汉化版 分享WordPress显示评论者IP的归属地及运营商信息的2种方案   本文,将合并两篇博客的内容,主要合并了两个脚本,并对国旗、浏览器、终端设备等图标进行了美化   插件实现 1)Show UserAgent 插件  (推荐) 官网: https://wordpress.org/plugins/show-useragent/ 下载: show-useragent.1.0.9.zip 效果图如下:   2)WP-UserAgent 插件  (适合老外) 官网:https://wordpress.org/plugins/wp-useragent/ 下载: wp-useragent.zip 效果图如下:     代码实现 到这里,请注意,全部是重点,按步骤做就好了 1.  下载zip包 米扑博客整理了图标和文字两种...
mimvp 发布于 4小时前 阅读 3

学习 Python 的 14 张思维导图

收藏
八风不动 发布于 4小时前 阅读 3

JDK8新特性(2):Straem API常用操作

清晰第一,效率第二!
arthur666 发布于 4小时前 阅读 2

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

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

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

项目部署线上之后,我们该如何基于监控工具来快速定位问题....
wier 发布于 3天前 阅读 2796 评论 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绑架了用户信息表的设计!这个是真正致命的,因为几乎每个业务系统...
白乔 发布于 3天前 阅读 1562 评论 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:codes\18\18.1\my-bpmn\resource\myBpmn.xml <?xml version="1.0" encoding="UTF-8"?> <process id="testProcess"> <start id="start" /> <flows> <flow id="flow1" source="start" target...
杨大仙的程序世界 发布于 4天前 阅读 1715 评论 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...
红暑 发布于 5天前 阅读 3924 评论 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 发布于 6天前 阅读 2724 评论 25 点赞 7 打赏 1

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

一张精彩的导图  关注公众号回复“正则导图”即可下载xmind源文件   导图内容解析 语法结构 字符 普通字符:字母、数字、汉字、下划线,匹配与之相同的一个字符 简单转义字符:\n(换行),\t(制表),\\(\本身)和 \^...(\^等有特殊作用的符号如要匹配自己的话要用转义) 标准字符集合 注意区分大小写,大写是相反的意思,匹配相反是不匹配 \d 任意一个数字,0~9 \w 任意一个字母、数字、汉字或下划线,A~Z、a~z、0~9、_和任意一个汉字 \s 任意空白符,包括空格、制表符、换行符 . 小数点可以匹配任意一个字符,换行除外(如果要匹配包括"\n"在内的所有字符,一般用[\s\S]) 自定义字符集合 [ ]方括号匹配方式,能够匹配方括号中的任意一个字符,^表示取反 [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周前 阅读 9575 评论 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周前 阅读 3640 评论 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周前 阅读 2151 评论 7 点赞 5

jvm优化—— 图解垃圾回收

jvm必知系列,总结一些常见jvm回收机制,方便查阅
wier 发布于 2周前 阅读 4024 评论 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周前 阅读 2675 评论 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周前 阅读 2955 评论 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周前 阅读 1610 评论 3 点赞 11

JavaScript 闭包

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