开源中国

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

It appears you’re using an unsupported browser

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

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

开放才能进步!Angular和Wijmo一起走过的日子

Angular已成为广受欢迎的前端框架。去年9月份,期待已久的Angular2的正式版发布之后,Angular又迎来了新一轮热潮。伴随着Angular这一路走来,Wijmo一直都是第一个全面支持各种版本Angular的JS控件库.
hobe 发布于 1小时前 阅读 25

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

支付的那些套路(手机支付宝篇)

安卓和IOS的支付方式是不同的,安卓走接口,IOS走内购,官方文档写的还算可以,安卓的基本套路是这样的: so:根据阿里提供的文档拼接参数 Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("app_id", PayPropertiesUtils.getString("alipay.appPay.appId")); paramMap.put("method", PayPropertiesUtils.getString("alipay.appPay.method")); paramMap.put("format", PayPropertiesUtils.getString("alipay.appPay.format")); paramMap.put("charset", PayPropertiesUtils.getString("alipay.inputCharset")); //发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 2014-07-24 03:07:50 paramMap.put("timestamp", UtilDate.getDateFormatter()); paramMap.put("version", PayPropertiesUtils.getString("alipay.appPay.version")); paramMap.put("notify_url", PayPropertiesUtils.getString("alipay.appPay.notifyUrl")); //业务对象 Map<String, String> bizContentMap = new HashMap<String, String>(); ...
waasdasd 发布于 3小时前 阅读 26 点赞 1

.net 基础服务开源战略规划备忘录

.net 基础服务开源战略规划备忘,涉及公司现状,行业现状,战略规划
车江毅 发布于 3小时前 阅读 44

Kubernetes Eviction Manager工作机制分析

为了极限的压榨资源,很多时候Kubernetes集群会运行一些Best-Effort Task,这样就会存在资源超配的情况,Kubernetes是如何控制Node上资源的使用,在压榨资源使用的同时又能保证Node的稳定性?本文就为你介绍其背后运行机制。我的下一篇博文,会对Kubelet Eviction Manager进行源码分析,感兴趣的同学可以关注。
WaltonWang 发布于 3小时前 阅读 23

用JAVA写一个简易图片防篡改

图片防止篡改部分 第一步,获取图片的md5字符串,并转为字节数组 //将图片使用md5加密 private static byte[] img2Md5Bytes(File file,String salt) throws Exception{ FileInputStream inputStream=new FileInputStream(file); StringBuilder builder=new StringBuilder(); byte[] bytes=new byte[1024]; int bytesRead; while ((bytesRead=inputStream.read(bytes))!=-1){ builder.append(new String(bytes,0,bytesRead)); } inputStream.close(); builder.append(salt); String md5=md5(builder.toString()); return hexStringToBytes(md5); } //16进制转字节数组 private static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexString.toUpperCase(); int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < l...
empty_null 发布于 4小时前 阅读 118

基于keras的深度学习基本概念讲解——深度学习之从小白到入门

Tensorflow1.0正式发布,谷歌首届Tensorflow开发者大会在山景召开,深度学习迎来新的高潮和狂欢。随着深度学习框架的普及和推广,会有越来越多人加入到这场盛宴中来,就像Android技术的普及使得开发人员迅速扩大。在这里給大家带来一套小白入门深度学习的基础教程,使用得是Keras,一个高级神经网络库,同时也是Tensorflow1.0引进的一个高层API。
Kanonpy 发布于 17小时前 阅读 44

MySQL在Windows Server上安装多个实例的方法

