自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

走在搬砖的路上!

欲多则心散,心散则志衰,志衰则思不达,思不达则事不成矣

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

原创 Sql Or NoSql,看完这一篇你就懂了

https://www.cnblogs.com/xrq730/p/11039384.html

2021-08-15 20:18:46 104

原创 数据库设计三大范式和五大约束

一、三大范式:什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法,以下就是对这三个范式的基本介绍:第一范式(1NF):1、数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作

2021-08-15 20:01:43 373

原创 数据库:分库分表(垂直分库,垂直分表,水平分库,水平分表)

传智燕青 2019-09-03 07:49:27 83042 收藏 848分类专栏: Java分布式系统开发实战 文章标签: 分库分表 数据库 sharding-jdbc版权Java分布式系统开发实战专栏收录该内容37 篇文章10 订阅订阅专栏分库分表是什么下边以电商系统中的例子来说明,下图是电商系统卖家模块的表结构:通过以下SQL能够获取到商品相关的店铺信息、地理区域信息:SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉]FROM [商品信息] ...

2021-08-15 19:43:44 999

原创 Celery 图解

使用场景:异步任务:一些比较耗时的操作可以交给Celery去执行,而不用等着程序处理完才知道结果,比如视频转码,邮件发送,消息推送等。 定时任务:比如定时推送消息,定时爬取数据,定时统计数据等。原理Celery是基于Python开发的已给分布式任务队列框架,支持使用任务队列的方式在分布机器/进程/线程任务调度。它是Python写的库,但是它实现的通讯协议也可以使用ruby,php,javascript等调用。异步任务除了消息队列的后台执行的方式,还有一种是定时计划任务。Celery是已给强大.

2021-08-15 19:29:14 1610 1

原创 异步任务队列:Django + Celery

  前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。在同事的指引下接触了Celery这个异步任务队列框架,鉴于网上关于Celery和Django结合的文档较少,大部分也只是粗粗介绍了大概的流程,在实践过程中还是遇到了不少坑,希望记录下来帮助有需要的朋友。一、Django中的异步请求Django Web中从一个http请求发起,到获得响应返回html页面的流程大致如下:http请求发起 -- ht

2021-08-15 19:19:58 1998 1

原创 select、poll、epoll之间的区别(面试必问)

