03 2018 档案
摘要:1. 首先,我正在跟B站上一个大佬介绍Latex的视频{让我去试验下,看看好不好,好的话我再做详细推荐和使用方法}。 2. 上述视频有推荐一个wiki, https://en.wikibooks.org/wiki/LaTeX 3. 我正在试用那个教程,后续会逐步更新学习笔记
阅读全文
摘要:概念: 0. 权限一般分为读、写、执行 1. 权限辐射的范围由小及大:用户 组 Other 2. 权限三个一组(rwx),对应UGO,分别设置每一个文件拥有一个所属用户和组,分别对应着U、G,对于既不属于该文件所属用户也不属于该用户组的用户的权限对应O权限 实例:
阅读全文
摘要:3/20: 突然发现有一种不错的搜索方案:直接去GitHub上搜关键字,然后限定语言,就有一种solution了。(以前没考虑过这样搜索) 关于中文搜索不靠谱: 去stackoverflow上定位。 架构层次的问题,要么问项目组老大,或者上值乎有偿求助大佬!
阅读全文
摘要:1. 知识要分级别: meta kownledge和cheap kownledge。 2. meta kownledge要全面深入的学一遍: 比如关系数据库基础理论,非关系型数据库基础理论;数据结构与算法;操作系统原理;计算机网络理论;计算机系统基础;(组成原理和体系结构可选学,等做了硬件方向再学不
阅读全文
摘要:1. ORM的架构: 核心函数:new, all, find_all, find_by,find.get,update,remove 各个支持子函数及其功能: 核心函数的实现流程: 2. 代码实践
阅读全文
摘要:看透request报文的本质:一个超大字符串的二进制串 分析:当用户在浏览器的地址栏输入一个URL,浏览器都做了什么? 1. 分析一个URL,分解出各个组分 2. 把各个组分组合成一个request报文 3. 通过TCP协议把request发送给Server 4. 通过TCP协议得到Server的响
阅读全文
摘要:分析,当服务器接收到客户端浏览器的request,都做了什么? 1.根据TCP协议得到request报文 2. 解析request {本质就是个二进制编码后的字符串},分析出path {路由信息} 3. 根据path和其他部分,执行某个函数,处理浏览器的需求 4. 处理完之后,根据response的
阅读全文
摘要:1. request的结构: 2. response结构: 3. request: 请求状态行:GET path http/1.1 {方法 路由信息 协议} Header:是个多行的k v对 中间有两个空行{程序中用 表示} Body中包含一些信息,比如当使用POST提交表单的数据就放在Body {
阅读全文
摘要:基于UDP的通信过程: 客户端和服务端区分不明显!即不做区分! 基本流程是: socket创建套接字 仅绑定端口号(绑定端口是可选项) 发送数据或者接收数据 关闭socket服务 1. UDP数据包格式: 四类报文的数据格式: 1. 读写请求: | 操作码| 文件名| 0 | 模式 | 0 | |
阅读全文
摘要:三要素: IP, 端口号,网络协议: IP: 可以唯一标识一个网卡,即在网络中唯一标识一台计算机 端口号:唯一标识一台计算机上的一个程序 网络协议:不同的计算机通过网络协议屏蔽网络差异,并实现数据交换 IP地址 1. IP 地址:(网络号)+主机号,一共32位 A类:("0"+7位)+24位 B类:
阅读全文
摘要:介绍几个常用的ORM For Mongo
阅读全文
摘要:从严格意义上讲,mongo没有类似MySQL那么强大且高效的外键 1. 替代品: 2. 如何实现等价于外键效果的“数据关联”?
阅读全文
摘要:1. 名词解析: 正向代理:我访问谷歌,但是被墙了。现通过VPN去访问谷歌,这个VPN就是我的代理服务器,它代理我去请求谷歌 反向代理:我现在访问谷歌,但是全球人都在访问,无法用一台服务器响应全球人的请求。那么就要用多台服务器S1~S100。所以特设置一个代理服务器MidServer,我现在不请求某
阅读全文
摘要:1. 相对路径 2. 绝对路径:
阅读全文
摘要:1. 环境操作: 命令行下远程连接数据库: centos下初始化数据库的安全设置: 授权一个root用户{允许远程的其他机器登陆本数据库}: 修改mysql对数据库的默认编码:{打开配置文件} 老版本: 新版本: 2. sql功能: 数据库数据的增删改查操作(CRUD) 数据库对象的创建,修改和删除
阅读全文
摘要:``` 1.配置文件为了效率:应该在底层修改:一改则所有APP都能用 如果单独某个APP需要特定的配置,再在单独的conf.php中单独定义,或者C方法在特定位置单独修改 配置:TP底层{管理配置}+APP配置{我们自己每一个APP的自定义配置} {大家公用的配置放在惯例配置里面} {单独每个APP的特定配置写在自己的conf.php里面} ...
阅读全文
摘要:```
1. |--空操作和空模块出现: |--模块写错或者模块下的方法写错;(访问不存在的M和A也算是“广义上”写错了,因为它没有嘛) |--缺省模块和方法名,但是默认模块和方法也没有加载成功。 // 总之一句话,这是由于URL出错,找不到任何MA造成的。 |--而默认操作和模块出现的条件:...
阅读全文
摘要:``` 1.oop基本概念: {通过析构函数分析变量或者对象的生命周期}: 通过__destruct{echo $this->$name}玉洁,学敏的例子, 可以清楚分析到,PHP的OOP构建对象的过程其实就是个压栈的过程, 最先生成的对象被压入栈底,最后生成的对象位于栈顶, 所以当我们人工执行析构函数或者程序执行到最后一行即将自动执行析构函数的时候, 释放内...
阅读全文
摘要:``` 1.复习OOP: * 析构函数:|--默认是在程序结束时自动调用,目的是释放所有的资源{比如打印机资源} |--本质:PHP通过监测一个对象或者变量,发现它再不会被使用,就决定销毁它,释放内存。 * 但是注意 * 检测一个对象是不是真的再也不...
阅读全文
摘要:```
1->GD库: //形成画布资源,传入filename,返回资源 $im = imagecreatefromjpeg(); //获取大小的信息: 1).形成资源,基于imagesx,imagesy: $im = imagecreatefromjpeg($filename); ...
阅读全文
摘要:```
1.数组函数: //大多返回一个数组,键有可能变化,也可能不变。查手册 (1).键值操作: array_values(); //提取value array_keys(); //提取key in_array(); //value存在? ar...
阅读全文
摘要:``` 1. 一维数组的定义:两种(1) $arr = array('0'=>123, 'hh'=>'hh'); (2) $arr[] = 123; $arr['hh'] = 'hh'; 这个数组等价于上面的. 常用二维数组 $arr = array( '0'=>'aaa', 'zh'=>'hhq...
阅读全文
摘要:``` ' echo print_r() var_dump() ', '8种变量类型' => ' int float string bool || array() object{} || resource null ', '变量测试' => 'is_int(), is_srting()......' ...
阅读全文
摘要:```
1.逻辑卷LVM实现原理: |--实现传统硬盘分区不能解决容量拉伸的问题 |--底层是把物理硬盘分成PE进行管理. |-- 物理硬盘--> PV--> VG--> LV {见图} *.创建使用LVM: 创建LVM: |-- pvcreate /dev/sdb /dev/sdc ...
阅读全文
摘要:``` 1.rsyslog日志: | 日志目的:记录系统运行状况,记录设备的各类信息,正常运维时作为监控使用;出现问题检查日志来查找问题来源 | {1}rsyslog保存位置 :/var/log {2}secure message dmesg boot.log {四个常用log} {3}servic
阅读全文
摘要:``` 1.Linux介绍: |--open source |--based on unix |--it consists of kernel and shell . |--centos ubuntu redhat...... (centos 就是拿 redhat 的源码重编译了一次) |--linux 安装注意:|---安装选项存在memory...
阅读全文
摘要:1. 安装完成后,在开始菜单里找到“Git” “Git Bash” 2. git config global user.name "Your Name" git config global user.email "email@example.com" 3. cd F: (打开F盘) mkdir (创
阅读全文
摘要:1. 每当需要merge时,报错 解决方案:命令后面 加入 ` allow unrelated histories`
阅读全文
摘要:git pull命令用于从另一个存储库或本地分支获取并集成(整合)。git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,它的完整格式稍稍有点复杂。 使用语法 git pull [options] [ […]] Shell 描述 将远程存储库中的更改合并到当前分支中。在默
阅读全文
摘要:``` 1. 页面中引入js: 2. js基础: 3. 什么是DOM,DOM的API: 4. 什么是事件,如何绑定事件 5. json格式 6. 什么是后端API,怎么做后端API 7. 注:自己实现一个log(),用于调试js代码 web 9 ...
阅读全文
摘要:1. ajax: 使用js来提交数据到服务器,服务器返回数据给js,然后js局部刷新显示在浏览器。js可以实现异步刷新浏览器界面。 ajax无法跨域访问 {即无法直接跳转至当前的模块外部,需要另写重定向函数及重定向路由} 2. ajax改造todo: ajax()的执行流程:{下面3、4的顺序可以交
阅读全文
摘要:如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法如下: 1、先输入$ git remote r
阅读全文
摘要:第一步:建立git仓库 第二步:将项目的所有文件添加到仓库中 第三步:将add的文件commit到仓库 第四步:去github上创建自己的Repository 第五步:重点来了,将本地的仓库关联到github上 第六步:上传github之前,要先pull一下,执行如下命令: 第七步,也就是最后一步,
阅读全文
摘要:当函数的参数不确定时,可以使用 和 ,` args key kwargs key args list kwargs key value dictionary`, just use " " to collect all remaining arguments into a tuple 称之为 称之为
阅读全文
摘要:浅拷贝 只拷贝父对象,不会拷贝父对象中的子对象。如果该对象没有子对象的话,其浅拷贝和赋值的结果是一样的。浅拷贝可以通过导入copy模块中的copy()方法来完成,或者调用对象本身的copy()方法。例: 通过上述的例子可以看出,我们改变变量a中父对象的值,不会影响变量b,但是改变变量a中子对象的值,
阅读全文
摘要:1. 参数 用途表格: | 函数名 | 参数 | 调用者 | 功能 | | | | | | | \__new__ | self | | | |\_init__ | cls | | | |\__str__ | self | | | |\__mro__ | None | | |
阅读全文
摘要:keys()返回一个dict所有的key的list,values()返回一个dict所有value的list
阅读全文
摘要:以下内容整理都来自尚学堂的python基础的笔记 1. is 和== is 是instance级别的相等,很严格 == 是value层次的相等,很松 2. 深拷贝与浅拷贝: 3.
阅读全文
摘要:is 判断两个变量是否引用同一个对象,类比java的equal(); == 判断对象的内容是否相同,类比java的== is not判断两个变量引用自不同的对象,而 != 判断两个变量的值不同 id() 可以查看变量(或者叫对象)的内存地址,可以分析两个变量分别引用哪一个对象 结论: 整数,字符串这
阅读全文
摘要:游戏规则: 有一个筛子游戏: 1.已知:有2个玩家,每个玩家有3个骰子(dice) 2.问:猜测这6个骰子的点数的类型及每一类的个数 (比如1点出现3次,6点出现3次) 类的设计 UNL之类图: 中文描述类的结构 1.骰子游戏本身是个class,名称为DiceGame 2.玩家是一个class,名称
阅读全文
摘要:注:在与本文件同级目录下,新建backup stus.txt和stus.txt
阅读全文
摘要:import os rename(old,new):只能重命名文件名 renames(old,new): 文件名,路径,均可以重命名
阅读全文
摘要:应用1: 批量修改文件名: 应用2: 给定一个目录和kewword,查找哪些\.py文件有这个keyword (编辑器的搜索功能)
阅读全文
摘要:三个命令: 交互调试: 执行时调试 {最常用的,必须掌握} 常用命令 几个例子:
阅读全文
摘要:复习异常: try: 有可能发生异常部分 print('try...') r = 10 / 2 r = 10 / 0 print('result:', r) 如果正常会走到这里 except ZeroDivisionError as e: 发生除零异常会走到这里 {没有就跳过except} prin
阅读全文
摘要:调试debug 1. print, {到处都是print(),影响阅读} 2. assert {和print差不多,但是可以在控制台写 python O 关闭assert} 3. logging :通过设置level,同一个语句输出不同级别的debug信息。 而且,一条语句可以同时输出到不同地方 4
阅读全文
摘要:文档测试: Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试。 mydict2.py class Dict(dict): 下面这些'''xxx'''部分即为自定义的测试语句,写成了注释。 ''' Simple dict but also support acce
阅读全文
摘要:单元测试:对一个函数,类,模块进行测试:TDD(测试驱动开发) 在同一个目录下建两个py文件:mydict.py和Testmydict.py mydict.py class Dict(dict): def __init__(self, kw): super().__init__( kw) def _
阅读全文
摘要:1. 分类与语法: 系统解释器自动捕获异常 写程序自己捕获并展示: try except else finally 注1:一旦引发了一个异常,程序就不会往下走,就不会引发其他的异常 注2:try包住有可能会出错的代码块,然后为它定义一个except部分输出异常信息。那么try部分一旦发生异常,整个程
阅读全文
摘要:3. 自定义异常: 自定义一个异常class,默认继承ExceptionError raise 抛出一个自定义的异常class的对象 python class PasswordException(Exception): def __init__(self,pw,min_length): self.p
阅读全文
摘要:正则表达式:字符串匹配 1.单字符表示: . = 通配 /d = 数字 /w = 字母及数字 /s = 空格,Tab,\n,\t这些空白符 ''' 2.字符个数: ''' = 任意个(包括0) + = 至少一个 ? = 0或1个 {n} = n个 {n,m} = n~m个 ''' 3.组合举例: '
阅读全文
摘要:1. 对象池: 为了减小创建相同对象的开销,python将以下的数据类型的instance放在对象池中(常驻内存)。如果需要的对象已经创建过,就直接去池子中拿:(无须每次都创建和销毁) 小整数:[ 5,257) 好像有变化了 单个英文字符 单个单词(以空格为分界线,有空格就是一个句子) c1 = '
阅读全文
摘要:1. 模块 模块 工具包;模块内类与函数 工具 python中一个py文件可以是一个模块 引入方式: import 模块名1,模块2... 模块名.函数名 import math print(sqrt(2)) 这样会报错 print(math.sqrt(2)) 这样才能正确输出结果 from 模块名
阅读全文
摘要:2. 自定义类: | name | 说明 | 触发时机及功能 | | | | | | | 限制本类的instance的所有属性(以tuple的形式写死了,不能再定义更多的属性),但无法限制其子类| 定义实例属性时| | | 类似统计元素个数| | | | 将普通实例变成Iterable对象| for
阅读全文
摘要:1. 基本结论 意义:集合具有迭代能力Iterable 可迭代:iterable isinstance([], Iterable) 能力 able 迭代器:iterator isinstance([], Iterator) 具备能力且本身可以是无穷的数据流才是tor 转化法:iterable 通过i
阅读全文
摘要:1. 列表生成式 列表生成式 method_1 {太原始,不推荐} L = [] for i in range(1,11): [1,11) L.append(i i) print(L) method_2 最佳的办法 L1 = [x x for x in range(1,11)] print(L1)
阅读全文
摘要:1. generator表达式: generator表达式 def test1(): L = [ x 2 for x in range(5)] list conprehension G = ( x 2 for x in range(5)) p(next(G)) p(next(G)) p(next(G
阅读全文
摘要:1. 类装饰器必须接受一个callable对象 python强调“函数即对象”,说明对象可以当做函数用。即支持 对象名(实参) :背后的原理是为一个对象自定义__call__()方法,对象立即变成 callable对象, 当执行 对象名(实参) 时,自动激发该对象的__call__() class
阅读全文
摘要:1. 原理 L:local,局部作用域,即函数中定义的变量; E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的; G:global,全局变量,就是模块级别定义的变量; B:built in,系统固定模块里面的变量,比如int, bytearray等
阅读全文
摘要:1. 定义: Decorator(即装饰器)其实就是闭包实现的一个函数:把{一个待扩展功能的函数Fun}当做参数传入一个外函数Out,在外函数内部定义的内函数In“装饰扩充”Fun,然后返回In。 一句话描述:把一个函数A当参数传入另一个函数B,并返回一个函数C def Out(Func): def
阅读全文
摘要:1. inner_sum便是一个闭包,他的生命周期和自由变量args一样。 def calc_sum( args): 可变参数 def inner_sum(): ix = 0 局部变量,暂存累加结果 for y in args: args是calc_sum这个外部函数的变量, 被内部函数{闭包}in
阅读全文
摘要:1. 定义: 内层函数使用了外层函数作用域的变量(属于E区变量),则称内部函数为闭包。简单说就是: 外层函数里面定义了内层函数 内层函数引用了外层函数的变量(E区变量) 这不是闭包,只是函数的嵌套 def fun1(): def fun2(): print("fun2\n") return fun2
阅读全文
摘要:1.原理 1.全局变量是指函数外定义的,局部是指函数体内定义的;函数内部global 定义的也是全局。 2.全局变量: 读操作:函数局部区或者全局区,均可以直接引用。(除非被局部变量屏蔽,想不被屏蔽,用global声明) 写操作:想要在函数局部区引用全局变量 1)若全局变量是dict和list (注
阅读全文
摘要:2. 自定义类: | name | 说明 | 触发时机及功能 | | | | | | | 限制本类的instance的所有属性(以tuple的形式写死了,不能再定义更多的属性),但无法限制其子类| 定义实例属性时| | | 类似统计元素个数| | | | 将普通实例变成Iterable对象| for
阅读全文
摘要:filter 定义:传入一个 与`Iterable对象I f(I(i)) True或False I(i)`。起到过滤器的功能 def is_odd(x): return (x%2 == 1) L1 = list(filter(is_odd, range(11))) filter和map类似,返回值都
阅读全文
摘要:1. 常用的内建属性: | name | 说明 | 触发时机及功能 | | | | | | |对创建好的对象进行初始化| 在__new__()之后,对象属性要赋值时使用| | |创建类的对象|创建实例,为实例分配内存| | | 实例所在的类| | | | 实例的字符串表示| ,如果没有自定义 ,默认
阅读全文
摘要:functools functools 是python2.5被引入的,一些工具函数放在此包 import functools print(dir(functools)) 偏函数 partiial function:把原函数的某些参数设为默认参数,返回一个新函数名,以简化函数调用的形式 实例1: 1.
阅读全文
摘要:sorted 传入一个 和排序参数 命名关键字参数 {注意key参数可以传入一个 } 等价于 对每一个 都先执行 ,再拿来排序 1.普通数值型 L1 = [36,5, 12,9, 21] L1 = sorted(L1) print(L1,'\n') L1 = sorted(L1, key=abs)
阅读全文
摘要:函数式编程 map map(f, I) 等价于对I的每个元素I(i)都执行f, 然后再把所有f(I(i))拼接成一个Iterator并返回 map传入函数和一个Iterable(一个序列),返回一个Iterator 注意到Iterator是惰性序列,只有被调用才能被获取,要通过诸如list,for等
阅读全文
摘要:map,reduce, filter, sorted 根据提供的函数对指定序列做映射 第一个参数为一个函数对象(比如lambda表达式,比如一个普通函数) 第二个(或者更多)参数接收一个 。 对 中每一个元素执行 ,得到 把所有 拼接成一个 ,返回出去 因为 是惰性序列,需要用 迭代出来 函数需要一
阅读全文
摘要:1. 使用 @property 原始的实现访问限制的方法:先设置私有属性,再内部编写get(),set(),外部只能访问set和get class Student(object): def Get_Score(self): return self.__score def Set_Score(self
阅读全文
摘要:1. 为instance动态增加属性和方法{对象层次的} class Student(object): pass s1 = Student() 给s1新增属性 s1.name = 'haozhang' print(s1.name,'\n') 给s1新增方法 def SetAge(self,age):
阅读全文
摘要:10. 设计模式: 1. \__new__()的作用: 真正构造一个instance并return,如果不return,那么就没有instance 系统默认隐式地调用这两个魔术方法,当然,自己也可以重写,以及显式调用 class Animal(object): def __init__(): pri
阅读全文
摘要:1. 举例: class People(self,name,age): def __init__(self,name,age): self.name = name self.age = age def run(self): print("I can run") p1 = People("Tom",
阅读全文
摘要:问题背景: notepad可以很方便的调用cmd,使用python自带的python.exe编译python源代码。但是插件很少,功能远不如sublime sublime插件很多,代码提示和自动完成以及pep8标准都很好,碾压notepada。但是无法直接调用cmd,无法弹出黑窗口来编译源代码。(注
阅读全文
摘要:1. 安装环境,配置编辑器,半天。 2. 廖雪峰的教程:基本语法期,手敲。慢一点。2天足够了 3. 廖的后面稍微高级部分,建议跳看,而且不要敲他的代码。因为讲得太散,不深入原理,而且不够全面,看了敲了还是不会。我建议把它当做一个index,按照这个index去看书(python入门手册或者pytho
阅读全文
摘要:只要是我觉得最快的方法就行,不用学各种稀奇古怪的方法学python。 就是廖雪峰的文章,然后尚学堂的视频补充,最后尚学堂的实战视频。 再后来再看。 不要看网上稀奇古怪的教材,先把我这个路线走好再说。 至于英文文档,官方手册,等我搞完了搞懂了,再去知乎上问下怎么看官方手册?毕竟英文的,毕竟那个我看不太
阅读全文
摘要:语法特点 数据类型 数据结构 字符与字符串 输入输出 列表生成式 切片
阅读全文