08 2019 档案

摘要:[TOC] 什么是服务发现? 服务发现就是一种提供服务发布和查找的服务 ,是基于服务架构(SOA)应用的核心服务,需具备以下关键特性: 1. 注册(Registration),新增服务到服务列表; 2. 目录(Directory),即服务列表; 3. 查找(Lookup),通过服务名找到服务。 服务 阅读全文
posted @ 2019-08-16 08:47 東籬老農 阅读(993) 评论(0) 推荐(2)
摘要:[TOC] Jenkins 概述 Jenkins 是一款跨平台的持续集成和持续交付(CI/CD, continuous integration and continuous delivery)应用。 它具备以下特性: 1. 易于安装,只需要运行 即可。 2. 易于配置,所有配置都能通过 GUI 进行 阅读全文
posted @ 2019-08-13 10:07 東籬老農 阅读(227) 评论(0) 推荐(0)
摘要:[TOC] 1. 概述 Amazon Elastic Kubernetes Service (Amazon EKS) 是一项托管服务,可让您在 AWS 上轻松运行 Kubernetes,而无需支持或维护您自己的 Kubernetes 控制层面。 Amazon EKS 跨多个可用区运行 Kuberne 阅读全文
posted @ 2019-08-11 21:19 東籬老農 阅读(2802) 评论(0) 推荐(0)
摘要:[TOC] 1. 创建集群 1.1. 安装 kubectl kubectl 是 Kubernetes 的命令行工具,可以通过跑命令来控制整个 Kubernetes 集群。 注意:kubectl 的版本要确保与 Kubernetes 最多上下相差一个小版本。安装最新的版本可以无视此项规定。 1.1.1 阅读全文
posted @ 2019-08-11 20:59 東籬老農 阅读(898) 评论(0) 推荐(0)
摘要:| 标题 | 地址 | 备注 | | : | : | : | | Kubernetes 官方文档 | "https://kubernetes.io/docs" | 英文文档,全面 | | Kubernetes Handbook | "ttps://jimmysong.io/kubernetes ha 阅读全文
posted @ 2019-08-11 20:54 東籬老農 阅读(324) 评论(0) 推荐(0)
摘要:[TOC] 在认识 Kubernetes 之前,我们需了解下容器,在了解容器之前,我们得先知道什么是虚拟机。 什么是虚拟机? 虚拟机(VM, Virtual Machine)是计算机系统的仿真,以便隔离真实计算机硬件,运行多个不同的操作系统。虚拟化技术是硬件隔离的,运行在虚拟机(客体机)中的程序不直 阅读全文
posted @ 2019-08-11 20:50 東籬老農 阅读(424) 评论(0) 推荐(0)
摘要:从软件危机讲到软件过程。 阅读全文
posted @ 2019-08-11 20:14 東籬老農 阅读(388) 评论(0) 推荐(0)
摘要:从虚拟机讲到 Kubernetes 架构 阅读全文
posted @ 2019-08-11 13:54 東籬老農 阅读(369) 评论(0) 推荐(0)
摘要:快速安装 配置主题 从官网中可以预览各种主题,见 https://github.com/robbyrussell/oh my zsh/wiki/Themes。配置主题只需按一下步骤: 禁止粘贴命令时自动对特殊字符进行转义 (1)编辑 文件 (2)注释掉 解决中文乱码 在 添加 然后执行 更换系统默认 阅读全文
posted @ 2019-08-11 13:30 東籬老農 阅读(395) 评论(0) 推荐(0)
摘要:Vim 剪贴板如何与系统剪贴板交互? 把选中内容拷贝到”+号剪贴板,即系统剪贴板。 把系统剪贴板的内容粘贴到vim。 Vim 中的剪贴板历史可以使用 进行罗列,并配合以上操作进行粘贴。 如何连接两行文字? 在 Vim 中你可以把两行连起来这意味着删除两行间的换行符。"J" 命令用于完成这个 功能。 阅读全文
posted @ 2019-08-11 13:29 東籬老農 阅读(245) 评论(1) 推荐(0)
摘要:排错 fix broken package 参考: "Ubuntu fix broken package (best solution)" 阅读全文
posted @ 2019-08-11 13:28 東籬老農 阅读(148) 评论(0) 推荐(0)
摘要:在表格中输入管道符(|) 管道符与表格分隔字段用的相冲突,会导致表格显示不正常,解决方案是:使用 代替 。 阅读全文
posted @ 2019-08-11 13:27 東籬老農 阅读(163) 评论(0) 推荐(0)
摘要:SSH 背景 解决的问题:明文登录信息暴露问题。 历史: 1. 1995 年,芬兰赫尔辛基理工大学的 Tatu Ylonen 发现自己学校存在嗅探密码的网络攻击,于是开发了 SSH ( Secure Shell )通信安全协议,用于加密登录,并随后以免费软件形式发布,并创办 SSH 通信安全公司来继 阅读全文
posted @ 2019-08-11 13:27 東籬老農 阅读(254) 评论(0) 推荐(0)
摘要:本帖记录个人在使用 Mac 操作系统上的一些骚操作,不断更新,以飨读者。 快速移动网页到顶部或底部 用双指上下划触摸板吗?NO,我们有更骚的操作: 回到顶部 滚到底部 另外, 上滚一页 下滚一页 Home,回到顶部 End,滚到底部 粘贴文字时不要带样式 有时候从网上看到不错的文字想要粘贴到 Wor 阅读全文
posted @ 2019-08-11 13:26 東籬老農 阅读(1309) 评论(2) 推荐(0)
摘要:SET 命令 用途: 可以设置 shell 的执行方式,不带参数时输出环境变量。 注: 1. [ ] 表示设置参数 2. [+] 表示取消设置参数 示例: SSH 命令 用途: 连接远程计算机。 注: 1. [ p] 指定端口号,默认为 22 2. [remote cmd] 远程执行命令并显示到本地 阅读全文
posted @ 2019-08-11 13:25 東籬老農 阅读(668) 评论(0) 推荐(0)
摘要:JConsole 是干嘛的? JConsole 是 目录下的一个可执行程序,用于 Java 性能分析,其 GUI 虽简陋,但功能还是可以的。 快速开始 在终端运行以下命令后就可以监控本地的 Java 程序了。 更进一步 参考 1. "Using JConsole oracle.com" 阅读全文
posted @ 2019-08-11 13:24 東籬老農 阅读(187) 评论(0) 推荐(0)
摘要:查看某个类的 javadoc 的快捷键? 在该类旁边敲击 。 按日志级别显示不同颜色并可自定义过滤规则 安装插件 ,并自定义颜色。 代码编辑窗口显示多行的 TAB 打开 Settings(Windows and Linux ) 或者 Preferences(macOS)搜索并进入 Editor Ta 阅读全文
posted @ 2019-08-11 13:22 東籬老農 阅读(138) 评论(0) 推荐(0)
摘要:Q&A Gradle 中的 ext 究竟是什么? gradle 中我们使用 定义额外的各种属性,可是 究竟是什么呢? 参看 "ExtraPropertiesExtension Gradle DSL" ,发现 不是 Groovy 固有的定义,而是领域特定的语言(DSL)。使用方式是: 实质上是一个内置 阅读全文
posted @ 2019-08-11 13:21 東籬老農 阅读(214) 评论(0) 推荐(0)
摘要:配置Github环境 安装Git 参见 "Git 官网" 配置ssh key 1. 检查ssh key的设置 2. 生成新ssh key 3. 添加ssh key到Github 登陆Github Account Settings SSH Public keys add another public 阅读全文
posted @ 2019-08-11 13:20 東籬老農 阅读(204) 评论(0) 推荐(0)
摘要:如何给类图增加一个字段? 选中一个字段,然后按 即可。 参考: "Add row to class diagram stackoverflow" 阅读全文
posted @ 2019-08-11 13:18 東籬老農 阅读(250) 评论(0) 推荐(0)
摘要:入门 Git是什么? Git中译为混账,是Linus先生花了一个星期写的分布式版本控制系统(VCS,Version Control System),用于Linux内核的协同开发。所谓版本控制系统,个人理解就是可以保存文本文件的历史版本信息,并且可以回溯到某个历史版本的文本文件管理系统。它的设计就是为 阅读全文
posted @ 2019-08-11 13:18 東籬老農 阅读(830) 评论(0) 推荐(0)
摘要:Docker 是什么? "Docker" 是一种虚拟化的容器, 隔离了文件系统、网络互联和进程 等等,但比之传统的虚拟化技术,精简了内核和硬件的虚拟,容器内的应用进程直接运行在宿主内核。 安装 macOS (1)Homebrew 安装 (2)下载安装 "Docker.dmg 下载" Ubuntu 1 阅读全文
posted @ 2019-08-11 13:17 東籬老農 阅读(203) 评论(0) 推荐(0)
摘要:实用的 Alfred Workflow | Alfred Workflow | 介绍 | | | | | "alfred pkgman workflow" | 快速从各个软件仓库(maven, gradle 等等)中查找需要的软件包 | | "AlfredHanziSourceWorkflow" | 阅读全文
posted @ 2019-08-11 13:15 東籬老農 阅读(706) 评论(0) 推荐(0)
摘要:简介 Lambda 是 AWS 提供的一个无服务器架构的服务,用户只需要专注于写代码而不用关心部署,通常需要关心外部事件源,可以与 API Gateway, SNS, S3, DynamoDB 等等配合使用。 本质 简单粗暴地说,一个 Lambda 就是一个 Docker 服务或者 Firecrac 阅读全文
posted @ 2019-08-11 13:13 東籬老農 阅读(962) 评论(0) 推荐(0)
摘要:何为 XPath(Introduction) "维基百科" :XPath 即为 XML 路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。 XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。 所谓节点有七种,分别是: 元素(element) 阅读全文
posted @ 2019-08-11 13:12 東籬老農 阅读(276) 评论(0) 推荐(0)
摘要:WebMagic 是干嘛的? WebMagic 是一个 Java 平台上的开源爬虫框架,其设计参考了 Scrapy,实现则参考了 HttpClient 和 Jsoup。其由四大组件组成: 1. Downloader,负责下载网页,使用 HttpClient。 2. PageProcessor,负责解 阅读全文
posted @ 2019-08-11 13:11 東籬老農 阅读(743) 评论(0) 推荐(0)
摘要:安装 Selenium (1)Java 编程环境下 针对 Gradle 针对 Maven (2)Python 编程环境下 安装和配置 Driver 下载 Driver 不同的操作系统和浏览器有不同的 Driver 需根据需求选取: Chrome "driver" Edge "driver" Fire 阅读全文
posted @ 2019-08-11 13:10 東籬老農 阅读(201) 评论(0) 推荐(0)
摘要:安装 Linux + Docker 快速开始 Splash HTTP API 请求方式 1. GET,将参数转为 URL 参数; 2. POST,将参数编码为 JSON 格式并使用 请求体。 获取 Cookie 的 Lua 脚本 部署到生产环境 1. 作为守护进程启动; 2. 奔溃重启; 3. 控制 阅读全文
posted @ 2019-08-11 13:10 東籬老農 阅读(355) 评论(0) 推荐(0)
摘要:代理是一种提供客户端与服务器进行非直接链接的服务。提供代理服务的服务器称之为 代理服务器 (Proxy Server)。而持有资源实体的服务器称之为 源服务器 。 代理服务器分类 按代理协议 HTTP 代理:应用层协议代理,支持访问未加密站点 SOCKS 4/5 代理:会话层协议代理,SOCKS 5 阅读全文
posted @ 2019-08-11 13:09 東籬老農 阅读(402) 评论(0) 推荐(0)
摘要:概要 JSONPath,XPath for JSON,是仿造 XPath 进行 JSON 定位的一套语法。 基本语法 | XPath | JSONPath | Description | | | | | | / | $ | 根对象或元素 | | . | @ | 当前对象或元素 | | / | . o 阅读全文
posted @ 2019-08-11 13:07 東籬老農 阅读(154) 评论(0) 推荐(0)
摘要:Python 版本管理器:pyenv zsh 配置 使用 Python 包管理器:pip 安装 在 Python2 = 2.7.9 或者 Python3 =3.4 时,默认已经安装了 pip 了。 使用 注意: 同时使用 Python2 和 Python3 时,使用下述方式: 阅读全文
posted @ 2019-08-11 12:56 東籬老農 阅读(234) 评论(0) 推荐(0)
摘要:修改 CentOS 默认 yum 源为 mirrors.163.com 1. 首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS Base.repo 2. 进入yum源配置文件所在的文件夹 3. 下载163的yum源配置文件到上面那个文件夹内 shell wget htt 阅读全文
posted @ 2019-08-11 12:55 東籬老農 阅读(3378) 评论(0) 推荐(0)
摘要:安装 使用 nvm 安装(可以自由切换 node 版本) (1)下载并执行安装脚本 (2)下载并使用指定版本的 node.js (3)卸载指定版本的 node.js 异步编程 callback promise async/await 排错 /usr/bin/env: node: No such fi 阅读全文
posted @ 2019-08-11 12:54 東籬老農 阅读(170) 评论(0) 推荐(0)
摘要:端口的概念 端口有两种含义需要仔细区分: 1. 物理端口,指用于连接其他网络设备的接口,比如 RJ 45端口; 2. 协议端口,指 TCP/IP 协议中的定义的逻辑端口,用于标识,比如 80 端口。 协议端口 TCP/IP 协议中的协议端口用于解决远程主机进程定位的问题。 才能真正定位想要访问的远程 阅读全文
posted @ 2019-08-11 12:53 東籬老農 阅读(182) 评论(0) 推荐(0)
摘要:CSV 是什么格式? CSV,全称 Comma Separated Value,即逗号分隔值,使用逗号(或者自定义的分隔符)分隔并以纯文本形式存储表格数据。通常使用第一行作为表头。 快速开始 (1)打开编辑器,粘贴以下内容。 (2) 存储为 结尾的文件。 (3)使用 Excel 或者 Number 阅读全文
posted @ 2019-08-11 12:46 東籬老農 阅读(391) 评论(0) 推荐(0)
摘要:1. time 2. streams 3. try with resources 4. 函数扩展,给types、classes或者interfaces新增方法 5. null safe 6. 不需要new,后缀声明类型 7. 自动转换有getters和setters综合属性的类型,例如自动替换get 阅读全文
posted @ 2019-08-11 12:01 東籬老農 阅读(376) 评论(0) 推荐(0)
摘要:Quartz 是什么? "Quartz" 是一款 Java 平台上开源的任务调度器。 快速开始 (1)引入依赖 (2)初始化 (3)新建一个 Job (4)调度一个 Job CronTrigger Quartz 的 Cron 表达式不同于 Linux 系统上使用的 Cron 表达式。区别如下: 是的 阅读全文
posted @ 2019-08-11 11:55 東籬老農 阅读(161) 评论(0) 推荐(0)
摘要:用途 快速集成 MongoDB,不用写一行 MongoDB 的 CRUD 语句。而是使用 Spring Data 独有的方法命名方式定义数据库操作,并且可以方便地替换各种数据库,比如 MySQL。 快速开始 (0)开始之前 确保已有可连接的 MongoDB (1)依赖引入 在 中添加如下依赖。 (2 阅读全文
posted @ 2019-08-11 11:54 東籬老農 阅读(615) 评论(0) 推荐(0)
摘要:用途 特性 1. 支持自由替换 Hibernate, EclipseLink, OpenJpa。 快速开始 依赖引入 阅读全文
posted @ 2019-08-11 11:53 東籬老農 阅读(119) 评论(0) 推荐(0)
摘要:安装 mac下安装mysql 5.7,参考:https://gist.github.com/operatino/392614486ce4421063b9dece4dfe6c21 brew info mysql@5.7 brew install mysql@5.7 brew tap homebrew/ 阅读全文
posted @ 2019-08-11 11:52 東籬老農 阅读(152) 评论(0) 推荐(0)
摘要:MyBatis 是干嘛的? MyBatis 是一个 SQL 映射框架,它通过 XML 描述符或者注解将对象与 关系型数据库 的存储过程或 SQL 语句关联起来。 特性 缓存 1. 支持声明式数据缓存; 2. 提供基于 HashMap 的默认缓存实现; 3. 提供 API 供其他缓存实现。 使用 单独 阅读全文
posted @ 2019-08-11 11:51 東籬老農 阅读(160) 评论(0) 推荐(0)
摘要:MongoDB 是一款开源的面向文档的数据库(document database), NoSQL 中一种,同样使用文档存储实现 NoSQL 的 DB 还有 MarkLogic、OrientDB、CouchDB 等等。 安装 Mac 用户可以直接使用 Homebrew 安装,命令如下: sudo br 阅读全文
posted @ 2019-08-11 11:51 東籬老農 阅读(1010) 评论(0) 推荐(0)
摘要:JPA 是干嘛的? JPA(Java Persistence API,Java 持久化 API),是一组 ORM(Object Relational Mapping,对象关系映射)规范。所谓持久化,包含三层意思: 1. API 本身,定义在 包下; 2. JPQL(Java Persistence 阅读全文
posted @ 2019-08-11 11:48 東籬老農 阅读(181) 评论(0) 推荐(0)
摘要:JDBC 是干什么的? 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如 查询和更新 数据库中数据的方法。JDBC 是面向 关系型数据库 的。 JPA 与 JDBC 的异同? (1)相同点 都是面向关系型数据库的; 都具备查询保存数据的能力。 (2)不同点 JPA 是 阅读全文
posted @ 2019-08-11 11:47 東籬老農 阅读(191) 评论(0) 推荐(0)
摘要:为什么要使用 Spring Cache 管理缓存? 让 Spring 来管理 Bean 的缓存具有以下优势: 1. Spring 支持 HashMap 缓存,Redis 缓存以及自定义的缓存方式; 2. Spring 缓存几乎不需要写代码,只需要配置好并声明好注解。 快速开始 (1)依赖引入 这里使 阅读全文
posted @ 2019-08-11 11:43 東籬老農 阅读(490) 评论(0) 推荐(0)
摘要:Guava Cache 是做什么的? 内存缓存,类似于 ConcurrentMap,支持自动缓存、缓存回收和缓存移除回调。 两种加载方式 使用CacheLoader 当有默认的加载或计算方式使用该方式。示例如下: 使用 Callable 当没有默认加载运算,或者想要覆盖默认的加载运算,同时保留 “获 阅读全文
posted @ 2019-08-11 11:42 東籬老農 阅读(137) 评论(0) 推荐(0)
摘要:简述 1. 推出时间:从Maven仓库的时间看是2016.7.28 2. 目的:摆脱大量的XML配置文件以及复杂的Bean依赖关系,快速、敏捷地开发新一代基于Spring框架的应用程序 3. 思想:约定优于配置(convention over configuration) 4. 框架功能:集成大量常 阅读全文
posted @ 2019-08-11 11:40 東籬老農 阅读(151) 评论(0) 推荐(0)
摘要:Tomcat 安装 1. 从官网下载压缩包,放入程序安装的路径,需要的话设置下环境变量和Catalina_home, 2. mac下可以通过homebrew安装,命令为: 安装完成后,提示信息为: Catalina是一个servlet容器,用于处理servlet。Tomcat的核心由三部分组成: | 阅读全文
posted @ 2019-08-11 11:40 東籬老農 阅读(153) 评论(0) 推荐(0)
摘要:概述 轻量级控制反转和面向切面的容器框架。 功能: 1. 使用基本的JavaBean代替EJB(Enterprise JavaBean) 优点: 1. 低侵入性 2. 高服用性 3. DI有效降低耦合度 4. AOP提供了通用任务的集中管理 5. ORM(对象实体映射)和DAO简化对数据库的访问 6 阅读全文
posted @ 2019-08-11 11:39 東籬老農 阅读(162) 评论(0) 推荐(0)
摘要:安装 (1)Mac HomeBrew (2)按部就班 命令行使用 启动 Redis Server 进入 Redis 命令行 (1)本地连接 (2)远程连接 取键相关命令 字符串取值相关命令 注意:对有标点符号的 key,要用双引号(“”)包裹,否则会返回 。比如使用 Spring Cache + R 阅读全文
posted @ 2019-08-11 11:36 東籬老農 阅读(264) 评论(0) 推荐(0)
摘要:概念(NIO vs BIO) NIO, Non blocking I/O, 非阻塞式 I/O 模型。也可以解释为 New I/O, 区别于旧的阻塞式 I/O 模型(BIO)。 BIO 与 NIO 的区别如下: | 类别 | I/O 方式 | 最低可用的 JDK 版本 | | | | | | BIO 阅读全文
posted @ 2019-08-11 11:33 東籬老農 阅读(188) 评论(0) 推荐(0)
摘要:Maven 项目管理工具 构建项目(Builds) 依赖管理(Dependencies) 配置管理(SCMs) 发布管理(Release) 文档编制(Documentation) 报告(Reporting) 特点: 微内核(只解析XML,其他由Maven插件处理) 约定优于配置 定义项目模型 安装: 阅读全文
posted @ 2019-08-11 11:28 東籬老農 阅读(137) 评论(0) 推荐(0)
摘要:Logback 是什么? Logback 是一个 Java 平台上的日志框架,是 log4j 的加强版本,目前分为以下模块: 1. logback core,放置为下面两个模块服务的基础代码; 2. logback classic,log4j 的加强版本,实现了 SLF4J API,以便于切换其他日 阅读全文
posted @ 2019-08-11 11:26 東籬老農 阅读(172) 评论(0) 推荐(0)
摘要:JSP JavaServer Pages,是一门脚本语言,用于动态生成HTML、XML等。可以混合Java进行编程。 运行于JSP容器中,流行的有Tomcat、Jetty。 JSP的解析过程:JSP — Servlet SUN公司的历史 全称:Stanford University Network 阅读全文
posted @ 2019-08-11 11:25 東籬老農 阅读(156) 评论(0) 推荐(0)
摘要:概念 Kafka 是一个快速、可扩展和高可用的基于发布 订阅模式(pub sub model)的消息系统,用作消息中间件,在系统之间传递消息。其核心概念有: Topic(话题) Producer(生产者) Consumer(消费者) Broker(经纪人) 在 Kafka 中,所有的消息都由 Top 阅读全文
posted @ 2019-08-11 11:25 東籬老農 阅读(319) 评论(0) 推荐(0)
摘要:安装 JDK 环境 在 Mac 下 What is the Limit to the Number of Threads You Can Create? The time it takes to create a thread increases as you create more thread. 阅读全文
posted @ 2019-08-11 11:24 東籬老農 阅读(128) 评论(0) 推荐(0)
摘要:使用初始化配置 (1)场景 当需要所有的 gradle 项目都进行同样的配置时。 (2)过程 1. 在 目录创建名为 的文本文件; 2. 在 编写初始化脚本。 (3)案例:配置自建的 Maven 私有服务器 排错 "Can't execute jar file: “no main manifest 阅读全文
posted @ 2019-08-11 11:16 東籬老農 阅读(292) 评论(0) 推荐(0)
摘要:etcd 是什么?(What is etcd) etcd 是一个一致的分布式可靠的键值存储技术。可被用来做配置共享和服务发现。 开发语言:Go 共识算法: "Raft" 命名来源:表示分布式的 目录,发音为 。 使用的端口:2.0 后,使用 2379 作为外部客户端通信,使用 2380 作为内部服务 阅读全文
posted @ 2019-08-11 11:14 東籬老農 阅读(560) 评论(0) 推荐(0)
摘要:背景 后台基本使用 Amazon 的全家桶(EC2、DynamoDB、S3、Step Fuction 等等)构建。现在需要根据访问者的 IP 确定访问者的国家或地区。 已知: 1. 访问者 IP 2. 一个 "ipdata.csv" 文件,已放置在 S3 的桶 中,格式如下 | ip_from | 阅读全文
posted @ 2019-08-11 11:13 東籬老農 阅读(777) 评论(0) 推荐(0)
摘要:基本概念 1. Table (表),与其他数据库的表的概念一致,即为数据的集合。 2. Items (数据项),代表一行数据。 3. Attributes (属性),一个数据项可由多个属性构成,一个属性由属性名、属性值类型和属性值构成。 4. Partition Key (分区键),即是最简单的主键 阅读全文
posted @ 2019-08-11 11:12 東籬老農 阅读(1723) 评论(0) 推荐(0)
摘要:配置 access key 清除配置的 access key(clear the credentials in aws configure) 阅读全文
posted @ 2019-08-11 11:11 東籬老農 阅读(190) 评论(0) 推荐(0)
摘要:Amazon S3 是什么? Amazon S3 是亚马逊推出的一款存储服务,名为 Amazon Simple Storage Service,即亚马逊简单存储服务。 有些 S3 的概念需要了解一下: 1. 存储桶(Buckets):S3 中用于存储对象的容器,相当于文件系统中的目录(Directo 阅读全文
posted @ 2019-08-11 11:09 東籬老農 阅读(644) 评论(0) 推荐(0)
摘要:解决的问题 解决并发效率问题,将任务拆分成流水线,然后多线程并发执行,比之单线程执行快。 案例 CPU 流水线 Tomcat 容器 Structs 阅读全文
posted @ 2019-08-11 11:08 東籬老農 阅读(361) 评论(0) 推荐(0)
摘要:注意 1. API 版本号放入到 URL 中; 2. 更新信息时仅返回被更新的字段。 参考 1. "RESTful API 设计指南 ruanyifeng.com" 2. "RESTful API Design. Best Practices in a Nutshell. philipphauer. 阅读全文
posted @ 2019-08-11 11:07 東籬老農 阅读(134) 评论(0) 推荐(0)
摘要:策略模式(Strategy Pattern) (1)适用场景 当解决问题的方法有多种方式,需要可替换时。 (2)核心 使用组合,封装成一个个算法,即是策略。 (3)类图 抽象工厂模式(Abstract Factory Pattern) (1)适用场景 1. 产品有 不同的提供商 ,不同的提供商提供不 阅读全文
posted @ 2019-08-11 11:06 東籬老農 阅读(172) 评论(0) 推荐(0)
摘要:概念 什么是 WebHook? WebHook,网络钩子,就是一个 HTTP 回调,一个简单的基于 HTTP POST 的事件通知。 WebHook 这个词是由杰夫·林德赛(Jeff Lindsay)于 2007 年首次提出,创意来自编程术语 “Hook”。 WebHook 能干嘛? 1. 推送(P 阅读全文
posted @ 2019-08-11 11:03 東籬老農 阅读(3297) 评论(0) 推荐(0)
摘要:NAS, Network Attached Storage, 网络附属存储, 简单来说就是连接在网络上, 可以存储资料的装置。可以用来做私有网盘,同步各种设备的照片、视频、音频和文件。 常见的 NAS 硬件有: 群晖 / 威联通 惠普 ProLiant MicroServer Acer Altos 阅读全文
posted @ 2019-08-11 11:02 東籬老農 阅读(250) 评论(0) 推荐(0)
摘要:概述 进程:程序的一次运行,操作系统分配内存资源和调度的基本的单位;有独立的内存地址;一个程序至少有一个进程; 线程:最小的执行单元,CPU 调度的单位;由线程ID、程序计数器、寄存器集合和栈组成;一个进程至少有一个线程,多个线程之间共享一段内存,且可并发执行 进程状态 就绪 执行 阻塞 线程间共享 阅读全文
posted @ 2019-08-11 10:58 東籬老農 阅读(144) 评论(0) 推荐(0)
摘要:在代码设计字段时我们经常会碰到需要加状态字段的场景。状态即此刻的情况、形态。从一个状态到另个状态是质变,而质变是由量变累积而成,譬如年老的状态,是时间累积、内分泌系统渐衰,而从年轻到年老的质变。代码中的状态字段亦复如是。 原子任务 的状态转移是单一操作的,该任务只有 TODO 和 DONE 两种状态 阅读全文
posted @ 2019-08-11 10:57 東籬老農 阅读(360) 评论(0) 推荐(0)
摘要:什么是服务发现? 服务发现,Service Discovery,是 一项提供服务发布和查找的服务 ,其实质就是 键值存储 ,通过键(Key,在当前语境应是服务名)找到值(Value,在当前语境是服务)。DNS 就是一个简单的例子,人们或其他服务使用域名向 DNS 请求 IP 地址,Key 就是域名, 阅读全文
posted @ 2019-08-11 10:56 東籬老農 阅读(281) 评论(0) 推荐(0)
摘要:分布式与集群的区别(Distributed vs Cluster) 分布式:一个业务分拆多个子业务,部署在不同的服务器上。 集群:同一个业务,部署在多个服务器上。 — "分布式与集群的区别是什么? 知乎用户的回答 知乎" 阅读全文
posted @ 2019-08-11 10:55 東籬老農 阅读(165) 评论(0) 推荐(0)
摘要:概念 FSM, Finite State Machine 有限状态机,是一种数学计算模型,在任意给定的时刻只会存在在给定的有限状态中的一个。FSM 会在特定的外部输入条件下发生从一个状态到另一状态的改变,这个过程叫状态转移(transition)。 一个 FSM 由以下部分构成: 状态表(a lis 阅读全文
posted @ 2019-08-11 10:52 東籬老農 阅读(814) 评论(0) 推荐(0)
摘要:目的 在于将可以重复使用的轮子共用,避免重复造轮子,从而提高生产力。 一般性规则 1. 避免重复造轮子 如果已有思路类似的轮子,请完善之而不是另起炉灶,除非对方的代码已经不堪维护。 2. 谨慎设计 API 规范化类和方法的命名,注意多参函数参数的位置,过时的 API 使用 注解。 3. 避免引入其他 阅读全文
posted @ 2019-08-11 10:33 東籬老農 阅读(163) 评论(0) 推荐(0)
摘要:// https://www.guardsquare.com/en/products/proguard/manual/usage File filters Like general "filters" , a file filter is a comma separated list of file 阅读全文
posted @ 2019-08-11 10:29 東籬老農 阅读(1575) 评论(0) 推荐(0)
摘要:需求 有这样一个列表数据,它包含了商店+订单的信息,获取订单列表时,订单实体中会包含商店的 ID,而列表显示时需要商店的名称和 logo,这时候就需要进行嵌套串行网络请求了。 关键词 、 、 、`RxJava` 动手 (1)使用 Retrofit 定义网络接口 (2)使用 DataManager 管 阅读全文
posted @ 2019-08-11 10:29 東籬老農 阅读(4132) 评论(0) 推荐(0)
摘要:在 app 的 中引入依赖时发现如下错误: 简单的说就是引入了两种版本的 Android Support Library,这种情形该如何处理呢? 1. 统一管理支持包的版本号; 2. 剔除第三方库中包含的支持包,并引入版本一致的支持包。 具体如下: 通常在我们引入了众多依赖的情况下,我们并不知道引入 阅读全文
posted @ 2019-08-11 10:29 東籬老農 阅读(4179) 评论(0) 推荐(0)
摘要:背景 MVP 模式下使用 RxJava 处理网络访问的回调,当数据返回时 Presenter 调用绑定的 View 的方法。 定义 BasePresenter 如下: 定义 MvpView 如下: 举一个具体的实现,有记录页为 RecordActivity,定义如下: RecordMvpView 定 阅读全文
posted @ 2019-08-11 10:28 東籬老農 阅读(631) 评论(0) 推荐(0)
摘要:1. 去除启动黑屏 1.1 在 中定义两种主题: 1.2 在 中设置MainActivity的主题为 1.3 在 的`onCreate`调用super的方法之前设置回原先的主题 2. 分析启动卡顿 阅读全文
posted @ 2019-08-11 10:28 東籬老農 阅读(202) 评论(0) 推荐(0)
摘要:背景 1. 会每次刷新整个布局; 2. 每次手动调用 系列方法很麻烦; 3. 需要在新增的项目中跟旧的列表项重复时,只更新内容,而不是插入重复项。 DiffUtil 就是为了简化 RecyclerVeiw 更新数据操作而生。其关键类和方法如下: | 类 | 方法 | 描述 | | | | | | D 阅读全文
posted @ 2019-08-11 10:28 東籬老農 阅读(1726) 评论(0) 推荐(0)
摘要:包含软件工程、网络工程、操作系统、效率工具和人工智能方面的总结与思考。 阅读全文
posted @ 2019-08-11 10:25 東籬老農 阅读(185) 评论(0) 推荐(0)