(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.

2021-08-15 19:15:33 516

原创 Sentry部署:(前端)sentry与前端项目结合

目录基于sentry的前端错误监控日志系统背景监控系统搭建方案系统的搭建与使用  sentry 简介  sentry 的部署sentry 操作界面介绍sentry 的api介绍和使用sentry实现预警并且邮件提醒sentry 生产的 sourcemap 配置  介绍  准备工作  获取认证的 token  登陆  创建版本  上传 sourcemap 文件 完成!!!!基于sentry的前端错误监控日志系...

2021-08-15 17:35:00 5199

原创 文件管理系统:5款优秀的文档管理系统

1. easyopen一个简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。技术点加密算法(MD5、AES、RSA)Netty(编解码、长连接、断开重连)限流(漏桶策略、令牌桶策略)权限(RBAC、校验)session(单机、分布式)注解(文档生成)token(jwt、accessToken)SDK(Java、C#、JavaScript)结构图运行效果项目地址:https://gitee.com/durcfram...

2021-08-10 13:32:56 18021

原创 蜜罐服务:开源蜜罐的实践与python扩展功能

具有一定规模的公司都会有自己的机房,当网络规模和硬件系统到达一定程度,就需要跟进各种安全预警防护手段,而蜜罐系统就是一种常见的防护手段之一,蜜罐主要是通过在网络环境当中,用虚拟各种真实服务的守护进程,去模拟各种常见的应用服务,比如http、mysql、FTP服务等。一般情况下,蜜罐系统是模拟出来的服务,不具备提供真实服务的能力,比如有蜜罐监听的ftp端口21,但21端口其实只是一个空的监听,不能提供FTP服务,并且己方人员,知道蜜罐是一个报警装置,不会去刻意访问,只有不明身份的攻击者才有可能去访问蜜罐进

2021-08-03 17:05:44 2095

原创 DevOps:5大工具

DevOps 的概念在软件开发行业中逐渐流行起来。越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能。有了 DevOps ,团队可以定期发布代码、自动化部署、并将持续集成 / 持续交付作为发布过程的一部分。虽然 DevOps 背后有各种各样的概念,但幸好有一些工具可以让你更容易地理解和实现。在本文中,你将了解这些工具,并将它们作为软件发布 / 维护工具包工作的一部分开始使用。DevOps 有很多可使用的工具,在一篇文章中几乎不可能介绍完它们。本文将介绍五种最流行、功能最...

2021-08-03 13:53:25 1196

原创 【React】antdpro开发指南

后台管理系统用的非常多,如果比较复杂点的后台可能会多人开发,这时候可能导致各种样式不统一之类的问题。antdpro用起来有一定学习成本,所以需要梳理一下。快速上手npx create-umi your-project1选择最新v5,antd4启动npm run start1即可看见页面。登录页默认用户名密码是admin ant.design 。输入进去即可进入后台。进入后右下角有个米饭一样的图标,那个就是umi-ui,可以非常方便的导入代码或者模板进行修改。注意!尽量别用umi-

2021-08-03 13:08:41 4006

原创 搜索引擎 (1):ElasticSearch + python (理论+ 实践)

1、Python操作ElasticSearch笔记鬼古神月关注0.2472019.05.31 10:55:04字数 63阅读 11,076第一步安装Elasticsearch1. 下载tar包,进行解压第二部安装pip1. 到下载的包:用python setup.py install 进行编译2. 然后配置环境变量(变量环境为python下的scripts):C:\Users\Administrator\AppData\Local\Programs\Python\Pyth

2021-08-03 12:59:12 3443 2

原创 消息系统(1/3):kafka理论+实践

1、python操作kafka实践1、先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码。--------------------------------------------------------------------------------#!/usr/bin/env python# -*- coding: utf-8 -*-import jsonfrom kafka import KafkaProducerproducer = KafkaProduc

2021-08-03 11:44:39 128

原创 自动化运维与python项目实战: CMDB自动化资产扫描(2)路由配置、视图函数

来源:点击进入资产管理探测流程存活探测: 获取局域网内存活的IP列表主机探测: 获取系统版本(SN、版本、MAC地址)主机关系探测: 识别宿主主机和虚拟机的关系网络设备的探测: 探测网络设备信息(SN、设备名等),使用snmp协议其他设备的探测:主机存活探测模块和工具Nmap探测工具Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。是一款用于网络发现和安全审计的网络安全工具。主机发现 - 识别网络上的主机。例如,列出响..

2021-08-03 11:26:07 498

原创 权限管理(1/3):pyCasbin 持久化,基于json文件adapter 实现方法

PyCasbin: 支持 ACL、RBAC、ABAC 多种模型的 Python 权限管理框架PyCasbin是一个用 Python 语言打造的轻量级开源访问控制框架(https://github.com/casbin/pycasbin),目前在 GitHub 开源。PyCasbin 采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等。PyCasbin 的主要特性包括1.支持自定义请求的格式,默认的请求格式为{subject,...

2021-08-03 11:25:25 1189

原创 文件管理系统(2/3)FastDFS搭建分布式文件管理系统

参考案例:Java+Nginx+FastDFS分布式文件系统fastdfs_使用python操作fastdfs一、简介这里介绍使用python操作fastdfs。python操作需要依赖py3Fdfs包。二、使用2.1 安装依赖包pip3.6 install py3Fdfs12.2 定义配置文件定义配置文件fastfdfs_client.conf。connect_timeout=30network_timeout=60tracker_server = 192.168.3

2021-08-03 11:23:39 428

原创 文件管理系统(1/3):Ceph的Python接口

参考文章ceph的python_api文档连接ceph集群import radoscluster = rados.Rados(conffile='/etc/ceph/ceph.conf')cluster.connect()创建与删除池# 列出可用的池pools = cluster.list_pools()for pool in pools: print pool# 创建池testcluster.create_pool('test')# 删除池clust

2021-08-03 11:16:53 610

原创 项目部署框架设计(一)

浅谈真实项目部署框架的选择与搭建在项目部署的时候我们会遇到服务器搭建,选择框架等问题。在部署时,主要从并发量和数据量两个方面考虑。我们简单例举一些情况。(一)单机模式 :当数据量和并发量都没有太大压力时一般选择单机模式,单机模式的特点是将Java运行环境(tomcat)和数据库安装在一台服务器上。用户通过浏览器访问服务器。服务器上打开各自使用的端口,进行数据的交互查询。(二)分离模式 :当需求量增大,我们就要对服务器进行优化,当操作基本不变,只是数据量增大,访问量增大时,我们.

2021-08-02 18:57:35 935

原创 骑士CMS文件包含+getshell漏洞复现(python自动化验证扫描漏洞)

简介骑士cms人才系统,是一项基于PHP+MYSQL为核心开发的一套免费 +开源专业人才网站系统公告地址:http://www.74cms.com/news/show-2497.html/Application/Common/Controller/BaseController.class.php文件的assign_resume_tpl函数因为过滤不严格,导致了模板注入,可以进行远程命令执行影响版本骑士 CMS < 6.0.48环境搭建这里使用phpstudy进.

2021-08-02 18:54:08 3403

原创 高效代码审查的八条准则和十个经验

一、代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。1、代码审查要求团队有良好的文化  团队需要认识到代码审查是为了提高整个团队的能力,而不是针对个体设置的检查"关卡"。  "A的代码有个bug被B发现,所以A能力不行,B能力更好",这一类的陷阱很容易被扩散从而影响团队内部的协作,因此需要避免。  另外,代码审查本身可以提高开发者的能力,让其从自身犯过的错误中学.

2021-08-02 18:52:14 1109

原创 代码质量审核和管理工具 (11个)

代码审查是软件开发中常用的手段,安全性和代码质量对于构建高质量软件至关重要。今天,小编就来为大家介绍11个实用的代码质量审核和管理工具,希望对你有所帮助。1、SonarQubeSonarQube在市场上很受欢迎,它目前可以分析和产生对超过25种编程语言的输出,这比市场上大多数工具都要高。它具有免费的社区版本和其他付费版本。SonarQube的优势:只需一行命令即可轻松集成到CI/CD管道中;也可以集成到Maven和Gradle构建周期中;检查几乎所有内容,如代码质量,格式,变量声明,异常处理

2021-08-02 18:51:20 1782

原创 Solr的原理及使用

1.Solr的简介Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。2.工作原理solr是基于Lucence开发的企业级搜索引擎技术,而lucence的原理是倒排索引。那么什么是倒排索引呢?接下来我们就介绍一下lucence倒排索引原理。假设有两篇文章1和2:文章1的内容为:老超在卡子门工作...

2021-08-02 18:44:50 6414

原创 zookeeper:使用python操作zookeeper

1、kazoo 介绍zookeeper的开发接口以前主要以java和c为主,随着python项目越来越多的使用zookeeper作为分布式集群实现,python的zookeeper接口也出现了很多,现在主流的纯python的zookeeper接口是kazoo。因此如何使用kazoo开发基于python的分布式程序是必须掌握的。ZooKeeper 是一个分布式的、开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个

2021-08-02 18:41:16 4055

原创 架构篇:架构设计分析 ?

一. 什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构:

2021-08-02 18:32:45 1183

原创 bootstrap与jQuery的优点与区别

一、bootstrapBootstrap是基于HTML5和CSS3开发的,它在jQuery的基础上进行了更为个性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。优点1.简单灵活可用于架构流行的用户界面和交互接口的html、css、javascript工具集。2.bootstrap提供了一套响应式、移动设备优先的流式栅格系统。它可以根据用户屏幕尺寸调整页面,使其在各个尺寸上都表现良好3.Bootstrap 自带以下特性:全局的 CSS设置、定义基本的 HTML 元素样式、可

2021-08-02 18:27:32 2337

原创 Elastic Stack && Elasticsearch

Elastic Stack是由ELK演化而来,ELK是三种软件的简称,分别是Elasticsearch、logstash、kibana组成,在发展的过程中,又有新成员Beats的加入,形成了Elastic Stack。也就是ELK在兼并Beats后形成的新联盟–ELKB是Elastic Stack。(兼并一个组件就要加一个首字母,那ELKB就会变成ELKBXC巴拉巴拉的~~)ElasticsearchElasticsearch是一个基于Java的开源分布式搜索引擎,他的特点有:分布.

2021-08-02 15:35:14 223

原创 构建工具对比:6种(Npm Script、Grunt、Gulp、Fis3、Webpack、Rollup)

历史上先后出现了一系列构建工具,它们各有优缺点。由于前端工程师很熟悉JavaScript,Node.js又可以胜任所有构建需求,所以大多数构建工具都是用Node.js开发的。本文就来一一介绍它们。本文选自《深入浅出Webpack》。前端技术发展之快,各种可以提高开发效率的新思想和框架层出不穷。但是它们都有一个共同点:源代码无法直接运行,必须通过转换后才可以正常运行。构建就是做这件事情,将源代码转换成可执行的JavaScript、CSS、HTML代码,包括如下内容。代码转换:将TypeScript

2021-08-02 12:40:03 1684

空空如也

空空如也

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

TA关注的人

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