自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 计算机网络基础知识

1. OSI七层协议物理层:主要解决两台物理机之间的通信,通过二进制比特流的传输来实现,二进制数据表现为电流电压上的强弱,到达目的地再转化为二进制机器码。网卡、集线器工作在这一层。数据链路层:在不可靠的物理介质上提供可靠的传输,接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路。提供物理地址寻址功能。交换机工作在这一层。网络层:将

2022-02-07 17:32:57 198

原创 MySQL基础知识

#### 1.数据库三大范式第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。数据库第二范式:关系模式必须满足第一范式,并且所有非主属性都是完全依赖于主码。注意,符合第二范式的关系模型可能还存在数据冗余、更新异常等问题。关系模型(学号,姓名,专业编号,专业名称)中,学号->姓名,而专业编码->专业名称,不满足数据库第二范式。数据库第三范式:关系模型满足第二范式,所有非主属性对任何候选关键字都不存在传递依赖。即每个属性都跟主键有直接

2021-11-29 08:48:20 1085

原创 排序算法简述与代码实现(java版)

一、冒泡排序冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6,3和4无需交换。5和3交换,变成3,5,4,8,6,3.这样一次冒泡就完了,把最小的数3排到最前面了。对剩下的序列依次冒泡就会得到一个有序序列。冒泡排序的时间复杂度为O(n^2)。实现代码:

2020-10-25 20:40:09 270 1

原创 PHP利用反射数组转类

一、简述这里使用反射类ReflectionClass,主要是解析类属性注释中的@var,支持对象和对象数组形式,满足了大部分的需求目前只对@var进行解析,在抽象类Attribute中预留对其他注释的解析,只需继承Attribute类,实现对应的initialize和invoke方法。二、代码Attribute类:抽象类,所有注释解析都需继承这个类,实现对应的方法<?phpnamespace App\Services\Reflection;abstract class Att

2020-10-19 17:23:13 286

转载 PHP实现3DES_ECB+ZEROPADDING加解密

这里使用openssl_encrypt函数,针对PHP7.1以上版本,其中3DES-ECB被包含于DES-EDE3密钥和密文都是十六进制,返回的结果也是十六进制本文参考了博客https://blog.csdn.net/longke173/article/details/83381104,在源博客进行修改,增加对密文进行ZEROPADDING(即不是8的倍数,补0到8的倍数),感谢博主提供此博文下面是代码<?phpclass Crypt3DesEcb{ public stat.

2020-10-12 11:50:28 868 1

原创 Kubernetes的Pod生命周期

一、Pod生命周期Pod对象自从创建开始至终止退出的时间范围称为生命周期,在这段时间中,Pod会处于多种不同的状态,并执行一些操作。其中,创建主容器为必须的操作,其他可选的操作包括运行初始化容器(init container)、容器启动后钩子(start hook)、容器的存活性探测(liveness probe)、就绪性探测(readiness probe)以及容器终止前钩子(pre stop hook)等,这些操作是否执行则取决于Pod的定义。以下是k8s的生命周期示意图:二、Init容器1、

2020-07-29 17:32:33 403

原创 tensorflow2.0 手写数字问题

数据集使用的数据集是fashion_mnist代码import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasets,layers,optimizers,Sequential,metricsimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'def preprocess(x, y): x = tf.cast(x, dtype

2020-07-11 20:19:28 209

原创 Kubernetes的资源清单

一、k8s中的资源1、什么是资源k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象2、名称空间级别工作负载型资源(workload):Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob服务发现及负载均衡型资源(ServiceDiscovery LoadBlance):Service、Ingress、…配置与存储型资源:Volume(存储卷)、CSI(容器存储接口,可以扩展各种各样的第三方存储卷)特殊类

2020-06-01 17:42:33 831

原创 Kubernetes集群安装和常用命令

一、系统初始化1.注意事项安装k8s的节点必须是大于1核心的CPU且内存2G以上系统采用centos7.0以上升级系统内核为 4.442.设置系统主机名以及 Host 文件的相互解析hostnamectl set-hostname k8s-master013.安装依赖包yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wgetvimnet-tools git

2020-05-27 13:46:28 301 1

原创 Kubernetes的网络

一、k8s网络设计每个pod都拥有一个独立IP地址,pod内所有容器共享一个网络命名空间集群内所有pod都在一个直接连通的扁平网络中,可通过IP直接访问(1)所有容器之间无需NAT就可以直接互相访问(2)所有Node和所有容器之间无需NAT就可以直接互相访问(3)容器自己看到的IP跟其他容器看到的一样二、k8s网络要求k8s的网络模型假定了所有pod都在一个可以直接连通的扁平网络空间中,这在GCE(Google Compute Engine)里面是现成的网络模型,k8s假定这个网络已经存在

2020-05-24 21:11:42 362

原创 Kubernetes的服务发现-Service

一、为什么需要服务发现在k8s集群中,应用是通过pod去部署,对于传统的应用部署在指定的物理机上,我们是只是物理机的ip,但是在k8s中,pod的生命周期是短暂的,在创建或者销毁后,其ip地址都会发生变化。我们知道应用服务最终都是要暴露给外部访问,pod的网络跟机器不是同一个段网络,这就需要服务发现pod暴露给外部访问。我们知道使用deployment方式来部署应用,可以创建多个副本,然后这些副本提供统一的访问入口,怎么去控制流量负载均衡到这个副本中。二、Service在k8s集群中,服务发现与负载

2020-05-16 20:37:10 1508

原创 Kubernetes的Pod

一、pod概念1. pod类型① 自主式pod:由yaml文件来创建的pod,也是pod自己去控制自己,防止pod备控制器杀死(一般很少用到)② 控制器管理的pod:由Kubernetes控制器管理的pod,controllers在集群上管理和运行pod对象,通过label-selector相关联,pod通过控制器实现应用运维,如伸缩,升级等2. pod控制类型① ReplicationController用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的p

2020-05-10 18:34:34 152

原创 PHP的self和static区别

在学PHP的面向对象中,我们经常都会遇到静态变量和静态方法,我们都知道使用在一个类中都可以使用self或者static来调用,但是两者还是有很明显的区别,下面来看两段代码就清楚了。<?php/** * self demo */class SelfDemo{ public static function model() { self::getModel(); } p...

2020-05-05 16:31:19 422

原创 Kubernetes集群和组件

一、知识图谱二、k8s集群Kubernetes(k8s)是Google使用Go语言编写的一个自动化ring器操作开源平台,包括部署,调度和节点集群间的扩展。高可用的集群副本数据最好是大于等于3个(奇数个,主要是原因使用了多节点选举模式)。下面k8s架构图只是强调核心概念有所简化。1.特点轻量级:消耗资源小开源弹性伸缩负载均衡:IPVS适合无状态服务(是指该服务运行的实例不会在本...

2020-05-05 16:28:14 277

原创 基于Alpine的PHP和Nginx镜像

基于Alpine的PHP和Nginx镜像镜像内容Alpine-3.10SupervisorRe2c-1.1.1ImageMagick-7.0.8Yaml-0.2.2Hiredis-0.14.0Libmemcached-1.0.18PHP-7.2.25PHP-Redis-5.0.0PHP-Memcached-3.1.3PHP-Igbinary-3.0.1PHP-Xdebu...

2020-03-04 09:29:22 2182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除