聊天室登录总结
过去一周多了,聊天室的大体框架也才出来,刚开始的时候我是不准备写窗体的,但在我实现了登录注册后,我发现不写窗体后面的功能实现将更加困难,于是我就开始学习搭建窗口,之前使用过pygame搭建,但试了以后发现不太实用,于是就百度了一下,学了tkinter模块搭建窗体。预构了一下窗体内要实现的功能:登录按钮,账号输入条,密码输入条、注册按钮、然后会出现一个新窗体,新窗体在注册完成后会自动关闭。
方法步骤:导入tkinter模块创建控件
123456789import tkinterroot = tkinter.Tk() # 使用TK()创建窗体(初始化)root.title('登录') # 窗体命名root['height'] = 220root['width'] = 470 # 设置窗体属性 root['bg'] = 'Coral' page = tkinter.Frame(root1)# root.resizable(0, 0) ...
Ubuntu下Anaconda的安装及环境配置(附基本使用命令)
##Anaconda安装:Ubuntu Anaconda下载地址:https://www.anaconda.com/distribution/ 或 https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh百度网盘链接:https://pan.baidu.com/s/1-KPqufftQCJK4e0hpFJKVQ提取码:vsuv
下载完成后在终端中 输入命令 bash Anaconda3-5.2.0-Linux-x86_64.sh 进行安装,在安装的过程中,会提示(yes or no) 统一yes,然后在最后它会提示是否需要安装vscode这个根据个人的情况而定,安装完毕后,在你自己的家目录会出现一个名为anaconda3的一个目录文件,这就证明安装完成了.
##配置系统变量
# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' ...
数据库主从
# mysql主从(数据备份与恢复)
1.主服务器做存储,子服务器做读写操作,便于同步自动备份。
2.配置主从同步的基本步骤:
.在主服务器上,必须开后二进制日志机制和配置一个独立的ID
.在每一个从服务器上,配置一个隆-的ID ,创键一个用来专门复制主服务器数据的账号
3).在开始复制进程前,在主服务器上记录二进制文件的位置信息
4).如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用msalump导出数据库,或者直接复制数据文件)
5).配置从服务器要连接的主服务器的P地址和整陆授权,二进制日志文件名和位置
4.详细配置主从同步的方法
主和从的身份可以自己指定,我们将虚拟机Ubuntu中MySOQL作为主服务器,将Windows中的MySQ.作为从服务器。在主从设置的,要保证Ubunt5Windows间的网络连通
4.1备份主服务器原有数据到从服务器
如果在设置主从同步前,主服务器上已有大量数据,可以使用mysoldump进行数据备份井还原到从服务器以实现数据的复制
4.1.1在主服务器Ubuntu上进行备份 ...
数据库基础
#数据库1.关系型数据库核心元素 ● 数据行(记录) ● 数据列(字段) ● 数据表(数据行的集合) ● 数据库(数据表的集合)
特点: ● 持久化储存 ● 读写速度极高 ● 保证数据的有效性 ● 对程序的支持性非常好,容易扩展
数据库类型: ◆ MySQL:一般用来做网站,存储持久化的数据 ◆ Redis:一般用来当做缓存 ◆ MongoDB:存储非关系型数据库结构
##RDBMS
Relational Database Management System
通过表来表示关系型当前主要使用两种类型的数据库:关系型数据库,非关系型数据库
●所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据●查看数据库排名:http://db-engines.com/en/ranking
●关系型数据库的主要产品: 。oracle :在以前的大型项目中使用,银行,电信等项目 。mysql :web时代使用最广泛的关系型数据库 。mssqlserver:在微软的项目中使用 。sqlite:轻量级数据库,主要应用在移动 ...
Ubuntu的使用
#Ubuntu的使用获得操作指令:sudo su下载指令:sudo apt-get install —-检查是否完成: sudo nestat-tap |grep删 除:rm 文件名 -r(删除文件夹) f(强制删除)常用命令: update - 取回更新的软件包列表信息 upgrade - 进行一次升级 install - 安装新的软件包(注:软件包名称是 libc6 而非libc6.deb) remove - 卸载软件包 purge - 卸载并清除软件包的配置 autoremove - 卸载所有自动安装且不再使用的软件包 dist-upgrade - 发行版升级,见 apt-get(8) dselect-upgrade - 根据 dselect 的选择来进行升级 build-dep - 为源码包配置所需的编译依赖关系 clean - 删除所有已下载的包文件 autoclean - 删除已下载的旧包文件 check - 核对以确认系统的依赖关系的完整性 download - 下载指定的二进制包到当前目录 changelog - 下载指定软件包,并显示其变更 ...
视图
视图1.问题
对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦解决办法:定义视图
2.视图是什么
◆通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 ◆视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变) ; ◆方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;
3.定义视图 建议以v_ 开头
1create view 视图名称 as select语句;
4.查看视图查看表会将所有的视图也列出来
1show tables ;
5.使用视图 视图的用途就是查询
1select * from v_stu_score;
6.删除视图
123drop view 视图名称;例:drop view v_stu_sto;
7.试图的作用 ◆提高了重要性,就像一个函数 ◆对数据库重构,却不影响程序的运行 ◆ ...
数据库设计
# 数据库设计
●关系型数据库建议在E-R模型的基础上,我们需要根据产品经理的设计策划,抽取出来模型与关系,制定出表机构,这是项目开始的第一步 ●在开发中有很多设计数据库的软件,常用的如power designer,db desinger等,这些软件可以直观的看到实体及实体间的关系 ●设计数据库,可能是由专门的数据库设计人员完成,也可能是由开发组成员完成,一般是项目经理带领组员来完成●现阶段不需要独立完成数据库设计,但是要注意积累一些这方面的经验
三范式●经过研究和对使用中问题的总结,对于设计数据库提出了- -些规范,这些规范被称为范式(Normal Form)●目前有迹可寻的共有8种范式,一般需要遵守3范式即可 ●第一范式(1NF) :强调的是列的原子性,即列不能够再分成其他几列。 考虑这样- -个表: [联系人] (姓名,性别,电话) 如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到1NF。要符合1NF我们只需把列(电话) 拆分,即: 联系人 . 1NF很好辨别,但是2NF和3NF就容易搞混淆。
●第二范式(2NF) :首先是1NF ...
数据查询
查询##01.mysql-查询–数据准备 –创建一个数据库 create database python_test charset = utf8;
--使用一个数据库
use python_test;
-- 显示使用的的当前数据库
select database();
--创建一个数据表
create table students (
id int unsigned primary key auto_ increment not null ,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女', '中性', '保密') default '保密',
cls_ id int unsigned default 0,
is_ delete bit default 0);
...
高级语法
# python 高级语法
## 01.GIL (全局解释器锁)
C语言python—(cpython )解释器的一个缺点
问题克服: 更换解释器,使用jpython或其他语言编写的解释器 使用其他语言编写程序 python可以直接调用其他语言
##02.深拷贝、浅拷贝 ●浅拷贝是对于一个对象的顶层拷贝(一变全变)通俗的理解是:拷贝了引用(指向 ),并没有拷贝的内容 ●深拷贝是将一个对象重新复制一份,产生一个新的指向
##03.私有化 ●xx:共有便利 ●_x: 单前置下划线,私有化属性或方法,from somemodule import*禁止导入,类对象和子类可以访问 ●__xx:双前后下划线,避免与子类的中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) ●__xx__:双前置下划线,用户名字空间的魔法对象或属·例如:__init__,__不要自己发明这样的名字 ● xx_:单后置下划线,用于避免与python关键词冲突
通过name mangling(名字重整(目的就是以防子类意外重写基类的方法或属性)如:_Class__object)机制就可以访问pri ...
Web服务器
Web服务器1.正则表达式目的:在开发中经常会遇到数据的处理,相当于一套相应的使用规则
什么是这个则表达式?● 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。● 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
re模块的使用过程:
12345678# 导入re模块 import re# 使用match方法进行匹配操作result = re ...


