开源中国

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

It appears you’re using an unsupported browser

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

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

ActFramework中存储与验证用户密码的机制与应用

如何简单有效地在ActFramework应用程序中实施用户密码的存储与验证
罗格林 发布于 3小时前 阅读 14

ngx_lua中的lua协程

Nginx是事件驱动的异步处理方式,Lua语言本身是同步处理方式,但是Lua原生支持协程,给Nginx与Lua的结合提供了机会。 Nginx可以同时处理数以万计的网络连接,Lua可以同时存在很多协程,简单一点想,对每个到来的网络连接,创建一个新的协程去处理,处理完毕后释放协程。和Apache为每个连接fork一个进程处理的流程十分相似,只不过多个进程换成了多个协程。 协程相比较进程占用资源很小,协程之间的切换性能消耗非常小,几乎就相当于函数调用一样。以同步的方式写程序,实现了异步处理的效率。当然实际的编程实现并没有多进程那么简单。   在Lua中,每个协程对应有一个lua_State结构体, 这个结构体中保存了协程的所有信息。所有的协程共享一个global_State结构体,这个结构体保存全局相关的一些信息,主要是所有的需要垃圾回收的对象。 通常创建Lua执行环境都是从lua_open(即luaL_newstate)开始, lua_open会创建一个global_State结构,创建一个协程作为主协程。ngx_http_lua_module是在读取配置后的postconfiguration阶段创建Lua环境的,除此之外还做了一个额外的操作,主要是创建了名为ngx,类型为table的全局变量,所有Lua与Nginx的交互都是通过ngx这个全局变量来实现的...
qlee 发布于 10小时前 阅读 32

限时报名!Google、Github 双认证硅谷前端课程,成为最抢手前端工程师!

广告
想从零开始,跟随硅谷大咖,学习 Google、Github 等行业领导者制作的前端课程内容,成为抢手人才?别错过!超人气口碑课程限时一周报名中,2/28截止!
UDACITY

HBase1.2.3架构剖析(二)之 组件详解

Master与RegionServer的讲解。 Master的接口与流程。RegionServer接口、流程、Cache以及RegionServer拆分的实现。
lzhaoqiang 发布于 15小时前 阅读 56

HBase1.2.3架构剖析(一)之 概述

数据读写流程、目录表、使用场景
lzhaoqiang 发布于 15小时前 阅读 116

美观又实用,10款强大的开源 Javascript 图表库

随着发展,现代 Web 设计在改善体验和功能的同时,对于美观的追求也越来越高,可视化、交互式、动态等元素和效果似乎已成为标配。 以下是为开发者推荐的 10 款开源 Javascript 图表库,可以帮助实现各种漂亮的功能。话不多说,直接开始吧! 1、ECharts ECharts 由百度前端技术部开发的,是一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox、Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。 ECharts 有良好的自适应效果,ECharts 3 中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。 2、Chart.js Chart.js 是一个简单、面向对象、为设计者和开发者准备的 Javascript 图表绘制工具库,基于 HTML5 canvas 技术,支持所有现代浏览器,并且针对 IE7/8 提供了降级替代方案。 Chart.js 不依赖任何外部工具库,轻量级(压缩之后仅有4.5k),并且提供了加载外部参数的方法。能用多种不同的方式让数据变得可视化。 3、jqPlot jqPlot 是一个非常强大的基于 jquery 类库的 Javascript 图表工具,可在网页中...
编辑部的故事 发布于 17小时前 阅读 754 评论 4 点赞 1

MongoDB3.2架构分析

MongoDB的架构演进以及sharding介绍
lzhaoqiang 发布于 18小时前 阅读 151 点赞 2

nginx 日志分析及性能排查

nginx 日志分析及性能排查
-外星人- 发布于 19小时前 阅读 248 评论 1

NoSQL介绍

对nosql出现背景、nosql类型做介绍,并解答nosql相关问题
lzhaoqiang 发布于 19小时前 阅读 67 点赞 1

HTTPS上线过程说明

一、上马HTTPS的原因: ①、苹果App Store强制其平台上的app均要使用HTTPS ②、网站经常被劫持,用户和领导希望使用HTTPS ③、跟随HTTPS的大趋势   二、应用上马HTTPS之部门工作: ①、运维:接入层部署支持HTTPS及后期上线配合 ②、开发&QA:页面元素加载,要跟随访问协议(src=”//www.perofu.com/test.jpg”)等等及测试   三、接入层支持HTTPS时机之重要性: ①、有一定规模应用的企业(即大量未部署HTTPS的应用及将要新增的应用),无论是否要上HTTPS。新应用的,请先在接入层(Nginx、Tenginx)的服务上,配置上支持HTTPS 【吐血经历:就为了App Store上HTTPS,每个二级域名的接入层Nginx(电信联通各2台)都进行了升级,工作虽然不繁琐,但是量大,就很恶心了】 ②、初创企业,一开始就配置支持HTTPS,并形成安装范本,这样大家都好过   【接入层服务支持HTTPS,应该从现在开始】 【运维和开发,最怕的就是历史遗留问题】   四、SSL证书: ①、购买主流厂商的SSL证书: 简单点的,查看下国内一些公司网站的证书厂商,根据价钱,进行选择 淘宝:GlobalSign nv-sa 360:WoSign ②、申请免费的SSL证书:阿里云   五、前期https准备: ①、Nginx和openssl的版本选择...
perofu 发布于 21小时前 阅读 191 评论 1

关于 TensorFlow 的 gentlest 的介绍:了解 TensorFlow(TF)进行多个特征的线性回归和逻辑回归

本文标签:  TensorFlow gentlest 线性回归 逻辑回归 单一特征问题的线性回归问题 REST   服务器 本文是日本东京 TensorFlow 聚会联合组织者 Hin Khor 所写的 TensorFlow 系列介绍文章的Part 3 和 Part4,自称给出了关于 TensorFlow 的 gentlest 的介绍。 在之前发布的前两部分介绍中 ,作者谈到单一特征问题的线性回归问题以及训练(training)的含义,这两部分将讲解 TensorFlow(TF)进行多个特征的线性回归和逻辑回归。 矩阵和多特征线性回归 快速回顾 之前文章的前提是:给定特征——任何房屋面积(sqm),我们需要预测结果,也就是对应房价($)。为了做到这一点,我们: 我们找到一条「最拟合」所有数据点的直线(线性回归)。「最拟合」是当线性回归线确保实际数据点(灰色点)和预测值(内插在直线上的灰色点)之间的差异最小,即最小化多个蓝线之和。 使用这条直线,我们可以预测任何房屋的价格。 使用单一特征线性回归进行预测 多特征线性回归概述 实际上,任何预测都依赖于多个特征,于是我们从单特征的线性回归进阶到 带有两个特征的线性回归;之所以选择两个特征,是为了让可视化和理解简明些,但这个思想可以推广到带有任何数量特征的线性回归。 我们引进...
taidupa 发布于 1天前 阅读 116 评论 3 点赞 1

IPython notebook 安装与使用

详细介绍了python,ipython的安装与使用方法
AngularLock 发布于 1天前 阅读 156

以回溯解高速公路重建与正序全排列

以两个例子:高速公路重建和正序全排列,简要说明回溯算法
混元归一 发布于 2天前 阅读 133

我是如何抓住稍纵即逝的写作灵感

写作是需要灵感的,特别是想要写技术文章的时候,大脑已经被工作压榨的精疲力尽,灵感枯竭。有时候常常是半天脑袋里想不出一个词,键盘上敲不出一个字,这种感觉真是沮丧至极。
wier 发布于 2天前 阅读 185 评论 5 点赞 1

MySql-Binlog协议详解-流程篇

# MySql-Binlog协议详解-流程篇 MySql-Binlog在MySql主从不同方面发挥着不可或缺的作用,同时我们也能通过Binlog实时监控数据的变化。本系列就讲述了怎样接收并解析Binlog。本篇就主要对接收binlog的流程做了一下探讨。 ## Binlog发送接收流程 流程如下图所示: ![binlogFlow](https://static.oschina.net/uploads/img/201702/22173311_ibUR.png "binlogFlow") (1)第一步和上篇blog一样,通过HandShake协议进行Client和DB的握手认证 (2)握手成功以后,Client对DB发送show master status命令,此命令中回带回当前最新binlog存储在哪个文件,以及对应哪个偏移量。如果想从当前开始接收binglog,则在后面发送binlog dump命令的时候用这两个值就好。 (3)发送show global variables like 'binlog\_checksum'命令,这是由于binlog event发送回来的时候需要,在最后获取event内容的时候,会增加4个额外字节做校验用。mysql5.6.5以后的版本中binlog\_checksum=crc32,而低版本都是binlog\_checksum=none。如果不想校验,可以使用set命令设置set binlog_checksum=none (4)最后终于到了发送Dump命令的阶段 ## MySql-Binlog-Dump命令 Dump命令包图如下所示: ![dumpBinlog](https://static....
无毁的湖光-Al 发布于 2天前 阅读 196 评论 4

Python vs PHP vs Ruby —— 编程语言大对决

编程语言种类繁多,每种语言都有它们的独特的优势。开发者在对编程语言的进行选择时往往很讲究。因此,这篇文章将从各个角度对 PHP、Ruby、Python 三种当前比较流行的语言的优势和劣势进行对比,希望你能从中受益。 在进入主题之前,我想分享一些数据,这是我刚学习 Web 开发时候看到的,虽然内容不够新,但能为三类语言的比较提供依据。 Python vs PHP vs Ruby 数据显示: 市场对 PHP 的需求很高 PHP 的可用性低 Python 易于学习和理解 Python 运算快 Ruby 较难学 Ruby 的可用性高 哪种语言最“不安全”? 网站/应用程序的安全性主要取决于程序员,而不是编程语言。PHP 被普遍认为不安全,因为 PHP 的语法不像 Python 或 Ruby 的语法那么简单。我们知道,语法越复杂,可读性越低,错误发生的几率越大。因此,就这一点说,PHP 最容易出错。 三种语言的局限性 PHP: 由 C/C++ 和 Perl 衍生出更详尽的语法,带有 },$ 和 -> 等符号 PHP 内置库的命名约定多种多样,很难记住 不适合开发桌面应用程序,难以维护 错误处理机制历来很差劲 Python: Python 没有 'switch' 语句和 'do ... while' 构造 类和方法都没有 abstract 和 final 修饰符 数据库访问层方面有限制 在处理多处理...
编辑部的故事 发布于 2天前 阅读 4806 评论 56 点赞 6

