自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

这里是标题

多多提建议,多多交流

  • 博客(202)
  • 资源 (7)
  • 收藏
  • 关注

原创 FastApi 内存消耗

经过查看源码 和 一番搜索吼发现。是因为 router 没有使用async def 定义的时候, starlette 使用线程池处理响应, 然而,线程池中的worker 没有及时释放 内存, 导致内存飙升。解决方式: 升级Python 到 3.8 以上, 并且升级对应的 Fastapi asyncio。在使用FastApi 做项目的时候, 进行压测时发现 内存会主键飙升, 然后到达一个稳定值。或者 使用async def 进行定义。

2022-09-29 17:41:17 1504 1

原创 ES 全文搜索与数据分析引擎

它是一个 分布式的 全文搜索与数据分析引擎。与关系型数据库对比:一个ES集群可以包含多个,每个索引又包含了很多,类型中包含了很多,每个文档使用 JSON 格式存储数据,包含了很安装连接创建数据库创建数据库,并忽略400错误(数据库重复时,会返回400)插入数据插入多条基本命令类似于body 用法模糊查询:match模糊匹配 字段 name 中有王的 文档。精确查询: term精确多值查询:terms注意是或的关系模糊多字段查询:multi_match前缀查询:prefix其他类似。......

2022-08-16 15:11:52 1229

原创 Bootstrap Modal

Bootstrap 5.0 Modal 模态框简单介绍,与常规使用方法

2022-08-02 15:26:00 387

原创 10-io java

java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目 java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。 Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。每次调用 read() 方法,它从输入流读取一个字符并把该字符作为整数值返回。 当流结束的时候返回 -1。该方法抛出 IOException。读取字符串注意,

2022-08-01 18:59:41 125

原创 9-方法 java

Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用修饰符返回类型函数名(参数类型参数名){return返回值}方法包含一个方法头和一个方法体。下面是一个方法的所有部分!...

2022-07-23 17:31:58 153

原创 8-数组 java

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java语言中提供的数组是用来存储固定大小的同类型元素。

2022-07-23 17:31:43 58

原创 7-常用工具类 java

95|98|NT|2000)’匹配"Windows3.1"中的“Windows”,但不匹配"Windows2000"中的"Windows"。=95|98|NT|2000)’匹配"Windows2000"中的"Windows",但不匹配"Windows3.1"中的"Windows"。但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。......

2022-07-23 17:31:33 103

原创 6-控制结构

switchcase语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

2022-07-23 17:31:17 90

原创 5-运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。

2022-07-23 17:30:54 108

原创 4-修饰符

修饰符,用来创建抽象类和抽象方法。

2022-07-23 17:30:12 60

原创 3-变量类型

在Java语言中,所有的变量在使用前必须声明。

2022-07-23 17:29:59 52

原创 2-基本数据类型

当创建变量的时候,根据变量的为变量,分配的只能用来储存。

2022-07-23 17:29:39 85

原创 1-对象,类

Java作为一种面向对象语言。本节我们重点研究对象和类的概念。有具体的数据信息只是对一类对象的定义。

2022-07-23 17:29:13 66

原创 面向对象 java

方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。抽象类不能被实例化,如果被实例化,就会报错,编译无法通过。...

2022-07-23 17:28:46 61

原创 SSO 单点登录

SSO (Single Sign-On)单点登录,是指用来在多个相同/不相同功能server间进行访问控制。场景单个server基本不涉及什么多个相同server是指高并下发下的集群,功能相同的server,在一个server登录,在其他server也能获得访问权限多个不同的server分布式环境下,功能或域名不相同情况下的,多系统获取访问权限!解决方案高并发集群下的相同server使用共享session,多个server 使用相同的session进而获取访问全向,例如使用一个共享的r

2021-02-23 11:39:47 329

原创 Python3.7 contextvars 上下文环境变量详解(代码演示)

