自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iSummer的专栏

每天进步一点

  • 博客(265)
  • 收藏
  • 关注

原创 gpt草稿

文档

2023-02-12 21:55:30 494

原创 进程的控制

fork函数#include <sys/types.h>#include <unistd.h>pid_t fork(void);fork调用失败则返回-1,调用成功的返回值见下面的解释。我们通过一个例子来理解fork是怎样创建新进程的。例30.3.fork#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib..

2022-05-02 21:43:08 182

原创 322. 零钱兑换

https://leetcode-cn.com/problems/coin-change/给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], .

2022-01-23 21:52:14 461 1

原创 509. 斐波那契数

通过这个简单的题目来入门动态规划和递归。不是所有的递归都需要动态规划,只有大问题分叉为子问题,并且子问题需要重复计算,重叠计算才需要动态规划。509. 斐波那契数https://leetcode-cn.com/problems/fibonacci-number/斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1)= 1F(n) = F(n - 1) + F(n - 2).

2022-01-22 17:27:21 382

原创 leetcode32. 最长有效括号

https://leetcode-cn.com/problems/longest-valid-parentheses/给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = "(()"输出:2解释:最长有效括号子串是 "()"示例 2:输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"示例 3:输入:s = ""输出:0提示:0 <= s.length <= 3 *.

2022-01-12 15:31:45 178

原创 面向对象概念

高内聚低耦合:内聚:一个函数只具有单一功能耦合:不同模块之间减少互相调用。就像完全图互相连线那样,叫高耦合。接口:一组相互交互方法的集合。抽象类:介于类和接口之间,具有类的属性和方法,方法可以实现,但是不能实例化。接口时特殊的抽象类。...

2022-01-08 16:16:29 1787

原创 栈---结构

栈是一个线性表,是一个特殊的数组。特点:先进先出。计算机系统结构中常用的存储数据的模块。常常和堆并列提及。栈顶,栈底指针指向数据。对于递归,则需要联系栈帧,和栈顶指针。栈帧:一个函数调用部门信息存储第一版# 栈,先进先出# 属性# 栈顶,栈底# top# 方法# pop# push# is_empty# lenclass Stack(object): def __init__(self): self._top = 0

2022-01-07 23:53:05 360

原创 责任链模式

官方定义:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。代码实现有点问题import abc# 逻辑乱# 抽象类定义方法# 具体类实现# 日志定义等级,符合日志等级则打印。不符合则传递给下一个类。#class AbstractL

2022-01-04 21:31:48 145

原创 《后端架构师技术图谱》

architect-awesome/README.md at master · xingshaocheng/architect-awesome · GitHub

2022-01-04 20:32:14 255

转载 linux定时任务cron配置

实现linux定时任务有:cron、anacron、at,使用最多的是cron任务名词解释  cron--服务名;crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似;crontab--是定制好的计划任务表软件包安装  要使用cron服务,先要安装vixie-cron软件包和crontabs软件包,两个软件包作用如下:  vixie-cron软件包是cron的主程序。crontabs软件包是用来安装、卸装、或列举用来驱动 c

2022-01-04 20:28:19 2299

原创 高效学习,深度,归纳,坚持实践

1,技术出现的背景,初衷,要达到什么样的目标或时要解决什么样的问题2,技术的优势和劣势是什么3,适应场景4,技术组成部分和关键点5,技术底层原理和关键实现6,已有的实现和它的对比。...

2022-01-01 22:28:42 183

原创 有两个杯子,一个5升一个6升,很多水,请问如何取得3升水

首先,把大的倒入小的杯子装满A6---B5----->A6得到1升的水6L-5L=1L再把1L倒入B5后,装满A6倒入B5,得到剩下的2L,6-4=2L清空B5倒入B5,装满A6倒入A5,得到剩下的3L6-3=3L

2022-01-01 22:06:39 1756

