Spring Cloud Alibaba 环境搭建
微服务概述微服务(Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块(Small Building Blocks)为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic)的API集相互通信。 简单来说,就是将一整套服务流程拆分成更小的模块,每个模块各司其职。各个模块之间通过 HTTP API 进行通信。 Spring Cloud 概述Spring Cloud 为开发者提供了工具来快速构建分布式系统中的一些常见模式(例如配置管理、服务注册与发现、熔断器、智能路由等)。Spring Cloud 可以使开发人员更快速地开发实现这些模式的服务和应用程序。它们在任何分布式环境中都能很好地工作,包括开发人员自己的笔记本电脑、裸机数据中心以及 Cloud Foundry 等托管平台。 简单来说,Spring Cloud 是 Spring 为微服务架构提供的一整套的解决方案。而 Spring Cloud Alibaba...
什么是RSS?什么是Feed?它们有什么关系?
什么是RSS?RSS(英文全称:RDF Site Summary 或 Really Simple Syndication),可以翻译为“简易信息聚合”或“聚合内容”,是一种消息来源格式规范,用以聚合多个网站更新的内容并自动通知网站订阅者。将文章标题、摘要、内容按照用户需求推送给用户便是RSS的目的。 RSS 的第一个版本为 RDF Site Summary,在1999年三月由美国网景公司的 Guha 为了用在My.Netscape.Com 门户网站而开发。在 Netscape 放弃该标准后,软件制造商 UserLand 开始着手开发。随着 2002 年 RSS 2.0.1 规范的发布,UserLand 冻结了该标准并将版权转让给哈佛大学的伯克曼互联网与社会中心。Web社区对进一步发展的渴望导致了另一种称为 Atom 的联合标准的创建。 总结:RSS 和 Atom 其实就是一种提供消息来源的格式规范。Atom 是在 RSS 的基础上发展而来的,弥补了 RSS 的一些不足。他们本质上都是供机器阅读的 xml 文件,订阅者可以通过 RSS...
Docker基本使用
什么是 docker作为一个开源的应用容器引擎,docker主要用于开发和运行应用。docker容器和虚拟机有些类似,但二者在原理上不同。容器是将操作系统层虚拟化,而虚拟机则是虚拟化硬件。因此容器相较于虚拟机来说更加便携、轻量以及高效。 所以我们可以简单的将docker容器理解为一个轻量版的虚拟机。在docker之上我们可以高效地运行各式各样的应用,应用之间相互独立而又可以互相协调。 docker组成 其中,容器和镜像的概念一定要分清。他俩的关系就像是Java中的类与对象。镜像是一个只读模板,用于指示创建容器,而容器是镜像的可运行实例。一个镜像也可以创建很多个容器,这些容器可以相互独立运行。 Docker注册中心(Docker registry)也被称为Docker仓库,主要用于存储docker镜像。Docker Hub是一个公共的注册中心,任何人都可以在此处下载镜像。 docker基本常用命令镜像相关 检索镜像 1docker search [关键字] 获取镜像(默认从Docker Hub下载) 1docker pull [选项] [Docker...
TensorFlow启用GPU加速
前言据官网介绍,对于 tensorflow1.15 及更早版本,CPU和GPU软件包是分开的。 12pip install tensorflow==1.15 # CPUpip install tensorflow-gpu==1.15 # GPU 而之后的版本,我们可以直接在CPU版本的基础上开启GPU加速。 参考:GPU支持 | TensorFlow (tensorflow官方网站,国内访问可能较慢) 安装TensorFlow最新版1pip install tensorflow 如果嫌弃安装速度太慢,也可以使用国内豆瓣源 1pip install tensorflow -i https://pypi.doubanio.com/simple/ 启用GPU加速前提 硬件要求 支持以下带有 GPU 的设备: CUDA® 架构为 3.5、5.0、6.0、7.0、7.5、8.0 或更高的 NVIDIA® GPU 卡。请参阅支持 CUDA® 的 GPU 卡列表。 如果 GPU 采用的 CUDA® 架构不受支持,或为了避免从 PTX 进行 JIT...
如何进行内网穿透
什么是内网穿透百度百科:内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。 维基百科:在电脑科学中,NAT穿越(NAT traversal)涉及 TCP/IP 网络中的一个常见问题,即在处于使用了NAT装置的私有 TCP/IP 网络中的主机之间建立连接的问题。 我的理解:内网穿透其实就是把局域网内的资源或服务映射到公网,从而达到通过互联网访问内网的效果。 根据我的理解,可以做出如下图: 因为内网穿透服务器是暴露在互联网(公网)的,所以它必须拥有公网IP地址。用户服务器既可以是公司内部的服务器集群,也可以是PC个人电脑。 一些常见的内网穿透工具的使用Ngrok官方文档:https://ngrok.com/docs ngrok是一款非常便捷简单的内网穿透工具。内网穿透服务器由他们来提供,我们只需要指定要穿透的端口即可实现一键内网穿透 下载安装 从官方下载地址下载对应版本的ngrok 下载好后进行解压,会得到如下文件(先别急着运行) ...
Git基本使用
前言曾经稍微学习过一点git,对git稍微有一点认识,但也仅仅是知道他是干嘛的。本笔记主要用来记录一下git的常用命令和功能以及我的一些个人理解。 什么是git对于什么是git,官方文档是这样介绍它的:Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. 总结下来,git是一个可扩展的、分布式的版本控制系统。 安装gitwindowsLinux通过官方下载网站下载相应安装包正常安装,当鼠标右键出现Git Bash Here时即为安装成功对于Debian/Ubuntu等一些常见的Linux发行版,可以直接通过默认的包管理工具进行安装,参照官方Linux安装指南 也可以通过源码进行安装,源码安装方式如下: 在该镜像网站下载对应版本的git源码,然后./configure...
Butterfly常用标签外挂
前言我也是最近刚了解到Hexo的标签外挂,同时也觉得他很方便。于是想写一篇笔记记录一下它的基本语法,看了一些网上的教程,结果hexo g的时候控制台一阵爆红。果然,看教程还是看官方文档比较靠谱。 本文参考:標籤外掛(Tag Plugins) 什么是标签外挂?标签外挂也叫外挂标签,我的理解就是Hexo对于markdown的扩展语法(其实就是通过CSS代码修改文章特定语法的文字的样式),它是Hexo博客框架所独有的。通过使用标签外挂,可以让markdown语法具备更强的表达能力。一般不同的主题或者CSS样式提供的标签外挂语法也是不一样的。我这里介绍的主要是Butterfly主题所提供的标签外挂语法。 常用标签外挂语法分区标签tabs代码展示: 12345678910111213141516{% tabs Tags %}<!-- tab 标题1 -->内容1<!-- endtab --><!-- tab 标题2 -->内容2{% tabs Tags %}<!-- tab 标题2.1...
Jupyter设置代码自动补全
Jupyter Notebook是我们用Python进行数据分析和机器学习的不二之选,但是Jupyter Notebook默认是不带代码自动补全功能的,我们可以通过安装插件的方式使其具有这个功能 安装模块 打开 Anaconda Powershell Prompt (Anaconda) 输入pip install jupyter_contrib_nbextensions回车开始安装 注:此方法默认使用国外的源,如果出现安装失败,参考以下方法 方法一:使用阿里云的源pip install jupyter_contrib_nbextensions -i https://mirrors.aliyun.com/pypi/simple/ 方法二:使用conda包管理器conda install jupyter_contrib_nbextensions 配置 打开 Anaconda Powershell Prompt (Anaconda) (方法同上) 输入命令jupyter contrib nbextension install...
MyBatis-Plus 基本使用
简介MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere ) 内置代码生成器:采用代码或者 Maven...
MyBatis基本使用
1. 简介什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 2. 基本使用最惯常的使用步骤: 2.1. 在数据库中准备好相应的数据库、数据表等(以 book 表为例)123456789101112# 创建表CREATE TABLE book( id INT, bookName VARCHAR(50), price DOUBLE);# 稍微添加一些数据INSERT INTO book VALUES(1, "C语言程序设计", 10),(2, "Python程序设计", 20),(3, "Java程序设计", 30); 2.2. 新建一个 maven 项目,修改 pom.xml 文件 加入依赖...