02 2020 档案
摘要:互联网 -> 推荐系统 (实时推荐) 长尾理论: 冷门商品销售额甚至可能超过热门商品,推荐长尾商品给“需要”的用户。需要通过挖掘,获得用户特征(个性化推荐)。 推荐方法: 专家推荐:领域专家,人为推荐 统计推荐: 热门排行榜 基于内容推荐: 挖掘物品特征,推荐与它相似的产品 协同过滤推荐: 用户 A
阅读全文
摘要:静态数据:比如数据仓库中的数据, 类似三峡水库中的水. (数据挖掘, OLAP 分析工具) 流数据: 网络监控, 传感检测, 大量的, 流式的数据(不断的产生, 源源不断的到达). 比如 PM2.5 的检测, 这种需要实时的监控和处理(分析). 流数据的特性 推送的方式: 实时查询的结果 流计算应用
阅读全文
摘要:Spark 是基于内存的计算, 低延迟. Apache 基金会3大分布式系统开源项目 Hadoop, Spark, Storm (数据流) Spark 特点: 处理快, 容易使用(Java,Python,Scala,R). 通用性(包括SQL,机器学习, 流失计算), 运行模式多样 Spark生态系
阅读全文
摘要:数据仓库中的数据,多数是存储的历史数据, 进入数据仓库之后的数据基本保持不变. HBase 实时的在线业务. Hive High avalibale. Impala 类似 Hive, 但是执行效率更高. Hive操作 创建数据库: create database db01; 创建表: use db0
阅读全文
摘要:MapReduce: 分布式并行编程, 也就是多台机器的 CPU 之间的并行编程. MapReduce 帮你自动实现底层. 分而治之的策略: 理念: 实例: 两个文件, 统计这两个文件中单词的个数 key:单词, value:出现次数 reduce: key - value list. 用 Iter
阅读全文
摘要:HBase 可以理解为是一个分布式存储系统, 利用MapReduce 来处理存储在这个分布式存储系统中的数据. 所以可以理解为它是 HDFS 的一层抽象. 所以HBase 可以理解为是一个分布式系统(DB), 但是实际上内存存储的实现是通过 HDFS 实现的. HBase 特点: 是 BigTabl
阅读全文
摘要:JobTracker 分配工作给若干机器. TaskTracker: 负责监督 光纤交换机. 块的概念: 一个块 64M. 还可以是 128M. 大文件切割成这种小块, 然后分布存储在不同机器上. 当然也可以并行处理. 名称节点: 整个 HDFS 集群管家, 负责元数据的存储. (index 数据块
阅读全文
摘要:浏览器同源策略 host (域名或IP地址, 如果是IP地址则可以看做是一个根域名), 子域名, 端口, 协议 (http, https) 比如,mail.example.com和calendar.example.com是example.com的两个子域,子域名也被包含在同源策略中. 在浏览器中 <
阅读全文
摘要:安装完 centos7 之后, 网络是不好用的. 首先, 打开网卡自动启动 在 目录 /etc/sysconfig/network-scripts/ifcfg-eth0 (有的是 eth33), 通过 ip addr 可以看到 vi 打开后, 将最后的 ONBOOT=no, 修改成 ONBOOT=y
阅读全文
摘要:Hadoop HDFS :分布式存储 MapReduce: 分布式海量数据处理. Hadoop 在企业中的应用 MR : MapReduce 的简称. Apache Hadoop 版本 Hadoop 2.0 架构与1.0版本差距很大. 还有一些 Hadoop 的商业版本, 别的公司出的, Horto
阅读全文
摘要:大数据 核心 分布式存储 分布式处理 大数据关键技术 大数据, 云计算, 物联网 关系 云计算: 虚拟化, 多租户, 云计算是通过网络以服务的方式为用户提供非常廉价的IT资源. 阿里云, 百度云 等. (公有云, 私有云, 混合云) 物联网: IoT (internet of things), 各种
阅读全文
摘要:自组织 自组织: 是在没有自上而下指导的情况下,事物的形成过程. 团队的自组织 称为 敏捷开发的“最佳实践” Scurm 要求整个团队列席计划会议和日常会议 (举例: 每个团队成员无法看到全貌, 比如造汽车, 有人只造汽车轮子, 有人只造车身, 有人只造方向盘),只有大家在一起共同的思考, 最后发现
阅读全文
摘要:稳定点: 货币基金,纯债基金收益高,混合基金,股票基金 A股: 中国境内发型的股票,看国运.指数: 就是集群大盘:上证指数, 上海前多少家公司,2700点, 你买上证指数, 就等于买前面公司的组合, 这有点类似之前说的美国标准普尔.小盘:中证500,排除上证之后的500家公司的集合.买这种指数, 涨
阅读全文
摘要:大概的意思, 微服务 上边只是一个简单的架构, 类似数据支撑等, 可能还有很多别的方面, 比如访问文件的 等等. 另外, 现在又有新的了. 服务网格: 下一代微服务标准, service mesh, 代表解决方案 istio
阅读全文
摘要:例如 vue , 这种前后端分离的框架如何部署 1. 前后端一起部署, 前端打包成静态文件后, copy 到后端项目中,然后部署后端项目。 如果选择这种方式, 需要把dist文件夹里的内容, 一样的 copy 到 resource/static 文件夹下. 这种静态资源不会被 spring secu
阅读全文
摘要:Web server 我们关注亮点: Web server 本身安全 Web server 是否提供了可使用的安全功能 Apache 安全 检查 apache 的 module 安装情况,根据最小权限原则,应该尽可能的减少不必要的 Module, 对于使用的 Module, 应检查其对应版本是否存在
阅读全文
摘要:现在 Web 都是框架, 而且更新飞快. MVC 层: 在 View 层可以解决 XSS 问题, XSS 是HTML 页面在服务器渲染时, 注入了恶意的 HTML 代码导致的. CSRF 防御方案: 在 session 中绑定 token, 如果不能保存到服务器端的 session 中,可以替代为保
阅读全文
摘要:权限的问题,都可以归为 访问控制。 在正常情况下,管理后台的页面应该只有管理员才能够访问,但这些系统未对用户访问权限进行控制,导致任意用户只要构造出了正确的 URL, 就能够访问到这些页面。所以,只是把这些页面“藏起来”是不行的,攻击者惯用伎俩是使用一部包含了很多后台路径的字典,把这些“藏”起来的页
阅读全文
摘要:将明文密码经过哈希后(MD5 或者 SHA-1) 再保存到数据库中, 是目前比较普遍的做法. 登录时验证密码的过程仅仅是验证用户提交的"密码"的哈希值,与保存在数据库中“密码”的哈希值是否一致。但是,目前黑客们广泛使用一种破解 MD5 后密码的方法:彩虹表.(即收集尽可能多的明文密码和明文对应的MD
阅读全文
摘要:文件上传漏洞,指用户上传了一个可执行脚本, 并通过此脚本获得了服务端命令的能力。 需要满足条件: 上传的文件能够被 Web 容器解释执行,所以文件上传后所在的目录是 Web 容器所覆盖到的路径 用户能够通过Web访问到这个文件, 如果文件上传了,但是用户无法通过Web访问,或者无法使得Web容器解释
阅读全文
摘要:注入攻击的本质是: 把用户输入的数据当做代码执行. 这有两个条件: 用户能够控制输入 原本程序要执行的代码,拼接了用户输入数据 例如: var sql = "select * from OrdersTable where ShipCity = '"+ShipCity+"'; 如果用户输入了city名
阅读全文
摘要:ARP (Address Resolution Protocal), 当被攻击服务器向网络发送网关IP地址的MAC请求(ARP请求)时, 攻击者会抢先返回伪造的ARP应答,来冒充网关,从而截获所有与服务器的通信内容,ARP攻击有一个限制条件,就是要和被攻击的服务器在同一个物理网段内. 钓鱼攻击: 创
阅读全文
摘要:目前, 第一个 从 2018 年开始, 没有维护了. 目前,又提出一种方案,服务网格: 下一代微服务标准。service mesh, 也出来了代表解决方案. istio 万变不离其宗 API网关,服务路由 HTTP, RPC 框架,异步调用 服务注册与发现,高可用 熔断,降级服务 可参考的一个框架
阅读全文
摘要:RPC 远程调用, 实际上 RPC 也是一个通信协议. 分布式系统的主要问题是 网络不可靠. RPC: 是进程之间的远程调用, 允许 A 电脑上的进程调用 B 电脑上的方法. 我们不需要知道 RPC 的细节. RPC的 核心 : 通信, 序列化 序列化: 数据传输需要转化. (通信都需要序列化) 在
阅读全文
摘要:微服务 server 推荐使用 Docker. 使用 Docker 可以让开发者封装他们的应用以及依赖包到一个可移植的容器中。然后发布到任意的 Linux 机器上. Docker 容器完全使用沙箱机制,彼此之间不会有任何接口。 Docker 和虚拟机的区别 虚拟机:应用程序是运行在操作系统上的,应用
阅读全文
摘要:开发工具推荐 Spring Tool Suite(STS) 基于 eclipse, 或者是 IntelliJ IDEA. 因为 SpringBoot 中已经继承 Tomcat, 所以, 只需要执行 java -jar xxx.jar 就可以启动服务了. (当然有时候还是需要打成 war 包) Spr
阅读全文
摘要:微服务是一种 service 思维, 每一个service 是独立的, 实现敏捷开发和部署. 微服务架构适合有一定的扩展复杂度. 传统的扩展 (把一个copy成两个, 我们目前就是这种) 问题: (下边只列2个吧) 全面扩展, 把压力不大的服务也扩展了2个. 影响开发效率, 因为是一个大应用. 开发
阅读全文
摘要:pom.xml 配置文件. 仓库种类 maven 工程中, 只是存储了 jar 包的坐标. -> 本地仓库(我自己电脑) -> (如果有私服) -> 远程的中央仓库. maven 仓库的结构: 首先在本地, 可以指定一个 maven 的 local 仓库. 然后还可以在局域网有一个私服, 最后远程的
阅读全文
摘要:首先在 Build, Execution, deployment 中的 -> Debuggeer 中的 Transport: 选择 Shared memory 这样可以节省内存空间. Maven 自动化构建和模块的管理 构建项目的工具: 在 Build Tools 中选择 Maven, 进行一下配置
阅读全文
摘要:在 version Control 中有集成好的对应的插件支持. 首先安装好 git 客户端. (仍然需要手动安装) 下边两个都可以 1.找到 version control -> git, 然后找到安装的目录 2. 点 GitHub, 登录 GitHub 账户 Repository 需要在 git
阅读全文
摘要:比如输入 main 直接出来了 public static void main 已经预定义了 在 Editor -> Live Templates 中有一些常用的. (可以编辑) 常用模板 psvm: public static void main sout: system.out.println
阅读全文
摘要:Keymap 的设置, 如果没有使用过 eclipse,那就用默认的就可以了. 就用默认的吧,一改全改 常用快捷键 执行 (默认 control + shift + F10) 提示补全 (control + alt + 空格) 单行注释 (control + /) 多行注释 (control + s
阅读全文
摘要:数字 1,2,3,4 可以实现截取的图像翻转. F1 激活 F2 延时截图, 默认2秒,可以配置 F3 直接将贴图粘贴到屏幕. (即便粘贴到了屏幕, 右键这个 "标注" 贴图还是可以编辑的) 标注的功能 当失去你绘画的焦点时, 这个图形就不能再次被选中了, 因为实际上鼠标默认是没有光标的, 除非你点
阅读全文
摘要:首先, 无论是解压还是安装, 都会在 C:\Users\Leon\.IntelliJIdea2019.3 有一个类似这种的文件夹. 在这个目录下有两个文件夹: config: 配置 system: 缓存 (提升 intelliJIdea 的性能) 所以, 当卸载时, 这两个目录也要删除. (要不会影
阅读全文
摘要:原来的方式: 前端 html -> 后端再开发 JSP -> 再整合等问题. 这里必须是串行的. (所以前后分离之后, 可以提高效率) 前后端 align 好 接口文档 (url, 参数, 数据类型...) , 分别独立开发, 前端可以造一些假数据测试. 后端也只需要提供接口, 也不需要前端来进行测
阅读全文
摘要:1. bean 要使用注解开发,必须保证 aop 的包导入了. 要导入 context 约束 在 java bean 的 class 上增加 @Component 这4个注解的功能是一样的,都是将类注册到Spring中,装备Bean. 2. 属性注入 在属性的定义上加注解 @Value("asdf"
阅读全文
摘要:springBoot 快速开发脚手架, 基于springBoot可以快速开发单个微服务. 约定大于配置. SpringCloud 是基于 springBoot实现的. Spring 本身发展到后期, 配置十分繁琐. Spring 本身有很多javaBean, 原因是来一个需求, 需要重新生成一个 j
阅读全文
摘要:什么是 Spring? 轻量, 一站式(每一个层次都提供了解决方案), 非入侵(不会改变你原来的代码逻辑) 分层架构: web层: spring.MVC service层: spring dao层: mybatis Spring 核心: 控制反转(IoC) 和 切面编程(AOP) IoC: 由 sp
阅读全文
摘要:神经网络 线性不可分: 不能被一条线分割, 异或就是线性不可分. 中间一个与门, 下边是一个或门,上边一个与非门. 增加一层神经网络之后, 问题变得简单了,只需要与门的一条线,就可以分割。 内涵的思想就是把一个复杂的问题做一个转换,转换成简单的问题. 注意下图的坐标轴已经变了. 到底是买牛奶 ->
阅读全文
摘要:特征选择 (属性选择) 决策树-分类 <input, output> 有监督的学习, output 可以是boolean. training a classifer 贝叶斯定理 A,B 各射击一枪, 已知命中了靶子C, 问 A 命中的概率? 这个题: P(A) = 0.6, P(B) = 0.5,
阅读全文
摘要:Book 数据挖掘概念与技术 模式分析 beautiful data WEKA 有很多挖掘的工具(算法j集成) KDnuggets 是网站,有很多论文,数据 Big data 大数据的定义: high-volume, high-veiocity and high-variety 应用领域 公共安全领
阅读全文
摘要:下载安装的 JDK 目录 java 主目录下的: src.zip 是 jdk 的源代码. JDK: java development kit 包含java 编译器和JRE JRE: java run environment java 运行时环境,JRE 包含 JVM JVM: java virtua
阅读全文
摘要:大数据 TB 级以上. 目前关系型数据库支持百万级数据没有问题. 大数据的主要目的和流程: 透过大量的数据, 分析出数据模型进而指导业务. 从目的看, 主要有以下流程: 首先将数据收集 -> 大数据(高可用存储) -> 研究数据(数据分析的计算能力) -> 展示结果 大数据的基本生态 来源: goo
阅读全文
摘要:java.lang 包, 基础 java.awt 包,图形,颜色,java.awt.event.* 事件 java.io 数据流 java.util 工具包 java.net 网络编程, Socket java.sql 数据源(关系数据库)相关
阅读全文
摘要:/* * File: Breakout.java * * Name: * Section Leader: * * This file will eventually implement the game of Breakout. */ import acm.graphics.*; import ac
阅读全文
摘要:04 switch(e): { case1: case2: statement1; break; default: statment2; } 05 自顶向下 分解: 将大型任务分解成简单的子任务. (分解任务, 不是分解代码) [分解过程中还要注意抽象出公共组件被公共利用 06 随机数种子, jav
阅读全文
摘要:/** * The student class is basic class. * @author Leon * */ public class Student { /** * @param name The student's name * @param id student's id */ pu
阅读全文
摘要:1. 根据现有的函数画 5 环. import acm.graphics.*; import acm.program.*; import java.awt.*; public class OlympicRings extends GraphicsProgram { public void run()
阅读全文
摘要:防火墙 iptables 和 netstat 经常一起使用
阅读全文
摘要:数据链路层 ping 127.0.0.1 就是 ping 自己,实际上并没有把数据发送到网上, 而是通过本地叫 "环回口". 网络层 IP协议: 不可靠(丢包), 无连接(不维护任何后续数据报的信息) 两个命令: ifconfig 和 netstat. 也就是说,端口20才是真正传输所用到的端口,端
阅读全文
摘要:讲的是这本书: Book:《TCP/IP 详解》 内容提要 网络分层 OSI 分层模型 分层原则(软件产品也是一样): 每层有清晰的边界,每层有自己的功能。每层相互独立,互不影响. 举例: 北京老板想发月饼(中秋节),所想他想告诉上海公司的老板也发月饼。 应用层: 北京老板说了要发月饼. 表示层:
阅读全文
摘要:基本思想: 拆 CAP原则 :又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾 面向流程拆分,面向服务拆分,面向功能
阅读全文
摘要:java 注解是先标记 后面当需要时,通过注解相关的特殊方法来触发. 反射 reflect 来使用注解 java 注解 与 python 装饰器的不同 先说java的注解(Annotation),实际上是给语法元素打一个标记。比如你可以给一个函数打一个标记,给一个类打一个标记等等。Java只保证记录
阅读全文
摘要:有点 incident 的意思 分析, 受影响的程度,系统的 critical 程度, 监控预警, 自恢复等 容灾 等 存储高可用 数据集群, 分布式, 业务高可用 降级: 只提供部分系统功能给业务. 熔断: 当外部接口出现问题进而导致整个系统缓慢等问题出现,切断与外部接口的部分功能,这部分功能也不
阅读全文
摘要:存储高性能 关系数据库 读写分离,基本原理是将数据库读写操作分散的不同的节点,基本的实现方式: 1) 数据库服务器搭建主从集群,一主一从,或一主多从. 2) 数据库主机负责读写操作,从机只负责读操作。 3)数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据。(困难,同步需要时
阅读全文
摘要:随着然健系统规模的增加,计算相关的算法和数据结构不再构成主要的设计问题; 当系统由许多部分组成时,整个系统的组织,也就是所说的“软件架构”,导致了一系列的新的设计问题。 架构设计本身是为了解决软件的复杂度。 架构设计并不是要面面俱到,不需要每个架构都具备高性能,高可用,高扩展等特点,而是要识别出复杂
阅读全文