contextvars是 python 3.7 新加的内容,看到asyncio模块用到,记录一下用法名称解释ContextVar: 上下文环境变量Context: 上下文对象Token: 改变上下文变量产生的tokencopy_context: 复制当前的上下文环境对象常用函数及功能copy_context复制当前上下文环境,得到一个Content类型的上下文环境对象。from contextvars import copy_context, Contextassert isin

2021-01-30 15:52:15 2002

原创 LRU 的实现 双向链表和字典 python

LRU最近最久未使用 ,这里的最久是通过隐式体现的 ,是给一个序列,使用一次,就放前面,没使用就不动。这样的话越久没使用的就越在后面 可以想象看这里的使用一次 指的是 访问一次,更新一次。注意控制大小,并且在插入元素 ,删除元素的时候 缓存体积也变一下问:为什么用双向链表?答:因为在删除的时候可以找到下一次即将删除的节点。并之一删除到尾部的时候注意更新 尾结点代码如下 : 可以直接...

2020-07-09 17:03:49 375

原创 python序列化辅助函数

万能的python序列化辅助函数问题问题: 普通情况下使用json 进行序列化的时候,遇到不同的类的对象就往往很难实现序列化,尤其是在各种数据结构进行嵌套的时候那么就想到了通用的解决方式。解决方式每个类都定制化实现 __dict__ 或者不实现也可以。就可以使用下面的辅助函数来进行序列化:# python 2class Utils(object): @classmethod def remove_unserializable(cls, items):

2020-07-08 19:37:19 340

原创 js 中的Blob类型

js 中的Blob类型简单记录,以备不时之需,大佬勿喷,多谢!(づ ̄3 ̄)づ╭❤~Blob 是js 中的一种对象类型,主要用来存取二进制数据的。类似于File对象, File继承自Blob.主要用途最主要用途就是构建Blob对象,然后创建对象Url,然后赋值给标签或者使用xhr (XMLHttpRequest)进行下载分片上传文件这里主要说的是 File 对象, 因为是继承自Blob, 所以也可以算作是Blob对象特性上传的例子:(来源于网络) 使用slice属性进行分片上传function

2020-06-30 11:21:53 5209

原创 使用js导出一些简单数据到csv

