自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 df列表转换成多行数据

df的symbol列值为列表, 将其转换成多行数据。

2022-10-17 14:32:19 481 1

原创 rabibitmq的常见用法

rabibitmq的常见用法https://mp.weixin.qq.com/s/GzxZ1OS5pfQY5wPrT3wdwQ## 性能测试数据参考```压测场景一:4kb数据包压测条件:开启持久化以及ack确认机制,每秒限制每个生产者最多发送500条数据,生产者100个,消费者300个结果:内存最高消耗11G,cpu消耗较少;发送速率平均在6000左右,消费确认平均在5500左右,已经到达网络瓶颈id: test-5, time: 29.355s, sent: 71..

2021-04-14 09:39:21 334

原创 linux判断文件是否存在并删除

cmd = 'salt-ssh -i "%s" cmd.run "if [ -f %s ];then rm %s;fi"' % (host, dst_dir, dst_dir)# 以下命令可以直接在终端运行if [ -f path/ ];then rm path/;fihttps://blog.csdn.net/nicai_xiaoqinxi/article/details/103625205

2021-02-26 09:34:32 4560

原创 tornado实现异步非阻塞

from tornado import gen # 引入协程库genfrom tornado.httpclient import AsyncHTTPClientfrom concurrent.futures import ThreadPoolExecutorfrom tornado.concurrent import run_on_executorimport tornado.ioloopimport tornado.webimport time.

2020-10-22 22:02:02 356

原创 量化交易⾏业的主要技术现状,技术挑战。及作为 Python⼯程师可以从哪些⽅向去贡献⾃⼰的⼒量

1.引⾔量化交易是⾦融市场环境下的⼀个产物,从最初的主观性决策到现在的量化决策,经过⽆数次的验证与⽐较,证明量化交易是可⾏的,在美国量化交易是很多对冲基⾦的主要使⽤⼿段,我国⽬前占⽐在%5左右,随着我国改⾰开放政策的不断深⼊与完善,中国经济的宏观性利好等因素,相信量化交易也会成为以后中国⾦融交易市场的主⼒决策⽅法.2.量化交易⾏业的技术现状很多⼈都在电脑上的客户端或者⼿机 APP 上⾯交易股票的经历,客户端以及⼿机APP⼀⽅⾯可以看到⾏情,⼀⽅⾯可以下单,⽐如⽤同花顺或者⼤智慧。..

2020-09-11 18:16:26 856

原创 错误 Error opening zip file or JAR manifest missing :

错误原因:使用jar破解了idea(pycharm后),被我卸载了后续进行重装,但利用pycharm.sh启动的时候一直报找不到原先放置的破解jar文件具体错误如下:django@ubuntu:/opt/pycharm-2020.2.1/bin$ ./pycharm.sh OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be r.

2020-09-08 12:35:22 11156 6

原创 linux多路复用详细实现

主要讲述select、poll、epoll的具体实现https://m.toutiaoimg.cn/group/6846283179699995150/?app=news_article&timestamp=1594623454&group_id=6846283179699995150&use_new_style=0

2020-07-13 14:58:39 575

原创 python 无重复字符的最长子串

#####无重复字符的最长子串def lengthOfLongestSubstring(s): last = {} ent = {} for i in s: if i in last: ent[''.join(last.keys())] = sum(last.values()) last = {} last[i] = 1 else: last[i] = .

2020-06-02 15:32:57 247

原创 python的深拷贝与浅拷贝实现

import copycopy.copy()copy.deepcopy()

2020-05-28 22:52:35 175

原创 秒杀设计实现

针对于高并发的设计,对于服务的不同阶段,都有不同的设计实现方案,下面是一些可能会遇到的小场景秒杀可能出现的事故超卖,恶意请求(黄牛)超卖解决:利用redis的事务监听机制,解决超卖问题大致解决是,在事务开始之前将秒杀商品设置到到redis数据库 比如(set order_ clothes 10000)每次前端请求到后端时,判断redis还有没有库存,没有直接返回已卖完或请重试等内容一旦redis还有库存,就采用redis的watch机制进行处理,防止在分布式环境下出现的问题下面.

