WPF调用Winform Chart控件绘图 最近在研究WPF,需要用到类似Chart的控件来绘制折线图,横坐标自定义时间信息。先后研究了DynamicDataDisplay.ChartPlotter、Toolkit,因为WPF用的人太少了,这方面可以查到的资料太少了。DynamicDataDisplay.ChartPlotter虽然能实现横坐标显示时间,但是我想显示的是历史的时间信息,非当下时间,遂弃之。如果有知道的大神,可以提点...
WPF DataGrid 服务端排序 转载:http://www.kecq.com/artic-10322303.html以前做了一个数据客户端,不过是直接连数据库的,现在认为这种方式不太好,于是改成服务端RESTful API+客户端,数据处理都在服务端。在编写过程中遇到一些问题,因为之前没有采用分页,所以排序就用DataGrid默认的就行,但是现在需要在服务端分页了,就发现了一些问题,记录下来。 在XAML中有...
css伪类实现行号自动填充 css伪类实现行号自动填充大多数时候我们需要行号自动填充的时候我们可以 大多数时候是插入元素, 在元素里用js填入行号,或者用 ol > li 实现行号填充,对于上面的方式,都不太灵活,而且需要做额外的工作,现在我们用 css 伪类 的 content 属性来实现行号的自动填充主要使用了css 伪类的content: counter(step);HT...
Git学习之将不空的文件夹关联到远程仓库 昨天和今天在将“本地不空的文件夹关联到远程Git仓库”的时候遇到了很多瓶颈,主要方法一般都是在本地创建一个空的文件夹,然后“仓库化”再关联到远程仓库,或者是将远程仓库直接克隆到本地,下面说说将不空的文件夹关联到远程仓库的方法(因为我试了好多次,空的文件夹总是提交不了):1、下面是我空的文件夹提交的结果:2、不空文件关联到远程仓库:(1)在GitHub创建一个新...
HTML网页中放入图片 【绝对路径】比如,你的图片存放在D盘images目录里,名称是img.png。那么绝对路径应该是这样:D:\images\img.png。【相对路径】如果,你的html文件存放的位置跟图片一样,那么就直接表达:img.png。【子路径】那如果,你的html文件存放在D盘里,那么就是子路径了:images/img.png。【父路径】html文件存放在D盘里的images文件里的css文件中...
Linux常用命令(二十三) Linux中用户和用户组1、用户:使用操作系统的人2、用户组:具有相同系统权限的一组用户(1)/etc/group 存储当前系统中所有用户组信息 - Group : x : 123 : abc,def,xyz - 组名称 :组密码占位符:组编号:组中用户名列表(2)/etc/gshadow 存储当前系...
Linux常用命令(二十二) Linux中swap分区如何给硬盘添加swap交换分区?第一,建立一个普通的Linux分区第二,修改分区类型的16进制编码第三,格式化交换分区第四,启用交换分区在前面我们已经创建过磁盘分区了,可以用fdisk /dev/sdb;p两条命令来利用编辑分区查看磁盘分区类型编号Id,是83t:修改分区类型编号6:选择你需要修改的分区的编号,这里我们修...
HTML5之标签 1、<h1>这是一个标题</h1>,一共有6级标题2、<p>这是一个段落</p>3、<a href="www.baidu.com">这是一个链接</a>4、<img src="img/logo.png" width="285" height="39" />5、<br>、<...
Linux常用命令(二十一) Linux挂载分区在前面我们已经对磁盘进行分区和格式化,但是如果没有挂载磁盘,就无法往里面存储数据,下面就来说说挂载mkdir -p /mnt/imooc:系统默认的挂载目录是/mnt目录,如果我们想要挂载相应的磁盘,就可以在该目录下创建一个挂载点文件夹mount/dev/sda1 /mnt/imooc:mount后面跟挂载设备名和挂载点,挂载之后我们可以通过i...
Linux常用命令(二十四) Linux中用户和用户组的基本命令1、groupadd sexy:创建一个sexy用户组2、groupmod -n market sexy:将用户组sexy重命名为market3、groupmod -g 668 market:将market用户组的组编号设置为6684、groupmod -g 888 boss:创建一个组编号为888的boss组5、groupde...
Linux常用命令(十六) 通配符1、通配符通配符作用?匹配任意一个字符*匹配0个或任意多个任意字符,也就是匹配任意字符[]匹配中括号中任意一个字符[-]匹配中括号中任意一个字符,-代表一个范围。如果要匹配两个字符,可以是[-][-][^]逻辑非,表示匹配不是中括号内的一个字符...
Linux常用命令(二十) Linux中的分区格式化前面我们已经说过了磁盘分区的两种方法,现在就要对分好区的磁盘进行格式化ls -l /dev/sda*:查看当前的磁盘分区情况mkfs.ext3 /dev/sdb1:格式化文件,把文件系统类型指定为ext3mkfs -t ext4 /dev/sdb2:第二种格式化命令,把/dev/sdb2格式化为ext4文件类型小提示:1、使用m...
Linux常用命令(十七) VIM编辑器1、编辑一个文件内容: vim aaa(如果没有aa文件,就自动创建一个) i(点击i键,进入insert模式) esc(退出编辑模式) :wq(保存并退出)2、同时编辑多个文件: vim aa bb cc(如果没有文件就创建所有文件) :n(切换到下一个打开的文件) :N(切换到上一个打开的文件)...
Linux常用命令(十四) 输出重定向1、标准输入输出设备设备文件名文件描述符类型键盘/dev/stdin0标准输入显示器/dev/stdout1标准输出显示器/dev/stderr2标准错误输出2、输出重定向类型符号作用...
Linux常用命令(十五) 管道符1、多命令顺序执行多命令执行符格式作用;命令1;命令2多个命令顺序执行,命令之间没有任何逻辑联系&&命令1&&命令2逻辑与当命令1正确执行,命令2才会执行当命令2执行不正确,则命令2不会执行要么两个都执行,要么两个都不执行||命令1||命令2...
Linux常用命令(十三) 历史命令1、历史命令格式:history [选项] [历史命令保存文件]选项: -c:清空历史命令 -w:把缓存中的历史命令写入历史命令保存文件~/.bash_history格式:history2、修改记录的历史命令的数量文件:etc/profile中HISTSIZE可以修改历史命令保存的数量,默认是保存1000条3、历史命令的调...
Linux常用命令(十二) Shell基础三、Bash的基本功能1、命令别命与快捷键2、历史命令3、输出重定向4、多命令顺序执行5、Shell中特殊符号1、命令别与快捷键(1)alias:查看系统中命令的别名(2)alias 别名= '原命令':设定命令别名例如: ls='ls --color=auto':系统显示的时候的颜色是按照这个选项来显示的,我们可以...
实验吧之这就是一个坑 这个题的密码并没有爆出来,记录的是我的解题历程将题目的zip文件下载下来,用WinRAR打开,发现里面有两个文件,一个是flag.zip,一个是tips.txt,打开tips.txt一看,他已经提示强制爆破是不行的了:再打开flag.zip:既然打不开文件,爆破也不行,那就另想办法,不知大家有没有注意到我圈出来的两个tips.txt文件的CRC32,他俩长得都...
Linux常用命令(十一) Shell 概述二、Shell脚本执行方式1、echo [选项] [输出内容]:输出相应的内容 选项: -e:支持反斜线控制的字符转换 :输出警告音 \b:退格键,也就是向左删除键 :换行符 \r:回车键 \t:制表符,也就是Tab键 \v:垂直制表符 \0nnn:按照八进制ASCL...
Linux常用命令(十) Shell概述1、shell是什么(1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。(2)Shell还是一个功能相当强大的编程语言,易编写,易调试、灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令2、She...
Linux常用命令(九) 用户登陆查看1、w [可选参数:用户名]命令输出: USER:登陆的用户名; TTY:登陆终端; FROM:从哪个IP地址登陆; LOGIN@:登陆时间; IDLE:用户闲置时间; JCPU:指的是和该终端连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间; PCPU:是指当前...
Linux常用命令(七) 六、关机和重启命令1、关机命令格式:shutdown [选项] 时间选项: -c:取消前一个关机命令 -h:关机 -r:重启时间: now:现在马上关机2、其他关机命令(1)halt(2)poweroff(3)init 0注意,这三个命令最好别乱用,因为在关机的时候并不会像shutdown一样帮我们把文件保存。3...
Linux常用命令(八) 挂载命令1、mount:查看所有挂载的盘符2、mount -a:挂载所有的盘符,由于Linux开机就已经直接将所有的系统盘符挂载了,所以执行这条命令不会有什么效果3、mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点选项: -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660(默认的光盘挂载文件系统类型是...
Linux常用命令(六) 一、常用压缩格式1、常用压缩格式: .zip、.rar、.gz、.bz22、常用压缩格式:.tar.gz、.tar.bz2二、.zip格式压缩解压缩1、文件压缩:zip 压缩文件名 压缩文件2、目录压缩:zip -r 压缩文件名 压缩目录3、解压缩:unzip 压缩文件三、.gz格式压缩解压缩1、压缩格式:gzip 源文件(压缩为.gz格...
Linux常用命令(六) 压缩命令~常用压缩命令:. zip、. gz、. bz2~常用压缩命令:. tar. gz、. tar. bz2一、.zip格式压缩解压缩压缩文件命令:zip 压缩文件名 源文件压缩目录命令:zip -r 压缩文件名 源文件解压缩命令:unzip 压缩文件名二、. gz格式压缩解压缩压缩文件命令:gzip 源文件(压缩文件,源文件会...
Linux常用命令(四) 三、文件搜索命令1、文件搜索命令locate2、命令搜索命令whereis和which3、文件搜索命令find4、字符串搜索命令grep5、find命令于grep命令的区别1、文件搜索命令locate命令格式:locate [文件名]解析:locate命令是在后台数据库/var/lib/mlocate中按照文件名搜...
Linux常用命令(五) 帮助命令~帮助命令man~其他帮助命令一、帮助命令man格式一:man [命令]例如:man ls:可以显示命令ls的介绍使用文件 man man:可以查看man命令的介绍那么如何查看目标命令有哪些级别的帮助文档呢?格式二:man -f [命令]例如:man -f ls那么知道了命令有哪些级别的帮助文档,如何直接进入...
Linux常用命令(三) 链接命令语法:In [-s] [原文件] [链接]1、硬链接2、软连接:-s一、硬链接解释:硬链接跟C语言中的指针类似,相当于一个指针指向一个节点地址,再创建一个指针指向与之相同的节点地址,而该节点指向的是保存的内容1、拥有相同的i节点和存储block块,可以看做是同一个文件2、可以通过i节点识别3、不能跨分区4、不能针对目录使用5、删除...
微信小程序之归纳总结 1、微信小程序边距设置margin:外边距margin: 20rpx 10rpx 25rpx 10rpx :如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。margin:20rpx:如果只提供一个,将用于全部的四边。margin:20rpx 20rpx:如果提供两个,第一个用于上、下,第二个用于左、右。margin:20rpx 20rpx 20rpx,如果只提供三个,第一...
Linux常用命令(二) 二、文件处理命令思维导图:目录处理命令文件处理命令链接命令目录处理命令:1、mkdir -p name:递归建立文件目录,可以按照层级的方式建立不存在的文件夹下的文件2、cd [目录]:切换所在的目录 简化操作: cd ~ cd 回车:前两条命令都是进入当前用户的home目录 cd ..:进入父级目录 cd....
Linux入门 Linux入门篇(1)Linux的特点1、Linux区分大小写;2、Linux里面“一切皆文件”;3、Linux不靠扩展名来区分文件类型: #压缩包:“*.gz”、“*.bz2”、“*.tar.bz2”、“*.tgz”等 #二进制软件包:“.rpm” #网页文件:“*.html”、“.php” #配置文件:“.conf”4、Windows下的程...
微信小程序之常见错误二 1、加载本地图片时出现错误:解决办法:由于微信开发工具不支持直接在项目目录下添加文件,所以,找到小程序在本地的目录,在本地的目录下建立一个存放图片的文件夹,放入图片,这样的方式小程序时能够识别的,这里我放在与pages并列的image目录下,然后如果要引用图片,使用'../../image/picturename.jpg'就可以引用图片2、无法使用width和...
Linux常用命令(一) 一、命令基本格式[root@localhost~]#其中:root:当前登陆用户localhost:主机名~:当前所在目录,是所在“+”目录下,一般登陆进去,如果是超级用户,+目录就在/root根目录,如果是其他用户就在/home/usern/目录下#:超级用户提示符$:普通用户提示符命令格式:命令 [选项] [参数]注意:个别命令使用...
Linux常用命令 一、命令基本格式二、文件处理命令三、文件搜索命令四、帮助命令五、压缩与解压缩命令六、关机和重启命令七、其他常用命令转载于:https://www.cnblogs.com/BASE64/p/11407903.html...
Linux常用命令(十九) Linux中GPT分区磁盘分区与格式化1、分区模式之MBR -主分区不超过4个 -单个分区容量最大2TB2、分区模式之GPT -主分区个数“几乎”没有限制 -单个分区容量“几乎”没有限制3、对磁盘进行GPT分区:(1)parted:启动GPT分区方式(2)help:使用help命令查看帮助文档(3)select /dev/s...
Linux常用命令(十八) 磁盘管理1、df 查看磁盘分区使用状况 l:仅显示本地磁盘(默认) a:显示所有文件系统的磁盘使用情况,包含比如/proc/ h:以1024进制计算最合适的单位显示磁盘容量 H:以1000进制计算最合适的单位显示磁盘容量 T:显示磁盘分区类型 t:显示指定类型文件系统的磁盘分区 x:不显示指定类型文件系统的磁盘分区2、du 统...
第九章 结构体与公用体 C程序设计实验报告实验练习: 9.3.1、结构体变量的应用 9.3.2、结构提数组的应用 9.3.3、共用体的应用 9.3.4、结构提指针的应用姓名:钟俊敏 实验地点:教学楼514教室 实验时间:6月26日9.3.1、结构体变量的应用●定义结构体类型struct date,它含有年、月、日3个成员;● 定义struct date类型...
爬取微博用户公开信息,分析听李逼的逼粉们他们的真实年龄 一、功能描述用爬虫爬取#我们的叁叁肆#下的微博,然后再爬取他们的个人主页信息,获取年龄、地区、性别等信息,然后用数据分析,再可视化呈现。注意:文中说的微博个人主页信息均为微博公开信息,不包含任何隐私信息,同时全文中将不会出现任何人的个人信息,信息仅用于学习分析,任何人不得使用此教程用作商用,违者后果自付!二、技术方案我们大概分解下技术步骤,以及使用的技术1、爬取#我们...
用Python分析国庆旅游景点,告诉你哪些地方好玩、便宜、人又少 注:本人参考“裸睡的猪”公众号同名文章,学习使用。一、目标使用Python分析出国庆哪些旅游景点:好玩、便宜、人还少的地方,不然拍照都要抢着拍!二、获取数据爬取出行网站的旅游景点售票数据,反映出旅游景点的热度。这里选择爬取“去哪儿”网。1.爬取单页数据我们可以在哪去儿的门票页(http://piao.qunar.com/ticket/list.htm?key...
‘大案牍术’告诉你为什么《长安十二时辰》这么火! 注:本人参考猪哥公众号“裸睡的猪”公众号爬虫文章。一、功能描述想用我们现代的大案牍术来分析一下《长安十二时称》这部电视剧到底为什么会火,大家都对这部电视剧的评价是什么样的?(所有弹幕最高频的900个词)二、技术方案1、分析优酷弹幕的加载方式然后使用requests库爬取2、抓取整部剧所有集的所有弹幕3、重点做数据清洗,比如:剧情、人名、高能君弹幕等等4、...
Python多任务—进程 一、进程以及状态1、进程正在运行的应用程序就是一个进程。进程是资源分配的基本单元。转载于:https://www.cnblogs.com/huiyichanmian/p/11546143.html
Python多任务—线程 并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的一、线程的概念线程是一个进程内部的一条执行路径,是程序执行的最小单位线程有自己的栈和局部变量,多个线程共享同一进程的地址空间...
Go的流程控制 流程控制Go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。顺序结构:程序按顺序执行,不发生跳转。选择结构:依据是否满足条件,有选择的执行相应功能。循环结构:依据条件是否满足,循环多次执行某段代码。1 选择结构1.1 if语句1.1.1 ifpackage mainimport "fmt"func main...
Go函数篇 1 定义格式函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。Go 语言函数定义格式如下:func FuncName(/*参数列表*/) (o1 type1, o2 type2/*返回类型*/) { //函数体 return v1, v2 //返回多个值}函数定...
Socker编程之UDP 一:socket简介1. 不同电脑上的进程之间如何通信首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用进程(进程)。这样利用ip地址,协议...
面向对象之类属性和类方法 01. 类的结构1.1 术语 —— 实例使用面相对象开发,第 1 步是设计类使用类名()创建对象,创建对象的动作有两步:1) 在内存中为对象分配空间2) 调用初始化方法__init__为对象初始化对象创建后,内存中就有了一个对象的实实在在的存在 ——实例 因此,通常也会把:创建出来的对象叫做类...
Python中的单例设计 01. 单例设计模式设计模式设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性单例设计模式目的—— 让类创建的对象,在系统中只有唯一的一个实例每一次执行类名()返回的对象,内存地址是相同的...
面向对象之多态 面向对象三大特性封装根据职责将属性和方法封装到一个抽象的类中定义类的准则继承实现代码的重用,相同的代码不需要重复的编写设计类的技巧子类针对自己特有的需求,编写特定的代码多态不同的子类对象调用相同的父类方法,产生不同的执行结果多态可以增加代码的灵活度以继承和重写父类方法为前提...
Python面向对象继承案例 面向对象三大特性封装根据职责将属性和方法封装到一个抽象的类中继承实现代码的重用,相同的代码不需要重复的编写多态不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度01. 单继承1.1 继承的概念、语法和特点继承的概念:子类拥有父类的所有方法和属性class Animal: def ...
Python面向对象之私有属性和私有方法 01. 应用场景及定义方式应用场景在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到私有属性就是对象不希望公开的属性私有方法就是对象不希望公开的方法定义方式在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法 class Women:...
Python面向对象封装案例 01. 封装封装是面向对象编程的一大特点面向对象编程的第一步—— 将属性和方法封装到一个抽象的类中外界使用类创建对象,然后让对象调用方法对象方法的细节都被封装在类的内部一个对象的属性可以是另外一个类创建的对象02. 小明爱跑步需求小明体重75.0公斤小明每次跑步会减肥0.5公斤小...
Python基础之面向对象编程 面向对象编程——Object Oriented Programming简写OOP01. 面向对象基本概念我们之前学习的编程方式就是面向过程的面相过程和面相对象,是两种不同的编程方式对比面向过程的特点,可以更好地了解什么是面向对象1.1 过程和函数(科普)过程是早期的一个编程概念过程类似于函数,只能执行,但是没有返回值...
Python与Golang对比 一:前言 刚看了一篇软文,说什么“才华是改变人生最有效的途径”,反正呢,大体就是科技进步,要想一直在车上,就得不断的学习,刚好最近也准备学习Golang,最近火的不能在火了吧,刚好也有些Python基础,所以就想在学习Golang的同时,对比着Python,查漏补缺下Python的知识,我终相信语言是相同的,只是个别语法不一样,翻看以前写的Python笔记,现在回过头看看,挺潦草的...
Django(一)初始 一:Web开发中的基本术语1.两种架构(1)cs架构Client/Server:客户端-服务端架构优点:CS能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后在提交给服务器,用户体验好缺点: 对于不同操作系统要相应开发不同的版本,并对计算机电脑配置要求也 较高(2)bs架构BS架构(Browser/Server:浏览器-服务端架构,特殊的CS)...
MySQL主从同步配置 1. 主从同步的定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。使用主从同步的好处:...
Mysql之索引(六) 1.思考在图书馆是怎么找到一本书的?一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询有1次写操作),而且插入操作和更新操作很少出现性能问题。遇到最多,最复杂的还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。2.解决方法当数据库中的数据量很大时,查找数据会变得很慢优化方案:索引3.索引是什么索引是一种特殊的文件(Inno...
Django(二)模板 一、模板概念1.Django通过模板动态生成html2.模板的加载位置模板一般建立在templates文件夹中,全局路径的设置在settings.py中 DIRS:决定了整个项目的模板路径的位置 APP_DIRS:决定每个应用的模板路径是否可用,是否在应用的templates目录中寻找模板TEMPLATES = [ { 'BAC...
MySQL之Python与Mysql交互 一:Python操作MySQL步骤1:Python中操作MySQL的步骤2.引入模块在.py文件中引入pymysql模块import pymysqlpymysql是python的一个第三方与mysql交互的库,需要安装pip install pymsql3.Connection 对象用于建立与数据库的连接创建对象,调用connect()方法...
MySQL之查询篇(三) 一:查询1.创建数据库,数据表-- 创建数据库create database python_test_1 charset=utf8;-- 使用数据库use python_test_1;-- students表create table students( id int unsigned primary key auto_increment ...
Mysql之视图和事务(五) 一:视图1.问题对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦解决办法:定义视图2.视图是什么通俗的讲,视图就是一条select语句执行后的结果集,所以我们在创建视图的时候,主要的工作就落在创建这条sql查询语句上。视图是对若干张表的引用,一张虚...
MySQL之简介以及数据类型(一) 一:关系型数据库 所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。二:关系型数据库的主要产品:oracle:在以前的大型项目中使用,银行,电信等项目mysql:web时代使用最广泛的关系型数据库ms sql server:在微软的项目中使用sqlite:轻量级数据库,主要应用在移动平台...
MySQL之命令行简单操作MySQL(二) 一:命令行连接数据库 打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入 退出:exit或quit 查看版本信息: select version(); 显示当前时间: select now(); 查看所有的数据库:show databases; 使用数据库: use ...
numpy学习 一:什么是numpy? 一个在Python中做科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用于大型、多维数组上执行数值运算。二:numpy创建数组: 创建数组: import numpy as npa = np.array([1,2,3,4,5])b = np.array(range(1,6))c = np.aran...
Django+xadmin打造在线教育平台(一) 开发环境:Python3.7.1, Django2.0.6IDE:pycharm系统环境:windos10 x 64一:需求分析系统具有完整的用户登录注册以及找回密码功能,拥有完整个人中心。个人中心: 修改头像,修改密码,修改邮箱,可以看到我的课程以及我的收藏。可以删除收藏,我的消息。导航栏: 公开课,授课讲师,授课机构,全局搜索。点击公开课–>...
Go的基础类型 1. 命名Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。这个和Python基本相同。Go语言中类似if和switch的关键字有25个(均为小写)。关键字...
MySQL之SQL演练(四) 一:准备数据1.创建数据表-- 创建 "京东" 数据库create database jing_dong charset=utf8;-- 使用 "京东" 数据库use jing_dong;-- 创建一个商品goods数据表create table goods( id int unsigned primary key auto_increm...
第一个Golang程序 1. 第一个HelloGolang程序1.1 Go 源程序的基本概念Go 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做Go的开发Go 程序的文件扩展名通常都是.go1.2代码分析 package mainimport "fmt"//go语言以包作为管理单位//每个文件必须先声明包//程序...
Socker编程之TCP 一:TCP介绍TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、终止连接三个步骤。TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话""二:TCP特...
Mysql 二进制日志备份还原 Mysql 二进制日志备份还原一、开启二进制日志1、进入配置文件[mysqld]下添加配置方案一vim/etc/my.cnflog-bin = /usr/local/mysql/logs/mysql_binmax_binlog_size = 100M方案二vim/etc/my.cnf.d/server.cnflog_bin='二进制日...
Prometheus K8S中部署Alertmanager Prometheus K8S中部署Alertmanager设置告警和通知的主要步骤如下:一、部署Alertmanager二、配置Prometheus与Alertmanager通信三、配置告警 1. prometheus指定rules目录 2. configmap存储告警规则 3. configmap挂载到容器rules目录一、部署Alertmanager配置文件...
Prometheus 监控K8S 资源状态对象 Prometheus 监控K8S 资源状态对象官方文档:https://github.com/kubernetes/kube-state-metricskube-state-metrics是一个简单的服务,它监听Kubernetes API服务器并生成有关对象状态的指标。它不关注单个Kubernetes组件的运行状况,而是关注内部各种对象的运行状况,例如部署,节点和容器。...
Prometheus 监控K8S Node监控 Prometheus 监控K8S Node监控 Prometheus社区提供的NodeExporter项目可以对主机的关键度量指标进行监控,通过Kubernetes的DeamonSet可以在各个主机节点上部署有且仅有一个NodeExporter实例,实现对主机性能指标数据的监控,但由于容器隔离原因,使用容器NodeExporter并不能正确获取到宿主机磁盘信息,故此本课程将Node...
Prometheus 监控K8S集群资源监控 Prometheus 监控K8S集群中Pod目前cAdvisor集成到了kubelet组件内,可以在kubernetes集群中每个启动了kubelet的节点使用cAdvisor提供的metrics接口获取该节点所有容器相关的性能指标数据。cAdvisor对外提供服务的默认端口为***4194***,主要提供两种接口:Prometheus格式指标接口:nodeIP:4194/m...
Kubernetes RBAC授权普通用户对命名空间访问权限 Kubernetes RBAC授权普通用户对命名空间访问权限官方文档:https://www.cnblogs.com/xiangsikai/p/11413970.htmlkind: RoleapiVersion: rbac.authorization.k8s.io/v1metadata: namespace: default name: pod-re...
Prometheus K8S部署 Prometheus K8S部署部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus源码目录:kubernetes/cluster/addons/prometheus服务发现:https://prometheus.io/docs/prometheus...
Kubernetes 安全概念详解 Kubernetes 安全框架 API 认证三关• 访问K8S集群的资源需要过三关:认证、鉴权、准入控制• 普通用户若要安全访问集群API Server,往往需要证书、Token 或者用户名+密码;Pod访问,需要ServiceAccount• K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段都 支持插件方式,通过API Server配置来启用插件。1. Authenti...
Kubernetes configMap(配置文件存储) Kubernetes configMap(配置文件存储)官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/与Secret类似,区别在于ConfigMap保存的是不需要加密配置信息。应用场景:应用配置创建测试配置文件1、创建测试配置文件vim redis...
Kubernetes Secret(机密存储) Kubernetes Secret(机密存储)官方文档:https://kubernetes.io/docs/concepts/configuration/secret/加密数据并存放Etcd中,让Pod的容器以挂载Volume方式访问。应用场景:凭据通过文本文件创建用户密码1、创建用户名密码文件echo -n 'admin' > ./usern...
Kubernetes 动态PV使用 Kubernetes 动态PV使用Kubernetes支持动态供给的存储插件:https://kubernetes.io/docs/concepts/storage/storage-classes/Dynamic Provisioning机制工作的核心在于StorageClass的API对象。StorageClass声明存储插件,用于自动创建PV。创建动态...
Kubernetes 静态PV使用 Kubernetes 静态PV使用Kubernetes支持持久卷的存储插件:https://kubernetes.io/docs/concepts/storage/persistent-volumes/缺点:手动创建pv比较繁琐、不适合大工程优点:小规模使用方便灵活1、创建pvc yaml文件vim pvc.yamlapiVersion: v1kin...
Kubernetes PV与PVC的关系 Kubernetes PV与PVC的关系PersistenVolume(PV):对存储资源创建和使用的抽象,使得存储作为集群中的资源管理,分为有静态与动态。PersistentVolumeClaim(PVC):让用户不需要关心具体的Volume实现细节PV:提供者、提供存储容量PVC:消费者、消费容量注:PV与PVC成绑定关系。容器应用-->卷需求模板-->数据卷...
Kubernetes Job与CronJob(离线业务) Kubernetes Job与CronJob(离线业务)JobJob分为普通任务(Job) 一次性执行应用场景:离线数据处理,视频解码等业务官方文档:https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/1、创建yaml文件vim job.yaml...
Kubernetes SatefulSet(有状态应用部署) Kubernetes SatefulSet(有状态应用部署)• 部署有状态应用• 解决Pod独立生命周期,保持Pod启动顺序和唯一性1. 稳定,唯一的网络标识符,持久存储2. 有序,优雅的部署和扩展、删除和终止3. 有序,滚动更新应用场景:数据库说明常规的serviceservice:一组pod访问策略,提供负载均衡和服务发现其他:service 会分配一个 CLUSTE...
Kubernetes DaemonSet(部署守护进程) Kubernetes DaemonSet(部署守护进程)• 在每一个Node上运行一个Pod• 新加入的Node也同样会自动运行一个Pod应用场景:Agent官方文档:https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/案例1、创建yaml文件apiVersion: apps/...
Kubernetes 有状态与无状态介绍 Kubernetes 有状态与无状态介绍无状态:deployment - 认为所有pod都是一样的,不具备与其他实例有不同的关系。 - 没有顺序的要求。 - 不用考虑再哪个Node运行。 - 随意扩容缩容。有状态:SatefulSet - 集群节点之间的关系。 - 数据不完全一致。 - 实例之间不对等的关系。 - 依靠外部存储的应用。 - 通过dns维持身份...
Kubernetes service 三种类型/NodePort端口固定 Kubernetes service 三种类型• ClusterIP:默认,分配一个集群内部可以访问的虚拟IP(VIP)• NodePort:在每个Node上分配一个端口作为外部访问入口• LoadBalancer:工作在特定的Cloud Provider上,例如Google Cloud,AWS,OpenStack# Nodeport用户 -> 域名 负...
Kubernetes Deployment(部署无状态应用) Kubernetes Deployment(部署无状态应用)Pod与controllers的关系 • controllers:在集群上管理和运行容器的对象 • 通过label-selector相关联 • Pod通过控制器实现应用的运维,如伸缩,升级等Deployment • 部署无状态应用 • 管理Pod和ReplicaSet(副本控制、更新回滚) • 具有上线...
Kubernetes service 使用定义 Kubernetes service 使用定义介绍说明• 防止Pod失联• 定义一组Pod的访问策略• 支持ClusterIP,NodePort以及LoadBalancer三种类型• Service的底层实现主要有Iptables和IPVS二种网络模式Pod与Service的关系• 通过label-selector相关联• 通过Service实现Pod的负载均衡( TCP...
Kubernetes service 代理模式 Kubernetes service 代理模式底层流量转发与负载均衡实现:• Iptables(默认)• IPVSIPVS了解代理模式之IPVS工作原理LVS 基于 IPVS内核调度模块实现的负载均衡。# 查看路由对应关系 , 需要先下载ipvsadm工具ipvsadm -ln 注:内核态处理。IPVS:• 工作在内核态,有更好的性能• 调度算法丰富:rr,w...
Kubernetes Pod 调度约束 Kubernetes Pod 调度约束可以将pod调度到指定的节点Node内默认:根据节点资源利用率等分配Node节点。nodeName用于将Pod调度到指定的Node名称上nodeSelector用于将Pod调度到匹配Label的Node上工作流程K8s通过watch实现组件工作。1、管理员通过命令创建Pod-->apiserver接收到...
Kubernetes Pod 资源限制 Kubernetes Pod 资源限制官方文档:https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/Pod和Container的资源请求和限制:• spec.containers[].resources.limits.cpu• spec.containers[]....
Kubernetes Pod 镜像拉取策略 Kubernetes Pod 镜像拉取策略官方文档:https://kubernetes.io/docs/concepts/containers/images/• IfNotPresent:默认值,镜像在宿主机上不存在时才拉取• Always:每次创建 Pod 都会重新拉取一次镜像• Never: Pod 永远不会主动拉取这个镜像# 查看已创建deployment的拉取...
Kubernetes 远程工具连接k8s集群 Kubernetes 远程工具连接k8s集群1、将Master的kubectl文件复制到Node内scp k8s/kubernetes/server/bin/kubectl root@192.168.1.110:/root/2、创建admin证书的json文件、证书为:k8s管理员证书{ "CN": "admin", "hosts": [],...
Kubernetes 企业级集群部署方式 一、Kubernetes介绍与特性1.1、kubernetes是什么官方网站:http://www.kubernetes.io• Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。 • K8S用于容器化应用程序的部署,扩展和管理。 • K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。• Kube...
Kubernetes 部署Web UI (Dashboard) Kubernetes 部署Web UI (Dashboard)项目下载地址:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard相关文件说明# UI存放的配置信息dashboard-configmap.yaml# UI的控制器dashboard-control...
Prometheus 运维监控 Prometheus 运维监控1、Prometheus 介绍详解2、Prometheus 安装部署3、Prometheus 配置文件详解4、Prometheus PromSQL 常用资源5、Prometheus 配置采集目标6、Prometheus 重新标签7、Prometheus 标签使用示例整合8、Prometheus ...
Prometheus 编写告警规则案例 Prometheus 编写告警规则案例注:确保alertmanager配置完毕!1、创建编辑文件:vim /usr/local/prometheus/rules/node.yml# groups:组告警groups:# name:组名。报警规则组名称- name: general.rules # rules:定义角色 rules: # ale...
Prometheus 一条告警的触发流程、等待时间 Prometheus 一条告警的触发流程、等待时间报警处理流程如下:1. Prometheus Server监控目标主机上暴露的http接口(这里假设接口A),通过上述Promethes配置的'scrape_interval'定义的时间间隔,定期采集目标主机上监控数据。2. 当接口A不可用的时候,Server端会持续的尝试从接口中取数据,直到"scrape_timeout"时间后停止...
Prometheus 告警收敛 Prometheus 告警收敛 告警面临最大问题,是警报太多,相当于狼来了的形式。收件人很容易麻木,不再继续理会。关键的告警常常被淹没。在一问题中,alertmanger在一定程度上得到很好解决。 Prometheus成功的把一条告警发给了Altermanager,而Altermanager并不是简简单单的直接发送出去,这样就会导致告警信息过多,重要告警被淹没。所以需要对告警做合...