亚虎娱乐官方app中国

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

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
开源中国 - 找到您想要的开源项目,分享和交流 - 亚虎娱乐官方app_yahu999_亚虎国际pt客户端

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

SpringMVC返回图片的几种方式

后端提供服务,通常返回的json串,但是某些场景下可能需要直接返回二进制流,如一个图片编辑接口,希望直接将图片流返回给前端,此时可以怎么处理?
小灰灰Blog 亚虎国际pt客户端于 14小时前 阅读 107 点赞 1

Docker Compose 1.18.0 之服务编排详解

一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose,不再需要使用shell脚本来启动容器。在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器
鹏磊 亚虎国际pt客户端于 16小时前 阅读 13

容器云方案部署文档

## 概述 ![虚拟机与容器](http://upload-images.jianshu.io/upload_images/5592768-f0b258f0b641bc29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 虚拟机和容器技术的实现了服务器计算环境的抽象和封装,可以作为服务器平台上的应用程序运行的yahu999实体。多台虚拟机和容器可以被部署在一台物理服务器上,或将多台服务器整合到较少数量的物理服务器上,但是容器技术不是为了完全取代传统虚拟机技术,两者有本质的区别: * 虚拟机技术属于系统虚拟化,本质上就是在模拟一台真实的计算机资源,其中包括虚拟CPU,存储,以及各种虚拟硬件设备——这意味着它也拥有自己的完整访客操作系统; * 容器技术则是应用虚拟化,使用沙箱机制虚拟出一个应用程序运行环境,每个运行的容器实例都能拥有自己独立的各种命名空间(亦即资源)包括: 进程, 文件系统, 网络, IPC , 主机名等; 虚拟机将整个操作系统运行在虚拟的硬件平台上, 进而提供完整的运行环境供应用程序运行,同时也需要消耗更过的宿主机硬件资源; 而Docker等容器化应用时使用的资源都是宿主机系统提供的,仅仅是在资源的使用上只是做了某种程度的隔离与限制.比起虚拟机,容器拥有更高的资源使用效率,实例规模更小、创建和...
行者深蓝 亚虎国际pt客户端于 17小时前 阅读 67

Spring Boot 与 Kotlin使用Freemarker模板引擎渲染web视图

《Spring Boot 与 kotlin 实战》系列 使用Freemarker模板引擎渲染web视图
quanke_ 亚虎国际pt客户端于 18小时前 阅读 144

Elasticell-Multi-Raft实现

Multi-Raft,分布式系统
IT民工-南京 亚虎国际pt客户端于 18小时前 阅读 31

IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

一个典型的IM系统中最为重要也是用户最先接触到的——就是基于Http的SSO单点登陆接口(有的系统里可能并不叫SSO接口,本文讨论的是其广义:即实现身份认证功能的http接口),那么这个SSO接口工作原理是什么?可以怎么来实现?有无最佳实践建议?
JackJiang- 亚虎国际pt客户端于 19小时前 阅读 68 评论 1

RPC框架原理及从零实现系列文章(三):zookeeper注册中心原理

zookeeper作为分布式协调服务 是怎么在RPC中起作用,成为注册中心的呢
wephone 亚虎国际pt客户端于 19小时前 阅读 90

Spring的cache实现一