2020-05-23 14:41:56 290

原创 Elasticsearch那些事

开源的 Elasticsearch 是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elasticsearch 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。Elasticsearch 是用Java实现的在django开发中,我们一般使用Haystack模块来调用es搜索.

2020-05-19 21:56:18 125

原创 hdfs与fastdfs

FastDFS使用C语言边写的一款开源的分布式文件系统,是阿里开源的,其冗余备份、负载均衡、线性扩容,高可用、高性能等都是比较优越的,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传下载等服务FastDFS 架构包括Tracker server和Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载服务端两个角色:* Tracker: ...

2020-05-19 21:27:38 836

原创 高并发那些事

高并发分布式架构演进之路关于高并发的常见概念分布式:系统中的多个模块部署在不同的服务器上面,即可称为分布式系统,比如django和数据库分别部署在不同的服务器上面,或者同一份代码部署在多个服务器上高可用系统中的某个节点失效时,其他节点能够接替它继续提供服务,则可以认为系统高可用集群例如redis集群,其也可以说是保证高可用的前提,一般是指一个特定领域的软件部署在多台服务器上面并作为一个整体提供一类服务,这个整体称之为集群,在常见的集群里面,客户端可以连接任一节点实现需求负载...

2020-05-18 21:57:56 100

原创 zk数据库必备知识点

1.什么是zookeeperZk是一个数据库,文件存储系统Apache ZooKeeper致力于开发和维护可实现高度可靠的分布式协调的开源服务器常用于:数据发布/订阅;负载均衡;命名服务;分布式协调/通知;集群管理;Master 选举;分布式锁;分布式队列;分布式文件配置Zk节点类型有四大类:持久化节点(zk断开节点还在);持久化孙旭编号目录节点;临时目录节点(客户端断开后节点删除);临时目录编号节点链接:https://mp.weixin.qq.com/s/gphDLJMO3QcRoN3zk.

2020-05-16 22:42:27 520

原创 mysql必备知识点

1.mysql查询过程* 客户端向MySQL服务器发送一条查询请求* 服务器首先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段* 服务器进行SQL解析、预处理、再由优化器(优化器主要是确认使用主键索引或者什么索引更好,以及条件那么多,先查哪个表等)生成对应的执行计划* MySQL根据执行计划,调用存储引擎的API来执行查询* 将结果返回给客户端,同时缓存查询结果* 链接:https://dbaplus.cn/news-155-1531-1.html2.mysql.

2020-05-16 22:40:23 229

原创 mongodb必备知识点

32.mongodb概念MongoDB是一个文档数据库,较好的性能,领先的非关系型数据库,其实现与mysql一样,都是采用C++语言实现33.mongodb具备的优势BSON基于json进行开发的,相比json更具有轻量性、可遍历性、高效性。面向文档的存储:文档存储以BSON格式(有大小限制,最大16M), 内置GridFS文件系统(一般存储大于16M的文件)。* 任何属性都可以建立索引。
* 复制以及高可扩展性。
* 自动分片。
* 丰富的查询功能。
* 快速的即时更新。
* .

2020-05-11 22:33:31 182

原创 redis中的stream流

这个是redis5.0版本才增加的一个数据结构,其借鉴了kafka的设计,redis stream是一个消息链表,将所有的消息都串起来,每一个消息都有一个唯一的id和对应的内容,并且消息是持久化的,redis重启后,内容还存在每个stream都有一个唯一的名称,它就是redis的key,在我们使用xadd指定追加消息时自动创建每个stream可以挂在多个消费组,每个消费组都会有一个游标last_delivered_id在stream数组之上往前移动,表示当前消费组已经消费到哪一条消息了,注意消费组.

2020-05-11 21:56:02 1002 1