原创:React深入浅出(好房前端开发教程手册)2:ES6实用教程

好房前端开发react.js教程
Rain_coder 发布于 2天前 阅读 217

nova后端命令汇总(一)

本文致力于总结和汇总所有openstack nova后端的命令,包括最常用的众多命令,以供大家方便查找和使用。
CUP_张洋洋 发布于 2天前 阅读 57

C#开发人员应该知道的13件事情

本文讲述了C#开发人员应该了解到的13件事情,希望对C#开发人员有所帮助。 1. 开发过程 开发过程是错误和缺陷开始的地方。使用工具可以帮助你在发布之后,解决掉一些问题。 编码标准 遵照编码标准可以编写出更多可维护的代码,特别是在由多个开发人员或团队编写和维护的代码库中。例如FxCop,StyleCop和ReSharper等,就是常用的实施编码标准的工具。 开发人员:在压缩代码之前,请使用工具仔细检查是否违反了标准,并且对结果进行分析。使用工具发现的代码路径问题,不比你预期的少。 代码审查 代码审查和结对编程是任务开发人员审查他人编写的源代码的常见做法。通过这些方式希望能够检查出作者的错误,如编码错误或实现错误。 代码审查是一个很有价值的做法,但是它依赖于人类,易犯错误,所以很难扩展。 静态分析 静态分析工具会在不运行代码的情况下分析代码,在不需要编写测试用例的情况下,查找违反编码标准或存在缺陷的问题。它们能有效地找到问题,但你需要选择出那些能够定位出有价值问题的工具,找出有价值的问题。C#静态分析工具包括Coverity,CAT.NET和Visual Studio代码分析。 动态分析 动态分析工具在运行时分析代码,帮助你查找缺陷,如安全漏洞,性能和并发...
葡萄城控件技术团队 发布于 2天前 阅读 2021 评论 12 点赞 8

在ActFramework中进行后台任务调度

Actframework提供了功能强大且简洁易用的任务调度机制
罗格林 发布于 2天前 阅读 127

Kubernetes Eviction Manager源码分析

