csdn_yuan88
码龄9年
  • 1,536,617
    被访问
  • 308
    原创
  • 2,163
    排名
  • 521
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2013-07-07
博客简介:

江州司马

博客描述:
https://hexo.yuanjh.cn
查看详细资料
  • 5
    领奖
    总分 1,280 当月 35
个人成就
  • 获得331次点赞
  • 内容获得101次评论
  • 获得1,528次收藏
创作历程
  • 3篇
    2022年
  • 17篇
    2021年
  • 176篇
    2020年
  • 279篇
    2019年
  • 8篇
    2018年
  • 75篇
    2017年
成就勋章
TA的专栏
  • 技术_编程语言
    130篇
  • 领域_图像处理
    8篇
  • 技术_主机系统软件
    130篇
  • 技术_设计模式
    20篇
  • 领域_机器学习
    62篇
  • 其他
    7篇
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    架构
  • 人工智能
    opencv计算机视觉机器学习深度学习
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

高并发之缓存

Web缓存是用于临时存储(缓存)Web文档(如HTML页面和图像),以减少服务器延迟的一种信息技术。Web缓存系统会保存下通过这套系统的文档的副本;如果满足某些条件,则可以由缓存满足后续请求。缓存的作用减少网络带宽消耗:当Web缓存副本被使用时,只会产生极小的网络流量,可以有效的降低运营成本。降低服务器压力:给网络资源设定有效期之后,用户可以重复使用本地的缓存,减少对源服务器的请求,间接降低服务器的压力。同时,搜索引擎的爬虫机器人也能根据过期机制降低爬取的频率,也能有效降低服务器的压力。减少网络..
原创
发布博客 2022.04.04 ·
1364 阅读 ·
0 点赞 ·
0 评论

高并发之降级

由于爆炸性的流量冲击,对一些服务进行有策略的放弃,以此缓解系统压力,保证目前主要业务的正常运行。它主要是针对非正常情况下的应急服务措施:当此时一些业务服务无法执行时,给出一个统一的返回结果。降级服务的特征原因:整体负荷超出整体负载承受能力。目的:保证重要或基本服务正常运行,非重要服务延迟使用或暂停使用大小:降低服务粒度,要考虑整体模块粒度的大小,将粒度控制在合适的范围内可控性:在服务粒度大小的基础上增加服务的可控性,后台服务开关的功能是一项必要配置(单机可配置文件,其他可领用数据库和缓存)..
原创
发布博客 2022.04.04 ·
512 阅读 ·
0 点赞 ·
0 评论

http认证鉴权05CAS和OAuth2区别

