? Docker ? ? Swarm ? ? 集群 ? ? 容器 ? Service ? task ? ? 跨主机 ?    2018-01-19 11:14:16    558    0    0
**更多内容请关注:[gitbook.com](https://www.gitbook.com/book/holynull/docker-swarm/details)** # 前言 2018年初,于北京 当我学会如何使用Doker来发布一个容器,以及学会如何使用docker-compose来发布和管理服务时,我很惊讶Docker容器真的是一个好东西!在研究分布式系统、微服务框架时,Dock
2017-12-25 15:49:23    552    0    0
# 第四篇 Feign客户端 上一篇我们介绍了如何使用Spring Cloud开发一个服务,并在Docker环境中进行部署。Spring Cloud中的服务为了保证高可用性,会将服务部署成一个由多个实例组成的集群。通过Feign Client来消费服务,就能够在服务调用时实现负载均衡。 通常服务在应用平台中不是独立存在的,服务之间会存在调用关系。服务之间在互相调用过程中,被调用的服务出现故障
2017-12-25 14:08:57    293    0    0
# 第三篇 开发部署一个服务 本篇中我们将开发和部署一个基于Spring Cloud Eureka Server的服务。服务主要实现对一个Oracle数据库中的表的增删查改功能。 ## 一、在Docker中启动一个Oracle数据库 在`docker-compose.yml`中创建一个命名为`oracle12c`的服务。在`services`下增加如下服务配置: ``` oracle12
2017-12-25 13:34:44    261    0    0
# 第二篇 统一配置服务
? spring cloud ? ? docker ? ? 微服务 ? ? 分布式 ?    2017-11-28 16:57:34    421    0    0
# 第一篇 Eureka注册中心 ## 知识背景 读者如果有如下知识背景,阅读本文可能会更顺利一些。 - Spring Boot开发知识 - Maven知识 - Docker知识 ## 一、简介 Spring Cloud为开发者提供了实现分布式系统特性的工具。例如,配置管理、服务发现、熔断器、智能路由、微代理(micro-proxy)、控制总线、one-time tokens、g
2017-09-21 15:07:32    1064    1    0
# 项目介绍 我们很容易可以使用Spring-boot来搭建一个支持websocket的应用,用来实现基于HTML5的客户端之间进行消息的接收和推送。但是在实际应用的部署时,客户端和应用服务器之间总会用到Nginx或者Apache来做反向代理,来实现负载均衡。 用Nginx举个例子来说,我们使用轮询的方式,将客户端的请求分发到后端3台web应用服务器上($Server_1$,$Server_
? 机器学习 ? ? python ? ? 分类算法 ? ? Logistic 回归 ?    2017-05-04 13:40:00    800    0    0

Logistic回归算法 本文介绍机器学习中的Logistic回归算法,我们使用这个算法来给数据进行分类。Logistic回归算法同样是需要通过样本空间学习的监督学习算法,并且适用于数值型和标称型数据,例如,我们需要根据输入数据的特征值(数值型)的大小来判断数据是某种分类或者不是某种分类。 一、样本数据 在我们的例子中,我们有这样一些样本数据: - 样本数据有3个特征值:

? python ? ? 机器学习 ? ? 分类算法 ? ? 朴素贝叶斯 ?    2017-05-04 13:35:31    360    0    0

朴素贝叶斯分类方法

详情地址

前言

朴素贝叶斯分类算法是机器学习领域最基本的几种算法之一。但是对于作者这样没有什么数据基础的老码农来说,理解起来确实有一些困难。所以撰写此文帮助自己理解算法,同时也希望对同样在机器学习起跑线上的同仁有所帮助。

开篇我们就不对所涉及的技术要求做说明了,假设您具备高中数学的基础,或者像作者一样,还能回忆起一些数学基础知识,对python语言基础有一定的了解,那么您在阅读本文时就不会有任何困难。

另外,本文参考了《机器学习实战》中第四章《基于概率论的分类方法:朴素贝叶斯》中的内容。这里向作者致以崇高的敬意。

本文作者关于机器学习也是刚开始入门,所以相关领域的大牛们可以忽略本文。如果文中理解有误,还请大家斧正。作者邮箱:holynull@126.com

问题

这里我们使用一个例子来一步一步分析,并用python来实现分类算法。

我们假设在某网站的评论区中,我们需要实现对用户的评论进行分类。简单来说,一类为合法的评论,一类为存在不文明用语的评论。我们的问题是,现在管理员工作压力很大,每天要处理数以千计或者数以万计的评论分类,那么我们如何来帮助他们呢?

第一个想到的方法肯定是让机器能够通过评论的内容,自动对评论进行分类。听起来很美,但是实现起来貌似没那么简单。那么接下来,我们来看一下这个最好的但貌似并不简单的想法怎么来实现呢?

解决方法

第一步 样本数据

我们将管理员之前的分类数据提取出来。然后再将我们关心的数据清洗出来,做为我们研究解决方案的样本数据。我们可以将每一条评论中的单词全部提取出来,用来观察这些单词的组合和分类的关系,我们创建一个数组postingList如下:

  1. postingList = [
  2. ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],
  3. ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
  4. ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'
2016-12-29 15:33:17    126    0    0

查询关系代数表达式

详情请参看这里

关系代数的9种操作

  • 5个基本操作
    • $ \bigcup $: 并
    • $ - $: 差
    • $ * $: 笛卡尔积
    • $ \sigma $: 投影
    • $ \pi $: 选择
  • 4个组合操作
    • $ \bigcap $: 交
    • $ \theta $: 等值链接
    • $ \bowtie $: 自然链接
    • $ \div $: 除法
注意
1.等值连接表示先做笛卡尔积之后,对相应的列进行选择,或者等值关联;仅筛选行,不筛选列。
2.自然连接表示两个关系中若有相同的名称的属性,则自动作为关联条件,且仅列出一列。

例如:
给定学生S(学号,姓名,年龄,入学时间,联系方式)和选课SC(学号,课程号,成绩)关系,若要查询选修了1号课程的学生的学号、姓名和成绩,则该查询与关系代数表达式为什么?

  1. \pi_{1,2,7}(\sigma_{6='1'}(S \bowtie SC))

首先,我们需要将两个关系S和SC做自然连接$(S \bowtie SC)$。这样一来,我们得到关系R(学号,姓名,年龄,入学时间,联系方式,课程号,成绩)。注意,我们采用自然链接那么“学号”只保留1列,就剩下7个属性。接下来,我们要选择课程号为1的记录,所以$ \sigma_{6='1'}(S \bowtie SC)$。注意,这里第6列为课程号,所以$ \sigma_{6='1'} $。最后,我们选取第1、2、7列属性,得到最终表达式为$\pi_{1,2,7}(\sigma_{6='1'}(S \bowtie SC))$

2016-12-15 10:16:04    230    0    0

操作系统存储管理中的地址变换

看完整文章请点击这里

要了解操作系统的存储管理,我们首先需要明确这里的存储是指的什么?那么,这里的“存储”是指,计算机的内存和外存(比如:硬盘)。目前,大多数的操作系统都采用虚拟存储器的方式来管理存储。所谓虚拟存储技术,即在内存中保留一部分程序和数据,在外存中放置整个地址空间的副本。就是说程序的大部分数据和可执行程序都放在外存上。程序运行时可以访问内存中的数据和程序,如果要访问的程序和数据不在内存中时,就将之前内存中的程序和数据回写到外存,然后从外存中调入所需的程序和数据。

单一连续分区、固定分区、可变分区和可重定位分区,这些存储的组织方式不能实现虚拟存储管理。页式、段式和页段式才是虚拟存储的管理方式。我们这里主要讨论虚拟存储的管理中的地址变换问题。

什么是虚拟存储?

我们来假设我们的一个程序以及它运行起来需要的数据一共是1K bit大小。而我们的内存只有512bit。那么我们可以看做虚拟存储大小为1Kbit。即,我们将程序和程序执行的数据整体看做是虚拟存储。那么,虚拟存储的容量是允许大于内存的容量的,也就是所说的虚拟存储的地址范围是可以大于内存的地址范围的。(在非虚拟存储的一些操作系统中,是不允许作业的大小超过内存容量的,因为作业是一次性装载入内存的。)因为,实际运行过程只有一部分程序和数据存放在内存上,大部分存放在外存上。程序运行过程中,程序和数据在操作系统的管理下,在内存和外存之间进行不断的交换。

地址变换

我们把内存中的实际地址叫做物理地址,而虚拟存储中的地址叫做逻辑地址。也就是说逻辑地址的范围是允许大于物理地址的范围的。那么,如果按照逻辑地址在内存中寻址,就会产生错误。这怎么办?幸运的是计算机硬件会在存储管理的过程中,帮我们把逻辑地址转换成物理地址。

页式存储管理的地址交换

页式存储是将虚拟存储的数据按页分割。然后在内存中按照虚拟存储中页的大小,开辟与页数相同的区。再在内存中创建一个页表。页表中记录虚拟存储的页号和一页开始的物理地址。最后,在控制寄存器中记录页表的长度和页表的物理地址。那么,页式管理的逻辑地址就由页号和页内偏移(即页内存储块的序号)组成。

页号 页内偏