原创 64匹马,8赛道,找出最快的4匹最少要几次?

首先:1,8个赛道都跑一次,8组的组内顺序都能排序出来。82,因为是最快的四匹,所以每组的后4匹都排除结果之外。3,然后每个组的第一名再去赛跑,跑完后最后四名的组可以排除掉。14,最后剩下A1,A2,A3,A4B1,B2,B3,B4C1,C2,C3,C4D1,D2,D3,D45,假设A1>B1>C1>D1这样在三种情况下,D2,D3,D4排除C3,C4排除B4排除6,剩下A1,A2,A3,A4B1,B2,B3C1,C2

2022-01-01 21:55:28 1051

转载 如何提高即兴演讲能力与组织语言的能力

建议先提高自己的逻辑思考能力,《学会提问》《批判性思考》《金字塔原理》等书都是不错的扫盲书。另外,需要养成特定思考问题的习惯,即采用一套固定的范式来思考问题,很多咨询界的理论可以参考,比如SWOT,SMART等等,在日常思考问题时养成这种习惯。快速组织语言完成一个即兴演讲可以采用最简单的四步法。1. 观点2. 理由3. 事例(论据)4. 总结(重复观点)比如:1 熟练使用几个常用的结构比如:PREP(point,reason,example,point),就是总分总,

2022-01-01 21:26:31 203

转载 java的几种对象(PO,VO,DAO,BO,POJO,DTO)解释

一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。三、DAO:data access object 数据访问对象,是一个su

2021-12-26 20:48:50 785

原创 中介模式-python