在Windows Server上使用MySQL Installer是不能够安装的。所以是需要一些技巧的。 Step 1:正常安装配置MySQL,默认的服务名为MySQL,假如MySQL安装目录为 D:\Program Files\MySQL_1\MySQL Server 5.5。基本配置如下: [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 #Path to installation directory. All paths are usually resolved relative to this. basedir="D:/Program Files/MySQL_1/MySQL Server 5.5/" #Path to the database root datadir="D:/Program Files/MySQL_1/MySQL Server 5.5/Data/"   Step 2:在控制面板中停掉MySQL服务 Step 3:复制D:\Program Files\MySQL_1 为D:\Program Files\MySQL_2。并把my.ini中的相应配置改为: [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3307 #Path to installation directory. All paths are usually resolved relative to this. basedir="D:/Program Files/MySQL_2/MySQL Server 5.5/" #Path to the database root datadir="D:/Program Files/MySQL_2/MySQL Server 5.5/Data/" Step 4:在cmd窗口中打入 D:\Program Files\MySQL_2\MySQL Server 5.5\bin>mysqld install M...
朽木Sweayer 发布于 19小时前 阅读 25

【码云周刊第 8 期】面试之前,或许该高效率地学点干货了!

每周为您推送最有价值的开源技术内参!
开源中国码云 发布于 20小时前 阅读 1806 评论 1

【Spring】使用Spring的AbstractRoutingDataSource实现多数据源切换

最近因为项目需要在做两个项目间数据同步的需求,具体是项目1的数据通过消息队列同步到项目2中,因为这个更新操作还涉及到更新多个库的数据,所以就需要多数据源切换的操作。下面就讲讲在Spring中如何进行数据源切换。这里是使用AbstractRoutingDataSource类来完成具体的操作,AbstractRoutingDataSource是Spring2.0后增加的。 实现数据源切换的功能就是自定义一个类扩展AbstractRoutingDataSource抽象类,其实该相当于数据源DataSourcer的路由中介,可以实现在项目运行时根据相应key值切换到对应的数据源DataSource上。先看看AbstractRoutingDataSource的源码: public abstract class AbstractRoutingDataSource extends AbstractDataSource implements InitializingBean { /* 只列出部分代码 */ private Map<Object, Object> targetDataSources; private Object defaultTargetDataSource; private boolean lenientFallback = true; private DataSourceLookup dataSourceLookup = new JndiDataSourceLookup(); private Map<Object, DataSource> resolvedDataSources; private DataSource resolvedDefaultDataSource; @Override ...
weknow 发布于 23小时前 阅读 39

spring-boot里用freemarker做模板的国际化配置

网上搜索到的都是用thymeleaf模板做的国际化,没找到freemarker,然后我想到了,spring-boot 用的mvc框架不就是springmvc吗,然后就搜索了下springmvc freemarker i18n,结果还真让我找到了
朋也 发布于 2天前 阅读 216

【软件周刊第 16 期】TensorFlow 1.0 正式发布,更快、更灵活、更方便开发;Go 1.8 发布,编译速度比 1.7 提高约 15%

软件周刊(02.12 — 02.18):本周热门软件更新 — TensorFlow 1.0 正式版发布,更快、更灵活、更方便开发;Go 1.8 正式发布,编译速度比 Go 1.7 提高约 15%;经多次延期后,Ubuntu 16.04.2 LTS 终于发布
编辑部的故事 发布于 2天前 阅读 1190 评论 2 点赞 1

基于微博数据用 Python 打造一颗“心”

一年一度的虐狗节终于过去了,朋友圈各种晒,晒自拍,晒娃,晒美食,秀恩爱的。程序员在晒什么,程序员在加班。但是礼物还是少不了的,送什么好?作为程序员,我准备了一份特别的礼物,用以往发的微博数据打造一颗“爱心”,我想她一定会感动得哭了吧。哈哈 ### 准备工作 有了想法之后就开始行动了,自然最先想到的就是用 Python 了,大体思路就是把微博数据爬下来,数据经过清洗加工后再进行分词处理,处理后的数据交给词云工具,配合科学计算工具和绘图工具制作成图像出来,涉及到的工具包有: requests 用于网络请求爬取微博数据,结巴分词进行中文分词处理,词云处理库 wordcloud,图片处理库 Pillow,科学计算工具 NumPy ,类似于 MATLAB 的 2D 绘图库 Matplotlib ### 工具安装 安装这些工具包时,不同系统平台有可能出现不一样的错误,wordcloud,requests,jieba 都可以通过普通的 pip 方式在线安装, ```python pip install wordcloud pip install requests pip install jieba ``` 在Windows 平台安装 Pillow,NumPy,Matplotlib 直接用 pip 在线安装会出现各种问题,推荐的一种方式是在一个叫 Python Extension Packages for Windows [1] 的第三方平台下载 相应的...
liuzhijun 发布于 2天前 阅读 1476 评论 11 点赞 15

Docker网络代理设置

## 背景   在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理。我们通常会将网络代理直接配置在/etc/environment、/etc/profile之类的配置文件中,这对于大部分操作都是可行的。然而,docker命令却使用不了这些代理。比如docker pull时需要从外网下载镜像,就会出现如下错误: ``` $ docker pull hello-world Unable to find image 'hello-world:latest' locally Pulling repository docker.io/library/hello-world docker: Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.. See 'docker run --help'. ```   ps: 本文在**Ubuntu16.04**下测试通过。 ## 解决方案一:   停止docker服务,手动以使用2375端口监听所有网络接口的方式启动docker daemon。 ``` $ systemctl stop docker.service $ nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & ```   详情参见:*https://docs.docker.com/v1.11/engine/reference/commandline/daemon/#daemon-socket-option* ## 解...
styshoo 发布于 2天前 阅读 168 评论 1

在Spring Boot中集成Mybatis

    之前我们讲过在Spring Boot中集成JPA“在spring Boot中使用Spring-data-jpa操作数据库”,本篇介绍另外一个ORM框架Mybatis在Spring Boot中的集成使用。     最近一直在用JPA,其实还是蛮喜欢JPA的风格,最近需要开一个新项目,还没定下具体用什么ORM框架,不过Mybatis的几率会大一些,本篇就相当于一个温习回顾吧,话不多说了,大家看下面步骤吧。 在Spring Boot中集成Mybatis 在POM中添加Mybatis的相关起步依赖,Spring Boot的项目构建大家可以参考我的这篇文章“Spring Boot快速入门 ” <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>  配置数据库连接,我们在application.yml文件中配置一下内容 spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/restful?useUnicode=true&characterEncoding=UTF-8&useSSL=false username: root password: ro...
老虎是个蛋蛋 发布于 2天前 阅读 405 评论 3 点赞 1

nginx 搭建rtmp流媒体服务器

本文是搭建nginx流媒体服务器过程的笔记,方便自己或者有相关需求的人员参考。 1. 下载PCRE 并安装.       主页地址: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/      ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz 2.  解压 tar -xzvf pcre-8.37.tar.gz      cd pcre-8.37      make, make install (if not the root user, please use the sudo) 3.  安装OpenSSL       sudo apt-get install libssl-dev 4.  下载nginx 和 nginx rtmp 模块      http://nginx.org/download/nginx-1.10.0.tar.gz      解压 tar -zxvf nginx-1.10.0.tar.gz      https://github.com/arut/nginx-rtmp-module      执行nginx 编译配置       ./configure --add-module=/path/to/nginx-rtmp-module       make       make install 5.   启动nginx       nginx 默认安装目录 /usr/local/nginx       sbin 目录下nginx 服务器主程序, 启动 sudo ./nginx 6.   查看      /usr/local/nginx/sbin$ ps -ef | grep nginx         root      1394  1474  0 18:11 ?        00:00:0...
勿忘初心嘞 发布于 2天前 阅读 361 点赞 3

[喵咪Liunx(6)]Nginx日志分析工具goaccess

哈喽大家好呀!真是好久不见了,说来有些惭愧,离上一次发布博客已经是2016年的事情了,在这段时间中工作也比较忙,需要学习的东西也比较多,趁着过年前后有一些时间可以来好好分享分享一些有意思的东西,今天给大家带来的是Nginx日志分析工具goaccess,goaccess可以对Nginx的LOG文件进行分析,对请求量,用户数量等进行可视化展示,好那么久进入我们今天的正题吧!
喵了_个咪 发布于 2天前 阅读 182

重定向输出到 /dev/null 隐藏的坑

  在日常工作中, 我们早已经和黑洞设备 /dev/null  打过无数次交道!  正如它的外号:黑洞, 它对于所有输出到它的内容都一视同仁, 全盘接收,重要的是, 它甚至不会产生IO, 这让我们非常放心的将一大堆没必要的内容, 全部委托给这个 值得依靠的小伙伴.   但是, 今天突发奇想, 想知道为什么/dev/null, 可以做到不产生IO, 全盘接收, 于是谷歌之, 找到了相应的源码: /* 内核源码版本: linux-2.6.32 */ /* drivers/char/mem.c" */ /* /dev/null 的所有实现, 都将由这个结构体定义 */ static const struct file_operations null_fops = { .llseek = null_lseek, .read = read_null, // 从 /dev/null 读取, 对应的函数 .write = write_null, // 写到 /dev/null 对应的函数 .splice_write = splice_write_null, }; ... // 直接返回0 static ssize_t read_null(struct file * file, char __user * buf, size_t count, loff_t *ppos) { return 0; } // 直接返回写的字节数 static ssize_t write_null(struct file * file, const char __user * buf, ...
Lin_R 发布于 3天前 阅读 201 评论 6

Ubuntu 16.04安装Zabbix 3.2 版本

一、环境准备 部署Zabbix需要安装Apache、MySQL和PHP。在Ubuntu 16.04下只有php7.0而没有php5,所以php的版本是php7。 sudo apt-get install apache2 sudo apt-get install mysql-server sudo apt-get install php7.0 php7.0-gd libapache2-mod-php7.0 php7.0-mysql php7.0-bcmath php7.0-mbstring php7.0-xml 安装mysql-server设置的时候,需要为root用户设置一个密码 二、编辑/etc/php/7.0/apache2/php.ini文件,修改里面的时区等配置文件,否则进入zabbix的安装目录时,会检测到错误,修改完成后重启服务。 sudo vim /etc/php/7.0/apache2/php.ini date.timezone = Asia/Shanghai # 时区改为亚洲上海 max_input_time = 300 # 每个PHP页面接收数据所需的最大时间 max_execution_time= 300 # 超时设置 post_max_size = 16M # 设定 POST 数据所允许的最大大小 sudo /etc/init.d/apache2 restart 三、下载zabbix的安装包,并进行安装 wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb sudo apt-get update 四、安装z...
孤独的小猪 发布于 3天前 阅读 103

5步搞定CentOS6.7上MongoDB副本集搭建

如果只有一个节点或者使用Master-Slave模式,存在主机挂掉后“单点失效”的问题。通过使用Mongo DB副本集,可以提高容错性和可用性~~ 
王孟君 发布于 3天前 阅读 123

SpringBoot+Shiro学习之数据库动态权限管理和Redis缓存

发现问题,需找解决思路。 ----------- 之前我们整合Shiro,完成了登录认证和权限管理的实现,登录认证没什么说的,需要实现AuthorizingRealm中的doGetAuthenticationInfo方法进行认证,但是我们在实现doGetAuthorizationInfo权限控制这个方法的时候发现以下两个问题: - 第一个问题:我们在ShiroConfig中配置链接权限的时候,每次只要有一个新的链接,或则权限需要改动,都要在ShiroConfig.java中进行权限的修改。而且改动后还需要重新启动程序新的权限才会生效,很麻烦。**解决办法**就是将这些链接的权限存入数据库,在前端可以提供增删改查的功能,在配置文件中编写权限的时候从数据库读取,当权限发生变更的时候利用ShiroFilterFactoryBean的清空功能,先clear,再set。这样就可以做到到动态的管理权限了。 - 第二个问题:每次在访问设置了权限的页面时,都会去执行doGetAuthorizationInfo方法来判断当前用户是否具备访问权限,由于在实际情况中,权限是不会经常改变的。**解决办法**就是进行缓存处理。 个人博客:[http://z77z.oschina.io/](http://z77z.oschina.io/) 此项目下载地址:[https://git.oschina.net/z77z/springboot_mybatisplus](https://git.oschina.n...
邹海清 发布于 3天前 阅读 630 评论 3 点赞 5

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

用JAVA写一个简易图片防篡改

图片防止篡改部分 第一步,获取图片的md5字符串,并转为字节数组 //将图片使用md5加密 private static byte[] img2Md5Bytes(File file,String salt) throws Exception{ FileInputStream inputStream=new FileInputStream(file); StringBuilder builder=new StringBuilder(); byte[] bytes=new byte[1024]; int bytesRead; while ((bytesRead=inputStream.read(bytes))!=-1){ builder.append(new String(bytes,0,bytesRead)); } inputStream.close(); builder.append(salt); String md5=md5(builder.toString()); return hexStringToBytes(md5); } //16进制转字节数组 private static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexString.toUpperCase(); int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < l...
empty_null 发布于 4小时前 阅读 118

扒一扒 学UI设计需要多少钱

  学UI设计需要多少钱       如今随着UI设计的走热,很多朋友都想转行去参加UI培训,自然就会有很多朋友关心UI培训多少钱的问题,究竟UI设计培训需要多少费用,又该怎么选择合适自己的培训机构去学习呢?       随着新媒体、互联网的发展,“UI设计”这个行业在国内已经不再陌生。“UI设计”,这个新兴的名词,在设计师领域的逐渐走热,使各大企业为此设立了专门的部门,与之相关的专业也在各大院校应运而生。       尽管如此,现在大部分院校却没有完整的关于UI培训设计的课程体系。很多关于UI设计的课程大多来自于UI培训机构或企业中。一说到UI培训机构,可能会 有很多人比较敏感,但是不得不承认,事实上,很多参加过培训的学生,普遍的要比普通高校毕业生要更受当今社会企业的爱戴和重视。       再谈到UI设计培训多少钱的问题,因为UI培训设计需要多少钱,并没有一个统一具体的标准,这主要是因为以下因素:     一、不同地区、不同的培训机构       在这里主要是要讲到,每个地区经济状况不同,UI培训机构的不同会有不同的收费标准,这一标准主要是不同的UI培训机构根据自身及当地的情况来定的,所以很难笼统的说具体的培训费用是多少。...
郭三斤 发布于 4小时前 阅读 63

JavascriptCodingStandard Javascript 代码规范

规范理念 Any violation to this guide is allowed if it enhances readability. 所有的代码都要变成可供他人容易阅读的。 --引用自Dojo Javascript 语法规范 规范详解 命名规范 必须使用 Tab 键进行代码缩进,以节约代码大小(建议设置编辑器的tab为4个空格的宽度) 接口风格 结构 规则 例如 类 驼峰式 ModuleClass() 公有方法 混合式 getPosition() 公有变量 混合式 frameStyle 常量 大写式 DEFAULT_FRAME_LAYOUT 其他建议风格,非必要 结构 规则 私有方法 混合,例子:mixedCase 私有变量 混合,例子:mixedCase 方法(method)参数 混合,例子:mixedCase, mixedCase 本地(local)变量 混合,例子:mixedCase, mixedCase 所有语句结束后,必须使用 ; 号结束 所有变量必须是有意义的英文,严厉禁止拼音 变量允许使用公认英文缩写 类命名必须是驼峰式 常量必须所有单词大写,并且每个单词间加下划线 枚举类型时,枚举的命名必须有意义,枚举与枚举成员必须以驼峰式 常量和枚举必须在最前端定义,merge 时注意,必须把常量与枚举定义的文件放在文件列表的第一位 变量内的简写单词不能全大写XmlDocument strHtml "on"只能用作事件的命名 函数开头必须是有意义的动词或动词短...
big军 发布于 6年前 阅读 186

.net 基础服务开源战略规划备忘录

.net 基础服务开源战略规划备忘,涉及公司现状,行业现状,战略规划
车江毅 发布于 3小时前 阅读 44

关于寻路算法的一些思考(4):A* 算法的变体

定向搜索   在A*算法的循环中,OPEN集合用来保存所有用于寻找路径的被搜索节点。定向搜索是在A*算法基础上,通过对OPEN集合大小设置约束条件而得到的变体算法。当集合太大的时候,最不可能出现在最优路径上的节点将会被剔除。这样做会带来一个缺点:由于必须得保持这样的筛选,所以可选择的数据结构类型会受到限制。   迭代深化(Iterative deepening)   迭代深化是一种很多AI算法采用的方法,开始的时候给一个估计值,然后通过迭代使它越来越精确。这个名字来源于游戏树搜索中对接下来几次操作的提前预判(例如,在象棋游戏中)。你可以通过向前预判更多的操作来深化游戏树。一旦当你的结果不发生变化或提高很多,就可以认为你已经得到了一个非常好的结果,即使让它更精确,结果也不会再改善。在迭代深化A*(IDA*)算法中,“深度”是 f 值当前的一个截断值。当 f 值太大的时候,节点不会被考虑(也就是说,不会被加入到OPEN集中)。第一次循环时,只需要处理非常少的节点。随后的每次循环,都会增加访问的节点数。如果发现路径得到优化,就继续增加当前的截断值,否则结束。更多细节,参见链接。   我个人并不看好IDA*算法在游戏地图寻路中的应用。迭代深化的算法往往...
oschina_00 发布于 4小时前 阅读 58

IntelliJ idea 中使用Git

优秀的东西一起使用,会营造出你意想不到的惊喜!   IDEA中 如何将本地项目提交到本地仓库和远程仓库(github),下面是想详细的操作步骤:  1.要使用GitHub,首先你需要下载一个Github  (地址:http://windows.github.com/) 这里使用的是for Windows (我的系统是win 8.1) 然后安装完成会得到如下的一个目录:2. 在Idea 里面做相关配置: 打开设置面板(Ctrl+Alt+S),点击左边功能面板列表中的Version Control(版本控制)如下图:在这里有许多进行版本控制的配置,我们要用的是Git   3. 然后我们点击第六项 GitHub(本文默认你已经拥有了一个github账号,如果没有请先注册) 然后Host一栏填写github 的地址: github.com 在 Login 一栏填写你的github 账号,Password 一栏填写密码 填写完成后点击 Test按钮,此时 IDEA 会根据你填写的内容远程访问github社区,如果账号和密码输入正确会提示你链接成功4. 接下来,点击左边面板的功能列表中的Git 进行配置 这里面有许多配置,其实基本按照默认的就行了,无需做其他更多的操作。 在Path to Git executable一栏,选择刚才安装的git路径下bin\git.exe 然后点击后面的Test按钮,如果配置成功会看到如下界面:然后点击, Apply,OK 按钮...
孤曲感人伤 发布于 3小时前 阅读 35

枚举类型

1、基本的enum特性 关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用。 调用enum的values()方法,可以遍历enum实例,返回的是enum实例的数组,而且该数组中的元素严格保持其在enum中声明时的顺序。 创建enum时,编译器会生成一个相关的类,这个类继承自java.lang.Enum。 Enum提供的一些功能: ordinal():返回一个int值,这是每个enum实例在声明时的次序,从0开始。 ==:比较enum实例,编译器会自动提供equals()和hashCode()方法。 Enum类实现了Comparable接口,具有compareTo()方法,同时它还实现了Serializable接口。 enum实例上调用getDeclaringClass()方法,就能知道其所属的enum类。 name():返回enum实例声明时的名字,这与使用toString()方法效果相同。 valueOf():Enum中定义的static方法,它根据给定的名字返回相应的enum实例,如果不存在,将抛出异常。 静态导入用于enum。使用static import能够就将enum实例的标识符带入当前的命名空间,无需再用enum类型来修饰enum实例。多数情况下,使用static import还是有好处的,不过程序员还是应该对具体情况进行具体分析。 2、向enum中添加新方法 不能继承自一个enum之...
刘胜球 发布于 2年前 阅读 40

周末作业

1. After ascending order, output : import java.util.Scanner; public class SortingArray {     public static void main(String[] args) {         Scanner var = new Scanner(System.in);         System.out.println("Please enter three integers in turn:"+" a, b, c(and separate them by spaces)");         Scanner input = new Scanner(System.in);         int[] arr = new int[3];         for (int i = 0; i < arr.length; i++) {             arr[i] = input.nextInt();         }         int a = arr[0];         int b = arr[1];         int c = arr[2];         int array[] ={a, b, c};         System.out.println("you enter the integers is: " + "a = "+ a +", b ="+ b +", c =" +c);         System.out.println("After ascending order, output :");         for(int i = 0; i < array.length -1; i++){             for(int j = 0; j < array.length - i - 1; j++){                 if(array[j] > array[j + 1]){ ...
BohrRyu 发布于 15小时前 阅读 32

HDFS分布式文件系统(2) HDFS的java接口

hadoop学习笔记 ,文档中所示例的项目的地址 https://git.oschina.net/weiwei02/WHadoop
为为02 发布于 1周前 阅读 315 点赞 1

Kurento Room Demo 教程 (发布)

在满足以下要求的机器上,可以将Kurento Room应用程序安装为系统服务(例如kurento-room-demo)。 本节介绍如何部署(安装,配置和执行)Room Demo应用程序。 我们还提供了一种方法来运行演示,而不诉诸于系统级安装。 ** 系统需求 ** - Ubuntu 14.04 - Git (to obtain the source code) - Java JDK version 8 - Maven (for building from sources) - Bower (which in turn requires Node.js) ``` curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs npm install -g bower ``` - Kurento Media Server 或连接至少有一个正在运行的实例(要按照[官方安装指南](http://doc-kurento.readthedocs.io/en/stable/installation_guide.html)) ### Installation procedures #### Demo binaries 目前,没有Kurento房间演示的二进制版本。 为了部署一个新的演示服务器,需要从源代码构建它。 ``` $ git clone https://github.com/Kurento/kurento-room.git $ cd kurento-room # checkout the latest tag $ git checkout $(git describe --abbrev=0 --tags) ``` #### Build from source 该演示已配置为在Maven构建的打包阶段生成压缩归档。 要获...
chapin 发布于 3小时前 阅读 30

浅谈前端学习

给前端新手一些心得体会
UknowZheng 发布于 2小时前 阅读 29 评论 2

如何升级YDB

一、YDB升级步骤 1.停止YDB服务       通过./stop-all.sh来停止服务(注:HDP版本需要在管理页面上停止服务) 2.备份旧程序 1)备份旧版YDB整个程序目录 2)备份我们自己开发或添加的第三方的jar包和配置文件 3)备份YDB提供的Spark整个程序目录 4)备份HIVE本地元数据库       本地元数据库是指Hive元数据库derby.log和metastore_db,元数据库的位置可以从conf下的ya100_env.sh中的HIVE_METASTORE_PATH获取,如下图所示。 3.升级程序 1)替换ydb提供的Spark升级版本 u将之前旧的spark整个目录mv成待备份的目录名字,如xxx_spark_bak_yyyymmdd u将新的spark解压后,重新命名为之前的spark目录 u检查spark目录是否正确,核对spark相关文件是否存在 2)替换YDB u将之前旧的ya100 整个目录mv成待备份的目录名字,如xxx_ya100_bak_yyyymmdd u将新的ya100解压后,重新命名为之前的ya100目录 u检查ya100目录是否正确,核对相关文件路径是否存在 3)元数据库文件替换       将之前备份的Hive元数据库derby.log和metastore_db ,恢复到相关目录里面。       如果没有恢复该元数据库目录,升级YDB后,会发现之前旧版创建的hive表,均不可见(数据还在)。 5)将我们...
开心延年 发布于 2小时前 阅读 28

Mybatis介绍之参数传递

本文主要介绍Mybatis传递参数的方式和在Mapper.xml文件中获取参数的方式、原理等。
Elim 发布于 4小时前 阅读 54

在Ubuntu上安装leveldb

1.先按照依赖,执行以下命令 sudo apt-get install devscripts debhelper libsnappy-dev 2.下载leveldb的源码,利用wget命令 wget https://github.com/google/leveldb/archive/v1.19.zip 3. 解压,利用unzip unzip v1.19.zip && cd leveldb-1.19/   4. 在leveldb-1.19目录中执行 “make”,编译好leveldb,会在当前目录生成一个目录“out-shared” 5. 执行一下命令 cd ../out-shared/  sudo mv libleveldb.* /usr/local/lib cd ../include/ sudo cp -R leveldb /usr/local/include sudo ldconfig 执行到此,leveldb安装完成,下面来测试一下(Python)   pip install leveldb 进入到ipython环境 import leveldb db = leveldb.LevelDB('./db') # single put db.Put('hello', 'world') print db.Get('hello') # single delete db.Delete('hello') print db.Get('hello') # multiple put/delete applied atomically, and committed to disk batch = leveldb.WriteBatch() batch.Put('hello', 'world') batch.Put('hello again', 'world') batch.Delete('hello') db.Write(batch, sync = True)  ...
搜呗 发布于 3小时前 阅读 26

JAVA中static关键字的解读

JAVA中static关键字的一些解读,了解static关键字一些知识
_Zuozuo 发布于 2小时前 阅读 23

oracle segmentation fault错误

segmentation fault
李狗蛋丶 发布于 2小时前 阅读 23

MySQL在Windows Server上安装多个实例的方法

在Windows Server上使用MySQL Installer是不能够安装的。所以是需要一些技巧的。 Step 1:正常安装配置MySQL,默认的服务名为MySQL,假如MySQL安装目录为 D:\Program Files\MySQL_1\MySQL Server 5.5。基本配置如下: [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 #Path to installation directory. All paths are usually resolved relative to this. basedir="D:/Program Files/MySQL_1/MySQL Server 5.5/" #Path to the database root datadir="D:/Program Files/MySQL_1/MySQL Server 5.5/Data/"   Step 2:在控制面板中停掉MySQL服务 Step 3:复制D:\Program Files\MySQL_1 为D:\Program Files\MySQL_2。并把my.ini中的相应配置改为: [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3307 #Path to installation directory. All paths are usually resolved relative to this. basedir="D:/Program Files/MySQL_2/MySQL Server 5.5/" #Path to the database root datadir="D:/Program Files/MySQL_2/MySQL Server 5.5/Data/" Step 4:在cmd窗口中打入 D:\Program Files\MySQL_2\MySQL Server 5.5\bin>mysqld install M...
朽木Sweayer 发布于 19小时前 阅读 25

Redis 突然集体报错 NOAUTH Authentication required

今天很奇怪,两台服务器上的redis毫无征兆的集体报错 NOAUTH Authentication required,一开始也没有重视,重启了下就好了,深更半夜老板说又不能访问了,才开始重视。搜下了很多人都遇到了这种情况包括[红薯大哥](http://www.oschina.net/question/12_2144405?sort=default&p=2#answers),而且情况有点小严重。 ## 检查下自己是否在裸奔 无论是否开启了远程访问(毕竟阿里服务器份额占多,区域也就这么几个,花个几块钱临时用个几小时做内网扫描了),都看下是否开启了密码访问。 用redis-cli客户端连接远程服务器 ``` ./redis-cli -h 10.129.xx.xx:6379 10.129.xx.x:6379> keys * (error) ERR operation not permitted ``` 或者 ``` 10.129.xx.x:6379> config get requirepass ``` 如果没有输入秘密就可以访问,那么说明你在裸奔,话不多说,先设置登录秘密再说 首先确定redis使用了那个redis.conf,然后修改requirepass(如果redis加入了service,在/etc/init.d里面查看redis启动命令) ## [入侵迹象](http://www.cnblogs.com/yangecnu/p/An-Production-Accidents-Caused-by-Redis-Attacked.html) 我检查了两天服务,由于测试服是临时搭建,肯定是裸奔的,但是没想的是生...
小昭归来 发布于 1个月前 阅读 50

Kubernetes Eviction Manager工作机制分析

为了极限的压榨资源,很多时候Kubernetes集群会运行一些Best-Effort Task,这样就会存在资源超配的情况,Kubernetes是如何控制Node上资源的使用,在压榨资源使用的同时又能保证Node的稳定性?本文就为你介绍其背后运行机制。我的下一篇博文,会对Kubelet Eviction Manager进行源码分析,感兴趣的同学可以关注。
WaltonWang 发布于 3小时前 阅读 23

十进制与64进制互相转换算法

把十进制数字转换到64进制,可应用于长度缩短等方面
_Zuozuo 发布于 4小时前 阅读 21

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

Spring MVC 更灵活的控制 json 返回(自定义过滤字段)

这篇文章主要讲 Spring MVC 如何动态的去返回 Json 数据 在我们做 Web 接口开发的时候, 经常会遇到这种场景。 > 两个请求,返回同一个对象,但是需要的返回字段并不相同。如以下场景 ```java /** * 返回所有名称以及Id */ @RequestMapping("list") @ResponseBody public List findAllNameAndId() { return articleService.findAll(); } /** * 返回所有目录详情 */ @RequestMapping("list-detail") @ResponseBody public List findAllDetail() { return articleService.findAll(); } ``` Spring MVC 默认使用转json框架是 `jackson`。 大家也知道, `jackson` 可以在实体类内加注解,来指定序列化规则,但是那样比较不灵活,不能实现我们目前想要达到的这种情况。 这篇文章主要讲的就是通过自定义注解,来更加灵活,细粒化控制 json 格式的转换。 最终我们需要实现如下的效果: ```java @RequestMapping(value = "{id}", method = RequestMethod.GET) // 返回时候不包含 filter 内的 createTime, updateTime 字段 @JSON(type = Article.class, filter="createTime,updateTime") public Article get(@PathVariable String id) { return articleService.get(id); } @RequestM...
DiamondFsd 发布于 1周前 阅读 5930 评论 59 点赞 22

【码云周刊第 7 期】首个完整版开源机器人项目;MySQL 开发和运维规范;小程序为何刚上线就遭冷落;Let's Encrypt 使用教程,拥抱HTTPS

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

阿拉丁软件股票配资系统具备哪些功能和模块?

磐众科技·阿拉丁股票配资系统,最专业的股票配资系统       此款股票配资系统是目前国内唯一一款可以对接实盘的股票分账户股票软件,交易无延时,运行稳定,后台管理方便快捷,是高端股票业务金融公司必备股票软件。 阿拉丁股票配资系统行业的前景:        现在股票配资行业蓬勃发展,在线配资契合了目前大部分股友对配资要求方便快捷的特点,乘势而起,迅速发展起来。原先线下企业抢占了一大部分的市场份额,现在线上股票配资平台已然慢慢发展,已抢回线下的一部分市场份额。与传统股票配资业务有所区别的是,线上配资业务的所有流程均在网络上进行,包括用户注册,签署电子合同,支付手续费用、借款利息等。这种模式的优势,打破了地域的局限性,可以面向更多配资人。 磐众科技·阿拉丁股票配资系统·最专业的股票配资系统 股票配资开发功能模块:       股票配资系统是服务于金融机构的专业机构投资管理平台。管理平台包含交易端、管理端两大模块,分别服务于投资操作人员和管理者。       交易端完美支持沪深A股实时行情、分时图、K线数据以及前台交易;管理后台是对所有用户进行实时监控,管理用户,还可以配置相关指标等。软件界面板块划分明确,简洁...
专业金融软件开发 发布于 6天前 阅读 2412

Angular2.0视频教程来了!(视频和PPT的链接都在底部)

各位道友大家好:        “Angular2.0视频教程”来了!这是第一个完整版的Angular 2.0系列中文视频教程。        还是大漠穷秋老师,还是熟悉的声音,还是淡淡的小幽默。3年前,大漠老师在慕课网发布了“AngularJS实战” http://www.imooc.com/learn/156 系列视频教程,迄今为止已经有14万人学习,整体评分9.6分。很多道友反馈说,通过学习这门课程找到了心仪的工作,大漠老师感到非常开心,说明他的付出是有价值的。        这一次,大漠老师再度倾力打造,从开发环境到完整案例,涵盖了Angular2的方方面面。如果你自己看文档,或者在网上寻寻觅觅,看那些碎片化的文章,可能需要几十个小时,甚至几个月才能摸到门道。而你来听大漠老师的系统讲解,只要8小时,你就是Angular开发专家了!整个课程全部基于大漠老师自己开发的NiceFish这个小项目,如果你想先睹为快,请自己检出代码上手试玩 http://git.oschina.net/mumu-osc/NiceFish 。        同时,大漠老师还给大家带来了一波小福利,每一节课都会送出2本《揭秘Angular2,https://item.jd.com/12027521.html ,整个课程共送出20本。《揭秘Angular2》由广发证券金融团队编著,汤桂川老师领...
大漠穷秋 发布于 2周前 阅读 11985 评论 31 点赞 21 打赏 2

大型网站架构演化

原创地址:https://my.oschina.net/u/3039671/blog/836750 1. 最初始的网站架构   就像我们在自己电脑上搭建了一个论坛的网站,应用程序(例如Apache服务器)、数据库等都部署在我们自己的电脑上的。就可以正常运行了。 2. 应用服务和数据服务分离 我们的论坛越来越受欢迎,用户越来越多,论坛也十分越活。但是面临的问题是数据库中的信息越来越多,存储不够了。这个时候我们又多弄了几台服务器,应用程序(Apache服务器)、数据库和保存用户上传的文件(图片)单独部署在不同的服务器上。 应用服务器处理大量的业务逻辑,所以需要更好的CPU 数据库服务器需要完成数据的快速查询,所以需要更大的硬盘和内存 文件服务器保存用户上传的图片等文件,所以需要更大的硬盘 3. 使用缓存改善网站性能 我们的论坛用户继续快速增涨,我们发现访问速度越来越慢,原因就是很多请求都要访问数据库(例如,读取用户的个人信息,打个不恰当的比喻,每次进入一个话题,该话题中的每一个发言用户的信息都要从数据库中读取)。这个时候如果我们能缓存这些用户信息,每次从缓存中读取,这样对数据库的压力会大大降低,并且读取的性能也提升了很多。 4. 使用应用服务器集群改善网站的并发处理能...
lizo 发布于 1周前 阅读 2097 评论 14 点赞 8

如何自己动手写一个监控系统?

1)报警配置信息的录入  这部分比较简单,就是一个简单的管理系统 架构如下所示: 配置信息具体要存什么,看你自己需要,每个人有自己的想法 我之前的思路是: (0)定义本配置所属的服务,比如web服务,rpc服务,cache缓存服务,mq服务,sql服务。 (1)定义一个采样次数的总数,比如10次采样样本为一次计算单位。 (2)定义一个采样样本不过关的次数,比如4次,也就是10次里面有4次样本不过关就报警。 (2.1)单个样本里的成功率必须>=某个阀值 (2.2)单个样本里的平均耗时必须<=某个阀值 (2.3)单个样本里的最大耗时必须<=某个阀值(可选) (2.4)单个样本里的最小耗时必须<=某个阀值(可选) (2.5)单个样本里的TP99数值必须<=某个阀值(可选) (2.6)其它,你想怎么做就怎么做,规则你自己定,你就是规则之王。 (3)报警周期,就是后面如果报警,多少时间之内同种类型的不再报警,如果你不需要就设置为0,那么有多少报警都会发出去,造成报警短信洪灾。 单个样本到底是啥意思? 客户端调用埋点jar包里的API,会调用很多次,然后如果你定义了6秒钟收割一次进行数据采样汇总,上传到服务器,那就是一个采样样本。 PS:如果在这6秒钟某个API被调用1万次,成功6000次,那么只会上报一条数据给远程...
强子哥哥 发布于 2周前 阅读 2658 评论 11 点赞 8 打赏 1

【软件周刊第 15 期】Linux Kernel 3.18 LTS 终止支持 请升至 4.9 或 4.4 分支;Visual Studio 2017 正式版 3 月 7 日发布

软件周刊(02.05 — 02.11):本周热门软件更新 — 史上最快 Opera 43 发布,页面加载时间缩至极限;PostgreSQL 五版齐发,修复超过 75 个 bug;阿里开源的企业级 Node.js 框架 egg 0.11 发布
编辑部的故事 发布于 1周前 阅读 4239 评论 9 点赞 1

隐藏的宝藏,13个不可忽视的优秀 Python 库

作为一门语言,你知道 Python 是如何获得现在的成功的吗? 不妨去看看它大量的库吧,不管是原生的,还是第三方的,可能会有所收获。 有这么多的库,也就不奇怪为什么有的很多人用,有的却没有引起多少人注意。 而且,专注于一个领域的程序员往往并不知道那些看起来是为其他工作类型创建的库能给他们带来什么好处。 这里有 13个你可能已经忽略,但绝对值得你的注意的优秀的 Python 库。 是时候给这些隐藏的宝藏一些关注了。 1、Pillow 简介:图像“无痛”处理库,易用版的 PIL。 亮点:大多数执行过图像处理的 Pythonist 应该会熟悉 PIL(Python 图像库),但 PIL 有不少缺点和限制,并且很少更新。Pillow 的目标是比 PIL 更容易使用,并通过最小的变化与 PIL 代码兼容。 扩展包括用于与本机 Windows 的映像功能和 Python Tcl/Tk-backed Tkinter GUI 包。 Pillow 在2017年初发布了 4.0 版本,增加了许多变化,主要是针对内部结构,但同时也更新了 Pillow 使用 的 FreeType 和 OpenJpeg 等最新版本的依赖库。 2、Gooey 简介: 一条命令,将命令行程序变成一个 GUI 程序。 亮点:Gooey 论证了 argparse 命令行解析库期望的参数,并把它们作为 GUI 形式呈现给用户,所有选项...
编辑部的故事 发布于 2周前 阅读 5906 评论 11 点赞 14

【码云周刊第 6 期】程序员不可错过的 Git 技术干货

![码云周刊](https://static.oschina.net/uploads/img/201701/09170848_HsPK.jpg "码云周刊") > 每周为您推送最有价值的开源技术内参! ##热门资讯 **1、[2017 码云招聘-被窝已暖,漂洋过海来睡我](https://www.oschina.net/news/81098/gitosc-recruitment-2017)** > 好吧,我承认这是一则寻人启事! > 既然来了,何不今日将咱们彼此之间纯洁的革命友谊升华一下?外面冷我已将被窝暖好~ > 码云团队是一群追逐梦想的人,为做出美好的事情而努力。在这里没有大公司的等级观念,扁平化的管理模式让每个人都可以随时提出自己的创意和想法。所以,我们诚意邀请您的加入…… **2、[谷歌 Chrome 新功能曝光:“小程序”来了](https://www.oschina.net/news/81573/chrome-add-to-pwas)** > 在微信推出“小程序”后,谷歌也准备这么做了,将在谷歌浏览器Chrome上推出。 > 谷歌的“小程序”名叫增强型网页应用( Progressive Web Apps,简称 PWAs),是目前正处于测试版的Chrome 57新增的功能…… **3、[GitLab 称有 707 位用户超 5000 个项目丢失数据](https://www.oschina.net/news/81560/gitlab-707-users-lost-data)** > GitLab 的一位系统管理员本周早些时候删错了服务器上的 ...
开源中国码云 发布于 2周前 阅读 7413 评论 4 点赞 3

Let's Encrypt 使用教程,免费的SSL证书,让你的网站拥抱 HTTPS

这篇文章主要讲的就是如何让自己的网站免费从HTTP升级为HTTPS,使用的是 [Let's Encrypt](https://letsencrypt.org/)的证书。实际上也就是一个Let's Encrypt 免费证书获取教程 。 为什么要上HTTPS,说一个小故事。 > 从前有个网站,后来有个广告,没了 作为一个博客,自然不想让在被别人浏览的时候,出现莫名的广告([运营商劫持](https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl#safe=strict&hl=zh-CN&q=%E8%BF%90%E8%90%A5%E5%95%86%E5%8A%AB%E6%8C%81))。这时候,HTTPS的价值就体现出来了。 HTTPS的好处还有很多,但单单这一条,就够我花心思去升级了。 (其实主要目的是提升网站Biger :) ## Let's Encrypt 简介 如果要启用HTTPS,我们就需要从证书授权机构(以下简称CA) 处获取一个证书,Let's Encrypt 就是一个 CA。我们可以从 Let's Encrypt 获得网站域名的免费的证书。这篇文章也主要讲的是通过 Let's Encrypt + Nginx 来让网站升级到HTTPS。 ## Certbot 简介 [Certbot](https://certbot.eff.org) 是Let's Encrypt官方推荐的获取证书的客户端,可以帮我们获取免费的Let's Encrypt 证书。Certbot 是支持所有 Unix 内核的操作系统的,个人博客的...
DiamondFsd 发布于 1个月前 阅读 4176 评论 30 点赞 16

Vue 短信验证码组件开发详解

1、该组件基于Vue 2.1.X版本;
woter 发布于 1周前 阅读 2164 评论 1 点赞 3

使用vue2+Vuex+Router重写饿了么点餐系统和vue插件简析

一直对vue很感兴趣,最近使用vue2.0开发了高仿饿了么点餐系统来练练手,不得不说vue真是一个很不错的框架,但是也遇到过一些坑,在这里和大家分享一下 饿了么点餐系统 vue2.0、vuex、vue-router、axios、webpack、eslint、better-scroll 部分细节还在开发中,感兴趣的可以加入进来,觉得不错的给个star 2017/02/10更新   已经写完,仍有不少地方可以优化,一起来完善吧~ GitHub地址:https://github.com/SimonZhangITer/VueDemoSellEleme 演示 在线演示戳我 扫二维码在手机上查看效果更好 项目截图 构建 vue有自己的脚手架构建工具vue-cli,使用起来非常方便,使用webpack来集成各种开发便捷工具,比如: 代码热更新,修改代码之后网页无刷新改变,对前端开发来说非常的方便 PostCss,再也不用去管兼容性的问题了,只针对chrome写css代码,会自动编译生成支持多款浏览器的css代码 Eslint,统一代码风格,规避低级错误,对于有代码洁癖的人来说是绝对的好东西,不过有些地方的代码校验有时候也挺麻烦的-.- bable,ES2015出来已经有一段时间了,但是不少浏览器还没有兼容ES6.有了bable,放心使用ES6语法,它会自动转义成ES5语法。 Stylus,类似于SASS/SCSS,但是可以不写{}和...
Simon_ITer 发布于 2周前 阅读 4522 评论 18 点赞 5

大型网站架构技术一览

大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。本文内容大部分来自《大型网站技术架构》,这本书很值得一看,强烈推荐。
黎嘉诚 发布于 6天前 阅读 558

【源资讯 第14期】不要停止学习!新年目标和跳槽参考看这里

【一周源资讯(2017.2.4-2017.2.10)】春节过完,程序员在忙着制定新一年的目标,还有不少的程序员忙着跳槽,这里给你准备了一些参考。
编辑部的故事 发布于 1周前 阅读 2663 评论 8 点赞 1

SpringBoot+shiro整合学习之登录认证和权限控制

学习任务目标 ---- 1. 用户必须要登陆之后才能访问定义链接,否则跳转到登录页面。 2. 对链接进行权限控制,只有当当前登录用户有这个链接访问权限才可以访问,否则跳转到指定页面。 3. 输入错误密码用户名或则用户被设置为静止登录,返回相应json串信息。 > 我是用的是之前搭建的一个springboot+mybatisplus+jsp的一个基础框架。在这之上进行shiro的整合。需要的同学可以去我的码云下载。 个人博客:[http://z77z.oschina.io/](http://z77z.oschina.io/) 此项目下载地址:[https://git.oschina.net/z77z/springboot_mybatisplus](https://git.oschina.net/z77z/springboot_mybatisplus) 导入shiro依赖包到pom.xml ------------------ ```xml org.apache.shiro shiro-spring 1.3.2 ``` 采用RBAC模式建立数据库 ------------- > RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。 ```xml /*表结构插入*/ DROP TABLE IF EXISTS `u_permission...
邹海清 发布于 7天前 阅读 1017 评论 14 点赞 1

Mybatis介绍之缓存

本文主要介绍Mybatis的一级缓存、二级缓存,包括它们的原理、应用等,以及如何使用自定义的Cache。
Elim 发布于 6天前 阅读 1119 评论 8 点赞 3

Jflow ccflow工作流引擎烟台培训邀请函

Jflow ccflow工作流引擎烟台培训邀请函 各位jFlow, CCFlow 爱好者:   驰骋工作流程引擎是国内开源很成功的一款工作流程引擎,广泛应用于大型集团企业、机关事业单位、部队军区、保密军工行业。设计精巧、功能强大、极高的可配置性、概念名词通俗易懂、成长于中国生产制造、管理审批特有的环境下,深的国内开发者追崇,拥有众多的成功案例:http://ccflow.org/Case.aspx。 驰骋工作流引擎具有.net与java两个版本,代码&数据库解构,设计思想,功能,操作手册,完全相同. 流程表单模版完全通用。 我们定于{2017年2月20号上午}起到{2月22号下午}止,在{烟台}培训,欢迎各位新老用户报名参与。     我们将对如下用户提供免费培训,请提前预约。 1,  jflow, ccflow的老用户,新进的员工,我们将免费提供二次培训。 2,  评估选型的用户, 需要遵守驰骋公司的评估选型协议。 http://ccflow.org/Site/License.aspx     3,有一定贡献的开源软件作者。   我们将对小微企业提供有偿的收费服务培训: 符合小微企业标准,将不按照12万的最低标准计算, 我们会根据项目情况进行收费,这类的用户我们将会提供如下服务。 1,    全方位的培训,享受大企业一样的培训效果。 2,    ...
ccflow 发布于 5天前 阅读 375 评论 2 点赞 3

编程必备,程序员应该都知道的7款文本编辑器

正如一个作家需要一个文字处理器来写故事,一个艺术家需要画布来创作,同样的,如果想编程,你会需要一个地方来写代码。 程序员在哪里编写代码?最常见的就是使用文本编辑器了吧。 下文列出了7个主流的文本编辑器,不出意外的话,开发人员应该都有所了解,至少听说过。欢迎大家在文章底部留言评论,分享自己的使用习惯和对这些编辑器的看法! 1、Sublime 2 & 3 Sublime Text 是许多开发人员日常使用的经典文本编辑器,可用于包括 Windows、Mac、Linux 等多个平台。不过虽然可以不购买许可证免费使用,但不时会有弹窗消息提示,有点烦人。想去除弹窗的,还是去付费购买吧。 Sublime 的特色功能: 良好的扩展功能(包管理器) 允许添加第三方库 速度快,发布快 多平台支持 简洁的 UI 强大的功能集 2、TextMate TextMate 是 Mac下的著名文本编辑器,曾经是 Ruby on Rails 开发人员默认使用的,原因就在于他们主要都在使用 Mac OS 系统。可惜的是,由于只适用于 Mac 系统,有点限制了它的使用性。 TextMate 具有丰富的功能集、外部库和一些一出现就被其他编辑器复制的创新功能。个人认为其中最引人注目的当属“模糊查找功能”,允许快速定位文件,无需通过 Command + T 来搜寻...
编辑部的故事 发布于 4天前 阅读 5216 评论 38 点赞 3

用VUEJS做一个网易云音乐(基于2.x)

> 前言:自己学习VUEJS也一段时间,但一直没有做出来一东西。我自己一直喜欢用网易云音乐app,于是乎就做了这个app。 ## 技术栈 - vue全家桶 (vue vue-router vuex) - axios - Muse-UI(一个基于Vue2.x的material design 风格UI框架) ## 功能与思路分析 我之前学习JS的时候对Html5 audio研究过,也写过一些例子,那时的功能并不是很全面。在写这个程序之前,我好好的查阅了当前的HTML5中的audio标签,发现博客园上一位园友总结的很不错([这里](http://www.cnblogs.com/tianma3798/p/6033108.html))。于是就先把网易云音乐最基本的功能实现,歌单部分(这也是我喜欢网易云音乐的原因之一),然后目前实现了音乐的上一曲、下一曲,播放、暂停。列表功能。 ### 后台 后台采用.net做为后台提供系统请求所用的API([源码](https://github.com/javaSwing/MusicAPI)),原理很简单就是用.net伪装成一个客户端去访问网易云音乐的API然后,把返回的json数据转发出来。同时服务端做下跨域处理。 核心代码: ``` /// /// 请求网易云音乐接口 /// /// 要请求的接口类型 /// 要请求的接口类型的对象 /// 请求结果(JSON) public static string Request(T config) where T : RequestData...
JavaSwing 发布于 4天前 阅读 2926 评论 13 点赞 16

JAVA内存关注总结,作为个程序员需要对自己系统的每块内存做到了如指掌

作为个程序员需要对自己系统的每块内存做到了如指掌
爱吃大肉包 发布于 1周前 阅读 717 评论 3 点赞 1

#深度学习#首次安装Tensorflow

初入门深度学习,简单的在windows上部署下TF玩玩
Hochikong 发布于 54分钟前 阅读 5

Go 微服务实践

简介   近一两年来,微服务架构已经成为热门话题(microservices.io),与传统的一体化应用架构相比,微服务架构在开发、测试、部署方面都有众多吸引人之处,越来越多没有历史包袱的新项目都启用微服务架构的模式来开发。 我们这个团队经过深入思考之后,决定在一起美这个APP的后端开发中,选择Go作为开发语言,采用微服务模式来实现,经过近半年的实践,形成了一些心得,简单总结后分享出来,希望能够给大家一些帮助。 框架选择 不同的团队在选择基础框架(库)时考虑的要素不同,我们团队更喜欢小而美的框架,尽可能不要让框架侵入业务,易于升级、维护和替换,所以我们更愿意选择Library而不是Framework。 在web方面,我们选择了negroni作为middleware库,采用性能不错的httprouter替换go标准库的mux,而没有用任何web相关的框架。 在微服务之间的rpc调用方面,为了将来的扩展性、跨语言调用等因素,我们没有直接用go标准库的rpc模块,而是采纳了google最新推出的grpc。但grpc本身属于比较重型的rpc框架,对业务代码有一定的侵入性,我们做了一系列的库(包括worpc、worc、wonaming等https://github.com/wothing)来屏蔽这些不必要的业务代码侵入,保持了业务代码本身的...
徐学良 发布于 58分钟前 阅读 1

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

怎么开发一个 Kurento Modules

您可以扩展Kurento Media Server开发自己的模块。 有两种风格的Kurento模块: - 基于OpenCV的模块。 如果您想开发一个计算机视觉滤波器,建议使用这种模块。 - 基于GStreamer的模块。 这种模块更强大,但也更难开发。 GStreamer开发中的技能是必要的。 开发过滤器的起点是创建过滤器结构。 对于这个任务,可以使用 kurento-module-scaffold 工具。 此工具随kurento-media-server-6.0-dev软件包一起发布。 要安装此工具,请在shell中运行此命令: ``` sudo apt-get install kurento-media-server-6.0-dev ``` 工具的用途根据所选择的风格而不同: [1]. OpenCV模块: ``` kurento-module-scaffold.sh opencv_filter ``` [2]. Gstreamer模块: ``` kurento-module-scaffold.sh ``` 该工具生成文件夹树,包含了必需的CmakeLists.txt文件和Kurento模块描述符文件(.kmd)的示例文件。 这些文件描述了开发人员定义的模块,构造函数,方法,属性,事件和复杂类型。 一旦kmd文件完成,我们就可以生成代码。 工具kurento-module-creator为服务器端生成粘合代码。 从根目录: ``` cd build cmake .. ``` 以下部分详细介绍了如何根据您选择的过滤器类型(OpenCV或GStreamer)创建模块:...
chapin 发布于 1小时前

Android开发之greenDAO学习笔记

greenDao3学习笔记
OSCN仔仔 发布于 1小时前

Django:model类的objects属性

A model class's objects attribute is an instance of django.db.models.manager.Manager. A manager has the following methods, all of which return aQuerySet instance. all() -- Returns a QuerySet of all objects in the database. This is like the old get_list(). Takes no arguments. filter(**kwargs) -- Returns a QuerySet, filtered by the given keyword arguments. Lookup arguments are in the same style as previously, e.g.pubdate__year=2005, except you can leave off __exact as a convenience. For example, name='John' and name__exact='John' are equivalent. Note that for lookups between applications you can't omit __exact. exclude(**kwargs) is the same as filter(), but returns objects where the given arguments are not true. order_by(*fieldnames) -- Returns a QuerySet count() -- Returns the count of all objects in the database. dates(field_name, kind) -- Like the old get_FIELD_list() for date fields. For example, old-school get_pubdate_list('year') is now dates('pubdat...
丰_申 发布于 1小时前 阅读 4

【java】反射+poi 导出excel

反射 导出的数组转变成对象 ``` private static Object expexcelMaptobean(Class cobj,Map map,int[] expColums,String[] params) throws InstantiationException, IllegalAccessException{ Object t=cobj.newInstance(); Set> set=map.entrySet(); int i=0; for(Entry s:set){ String field=s.getKey(); field=field.substring(0,1).toUpperCase()+field.substring(1); try { Method m = null ; for(Class clazz = cobj; clazz != Object.class ; clazz = clazz.getSuperclass()) { Method[] mehhods= clazz.getDeclaredMethods(); for(Method md:mehhods){ if(("set"+field).equals(md.getName())){ Type[] paramclass=md.getParameterTypes(); for(Type paramType:paramclass){ String paramval=params[expColums[i]]+""; m =clazz.getDeclaredMethod("set"+field,(Class[])paramclass) ; if(paramType.getTypeName().equals("java.math.BigDecimal") ){ boolean isNum = paramval.matches("\\d+(\\.\\d+)?"); if(!isNum){ m.invoke(t,new BigDecimal(0)); }else{ m.invoke(t,new BigDecimal(paramval)); } }else{ m.invoke(t,paramval); } } } } } } catch (Exception...
v5_dodo 发布于 1小时前

AWS搭建VPN

如何在AWS上搭建VPN服务? 1、购买AWS的EC2服务:当前AWS提供免费的EC2使用,30G即可。 2、购买完AWS的EC2之后,需要在EC2服务器上安装对应的VPN服务即可。      类Linux系统:1、首先,直接找到购买AWS的vpn.perm文件,执行“chmod 400 VPN.pem”;                2、连接ec2虚机,执行“ssh -i "VPN.pem" root@ec2-54-242-34-51.compute-1.amazonaws.com”                               3、安装pptpd服务,“sudo zypper install pptpd”                        4、pptd和iptables的相关配置即可。               具体可参照:http://blog.sina.com.cn/s/blog_67118e770102vg4d.html
小祁1124 发布于 1小时前

搜索引擎,你选择哪个?

  对于程序员来说,选择搜索引擎是一件非常重要的事,这决定了自己搜索资料的速度与准确性。 Google业务包括互联网搜索、云计算、广告技术,开发并提供大量基于互联网的产品与服务,开发线上软件、应用软件,还涉及移动设备的Android操作系统以及操作系统谷歌ChromeOS操作系统的开发。对于程序员来说,Google似乎更专业点,也就成了他们的首选,但Google被封以后,程序员们无奈只得转移阵地。 只能说以前Google光芒太盛,其实其他的浏览器用着也还不错。 说说我用Baidu的理由: 1、性价比:实事求是地说,Google的中文搜索结果和Baidu差不多。事实上,文本搜索引擎核心技术及其原理自成熟以后其发展根本不值一提,除了那些根本不知道该干嘛的,各家本来也不会差太多。结合其它因素,Baidu是最合适的。 2、 信息过滤:事实上使用Baidu要比那些好多人嚷嚷的技术类关键字直接上英文搜索的方式效率高得多。不是说我看那点技术文章费劲,而是信息规模;考虑到英文世界比中文世界大,往往用基本只索引中文网站的搜索引擎出来的结果更少。 对于最后这一点,我要着重说明:因为我们使用的关键词往往都是英文,且咱们这个行业,问题及其解答都是相似的;这个时候,你用英文搜索引擎...
路人从北少喵呜 发布于 1小时前 阅读 2

hadoop入门之设置datanode的心跳时间的方法

做作业的过程中发现,把一节点停掉,dfsadmin和50070都无法马上感知到一个data node已经死掉 HDFS默认的超时时间为10分钟+30秒。 这里暂且定义超时时间为timeout 计算公式为: timeout  = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval 而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认的大小为3秒。 需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒 所以,举个例子,如果heartbeat.recheck.interval设置为5000(毫秒),dfs.heartbeat.interval设置为3(秒,默认),则总的超时时间为40秒 <property>         <name>heartbeat.recheck.interval</name>         <value>5000</value> </property> <property>         <name>dfs.heartbeat.interval</name>         <value>3</value> </property>...
Zero零_度 发布于 1小时前 阅读 1

开放才能进步!Angular和Wijmo一起走过的日子

Angular已成为广受欢迎的前端框架。去年9月份,期待已久的Angular2的正式版发布之后,Angular又迎来了新一轮热潮。伴随着Angular这一路走来,Wijmo一直都是第一个全面支持各种版本Angular的JS控件库.
hobe 发布于 1小时前 阅读 25

windows下如何成功安装python scrapy

An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way.  scrapy是为了抓取所需的网络数据的一个开源的协作框架。它的工作方式简单快速且可扩展。(原谅我耿直的翻译) 使用pip安装scrapy pip install scrapy 因为我的电脑同时有Python2.7和Python3.5,所以,我的安装代码: py -2 -m pip install scrapy 安装出错: 根据提示前往http://aka.ms/vcpython27下载Microsoft Visual C++ Compiler for Python 2.7: 安装了Microsoft Visual C++ Compiler for Python 2.7后,重启cmd再安装一次,又出错: 虽然没有理解错误是什么意思,但大概看出是lxml库的问题: py -2 -m pip install lxml 报了同样的错误: 因此,很明显是lxml库导致安装无法继续进行的。我在网上查找了许多方法来解决上面的报错,都没有找到根本原因,于是我在它的官网http://lxml.de/installation.html(我猜测这是官网)找到了一些解释。 MS Windows For MS Windows, recent lxml releases feature community donated binary distributions, although you might still want to take a look at the related FAQ entry. If...
唐佳 发布于 1小时前

APP软件开发运营的新突破

近年来,在移动APP软件市场中就不断有人提到“精细化运营”这个概念。在人口红利的消失的时代,新的APP软件以难有机会,不少APP软件开发也到了增长顶峰。最终,在这场争夺战中,用户留存量、用户在APP软件开发上成为了开发商的争夺关键。
英趣科技 发布于 1小时前

python学习笔记2

Python列表。 ``` # -*- coding: utf-8 -*- """ Created on Mon Feb 20 11:05:50 2017 @author: Administrator """ #列表 weeklist=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'] print(weeklist) #排序,根据字母顺序排序,顺序被修改后无法恢复 cars=['baoma','aodi','aeo','qq'] print(cars) #根据字母顺序排序,且不改变列表原有顺序 print(sorted(cars)) print(cars) cars.sort() print(cars) #根据字母逆序排序,与sort排序结果相反 cars.sort(reverse=True) print(cars) #倒序打印列表,顺序不可恢复,再次执行命令可以恢复原顺序 cars.reverse() print(cars) # print(type(weeklist[0])) #从后向前索引,在列表长度未定情况下很有用 print(weeklist[-1]) names=['tom','bill','green'] print(names) print(names[0]+' Hi.') print(names[1]+' Hi.') print(names[2]+' Hi.') #定义出行方式列表 chuxing=['步行','公交车','打的'] print('I like '+chuxing[0]) print('I like '+chuxing[1]) print('I like '+chuxing[2]) #修改列表值 chuxing[2]='的士' print(chuxing) #增加元素 chuxing.append('飞机') print(chuxing) #指定位置添加...
白豆腐徐长卿 发布于 1小时前 阅读 1

NIO学习--介绍

Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。其主要组成的元素有:   |--buffer       :负责在建立好的通道(channel)中搬运的数据        |--ByteBuffer         不同类型的缓冲区        |--CharBuffer        |--DoubleBuffer ...   |--channel    :源与目标连接的通道,不做数据传输       |--FileChannel                文件io       |--DatagramChannel      UDP io       |--SocketChannel           TCP io       |--ServerSocketChannel  TCP io   |--Selectors   : 选择器用于监听多个通道的事件,因此,单个的线程可以监听多个数据通道。 与传统io的区分: 1. nIo是面向缓冲区, io是面向流 2.Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。该线程在此期间不能再干任何事情了。 Java NIO的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅能得到目前可用的数据,如果目前没有数据可用时,就什么都不会获取。而不是保持线程阻塞,所以直至数据变的可以读取之...
PraiseLord 发布于 2小时前

移动端1px细线解决方案总结

现在的PM和UI总以看app的眼光看html5, html页面要做的专业美观,而且必须很精细. 去年的时候UI就告诉我h5上的边框线太粗,把整站都给拉low了. 当时工期紧就没太在意1px粗细, 好在那个版本没上线就迭代掉了,后面的版本针对这个问题做了些尝试, 这里总结下1px细线的处理方法 移动端1px变粗的原因 为什么移动端css里面写了1px, 实际看起来比1px粗. 其实原因很好理解:这2个’px’的含义是不一样的. 移动端html的header总会有一句 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 这句话定义了本页面的viewport的宽度为设备宽度,初始缩放值和最大缩放值都为1,并禁止了用户缩放. viewport通俗的讲是浏览器上可用来显示页面的区域, 这个区域是可能比屏幕大的. 根据这篇文章http://www.cnblogs.com/2050/p/3877280.html的分析, 手机存在一个能完美适配的理想viewport, 分辨率相差很大的手机的理想viewport的宽度可能是一样的, 这样做的目的是为了保证同样的css在不同屏幕下的显示效果是一致的, 上面的meta实际上是设置了ideal viewport的宽度. 以实际举例: iphone3和iphone4的屏幕宽度分别是320px,640px, 但是它们的i...
-鹏 发布于 2小时前

APP ID

https://support.google.com/tagmanager/answer/7182414?hl=zh-Hans
看不懂就多看几遍 发布于 2小时前

数组排序

var arr = [1,2,3,4,3,21,3,4,5,3,21,6]; //冒泡排序             function paixu(a){                 for(var j=0;j<a.length;j++){                     for(var i=0;i<a.length-j;i++) {                         if(a[i]>a[i+1]){                             var temp = a[i];                             a[i] = a[i+1];                             a[i+1] = temp;                         }                     }                 }                 console.log(a);             }            paixu(arr); //sort()排序             function sss(a,b){                 return a-b;             }             console.log(arr.sort(sss));...
会飞的咸鱼 发布于 2小时前 阅读 2

实时查看PostgreSQL的QTPS

有些时候想统计一下PostgreSQL当前的查询数或者事务数,就直接用内置的视图去统计,但可视化或可读性不是很高,以前看到的pgcenter这个工具挺好的,但是没有记录历史的QTPS,只有实时刷的最新值,同事问起,周末就写了个小工具,用来查询数据库当前的QTPS。 一、脚本代码 #!/usr/bin/env python #coding=utf-8 import time import sys import os import psycopg2 as pgdb #传入参数 i_host = sys.argv[1] i_port = sys.argv[2] i_pwd = sys.argv[3] conn = pgdb.connect(host=i_host,database='postgres',user='postgres',port=i_port,password=i_pwd) cursor = conn.cursor() sql = "select sum(tup_inserted) ,sum(tup_updated) ,sum(tup_deleted) ,sum(xact_commit) ,sum(xact_rollback) from pg_stat_database where datname not in('postgres','template1','template0');" while True: try: cursor.execute(sql) conn.commit() results = cursor.fetchall() for row in results: p_ins = row[0] p_upd = row[1] p_del = row[2] p_com = row[3] p_rol = row[4] time.sleep(1) cursor.execu...
kenyon_君羊 发布于 2小时前 阅读 3 评论 1

《大数据与电商四大核心要素》笔记

http://www.infoq.com/cn/presentations/large-data-and-electricity-providers-four-core-elements 爬虫获取商品与价格   销量预测算法: 神经网络 随机森林:决策树之随机森林   差异定价(价格歧视) 时间,渠道,区域,用户(优惠券)   商品推荐 用户画像 (用户意图 )  商品标签     协同过滤   订单履约  运筹学 排序、分组   总结: 目前人工干预较大,需要不断迭代优化,达到机器自动 建模难度    
jayronwang 发布于 2小时前

浅谈前端学习

给前端新手一些心得体会
UknowZheng 发布于 2小时前 阅读 29 评论 2

基于微博数据用 Python 打造一颗“心”

一年一度的虐狗节终于过去了,朋友圈各种晒,晒自拍,晒娃,晒美食,秀恩爱的。程序员在晒什么,程序员在加班。但是礼物还是少不了的,送什么好?作为程序员,我准备了一份特别的礼物,用以往发的微博数据打造一颗“爱心”,我想她一定会感动得哭了吧。哈哈 ### 准备工作 有了想法之后就开始行动了,自然最先想到的就是用 Python 了,大体思路就是把微博数据爬下来,数据经过清洗加工后再进行分词处理,处理后的数据交给词云工具,配合科学计算工具和绘图工具制作成图像出来,涉及到的工具包有: requests 用于网络请求爬取微博数据,结巴分词进行中文分词处理,词云处理库 wordcloud,图片处理库 Pillow,科学计算工具 NumPy ,类似于 MATLAB 的 2D 绘图库 Matplotlib ### 工具安装 安装这些工具包时,不同系统平台有可能出现不一样的错误,wordcloud,requests,jieba 都可以通过普通的 pip 方式在线安装, ```python pip install wordcloud pip install requests pip install jieba ``` 在Windows 平台安装 Pillow,NumPy,Matplotlib 直接用 pip 在线安装会出现各种问题,推荐的一种方式是在一个叫 Python Extension Packages for Windows [1] 的第三方平台下载 相应的...
liuzhijun 发布于 2天前 阅读 1476 评论 11 点赞 15

匈牙利算法,KM算法详解及java实现

匈牙利算法,KM算法详解及java实现
husthang 发布于 3天前 阅读 1252 评论 6 点赞 4 打赏 1

“全球云计算开源峰会”将于2017年4月19日-20日在国家会议中心举行!

广告
近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。
云计算开源产业联盟

用VUEJS做一个网易云音乐(基于2.x)

> 前言:自己学习VUEJS也一段时间,但一直没有做出来一东西。我自己一直喜欢用网易云音乐app,于是乎就做了这个app。 ## 技术栈 - vue全家桶 (vue vue-router vuex) - axios - Muse-UI(一个基于Vue2.x的material design 风格UI框架) ## 功能与思路分析 我之前学习JS的时候对Html5 audio研究过,也写过一些例子,那时的功能并不是很全面。在写这个程序之前,我好好的查阅了当前的HTML5中的audio标签,发现博客园上一位园友总结的很不错([这里](http://www.cnblogs.com/tianma3798/p/6033108.html))。于是就先把网易云音乐最基本的功能实现,歌单部分(这也是我喜欢网易云音乐的原因之一),然后目前实现了音乐的上一曲、下一曲,播放、暂停。列表功能。 ### 后台 后台采用.net做为后台提供系统请求所用的API([源码](https://github.com/javaSwing/MusicAPI)),原理很简单就是用.net伪装成一个客户端去访问网易云音乐的API然后,把返回的json数据转发出来。同时服务端做下跨域处理。 核心代码: ``` /// /// 请求网易云音乐接口 /// /// 要请求的接口类型 /// 要请求的接口类型的对象 /// 请求结果(JSON) public static string Request(T config) where T : RequestData...
JavaSwing 发布于 4天前 阅读 2926 评论 13 点赞 16

Service Worker:让网页无网络也能访问

想要开发一个 PWA(Progressive Web App)应用,你必须知道首先知道,Service Worker 是什么,他是怎么工作的。
kymjs张涛 发布于 4天前 阅读 2358 评论 7 点赞 2

UICollectionView详解

标准的UICollectionView包含三个部分,它们都是UIView的子类: Cells 用于展示内容的主体,对于不同的cell可以指定不同尺寸和不同的内容,这个稍后再说 Supplementary Views 追加视图 如果你对UITableView比较熟悉的话,可以理解为每个Section的Header或者Footer,用来标记每个section的view Decoration Views 装饰视图 这是每个section的背景 UICollectionViewDataSource(与数据相关) section的数量 -numberOfSectionsInCollection: 某个section里有多少个item -collectionView: numberOfItemsInSection: 对于某个位置应该显示什么样的cell -collectionView: cellForItemAtIndexPath: Supplementary View的方法 collectionView: viewForSupplementaryElementOfKind: atIndexPath: UICollectionViewDelegate(与数据无关) 关于用户交互,UICollectionView也做了改进。每个cell现在有独立的高亮事件和选中事件的delegate,用户点击cell的时候,现在会按照以下流程向delegate进行询问: -collectionView:shouldHighlightItemAtIndexPath: 是否应该高亮? -collectionView:didHighlightItemAtIndexPath: 如果1返回结果为是,那么高亮 -collectionView:shouldSelectItemAtIn...
业界小白 发布于 5天前 阅读 898 评论 1 点赞 1

iOS中ImageIO框架详解与应用分析

ImageIO框架提供了读取与写入图片数据的基本方法,通过它可以实现对图片数据的深入分析与内容修改。
珲少 发布于 6天前 阅读 879 评论 3

前端打包构建工具Gulp、Rollup、Webpack、Webpack-stream

Gulp、Rollup、Webpack、Webpack-stream使用入门
别人说我名字很长 发布于 7天前 阅读 2821 评论 11 点赞 2

Spring MVC 更灵活的控制 json 返回(自定义过滤字段)

这篇文章主要讲 Spring MVC 如何动态的去返回 Json 数据 在我们做 Web 接口开发的时候, 经常会遇到这种场景。 > 两个请求,返回同一个对象,但是需要的返回字段并不相同。如以下场景 ```java /** * 返回所有名称以及Id */ @RequestMapping("list") @ResponseBody public List findAllNameAndId() { return articleService.findAll(); } /** * 返回所有目录详情 */ @RequestMapping("list-detail") @ResponseBody public List findAllDetail() { return articleService.findAll(); } ``` Spring MVC 默认使用转json框架是 `jackson`。 大家也知道, `jackson` 可以在实体类内加注解,来指定序列化规则,但是那样比较不灵活,不能实现我们目前想要达到的这种情况。 这篇文章主要讲的就是通过自定义注解,来更加灵活,细粒化控制 json 格式的转换。 最终我们需要实现如下的效果: ```java @RequestMapping(value = "{id}", method = RequestMethod.GET) // 返回时候不包含 filter 内的 createTime, updateTime 字段 @JSON(type = Article.class, filter="createTime,updateTime") public Article get(@PathVariable String id) { return articleService.get(id); } @RequestM...
DiamondFsd 发布于 1周前 阅读 5930 评论 59 点赞 22

Vue 短信验证码组件开发详解

1、该组件基于Vue 2.1.X版本;
woter 发布于 1周前 阅读 2164 评论 1 点赞 3

人工神经网络之几何原理Ⅰ:单(隐藏)层神经网络

本文旨在通过几何方法来阐述为何人工神经网络能够有效地工作。
chishaxie 发布于 1周前 阅读 1285 评论 14 点赞 1 打赏 1

【加密解密】高级加密标准AES加密(Javascript实现)

2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
壶漏子 发布于 1周前 阅读 2271 评论 14 点赞 12

通过 WSL在Windows下愉快的玩耍Linux

WSL(Windows Subsystem for Linux) 是 在Windows系统中为那些熟悉Linux用户准备的诸多子系统功能。换言之,你可以在Windows环境下来执行Linux操作,运行 Linux程序。这对于Windows、Linux双系统有需求的用户来说是个不错的功能。本文详细介绍了如何使用 WSL
waylau 发布于 2周前 阅读 3167 评论 39 点赞 5

100行C代码终端打印树形结构

这是一篇讲究套路的数据结构实战教学文,阅读需要约20分钟。
我的上铺叫路遥 发布于 2周前 阅读 2512 评论 3 点赞 5

Gitlab删库事件的借鉴意义

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

Hibernate复习笔记(3)——Session缓存(Hibernate一级缓存)详解

Session知识点整理开篇和Session缓存(Hibernate一级缓存)详解
HappyBKs 发布于 2周前 阅读 1898 评论 1 点赞 10

Spring Boot Actuator监控端点小结

在Spring Boot的众多Starter POMs中有一个特殊的模块,它不同于其他模块那样大多用于开发业务功能或是连接一些其他外部资源。它完全是一个用于暴露自身信息的模块,所以很明显,它的主要作用是用于监控与管理,它就是:`spring-boot-starter-actuator`。 `spring-boot-starter-actuator`模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量。当然,它也并不是万能的,有时候我们也需要对其做一些简单的扩展来帮助我们实现自身系统个性化的监控需求。下面,在本文中,我们将详解的介绍一些关于`spring-boot-starter-actuator`模块的内容,包括它的原生提供的端点以及一些常用的扩展和配置方式。 # 初识Actuator 下面,我们可以通过对快速入门中实现的Spring Boot应用增加`spring-boot-starter-actuator`模块功能,来对它有一个直观的认识。 在现有的Spring Boot应用中引入该模块非常简单,只需要在`pom.xml`的`dependencies`节点中,新增`spring-boot-starter-actuator`的依赖即可,具体如下: ```xml org.springframework.boot spring-boot-starter-actuator ``` 通过增加该依赖之后,重新启动应用。此时,我们可以在控制台中看到如下...
程序猿DD 发布于 2周前 阅读 1625 评论 4 点赞 4

基于hessian的rpc框架及集成spring

实现功能与spring注解集成。 在web服务中,及可以当作普通的spring bean又可以作为服务的提供者。 在消费者中,与spring注解结合,方便使用。
ihuotui 发布于 2周前 阅读 1460 点赞 2

深度桌面操作系统架构设计

今天就结合深度桌面操作系统给大家讲讲桌面操作系统的架构设计和原理细节,一来向外界讲讲深度这么多年都做了哪些工作,二来希望通过客观公正的事实向中国新一代的开源爱好者讲述怎么用正确的三观去贡献自己的力量。 ### 什么是桌面操作系统? 简而言之,桌面操作系统就是大家平常个人电脑里面用的操作系统。 桌面操作系统应该是所有操作系统类型中最为复杂、研发技术难度最高的一种操作系统了。 世界上非常优秀的桌面操作系统有微软的Windows和苹果的Mac OS,其他的Linux桌面操作系统,比如Fedora、Suse、Ubuntu包括我们自己的Deepin,虽然这十几年取得了长足的进步,但是相对于Windows和Mac OS,不论技术先进性、交互设计还是产品质量方面都还有非常大的差距。 ### 桌面操作系统都有哪些部分组成? 一个普通用户使用的桌面操作系统的组成部分主要包括: * 内核、驱动以及固件:主要用于驱动硬件可以正常工作,除了CPU、内存、磁盘外,最主要的要是要广泛兼容不同的网卡、显卡、声卡和外设等硬件设备 * 软件仓库及众多开发库:如果没有开源社区众多大神打包好的软件仓库和各种开发库,要基于Linux来开发一个操作系统甭说开源爱好者,甚至就是一个中型公司都很难做起来,可...
ManateeLazyCat 发布于 3周前 阅读 6113 评论 111 点赞 92 打赏 4

Spring Boot 1.5.x新特性:动态修改日志级别

前天Spring Boot 1.5终于迎来了第一个RELEASE版本:1.5.0,但是由于[一个编译依赖问题](https://github.com/spring-projects/spring-boot/issues/8136)在第二天直接连击到了1.5.1。该版本的发布包含了超过320位贡献者的奉献、10000多次的代码提交。 每次Spring Boot版本更新所带来的新特性都是我们每个用户特别关注的。虽然其中不少特性可能对于大部分用户来说还不一定适用,但是作为基础知识的储备还是有一定的必要性。对于1.5.x版本的新特性列表读者可以直接查看官方博文:[《Spring Boot 1.5.1 released》](https://spring.io/blog/2017/01/30/spring-boot-1-5-1-released)来了解它们,本文不做这些概要性的介绍。在后续的一段时间内,本博客将会陆续介绍一些笔者关心且将会使用的关于Spring Boot 1.5.x中的一些新特性。 ## loggers端点 本文我们就来看看Spring Boot 1.5.x中引入的一个新的控制端点:`/loggers`,该端点将为我们提供动态修改Spring Boot应用日志级别的强大功能。该功能的使用非常简单,它依然延续了Spring Boot自动化配置的实现,所以只需要在引入了`spring-boot-starter-actuator`依赖的条件下就会自动开启该端点的功能(更多关于`spring-boot-starte...
程序猿DD 发布于 3周前 阅读 2697 评论 10 点赞 2

关于netstat的ListenOverflows等参数

##三次握手 ![输入图片说明](https://static.oschina.net/uploads/img/201701/27204509_U5nu.jpg "在这里输入图片标题") ##ListenOverflows ``` root@b5dbe93bcb04:/opt# netstat -s | grep listen 22438 times the listen queue of a socket overflowed ``` tcp_v4_syn_recv_sock():三路握手最后一步完成之后,Accept queue队列(完全连接队列,其大小为min(/proc/sys/net/core/somaxconn, backlog))超过上限时加1. ##ListenDrops ``` root@b5dbe93bcb04:/opt# netstat -s | grep LISTEN 49148 SYNs to LISTEN sockets dropped ``` tcp_v4_syn_recv_sock():任何原因,包括Accept queue超限,创建新连接,继承端口失败等,加1. 包含ListenOverflows的情况,也就是说当出现ListenOverflows时,它也会增加1;除此之外,当内存不够无法为新的连接分配socket相关的数据结构时,也会增加1,当然还有别的异常情况下会增加1。 ##AttemptFails - tcp_done():如果在SYN_SENT/SYN_RECV状态下结束一个连接,加1 - tcp_check_req():被动三路握手最后一个阶段中的输入包中如果有RST|SYN标志,加1 >1.试图和一个不存在的套接口建立连接时,连接失败,而TcpAttemptFails同时会加1 >2....
go4it 发布于 3周前 阅读 476 评论 1 点赞 1
顶部