原创 redis必备知识点

作为it的界的泰山级别工具,在程序的世界里几乎也是无处不在,如此重要的它,你真的了解了么3. redis大key问题其一般指的是单个key存储的value值很大或者hash,set,zset,list等元素结构中存储很多的元素通常是指以万为单位的解决大key,若是value过大,可以采用分段获取的方式,避免整存整取造成io开销过大;针对是数据结构很大的问题,可以采用元素分拆的方式删除大key,在redis4.0版本之后,建议使用unlink命令,其实现原理是另外开一个线程进行处理,这样就避.

2020-05-10 19:02:32 296

原创 python中列表与字典的底层实现

本文主要围绕效率开始说起常见算法效率复杂度O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)python列表内置操作方法的复杂度如下常见的顺序表存储方式如下,python则采用的是分离式结构,表头只存储最大容量值,元素个...

2020-04-19 13:27:37 1810

原创 redis集群分片操作实现详细过程

关于redis是否该使用分片参考https://zhuanlan.zhihu.com/p/57185574redis分片详细操作流程https://blog.csdn.net/bandaoyu/article/details/103099187

2020-04-16 22:42:18 138

原创 java 多线程落地pmml实战篇

前段时间公司要进行新的机器学习落地方案,没错就是pmml实现,真香,任务是我的,从来没有写过java的我,于是开启了漫漫的求学之路以下是一些过程介绍python版本:python3.6,这里主要是利用python跑逻辑回归,决策树,FM等一些模型保存为pmml文件,并将截距,系数,weo等参数存储到mysql数据源:阿里云odps版本:java8,采用maven进行版本管理,需注...

2020-04-04 14:38:54 620

原创 为什么要用消息队列

强烈安利,介绍得很全面https://github.com/AobingJava/JavaFamily/blob/master/docs/mq/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97%E5%9F%BA%E7%A1%80.md

2020-04-04 13:58:16 89

原创 idea编译jar文件参考

建议用命令执行更好,以下皆为idea自带图形界面命令运行java 利用idea打包编译步骤参考环境参考:1 java版本java version "1.8.0_201"javac 1.8.0_2012 maven版本Apache Maven 3.3.9 pom.xml文件内容参考<?xml version="1.0" encodin...

2020-02-18 16:06:26 1675

原创 mysql 删除重复数据