中介模式:在中介者模式中,对象间的通信过程被封装在一个中介者(调解人)对象之中。 对象之间不再直接交互,而是通过调解人进行交互。 这么做可以减少可交互对象间的依赖,从而降低耦合。何时使用:多个类相互耦合,形成了网状结构。如何解决:将上述网状结构分离为星型结构。class ChatRoom(): @staticmethod def display_message(user, message): print("{0} say {1}".format(us

2021-12-26 20:45:16 363

原创 proxy代理模式

定义:为其他对象提供一种代理以控制对这个对象的访问代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。值得注意的是,代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。import abcclass Subject(metaclass=abc.ABCMeta): @abc.abstractmethod def request(self): passclass RealSubject(Subject): def

2021-12-19 20:51:46 187

原创 模板设计模式

定义:模板方法模型是一种行为设计模型。模板方法是一个定义在父类别的方法,在模板方法中会呼叫多个定义在父类别的其他方法,而这些方法有可能只是抽象方法并没有实作,模板方法仅决定这些抽象方法的执行顺序,这些抽象方法的实作由子类别负责,并且子类别不允许覆写模板方法。注意点:1,父类定义模板方法某些操作顺序。2,子类不能覆盖父类模板方法把具体的实现放在子类中实现import abcclass Game(metaclass=abc.ABCMeta): def __init__(sel

2021-12-12 21:55:03 1556

原创 迭代器模式

百科定义:在面向对象编程里,迭代器模式是一种设计模式,是一种最简单也最常见的设计模式。它可以让用户透过特定的接口巡访容器中的每一个元素而不用了解底层的实现。代码实现:class Iter(): context = ["A", "B", "C", "D", "F"] def __init__(self, begin, end): self.index = begin self.end = end def __iter__(self)..

2021-12-05 22:02:15 289

原创 由开发过程中出现写入数据重复引入的相关问题分析

在某次迭代过程中发现写入数据重复,涉及的知识点总结。前提:开发框架是tornado,语言是python,数据库是mogodb。起初怀疑是多进程导致的:涉及概念有1,部署实例2,多进程,多线程,协程3,tornado服务对于请求处理的原理。4.tornado吞吐量研究5,epoll,select,poll6,socket7,http, tcp8,阻塞,非阻塞概念9,框架的概念...

2021-12-05 20:47:50 772

原创 Tornado 多进程分析(转载)

引子Tornado 是一个网络异步的的web开发框架, 并且可以利用多进程进行提高效率, 下面是创建一个多进程 tornado 程序的例子.#!/usr/bin/env python# -*- coding:utf-8 -*-import osimport timeimport tornado.webimport tornado.httpserverimport tornado.ioloopimport tornado.netutilimport tornado.process

2021-11-28 21:29:15 1149

原创 命令设计模式

官方定义:命令模式是一种行为设计模式,它可将请求转换为一个包含与请求相关的所有信息的独立对象。该转换让你能根据不同的请求将方法参数化、延迟请求执行或将其放入队列中,且能实现可撤销操作。核心:将函数封装为对象。封装后请求就可以存储。实际看来,命令模式在代码实现中,对于函数式编程语言,类似与回调函数传参,对于非函数式编程语言,由于无法将函数作为参数传递,将函数封装为一个对象的方法,传递对象来实现传递不同的命令。按照代码的实现形式,和策略模式类似,但是策略模式是不同算法的实现相同的目的...

2021-11-28 20:53:16 120

原创 进程和线程的含义

进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。–维基百科1,进程:操作系统资源分配的最小单元。程序的实例。程序只是硬盘中堆切的数据和代码也即是文本。2,线程:多数教科书的定义:操作系统最小的调度单元。是进程上下文中(计算机运行程序时的环境)一条单一顺序的控制流。...

2021-11-21 20:52:20 592

原创 抽象工厂模式

简单工厂:一个工厂类,一个产品抽象类。 工厂方法:多个工厂类,一个产品抽象类。 抽象工厂:多个工厂类,多个产品抽象类。 # 抽象产品,具体产品,工厂# 抽象工厂,一个工厂有多个产品import abcclass Factory(metaclass=abc.ABCMeta): def create_phone(self): pass def create_compute(self): passclass Phone(met...

2021-11-07 11:19:44 53

原创 工厂设计模式

解决一个工厂类耦合了大量类的创建# 抽象产品,具体产品,工厂# 专卖手机店,专卖本品牌手机。import abcclass Phone(metaclass=abc.ABCMeta): def call(self): pass def do_explore(self): passclass MiPhone(Phone): def call(self): print("小米手机打电话") def do_e

2021-11-07 11:03:55 1611

原创 简单工厂模式

一个工厂类收录了所有的类创建逻辑,让用户不需要关心类的创建,只专注与类的使用。# 抽象产品,具体产品,工厂# 手机店,可以卖各种手机。import abcclass Phone(metaclass=abc.ABCMeta): def call(self): pass def do_explore(self): passclass MiPhone(Phone): def call(self): print("小米

2021-11-07 10:55:55 45

原创 适配器模式

适配器模式:常见的就是电力转换街头.日常生活中普通的插座头式小插孔,空调的插口头却是大的,夏天太热了,为了使用空调,必须得买个插座来转换下.# 普通家用插座提供小孔的插座,空调则需要使用大孔的插座。# 当我想使用空调时怎么办,买个适配插座。将两个衔接起来class GeneralSocket(object): def __init__(self, name=None): if name is None: self.name = "ordin

2021-10-24 22:33:25 57

原创 单例模式pattern

干什么:创建全局唯一的实例.情形:1.需要频繁的创建和销毁对象.消耗巨大.2.节省系统资源比如如 I/O 与数据库的连接.

2021-10-24 20:24:07 2324

原创 策略模式strategy

在运行时根据条件变化策略# encoding: utf-8# 在执行的时候,能够根据子类的类型去执行子类当中的方法# 继承情形中,所继承的方法在子类中实现,如果在父类实现,相当于多余,因此出现了抽象类# 抽象类:部分,有未实现的抽象方法,但是非抽象方法依旧实现了功能。# 接口类:完全未实现方法体,只有抽象方法的抽象类class Animals(object): def __init__(self): pass def say(self):

2021-10-17 20:39:19 73

原创 反射模式python

百科定义:在计算机学中,反射式编程(英语:reflective programming)或反射(英语:reflection),是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。[1]用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。要注意术语“反射”和“内省”(type introspection)的关系。内省(或称“自省”)机制仅指程序在运行时对自身信息(称为元数据)的检测;反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一

2021-10-10 22:03:43 742

原创 订阅与发布模式

维基百科:在许多发布/订阅系统中,发布者发布消息到一个中间的消息代理,然后订阅者向该消息代理注册订阅,由消息代理来进行过滤。消息代理通常执行存储转发的功能将消息从发布者发送到订阅者。与观察者模式的区别:1.发布者与订阅者无法相互感知,双方无法知道对方是谁.2,非实时传递信息,信息可以储存到一定时间再传递到订阅者.3,发布订阅模式常用于不同的交互模块.比如消息队列.4,接收者可能会接收到不同类别的消息.可以自定义接收信息.而观察者模式一旦有状态变化,则所有的观察者都要接收.观察不是一种

2021-09-22 23:39:18 528

原创 观察者模式

"红灯停,绿灯行" 日常中常见的信号系统就是观察者模式的实际映射,这里交通灯是被观察者,也就是subject,各种开车的比如出租车司机,货车,行人都是观察者。在软件世界中也有这样的概念,一个对象的状态变化会改变一个或多个对象的状态。我们称之为观察者模式。实际代码中遇到的如:1.vue中数据双向绑定,父子组件消息传递。2,微信公众号的订阅模式。关键点:定义观察者:# encoding: utf-8# 观察者class Driver(object): def __init

2021-09-21 00:15:24 112

原创 后端的 3-tier archtecture

为什么引入,定义,怎么用,注意点,好处,坏处.表示层: 负责接收数据和输出用户需要的数据.业务层:数据层:

2021-09-12 11:24:36 222

原创 实现不同范围集合之间操作

1,集合范围Q={x|x属于z,x<=2*32-1}(a-b)={x|x,a,b属于Q,a<=x<=b}(a,b,c)={x|x,a,b,c属于Q,x=a.x=b.x=c}(a,b-c)={x|x,a,b,c属于Q,x=a或者b<x<c}输入:()(75)(1,3-100)|(2,10,3-99)&(100,200)^(75)结果为(75,100)(无先后顺序) (1,24,124-)思路:数据集合的原始处理栈,(进,).

2021-09-05 22:20:49 205

原创 add_compile_tool

#!/usr/bin/python# -*- coding: UTF-8 -*-def addcompile(nums, tokens): # 对于异常的保护 add_stack = [] if nums == 0: return if tokens[0] == 'add': add_stack.append(1) if nums == 1 and tokens[0] != 'add': return 'inv.

2021-07-25 17:48:20 85

原创 poker游戏编码规则

#!/usr/bin/python# -*- coding: UTF-8 -*-import operatorcards_color = {u'黑桃': 4, u'红桃': 3, u'梅花': 2, u'方块': 1}cards_value = { 'A': 14, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7.

2020-08-04 01:47:49 591

原创 angular参考

https://www.cnblogs.com/nzbin/p/9038162.html

2020-06-05 22:11:05 124

原创 强密码

# coding=utf-8from strongpasswordcheck import StrongPasswordCheckimport unittestclass PasswordCheckTest(unittest.TestCase): def test_null(self): checkstring = StrongPasswordCheck('') self.assertEqual(6, checkstring.minchangetimes(.

2020-05-13 00:45:14 682

原创 VScode 格式化

https://www.jb51.net/article/178614.htm

2020-03-27 21:35:15 117

原创 屏幕自适应vue

el-table 根据屏幕大小动态设置max-height来自适应表格的最大高度出现滚动条https://blog.csdn.net/fairyier/article/details/99858880

2020-03-25 23:06:03 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除