由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。
|
1 2 3 4 |
[root@VM_105_217_centos Python-3.6.2]# python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 Type "help", "copyright", "credits" or "license" for more information. |
输入Python命令,查看可以得知是Python2.7.5版本 输入
|
1 |
which python |
可以查看位置,一般是位于/usr/bin/python目录下。 下面介绍安装Python3的方法 首先安装依赖包
|
1 2 |
yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel |
然后根据自己需求下载不同版本的Python3,我下载的是Python3.6.2
|
1 |
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz |
如果速度不够快,可以直接去官网下载,利用WinSCP等软件传到服务器上指定位置,我的存放目录是/usr/local/python3,使用命令:
|
1 |
mkdir /usr/local/python3 |
建立一个空文件夹 然后解压压缩包,进入该目录,安装Python3
|
1 2 3 4 |
tar -xvJf Python-3.6.2.tar.xz cd Python-3.6.2 ./configure --prefix=/usr/local/python3 make && make install |
最后创建软链接
|
1 2 |
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 |
在命令行中输入python3测试 from:https://www.cnblogs.com/s-seven/p/9105973.html
View Details自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。 Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。 Trait 和 Class 相似,但仅仅旨在用细粒度和一致的方式来组合功能。 无法通过 trait 自身来实例化。它为传统继承增加了水平特性的组合;也就是说,应用的几个 Class 之间不需要继承。 Example #1 Trait 示例 <?php trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ } } class ezcReflectionMethod extends ReflectionMethod { use ezcReflectionReturnInfo; /* … */ } class ezcReflectionFunction extends ReflectionFunction { use ezcReflectionReturnInfo; /* … */ } ?> 优先级 从基类继承的成员会被 trait 插入的成员所覆盖。优先顺序是来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法。 Example #2 优先顺序示例 从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。其行为 MyHelloWorld 类中定义的方法一致。优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法。 <?php class Base { public function sayHello() { echo 'Hello '; } } trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; } } class MyHelloWorld extends Base { use SayWorld; } $o = new MyHelloWorld(); $o->sayHello(); ?> 以上例程会输出:
|
1 |
Hello World! |
Example […]
View Details注释在写代码的过程中非常重要,好的注释能让你的代码读起来更轻松,在写代码的时候一定要注意注释的规范。 php里面常见的几种注释方式: 1.文件头的注释,介绍文件名,功能以及作者版本号等信息
|
1 2 3 4 5 6 7 |
/** *文件名简单介绍 * *文件功能。 * @author alvin 作者 * @version 1.0 版本号 */ |
2.函数的注释,函数作用,参数介绍及返回类型
|
1 2 3 4 5 6 7 8 9 |
/** * 函数的含义说明 * * @access public * @param mixed $arg1 参数一的说明 * @param mixed $arg2 参数二的说明 * @param mixed $mixed 这是一个混合类型 * @return array 返回类型 */ |
3.类的注释,类名及介绍
|
1 2 3 4 5 6 7 |
/** * 类的介绍 * * 类的详细介绍(可选。)。 * @author alvin 作者 * @version 1.0 版本号 */ |
4.多行注释
|
1 2 |
/* php注释语法 这是多行注释。*/ |
5.单行注释
|
1 |
$n = 10; //数量n,这是单行注释 |
from:https://www.cnblogs.com/l5580/p/6065604.html
View Details首先需要进入wordpress后台,wordpress默认后台地址http://你的域名/wp-login.php 进入后台之后,鼠标移至左侧菜单栏"文章",点击"所有文章",如下图所示。 鼠标移动到需要置顶文章的标题上,点击"快速编辑",如果你还没有发布文章,请先点击文章上方的"写文章",如下图所示。 在快速编辑中,勾选右侧的"置顶这篇文章"前的框框,如下图所示。 当然别忘了点击【更新】,不然置顶是不会生效的。 文章标题后显示"置顶"二字,说明文章置顶成功,如下图所示。 进入网站前台刷新页面,发现文章置顶生效,如下图所示。 from:https://jingyan.baidu.com/article/851fbc37ba3d2b3e1f15ab08.html
View DetailsSpring Boot 系列文章:http://www.ityouknow.com/spring-boot.html Spring Cloud 系列文章:http://www.ityouknow.com/spring-cloud.html Spring Cloud 从入门到精通:https://blog.csdn.net/valada/article/details/80892573
View DetailsSpring Cloud由众多子项目组成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分布式系统及微服务常用的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等,满足了构建微服务所需的所有解决方案。 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config Eureka 2eur.png 一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。 Ribbon Ribbon,主要提供客户侧的软件负载均衡算法。 3ri.png Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略: 简单轮询负载均衡 加权响应时间负载均衡 区域感知轮询负载均衡 随机负载均衡 Ribbon中还包括以下功能: 易于与服务发现组件(比如Netflix的Eureka)集成 使用Archaius完成运行时配置 使用JMX暴露运维指标,使用Servo发布 多种可插拔的序列化选择 异步和批处理操作(即将推出) 自动SLA框架(即将推出) 系统管理/指标控制台(即将推出) Hystrix 41h.png 断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正,应用程序可以尝试调用操作。欢迎大家一起学习研究相关技术愿意了解源码的朋友直接求求交流分享技术:2147775633 42h.png 断路器增加了稳定性和灵活性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。它可以帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。如果断路器提高每次改变状态的时间的事件,该信息可以被用来监测由断路器保护系统的部件的健康状况,或以提醒管理员当断路器跳闸,以在打开状态。 43h.png 流程图 44h.png Zuul 51z.png 类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。 Spring Cloud Config 52z.png 这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。 更多详细源码参考来源:http://minglisoft.cn/honghu/technology.html 作者:IT小跑兵 链接:https://www.jianshu.com/p/02f3995001d0 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
View Details引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情。或者详细点,或者简单点。那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! 为什么使用Swagger作为REST APIs文档生成工具 Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。 Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。 Swagger 文件可以在许多不同的平台上从代码注释中自动生成。 Swagger 有一个强大的社区,里面有许多强悍的贡献者。 asp.net core中如何使用Swagger生成api说明文档呢 Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.NET Core Web API 的 Swagger 文档。 NSwag 是另一个用于将 Swagger UI 或 ReDoc 集成到 ASP.NET Core Web API 中的开源项目。 它提供了为 API 生成 C# 和 TypeScript 客户端代码的方法。 下面以Swashbuckle.AspNetCore为例为大家进行展示 Swashbuckle由哪些组成部分呢? Swashbuckle.AspNetCore.Swagger:将 SwaggerDocument 对象公开为 JSON 终结点的 Swagger 对象模型和中间件。 Swashbuckle.AspNetCore.SwaggerGen:从路由、控制器和模型直接生成 SwaggerDocument 对象的 Swagger 生成器。 它通常与 Swagger 终结点中间件结合,以自动公开 Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI 工具的嵌入式版本。 它解释 Swagger JSON 以构建描述 Web API 功能的可自定义的丰富体验。 它包括针对公共方法的内置测试工具。 如何使用vs2017安装Swashbuckle呢? 从“程序包管理器控制台”窗口进行安装 转到“视图” > “其他窗口” > “程序包管理器控制台” 导航到包含 TodoApi.csproj 文件的目录 请执行以下命令 ·Install-Package […]
View Details1 HSqlDB简介 HSQLDB是一款Java内置的数据库,非常适合在用于快速的测试和演示的Java程序中。(无需独立安装数据库) HSQLDB有三种模式: 1. Server 就像Mysql那样 2. In-Process 又叫做 Standalone 模式,数据放在本地文件,伴随JVM一起启动,是HSQLDB的主要应用场景 3. Memory-only, 仅仅在内存中,一旦重启,数据就消失。 2 客户端 2.1 运行HSQLDB_Client类中的main方法 其主方法调用了DatabaseManagerSwing的主方法 这回导致启动一个Swing做的客户端 2.2 创建数据库,账号和密码 填写连接参数 1. Setting Name:输入test 2. Type: 选择HSQL Database Engine Standalone 3. Driver: 使用默认的org.hsqldb.jdbcDriver 4. URL: 输入 Jdbc:hsqldb:file: D:/SoftWareInstall/HSqlDB/test 5. User: root 6: Password:root 第3步: 这是Standalone方式,对于同一个数据库,只能启动一次,不支持多进程连接同一个数据库,所以后续在写JAVA代码连接的时候,必须把这个客户端关闭掉才行。 第4步: Jdbc:hsqldb:file: D:/SoftWareInstall/HSqlDB/test会导致在D:/SoftWareInstall/HSqlDB目录下创建一个test数据库 第5,6步:会导致创建账号密码,以后再连接D:/SoftWareInstall/HSqlDB下的test数据库,就必须用这个账号密码了。 2.3 创建表 CREATE TABLE category ( id int NOT NULL GENERATED BY DEFAULT AS IDENTITY, name varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ; insert into category values (null,'水果'); insert into category values (null,'衣服'); insert into […]
View Details首先我们得下载一个druid-1.0.16.jar的包 其次键入命令 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools your_password 这时候会生成privatekey,publickey,以及password,相关的截图如下 注意1:如果使用的不是druid-1.0.16.jar可能只会生成一个password。 注意2:如果没配置好,可能会报一大推奇奇怪怪的错误,比如:org.springframework.beans.factory.BeanCreationException: Error creatingbean with name 'shiroFilter':…. 配置Druid解密数据库密码 jdbc.type=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/jesng?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=IVpkS/WvZQKLcm4+f7xlLFo5FzxGIj3O1br9TcvLlq2a17mmt0SWe9Qq1hyVKsnbsRdU6FKTItc6vVIF9RRpTw== jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKYBLQ067pCDwEfysD6rAIWZD4C2K7BO09NFYMmA+VD4i+28znGk9F3w3uCFp6vYf633rPJpx+hoHU/+9gBIewUCAwEAAQ== 配置Druid解密数据库密码的主要新增的两行配置。 1、<property name="connectionProperties" value="druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${jdbc.publickey}"/> 作用:配置ConfigFilter解密密码 ,注意出的publickey对应 2、<property name="filters" value="config" /> 作用:提示Druid数据源需要对数据库密码进行解密 from:https://www.cnblogs.com/xiaohu1218/p/7791986.html
View Details1.idea 初始配置的tomcat7,配置spring boot项目启动失败,单个controller都启动失败,原因是idea内置tomcat7,会失败 2.idea需要配置tomcat8.然后加载依赖关系 a. idea项目左上角,file-->project structure 配置依赖 b.点击libraries 右侧有一个加号点击然后添加 c.找到tomcat lib文件夹,依赖lib文件夹即可 from:https://blog.csdn.net/qq_33919114/article/details/79232774
View Details