![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
note
文章平均质量分 60
Gosick_Geass_Gate
这个作者很懒,什么都没留下…
展开
-
Python - flask后端开发笔记
【代码】Python - flask开发笔记。原创 2023-09-24 16:15:18 · 556 阅读 · 0 评论 -
Python - 字符串拼接效率对比
##(一)三种字符串拼接/格式化方式对比不难看出使用%格式化字符串的效率是最高的。另外要注意下一般情况下数字格式化使用%s是要比%d效率更高的。原创 2023-07-16 12:05:41 · 520 阅读 · 0 评论 -
Python - bool转int,用类型转换还是if-else?
要利用一个布尔值从长度为2的列表中取值原创 2023-07-03 22:25:55 · 343 阅读 · 0 评论 -
Python - 批量下载ts文件并合并为mp4
这个需要借助ffmpeg工具去实现。Windows平台可以直接到。下载压缩包,解压之后把bin目录加入到环境变量中即可。以文件流的形式获取,并以字节的形式写入本地文件即可。网页文件下载其实都可以通过。原创 2023-05-29 01:35:09 · 1456 阅读 · 0 评论 -
Python - 多继承与MRO
实际上,但我们真的遇到了像上面的案例这种情况时,最好还是审慎考虑是否需要使用到多继承,如果是的话能否尽量避免同名方法参数不一致的问题(或者父类不出现同名参数),实在没办法的话就按方法二的显式调用来替代super调用吧。答案是否定的,只有当同名方法没有被重写时(即保留了super的调用),才会继续调用MRO中下一个类的同名方法。当执行子类对象的方法时,是不是一定会按照MRO去依次执行各父类的同名方法?方法查看某个类的MRO列表(方法调用顺序)。按MRO的顺序依次执行到D, B, A的。原创 2023-05-20 23:08:47 · 440 阅读 · 0 评论 -
MongoDB随机查询
(2)随机数法:插入记录时生成一个随机数一并插入,取样时再生成一个随机数,先从文档中选出存储的随机数比该随机数大的指定数量的记录,如果取出的数量不够时再取出比该随机数小的记录补足。缺点是不够随机,每次取出的记录可能重复性较大。(1)聚合抽样:MongoDB的aggregate提供了sample阶段,可以从文档中取出指定记录,不过缺点是在数据量大的集合高频调用时可能会导致响应缓慢。一般情况下数据量不大的情况下用官方的方法一就足够了。不过如果是要随机取100条呢?原创 2023-03-18 17:08:40 · 624 阅读 · 0 评论 -
Python2.7使用apscheduler定时任务报错AttributeError: ‘datetime.datetime‘ object has no attribute ‘timestamp‘
环境Python版本:2.7.18apscheduler版本:3.9.1.post1(直接用pip install apscheduler安装) 发现问题from apscheduler.schedulers.background import BackgroundSchedulerdef task(): print 'test'scheduler = BackgroundScheduler()scheduler.add_job(task, 'cron', hour=6, minute=0原创 2023-03-14 23:02:56 · 2241 阅读 · 0 评论 -
DataTables & X-editable - 使用ajax从后端获取数据
(一)ajax请求后端数据$.ajax({ url: "/xx/yy", type: "post", data: {"test": test}, dataType: "json", success: function(ret){ if(!ret["success"]) { alert(ret["msg"]); return; } }, error: function(jqXHR, textStatus, errorThrown){原创 2022-01-03 16:49:47 · 1239 阅读 · 0 评论 -
Python - Samba服务器部署及使用
(一)Samba服务器的部署本文使用wsl来进行Linux平台(Debian或者Ubuntu)的Samba服务器部署,具体的操作流程可以参考:玩转WSL-用Samba服务替代Win10原生的文件共享。流程很详尽,给大佬比个心。下面主要说下部署过程中遇到的一些不太常见的坑点:在给Samba服务设置用户还是启动Samba服务(记不清了)这一步报错了,后来忘记是在StackOverflow还是Github上的讨论中找到了答案:Samba服务不支持在wsl上部署,只能升级到wsl2重头来过!参考win10原创 2021-12-04 02:02:39 · 4023 阅读 · 0 评论 -
DataTables - 导出buttons使用
(一)代码示例html代码和javascript代码可以参考官网的例子:https://datatables.net/extensions/buttons/examples/initialisation/simple.html。(二)DataTables配置需要用到jQuery和DataTables相关的css和javascript代码:<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.16/原创 2021-10-06 14:11:19 · 1281 阅读 · 2 评论 -
SVN - 常用知识点
(一)基本操作svn add 文件/目录:新增文件/目录svn up (文件/目录) (-r 版本):从服务器更新(文件/目录)至某版本(默认是最新版本)svn commit -m 日志描述:提交至服务器svn st:查看工作区所做的改变svn info (文件/目录):查看文件/目录的信息svn -log (-l 日志数):查看日志(可限制数目)svn diff (文件/目录) -r (版本1 :) 版本2:比较两个版本(默认是当前版本)(文件/目录)的差异svn export . 导出原创 2020-10-12 23:54:17 · 1359 阅读 · 0 评论 -
Python - 类编程要点
(一)子类调用超类方法子类可以通过类方法的形式调用超类的方法。e.g.class A(object): def __init__(self): print 'A'class B(A): def __init__(self): A.__init__(self) print 'B'(二)抽象类Python2示例:from abc import ABCMeta, abstractmethodclass A: __metaclass__ = ABCMeta @abs原创 2020-07-10 19:44:10 · 324 阅读 · 0 评论 -
Python - 模块编程要点
以下内容参考自《Python学习手册》。(一)基本用法#module1.py(示例模块)x = 1def printer(): print ximport语句:模块中的成员要通过模块对象来获取。e.g.>>> import module1>>> module1.printer()1from语句:把模块的成员复制到当前的全局作用域。这种情况下修改变量并不会影响模块对象的变量。>>> from module1 import prin原创 2020-06-15 22:35:37 · 246 阅读 · 0 评论 -
Java - 外网服务器与内网客户端的UDP通信
(一)原理要点数据类型:DatagramSocket与DatagramPacket每个socket在创建时都会绑定一个端口:使用构造方法public DatagramSocket(int port)会绑定指定端口;使用构造方法public DatagramSocket()会随机绑定可用的端口。发送数据报时需要指定目的地址和目的端口:DatagramPacket packet = ...原创 2020-04-27 23:42:08 · 1153 阅读 · 0 评论 -
python - 生成器Generator
以下内容参考自《Python学习手册》。在Python中,有两种语言结构可以延迟产生结果:生成器函数:在def代码块中使用yield一次返回一个结果,在每个结果之间挂起和继续它们的状态。 生成器表达式:类似于列表解析,但是边界符使用圆括号而非方括号。它们返回按需产生结果的一个对象,而不是构建一个结果列表。(一)生成器函数1.状态挂起和返回一个值并退出的常规函数不同...原创 2020-01-03 00:14:21 · 263 阅读 · 0 评论 -
Python - 参数匹配模型
以下内容参考自《Python学习手册》1.匹配语法表语法 位置 解释 func(value) 调用者 常规参数:通过位置进行匹配 func(name=value) 调用者 关键字参数:通过变量名匹配 func(*tuple) 调用者 以name(一个元组)传递所有的对象,并作为独立的基于位置的参数(解包参数) func...原创 2019-12-31 18:00:48 · 359 阅读 · 0 评论 -
必会的List Comprehension (列表推导式 / 列表解析式)
以下内容转载自必会的List Comprehension (列表推导式),原作者为CodingFish。强大的List Comprehension (列表推导式或者列表解析式)是Python中必须知道的概念。然而对于初学者来说是最具挑战性的。掌握这个概念将会在两个方面帮助你:应该写更短和更高效率的代码 代码应该执行的更快List Comprehension 比for循环快35%,...转载 2019-12-16 15:29:14 · 2797 阅读 · 0 评论 -
Python - 文件和目录操作
以下内容参考自《Python爬虫开发与项目实战》。在Python中对文件和目录的操作经常使用到os模块和shutil模块,常用的方法如下所示:获得当前Python脚本工作的目录路径:os.getcwd() 。e.g.>>> os.getcwd()'D:\\Code\\Python'获取文件/目录列举指定目录下的所有文件和目录名:os.listdir(pa...原创 2019-11-05 11:31:20 · 174 阅读 · 0 评论 -
浏览器输入URL到服务器响应的过程(简明版)
浏览器输入URL到服务器响应的过程1.浏览器识别URL协议名 主机、端口 路径2.域名解析(DNS)查询浏览器缓存。 查询系统缓存(host)。 ISP的缓存DNS服务器进行递归查询,从根域名服务器查到顶级域名服务器再查到权限域名服务器,最后得到目标域名的IP地址。3.浏览器和服务器建立TCP连接(三次握手)。4.浏览器发送请求应用层发送HTTP请求。 传...原创 2019-10-12 11:33:34 · 496 阅读 · 0 评论 -
TCP流量控制和拥塞控制
以下内容转载自TCP流量控制和拥塞控制,原作者为简单爱_wxg。TCP的流量控制 所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。 如图所示,说明了利用可变窗口大小进行流量控制。设主机A向主机B发...转载 2019-03-19 16:19:10 · 272 阅读 · 0 评论 -
计算机网络笔面试例题要点
一、物理层1. 光纤的组成光纤由三层材料组成,中心高折射率玻璃芯,中间为低折射率硅玻璃包层,最外是加强用的树脂涂层。 包层的材料一般用纯二氧化硅,也有掺极微量的三氧化二硼。掺杂的作用是降低材料的光折射率。 涂层是用来保护光纤不受外来的损害,增加光纤的机械强度。二、链路层1. 交换机的基本功能:(1)像集线器一样,交换机提供了大量可供线缆连接的端口,这样可以采用星型拓扑布...原创 2019-10-12 13:20:39 · 322 阅读 · 0 评论 -
C++ - const
以下内容参考自《程序员面试宝典》(一)指针常量 & 常量指针关于const修饰指针的情况,可以分为以下4种情况:int b = 1;const int* a = &b; // case 1int const *a = &b; // case 2int* const a = &b; // case 3...原创 2019-09-01 17:03:27 · 264 阅读 · 0 评论 -
C++ - 指针和引用的区别
以下内容转载自浅谈C++中指针和引用的区别,原作者为Matrix海子。指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1. 指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int...转载 2019-08-29 16:36:20 · 122 阅读 · 0 评论 -
C++11中智能指针的原理、使用、实现
以下内容转载自C++11中智能指针的原理、使用、实现,原作者为binbinneu。1.智能指针的作用 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生...转载 2019-09-07 22:46:02 · 210 阅读 · 0 评论 -
C++中的RAII介绍
以下内容转载自C++中的RAII介绍,原作者为binbinneu。摘要RAII技术被认为是C++中管理资源的最佳方法,进一步引申,使用RAII技术也可以实现安全、简洁的状态管理,编写出优雅的异常安全的代码。资源管理RAII是C++的发明者Bjarne Stroustrup提出的概念,RAII全称是“Resource Acquisition is Initialization”...转载 2019-09-07 22:51:23 · 186 阅读 · 0 评论 -
HTTP - 长连接(Keep-Alive)模式
以下内容分别转载或摘录自:【1】松若章,你猜一个 TCP 连接上面能发多少个 HTTP 请求。【2】烛秋,HTTP的长连接和短连接【3】吴秦(Tyler),HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等【4】JanzzZ,粘包【5】大老虎打老虎,tcp长连接分包方法(一)一个 TCP 连接上面能发多少个 HTTP 请求一道经...原创 2019-09-09 23:38:22 · 1087 阅读 · 0 评论 -
C/C++ - struct&union&class 附大小端简明例子
(一)区别1.在C中,struct和union的区别:struct:各成员各自拥有自己的内存,各自使用互不干涉,同时存在的,遵循内存对齐原则。一个struct变量的字节对齐长度至少能容纳最大的成员变量,而且要满足是所有成员类型大小的整数倍。 union:各成员共用一块内存空间,并且同时只有一个成员可以得到这块内存的使用权(对该内存的读写),各变量共用一个内存首地址。一个union变量的...原创 2019-09-15 13:15:05 · 316 阅读 · 0 评论 -
Andorid - Activity的生命周期
以下内容转载自深入理解Activity的生命周期,原作者为这是朕的江山,部分内容有所新增。 之前学习安卓的时候只是知道生命周期是什么,有哪几个,但具体的详细的东西却不知道,后来看过《Android开发艺术探索》和大量博客之后,才觉得自己真正有点理解生命周期,本文是我对生命周期的认识的总结。 废话少说先上图。 相信学习安卓的人对这幅图都很熟悉,...转载 2019-08-29 14:37:37 · 143 阅读 · 0 评论 -
网络泛洪与广播风暴
以下内容转载自雨水泛洪和网络泛洪那个更可怕,原作者为Hardy晗狄,部分内容有删节。交换和网络泛洪网络泛洪是网络概念,在交换机二层通信的过程中,当一台交换机收到一个数据帧时,分析数据帧头部的目的地址,并地址表中进行查找,如果有匹配项,则将数据帧从该匹配项所关联的交换机端口交换出去,如果没有匹配项,则将数据帧进行泛洪,将该数据帧在除了接收帧之外的所有端口上发出去。...转载 2019-08-29 09:51:15 · 3100 阅读 · 0 评论 -
Java - 静态分派与动态分派
以下内容转载自深入理解Java虚拟机-重写和重载的的实现,原作者为TobiasLee,部分内容有增删。在《深入理解Java虚拟机》看到8.3 方法调用这一节的时候,突然就想到上次看到的三道清华Java测试题,里面就有一题考察的是关于Java 方法的Overload。涉及到的一个核心问题就是: Java是怎么知道要调用哪个方法的?首先,方法调用不等同于方法执行。方法调用唯一的任务就是确...转载 2019-08-28 20:53:07 · 257 阅读 · 0 评论 -
linux常用命令
一、基本命令格式1.[用户@主机名 当前所在目录]#[root@localhost ~]#root:当前登陆用户(root表示超级用户,即管理员)localhost:主机名~:当前所在目录(~表示家目录)#:超级用户的提示符(普通用户的提示符为$)注:超级用户的家目录是名为/root的一级目录;而普通用户的家目录则是名为/home/用户名的二级目录。e.g....原创 2019-04-09 14:57:23 · 356 阅读 · 0 评论 -
Java-多线程
(一)Thread类与Runable接口Thread类和Runable接口都存在于java.lang包,二者都具有run()方法,在Thread的start()方法中会调用。实现自定义的线程有两种方式:一是在Thread的子类中重写run()方法,再声明该子类对象。 二是实现Runnable接口中的run()方法,再将该实现类对象作为参数构造Thread类对象。在程序开发中只要是多...原创 2019-03-25 22:40:46 · 173 阅读 · 0 评论 -
常用设计模式笔记
1. 策略模式与简单工厂模式的异同同:两者都是通过多态去减少代码的耦合度。异:策略模式传递的是特定的产品类对象生产产品;简单工厂模式传递的是特定的信息(e.g.类名)。package com.test;public class Client { public static void main(String[] args) { // 策略模式 Strategy s = n...原创 2019-07-15 15:25:59 · 99 阅读 · 0 评论 -
C++&Java静态成员变量初始化
数据成员可以分为静态变量和非静态变量两种。 静态成员(Java中也称为类成员):静态类中的成员加入static修饰符,即是静态成员。可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员。因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员。 非静态成员(Java中也称为对象成员):...原创 2019-03-13 00:09:39 · 751 阅读 · 0 评论 -
编译原理知识点
(一)引论一、两类程序语言处理程序(翻译的两种方式)1. 编译程序(编译器):先将源程序翻译成汇编语言程序或机器语言程序(称为目标程序),然后再执行它。2. 解释程序(解释器):按解释方式进行翻译的翻译程序称为解释程序。解释程序的主要优点是便于对源程序进行调试和修改,但其加工处理过程的速度较慢。e.g. BASIC。注:(1)把汇编语言程序翻译成机器可执行的目标程序的工作是由汇...原创 2019-05-16 09:15:52 · 7153 阅读 · 2 评论 -
三次握手&四次挥手
以下内容转载修改自TCP三次握手和四次挥手过程,原作者为Andya,部分内容有所增删改。(一)三次握手(1)三次握手的详述 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发送ACK报文,并分配资源,这样TCP连接就建立了。 最初两端的TCP进程都处于C...转载 2019-03-19 15:27:54 · 195 阅读 · 0 评论 -
Java & C++ & Python - 数据类型、字面常量与类型转换
一、数据类型1. Java的数据类型分为三大类:布尔型(boolean)、字符型(char)和数值型(整型byte、short、int、long;浮点型float、double)。Java还有8个包装类(将简单类型的变量表示为类):Boolean、Character、Byte、Short、Integer、Long、Float和Double。此外,编程时还经常使用到两种类变量:Strin...原创 2019-03-10 23:23:35 · 456 阅读 · 0 评论 -
AVL树(平衡二叉树)与红黑树(RBTree)的对比
(一)简介1. AVL树:一棵AVL树或者是空树,或者是具有下列性质的二叉查找树——它的左子树和右子树都是AVL树,且左子树和右子树的高度之差的绝对值不超过1。e.g. 高度不平衡的二叉排序树 高度平衡的二叉查找树(AVL树)2...原创 2019-03-16 15:10:13 · 9327 阅读 · 0 评论 -
操作系统面试例题要点
一、进程1. 试解释操作系统原理中作业、进程、线程、管程各自的定义。(1)作业:用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。它包括用户程序、所需要的数据及控制命令等。作业是由一系列有序的步骤组成的。(2)进程:一个程序在一个数据集合上的一次运行过程。一个程序在不同的数据集合上运行,乃至一个程序在同样的数据集合上的多次运行都是不同的进程。(3)线程:线程是进程中的...原创 2019-10-12 13:20:30 · 372 阅读 · 0 评论 -
Java-ClassLoader学习笔记
以下笔记整理自《Java程序员面试宝典》以及博客JVM工作原理和流程。一、ClassLoader基本概念与C或C++编写的程序不同,Java程序并不是一个可执行文件,而是由许多独立的类文件组成的,每一个文件对应一个Java类。此外,这些类文件并非全部装入内存,而是根据程序需要逐渐载入。JVM的类加载是通过ClassLoader及其子类来完成的,有关JVM的工作原理、类加载的工作流程以及Ja...原创 2019-03-09 17:04:19 · 215 阅读 · 0 评论