-- 810-- SELECT count(DISTINCT model) FROM phone_price-- 965-- SELECT count(1) FROM phone_price为了保险起见,建议操作时,复制表测试一下-- delete from phone_price_copy1-- where model in (select pname from (selec...

2020-02-11 12:38:59 118

原创 mysql索引问题大全

创建索引ALTER TABLE staffs ADD INDEX idx (NAME, age)查看索引SHOW INDEX FROM staffs删除索引DROP INDEX idx ON staffs查看mysql版本select version()检查优化器开关配置命令:show global variables like 'optimizer_switch' \G或...

2019-12-19 17:51:21 105

原创 python实现大文件切割操作

import osimport timedef mkSubFile(lines, srcName, sub): [des_filename, extname] = os.path.splitext(srcName) filename = des_filename + '_' + str(sub) + extname print 'make file: %s' % ...

2019-12-09 16:48:21 392

原创 前端常见的静态资源

静态资源网页中常见的静态资源+js.js .jsx .coffee .ts(后两种是一种中间语言,需要进行编译才可以使用,类似于java)+css.css .less .sass .scss+image.jpg .png .gif .bmp .svg+字体文件.svg .ttf .eot .woff .woff2+模板文件.ejs .jade .v...

2019-11-19 21:59:59 2917 1

原创 使用Cython为python代码加速

1.变量声明语法比较python为x = 0.5 Cython为cdef float x = 0.5这告诉Cython我们的变量是浮点数,和C一样。使用纯Python,变量的类型是动态确定的。Cython中类型的显式声明是可以转换为C的原因,因为需要显式类型声明+安装cython就可以使用pip install cython使用Cython时,有两种不同的类型,用于变量和函数。...

2019-09-17 10:24:36 415

原创 python实现redis分布式锁

import timeimport redisclass RedisLock(object): def __init__(self, key): self.rdcon = redis.Redis(host='127.0.0.1', port=6379, password="", db=1) self._lock = 0 self.l...

2019-09-05 18:43:01 370 2

原创 python压力测试脚本

一正常情况测试import jsonimport requestsimport logginglogging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')logger = logging.getLogger(__name__)resti...

2019-08-30 15:35:47 2620 5

原创 python汉字转拼音

from pypinyin import lazy_pinyinfrom xpinyin import Pinyin# import sys# reload(sys)# sys.setdefaultencoding('utf-8')a= u'抖音'# 得到全拼s = ''.join(lazy_pinyin(a))print s # douyin# 得到首字母...

2019-07-31 18:16:07 241

原创 python 优化知识点

# 判断某个元素用set速度高于listdata = (i**2 +1 for i in range(100000))a = set(data)b = list(data)# python 性能提升技巧1list_A = [2*i -1 for i in range(100)]list_B = [i*2 for i in list_A]dict_AB = dict(...

2019-07-17 18:14:58 86

原创 go出现错误 go: unknown subcommand "mod"

错误原因,版本太低了go语言的卸载与重新安装sudo rm -rf /usr/bin/go #卸载wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz #自己写想要的包版本就可以sudo tar -xzf go1.12.6.linux-amd64.tar.gz -C /usr/local ...

2019-06-25 18:12:35 18236 4

原创 python关于进程/线程/协程使用以及优劣对比参考

1.线程:无法实现跑多核cpu,在IO密集型的情况下(如读写文件,可以通过多线程增加其工作效率),建议使用多线程;多线程相比单线程性能有提升,因为遇到IO阻塞会自动释放GIL锁,实现无缝连接执行下一个线程解释:因为Python的线程虽然是真正的线程,但解释器执行代码时,有一个GIL锁:Global Interpreter Lock,任何Python线程执行前,必须先获得GI...

2019-06-24 21:56:32 687

原创 前端操作工具参考链接

node多版本控制http://ksria.com/gnvm/

2019-06-15 12:02:55 95

原创 git合并远程仓库提交记录操作

1.首先查看有多少提交记录(依次是最新的到最旧的),命令:git log 2.然后输入命令:git rebase -i HEAD~4 注:4 表示要合并的条数,根据自行需要输入第二条命令出错解决方案fatal: Needed a single revision invalid upstream –i解决方法:git rebase -i --root3.正确...

2019-03-16 12:17:43 1652

原创 python 利用apidoc生成接口文档操作

apidoc安装,适用于mac与linuxsudo npm install apidoc -g# 用户注册路由@app.route('/user_manager/user_register.do', methods=['GET', 'POST'])# @login_requireddef user_register(): """ @ap...

2019-02-23 11:56:53 3636

原创 python2.7+celery4.2.1+supervisor==3.3.5 搭建celery守护进程亲测正解

文件构建路径参考:在/etc下面构建supervisor文件夹在'/data2/project/Data-web/' 执行命令supervisord -c /etc/supervisor/supervisord.confvim supervisord.conf 在该文件最后一行添加[include]files = /etc/supervisor/supervisord.conf.d/*...

2019-02-20 18:23:09 377

原创 python实现小猪佩奇正解源代码

 # coding:utf-8import turtle as t#def drowNose():def nose(): # 配置画笔属性 t.pensize(4) t.hideturtle() t.colormode(255) t.color((255,155,192),"pink") t.setup(840,500) t....

2019-01-20 15:34:26 1408

原创 socket实现原理和机制

转载:https://www.cnblogs.com/airtcp/p/5230161.html要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我们也言...

2018-12-27 22:32:13 2680

空空如也

空空如也

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

TA关注的人

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