背景 和事务实现类似Spring的事务实现二 那么缓存的实现也是借助于aop 方式 注解 同样是EnableCaching  相当类似于事务开启注解 Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(CachingConfigurationSelector.class) public @interface EnableCaching { /** * Indicate whether subclass-based (CGLIB) proxies are to be created as opposed * to standard Java interface-based proxies. The default is {@code false}. <strong> * Applicable only if {@link #mode()} is set to {@link AdviceMode#PROXY}</strong>. * * <p>Note that setting this attribute to {@code true} will affect <em>all</em> * Spring-managed beans requiring proxying, not just those marked with * {@code @Cacheable}. For example, other beans marked with Spring's * {@code @Transactional} annotation will be upgraded to subclass proxying at the same * time. This approach has no negative impact in practice unless one is explicitly * expecting one type of proxy vs another, e.g...
Mr_Qi 亚虎国际pt客户端于 19小时前 阅读 67

更新之后微软机器人框架不太会用?所有的改动都在这一篇

文章作者:Pablo Gomez Guerrero 原文链接:《[How to Work with Microsoft Bot Framework Since Last Update 》](https://chatbotsmagazine.com/how-to-work-with-microsoft-bot-framework-since-last-update-a748fd3bbec8) 翻译:[一熊翻译组](http://translation.bearychat.com) Mason ![输入图片说明](https://static.oschina.net/uploads/img/201801/18111158_hxfD.png "在这里输入图片标题") 如果你有使用微软机器人框架的话,你很有可能已经看见提示你迁移机器人的提示了。你也可能会发现创建机器人的网页似乎和之前不大一样,有一些东西也不见了。尽管更新前已创建机器人的「设定」与「测试」部分在[dev.botframework.com](https://dev.botframework.com/)上仍旧可用。然而,如果你创建一个新的机器人,设定部分已经有了一定的改动。 没准就算在已创建的机器人设定中,如果它们还没有被迁移,网页看起来也会很奇怪。接下来,就让我来告诉你这是怎么一回事: # 1 .开始 创建机器人的方式有了一点改变。现在微软会重新定向至 Azure 并强制发送一个订阅至 Azure 以生成一个机器人服务。Azure 会给你一个 170 欧元的贷记额度用来做订阅,至少我的情况是这样。 ![重定向...
BearyChat 亚虎国际pt客户端于 21小时前 阅读 29

WebView与JavaScript交互的四种形式

WebView如果作为简单的网页浏览器,对于一般的浏览行为来说,已经足够了。可做为企业开发者,你的App通常要嵌入自家公司的网页,如此一来,还得考虑App与Web之间的消息传递,这就涉及到App的原生代码与Web的JS代码之间的通信了。 App与Web做为消息通信的双方,具体的交互行为分为四类,包括:App通知Web执行某项动作、App主动从Web获取信息、Web通知App执行某项动作,Web主动从App获取信息,这四种行为详细说明如下: 1. App通知Web执行某项动作 Web提供一个JavaScript方法,然后App由WebView调用loadUrl加载该JS方法,具体的App代码如下所示:         wv_js.loadUrl("javascript:showMsgFromWeb()"); 该行为的执行效果如下图所示,App通知JS调用showMsgFromWeb方法,该方法弹出了一个alert消息框。 2. App主动从Web获取信息 WebView对象调用evaluateJavascript方法,该方法通过回调接口ValueCallback获得JS的返回串,具体的App代码如下所示:         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {             // evaluateJavascript该方法为4.4以后引入             wv_js.evaluateJavascript("getMsgFromWeb()", new V...
ouyangshen 亚虎国际pt客户端于 23小时前 阅读 129 点赞 2

CSS 埋点统计

# CSS 埋点统计 > 当一个网站或者 App 的规模达到一定程度,需要分析用户在 App 或者网站的相应操作,则需要埋点统计用户行为,这个不用多说,具体实现有 JS 脚本写好埋点事件并调接口,今天 get 到一种新的埋点统计方式保证耳目一新。下面代码简单示范一下。 ``` //index.html CSS埋点 登记须知 1.本次登记仅限于中国地区。 2.完成登记审核通过后,生育登记服务卡可到乡(镇、街道)直接领取,也可选择邮寄到付快递给申请人。 3.申请登记信息需真实完整,如有虚假,申请人将承担相应的法律责任。 访问 ``` ``` //count.php " .$actionName. " 访问时间->" . $time; ?> ``` ![css点击统计](http://upload-images.jianshu.io/upload_images/2287777-c1d479c5171de2d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![php代码统计](http://upload-images.jianshu.io/upload_images/2287777-a50bd17a33290204.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) **说明** * 当然这种方式使用比较简单的事件埋点。复杂的话还是需要 JS 操作。 * JS 埋点统计用户可以通过浏览器禁用,CSS的话没办法禁用...
杭城小刘 亚虎国际pt客户端于 23小时前 阅读 330 评论 9 点赞 3

使用Heapster和Splunk监控Kubernetes运行性能

Kubernetes已经成为容器编排的事实上的王者,连Docker都已经向K8s女王大人低头。对于Kubernetes的cluster的数据收集和监控已经成为IT运维的一个重要话题。我们今天来看一看如何利用Splunk最新的Metrics Store来对Kubernetes的集群进行性能监控。 部署架构 下图是该方案的部署架构,主要包括: 利用Heapster收集K8s的性能数据,包含CPU,Memory,Network,File System等 利用Heapster的Statsd Sink,发送数据到Splunk的Metrics Store 利用Splunk的搜索命令和仪表盘功能对性能数据进行监控 前期准备 前期主要要准备好两件事: 编译最新的Heapster的镜像,并上传到某个公共的Docker镜像仓库,例如docker hub 在Splunk中配置Metrics Store和对应的网络输入(Network Input UDP/TCP) 这里主要要做的选择是Statsd的传输协议用UDP还是TCP。这里我推荐使用TCP。 最新的Heapster代码支持不同的Backend,包含了log, influxdb, stackdriver, gcp monitoring, gcp logging, statsd, hawkular-metrics, wavefront, openTSDB, kafka, riemann, elasticsearch等等。因为Splunk的Metrics Store支持statsd协议,所以可以很容易的和Heapster集成。 首先我们需要利用最新的heapster代码,编译...
naughty 亚虎国际pt客户端于 1天前 阅读 1333 评论 2 点赞 1

[Spring Cloud Stream]1 流式微服务核心概念

# 概述 流式微服务主要用于实时处理源源不断的数据流,相对于应用微服务,它对开发人员提出了更多的技术要求。数据本身不像是纯业务应用,相对来说它是抽象的、复杂的,且在传输,存储,分析等方面都比应用微服务提出了更高的性能要求。 在设计上,Spring Cloud Stream 是一个用于构建消息驱动的微服务框架,它基于Spring Boot来创建对 DevOps 提供良好支持的微服务应用,通过 Spring Integration 集成工具为消息连接与传播提供一个统一的、灵活的操作平台。该操作平台是可配置的,比如配置 生产者/消费者 、消费者所属消费者组甚至是消息分区(需要消息中间件提供商本身的支持)。 Spring Cloud Stream的使用非常简单,在应用的main启动类上加上 `@EnableBinding` 注解就可以连接消息中间件,创建一个流式微服务。通过在方法上添加 `@StreamListener` 注解就可以异步处理所接收到的消息。 # 快速开始 下面通过一个简单的 sink 应用来演示Stream应用的消息接收者用法。 @SpringBootApplication @EnableBinding(Sink.class) public class VoteRecordingSinkApplication { public static void main(String[] args) { SpringApplication.run(VoteRecordingSinkApplication.cl...
为为02 亚虎国际pt客户端于 1天前 阅读 183 评论 1

iOS使用fastlane实现持续集成

iOS使用fastlane实现持续集成 ## 前言 最近公司有打渠道包的需求,领导说使用fastlane来做持续集成,发了点时间研究了下,所有有了这篇文章 本文主要涉及到以下几个主题: - fastlane是什么和为什么使用fastlane - fastlane安装和设置 - 在项目中集成fastlane ## 是什么和为什么 fastlane是一款使用ruby实现的跨平台的持续集成工具,支持安卓和iOS平台项目的持续集成实践,fastlane处理提供基本的但是很强大的包含了:初始设置、屏幕截图、打包、上传到测试平台、部署等功能。此外还有大量的第三方插件可以使用,比如fir插件支持上传beta版本到fir测试平台,appicon插件支持自定义某个子版本的应用图标,还有很多不胜枚举。 因为项目的配置、打包、上传等一系列操作是耗时且没有技术含量的工作,所以有了fastlane可以为我们节省大量的没有什么价值的时间花费,以提高我们的工作效率。 ## fastlane安装和设置 ### 安装 支持三种方式安装 - 使用brew安装 ```sh brew cask install fastlane ``` - 使用gem安装 ```sh sudo gem install fastlane -NV ``` - 下载安装包安装 [fastlane下载](https://download.fastlane.tools/),下载完了之后打开`install `脚本即可安装 安装完成...
aron1992 亚虎国际pt客户端于 1天前 阅读 48

Docker开发实践笔记二

镜像是容器运行基础,容器是镜像运行后的形态,二者紧密相连又有不同。
君子如兰 亚虎国际pt客户端于 1天前 阅读 219

Spring的事务实现二

背景 上篇我们说明了事务实现基本要素aop等等Spring的事务实现一 继续描述一下事务引入的几种方式 方式 注解 spring3.1之后引入了新的注解EnableTransactionManagement 为了不维护太多的xml Spring从3.1版本组件增加java的配置类 而EnableTransactionManagement就是其中一个开启事务的注解 SpringBoot是注解的集大成者 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(TransactionManagementConfigurationSelector.class) public @interface EnableTransactionManagement { /** * Indicate whether subclass-based (CGLIB) proxies are to be created ({@code true}) as * opposed to standard Java interface-based proxies ({@code false}). The default is * {@code false}. <strong>Applicable only if {@link #mode()} is set to * {@link AdviceMode#PROXY}</strong>. * <p>Note that setting this attribute to {@code true} will affect <em>all</em> * Spring-managed beans requiring proxying, not just those marked with * {@code @Transactional}. For example, other beans marked ...
Mr_Qi 亚虎国际pt客户端于 2天前 阅读 174

Spring的事务实现一

背景 今天看到项目中一段代码 @Transactional(propagation = Propagation.REQUIRES_NEW) private TmShowConfig initTmShowConfig(String userId, String configType) 有没有感觉到哪里有问题? 分析 我们在使用Spring做aop的时候 无非两种代理模式 基于jdk的proxy 动态代理小结之proxy 我们来看Spring按照什么策略生成代理 public class DefaultAopProxyFactory implements AopProxyFactory, Serializable { @Override public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException { if (config.isOptimize() || config.isProxyTargetClass() || hasNoUserSuppliedProxyInterfaces(config)) { Class<?> targetClass = config.getTargetClass(); if (targetClass == null) { throw new AopConfigException("TargetSource cannot determine target class: " + "Either an interface or a target is required for proxy creation."); } if (targetClass.isInterface() || Proxy.isProxyClass(targetClass)) { return new JdkDynamicAopProxy(config); ...
Mr_Qi 亚虎国际pt客户端于 2天前 阅读 327

vue 2.0中使用axios遇到问题的解决方法

  在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource。 目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,下面简单介绍一下axios的使用,具体用法可参考npm链接:https://www.npmjs.com/package/axios。 特征 做的XMLHttpRequest从浏览器 让HTTP从node.js的请求 支持Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换为JSON数据 客户端支持防止XSRF 1.安装axios npm install axios -S //使用淘宝源 cnpm install axios -S //使用bower bower install axios -S //或者使用cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 安装其他插件的时候,可以直接在 main.js 中引入并使用 Vue.use()来注册,但是 axios并不是vue插件,所以不能 使用Vue.use(),所以只能在每个需要发送请求的组件中即时引入。 为了解决这个问题,我们在引入 axios 之后,通过修改原型链,来更方便的使用。 //main.js import axios from 'axios' Vue.prototype.$http = axios 在 main.js 中添加了这两行代码之后,就能直接在组件的 methods 中使用 $http命令 methods: { postD...
杨鹏飞乀 亚虎国际pt客户端于 2天前 阅读 151 点赞 1

2017年 JavaScript 框架回顾 -- 前端框架

概述: 对于 JavaScript 社区来说,npm 的主要功能之一就是帮助开发者发掘所需的 npm Registry 中的库和框架。npm 强大的搜索功能能够帮助找到一组相关的yahu999包,同时其内置的的文档和使用统计信息,可以帮助开发者决定使用哪一种yahu999包。 选择过程中,一个重要的评估因素就是社区对yahu999包项目的持续支持:是否正在积极的维护?是否有足够大的社区来维持项目? 评估的过程中,yahu999包的普及程度是一个重要的考量因素。不论是通过博客文章还是教程的方式,一个具有大型社区的yahu999包意味着有更多的开发者可以帮助你解决问题。一个大型的社区也意味着在遇到错误之前,找到修复错误的可能性更大。如果你们是一个大型的团队,那么使用流行的yahu999包,也能让你更容易的招聘到熟悉这些yahu999的开发人员。 使用 npm 的下载统计数据,可以让开发者了解到使用和维护yahu999包的人数。一旦将yahu999包加入yahu999中,那么yahu999包将拥有非常长的寿命,因为开发者一旦安装了yahu999包,就很少会将其从yahu999包中删除掉,正是由于这种非常低的“流失”,安装包的使用几乎不会降低。而且随着 npm 用户数的不断上升,npm Registry 中的yahu999包数量也在不断增加。 在考虑yahu999包的流行程度时,开发者应该关注的是软...
葡萄城控件技术团队 亚虎国际pt客户端于 2天前 阅读 313

如何从Yum库下载rpm包但不安装

目标 yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是有时候因为yum库中RPM包版本的不确定性,我们想将一个RPM包下载到本地,用于以后的重复安装。 方法 方法一:yum yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。 $sudo yum install --downloadonly <package-name> 默认情况下,一个下载的RPM包会保存在下面的目录中: /var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages 以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates) 如果你想要将一个包下载到一个指定的目录(如/tmp): $sudo yum install --downloadonly --downloaddir=/tmp <package-name> 注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。 另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项: $sudo yum install yum-plugin-downloadonly 如果没有该插件...
编程老陆 亚虎国际pt客户端于 2天前 阅读 115 评论 2

# 180119

# 使用pure-ftpd搭建ftp服务 - yum install -y epel-release - yum install -y pure-ftpd - vi /etc/pure-ftpd/pure-ftpd.con 将行首的注释#删除 - systemctl stop vsftpd - systemctl start pure-ftpd - mkdir /data/ftp - useradd -u 1010 pure-ftp - chown -R pure-ftp:pure-ftp /data/ftp - pure-pw useradd ftp_usera -u pure-ftp -d - pure-pw mkdb - pure-pw list/userdel/usermod/passwd ``` [root@localhost ~]# systemctl stop vsftpd [root@localhost ~]# yum install -y epel-release ``` ``` [root@localhost ~]# vi /etc/pure-ftpd/pure-ftpd.con PureDB /etc/pure-ftpd/pureftpd.pbd [root@localhost ~]# systemctl start pure-ftpd ``` ``` [root@localhost ~]# mkdir /data/ftp [root@localhost ~]# useradd -u 1020 pure-ftp [root@localhost ~]# chown -R pure-ftp:pure-ftp /data/ftp ``` ``` [root@localhost ~]# pure-pw useradd ftp_usera -u pure-ftp -d [root@localhost ~]# pure-pw mkdb [root@localhost ~]# pure-pw list/userdel/usermod/passwd ```...
hellopasswd 亚虎国际pt客户端于 9小时前 阅读 8

iOS 组件化实现的一些思路总结

## 背景 大概在一个月之前,公司有一个需求需要出一个功能和业务逻辑和当前应用相同的新版本,所有的UI重新设置过而不止是配色字体图标等信息的简单修改。因为当时排期相对的不太紧,所有决定把整个项目做一个重构,为了实现更好的重构,发了点时间看了大概30多篇关于组件化的博客和文章,也会把这些文章的链接贴在底部,然后动手开工了,今天有时间把这次重构过程中的一些想法总结下。 本文主要涉及到以下几个主题: - 组件化遵循的原则 - 组件化分层模型 - 组件化集成方法 ## 遵循原则 - 高层依赖底层,下层不能对上层有依赖的关系 这点是基本的设计原则,可以通过依赖倒置来设计。 - 同层级的模块不依赖或者尽量少依赖 这点同时也是基本的设计原则,可以通过控制反转来设计,典型的就是使用观察者模式来实现同一个层级模块的解耦。 - 最小知识原则和自完备性 一个独立的模块尽量减少对其他低层模块的依赖,比如一个模块只是依赖低层模块的某个类的方法,不妨把这个方法拷贝到此模块中,如此一来这个模块就具有了更好的自完备性。 ## 分层结构 ![分层模块图1](https://static.oschina.net/uploads/img/201801/18234859_s2ja.jpg "分层模块图1") ![分层模块图2](https://...
aron1992 亚虎国际pt客户端于 9小时前 阅读 5

mysql权限和索引

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 mysql权限和索引 mysql的最高用户是root, 我们可以在数据库中创建用户,语句为CREATE USER 用户名 IDENTIFIED BY '密码',也可以执行CREATE USER 用户名 语句来创建用户,不过此用户没有密码,可以将用户登录后进行密码设置;删除用户语句为DROP USER 用户;更改用户名的语句为RENAME USER 老用户名 to 新用户名; 修改密码语句为set password=password('密码'); 高级用户修改别的用户密码的语句为SET PASSWORD FOR 用户=PASSWORD('密码'); 。 关于赋予权限的操作有以下几种, 查看用户权限语句为show grants for 用户; 赋予用户权限语句为grant 权限 on . to 用户,第一个号代表数据库,第二个号代表要赋予权限的表; 取消用户权限的语句REVOKE CREATE ON . FROM 用户;刷新的语句是FLUSH PRIVILEGES。 mysql的索引可以让我们对数据库中数据的查找提供更快的速度,我们在编程的时候,条件上使用类那个列,就可以将查询涉及到的列设计为索引。 索引有普通索引,设为普通索引对列的数据没有影响,但是对数据的查找速度进行了...
凯哥学堂 亚虎国际pt客户端于 16小时前 阅读 4

时间相关的类与方法

package day03; import java.util.Calendar; public class Get { public static void main(String[] args) {     Calendar calendar = Calendar.getInstance();     System.out.println(calendar);      } } 打印的只是java.util.GregorianCalendar[time=1516289257404,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=0,WEEK_OF_YEAR=3,WEEK_OF_MONTH=3,DAY_OF_MONTH=18,DAY_OF_YEAR=18,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=27,SECOND=37,MILLISECOND=404,ZONE_OFFSET=28800000,DST_OFFSET=0] 显然没有什么实际意义 接下来会有个getTime()方法 Date date = calendar.getTime();         System.out.println(date);         输出 Thu Jan 18 23:27:37 CST 2018 貌似有点用了 public class Calendar_Set {     public static void main(String[] args) {         Calendar calendar = C...
architect刘源源 亚虎国际pt客户端于 9小时前 阅读 4

springmvc的文件上传和下载

把以前的笔记做到这里方便复制。 一、 添加依赖和配置 添加依赖pom.xml <!-- commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <!-- commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>   springmvc-servlet.xml中添加CommonsMultipartResolver <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"></property> <property name="maxUploadSize" value="10485760000"></property> <property name="maxInMemorySize" value="40960"></property> </bean>   二、 springmvc的文件上传 在webapp目录下新建个upload文件夹。 写springmvc文件上传FileUploadController package com.imddy.tsession.controller; import java.io.File; import javax.servlet.htt...
独钓渔 亚虎国际pt客户端于 8小时前 阅读 5

js 作用域

简介   JavaScript 有个特性称为作用域。尽管对于很多开发新手来说,作用域的概念不容易理解,我会尽可能地从最简单的角度向你解释它们。理解作用域能让你编写更优雅、错误更少的代码,并能帮助你实现强大的设计模式。   什么是作用域?   作用域是你的代码在运行时,各个变量、函数和对象的可访问性。换句话说,作用域决定了你的代码里的变量和其他资源在各个区域中的可见性。   为什么需要作用域?最小访问原则   那么,限制变量的可见性,不允许你代码中所有的东西在任意地方都可用的好处是什么?其中一个优势,是作用域为你的代码提供了一个安全层级。计算机安全中,有个常规的原则是:用户只能访问他们当前需要的东西。   想想计算机管理员吧。他们在公司各个系统上拥有很多控制权,看起来甚至可以给予他们拥有全部权限的账号。假设你有一家公司,拥有三个管理员,他们都有系统的全部访问权限,并且一切运转正常。但是突然发生了一点意外,你的一个系统遭到恶意病毒攻击。现在你不知道这谁出的问题了吧?你这才意识到你应该只给他们基本用户的账号,并且只在需要时赋予他们完全的访问权。这能帮助你跟踪变化并记录每个人的操作。这叫做最小访问原则。眼熟吗?这...
阿豪boy 亚虎国际pt客户端于 16小时前 阅读 4

jackson序列化接口将Date转为格式化好的String类型

jackson序列化接口将Date转为格式化好的String类型
残刃O 亚虎国际pt客户端于 3个月前 阅读 8

#180119

# 使用vsftpd搭建ftp服务 - centos上自带vsftpd - yum install -y vsftpd - useradd -s /sbin/nologin virftp - vi /etc/vsftpd/vsftpd_login 奇数行为用户名 偶数行为密码 - chmod 600 /etc/vsftpd/vsftpd_login - db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db - mkdir /etc/vsftpd/vsftpd_user_conf - cd /etc/vsftpd/vsftpd_user_conf ``` [root@localhost ~]# yum install -y vsftpd [root@localhost ~]# useradd -s /sbin/nologin virftp [root@localhost ~]# vi /etc/vsftpd/vsftpd_login testuser1 123 [root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login [root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db [root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf [root@localhost ~]# cd /etc/vsftpd/vsftpd_user_conf [root@localhost vsftpd_user_conf]# vi testuser1 local_root=/home/virftp/testusere1 anonymous_enables=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=120 max+client=10 [root@loc...
hellopasswd 亚虎国际pt客户端于 9小时前 阅读 3

count(1)、count(*) 区别①select * from a ②select b,c,d,e,f from a 两者的执行速度。 当有大量记录的时候②的速度明显的快于① 当记录很

count(1),其实就是计算一共有多少符合条件的行。 1并不是表示第一个字段,而是表示一个固定值。 其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1. 同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。 count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。 MSSql是这样定义的: COUNT(*):返回记录总数,不会读取行上的任何信息, COUNT(1):返回记录总数,但是会在每一行读取1 MySql,只要不是读取行的所有列,还是优先使用COUNT(*)   ①select * from a ②select b,c,d,e,f from a 两者的执行速度。 当有大量记录的时候②的速度明显的快于① 当记录很少的时候①的速度快于② 因为查找的时候 都是从系统表里面在查找,a表的内容都是存在系统表里面的。 select * 会查询所有的系统表 当选择条件后,查找的系统表的数目会减少。     一般情况下,两着返回结果是一样的  假如表沒有主键(Primary key), 那么count(1)比count(*)快  如果有主键的話,...
干干 亚虎国际pt客户端于 1个月前 阅读 64

Kubernetes 架构(下)- 每天5分钟玩转 Docker 容器技术(121)

上一节我们讨论了 Kubernetes 架构 Master 上运行的服务,本节讨论 Node 节点。
CloudMAN 亚虎国际pt客户端于 3小时前 阅读 3

SSH 如何工作?原理是什么

一、SSH是什么? 简单来说:SSH是一种网络协议,用于计算机之间的加密登录。 官方这样说:SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。 二、如何使用 SSH? 1、SSH主要用于远程登录。假定你要以用户名user,登录远程主机host,只要一条简单命令就可以了。这也是SSH的基本用法 $ ssh user@IP 三、SSH的工作机制? SSH的工作机制有两种, 1、对称加密(也称为秘钥加密) 大致就是:     A、客户端拿自己的私钥将要传送的数据进行加密;     B、加密之后的数据发送给主机;     C、主机用私钥进行解密,用解密后的数据,进行对比,如ok则成功!! 2、非对称加密(也成公钥加密) 非对称加密也有两种     (1)、公钥登录 ...
王双肖 亚虎国际pt客户端于 2周前 阅读 8

Centos 7下zookeeper开机自启动脚本

linux下zookeeper开机自启动
小林攻城狮 亚虎国际pt客户端于 2个月前 阅读 13

HSF学习

HSF学习
黑曼巴hy 亚虎国际pt客户端于 1个月前 阅读 3

Ajax文件上传和后台SpringMVC获取文件

页面与js代码如下: <form id="csvForm" enctype="multipart/form-data"> <input id="accountName" name="accountName" value="${accountName}" hidden> <input type="button" value="导入" id="external_button"/> <input type="file" name="file" id="file"/> </form> //JS代码 /** * 上传按钮绑定事件 */ $('#external_button').click(function () { if ($('#file').val() == "") { alertMessage("请先选择文件"); return false; } var csvPath = $('#file').val(); var fileExtendOff = csvPath.substring(csvPath.lastIndexOf('.')).toLowerCase(); if (fileExtendOff != '.csv') { alertMessage("文件格式有误,请上传csv格式"); return false; } doUpload(); return false; }); /** * 异步上传 */ function doUpload() { var formData = new FormData($("#csvForm")[0]); $.ajax({ url: contextPath + '/security/importExtReconFile.htm' , type: 'POST', data: formData, async: false, cache: false, contentType:...
AI9o後 亚虎国际pt客户端于 3个月前 阅读 20

搭建自己的框架之2:MVP+Rxjava2,封装自己的mvp框架

说到MVP,Android 开发者肯定会参考Google 的基础实现:**[android-architecture](https://github.com/googlesamples/android-architecture)**;大体的框架如下: ![mvp.png](http://upload-images.jianshu.io/upload_images/2376786-03b6812387bfcca6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 当然大家也应该关注正在成熟的:**[android-architecture-components](https://github.com/googlesamples/android-architecture-components)**,还是对开发有较大的变更。 其实这么久来Android 开发中就没有什么很官方的框架,我觉得大家可以根据自己App 的业务情况和团队情况,参考**[android-architecture](https://github.com/googlesamples/android-architecture)**(暂时并没有加入**[android-architecture-components](https://github.com/googlesamples/android-architecture-components)**)然后再封装定制属于自己的框架;虽然业务可能千变万化,但是基本的一个App 的框架可以由mvp+db+http+Base 抽象+rxjava(处理异步等真的方便)实现自己的代码结构、整体架构、可测试性、可维护性的项目。 本文主要是记录自己参考**[todo‑mvp‑rxjava](https://git...
iSnowFlake 亚虎国际pt客户端于 12小时前 阅读 2

javascript 字符串截取

就是不写摘要.
taadis 亚虎国际pt客户端于 1个月前 阅读 13

Swagger UI URL 添加自定义后缀 .do

我的系统采用的是Spring boot. 总之部署测试环境后遇到了个问题, 需要把Swagger UI 发出的请求的URL 添加 .do后缀。   Spring 配置: #开发环境 spring:     profiles: dev log:     path: /Volumes/data/logs/box-web     level: INFO     server:     port: 8086     contextPath: /box/v1   Swaager Config: 主要就是自定义 CustRelativePathProvider  类,把url + 一个 .do 后缀。 @Configuration public class Swagger2Config { @Value("${server.contextPath}") private String contextPath; @Bean public Docket createRestApi() { Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).host("abc.com:80") .useDefaultResponseMessages(false).pathProvider(new CustRelativePathProvider()).select() .apis(RequestHandlerSelectors.basePackage("com.abc.box")).paths(PathSelectors.any()).build(); return docket; } public class CustRelativePathProvider extends AbstractPathProvider { public static final String ROOT = "/"; @Override public String getOperationPath(Stri...
SimonAt 亚虎国际pt客户端于 2天前 阅读 2

AngularDart4.0 高级-组件样式

AngularDart4.0 高级-组件样式
scooplol 亚虎国际pt客户端于 8小时前 阅读 2

Python3导入自定义模块的3种方式

参考:http://blog.csdn.net/pwc1996/article/details/52577148 一、同级目录下 import MA.Core MA.Core.PrintDes("Hello,World\n", 3) 二、不同级目录或上级目录 import sys sys.path.append(r"..") import MB.NewCore 这里的import包含的是上一级目录下的MB.NewCore文件 项目中文件相互包含的方法,目录结构如下: Python ----main.py ----bxl.py ----script --------func.py --------MA ------------Core.py ------------Add.py --------MB ------------Add.py 在main.py中调用Python\script\MA\Core.py代码,在Core.py中分别调用同级目录下的Add.py,上一级目录下的func.py,兄弟目录MB下的文件Add.py以及上上一级目录(即主目录)下的bxl.py: #main.py import script.MA.Core def main(): script.MA.Core.PrintThis() script.MA.Core.PrintAdd_A() script.MA.Core.PrintAdd_B() script.MA.Core.PrintAdd_fun() script.MA.Core.PrintAdd_bxl() main() #script\MA\Core.py def PrintThis(): print("This is script.MA.Core !") #包含同级目录文件Add.py import script.MA.Add def PrintAdd_A(): script.MA.Add.Add(30, 20) #包含其他目录下的文件:..\...
极客行 亚虎国际pt客户端于 1周前 阅读 7

Java反射机制详解和使用

# 所有对象都是Class的实例 > java的反射机制,听上去很唬人,其实很简单,一个类在编译期间,都是Class的实例,通过操作这个class我们能得到这个类的所有属性,方法,接口,父类,等等一切元素。 # 代码示例 下面代码列举了几个反射的常用方法,反射(Class)的方法非常多,不能一一举例,只有在自己用到的时候,再去查看具体方法。 定义一个接口:Person ```java /** * Description: * Created by gaowei on 2018/1/8. */ public interface Person { void look(); void eat(String foodName); } ``` 定义一个抽象类:Work ```java public abstract class Work { public Work() { System.out.println("实例化抽象方法work"); } abstract String work(); } ``` 定义一个实现类Man继承抽象类,并继承接口 ```java /** * Description: * Created by gaowei on 2018/1/8. */ public class Man extends Work implements Person { private String name; private String address; public Man() { } public Man(String name, String address) { this.name = name; this.address = address; } @Override String work() { return "正在工作"; } @Override public void look() { Syste...
南通高伟 亚虎国际pt客户端于 2周前 阅读 11

javacsv读写csv文件

### 添加依赖 ``` net.sourceforge.javacsv javacsv 2.0 ``` ### 读文件 ``` CsvReader reader = null; String row; String path = "./tmp/read.csv"; try { reader = new CsvReader(path, ',', Charset.forName("utf-8")); // 跳过表头(需要表头就不用跳过) reader.readHeaders(); while (reader.readRecord()) { // 读取每行数据 row = reader.getValues(); System.out.println(row); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close(); } } catch (Exception e) { e.printStackTrace(); } ``` ### 写文件 ``` CsvWriter csvWriter = null; String path = "./tmp/write.csv"; try { csvWriter =new CsvWriter(path,',', Charset.forName("utf-8")); // 写入一行数据 csvWriter.writeRecord(new String[]{"张三", 18, "男"}); } catch (Exception e) { e.printStackTrace(); } finally { try { if (csvWriter != null) { csvWriter.close(); } } catch (Exception e) { e.printStackTrace(); } } ``` ### 备注 ##### 参考文档 [JavaCSV API](http://javacsv.sourceforge.net/) ``` http://javacsv.sourceforge.net/ `...
tianshl 亚虎国际pt客户端于 2个月前 阅读 459333 点赞 1

Nginx日志分割

### 一.使用脚本切割 ##### 编辑脚本 ``` tianshl@tianshl nginx $ vim nginx_log_division.sh ``` ##### 脚本内容 ``` #! /bin/sh # 昨天日期 yesterday=`date -v -1d +%Y%m%d` # 日志目录 log_path="/usr/local/var/log/nginx/" # SDK日志路径 sdk_path=${log_path}sdk # 以天为单位切分日志 mv -f ${sdk_path}.log ${sdk_path}_${yesterday}.log # 重新生成日志文件 pid_path="/usr/local/var/run/nginx.pid" sudo kill -USR1 `cat ${pid_path}` ``` ##### 定时任务 ###### 切换到root身份 ``` tianshl@tianshl nginx $ sudo su root ``` ###### 编辑 crontab ``` sh-3.2# crontab -e ``` ###### crontab 添加一行 ``` 0 0 * * * sh /usr/local/var/log/nginx/nginx_log_division.sh ``` ###### 查看是否添加成功 ``` sh-3.2# crontab -l ``` ### 二.不使用脚本切割 ##### server 段增加以下代码 ``` if ($time_iso8601 ~ "(\d{4})-(\d{2})-(\d{2})") { set $time $1$2$3; } ``` ##### 日志文件路径中增加日期参数 ``` access_log /var/log/nginx/api-$time.log; ``` ##### 举个栗子 ``` events { worker_connections 1024; } http { server { # 监听88端口 listen 88;...
tianshl 亚虎国际pt客户端于 1个月前 阅读 259837

image not recognized

image not recognized
tianshl 亚虎国际pt客户端于 3个月前 阅读 605374 点赞 1

Java递归拷贝文件夹

### 拷贝文件或文件夹 ``` /** * 拷贝文件 * * @param source 源文件 * @param target 目标文件 */ public void copyFile(String source, String target) { // 源文件 File sourceFile = new File(source); if (!sourceFile.exists()) { return; } // 目标文件 File targetFile = new File(target); // 文件拷贝 if (sourceFile.isFile()) { copyFromChanel(sourceFile, targetFile); return; } // 文件夹拷贝 if (!targetFile.exists()) { targetFile.mkdirs(); } for (File file: sourceFile.listFiles()) { copyFile(file.getAbsolutePath(), target + File.separator + file.getName()); } } ``` ### 利用文件管道拷贝文件 ``` /** * 利用文件管道拷贝文件 * * @param source 源文件 * @param target 目标文件 */ public void copyFromChanel(File source, File target) { // 文件流 FileInputStream fis = null; FileOutputStream fos = null; // 文件管道 FileChannel fci = null; FileChannel fco = null; try { // 文件流 fis = new FileInputStream(source); fos = new FileOutputStream(target); // 文件管道 fci = fis.getChannel(); fco = fos.getChannel(); ...
tianshl 亚虎国际pt客户端于 1个月前 阅读 258256

73款阿里巴巴亚虎娱乐官方appyahu999详解!

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

Java实现的k-means聚类算法

### 需求 ``` 对MySQL数据库中某个表的某个字段执行k-means算法,将处理后的数据写入新表中。 ``` ### 源码及驱动 ``` http://download.csdn.net/download/xiaobuding007/10203673 ``` ### 源码 ```java import java.sql.*; import java.util.*; /** * @author tianshl * @version 2018/1/13 上午11:13 */ public class Kmeans { // 源数据 private List origins = new ArrayList<>(); // 分组数据 private Map> grouped; // 初始质心列表 private List cores; // 数据源 private String tableName; private String colName; /** * 构造方法 * * @param tableName 源数据表名称 * @param colName 源数据列名称 * @param cores 质心列表 */ private Kmeans(String tableName, String colName,List cores){ this.cores = cores; this.tableName = tableName; this.colName = colName; } /** * 重新计算质心 * * @return 新的质心列表 */ private List newCores(){ List newCores = new ArrayList<>(); for(List v: grouped.values()){ newCores.add(v.stream().reduce(0, (sum, num) -> sum + num) / (v.size() + 0.0)); } Collections.sort(newCores); return newCores; } /...
tianshl 亚虎国际pt客户端于 6天前 阅读 33984

java递归删除文件或文件夹

```java /** * 递归删除文件或文件夹 * * @param file 文件或文件夹 */ public void delFile(File file) { if (!file.exists()) { return; } if (file.isFile()){ // 文件: 直接删除 file.delete(); } else if (file.isDirectory()) { // 文件夹 // 1. 删除子文件 for (File f: file.listFiles()){ delFile(f); } // 2. 删除文件夹 file.delete(); } } ```
tianshl 亚虎国际pt客户端于 2个月前 阅读 458545 点赞 3

Python库打包到PyPI

### 打开pypi官网, 并注册账号 ``` https://pypi.python.org/ ``` ### 创建并编辑.pypirc (注: 家目录下创建) ``` tianshl@tianshl ~ $ vim .pypirc [pypirc] index-servers = pypi pypitest [pypi] repository=https://pypi.python.org/pypi [pypitest] repository=https://testpypi.python.org/pypi [server-login] username:tianshl password:****** ``` ### 前提 ``` 1. 要打包的代码必须是一个包(package) 2. 代码是亚虎娱乐官方app的 ``` ### 包(package) ##### 创建包 ``` 右键 / New / Python Package / 输入包名 / OK ``` ##### 创建成功后,查看目录结构 ``` tianshl@tianshl wechat $ tree . └── wxReply └── __init__.py 实际上就是文件夹中包含__init__.py文件 ``` ### 编写要打包的源代码 ``` tianshl@tianshl wechat $ tree . └── wxReply ├── __init__.py └── wxReply.py 1 directory, 2 files ``` ### 创建README.rst和setup.py文件 ``` README.rst为说明文档 setup.py为安装脚本 (核心) ``` ##### 此时wechat包的目录结构 ``` tianshl@tianshl wechat $ tree . ├── README.rst ├── setup.py └── wxReply ├── __init__.py └── wxRepl...
tianshl 亚虎国际pt客户端于 2个月前 阅读 463747 评论 1 点赞 1

免费云服务器

如何快速申请免费的阿里云服务器
tianshl 亚虎国际pt客户端于 1个月前 阅读 224019

MacOS 配置Java环境变量

### 编辑 bash_profile ```shell vim ~/.bash_profile 输入以下内容并保存 export JAVA_HOME=`/usr/libexec/java_home` export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin ``` ### 使环境变量生效 ``` source ~/.bash_profile ``` ### 检验 ```shell tianshl@tianshl ~ $ echo $PATH ``` ### 备注 ``` 1. source前使用fish的要先退出fish 2. /usr/libexec/java_home 这条命令可以输出JAVA_HOME的路径 ```
tianshl 亚虎国际pt客户端于 2个月前 阅读 340494 点赞 1

xxx is not in the sudoers file

### 问题 ``` 无法使用sudo指令 ``` ### 方法一 ``` 1. 查找sudoers位置(默认会在/etc/sudoers) [tianshl@tianshl ~]# whereis sudoers sudoers: /etc/sudoers /etc/sudoers.bak /usr/share/man/man5/sudoers.5.gz 2. 切换到root身份 [tianshl@tianshl ~]# su - 3. 修改sudoers权限 [root@tianshl ~]# chmod u+w /etc/sudoers 4. 把用户添加到sudoers中 [root@tianshl ~]# vi /etc/sudoers 1. 找到 "root ALL=(ALL)" 2. 另起一行输入 "tianshl ALL=(ALL) ALL" 备注:tianshl为用户名 修改后如下所示: ## Allow root to run any commands anywhere root ALL=(ALL) ALL tianshl ALL=(ALL) ALL 5. 去掉sudoers的写权限 [root@tianshl ~]# chmod u-w /etc/sudoers 6. 退出root用户后就可以利用sudo命令来执行管理员权限了。 ``` ``` 注:如果不去掉写权限,系统不允许执行suoders文件,运行sudo命令时会出现以下错误: sudo: /etc/sudoers is mode 0640, should be 0440 ``` ### 方法二 ``` 1.首需要切换到root身份 [tianshl@tianshl ~]# su - 2. 执行visudo [root@tianshl ~]# visudo 1、移动光标,到最后一行 2、按a,进入append模式 3、输入 "tianshl ALL=(ALL) ALL" 备注...
tianshl 亚虎国际pt客户端于 2个月前 阅读 473471 点赞 1

JavaScript指定长度和进制的UUID

### 指定长度和进制的UUID ``` /** * 指定长度和进制的UUID * @param len 长度 * @param radix 进制 * @returns {string} */ function uuid(len, radix) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = [], i; radix = radix || chars.length; if (len) { for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix]; } else { var r; uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | Math.random()*16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); } ``` ### 测试 ``` uuid(32, 2) "11110011000001100111011111001111" uuid(32, 8) "31730315503322654076326054034634" uuid(32, 10) "50235847867589708943975575132412" uuid(32, 16) "405F8CA9918F71FC9C73DACB47CEC6EE" ```...
tianshl 亚虎国际pt客户端于 2个月前 阅读 324767

Python随机生成手机号

### 依据 ``` 根据2017年10月份最新的手机号正则进行编码, 正则如下: (13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8} ``` ### 代码 ``` # -*- coding: utf-8 -*- import random def create_phone(): # 第二位数字 second = [3, 4, 5, 7, 8][random.randint(0, 4)] # 第三位数字 third = { 3: random.randint(0, 9), 4: [5, 7, 9][random.randint(0, 2)], 5: [i for i in range(10) if i != 4][random.randint(0, 8)], 7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)], 8: random.randint(0, 9), }[second] # 最后八位数字 suffix = random.randint(9999999,100000000) # 拼接手机号 return "1{}{}{}".format(second, third, suffix) # 生成手机号 phone = create_phone() print(phone) ``` ### 运行结果 ``` 13937342780 15835720604 14589505530 ... ``` ### 验证 (使用正则验证) ``` # -*- coding: utf-8 -*- import random import re def create_phone(): # 第二位数字 second = [3, 4, 5, 7, 8][random.randint(0, 4)] # 第三位数字 third = { 3: random.randint(0, 9), 4: [5, 7, 9][random.randint(0, 2)], 5: [i for i in range(10) if i != ...
tianshl 亚虎国际pt客户端于 1个月前 阅读 283751 评论 1

Nginx日志配置及分割

1. 格式化日志内容 2. 日志文件切割
tianshl 亚虎国际pt客户端于 1个月前 阅读 258351 点赞 1

ELK -- ElasticSearch集群安装、配置及错误处理

### ElasticSearch ``` 现有三台服务器[192.168.1.30, 192.168.1.31, 192.168.1.32],使用这三台服务器搭建ElasticSearch集群 ``` #### CentOS 使用 yum 安装 ###### 编辑 repo ``` vim /etc/yum.repos.d/elasticsearch.repo # 内容如下 [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` ###### 使用yum安装 ``` yum install elasticsearch ``` ###### 创建用户 ``` useradd elastic ``` ###### 修改权限 ``` # 数据 chown -R elastic:elastic /var/lib/elasticsearch # 日志 chown -R elastic:elastic /var/log/elasticsearch # 配置 chown -R elastic:elastic /etc/elasticsearch chown -R elastic:elastic /etc/sysconfig/elasticsearch # 指令 chown -R elastic:elastic /usr/share/elasticsearch ``` ###### 配置 ``` # 主节点 192.168.1.30 vim /etc/elasticsearch/elasticsearch.yml # 修改以下几项 cluster.name: etl_es node.name: node-30 node.master: true node.d...
tianshl 亚虎国际pt客户端于 4天前 阅读 16368

ELK -- Logstash安装与配置

### Logstash ##### 使用yum安装 ###### 编辑 repo ``` vim /etc/yum.repos.d/elasticsearch.repo # 内容如下 [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` ###### 安装 ``` sudo yum install logstash ``` #### 配置 Logstash ``` # 参考 https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html # input项配置源数据,此处为监听 "/log"目录下满足"insert.*.log"匹配的所有日志文件 # filter项过滤input输入的数据, "insert.*.log"中每条日志形式如:"2018-01-15 | type | cid | src | eventId | reason", 所以使用" | "拆分每条日志 # output项是输出数据,此处为输出至ElasticSearch # 新建配置文件 insert.conf vim conf.d/insert.conf # 内容如下 input { file { path => "/log/insert.*.log" } } filter { mutate{ split=>["message"," | "] add_field => { "date" => "%{[message][0]}" } add_field => { "type" => "%{[message][1]...
tianshl 亚虎国际pt客户端于 4天前 阅读 16600

12 月份新增亚虎娱乐官方app项目:手机都可以变个人监控系统了?

看看亚虎娱乐官方app中国社区 12 月份有哪些值得关注的新增项目:有将手机变成个人监控系统的 Haven,有中文语音对话机器人项目 dingdang-robot,有深度学习的人脸识别系统 DFace,还有中文处理工具包等等。
编辑部的故事 亚虎国际pt客户端于 3天前 阅读 4974 评论 8 点赞 10

解Bug之路-记一次JVM堆外内存泄露Bug的查找

# 解Bug之路-记一次JVM堆外内存泄露Bug的查找 ## 前言 JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔者将此Bug分析的过程写成博客,以飨读者。 由于物理内存定量分析部分用到了linux kernel虚拟内存管理的知识,读者如果有兴趣了解请看ulk3(《深入理解linux内核第三版》) ## 内存泄露Bug现场 一个线上稳定运行了三年的系统,从物理机迁移到docker环境后,运行了一段时间,突然被监控系统发出了某些实例不可用的报警。所幸有负载均衡,可以自动下掉节点,如下图所示: ![gc_local](https://static.oschina.net/uploads/img/201801/08104437_3KUb.png "gc_local") 登录到对应机器上后,发现由于内存占用太大,触发OOM,然后被linux系统本身给kill了。 ## 应急措施 紧急在出问题的实例上再次启动应用,启动后,内存占用正常,一切Okay。 ## 奇怪现象 当前设置的最大堆内存是1792M,如下所示: ``` -Xmx1792m -Xms1792m -Xmn900m -XX:PermSi ze=256m -XX:MaxPermSize=256m -server -Xss512k ``` 查看操作系统层面的监控,发现内存占用情况如下图所示: ![gc_upper]...
无毁的湖光-Al 亚虎国际pt客户端于 2周前 阅读 3907 评论 64 点赞 31

使用Java 8 Optional避免空指针异常

> Optional可以让你的代码具有可读性,且会避免出现空指针异常。 都说没有遇到过空指针异常的程序员不是Java程序员,`null`确实引发过很多问题。Java 8中引入了一个叫做`java.util.Optional`的新类可以避免`null`引起的诸多问题。 我们看一下`null`引用能导致哪些危害。首先创建一个类`Computer`,结构如下图所示: ![输入图片说明](https://static.oschina.net/uploads/img/201801/11143707_99mL.gif "在这里输入图片标题") 当我们调用如下代码会怎样? ``` java String version = computer.getSoundcard().getUSB().getVersion(); ``` 上述代码看似是没有问题的,但是很多计算机(比如,树莓派)其实是没有声卡的,那么调用`getSoundcard()`方法可定会抛出空指针异常了。 一个常规的但是不好的的方法是返回一个null引用来表示计算机没有声卡,但是这就意味着会对一个空引调用`getUSB()`方法,显然会在程序运行过程中抛出控制异常,从而导致程序停止运行。想想一下,当你的程序在客户端电脑上运行时,突然出现这种错是多尴尬的一件事?  伟大计算机科学Tony Hoare曾经写到:"我认为null引用从1965年被创造出来导致了十亿美元的损失。当初使用null引用对我最大的诱...
刘亚涛 亚虎国际pt客户端于 1周前 阅读 3553 评论 30 点赞 5

Nginx+SSL+Tomcat+CDN部署总结,已实践有效~

之前在度娘搜索资料,无意间看到一些个人站点的博客都用了https协议,在浏览器地址栏中被标记为绿色的“安全”,前些天特地给自己负责的小项目升级成https协议,其优点这里不再赘述,小伙伴们可以自行百度,今天把整合部署分享在这里,希望小伙伴们少走弯路~ 效果如下: yahu999版本如下: System Centos 6.5 Nginx Tengine/2.1.2 (nginx/1.6.2) SSL证书 Let's Encrypt 免费SSL证书 Tomcat Apache-tomcat-8.0.47 CDN Cloudflare.com   一、生成SSL证书 首先我们创建一个用来存放letsencrypt生成证书项目的路径并进入: cd /usr/local/letsencrypt 接下来我们克隆letsencrypt项目: git clone https://github.com/letsencrypt/letsencrypt 开始生成SSL证书: ./letsencrypt-auto certonly --standalone --email test@qq.com -d www.test1.com -d www.test2.com --agree-tos 这里一定注意: (1). 域名绑定在国内DNS服务器无法生成,需要先将DNS服务器切换到DNS服务商,例如ClouldFlare、Godaddy、Dnsever后才能正常生成! (2). web服务需要处于关闭状态,注意关闭nginx和80端口的占用!(不间断服务方式生成可以自行百度) (3). -d 代表domain 可以同时生成多个域名对应证书,生...
lu54977212 亚虎国际pt客户端于 3天前 阅读 2864 评论 21 点赞 6

火车票抢票代码公开揭秘

火车票抢票代码公开揭秘
闵开慧 亚虎国际pt客户端于 7天前 阅读 6442 评论 50 点赞 12

从Excel导出SQL

因为经常会根据文档创建数据库,当表比较多,数据比较复杂的时候特别麻烦,不过我们的在线文档可以拷贝到Excel中,所有就写了个简单的工具来从Excel导出SQL语句。这里贴出来抛砖引玉,希望有需要的朋友可以省一点麻烦,根据自己的需求修改一下。
trayvon 亚虎国际pt客户端于 14分钟前

JAVA并行编程学习笔记一 ------多线程的创建方式

1.extend Thread 类 public class extendThreadClass extends Thread { public extendThreadClass(String name){ /* 调用父类的构造器,赋值name */ super(name); } @Override public void run() { while(!interrupted()){ System.out.println(getName()+"线程执行了。。。"); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { extendThreadClass demo1 = new extendThreadClass("Thread 1"); extendThreadClass demo2 = new extendThreadClass("Thread 2"); demo1.start(); demo2.start(); //stop方法只是让线程无限期等待,并没有释放资源和锁之类的 interrupt推荐使用 但是使用该方法时,   需要判断线程是否处于中断状态 demo1.interrupt(); // //守护线程,程序执行完,跟着推出,跟随主线程完毕而完毕 // demo1.setDaemon(true...
Teamillet 亚虎国际pt客户端于 19分钟前

OSChina 周五乱弹 —— 美女博士一直互撩 昨天提出了一个无理的要求!

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @Sharon啊:昨晚加班到4点,回到小屋简单的洗漱赶紧准备睡觉,第二天还是要7点15准时起来上班,没想到早上一起来头痛到胸口也喘不过气。请了上午的假再躺回床上反而怎么也睡不着了。暗暗告诉自己谁不是这样过来的,有什么好矫情好委屈的。但愿明天又是一个元气满满的一天。 你说你很累,可谁又活得顺风顺水。 #毎日の歌# 分享赵雷的单曲《理想》 《理想》- 赵雷 手机党少年们想听歌,请使劲儿戳(这里) @nnnm:不是说连香港也爆表了么?雾霾不只是北方的特产吧?但是不管怎样,希望南方的朋友的天空是清澈的,毕竟,冬天你们那里没有冰,没有雪,没有暖气,所以,也不应该再有雾霾的。 南方哭了, 是没雾霾啊, 我们还有好多你们北方没有的呢 到了冬天冻的喵喵叫, “南方喵都这么找暖气的。” 不过今天天气不错, @喵小强 :广州今天升温很多,好热!! 感觉夏天又来了, @Javen  :深圳今天有25℃了... 今天出门了, “挡了一半脸,给我晒成这样。” 至少骑自行车去上班不冷了, @嘻哈开发者:骑自行车被罚款了,唉,心情郁闷。 摩拜单车今早出现大规模故障了吧? 今天上班早高峰,作为“最后一公里”代步工具的共享单车...
小小编辑 亚虎国际pt客户端于 1小时前 阅读 753 评论 15 点赞 1

Kubernetes 架构(下)- 每天5分钟玩转 Docker 容器技术(121)

上一节我们讨论了 Kubernetes 架构 Master 上运行的服务,本节讨论 Node 节点。
CloudMAN 亚虎国际pt客户端于 3小时前 阅读 3

Thymeleaf 标签内,js中使用表达式

Thymeleaf 标签内,js中使用表达式
沧海一刀 亚虎国际pt客户端于 7小时前 阅读 1

空间复杂度,实现从excel导出到txt文件中的java代码自动构建,逻辑条件不同实现则不同

package cn.jiguang.base64; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Cell; import jxl.CellType; import jxl.NumberCell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; /**  *   * @Description: Excel自动导出txt,构建java代码  * @Author: zengxiaochi  *  * @Date: 下午11:37:27  */ public class ExcelExport {     public static void main(String[] args) {         // TODO Auto-generated method stub         String filepath = "sjd_pdl.xls";         excelOutTxt(filepath);     }     private static void excelOutTxt(String filepath) {         try {             Workbook workbook = Workbook.getWorkbook(new File(filepath));             Sheet sheet = workbook.getSheet("配置表");             Sheet sheet2 = workbook.getSheet("模型逻辑");             // rows为行数,columns列数,getC...
小池仔 亚虎国际pt客户端于 8小时前 阅读 1

springmvc的文件上传和下载

把以前的笔记做到这里方便复制。 一、 添加依赖和配置 添加依赖pom.xml <!-- commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <!-- commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>   springmvc-servlet.xml中添加CommonsMultipartResolver <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"></property> <property name="maxUploadSize" value="10485760000"></property> <property name="maxInMemorySize" value="40960"></property> </bean>   二、 springmvc的文件上传 在webapp目录下新建个upload文件夹。 写springmvc文件上传FileUploadController package com.imddy.tsession.controller; import java.io.File; import javax.servlet.htt...
独钓渔 亚虎国际pt客户端于 8小时前 阅读 5

AngularDart4.0 高级-组件样式

AngularDart4.0 高级-组件样式
scooplol 亚虎国际pt客户端于 8小时前 阅读 2

iOS 组件化实现的一些思路总结

## 背景 大概在一个月之前,公司有一个需求需要出一个功能和业务逻辑和当前应用相同的新版本,所有的UI重新设置过而不止是配色字体图标等信息的简单修改。因为当时排期相对的不太紧,所有决定把整个项目做一个重构,为了实现更好的重构,发了点时间看了大概30多篇关于组件化的博客和文章,也会把这些文章的链接贴在底部,然后动手开工了,今天有时间把这次重构过程中的一些想法总结下。 本文主要涉及到以下几个主题: - 组件化遵循的原则 - 组件化分层模型 - 组件化集成方法 ## 遵循原则 - 高层依赖底层,下层不能对上层有依赖的关系 这点是基本的设计原则,可以通过依赖倒置来设计。 - 同层级的模块不依赖或者尽量少依赖 这点同时也是基本的设计原则,可以通过控制反转来设计,典型的就是使用观察者模式来实现同一个层级模块的解耦。 - 最小知识原则和自完备性 一个独立的模块尽量减少对其他低层模块的依赖,比如一个模块只是依赖低层模块的某个类的方法,不妨把这个方法拷贝到此模块中,如此一来这个模块就具有了更好的自完备性。 ## 分层结构 ![分层模块图1](https://static.oschina.net/uploads/img/201801/18234859_s2ja.jpg "分层模块图1") ![分层模块图2](https://...
aron1992 亚虎国际pt客户端于 9小时前 阅读 5

# 180119

# 使用pure-ftpd搭建ftp服务 - yum install -y epel-release - yum install -y pure-ftpd - vi /etc/pure-ftpd/pure-ftpd.con 将行首的注释#删除 - systemctl stop vsftpd - systemctl start pure-ftpd - mkdir /data/ftp - useradd -u 1010 pure-ftp - chown -R pure-ftp:pure-ftp /data/ftp - pure-pw useradd ftp_usera -u pure-ftp -d - pure-pw mkdb - pure-pw list/userdel/usermod/passwd ``` [root@localhost ~]# systemctl stop vsftpd [root@localhost ~]# yum install -y epel-release ``` ``` [root@localhost ~]# vi /etc/pure-ftpd/pure-ftpd.con PureDB /etc/pure-ftpd/pureftpd.pbd [root@localhost ~]# systemctl start pure-ftpd ``` ``` [root@localhost ~]# mkdir /data/ftp [root@localhost ~]# useradd -u 1020 pure-ftp [root@localhost ~]# chown -R pure-ftp:pure-ftp /data/ftp ``` ``` [root@localhost ~]# pure-pw useradd ftp_usera -u pure-ftp -d [root@localhost ~]# pure-pw mkdb [root@localhost ~]# pure-pw list/userdel/usermod/passwd ```...
hellopasswd 亚虎国际pt客户端于 9小时前 阅读 8

xftp、使用pure-ftpd搭建FTP服务

15.4 xshell使用xftp传输文件 在xshell中退出当前会话使用组合键:Ctrl+Alt+f,出现如下所示内容: 在此可直接进行文件的传输 ,双击或者拖到即可。默认走的是ssh 22端口     15.5 使用pure-ftpd搭建ftp服务 安装pure-ftpd 如果没有扩展源,先安装扩展源: [root@cham002 ~]# yum install -y epel-release 安装pure-ftpd: [root@cham002 ~]# yum install -y pure-ftpd 配置  [root@cham002 ~]# vim /etc/pure-ftpd/pure-ftpd.conf •找到pureftpd.pdb这行,把行首的#删除 启动pure-ftpd服务 先关闭vsftpd: [root@cham002 ~]# systemctl stop vsftpd 启动pure-ftpd: [root@cham002 ~]# systemctl start pure-ftpd [root@cham002 ~]# ps aux |grep ftp root 5435 0.0 0.2 53188 2120 ? Ss 22:56 0:00 /usr/libexec/openssh/sftp-server root 5443 0.0 0.1 53188 1936 ? Ss 22:58 0:00 /usr/libexec/openssh/sftp-server root 5589 0.0 0.1 202424 1204 ? Ss 23:12 0:00 pure-ftpd (SERVER) root 5591 0.0 0.0 112636 660 pts/1 R+ 23:12 0:00 grep --color=auto ftp [root@cham002 ~]# n...
Champin 亚虎国际pt客户端于 9小时前

时间相关的类与方法

package day03; import java.util.Calendar; public class Get { public static void main(String[] args) {     Calendar calendar = Calendar.getInstance();     System.out.println(calendar);      } } 打印的只是java.util.GregorianCalendar[time=1516289257404,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=0,WEEK_OF_YEAR=3,WEEK_OF_MONTH=3,DAY_OF_MONTH=18,DAY_OF_YEAR=18,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=27,SECOND=37,MILLISECOND=404,ZONE_OFFSET=28800000,DST_OFFSET=0] 显然没有什么实际意义 接下来会有个getTime()方法 Date date = calendar.getTime();         System.out.println(date);         输出 Thu Jan 18 23:27:37 CST 2018 貌似有点用了 public class Calendar_Set {     public static void main(String[] args) {         Calendar calendar = C...
architect刘源源 亚虎国际pt客户端于 9小时前 阅读 4

zend无法跟踪代码?

解决zend studio代码无法自动提示以及代码跟踪函数和变量的问题
wqzbxh 亚虎国际pt客户端于 10小时前 阅读 5

Android内存泄漏检测利器:LeakCanary

是什么? 一言以蔽之:LeakCanary是一个傻瓜化并且可视化的内存泄露分析工具 为什么需要LeakCanary? 因为它简单,易于发现问题,人人可参与。 简单:只需设置一段代码即可,打开应用运行一下就能够发现内存泄露。而MAT分析需要Heap Dump,获取文件,手动分析等多个步骤。 易于发现问题:在手机端即可查看问题即引用关系,而MAT则需要你分析,找到Path To GC Roots等关系。 人人可参与:开发人员,测试测试,产品经理基本上只要会用App就有可能发现问题。而传统的MAT方式,只有部分开发者才有精力和能力实施。 如何集成 尽量在app下的build.gradle中加入以下依赖 1 2 3 4 5 dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1' // or 1.4-beta1 releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1' // or 1.4-beta1 testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1' // or 1.4-beta1 } 在Application中加入类似如下的代码 1 2 3 4 5 6 7 public class ExampleApplication extends Application { @Override public void onCreate() { super.onCreate(); LeakCanary.insta...
元谷 亚虎国际pt客户端于 10小时前 阅读 4

看到sequence这个亚虎娱乐官方app中国给排39

sequence分布式高效 ID 生产黑科技
woshixin 亚虎国际pt客户端于 10小时前 阅读 4

composer 命令行composer self-update 升级安装失败,解决办法

1.使用composer self-update 自动升级时失败出现 [ErrorException] zlib_decode(): data error提示 ![输入图片说明](https://static.oschina.net/uploads/img/201801/18223338_mUFI.png "在这里输入图片标题")] 2.编辑php.ini中zlib.output_compression = On、zlib.output_compression_level = 5 ![输入图片说明](https://static.oschina.net/uploads/img/201801/18223830_yAVd.png "在这里输入图片标题") 3.再使用composer self-update 升级成功 ![输入图片说明](https://static.oschina.net/uploads/img/201801/18224006_iOJM.png "在这里输入图片标题") 解释:zlib_decode() 属于Zlib 函数 用于解压缩任何raw / gzip / zlib编码的数据 并不是网络的问题,因为download 是100% 下载完了,而是解压时zlib_decode()函数报错 (测试过禁用iPv6等并没有卵用)...
妖尾巴 亚虎国际pt客户端于 10小时前 阅读 5

IDEA实用设置,提高开发速度。

1.代码提示设置 File>Settings>Keymap>Main menu>Code>Completion Basic 右键>点击Remove Key 移除掉默认快捷键,再Add一个新的快捷键。当然Alt+/已经被占用了,可以找到(搜索框右边那个放大镜,点一下按对应的快捷键就可以搜索,注意是右边)删掉,也可以设置别的。 SmartType 这个设不设置都无所谓,你可只提示类型,用处不大。 2.配置maven 经常用maven的人一般都会有自己maven配置文件和repository目录,没有的这里可以跳过。 File>Settings>Build>Build Tool>Maven 这里就不罗说了,都看得懂。 3.项目编码与properties文件中文自动转码 File>Settings>Editor>File Encodings 上面一个是全局编码,一个是项目编码。注意下面有个复选框(Transparent native-to-ascii conversion)勾上表示启动properties中的unicode编码自动转换成中文 3.通过Live Templates配置代码生成模版 举个例子,配置一个单例模式代码生成 File>Settings>Editor>Live Templates 新建一个Java分组,新建一个模块名字叫single(随便取) 代码如下 //单例模式 private static class Instance { private static final $CLASS_NAME$ ME = new $CLASS_NAME$(); } public static $CLASS_NAME$ getI...
菜鸟学术 亚虎国际pt客户端于 11小时前 阅读 6

第6周第4课:复习及扩展知识

1. 打印某行到某行之间的内容 http://ask.apelearn.com/question/559 2. sed转换大小写 http://ask.apelearn.com/question/7758 3. sed在某一行最后添加一个数字 http://ask.apelearn.com/question/288 4. 删除某行到最后一行 http://ask.apelearn.com/question/213 5. 打印1到100行含某个字符串的行 http://ask.apelearn.com/question/1048 ## sed命令扩展 #### 打印文件中特定的某行到某行之间的内容 /root/sed/test 文件的内容如下: ``` [root@greenfinch sed]# cat test ert fff ** [abcfd] 123 324 444 [rty] ``` 要求打印以[abcfd]开头的行和[rty]所在行之间的内容。使用命令: ``` [root@greenfinch sed]# sed -n '/\[abcfd\]/,/\[try\]/p' test [abcfd] 123 324 444 [rty] ``` #### 转换大小写字母 1. 把每个单词的第一个小写字母变大写: ``` [root@greenfinch sed]# sed 's/\b[a-z]/\u&/g' test.txt Root:X:0:0:Root:/Root:/Bin/Bash Bin:X:1:1:Bin:/Bin:/Sbin/NOLOGIN Daemon:X:2:2:Daemon:/Sbin:/Sbin/Nologin AdsfdsfsdfdfsBUs Adm:X:3:4:Adm:/Var/Adm:/Sbin/Nologin Lp:X:4:7:Lp:/Var/Spool/Lpd:/Sbin/Nologin Sync:X:5:0:Sync:/Sbin:/Bin/Sync Shutdown:X...
grassroots 亚虎国际pt客户端于 11小时前 阅读 4

严重: Exception starting filter struts2 Unable to load configuration. - action - file:/D:/workspace/Ec

在spring整合struts2出现这种情况 ,但多运行struts2没问题的话,那就是缺jia包 struts2-spring-plugin-2.0.11.1.jar
南桥北木 亚虎国际pt客户端于 11小时前 阅读 3

pure-ftpd搭建ftp服务

二、使用pure-ftpd搭建ftp服务 pure-ftpd比较小巧 2.1、安装pure-ftpd yum install -y epel-release yum install -y pure-ftpd 2.2、修改配置文件后启动 vim /etc/pure-ftpd/pure-ftpd.conf #找到pureftpd.pdb这行,把行首的#删除 启动: systemctl stop vsftpd systemctl start pure-ftpd 启动前注意,如果之前启动了vsftpd,需要先关闭该服务。 2.3、建立账号 为了安全起见,我们仍然使用虚拟用户 2.3.1、创建虚拟用户 mkdir /data/ftp/ #生成虚拟用户关联的系统用户 useradd -u 1010 pure-ftp chown -R pure-ftp:pure-ftp /data/ftp/ #创建虚拟用户 pure-pw useradd ftp_user -u pure-ftp -d /data/ftp -u:指定关联的系统用户 -d:指定家目录 使用pure-pw –help可以查看该命令的使用帮助 2.3.2、创建用户信息数据库文件 pure-pw mkdb 2.4、测试 同vsftpd...
linux之路 亚虎国际pt客户端于 11小时前 阅读 2

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

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

使用Heapster和Splunk监控Kubernetes运行性能

Kubernetes已经成为容器编排的事实上的王者,连Docker都已经向K8s女王大人低头。对于Kubernetes的cluster的数据收集和监控已经成为IT运维的一个重要话题。我们今天来看一看如何利用Splunk最新的Metrics Store来对Kubernetes的集群进行性能监控。 部署架构 下图是该方案的部署架构,主要包括: 利用Heapster收集K8s的性能数据,包含CPU,Memory,Network,File System等 利用Heapster的Statsd Sink,发送数据到Splunk的Metrics Store 利用Splunk的搜索命令和仪表盘功能对性能数据进行监控 前期准备 前期主要要准备好两件事: 编译最新的Heapster的镜像,并上传到某个公共的Docker镜像仓库,例如docker hub 在Splunk中配置Metrics Store和对应的网络输入(Network Input UDP/TCP) 这里主要要做的选择是Statsd的传输协议用UDP还是TCP。这里我推荐使用TCP。 最新的Heapster代码支持不同的Backend,包含了log, influxdb, stackdriver, gcp monitoring, gcp logging, statsd, hawkular-metrics, wavefront, openTSDB, kafka, riemann, elasticsearch等等。因为Splunk的Metrics Store支持statsd协议,所以可以很容易的和Heapster集成。 首先我们需要利用最新的heapster代码,编译...
naughty 亚虎国际pt客户端于 1天前 阅读 1333 评论 2 点赞 1

Nginx+SSL+Tomcat+CDN部署总结,已实践有效~

之前在度娘搜索资料,无意间看到一些个人站点的博客都用了https协议,在浏览器地址栏中被标记为绿色的“安全”,前些天特地给自己负责的小项目升级成https协议,其优点这里不再赘述,小伙伴们可以自行百度,今天把整合部署分享在这里,希望小伙伴们少走弯路~ 效果如下: yahu999版本如下: System Centos 6.5 Nginx Tengine/2.1.2 (nginx/1.6.2) SSL证书 Let's Encrypt 免费SSL证书 Tomcat Apache-tomcat-8.0.47 CDN Cloudflare.com   一、生成SSL证书 首先我们创建一个用来存放letsencrypt生成证书项目的路径并进入: cd /usr/local/letsencrypt 接下来我们克隆letsencrypt项目: git clone https://github.com/letsencrypt/letsencrypt 开始生成SSL证书: ./letsencrypt-auto certonly --standalone --email test@qq.com -d www.test1.com -d www.test2.com --agree-tos 这里一定注意: (1). 域名绑定在国内DNS服务器无法生成,需要先将DNS服务器切换到DNS服务商,例如ClouldFlare、Godaddy、Dnsever后才能正常生成! (2). web服务需要处于关闭状态,注意关闭nginx和80端口的占用!(不间断服务方式生成可以自行百度) (3). -d 代表domain 可以同时生成多个域名对应证书,生...
lu54977212 亚虎国际pt客户端于 3天前 阅读 2864 评论 21 点赞 6

火车票抢票代码公开揭秘

火车票抢票代码公开揭秘
闵开慧 亚虎国际pt客户端于 7天前 阅读 6442 评论 50 点赞 12

使用Java 8 Optional避免空指针异常

> Optional可以让你的代码具有可读性,且会避免出现空指针异常。 都说没有遇到过空指针异常的程序员不是Java程序员,`null`确实引发过很多问题。Java 8中引入了一个叫做`java.util.Optional`的新类可以避免`null`引起的诸多问题。 我们看一下`null`引用能导致哪些危害。首先创建一个类`Computer`,结构如下图所示: ![输入图片说明](https://static.oschina.net/uploads/img/201801/11143707_99mL.gif "在这里输入图片标题") 当我们调用如下代码会怎样? ``` java String version = computer.getSoundcard().getUSB().getVersion(); ``` 上述代码看似是没有问题的,但是很多计算机(比如,树莓派)其实是没有声卡的,那么调用`getSoundcard()`方法可定会抛出空指针异常了。 一个常规的但是不好的的方法是返回一个null引用来表示计算机没有声卡,但是这就意味着会对一个空引调用`getUSB()`方法,显然会在程序运行过程中抛出控制异常,从而导致程序停止运行。想想一下,当你的程序在客户端电脑上运行时,突然出现这种错是多尴尬的一件事?  伟大计算机科学Tony Hoare曾经写到:"我认为null引用从1965年被创造出来导致了十亿美元的损失。当初使用null引用对我最大的诱...
刘亚涛 亚虎国际pt客户端于 1周前 阅读 3553 评论 30 点赞 5

Elastic Search搜索引擎在SpringBoot中的实践

## 实验环境 - ES版本:5.3.0 - spring bt版本:1.5.9 首先当然需要安装好elastic search环境,最好再安装上可视化插件 elasticsearch-head来便于我们直观地查看数据。 当然这部分可以参考本人的帖子: 《centos7上elastic search安装填坑记》 https://www.jianshu.com/p/04f4d7b4a1d3 我的ES安装在http://113.209.119.170:9200/ 这个地址(该地址需要配到springboot项目中去) --- ## Spring工程创建 这部分没有特殊要交代的,但有几个注意点一定要当心 - 注意在新建项目时记得勾选web和NoSQL中的Elasticsearch依赖,来张图说明一下吧: ![创建工程时勾选Nosql中的es依赖选项](http://upload-images.jianshu.io/upload_images/9824247-785048db3dca0957.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 项目自动生成以后pom.xml中会自动添加`spring-boot-starter-data-elasticsearch`的依赖: ``` org.springframework.boot spring-boot-starter-data-elasticsearch ``` - 本项目中我们使用亚虎娱乐官方app的基于restful的es java客户端`jest`,所以还需要在pom.xml中添加`jest`依赖: ``` io.searchbox jest ``` - 除此之外还必须添加`jna`的依赖: ``` net.java.dev.jna...
hansonwang 亚虎国际pt客户端于 1周前 阅读 2111 评论 13 点赞 4

前后端分离实践有感

前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化 Web 设计转向前后端分离的架构时,仍然不可避免的会遇到各种各样的问题。由于层出不穷的问题,甚至会有团队质疑,一体化好好的,为什么要前后端分离?
边城 亚虎国际pt客户端于 1周前 阅读 3013 评论 36 点赞 27

再见,Netty!你好,smart-socket!

## 再见,Netty Netty,当前最流行的NIO框架,通信领域开发的不二之选。经过多年的发展,已在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的亚虎娱乐官方app组件也基于Netty的NIO框架构建。目前市面上几乎找不到同类型可以与之媲美的通信框架,但是作为通信技术的爱好者,却向来无法对其产生亲近感。 我并不否认Netty的确是一款优秀的框架,曾经我也自己写过[NIO框架](https://gitee.com/smartdms/smart-socket),深知其实现难度有多大,最终选择了放弃。Netty的出现为广大程序员提供了便利,大大降低了开发高效、稳定服务的难度。至于本人对其无好感,究其原因有以下几点(首先申明一下,本人仅曾经简单使用过netty,并未深入研究): - 复杂;以下代码摘录自[Netty官网](http://netty.io/wiki/user-guide-for-5.x.html),初看代码,应该大部分人对于run方法比较费解。`EventLoopGroup`是干嘛的?`bossGroup`和`workerGroup`是什么关系?`childHandle`入参如此复杂!`ch.pipeline().addLast(new DiscardServerHandler())`实现的是什么功能?等等...。总之,这一个方法会引发你诸多疑惑。 ``` public class DiscardServer { private int p...
三刀蜀黍 亚虎国际pt客户端于 2周前 阅读 5829 评论 68 点赞 10

谈谈ali与Google的Java开发规范

  无规矩不成方圆,编码规范就如同协议,有了Http、TCP等各种协议,计算机之间才能有效地通信,同样的,有了一致的编码规范,程序员之间才能有效地合作。道理大家都懂,可现实中的我们,经常一边吐槽别人的代码,一边写着被吐槽的代码,究其根本,就是缺乏遵从编码规范的意识!多年前,Google亚虎国际pt客户端`Google Java Style`来定义Java编码时应遵循的规范;今年年初阿里则亚虎国际pt客户端`阿里巴巴Java 开发手册`,并随后迭代了多个版本,直至9月份又亚虎国际pt客户端了pdf终极版。这两大互联网巨头的初衷,都是希望能够统一标准,使业界编码达到一致性,提升沟通和研发效率,这对于我们码农无疑是很赞的一笔福利呀。笔者将两份规范都通读了一遍,其中列举的不少细则跟平时的编码习惯基本是符合的,不过还是有不少新奇的收获,忍不住记录在此,供日后念念不忘~ # Java开发规范总览 ## 一、Google Java Style   Google的java开发规范主要分为6大部分:源文件基本规范、源文件结构、代码格式、命名、编程实践和Javadoc,各部分概要如下: >1、源文件基本规范(source file basics):文件名、文件编码、特殊字符的规范要求 >2、源文件结构(source file structure):版权许可信息、package、import、类...
sherlockyb 亚虎国际pt客户端于 2周前 阅读 5149 评论 28 点赞 20

操作系统级虚拟化概述

本文简要介绍了操作系统级虚拟化的概念,并简要阐述了实现操作系统虚拟化所用到的技术Namespace及cgroups的原理及使用方法。
宅蓝三木 亚虎国际pt客户端于 2周前 阅读 995 评论 3 点赞 3

源码级别解读 mybatis 插件

简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 摘自官网。。 为什么要使用mybatis,相信看这篇文章的童鞋都有所了解,俺这里就多废话几句。在orm框架中,有轻量级的dbutils与mybatis,重量级的有hibernate。 为什么要选择mybatis呢?原因如下: 1.简单,这个无需我多废话。肯定的啊,使用过的童鞋都知道,在dao层定义一个接口,然后定义一个对应的xml(xml中namespace的值对应接口的全限定名就ok。因为mybatis是通过namespaceid去和接口类进行映射,然后使用动态代理创建接口类的实例方法,参见动态代理).   2.结果集映射,我认为这是mybatis做的最牛的一点,也是选择他最大的一个理由 3.完善的缓存机制(mybatis有1级缓存和2级缓存),1级缓存是基于会话的(Session),2级缓存是基于应用级别。这里不做过多阐述,有兴趣的可以参考文章 http://www.iteye.com/topic/1112327/ 4.强大的插件机制。它可以在运行过程中动态...
Autorun 亚虎国际pt客户端于 2周前 阅读 2308 评论 6 点赞 6 打赏 2

前端性能优化(三) 移动端浏览器前端优化策略

前端性能优化是一个很宽泛的概念,本书前面的部分也多多少少提到一些前端优化方法,这也是我们一直在关注的一件重要事情。配合各种方式、手段、辅助系统,前端优化的最终目的都是提升用户体验,改善页面性能,我们常常竭尽全力进行前端页面优化,但却忽略了这样做的效果和意义。先不急于探究前端优化具体可以怎样去做,先看看什么是前端性能,应该怎样去了解和评价前端页面的性能。
ouven 亚虎国际pt客户端于 2周前 阅读 1728 评论 3 点赞 5

Spring Boot缓存实战 Redis + Caffeine 实现多级缓存

在前文我们介绍了如何使用Redis或者Caffeine来做缓存。 - [Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2](http://www.jianshu.com/p/e53c1b60c6e1) - [Spring Boot缓存实战 Caffeine](http://www.jianshu.com/p/c72fb0c787fc) # 问题描述: 通过使用redis和Caffeine来做缓存,我们会发现一些问题。 - 如果只使用redis来做缓存我们会有大量的请求到redis,但是每次请求的数据都是一样的,假如这一部分数据就放在应用服务器本地,那么就省去了请求redis的网络开销,请求速度就会快很多。但是使用redis横向扩展很方便。 - 如果只使用Caffeine来做本地缓存,我们的应用服务器的内存是有限,并且单独为了缓存去扩展应用服务器是非常不划算。所以,只使用本地缓存也是有很大局限性的。 至此我们是不是有一个想法了,两个一起用。将热点数据放本地缓存(一级缓存),将非热点数据放redis缓存(二级缓存)。 # 缓存的选择 - 一级缓存:Caffeine是一个一个高性能的 Java 缓存库;使用 Window TinyLfu 回收策略,提供了一个近乎最佳的命中率。[Caffeine 缓存详解](http://www.jianshu.com/p/9a80c662dac4) - 二级缓存:redis是一高性能、高可用的key-value数据库,支持多...
xiaolyuh 亚虎国际pt客户端于 2周前 阅读 3220 评论 24 点赞 7

spring boot redis分布式锁

> 随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现有很多种,比如基于数据库、 _zookeeper_ 等,本文主要介绍使用 _Redis_ 做分布式锁的方式,并封装成spring boot starter,方便使用 #### 一. _Redis_ 分布式锁的实现以及存在的问题 锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用 _Redis_ 实现锁,主要是将资源放到 _Redis_ 当中,利用其原子性,当其他线程访问时,如果 _Redis_ 中已经存在这个资源,就不允许之后的一些操作。spring boot使用 _Redis_ 的操作主要是通过 _RedisTemplate_ 来实现,一般步骤如下: 1. 将锁资源放入 _Redis_ (注意是当key不存在时才能放成功,所以使用 _setIfAbsent_ 方法): ``` redisTemplate.opsForValue().setIfAbsent("key", "value"); ``` 2. 设置过期时间 ``` redisTemplate.expire("key", 30000, TimeUnit.MILLISECONDS); ``` 3. 释放锁 ``` redisTemplate.delete("key"); ``` 一般情况下,这样的实现就能够满足锁的需求了,但是如果在调用 _setIfAbsent_ 方法之后线程挂掉了,即没有给锁定的资源设置过期时间,默认是永不过期,那么这个锁就会一直存在。...
J猿 亚虎国际pt客户端于 2周前 阅读 3909 评论 10 点赞 11

SQL优化-第二章-从解释计划层面让SQL飞

# 前言 在第一章,我们谈到加强数据库的设计层面认知可以让SQL的跑得更快,这章我们就谈论下如何从语言层面来提供优化SQL。如果说有一把钥匙能打开SQL优化的大门,那么解释计划就是这样的一把钥匙。什么是解释计划--数据根据统计信息生成的代码执行计划,了解释计划,理解解释计划就能帮助我们理解代码的瓶颈,问题的所在,有的放矢进行优化。Oracle提供了多种解释计划,hive,mongodb,mysql等数据库都提供相似的工具。在第一章的时候,举例子的时候也用到解释计划,刚好借这个机会也来说说解释计划。 # 如何获取解释计划 ## 方式一:explain plan for 用法) 步骤1:explain plan for "你的SQL" 步骤2:select * from table(dbms_xplan.display()); 例子) ``` explain plan for SELECT * FROM t1, t2 WHERE t1.id = t2.t1_id AND t1.n in(18,19); select * from table(dbms_xplan.display()); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------- Plan hash value: 3532430033 ------------------------------------------------------------------------------------------- | Id | Operation | Name | ...
osenlin 亚虎国际pt客户端于 3周前 阅读 1858 点赞 8

手把手教你用1行Python代码实现FTP服务器 -- Pyftpdlib

当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。
kangvcar 亚虎国际pt客户端于 3周前 阅读 3392 评论 12 点赞 5

为什么43%前端开发者想学Vue.js

根据[JavaScript 2017前端库状况调查](https://stateofjs.com/2017/front-end/results/) **Vue.js**是开发者最想学的前端库。我在这里说明一下我为什么认为这也是和你一起通过使用Vue构建一个简单的App应用程序的原因。 我最近曾与Evan You,Chris Fritz,Sarah Drasner,和Adam Jahr做了一个介绍视频,而现在你可以在http://vuejs.org首页找到它。以下是该视频的文字版本。 # 伟大的JavaScript迁移 如你所知,**JavaScript**在过去的10年中已经成熟了很多,而且服务器端正常运行的大部分代码已经迁移到浏览器中了。随着这变得越来越复杂,框架也变得越来越有组织性。 ![为什么43%前端开发者想学Vue.js](http://upload-images.jianshu.io/upload_images/145564-47adf719c305dab3?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我不打算告诉你为什么一个比另一个更好的,虽然在官方网站有一个详细的比较。 **Vue.js**旨在成为一个平易近人,多功能,高性能,可维护性,可测试的JavaScript框架。Vue的目也是为了进步,意思就是如果你有一个现有的应用程序存在只占一个部分的前端,你需要更多的互动体验那么就可以使用Vue。 或者,您也可以从一开始就在前端构建更多的...
笔阁 亚虎国际pt客户端于 3周前 阅读 5175 评论 31 点赞 7

十个实用MySQL函数

十个实用MySQL函数,你要不要进来领走...
andyqian 亚虎国际pt客户端于 3周前 阅读 2648 评论 6 点赞 6

J2EE分布式框架--开发环境部署

环境搭建: 1.环境准备 1.开发工具: Eclipse IDE(建议使用高一点的版本) 2.JDK版本:JDK1.7 3.项目管理: Maven3.1.1 2.安装步骤 1.安装jdk1.7并配置环境变量(相信大家都会做,这里不再做重复的说明) 2.安装maven:maven安装过程就是解压缩的过程(我已经帮大家解压了, 目录:E:\myprj\jeesz-maven\apache-maven-3.1.1),为了方便大家,这边已经提供了相关的安装包,会在打包的目录下共享。
windywindy 亚虎国际pt客户端于 3周前 阅读 1974 点赞 3

文本识别OCR浅析:特征篇

OCR技术浅探:特征提取(1) 研究背景 关于光学字符识别(Optical Character Recognition, 下面都简称OCR),是指将图像上的文字转化为计算机可编辑的文字内容,众多的研究人员对相关的技术研究已久,也有不少成熟的OCR技术和产品产生,比如汉王OCR、ABBYY FineReader、Tesseract OCR等. 值得一提的是,ABBYY FineReader不仅正确率高(包括对中文的识别),而且还能保留大部分的排版效果,是一个非常强大的OCR商业yahu999. 然而,在诸多的OCR成品中,除了Tesseract OCR外,其他的都是闭源的、甚至是商业的yahu999,我们既无法将它们嵌入到我们自己的程序中,也无法对其进行改进. 亚虎娱乐官方app的唯一选择是Google的Tesseract OCR,但它的识别效果不算很好,而且中文识别正确率偏低,有待进一步改进. 综上所述,不管是为了学术研究还是实际应用,都有必要对OCR技术进行探究和改进. 我们队伍将完整的OCR系统分为“特征提取”、“文字定位”、“光学识别”、“语言模型”四个方面,逐步进行解决,最终完成了一个可用的、完整的、用于印刷文字的OCR系统. 该系统可以初步用于电商、微信等平台的图片文字识别,以判断上面信息的真伪. 研究假设 在本文中,我们假设图像的文字部分有以下的特征: 1. 假设...
失败人士 亚虎国际pt客户端于 3周前 阅读 1644 评论 8 点赞 8

Mysql通讯协议分析

1.Mysql的连接方式 要了解Mysql的通讯协议,首先需要知道是以哪种连接方式去连接Mysql服务器的;Mysql的主要连接方式包括:Unix套接字,内存共享,命名管道,TCP/IP套接字等。 1.1Unix套接字 在Linux和Unix环境下,可以使用Unix套接字进行Mysql服务器的连接;Unix套接字其实不是一个网络协议,只能在客户端和Mysql服务器在同一台电脑上才可以使用,使用方式也很简单: root@root ~]# mysql -uroot -proot mysql> show variables like 'socket'; +---------------+---------------------------+ | Variable_name | Value | +---------------+---------------------------+ | socket | /var/lib/mysql/mysql.sock | +---------------+---------------------------+ 1 row in set (0.00 sec) 以上命令查询Unix套接字文件的位置; 1.2命名管道和内存共享 在window系统中客户端和Mysql服务器在同一台电脑上,可以使用命名管道和共享内存的方式, 命名管道开启:–enable-named-pipe=on/off; 共享内存开启:–shared-memory=on/off; 1.3TCP/IP套接字 在任何系统下都可以使用的方式,也是使用最多的连接方式,本文要介绍的通讯协议也是基于此连接方式...
ksfzhaohui 亚虎国际pt客户端于 3周前 阅读 2474 评论 8 点赞 6
顶部