js 导出简单数据到csv就是简单记录一下, 大佬勿喷这里主要使用的是Blob对象。实现方式构建Blob对象创建a标签, 为a 标签提供Blob对象的Url设置一些属性模拟点击 并 移除此标签具体实现方式如下:var ExportUtil = { export_csv: function (data, file_name) { var blob = new Blob([data]); if (window.navigato

2020-06-29 19:26:10 432

原创 线程同步中的一些锁、条件、信号量的解析

python threading 中的 Lock, RLock, Condition, Semaphore, Event不是目录python threading 中的 Lock, RLock, Condition, Semaphore, EventLockRLockConditionsamephoreevent这些内容主要是用来控制在并发过程中,线程的同步行为的。Locklock 是在控制同步中 常见且基础的对象。通过这个对象可以控制共享资源的串行访问。需要注意: 锁的获取、释放, 防止死锁!f

2020-06-18 16:39:44 237

原创 python requests的 SSLError

SSL Error就是以https 进行访问网站的时候 验证失败。一般原因是 requests 里面的一些验证的部分需要升级, 升级一下reqeusts 就行了。或者安装 额外的 安全套件:pip install -U requests[security]

2020-06-17 15:47:58 694

原创 python 中序列化方式的比较

python 中序列化方式的比较(pickle, json)相同点, 都能够用来序列化数据,返回字符串。下面主要是来说明一下区别性能这个便是第一个要说的,通过测试发现序列化相同数据,json速度显然要快一些,大约是20~30倍,同时得到的字符串的体积上也有不同json 相对较小,数据结构不同,差别也有不同。总结来说,json 性能较好。适用性json 适合跨语言的数据交换,pick...

2020-01-15 15:14:42 525

原创 mongo 中的事务(一)

MongoDB中的事务注意:mongo version 4.2因为mongo db 里面的文档是可以内嵌,一般对于单个集合(表)一般用不到事务,然而对于多个集合、多个文档、多个数据库甚至于多个分片进行操作的时候就需要用到分布式事务,也就是多文档事务了首先看一个例子: 官网例子# For a replica set, include the replica set name and a ...

2019-12-20 15:26:51 459

原创 关于mongodb中的GridFS的使用

关于mongodb中的GridFS的基本使用基本的说明mongo 作为一个非关系型数据库,使用非常方便,在项目中也经常的使用。这里主要是说一些他的 网格文件系统 的使用。在我们想要存储一些文件的时候,可以存放得到文件系统里面,然后使用的时候通过程序读取。当然还可以使用数据库进行存放一些小的文件,这里使用mongo的GridFS。GridFS 里面存放的主要是有两个集合,一个集合存放数据...

2019-06-29 11:11:59 1441

原创 http 请求测试,检验参数是否传入正确

http 请求测试,检验参数是否传入正确首先是一个测试的网址 http://www.httpbin.org可以测试各种http方法,返回数据格式等。这里主要是测试了tornado 中AsyncHttpClient的使用对于一些请求,主要是将数据放在form里进行发送,并且设置http请求类型为 application/x-www-form-urlencoded但是呢,有些时候可能因为参数传...

2019-06-29 11:10:03 2386

原创 python 装饰器做缓存

使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是 python 查找变量的顺序是什么?答案就是LEGB原则:也就是`Local -> Enclosed -> Global -> Built-in`也就是先在局部作用域内(例如函数内)进行查找...

2019-05-30 17:44:13 1353

原创 python 数据描述符的使用(附带装饰器)

属性查找优先级类属性数据描述符 (同时实现__get__和__set__)实例属性非数据描述符 (只实现__get__)__getattr__通过代理实现属性懒加载这里是使用装饰器的方式实现的懒加载。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值关键代码:value = self.method(instance)setattr(instance...

2019-05-29 16:56:22 337

原创 python 中判断一个对象是否为函数

python 中判断一个对象是否为函数两种方式:使用 hasattr ,通过验证有没有__call__函数进行判断def test(): print "hello"print hasattr(test, "__call__")通过使用 callable进行判断print callable(test)...

2019-05-28 14:30:10 2981 2

原创 python的重入锁(简单说明)

python 重入锁重入锁就是可以多次获取的锁.(条件是在同一线程下) 对应的是threading.RLock。普通的锁是threading.Lock,这个锁在同一线程下 未释放的情况下再次获取会造成死锁,所以就需要RLock如下:普通情况下 会死锁import threadinglock = threading.Lock()with lock: print "first g...

2019-05-22 12:06:09 661

原创 基本进制转换

基本进制转换(记录)10 进制 到 2 进制使用bin()函数print bin(12)10 进制 到 8 进制使用oct()函数print oct(12)10 进制 到 16 进制使用hex()函数print hex(12)x 进制 到 10 进制使用int()函数x = 3print int(12, x)# 输出 5字符与10进制转换使用ord()、ch...

2019-05-22 11:03:13 378

转载 SVN Clean up 失败和SVN is already locked情况解决

出现这个问题后使用“清理”即"Clean up"功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。有时候如果看到某个包里面的文件夹没有SVN的标志,直接用“Ctrl+Delete”手工删除,然后“清理”,最后“更新”或“提交”。有时候有的文件死活无法提交和更新,有lock字样的提示,:首先点击该文件,然后getLock,再选中stealLock,然后release ...

2019-05-13 09:54:23 731

原创 openpyxl 的使用记录

这里主要是把之前用到的一些 python 操作excel的一些基本用法记录一下python 中的操作excel的库openpyxlopenpyxl中 Workbook 是工作簿的类, 其中sheet是一张工作表加载excelfrom openpyxl import load_workbookload_workbook("path_to_wxcel.xlsx")获取所有sheet...

2019-04-17 17:12:13 626

转载 Mysql show processlist 排查问题

一、命令概述:mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/show-processlist.htmlshow full processlist 返回的结果是实时变化的,是对mysql链接执行的现场快照,所以用来处理突发事件非常有用。一般用到show...

2019-04-11 17:51:20 2500

翻译 mysql 出现了 Waiting for table metadata lock的解决方案

在使用pt进行ddl 的时候需要创建触发器,然后在创建的过程中,出现了Waiting for table metadata lock, 下面是一些解决办法,本质是一样的,这里总结来说就是:kill 掉某些事物占用的锁,使DDL成功,然后进而不阻塞其他DML操作。设置锁超时短些 lock_wait_timeout另外可以参考以下链接:https://www.cnblogs.com/digd...

2019-03-05 10:04:46 22190 2

原创 python代码模拟sqlalchemy懒加载注入属性

sqlalchemy 代码模拟懒加载注入属性偶然再次看到有人提到了orm 的一些关联属性的懒加载问题,这里就按照自己的想法实现了一下class Base(object): passclass User(Base): # .... 很多列 @property def address(self): if not hasattr(sel...

2019-03-01 17:26:50 362

原创 在线修改大表结构之pt-online-schema-change (alter-foreign-keys-method)

安装sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpmsudo yum install percona-toolkit查看触发器:方式一:use information_schema;select * from TRIGGERS;方式二:use database_nam...

2019-02-26 17:05:34 3100 2

转载 percona-toolkit 之 【pt-online-schema-change】说明

背景:      MySQL 大字段的DDL操作:加减字段、索引、修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响。在5.1之后随着Plugin Innodb的出现在线加索引的提高了很多,但是还会影响(时间缩短了),主要是出现了MDL锁。不过5.6可以避免上面的情况,但目前大部分在用的版本都是5.6之前的,所以DDL操作一直是运维人员“头疼"的事。那如何在不锁表...

2019-02-25 16:56:23 392

转载 mysql 避免重复写入数据的三种方式 和insert ...on duplicate updt... 死锁

mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法。1、insert ignore2、replace into3、insert on duplicate key update注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用以上三个语句没有意义,与使用单纯的INSERT INTO相同。一、insert ignoreinsert ...

2019-02-18 18:29:19 2437

原创 如何清空linux 中的history

记录是先在缓存中,然后会话结束的时候写到 .bash_history 中的。所以可以使用 history -c 清除, 然后再退出exit 就可以简单的抹除痕迹了

2019-02-16 18:20:34 1839

涂兆鹏-关于提高nmt忠实度的报告文档

主要是涂兆鹏关于如何提高NMT忠实度所做的报告。里面提出了3中方式,分别是对覆盖率进制进行建模,引入上下文信息,对中英文翻译中的汉语进行句子重构,补全代词等等,同时里面做了完整的描述,并且给予了详细的测试结果,值得一看

2018-06-26

算法大全与相应的课件

这里面包含了很多的算法,很是经典的算法。

2015-08-18

java多线程

这里面包含的是java中的网络的多线程的技术主要是一些讲义,ppt

2015-08-18

计算机网络常用的命令

这里里面包含了一些常用的计算机网络的命令,主要是在windows的dos窗口下的

2015-08-18

mysql-connector

mysql 数据库驱动包,只需添加进buildpath即可, 这个是windows 版本的,还有ubuntu版本的可以去我的资源里面寻找

2015-07-28

mysql-connector-java

mysql 的数据库驱动包,需要解压使用 ,平台为ubuntu, 还有一个是windows 下的驱动包,在我的资源里面,可以自行下载

2015-07-28

空空如也

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

TA关注的人

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