本文作为[Kubernetes Eviction Manager工作机制分析](https://my.oschina.net/jxcdwangtao/blog/841937)的后续篇,主要通过源码分析对其工作机制进行解读。
WaltonWang 发布于 2天前 阅读 57

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

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

ngx_lua中的lua协程

Nginx是事件驱动的异步处理方式,Lua语言本身是同步处理方式,但是Lua原生支持协程,给Nginx与Lua的结合提供了机会。 Nginx可以同时处理数以万计的网络连接,Lua可以同时存在很多协程,简单一点想,对每个到来的网络连接,创建一个新的协程去处理,处理完毕后释放协程。和Apache为每个连接fork一个进程处理的流程十分相似,只不过多个进程换成了多个协程。 协程相比较进程占用资源很小,协程之间的切换性能消耗非常小,几乎就相当于函数调用一样。以同步的方式写程序,实现了异步处理的效率。当然实际的编程实现并没有多进程那么简单。   在Lua中,每个协程对应有一个lua_State结构体, 这个结构体中保存了协程的所有信息。所有的协程共享一个global_State结构体,这个结构体保存全局相关的一些信息,主要是所有的需要垃圾回收的对象。 通常创建Lua执行环境都是从lua_open(即luaL_newstate)开始, lua_open会创建一个global_State结构,创建一个协程作为主协程。ngx_http_lua_module是在读取配置后的postconfiguration阶段创建Lua环境的,除此之外还做了一个额外的操作,主要是创建了名为ngx,类型为table的全局变量,所有Lua与Nginx的交互都是通过ngx这个全局变量来实现的...
qlee 发布于 10小时前 阅读 32

sql

#sql 建表 ``` CREATE DATABASE IF NOT EXISTS `pinker`; USE `mysql`; DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL DEFAULT '', pwd CHAR(32) NOT NULL DEFAULT '', email VARCHAR(40) NOT NULL DEFAULT '', status TINYINT(1) NOT NULL DEFAULT 1, sex ENUM('男','女') NOT NULL DEFAULT '男', info TEXT NOT NULL , pic VARCHAR(100) NOT NULL DEFAULT '', createTime INT(10) NOT NULL default 0 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ``` 1. 其中 enum 类型 1 --> 男;2 -->女。 2. text,blob等类型不能有默认值!!! 3. 占个位置!!!...
xd03122049 发布于 9小时前 阅读 14

ActFramework中存储与验证用户密码的机制与应用

如何简单有效地在ActFramework应用程序中实施用户密码的存储与验证
罗格林 发布于 3小时前 阅读 14

nginx 下 php 配置

server {         listen 443;         server_name www.domain.com;#填写绑定证书的域名         ssl on;         root /var/www;         ssl_certificate cert/1_www.domain.com_bundle.crt;         ssl_certificate_key cert/2_www.domain.com.key;         ssl_session_timeout 5m;         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#按照这个协议配置ssl_ciphers ECDHE - RSA - AES128 - GCM - SHA256: HIGH: !aNULL: !MD5: !RC4: !DHE;#按照这个套件配置ssl_prefer_server_ciphers on;         location / {                 root /var/www; #站点目录index index.html index.htm index.php;         }         location ~ \.php$ {                 ##include fastcgi_params;                 ##fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;                 fastcgi_pass 127.0.0.1:9000;                 ##fastcgi_index index.php;                 try_files $u...
听说教主是大神 发布于 9小时前 阅读 12

Spring4中的组合注解@GetMapping、@PostMapping究竟是怎么实现的?

## 问题的引出 在去年将spring-shiro-training升级到最新的Spring版本之后就尝试在控制器中使用 @GetMapping、@PostMapping注解,当时就产生了疑问,这几个货究竟是如何实现的? 直到前几天在基于spring-context造车,才debug追根究底! ![输入图片说明](https://static.oschina.net/uploads/img/201702/23220436_EFz7.png "在这里输入图片标题") ## 追根溯源 ![输入图片说明](https://static.oschina.net/uploads/img/201702/23220545_I6OZ.png "在这里输入图片标题") 其实一切的功劳来自Spring-core中的AnnotatedElementUtils! 找到冤大头了,我继续来追踪 {[@code](https://my.oschina.net/codeo) AnnotatedElementUtils#findMergedAnnotation(AnnotatedElement, Class)} 未完~~~...
如梦技术 发布于 11小时前 阅读 8

Centos 6.5安装Docker并搭建java web运行环境

Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了。 本文会使用 Docker 搭建一个 Java Web 运行环境。
码上中国博客 发布于 9个月前 阅读 140 评论 2

信息系统基础知识、论文示例

信息系统基础知识,论文示例
pmos 发布于 11小时前 阅读 6

二分查找法的Java实现

少年,写个二分查找法给我看一下?
GreatQing 发布于 11小时前 阅读 5

cloudera manager报错“客户端配置 (id=3) 已使用 1 退出,而预期值为 0”

在cloudera manager部署客户端配置的这个步骤中,总是报错:客户端配置 (id=1) 已使用1退出,而预期值为 0。 1.首先我们需要找到此处日志目录,并不是/opt/cm-5.5.0/log。针对使用tar.gz包进行离线安装的目录,日志应该在:/opt/cm-5.5.0/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_-6842105649195360849/logs,因为我是在spark这一步进行部署客户端配置失败的时候出错的,所以就找的spark这一文件夹下的日志。如果是使用.bin包安装的,则有可能是在/var/run/cloudera-scm-agent/process/目录下。找到日志文件之后,你应该能在日志文件中找到:export JAVA_HOME=/usr/java/default、JAVA_HOME=/usr/java/default、Error: JAVA_HOME is not set and could not be found等关键词,所以明确了是jdk没有装好,为什么没装好,因为我的是使用tar.gz的jdk包安装的,没有往/usr/java中添加软链接,而这里默认是去/usr/java/default中找环境变量,才会报找不到java_home。安装jdk的方法,参考linux安装jdk的第6步,添加软链接到/usr/java/default。日志文件要仔细找,找对到底是安装什么的时候出错了,有一次是在hadoop 分发conf文件夹里面,...
cjun1990 发布于 8个月前 阅读 104

一键打开、激活、或隐藏Chrome(或其他软件)

本来这种功能对AutoHotkey来说非常简单, 但是在激活Chrome或FireFox浏览器的时候却总是无效, 经朋友指点是有些程序的窗口会存在N个子窗口, 所以增加了寻找主窗口HWND的过程,就可以正常激活了。 完整代码如下: ``` ;一键打开、激活、或隐藏Chrome,请先设置Path_Browser #b:: Path_Browser := "D:\Soft\Chrome\Chrome.exe" hyf_winActiveOrOpen("Ahk_class Chrome_WidgetWin_1", Path_Browser, 1, "Max") ; {{{2 Return hyf_winActiveOrOpen(title, path, m := 0, size := "", args := "") ;激活title的窗口,如不存在则打开path {{{3 { ;像火狐和chrome的多线程,要提取主进程ID才能激活,请设置m=1,size为Run命令的窗口尺寸, args为path后面的参数 Static Arr_MainID := {} ;记录ID的值 DetectHiddenWindows, On SplitPath, path, exeName, , ext If size size .= " UseErrorLevel" If ((ext = "CHM") && !WinExist(title)) || ((ext != "CHM") && !hyf_winExist(exeName)) ;用这个会导致chm文件判断错误 { Run, %path% %args%, , %size% hyf_tooltipAndRemoveOrExit("启动中,请稍等...") WinWaitActive %title% } Else IfWinActive %title% { If (m = 1) { WinGe...
火冷 发布于 10小时前 阅读 5

jenkins发送构建邮件配置项中文

全局属性详解 1. Override Global Settings:如果不选,该插件将使用默认的E-mail Notification通知选项。反之,您可以通过指定不同于( 默认选项)的设置来进行覆盖。 2. Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种. 3. Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头,这样你就可以在邮件客户端使用过滤。它也能阻止邮件发件人大部分的自动回复(诸如离开办公室、休假等等)。你可以使用你习惯的任何名称或者ID号,但是他们必须符合如下其中一种格式(真实的ID必须要包含在<和>标记里): <ci-notifications.company.org> Build Notifications <ci-notifications.company.org> “Build Notifications” <ci-notifications.company.org> 关于更详细的List-ID说明请参阅RFC-2919. 4. Add 'Precedence: bulk' Email Header:设置优先级,更详细说明请参阅RFC-3834. 5. Default Recipients:自定义默认电子邮件收件人列表。如果没有被项目配置覆盖,该插件会使用这个列表。您可以在项目配置使用$ DEFAULT_RECIPIENTS参数包括此默认列表,以及添加新的地址在项目级别。添加抄送:cc:电子邮件地址例如,CC:someone@somewhere.com 6. Re...
kenzheng 发布于 11小时前 阅读 5

HDFS体系结构详解

HDFS的体系框架是Master/Slave结构,一个典型的HDFS通常由单个NameNode和多个DataNode组成。NameNode是一个中心服务器,负责文件系统的名字空间的操作,比如打开、关闭、重命名文件或目录,它负责维护文件路径到数据块的映射,数据块到DataNode的映射,以及监控DataNode的心跳和维护数据块副本的个数。集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataNode上。DataNode负责处理文件系统客户端的读写请求。在NameNode的统一调度下进行数据块的创建、删除和复制。   所有对目录树的更新和文件名和数据块关系的修改,都必须能够持久化,文件在HDFS中存储图如图2:    图2  文件在HDFS中的存储图  HDFS涉及到NameNode、DataNode和客户端们之间的交互。本质上,客户端与NameNode通讯是通过获取或者修改文件的元数据,与 DataNode进行实际的I/O操作。如图3所示,在HDFS中有三个重要的角色:NameNode、DataNode和Client,其中Client就是需要获取分布式文件系统文件的应用程序。  这里通过三个操作来说明他们之间...
超人学院 发布于 2年前 阅读 64

gensim-5个学习阶段

阶段1--语料库和向量 http://radimrehurek.com/gensim/tut1.html * 建立语料库步骤      1.从字符串==>向量      2.去除停用词;去除出现次数=1的词;      3.(对英文)小写化处理;词干化处理      4.词袋化处理      5.将vector进行Id化处理      至此,语料库已经建立,可以存储起来(实际也是,建立语料库是一个长期而独立的过程,不会和后续的使用结合在一起) * 语料流的处理优化      - 实际的语料库数据量不小      - 一次只读取一个文件中的vector, * 语料的格式 * 语料库格式兼容Numpy和Scipy 阶段2--topic处理      使用语料库进行文章的处理 阶段3--相似性查询 阶段4-处理来自wiki的数据  阶段5--分布式模式 http://radimrehurek.com/gensim/distributed.html * 基于gensim的分布式,对系统交互要求不高,对延迟的容忍性较好 * Numpy中的linear lagebra对时间消耗很大      - 替换的方式:用更快速的 BLAS(Basic Linear Lagebra) 实现,如           Intel的MKL, AMD的ACML, OS X的vecLib,Sun的Sunpref           或者开源的 GotoBLAS,ALTAS      - 检查所用的BLAS库的方法:           python -c 'import...
深蓝苹果 发布于 2年前 阅读 630

获取Extjs ArrayStore里面的值

场景:页面固定了一个ArrayStore,需要通过给的值获取text
啊莫 发布于 2年前 阅读 2089

java个推配置-简单开发,急速运用个推

java 快速配置个推消息, 急速推送通知or透传给app客户端;
尾生 发布于 2个月前 阅读 101 点赞 1

node格式化输出(漂亮的)json文件

问: This seems like a solved problem but I am unable to find a solution for it. Basically, I read a JSON file, change a key, and write back the new JSON to the same file. All works, but I loose the JSON formatting.So, instead of: { name:'test', version:'1.0' } I get {name:'test',version:'1.1'} Is there a way in Node.js to write well formatted JSON to file ? 最佳答案: JSON.stringifyaccepts a third parameter which defines white-space insertion. It can be a string or a number (number of spaces). Example: JSON.stringify({ a:1, b:2, c:3 }, null, 4); /* output: { "a": 1, "b": 2, "c": 3, } */ See the JSON docs at MDC 其它答案(完整示例): var fs = require('fs'); var myData = { name:'test', version:'1.0' } var outputFilename = '/tmp/my.json'; fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) { if(err) { console.log(err); } else { console.log("JSON saved to " + outputFilename); } });...
cyper 发布于 3年前 阅读 7647 点赞 1

Linux监控命令top,free,vmstat,iostat,mpstat,sar,netstat

1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu、内存和执行时间进行排序 1.1.2 参数说明 命令行启动参数: 用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...] -b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或储存成文件 -c : 显示执行任务的命令行 -d : 设定延迟时间 -h : 帮助 -H : 显示线程。当这个设定开启时,将显示所有进程产生的线程 -i : 显示空闲的进程 -n : 执行次数。一般与-b搭配使用 -u : 监控指定用户相关进程 -U : 监控指定用户相关进程 -p : 监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用 -s : 安全模式操作 -S : 累计时间模式 -v : 显示top版本,然后退出。 -M : 自动显示内存单位(k/M/G) 1.全局命令 回车、空格 : 刷新显示信息 ?、h : 帮助 = : 移除所有任务显示的限制 A : 交替显示模式切换 B : 粗体显示切换 d、s : 更改界面刷新时间间隔 G : 选择其它窗口/栏位组 I : Irix或Solaris模式切换 u、U : 监控指定用户相关进程 k : 结束进程 q : 退出top r : 重新设定进程的nice值 W : 存储当前设定 Z : 改变颜色模板 2.摘要区...
大圈 发布于 2年前 阅读 233 点赞 1

Drools之Eclipse插件安装

Drools插件安装介绍,方便学习Drools
我是林海风 发布于 2年前 阅读 96

Golang实现简单tcp服务器03 -- 文本广播式聊天服务器/客户端

# 用Golang实现 文本广播式聊天服务器/客户端 本节, 我们将一步一步的把上一节完成的echo服务器/客户端改造成一个文本信息的聊天室 **服务端的改动** 1. 服务器为了实现聊天信息的群体广播, 需要记录所有连接到服务器的客户端信息, 所以, 我们需要添加一个集合来保存所有客户端的连接: > var ConnMap map[string]*net.TCPConn 2. 接着, 每次当有新的客户端连接到服务器时, 需要把这个客户端连接行信息加入集合: > ConnMap[tcpConn.RemoteAddr().String()] = tcpConn 3. 当服务器收到客户端的聊天信息时, 需要广播到所有客户端, 所以我们需要利用上面保存TCPConn的map来遍历所有TCPConn进行广播, 用以下方法实现: func boradcastMessage(message string) { b := []byte(message) for _, conn := range ConnMap { conn.Write(b) } } **客户端代码改动** 客户端代码改动相对简单, 只是加入了用户自己输入聊天信息的功能, 在连接成功并且 启动了消息接收的gorountine后, 加入以下代码: for { var msg string fmt.Scanln(&msg) if msg == "quit" { break } b := []byte(msg + "\n") conn.Write(b) } 完整的服务端代码如下: server.go package main import ( "bufio" "fmt" "net"...
victoriest 发布于 2年前 阅读 183

iOS应用程序状态切换相关

iOS应用程序状态切换相关 分类:  iOS/iPhone2011-12-25 22:34 2247人阅读  评论(1)  收藏  举报 一、iOS应用程序状态机一共有五种状态: 1. Not running:应用还没有启动,或者应用正在运行但是途中被系统停止。 2. Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码)。一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电、有未读短信等)事件的时候。 3. Active:当前应用正在前台运行,并且接收事件。这是应用正在前台运行时所处的正常状态。 4. Background:应用处在后台,并且还在执行代码。大多数将要进入Suspended状态的应用,会先短暂进入此状态。然而,对于请求需要额外的执行时间的应用,会在此状态保持更长一段时间。另外,如果一个应用要求启动时直接进入后台运行,这样的应用会直接从Not running状态进入Background状态,中途不会经过Inactive状态。比如没有界面的应用。注此处并不特指没有界面的应用,其实也可以是有界面的应用,只是如果要直接进入background状态的话,该应用界面不会被显示。...
Orange1 发布于 4年前 阅读 756

编程界十二位祖师爷级别的 “大牛”

每位程序员或多或少都为这个社会贡献着什么东西,然而有些程序员的贡献却超过了一个普通人一辈子能奉献的力量,他们是先驱,是伟大的,值得我们致敬。
编辑部的故事 发布于 3天前 阅读 6207 评论 59 点赞 11

前端必备,十大热门的 JavaScript 框架和库

JavaScript 框架和库可以说是开源项目中最庞大也是最累的类目了,目前在github 上这一类的项目是最多的,并且几乎每隔一段时间就会出现一个新的项目席卷网络社区,虽然这样推动了创新的发展,但不得不说苦了前端的开发者们。因此本文罗列出了一些优秀的 Javascript 框架和库的特点及其在 github 上的 star 数,旨在为各位开发者提供一些参考。如有遗漏,欢迎补充。     1、ReactJS (Star: 59989  ,Fork: 10992) React.js(React)是一个用来构建用户界面的 JavaScript 库,主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。 React 特点: 1.声明式设计 −React采用声明范式,可以轻松描述应用。 2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。 3.灵活 −React可以与已知的库或框架很好地配合。 4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。 5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目...
编辑部的故事 发布于 4天前 阅读 5222 评论 18 点赞 15

Python vs PHP vs Ruby —— 编程语言大对决

编程语言种类繁多,每种语言都有它们的独特的优势。开发者在对编程语言的进行选择时往往很讲究。因此,这篇文章将从各个角度对 PHP、Ruby、Python 三种当前比较流行的语言的优势和劣势进行对比,希望你能从中受益。 在进入主题之前,我想分享一些数据,这是我刚学习 Web 开发时候看到的,虽然内容不够新,但能为三类语言的比较提供依据。 Python vs PHP vs Ruby 数据显示: 市场对 PHP 的需求很高 PHP 的可用性低 Python 易于学习和理解 Python 运算快 Ruby 较难学 Ruby 的可用性高 哪种语言最“不安全”? 网站/应用程序的安全性主要取决于程序员,而不是编程语言。PHP 被普遍认为不安全,因为 PHP 的语法不像 Python 或 Ruby 的语法那么简单。我们知道,语法越复杂,可读性越低,错误发生的几率越大。因此,就这一点说,PHP 最容易出错。 三种语言的局限性 PHP: 由 C/C++ 和 Perl 衍生出更详尽的语法,带有 },$ 和 -> 等符号 PHP 内置库的命名约定多种多样,很难记住 不适合开发桌面应用程序,难以维护 错误处理机制历来很差劲 Python: Python 没有 'switch' 语句和 'do ... while' 构造 类和方法都没有 abstract 和 final 修饰符 数据库访问层方面有限制 在处理多处理...
编辑部的故事 发布于 2天前 阅读 4806 评论 56 点赞 6

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

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

限时报名!Google、Github 双认证硅谷前端课程,成为最抢手前端工程师!

广告
想从零开始,跟随硅谷大咖,学习 Google、Github 等行业领导者制作的前端课程内容,成为抢手人才?别错过!超人气口碑课程限时一周报名中,2/28截止!
UDACITY

Spring MVC 通过切面,实现超灵活的注解式数据校验

这篇文在主要是介绍,如何在 Controller 的方法里面,让校验注解 ( `@NotNull @Email @Size...等`),对基本类型的数据生效(基本类型 `Integer,String,Long等`)。 ## Spring MVC 有什么校验方式? 大家都知道,Spring MVC 默认依赖了 `hibernate-validator` 校验框架。使用这个,我们可以在可以在model的字段上,加相应的校验注解来轻松的实现数据校验。 例如: ```java // 实体类 public class User { @NotNull private String username; @NotBlank @Length(min = 6, max = 32) private String password; } // Controller 请求 @RequestMapping("save-user") // 使用 @Valid 注解,告诉 Spring MVC 要校验 user 对象的数据 public User save(@Valid User user){ ..... } ``` 相信大家都有接触过,使用这种方法来实现整体对象的校验,而且还可以根据不同场景,加上不同的 `@Group` 注解,来实现不同请求对数据的校验规则。 ## 我们想实现什么? 但是有些时候,我们的请求参数并不多,可能只是一些零碎的基本类型的参数 例如 `String` `Integer` `Long` 等等。就像下面这个请求: ``` @RequestMapping("update-user-status") public User update(String userId, Integer sta...
DiamondFsd 发布于 7天前 阅读 3407 评论 24 点赞 12

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周前 阅读 14426 评论 34 点赞 23 打赏 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 发布于 6天前 阅读 2339 评论 21 点赞 16

C#开发人员应该知道的13件事情

本文讲述了C#开发人员应该了解到的13件事情,希望对C#开发人员有所帮助。 1. 开发过程 开发过程是错误和缺陷开始的地方。使用工具可以帮助你在发布之后,解决掉一些问题。 编码标准 遵照编码标准可以编写出更多可维护的代码,特别是在由多个开发人员或团队编写和维护的代码库中。例如FxCop,StyleCop和ReSharper等,就是常用的实施编码标准的工具。 开发人员:在压缩代码之前,请使用工具仔细检查是否违反了标准,并且对结果进行分析。使用工具发现的代码路径问题,不比你预期的少。 代码审查 代码审查和结对编程是任务开发人员审查他人编写的源代码的常见做法。通过这些方式希望能够检查出作者的错误,如编码错误或实现错误。 代码审查是一个很有价值的做法,但是它依赖于人类,易犯错误,所以很难扩展。 静态分析 静态分析工具会在不运行代码的情况下分析代码,在不需要编写测试用例的情况下,查找违反编码标准或存在缺陷的问题。它们能有效地找到问题,但你需要选择出那些能够定位出有价值问题的工具,找出有价值的问题。C#静态分析工具包括Coverity,CAT.NET和Visual Studio代码分析。 动态分析 动态分析工具在运行时分析代码,帮助你查找缺陷,如安全漏洞,性能和并发...
葡萄城控件技术团队 发布于 2天前 阅读 2021 评论 12 点赞 8

Mybatis介绍之参数传递

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

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

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

Mybatis系列目录

Mybatis系列目录: Mybatis模糊查询 基于Mybatis3.0.6的基本操作介绍 Mybatis类型转换介绍 Mybatis中配置Mapper的方法 Mybatis的动态SQL详解 Mybatis拦截器介绍 Mybatis返回Map的一种实现 Mybatis之ResultMap简介,关联对象 Mybatis整合Spring Mybatis杂谈 Mybatis表对象继承实现 Mybatis通过一条SQL查询出关联的对象 Mybatis查询延迟加载 Mybatis的Executor介绍(一) Mybatis的Executor介绍(二)——批处理 Mybatis结果集自动映射 Mybatis介绍之缓存 Mybatis介绍之参数传递
Elim 发布于 1个月前 阅读 1362

Mybatis查询延迟加载

本文主要介绍Mybatis延迟加载的原理、启用等。
Elim 发布于 2个月前 阅读 4469 评论 4 点赞 2

Mybatis结果集自动映射

在使用Mybatis时,有的时候我们可以不用定义resultMap,而是直接在语句上指定resultType。这个时候其实就用到了Mybatis的结果集自动映射。Mybatis的自动映射默认是开启的,有需要我们也可以将其关闭(还可以调整自动映射的策略)。
Elim 发布于 3周前 阅读 1689

Mybatis表对象继承实现

       Mybatis表对象继承        我们一般用表来表现对象之间的继承关系时通常有三种方式。第一种是把所有对象包含的属性都存放在一张表中,然后用一个字段来区分当前记录对应的对象类型;第二种是每个子类型一张表,每张表都存该对象所有的属性;第三种是基类作为一张表进行存储,每个子类特性的属性都新建一张表进行保存,然后在基类对应的表里面通过一个字段来区分对象的类型。第二种跟普通的处理方式没有什么区;第一种和第三种大同小异,本文将主要围绕第三种方式的实现来描述。          举个例子,就拿我们的组织关系来说吧,组织上有机构、部门、岗位、人员,它们都属于组织,从对象的角度来讲,可以把它们共性的东西,如ID、上级ID、名称等抽取出来作为一个基类,其它特性的东西在子类中表现。本文只是为了表明这种继承的意思,会简化很多。为此,我们可以定义一个基类OrganizationBase,其定义如下。 /**  * 组织基类  *  * @author Elim 2016年12月17日  */ public abstract class OrganizationBase {      /**     * 主键     */    private Long id;    /**     * 名称     */    private String name;    /*...
Elim 发布于 2个月前 阅读 1144

Mybatis杂谈

         本文主要介绍Mybatis的配置解析对应的Class、Mybatis的全局配置等,每个点都不会讲太多细节的东西,只是提一下对应的点,更多细节的东西请有兴趣的读者自己去挖掘。
Elim 发布于 2个月前 阅读 1148 点赞 1

Mybatis的Executor介绍(一)

本文主要从Mybatis源码的角度分析Mybatis是如何执行我们定义的SQL语句的,并介绍Mybatis几种不同类型的Executor的作用。
Elim 发布于 2个月前 阅读 1154 评论 3

Mybatis的Executor介绍(二)——批处理

从JDBC是如何进行批量更新入手,阐述Mybatis对批量更新的支持,介绍BatchExecutor的原理及其应用。
Elim 发布于 1个月前 阅读 1646

用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 发布于 1周前 阅读 3695 评论 23 点赞 22

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

安卓和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 发布于 4天前 阅读 933 评论 2 点赞 3

现货和商品发售行业转型利器-期货资管软件/期货分仓软件/期货跟单软件/期货反向跟单软件

软件名称 :内外盘盘资产管理软件 使用范围 :本软件仅限用于法律允许范围内的金融活动,如若利用软件进行违规违法交易行为,后果自负 价格:可以买断也可以月租(价格上面可以商量,主要看合作的诚意度) 内盘对接实盘软件: 快期交易软件  外盘对接实盘软件: 易盛、极星、SPtrader、IB(美国盈透)、信管家外盘 注:易盛和极星的实盘帐号需要客户提供交易软件、用户名密码、交易授权码;SPtrader实盘需要提供SP Licensed Key、SP APPID、网域、用户名密码;IB只需要提供用户名和密码即可(需要知道此帐号是新帐号还是老帐号);信管家外盘需要提供用户名密码和交易软件 服务器配置:50人以内同时使用 地域:上海 系统盘:选SSD 40G  数据盘:SSD 50G Cpu:4核 内存:8G 带宽:独立10M 操作系统:window server 2008 SP1 中文版 100人以内同时使用 地域:上海 系统盘:选SSD 40G  数据盘:SSD 100G Cpu:8核 内存:16G 带宽:独立20M 操作系统:window server 2008 SP1 中文版 内盘交易合约:新架构里面可以交易全期货品种:大宗商品期货、股指期货等合约 外盘交易合约:新架构里面可以交易全期货品种:外汇期货、商品期货、贵金属期货等合约,最常用的合约有:德指、...
专业金融软件开发 发布于 4天前 阅读 909

为什么数据库不适用于容器

新的一年,如果我们对信息技术领域有所留意的话,就会发现“containers”和“Docker”成为了热词。在每个地方,我们都会将开发好的软件打包放入Docker容器,到处使用容器。从小型创业企业到大型微服务平台;从CI(Corporate Identity)平台到树莓派的研发;从数据库管理系统到…… 你说什么?确定在产品级的项目中要将数据库放到容器内吗?真的假的!遗憾之处在于这就是事实。我见过很多快速成长的项目将持久化的数据放到容器内。不仅如此,在同一台主机上还部署了计算服务!不幸中的万幸是有识者不会这样做,但很多新手都是这么干的。 下面我要抛出自己的观点,回答“为什么”不要这样做。注意,所谈论的一切都基于当前,即2017年01月29日当前的状况。我们也看到过一些项目,研究如何在Docker中安全地管理数据库。但是,目前数据库容器化完全是不合理的。 下面,我来逐一阐述其中的原因!共有7大理由: 1.数据不安全 从“Banned from DBA”这部分开始,Docker in Production: A History of Failure这篇文章中关于Docker的观点完全正确。即使是把Docker的volume创建在了数据原有的目录,也不能说就有了什么保障。没错,Docker的volume被设计成与联合文件系统(Unions FS)...
易达 发布于 7分钟前

重新写技术博客

过去几年,我跑去玩股票、期货、期权和外汇交易,经历了很多风风雨雨,有些厌倦了。金融的圈子信息丰富,每天都有大量的小道消息和传闻,刚开始让人很兴奋,觉得太有趣太精彩了。但是,在这个圈子呆久之后,慢慢觉得有些厌倦了。 因为有大量的自由时间,我疯狂地阅读了很多金融书籍,关注了n多的"偶像"。几年后,发现有用的书籍不多,“偶像”大部分都破灭了(有的自动消失,有的已经吃牢饭了)。因为阅读了太多的财富人生,所以总结了一句话:没有永恒的财富。当你因为依靠自身努力或者因为幸运而致富了,要想想自己的退路,想想为什么而活,想想有没有在做自己喜欢的事情。 对于我自己,重新对技术感兴趣是因为人工智能和深度学习。本来,对于充满着复杂数学公式的神经网络我也学不下去,直到去年10月份看了本《Grokking_Deep_Learning》,才知道会点简单求导和矩阵运算,就基本上能理解神经网络的运作。原来神经网络并不是什么神秘的武功秘籍,而是一套半可视化的工具箱。我们可以用神经网络做很多事情,例如图像识别、无人驾驶、AI竞赛等等,是深度学习的重要组成。未来几十年,欧美世界很可能进入一个遍布人工智能设备的时代。基于这个判断,于是我就开始重新走回学习...
qinhui99 发布于 8分钟前

限时报名!Google、Github 双认证硅谷前端课程,成为最抢手前端工程师!

广告
想从零开始,跟随硅谷大咖,学习 Google、Github 等行业领导者制作的前端课程内容,成为抢手人才?别错过!超人气口碑课程限时一周报名中,2/28截止!
UDACITY

【Java每日一题】20170224

20170223问题解析请点击今日问题下方的“【Java每日一题】20170224”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; import java.util.ArrayList; import java.util.List; public class Ques0224 { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); List<Integer> subList = list.subList(0, 2); list.add(4); // 原列表增加一个元素 System.out.println("原列表长度:"+list.size()); System.out.println("子列表长度:"+subList.size()); } } 今日问题:  请问主程序运行结果是什么?(点击以下“【Java每日一题】20170224”查看20170223问题解析)  题目原发布于公众号、简书:【Java每日一题】20170224,【Java每日一题】20170224 (也可以扫描头像二维码查看)  weknow团队已开通认证了分答,有问题也可以来咨询,点击分答就可以找到我了!!...
weknow 发布于 11分钟前

java web 一个简单的登录注册程序

1.程序结构如下:   2.程序创建步骤: (1)创建空项目 (2)导包 (3)建包 com.aslan.domain com.aslan.dao com.aslan.service com.aslan.web.servlet com.aslan.common : 自己创建的一些公共类。 (4)jsp login.jsp regist.jsp welcome.jsp (5)在F盘下创建一个user.xml (暂时用来做数据库)   3.开始代码部分 3.1 jsp代码 //register.jsp 注册页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script> function _change() { var Img = document.getElementById("img"); Img.src ="<c:url value='/VerifyServlet' />?a="+ new Date().getTime(); } </script> </head> <body> <h1>欢迎注册</h1> <form action="<c:url value='/RegisterServlet' />" method="post"> 用户名: <input type="te...
抢地主 发布于 14分钟前

HBase1.2.3架构剖析(四) 之 Regions详解

1.  Regions Regions是表可用性和分布的基本元素,并且是由每个列族的存储区组成的。对象的层次结构如下 Table                    (HBase table)     Region               (Regions for the table)         Store            (Store per ColumnFamily for each Region for the table)             MemStore     (MemStore for each Store for each Region for the table)             StoreFile    (StoreFiles for each Store for each Region for the table)                 Block    (Blocks within a StoreFile within a Store for each Region for the table) 1.1   Regions的大小 总的来说HBase的目的是每台服务器运行较小数量的regions且每个在(5-20G)大小 为什么要保持较小数量的region? 通常每个RegionServer保持100个左右的region效果较好。原因: MSLAB (MemStore-local allocation buffer)每个memstore需要2MB(每个region的每个列族),1000个region2个列族,那么就需要3.9G并且还没有存储数据。注:2MB是可配置的。 如果以相同的速度填满...
lzhaoqiang 发布于 19分钟前

Node连接mysql数据库方法

使用Node做Web开发,基本上都是使用`NoSQL`数据库,最频繁的就是使用[MongoDB](https://www.mongodb.com/)了,自己做了一些简单的Web开发,为了降低学习门槛,一直使用`MySQL`来做数据库。这里简单介绍一下连接`MySQL`数据库的方式,希望能帮助到其他人。 ``` npm install --save mysql ``` 使用上述命令安装完`MySQL`的模块后,就可以直接使用了,官网的DOCS里一个简单的例子如下就可以入门了。 ```js var mysql = require('mysql'); var connection = mysql.createConnection({ host: 'localhost', user: 'me', password : 'secret', database : 'my_db' }); connection.connect(); connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { if (err) throw err; console.log('The solution is: ', rows[0].solution); }); connection.end(); ``` 很简单的一个例子,从上面的例子可以得出:使用`createConnection(option)`方法创建一个连接对象,然后连接对象的`connect()`方法创建连接,最后使用`query()`方法执行SQL语句,返回结果作为回调函数的参数`rows`返回,`rows`为数组类型。 ### 1. 连接 创建连接对象,需要传入连接数据库的一些连接参数,...
pengloo53 发布于 39分钟前

scala学习第四天

package com.learn.scala /** * * Scala既是面向对象,也是面向过程的编程语言 * 函数,方法,过程类似, * 函数:不属于任何类,可以在代码内部定义。 * 方法:属于某个类 * 过程:没有返回值的函数或方法 * Created by zhuqing on 2017/2/23. */ object Day5Fucntion { def main(args: Array[String]): Unit = { println(sum(1, 2)) //返回1+2的和3 println(times(3)) //返回3的2倍6,第二个参数是默认值 println(times(3, 3)) //返回3的3倍9,第二个参数没有使用默认值,自己设置为3 println(sumAll(1,2))//返回1到2的和 println(sumAll(1,2,3))//返回1到3的和 val a = Array(1,2,3) /** * 变长参数不能像Java那样直接使用数组,但可在数组后面加上 :_*,告诉编译器你想把数组当序列使用 */ println(sumAll(a:_*)) /** * 使用区间时,也要追加:_* */ println(sumAll((1 to 10):_*)) } /** * scala方法与Java类似,但是返回值时可以不用return, 最后一个表达式的值为返回值。 * 也可以不用写返回类型,但是递归时必须写。 * **我个人觉得的scala不用return可能是...
我是菜鸟我骄傲 发布于 2小时前 阅读 2

定制 cloud-init - 每天5分钟玩转 OpenStack(155)

对于 Linux 镜像,cloud-init 负责 instance 的初始化工作。cloud-init 功能很强大,能做很多事情,而且我们可以通过修改配置文件灵活定制 cloud-init。
CloudMAN 发布于 2小时前 阅读 3

ActFramework中存储与验证用户密码的机制与应用

如何简单有效地在ActFramework应用程序中实施用户密码的存储与验证
罗格林 发布于 3小时前 阅读 14

spring aop

http://uule.iteye.com/blog/869309
shamgod_code 发布于 8小时前 阅读 4

jquery的扩展学习之offset()以及blind()的用法

offset() 作用是获取目标的top和left的坐标值,通过$(div).offset().top以及$(div).offset().left可以获得这两个值。 blind() 作用是将某个方法和某个事件结合起来,比如在点击一个图片的同时拖动鼠标,可以改变这个图片的某个属性,那么就可以在$img.mousedown方法中添加一行代码$(this).blind("mousemove",myfunction),其中传入的第一个参数是事件名称,第二个参数是我们自定义的方法 那么问题来了 这有什么用呢??? 通过上述的两个方法可以实现对某个框体或者图片的拖拽。具体效果如下图 这个效果用途我觉得还是挺广的,比如说制作网页游戏、制作类似QQ空间的展示网页、拖动选项至收藏栏等等 话不多说,代码如下 <!DOCTYPE html> <html>  <head>   <meta charset="UTF-8">   <title></title>   <script src="js/jquery-3.1.1.js" type="text/javascript" charset="utf-8"></script>   <style type="text/css">    .movediv {     line-height: 30px;     background: blue;     width: 120px;     text-align: center;     border: 1px solid black;     float: left;     margin: 10px;    }   </style>   <script...
野蛮教主 发布于 8小时前 阅读 2

docker安装运行tomcat

# 安装docker ``` apt install docker.io ``` ### 加速镜像源 在daocloud.io选择加速,更加文章配置加速源 ``` curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d58fa74f.m.daocloud.io ``` # 安装tomcat镜像 #### 方法1获取镜像仓库里的镜像 ``` //搜索tomcat的镜像 docker search tomcat //获取镜像 docker pull tomcat ``` #### 方法2自己制作镜像 ``` //首先通过镜像仓库获取linux。这里我们用ubuntu docker pull ubuntu:16.04 //启动ubuntu镜像 docker run -i -t -v /opt/software/:/opt/software/ ubuntu_id /bin/bash ``` **docker run:运行镜像** **-i:交互式运行** **-t:启动命令行,tty** **-v:将本地文件挂载到docker容器里** **ubuntu_id:ubuntu镜像的id,可以通过docker images命令查看到** **/bin/bash:启动容器后运行的shell** 在容器里,我们通过挂载的目录将tomcat安装到容器里。安装完成后输入exit推出容器 ``` //查看容器的运行信息 docker ps -a //制作新的镜像 docker commit container_id name ``` **docker commit:制作镜像** **container_id:容器的id,可以通过docker ps -a查看** **name:自己给镜像起的名字。例如mytom...
1181819395 发布于 9小时前 阅读 3

sql

#sql 建表 ``` CREATE DATABASE IF NOT EXISTS `pinker`; USE `mysql`; DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL DEFAULT '', pwd CHAR(32) NOT NULL DEFAULT '', email VARCHAR(40) NOT NULL DEFAULT '', status TINYINT(1) NOT NULL DEFAULT 1, sex ENUM('男','女') NOT NULL DEFAULT '男', info TEXT NOT NULL , pic VARCHAR(100) NOT NULL DEFAULT '', createTime INT(10) NOT NULL default 0 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ``` 1. 其中 enum 类型 1 --> 男;2 -->女。 2. text,blob等类型不能有默认值!!! 3. 占个位置!!!...
xd03122049 发布于 9小时前 阅读 14

nginx 下 php 配置

server {         listen 443;         server_name www.domain.com;#填写绑定证书的域名         ssl on;         root /var/www;         ssl_certificate cert/1_www.domain.com_bundle.crt;         ssl_certificate_key cert/2_www.domain.com.key;         ssl_session_timeout 5m;         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#按照这个协议配置ssl_ciphers ECDHE - RSA - AES128 - GCM - SHA256: HIGH: !aNULL: !MD5: !RC4: !DHE;#按照这个套件配置ssl_prefer_server_ciphers on;         location / {                 root /var/www; #站点目录index index.html index.htm index.php;         }         location ~ \.php$ {                 ##include fastcgi_params;                 ##fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;                 fastcgi_pass 127.0.0.1:9000;                 ##fastcgi_index index.php;                 try_files $u...
听说教主是大神 发布于 9小时前 阅读 12

APP如何实现LBS感知和唤醒?

今天的主角MagicSDK是一款高性能、高覆盖面地理位置自动唤醒SDK服务。 无需复杂定位功能开发,用MagicSDK方便的提供个性化位置服务: 当VIP顾店来店时自动推送特价优惠券。 了解APP用户的热力分布。 VIP来到酒店附近,工作人员自动得到通知并开始登记流程。 用于验证用户的确被线上推广引流入店。 及APP后台保活、基于LBS唤醒、地理围栏等技术化需求。 Magic唤醒技术: 在App不运行时也可以自动探测位置变化,并在您指定的地点唤醒并提供背景处理时间。 室内外均可准确跟踪,综合使用多种定位信号,包括GPS, 基站,Wifi,Beacon等线下设施。 简易实施, 不影响性能: 通过后台直接设置触发范围与规则,不需对每一个触发点进行开发。 SDK占的空间小;运转时电量增加一般不高过1% 丰富的POI库: 每一个探测到的位置都提供多层次参数,如店名,分类,品牌,小区名,城市等。 通过CRM与大数据分析系统集成,您可以获取高价值的客户画像,并根据个人位置行为提供定制化服务。 数据采集与分析: APP线下埋点后(如星巴克)采集到达用户 分析APP用户分布热力图(用户常见聚集地区或商圈) 帮助得到APP用户的设备级别唯一ID(同一台手机重新安装后ID不变) 以上功能支持iOS、Andro...
httpd 发布于 9小时前 阅读 2 评论 1

OSChina 周五乱弹 ——起的再早也耽误不了我迟到!

【今日歌曲】 @penny-osc :@小小编辑 声音好温柔。分享邵夷贝的单曲《我所谓的爱 (吉他先行版)》 《我所谓的爱 (吉他先行版)》 - 邵夷贝 手机党少年们想听歌,请使劲儿戳(这里) 嗯, OSC大事件, @大王叫我来卖萌 :@红薯 评论里为什么泄露地理位置?那是隐私。 红薯蜀黍(@红薯) 处理完at了提议者。 @红薯 :@大王叫我来卖萌 新闻评论我们已经去掉了登录用户的地区显示,游客评论会显示所在地区。 你以为这就是整个事件的终结? 真正的内幕吓着你, @有个鬼 :震惊!!!男人看了沉默,女人看了流泪. @blindcat  :散了吧,散了吧,涉事员工已经被 @红薯 依据OSC基本法严厉惩罚了 心疼我巴叔 ( @巴拉迪维 ) 巴叔( @巴拉迪维 )牺牲了自己的身体, 呃, 牺牲了我一个, 幸福千万家。 这是啥精神! 有古代先贤的风骨! @凝小紫 :有人说,李白太过分了,对杜甫竟然这么薄情↓↓ 这种古代先贤暗恋的情感真是好文艺。 谁说杜甫只爱李白? 然后极乐君(@极乐君 )对这个事件做了一个全景描述, @极乐君 :从oschina动弹吐槽事件,看员工的谨言慎行与逆反思维 想看原文请使劲儿戳(这里) 刚刚发生了一件年度撕逼大戏,在技术圈这么平静的世界里,不容易。。。...
小小编辑 发布于 9小时前 阅读 889 评论 35 点赞 6 打赏 2

hive sql编译过程

sql查询语句处理步骤流程图 准备实例,创建表,插入数据,写要分析的实例查询语句 1.首先创建两个表 2.创建两个表,并插入表数据,脚本略 3.编写咱们要解析的查询语句,即本篇要查询的实例语句。 select top(4) status , max(m.id) as maxMemberID from [dbo].[Member] as m right outer join [dbo].[Order] as o (on m.id=o.member_id where m.id>0) group by status having status>=0 order by maxMemberID asc 实例语句分步骤分析 1.从from开始 1.1 加载左表 from [dbo].[Member] as m 查询结果:member表中的所有数据 1.2 这里应该是 right outer join ,但是这里在sql中被定义分解为2个步骤,即join ,right outer join 。表达式关键字从左到右,依次执行 join [dbo].[Order] as o 查询结果:存入虚拟表vt1,为两个表的笛卡尔集合。 1.3、on 筛选器 on m.id=o.member_id 查询结果如下:  右表(order)作为保留表,把剩余的数据重新添加到上一步的虚拟表vt2中,生成虚拟表vt3。 2. where 阶段 where m.id>0 查询结果:存入虚拟表vt4,为筛选的条件为true的结果集,这里加入一个记忆点,就是,where的筛选删除为永久的,而on的筛选删除为暂时的,因为on筛选过后,有...
张欢19933 发布于 9小时前 阅读 1

ngx_lua中的lua协程

Nginx是事件驱动的异步处理方式,Lua语言本身是同步处理方式,但是Lua原生支持协程,给Nginx与Lua的结合提供了机会。 Nginx可以同时处理数以万计的网络连接,Lua可以同时存在很多协程,简单一点想,对每个到来的网络连接,创建一个新的协程去处理,处理完毕后释放协程。和Apache为每个连接fork一个进程处理的流程十分相似,只不过多个进程换成了多个协程。 协程相比较进程占用资源很小,协程之间的切换性能消耗非常小,几乎就相当于函数调用一样。以同步的方式写程序,实现了异步处理的效率。当然实际的编程实现并没有多进程那么简单。   在Lua中,每个协程对应有一个lua_State结构体, 这个结构体中保存了协程的所有信息。所有的协程共享一个global_State结构体,这个结构体保存全局相关的一些信息,主要是所有的需要垃圾回收的对象。 通常创建Lua执行环境都是从lua_open(即luaL_newstate)开始, lua_open会创建一个global_State结构,创建一个协程作为主协程。ngx_http_lua_module是在读取配置后的postconfiguration阶段创建Lua环境的,除此之外还做了一个额外的操作,主要是创建了名为ngx,类型为table的全局变量,所有Lua与Nginx的交互都是通过ngx这个全局变量来实现的...
qlee 发布于 10小时前 阅读 32

一个索引的面试题

假设某个表有一个联合索引(c1,c2,c3,c4)一下——只能使用该联合索引的c1,c2,c3部分 A where c1=x and c2=x and c4>x and c3=x  B where c1=x and c2=x and c4=x order by c3 C where c1=x and c4= x group by c3,c2 D where c1=x and c5=x order by c2,c3 E where c1=x and c2=x and c5=? order byc2,c3 个人认为选  a由于使用的> 导致右边c4 c3 不能使用索引                  B的话可以用到c 1 2 3 4 的索引                  C只能用到c 1 2                  D用到 c1 2 3                  E不确定 大家各抒己见,欢迎拍砖    
mifans 发布于 10小时前 阅读 4

TensorFlow【机器学习】:如何正确的掌握Google深度学习框架TensorFlow(第二代分布式机器学习系统)?

本文标签:   机器学习 TensorFlow Google深度学习框架 分布式机器学习 唐源 VGG REST   服务器 自 2015 年底开源到如今更快、更灵活、更方便的 1.0 版本正式发布,由 Google 推出的第二代分布式机器学习系统 TensorFlow 一直在为我们带来惊喜,一方面是技术层面持续的迭代演进,从分布式版本、服务框架 TensorFlow Serving、上层封装 TF.Learn 到 Windows 支持、JIT 编译器 XLA、动态计算图框架 Fold 等,以及 Inception Net、SyntaxNet 等数不胜数的经典模型实现,TensorFlow 已然已经成为深度学习框架的事实标准之一。 而另一方面,在开源一年多的时间里,TensorFlow 已经帮助了包括研究人员、工程师、艺术家、学生等在内的诸多用户在各个领域取得了卓越进展,据 Google 官方统计,目前人们已经在 6000 多个在线开放代码存储区中使用 TensorFlow。那么,在业务场景及个人摸索实践中,我们可以如何更好地使用 TensorFlow?以及掌握与运用深度学习、机器学习的正确姿势?带着诸多问题,我们特别采访了 TensorFlow 项目贡献者——美国 Uptake 数据科学家唐源,一起聊聊深度学习框架的那些事儿。 我是如何走上深度学习框架的开源贡献之路的 我是如何走上深度学习框架的开...
taidupa 发布于 10小时前 阅读 3

C#开发人员应该知道的13件事情

本文讲述了C#开发人员应该了解到的13件事情,希望对C#开发人员有所帮助。 1. 开发过程 开发过程是错误和缺陷开始的地方。使用工具可以帮助你在发布之后,解决掉一些问题。 编码标准 遵照编码标准可以编写出更多可维护的代码,特别是在由多个开发人员或团队编写和维护的代码库中。例如FxCop,StyleCop和ReSharper等,就是常用的实施编码标准的工具。 开发人员:在压缩代码之前,请使用工具仔细检查是否违反了标准,并且对结果进行分析。使用工具发现的代码路径问题,不比你预期的少。 代码审查 代码审查和结对编程是任务开发人员审查他人编写的源代码的常见做法。通过这些方式希望能够检查出作者的错误,如编码错误或实现错误。 代码审查是一个很有价值的做法,但是它依赖于人类,易犯错误,所以很难扩展。 静态分析 静态分析工具会在不运行代码的情况下分析代码,在不需要编写测试用例的情况下,查找违反编码标准或存在缺陷的问题。它们能有效地找到问题,但你需要选择出那些能够定位出有价值问题的工具,找出有价值的问题。C#静态分析工具包括Coverity,CAT.NET和Visual Studio代码分析。 动态分析 动态分析工具在运行时分析代码,帮助你查找缺陷,如安全漏洞,性能和并发...
葡萄城控件技术团队 发布于 2天前 阅读 2021 评论 12 点赞 8

限时报名!Google、Github 双认证硅谷前端课程,成为最抢手前端工程师!

广告
想从零开始,跟随硅谷大咖,学习 Google、Github 等行业领导者制作的前端课程内容,成为抢手人才?别错过!超人气口碑课程限时一周报名中,2/28截止!
UDACITY

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

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

在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...
老虎是个蛋蛋 发布于 6天前 阅读 866 评论 6 点赞 2

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

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

Spring MVC 通过切面,实现超灵活的注解式数据校验

这篇文在主要是介绍,如何在 Controller 的方法里面,让校验注解 ( `@NotNull @Email @Size...等`),对基本类型的数据生效(基本类型 `Integer,String,Long等`)。 ## Spring MVC 有什么校验方式? 大家都知道,Spring MVC 默认依赖了 `hibernate-validator` 校验框架。使用这个,我们可以在可以在model的字段上,加相应的校验注解来轻松的实现数据校验。 例如: ```java // 实体类 public class User { @NotNull private String username; @NotBlank @Length(min = 6, max = 32) private String password; } // Controller 请求 @RequestMapping("save-user") // 使用 @Valid 注解,告诉 Spring MVC 要校验 user 对象的数据 public User save(@Valid User user){ ..... } ``` 相信大家都有接触过,使用这种方法来实现整体对象的校验,而且还可以根据不同场景,加上不同的 `@Group` 注解,来实现不同请求对数据的校验规则。 ## 我们想实现什么? 但是有些时候,我们的请求参数并不多,可能只是一些零碎的基本类型的参数 例如 `String` `Integer` `Long` 等等。就像下面这个请求: ``` @RequestMapping("update-user-status") public User update(String userId, Integer sta...
DiamondFsd 发布于 7天前 阅读 3407 评论 24 点赞 12

用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 发布于 1周前 阅读 3695 评论 23 点赞 22

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

想要开发一个 PWA(Progressive Web App)应用,你必须知道首先知道,Service Worker 是什么,他是怎么工作的。
kymjs张涛 发布于 1周前 阅读 2536 评论 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...
业界小白 发布于 1周前 阅读 948 评论 1 点赞 1

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

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

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

Gulp、Rollup、Webpack、Webpack-stream使用入门
别人说我名字很长 发布于 2周前 阅读 2938 评论 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 发布于 2周前 阅读 6445 评论 66 点赞 25

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

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

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

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

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

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

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

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

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

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

Gitlab删库事件的借鉴意义

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

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

Session知识点整理开篇和Session缓存(Hibernate一级缓存)详解
HappyBKs 发布于 3周前 阅读 1942 评论 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 发布于 3周前 阅读 1659 评论 4 点赞 4
顶部