【JavaScript】 Web 相关笔记
DOM节点操作DOM全称为 “Document Object Model”,文档对象模型,提供操作HTML文档的方法。(注:每个html文件在浏览器中都视为一篇文档,操作文档实际就是操作页面元素。)
节点对象JavaScript 会对 html 文档中的元素、属性、文本甚至注释进行封装,称为节点对象,提供相关的属性和方法。
访问节点
元素节点 ( 操作标签)
属性节点(操作标签属性)
文本节点(操作标签的文本内容)
标签属性都是元素节点对象的属性,可以使用点语法访问,例如:
123h1.id = "d1"; //set 方法console.log(h1.id); //get 方法h1.id = null; //remove 方法
注意 :
属性值以字符串表示
class属性需要更名为 className,避免与关键字冲突,例如:h1.className = “c1 c2 c3”;
获取多个DOM元素和控制属性
根据标签名获取元素节点列表
12345var elems = document.getElementsByTagName(& ...
【JavaScript】 基础
JavaScript 概述什么是JavaScriptJS 介绍简称JS,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行。主要用来实现网页的动态效果,用户交互及前后端的数据传输等。
JS 组成
核心语法 -ECMAScript 规范了JS的基本语法
浏览器对象模型 -BOM Browser Object Model,提供了一系列操作浏览器的方法
文档对象模型 -DOM Document Object Model ,提供了一系列操作的文档的方法
使用方式
元素绑定事件
事件 :指用户的行为(单击,双击等)或元素的状态(输入框的焦点状态等)
事件处理:元素监听某种事件并在事件发生后自动执行事件处理函数。
常用事件:onclick (单击事件)
语法 :将事件名称以标签属性的方式绑定到元素上,自定义事件处理。 12<!--实现点击按钮在控制台输出--><button onclick="console.log('Hello World');">点击</button>
文档内嵌。使用标签书写 ...
CSS 笔记 盒模型和布局方式
CSS 盒模型内容尺寸
一般情况下,为元素设置width/height,指定的是内容框的大小
内容溢出:内容超出元素的尺寸范围,称为溢出。默认情况下溢出部分仍然可见,可以使用overflow调整溢出部分的显示,取值如下:
取值
作用
visible
默认值,溢出部分可见
hidden
溢出部分隐藏
scroll
强制在水平和垂直方向添加滚动条
auto
自动在溢出方向添加可用滚动条
边框边框实现语法:
1border: width style color;
边框样式为必填项,分为:
样式取值
含义
solid
实线边框
dotted
点线边框
dashed
虚线边框
double
双线边框
单边框设置分别设置某一方向的边框,取值:width style color;
属性
作用
border-top
设置上边框
border-bottom
设置下边框
border-left
设置左边框
border-right
设置右边框
网页三角标制作
元素设置宽高为0
统一设置四个方向透明边框
调整 ...
HTML 笔记
Web前端介绍什么是网页网页是基于浏览器的应用程序,是数据展示的载体.
网页的组成
浏览器
代替用户向服务器发请求
接收并解析数据展示给用户
服务器
存储数据
处理并响应请求
协议
规范数据在传输过程中的打包方式
开发前的准备
运行环境:浏览器,设置chrome为默认浏览器,作为网页文件的运行环境。
调试工具:浏览器自带的调试工具,使用快捷键”F12”或右键”检查”打开。
开发工具:不限,选用个人习惯的即可(VSCode、EditPlus、PyCharm等)。
HTML语法介绍HTML介绍超文本标记语言(HyperText Markup Language)浏览器能够识别和解析的语言,通过标签的形式构建页面结构和填充内容
标签标签也称为标记或元素,用于在网页中标记内容
语法:标签使用< >为标志,在< >内部写标签名和标签属性
注释语法:
1<!-- 此处为注释 -->
标签名不区分大小写,推荐小写表示
分类:
双标签:成对出现,包含开始标签和结束标签。例: 123<html><!-- 内容或其他标签 ...
【Python】socket TCP 编程中的三次握手和四次挥手的过程分析
笔记整理,参考见本链接。
:star2:三次握手
:star2:四次挥手
:star2:实现流程
:star2:客户端代码解析12345678910111213141516171819202122232425# socket简单编写:服务端 客户端#服务端import socket # 导入 socket模块serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# socket.AF_INET :表示基于网络# socket.SOCK_STREAM:表示基于TCP协议serv.bind(("127.0.0.1", 8000))# bind(ip地址,端口号---》元祖的形式):绑定在那个计算机上作为服务器serv.listen(5)# listen(n):表示同时接待5个链接,n:控制backlog、即:半链接池;conn, addr = serv.accept()# serv.accept():表示接收到客户端的请求信息,# 此时,服务端会收到:一个tcp链接、客户端ip地址,以元祖形 ...
【Python】高级笔记第七部分:网络并发编程
@ 作者:达内 Python 教学部,吕泽@ 编辑:博主,Discover304
:star2:网络并发模型
:star:网络并发模型概述
什么是网络并发在实际工作中,一个服务端程序往往要应对多个客户端同时发起访问的情况。如果让服务端程序能够更好的同时满足更多客户端网络请求的情形,这就是并发网络模型。
循环网络模型问题循环网络模型只能循环接收客户端请求,处理请求。同一时刻只能处理一个请求,处理完毕后再处理下一个。这样的网络模型虽然简单,资源占用不多,但是无法同时处理多个客户端请求就是其最大的弊端,往往只有在一些低频的小请求任务中才会使用。
:star:多进程/线程并发模型多进程/线程并发模中每当一个客户端连接服务器,就创建一个新的进程/线程为该客户端服务,客户端退出时再销毁该进程/线程,多任务并发模型也是实际工作中最为常用的服务端处理模型。
模型特点
优点:能同时满足多个客户端长期占有服务端需求,可以处理各种请求。
缺点: 资源消耗较大
适用情况:客户端请求较复杂,需要长时间占有服务器。
创建流程
创建网络套接字
等待客户端连接 ...
【Python】高级笔记第六部分:多任务编程
@ 作者:达内 Python 教学部,吕泽@ 编辑:博主,Discover304
:star2:多任务概述
多任务即操作系统中可以同时运行多个任务。比如我们可以同时挂着qq,听音乐,同时上网浏览网页。这是我们看得到的任务,在系统中还有很多系统任务在执行,现在的操作系统基本都是多任务操作系统,具备运行多任务的能力。
什么是多任务编程多任务编程即一个程序中编写多个任务,在程序运行时让这多个任务一起运行,而不是一个一个的顺次执行。比如微信视频聊天,这时候在微信运行过程中既用到了视频任务也用到了音频任务,甚至同时还能发消息。这就是典型的多任务。而实际的开发过程中这样的情况比比皆是。
实现多任务编程的方法 : 多进程编程,多线程编程
多任务意义
提高了任务之间的配合,可以根据运行情况进行任务创建。比如: 你也不知道用户在微信使用中是否会进行视频聊天,总不能提前启动起来吧,这是需要根据用户的行为启动新任务。
充分利用计算机资源,提高了任务的执行效率。
在任务中无阻塞时只有并行状态才能提高效率
在任务中有阻塞时并行并发都能提高效率
计算机原理
CPU:计算机硬件的核心部 ...
【Python】高级笔记第五部分:网络编程
@ 作者:达内 Python 教学部,吕泽@ 编辑:博主,Discover304
:star2:网络基础知识
:star:什么是网络计算机网络功能主要包括实现资源共享,实现数据信息的快速传递。
:star:网络通信标准网络的普及需要标准。不同的国家和公司都建立自己的通信标准不利于网络互连,同时多种标准并行情况下不利于技术的发展融合。
而一个统一 的通信标准不仅可以实现万物互联,也可以降低开发难度。
于是OSI7层模型被提出,并且被行业接受。
索引
层名
说明
7
应用层
各种应用程序
6
表示层
数据格式化、数据加密解密、数据的压缩解压缩
5
会话层
建立、管理、终止应用之间的会话连接
4
传输层
提供端到端的数据服务(可靠或者不可靠)
3
网络层
逻辑寻址;路由选择
2
数据链路层
将分组数据封装成帧
1
物理层
在介质上传输比特;提供物理的规约
OSI7层 模型因其每层功能明确,各司其职,也就是说实际规定了每一层的任务,该完成什么事情,可以很好的的降低开发难度。
之后随着技术的进步和互联网的发展,OSI7层的模型因为 ...
【Python】高级笔记第四部分:使用Python操作数据库
@ 作者:达内 Python 教学部,吕泽@ 编辑:博主,Discover304
:star2:pymysql模块pymysql是一个第三方库,如果自己的计算机上没有可以在终端使用命令进行安装,$sudo pip3 install pymysql。
pymysql使用流程
建立数据库连接:db = pymysql.connect(...)
创建游标对象:cur = db.cursor()
游标方法: cur.execute("insert ....")
提交到数据库或者获取数据 : db.commit() / cur.fetchall()
关闭游标对象 :cur.close()
断开数据库连接 :db.close()
:star:常用函数
链接数据库 12345678db = pymysql.connect(参数列表)host :主机地址,本地 localhostport :端口号,默认3306user :用户名password :密码database :库charset :编码方式,推荐使用 utf8
创建游标 12cur = db.curso ...
【Python】高级笔记第三部分:数据库的视图、函数、事务和安全
@ 作者:达内 Python 教学部,吕泽@ 编辑:博主,Discover304
:star2:视图
视图是存储的查询语句,当调用的时候,产生结果集,视图充当的是虚拟表的角色。
视图可以理解为一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录。
视图可以使用户操作方便,并保障数据库系统安全,如果原表改名或者删除则视图也失效。
:star:视图操作创建视图
123456789101112131415161718192021-- 语法结构:CREATE [OR REPLACE] VIEW [view_name] AS [SELECT_STATEMENT];-- 释义:CREATE VIEW: 创建视图OR REPLACE : 可选,如果添加原来有同名视图的情况下会覆盖掉原有视图view_name : 视图名称SELECT_STATEMENT :SELECT语句e.g.create view good_student_viewas select name,ag ...
Python 高级笔记第二部分:数据库的概述和MySQL数据表操作
@ 作者:达内 Python 教学部,吕泽@ 编辑:博主,Discover304
:star2:数据存储
人工管理阶段
文件管理阶段 (.txt .doc .xls)
数据库管理阶段: 数据组织结构化降低了冗余度,提高了增删改查的效率,容易扩展,方便程序调用处理
:star2:基本概念
数据库 : 按照数据一定结构,存储管理数据的仓库。数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合。
数据库管理系统 :管理数据库的软件,用于建立和维护数据库。像是MySql
:star2:关系型数据库和非关系型数据库
关系型: 采用关系模型(二维表)来组织数据结构的数据库 ,如Oracle 、SQL_Server、 MySQL
非关系型: 不采用关系模型组织数据结构的数据库,如:MongoDB、Redis。其中MangoDB是类似Json的树状结构
:star2:MySQL官网地址:https://www.mysql.com/
MySQL特点
是开源数据库,使用C和C++编写
能够工作在众多不同的平台上
提供了用于C、C++、Python、Java、Perl ...
【Python】高级笔记第一部分:文件读写和正则表达式
【Python】高级笔记第一部分:文件读写和正则表达式全系列导航见:Python教程整理
:four_leaf_clover:碎碎念:four_leaf_clover:Hello米娜桑,这里是英国留学中的杨丝儿。我的博客的关键词集中在算法、机器人、人工智能、数学等等,点个关注吧,持续高质量输出中。:cherry_blossom:唠嗑QQ群:兔叽的魔术工房 (942848525):star:B站账号:杨丝儿今天也在科学修仙(UP主跨站求个关注)
:star2:数据处理概述数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。当下数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响了人类社会发展的进程。数据处理也是大数据,数据分析等后续科学的基本环节。
:star2:基本概念数据 : 能够输入到计算机中并被识别处理的信息集合。
数据存储的发展阶段:
人工管理阶段:人为管理,没有固定的格式和存储方法,容易混乱。
文件管理阶段 :数据可以长期保存,存储数据量大,使用简 ...
【Python】笔记第六部分:生成器和函数式编程
:star2:迭代Iteration每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。例如:循环获取容器中的元素。
具有__iter__函数的对象,可以返回迭代器对象。
1234567# 创建:class 可迭代对象名称: def __iter__(self): return 迭代器# 使用: for 变量名 in 可迭代对象: 语句
背后的原理是:
123456迭代器 = 可迭代对象.__iter__() # 实例一个迭代器对象。while True: try: print(迭代器.__next__()) # 调用迭代器中的`__next__`方法。 except StopIteration: # 在迭代器 raise StopIteration 后停止。 break
迭代器对象是可以被__next__()函数调用并返回下一个值的对象。
12345678class 迭代器类名: def __init__(self, 聚合对象): # 聚合对象通常是容器对象。 self.聚合 ...
【Python】笔记第五部分:盒子的箱子,异常
:star2:模块 Module程序可以拆分成以.py结尾的模块,拆分相似的逻辑。
分开以后,把有关联的代码放在一起会更清晰,有利于合作开发。
不同文件之间的关联,将目标模块的成员导入到当前模块的作用域中。
12345# 你过来,面向过程比较多,因为用的是文件名。import 模块 as 名称# 主动过来,面向对象,直接可以拿来用。from 模块 import 成员1, 成员1, 成员1
当名字有冲突的时候,遵循就近原则。但是我们要尽力避免冲突的产生。
常用的命名:
BLL 业务逻辑层 business logic layer
DAL 数据访问层 data access layer
USL 用户显示层 user show layer
model 模型层
main 程序入口代码
__name__ 显示模块名字,显示 __main__ 的时候意思是主模块,也就是第一次运行的模块/不是被导入的模块。
python是解释型语言,但为了提高运行速度,让 python 程序更快启动,python使用了一种编译的方法。
源代码 –> 编译–> 字节码 – >解 ...
【Python】笔记第四部分下:黑盒子的三大特征
:four_leaf_clover:碎碎念:four_leaf_clover:Hello米娜桑,这里是英国留学中的杨丝儿。我的博客的关键词集中在算法、机器人、人工智能、数学等等,点个关注吧,持续高质量输出中。:cherry_blossom:唠嗑QQ群:兔叽的魔术工房 (942848525):star:B站账号:杨丝儿今天也在科学修仙(UP主跨站求个关注)
:star2:封装
:star:数据角度将一些基本数据类型复合成一个自定义类型。
将数据与对数据的操作相关联。
代码可读性更高(类是对象的模板)。
:star:行为角度向类外提供必要的功能,隐藏实现的细节。简化编程,使用者不必了解具体的实现细节,只需要调用对外提供的功能。
可以声明私有成员。
无需向类外提供的成员,可以通过私有化进行屏蔽。
封装可以开放有用的功能,可以帮助同事更容易阅读和使用代码。
做法:命名使用双下划线开头。
本质:障眼法,实际也可以访问。
私有成员的名称被修改为:_类名__成员名,可以通过 __dict__ 属性查看。
12345678910111213class MyClass: def _ ...