二者区别主要集中在以下几个方面目的不同cas是用作单点登录的,oauth2是用来做授权的。保护对象不同cas保护的用户名密码(st可以看作用户名密码的等价物)。oauth2,保护的是code,code等价于用户名+密码+数据使用范围限制(第三方登录时,可以选择是否提供手机号,头像等信息给被授权方使用。区别很大?并非如此CAS和Oauth2乍一看区别很大。譬如常见的流程图解CASOAuth2但是如果我们将CAS的流程图拍平,也修改为OAuth2的形式进行展示。那么
原创
发布博客 2022.04.04 ·
490 阅读 ·
0 点赞 ·
0 评论

[转]详细的GStreamer开发教程

详细的GStreamer开发教程文章目录详细的GStreamer开发教程 1. 什么是GStreamer? 2. GStreamer架构 2.1 Media Applications 2.2 Core Framework 2.3 Plugins 3. GStreamer组件 3.1 Element 创建一个 GstElement 3.2 箱柜(bin) 元件的状态 3...
转载
发布博客 2021.03.24 ·
174 阅读 ·
0 点赞 ·
0 评论

[转]Ubuntu terminator 无法打开解决方案

在使用Ubuntu的过程中,突然发现Ctrl + Alt + T无法打开terminator,但是Ubuntu本身的终端是可以打开的。我因此重启了电脑两次,重装terminator,都无效。结果原因是因为我更改了默认的Python版本,就是把/usr/bin/python连接到了Python3,但是terminator是基于Python2的。解决方案sudo gedit /usr/bin/terminator将#!/usr/bin/python...
转载
发布博客 2021.03.19 ·
170 阅读 ·
0 点赞 ·
0 评论

[转]Terraform 使用 - 从最简单例子开始

Terraform 使用 - 从最简单例子开始https://yanbin.blog/terraform-get-started-with-first-sample/Terraform 是一个 IT 基础架构自动化编排工具,它的口号是 "Write, Plan, and create Infrastructure as Code", 基础架构即代码。具体的说就是可以用代码来管理维护 IT 资源,比如针对 AWS,我们可以用它创建,修改,删除 S3 Bucket, Lambda, EC2 实例,Kin
转载
发布博客 2021.03.17 ·
224 阅读 ·
0 点赞 ·
0 评论

高并发之限流

原文:高并发之限流高并发系统设计的三利器:缓存、限流、降级,三利器简述缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。大型网站一般主要是“读”,缓存的使用很容易被想到。在大型“写”系统中,缓存也常常扮演者非常重要的角色。比如累积一些数据批量写入,内存里面的缓存队列(生产消费),以及HBase写数据的机制等等也都是通过缓存提升系统的吞吐量或者实现系统的保护措施。甚至消息中间
原创
发布博客 2021.03.14 ·
71 阅读 ·
0 点赞 ·
0 评论

读书_w3c架构师01通用设计与方法论

原文:读书_w3c架构师01通用设计与方法论读书_w3c架构师架构 秒杀系统优化思路基本思路(1)将请求尽量拦截在系统上游(不要让锁冲突落到数据库上去)(2)充分利用缓存,秒杀买票,这是一个典型的读多写少的应用场景,大部分请求是车次查询第一层,客户端怎么优化(浏览器层,APP层)(a)产品层面,用户点击“查询”或者“购票”后,按钮置灰,禁止用户重复提交请求;(b)JS层面,限制用户在x秒之内只能提交一次请求;第二层,站点层面的请求拦截怎么拦截?怎么防止程序员写for循环调
原创
发布博客 2021.03.14 ·
103 阅读 ·
0 点赞 ·
2 评论

[转]web实时视频流从0到1(ffmpeg+nginx-http-flv-module+flv.js)

海康威视视频流rtsp,需要在web(Vue)页面显示,探索了很多方法,考虑到兼容,最终确定 ffmpeg+nginx-http-flv-module+flv.js 这一套方案,也推荐大家使用这一套方案。简介特此声明:本文主要记录我web直播海康视频的探索过程,如文中概念阐述有不正确的地方望留言指正业界cs视频流方案还是比较多的,不在赘述。以下是web支持主流视频流协议考虑到flash的会完全禁止(win10即将禁止,chrome,firfox已经禁止),rtm...
转载
发布博客 2021.03.05 ·
396 阅读 ·
0 点赞 ·
0 评论

[转]正则表达式中re.match、re.search、re.findall的用法和区别

正则表达式中re.match、re.search、re.findall的用法和区别re.match 用法re.match语法:re.match(pattern,string,flags=0)pattern:表示正则表达式string:要匹配的字符flags:控制匹配的方式**re.match匹配方式:**从字符起始位置匹配,若起始位置匹配不成功返回none。即只匹配起始位置import re string='www.baidu.com'pattern1='w...
转载
发布博客 2021.01.31 ·
85 阅读 ·
0 点赞 ·
0 评论

[转]微服务轮子项目(27) -MySQL 主从复制、主从切换、主主复制

文章目录 1. 主从复制 1.1 主库安装 1.1.1 创建配置文件 1.1.2 启动主库 1.1.3 主库创建用于同步的账号 1.2 从库安装 1.2.1 创建配置文件 1.2.2 启动从库 1.2.3 关联主库 1.2.4 启动并查看slave 1.2.5 创建从库的普通用户 1.3 主库查看同步信息 2. 主从切换 2.1 对主库进行锁表...
转载
发布博客 2021.01.29 ·
81 阅读 ·
0 点赞 ·
0 评论

[转]从根上理解高性能、高并发:深入计算机底层,理解线程与线程池

系列《从根上理解高性能、高并发(一):深入计算机底层,理解线程与线程池》 《从根上理解高性能、高并发(二):深入操作系统,理解I/O与零拷贝技术》 《从根上理解高性能、高并发(三):深入操作系统,彻底理解I/O多路复用》 《从根上理解高性能、高并发(四):深入操作系统,彻底理解同步与异步》 《从根上理解高性能、高并发(五):深入操作系统,理解高并发中的协程》(* 本文) 《从根上理解高性能、高并发(六):通俗易懂,高性能服务器到底是如何实现的》前言作为即时通讯技术的开发者来说,高性能、高
转载
发布博客 2021.01.28 ·
92 阅读 ·
0 点赞 ·
0 评论

linux_负载分析之LoadAverage

原创:linux_负载分析之LoadAverage平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数。和 CPU 使用率并没有直接的关系一般的进程需要消耗 CPU、内存、磁盘I/O、网络I/O等资源,在这种情况下,平均负载就不是单独指的CPU使用情况。即内存、磁盘、网络等因素也可以影响系统的平均负载值。不过影响最大的是 CPU 使用率、CPU 等待和磁盘I/O。他不仅包扩了正在使用CPU的进程,还包括等待 CPU 和等待磁盘I/O的进程。查看load average# cat /
原创
发布博客 2021.01.27 ·
588 阅读 ·
0 点赞 ·
0 评论

软件_手把手教vscode配置c++,python开发环境

原创:软件_手把手教vscode配置c++,python开发环境之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为c++实现。于是乎,复习了c和c++的一些知识,毕竟十多年未用了(上次用还是本科读书时)。未来一段时间可能将c++作为主力研发语言,之前上学那会使用的codeBlocks貌似也不怎么火了,最近风头正盛的时vscode,打算用vscode进行研发。首先,vscode只能看做加强版的文本编辑器,不能看做IDE。
原创
发布博客 2021.01.26 ·
259 阅读 ·
0 点赞 ·
0 评论

[转]关于Linux下时间片分配给进程还是线程的问题

原文地址:https://www.zhihu.com/question/64723752/answer/223613245在Linux系统中,对于用户创建的进程(线程)来说,CPU分配时间片的单位是线程还是进程?是线程。线程是实际工作的单元[1],进程只是一个容器,用来管理一个或多个线程。1.这是不是就意味着尽量使用多线程并发,这样可以抢到更多的时间片。理论上是的,多线程的一种用途就是能同时做好几件事情,以提高效率。但实际问题是,CPU的数量(核心数,下同)是有限的,而且并不多。如果你的.
转载
发布博客 2021.01.26 ·
134 阅读 ·
0 点赞 ·
0 评论

[转]git merge 与 git rebase的区别

git log --graph可以查看分支合并图1》他们都是用于从一个分支获取并且合并到当前分支2》一个场景:在feature分支进行新特性的开发,与此同时,master分支也有新的提交,为了将master上的新提交合并到你的feature分支上3》merge合并执行的命令是:git checkout featuregit merge master此时在feature上git会自动产生一个新的commitmerge特点:自动创建一个新的commit优点:记录真实的
转载
发布博客 2021.01.25 ·
57 阅读 ·
0 点赞 ·
0 评论

[转]【Linux】一幅图秒懂LoadAverage(负载)

一、什么是Load Average?系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。二、如何查看Load?top命令,w命令,uptime等命令都可以查看系统负载:[shenjian@dev02 ~]$ uptime13:53:39 up 130 days, 2:15, 1 us...
转载
发布博客 2021.01.21 ·
45 阅读 ·
0 点赞 ·
0 评论

[转]Django REST framework 简介与中文教程

Django REST framework 简介与中文教程简介在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。 在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的: 增:校验请求数据–>执行反序列化过程–>保存数据库–>将保存的对象序列化并返回; 删:判断要删除的数据是否存在–>执行数据库删除 改...
转载
发布博客 2021.01.13 ·
310 阅读 ·
0 点赞 ·
0 评论

[转]为什么mysql默认隔离级别设置为可重复读

一般的DBMS系统,默认都会使用读提交(Read-Comitted,RC)作为默认隔离级别,如Oracle、SQLServer等,而MySQL却使用可重复读(Read-Repeatable,RR)。要知道,越高的隔离级别,能解决的数据一致性问题越多,理论上性能损耗更大,可并发性越低。隔离级别依次为>:串行化 > RR > RC >读未提交在SQL标准中,前三种隔离级别分别解决了幻象读、不可重复读和脏读的问题。那么,为什么MySQL使用可重复读作为默认隔离级别呢?...
转载
发布博客 2021.01.01 ·
170 阅读 ·
0 点赞 ·
0 评论

[转]char数组赋值

c语言易错点定义一个数组char a[10];怎么给这个数组赋值呢?1、定义的时候直接用字符串赋值char a[10]=“hello”;注意:不能先定义再给它赋值,如char a[10]; a[10]=“hello”;这样是错误的!2、对数组中字符逐个赋值char a[10]={‘h’,‘e’,‘l’,‘l’,‘o’};3、利用strcpychar a[10]; strcpy(a, “hello”);易错情况:1、char a[10]; a[10]=“hello”;//一个字...
转载
发布博客 2020.12.31 ·
158 阅读 ·
0 点赞 ·
1 评论
加载更多