文章
文章
-
旋转矩阵(Rotation Matrix)的推导及其应用 向量的平移,比较简单。 Xnew = Xold + Tx Ynew = Yold + Ty 缩放也较为简单 矩阵如何进行计算呢?之前的文章中有简介一种方法,把行旋转一下,然后与右侧对应相乘。在谷歌图片搜索旋转矩阵时,看到这张动图,觉得表述的很清晰了。 稍微复杂一点的是旋转,如果只是二维也很简单(因为很直观),但因为是三维的,有xyz三个轴,…
-
贴图、纹理、材质的区别是什么? 作者:00 链接:https://www.zhihu.com/question/25745472/answer/709030742 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这几个概念确实挺容易混淆的,我花时间整理了一下。 可以这么总结: Material 是表现 Shading 的数据集。其他几个概念都是生成这一数据集的资源…
-
3D图形学基础 原文:https://zhuanlan.zhihu.com/p/27846162 1 前言 现在AR、VR技术正值风口,催生了一大批相关的APP,使得3D图像学不再是游戏开发人员的专属知识,而是更多的普及开来。 本文主要针对一些对3D有兴趣的同学,普及图形学知识,不涉及深入的技术探讨和样例介绍。对于不是从事相关开发的同学也能了解相关的知识 部分材料来源于网络和书籍。 2 什么是图形…
-
🧭 整体结构总览 层级 技术视角 控制权体现 提供能力 对上层支撑 1. 计算机硬件 CPU、存储、总线 线性执行+跳转 程序计数器、堆栈、跳转指令 支持有序与跳跃控制 2. 计算机组成原理 存储程序原理、函数调用栈 跳转+调用+返回+中断 函数、递归、上下文切换 抽象为过程式语言 3. 操作系统 用户态、内核态、线程调度 控制权分时复用 中断、线程、信号、调度器 支撑多任务与系统调用 4. 高级…
-
Vue 3 + Vite + ChatGpt + Tauri2 Web端 客户端 后端 ychat_py Y-Chat Web端
-
最火爆的 AI绘图模型: ChilloutMix 等其它5个热门模型下载!含提示词 2023年3月4日 免费资源 不得不承认的是,最近AI绘图火的一塌糊涂!各种AI美图层出不穷,大家看到的很多网红脸AI小姐姐基本上都来自ChilloutMix 然而在ChilloutMix爆火的时候,作者TASUKU2023**突然删掉了自己在网上分享的训练模型,目前页面已经404,**无法下载这个备受欢迎的模型了…
-
RR级别下的幻读问题 MYSQL[8.0] --- 事务A show variables like 'transaction_isolation'; [ (transaction_isolation,REPEATABLE-READ) ] begin ; select * from menu where id>3; [ 1. 结果是空 ] select * from men…
-
SQL DB - 关系型数据库是如何工作的 从数据结构说起 # 时间复杂度 对于数据库而言,重要的不是数据量,而是当数据量增加时运算如何增加。 时间复杂度用来检验某个算法处理一定量的数据要花多长时间,时间复杂度不会给出确切的运算次数,但是给出的是一种理念。 绿:O(1)或者叫常数阶复杂度,保持为常数(要不人家就不会叫常数阶复杂度了)。 红:O(log(n))对数阶复杂度,即使在十亿级数据量时也很低…
-
ElasticSearch原理篇 一、基本信息 1.简介 介绍ElasticSearch前我们先预热一些常识,提到非结构化数据的检索的时候,经常听到Lucene、Solr、ElasticSearch,那他们的区别是什么呢? Apache Lucene不是搜索引擎,而是一个开源的搜索引擎工具包,他提供了查询和检索能力。Lucene是为了给开发人员提供一个简单易用的搜索工具包,以方便开发人员的在目标系…
-
jvm的槽为啥是32位,64JVM也是32位呢 1. 什么是 JVM 的“槽”(slot) 在 Java 虚拟机中,局部变量表(Local Variable Table) 是方法栈帧的一部分。 它由一组 slot(槽位) 组成,每个 slot 的基本单位是 32 位(4字节)。 slot 可以存放: int, float, reference, returnAddress 等单槽类型。 long,…
-
jvm的垃圾回收是如何暂停所有线程的 1. 为什么需要暂停线程? GC 需要对堆内存中的对象做可达性分析(reachability analysis),判断哪些对象是垃圾。如果应用线程(Mutator Threads)还在继续运行,就可能: 在 GC 标记过程中修改对象引用,导致结果不一致; 在对象回收时还在访问已被标记回收的对象。 因此,GC 必须让所有应用线程在某个点暂停,保证堆结构的一致性。…
-
DDD 并不是凭空冒出来的,它确实是从传统的业务驱动拆分路径里,把那些零散的、依赖个人经验的做法提炼成了一套可复用、可传授的方法论,然后加上统一的术语体系,让团队协作、跨团队建模、系统演进更可控。 换句话说 传统业务拆分:靠经验 → 每个架构师可能都有自己的套路 → 结果好坏取决于人 DDD:把这些套路标准化 → 给它命名(限界上下文、聚合、值对象…)→ 形成一整套显性规则 → 让不同团队、不同背…
-
jvm的槽为啥是32位,64JVM也是32位呢 1. 什么是 JVM 的“槽”(slot) 在 Java 虚拟机中,局部变量表(Local Variable Table) 是方法栈帧的一部分。 它由一组 slot(槽位) 组成,每个 slot 的基本单位是 32 位(4字节)。 slot 可以存放: int, float, reference, returnAddress 等单槽类型。 long,…
-
🧠 为什么 MESI 协议并不足以保证 Java 中的“可见性”语义? 1. MESI 是硬件层级的缓存一致性,volatile 是语言层级的可见性保证 MESI 主要解决“同一物理地址在多核缓存中的副本一致性问题”; 根据MESI,CPU某核(假设CPU0)的缓存行(包含变量x)是M S 或E的时候,如果总线嗅探到了变量x被其其他核(比如CPU1)执行了写操作(remote write)那么CP…
-
HashMap 1. Hash 冲突后的数据结构变化(JDK8 之后的优化) 在 JDK8 之前,HashMap 发生冲突后使用的是链表结构,导致在极端情况下时间复杂度退化为 O(n)。 JDK8 开始引入红黑树结构优化: 当某个桶(链表)中的元素个数超过 TREEIFY_THRESHOLD = 8 且容量超过 MIN_TREEIFY_CAPACITY = 64 时,该桶的链表会被转化为红黑树; …
-
jvm的槽为啥是32位,64JVM也是32位呢 1. 什么是 JVM 的“槽”(slot) 在 Java 虚拟机中,局部变量表(Local Variable Table) 是方法栈帧的一部分。 它由一组 slot(槽位) 组成,每个 slot 的基本单位是 32 位(4字节)。 slot 可以存放: int, float, reference, returnAddress 等单槽类型。 long,…
-
jvm的垃圾回收是如何暂停所有线程的 1. 为什么需要暂停线程? GC 需要对堆内存中的对象做可达性分析(reachability analysis),判断哪些对象是垃圾。如果应用线程(Mutator Threads)还在继续运行,就可能: 在 GC 标记过程中修改对象引用,导致结果不一致; 在对象回收时还在访问已被标记回收的对象。 因此,GC 必须让所有应用线程在某个点暂停,保证堆结构的一致性。…
-
🧠 为什么 MESI 协议并不足以保证 Java 中的“可见性”语义? 1. MESI 是硬件层级的缓存一致性,volatile 是语言层级的可见性保证 MESI 主要解决“同一物理地址在多核缓存中的副本一致性问题”; 根据MESI,CPU某核(假设CPU0)的缓存行(包含变量x)是M S 或E的时候,如果总线嗅探到了变量x被其其他核(比如CPU1)执行了写操作(remote write)那么CP…
-
1. 容器应用创建 在 Kubernetes 中,容器应用的创建不仅仅依赖于 docker run 命令,还可以通过 Kubernetes 的资源对象进行创建和管理。Kubernetes 提供了类似 Docker 容器的功能,但与 Docker 容器不同的是,Kubernetes 会在集群中进行调度和管理。下面我会详细介绍一些 Docker 和 Kubernetes 中常见的创建容器的命令及参数,…
-
minikube 是一款基于 Kubernetes 的定位于快速验证功能的小型容器编排环境。 由于它的定位特性,我们在使用中会发现 minikube 虚拟出了一个 IP 作为自身的节点 IP,该 IP 和宿主机不同。对于 NodePort 类型的 Service 也没有办法通过 127.0.0.1 访问。 Host 内访问 The minikube VM is exposed to the hos…
-
问题: 我正在使用minikube测试部署并正在通过此链接 我的部署清单文件就像 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: webapp spec: replicas: 1 template: metadata: labels: app: webapp spec: containers: - name: weba…
-
该分类下没有文章
-
1、原生 ByteBuffer、ByteBuf 内部结构设计 首先我们来回顾一下 java.nio.ByteBuffe r的内部结构设计。 ByteBuffer 内部持有一个 byte[] bt, 再加上 position、limit、capacity、mark 四个属性。 position 当前可用操作的位置,调用 get() 方法,返回 bt[postion] 处的值,如果是调用 put 方法…
-
首先,我们再看一下 ByteBuf 的类设计图,从中更进一步了解ByteBuf。 ByteBuf 继承自 ReferenceCounted,引用计数,也就是说 ByteBuf 的内存回收使用的是引用计数器来实现。 UnpooledHeapByteBuf 是非池化的堆内存实现,而 UnpooledDirectByteBuf 是非池化的堆外内存(直接内存)。非池化的ByteBuf 就是利用完之后就需要…
-
1、图说Netty直接内存管理 2、Netty 直接内存的使用示例 ByteBuf buf = Unpooled.directBuffer(512); System.out.println(buf); // SimpleLeakAwareByteBuf(UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 512)) // SimpleLeakAwa…
-
Nginx中变量详解 一、http Croe模块 $http_user_agent 客户端UA信息 $http_cookie 客户端COOKIE $cookie_name 参考$arg_name的用法 $arg_name 获取URI中的GET参数,比方说http://localhost:8080/test?class=3,则用$arg_class获取。注:1)不区分大小写,例如CLASS=2同样使…
-
connection 在 Nginx 中 connection 就是对 tcp 连接的封装,其中包括连接的 socket,读事件,写事件。利用 Nginx 封装的 connection,我们可以很方便的使用 Nginx 来处理与连接相关的事情,比如,建立连接,发送与接受数据等。而 Nginx 中的 http 请求的处理就是建立在 connection之上的,所以 Nginx 不仅可以作为一个web…
-
作者:w3cschool 来源:https://www.w3cschool.cn Nginx 的配置系统 Nginx 的配置系统由一个主配置文件和其他一些辅助的配置文件构成。这些配置文件均是纯文本文件,全部位于Nginx 安装目录下的 conf 目录下。 配置文件中以#开始的行,或者是前面有若干空格或者 TAB,然后再跟#的行,都被认为是注释,也就是只对编辑查看文件的用户有意义,程序在读取这些注释…
-
负载均衡 年轻的时候看到文章说到百万并发总是感慨万千,虽然很多文章都是标题上有两个字,但是也不妨碍我对这些的憧憬,到底怎么样才能扛百万并发呀?这系统该多么牛逼呀 但是接触多了高并发的系统,再系统学习这方面知识后 ,你就会发现 : 百万并发确实牛皮,但是也没有那么神秘。虽然有不少技术点,但是思路其实不难。 核心要点 :不论多大的流量,其最终的目的都是对流量进行分流,即负载均衡。 文章效果 :能对流量…
-
logstash收集nginx日志写入kafka 安装logstash 下载 建议到官网下载最新版 https://www.elastic.co/cn/downloads/logstash 本文使用logstash7.0.0 https://artifacts.elastic.co/downloads/logstash/logstash-7.0.0.tar.gz wget https://arti…
-
为何会跨域? 出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(proto…
-
WP REST API:内部和自定义 在本系列的前一部分中,我们了解了如何通过WP REST API远程创建,更新和删除内容。 它使我们能够创建与平台无关的应用程序,这些应用程序可与WordPress驱动的后端无缝协作,从而为用户提供丰富的体验。 在本系列的当前部分中,我们将研究WP REST API的内部结构以及它们如何共同为API提供动力。 之后,我们将学习修改默认端点的服务器响应以包括自定义…
-
Python | Flask 解决跨域问题 使用步骤 1. 引入库 pip install flask-cors 2. 配置 flask-cors 有两种用法,一种为全局使用,一种对指定的路由使用 1. 使用 CORS函数 配置全局路由 from flask import Flask, request from flask_cors import CORS app = Flask(__name__…
-
如何使用Python读写Kafka? 关于Kafka的第三篇文章,我们来讲讲如何使用Python读写Kafka。这一篇文章里面,我们要使用的一个第三方库叫做kafka-python。大家可以使用pip或者pipenv安装它。下面两种安装方案,任选其一即可。 python3 -m pip install kafka-python pipenv install kafka-python 如下图所示: …
-
用Python 的Flask实现 RESTful API(学习篇) 理解API 理解Restful API 理解装饰器 理解Flask框架 使用Python Flask 实现Restful API API的理解 API(application programming interfaces),即应用程序编程接口。API由服务器(Server)提供(服务器有各种各样的类型,一般我们浏览网页用到的是we…
-
Redis核心技术 作为Key/Value键值数据库,Redis的应用非常广泛。在之前多年的工作生涯中,我也只是关注了零散的技术点,没有对Redis建立起一套整体观,但只有建立了系统整体观,才能更好地定位问题和解决问题,更重要的是应付面试。 1 KV数据库的基本架构 (1)访问框架 (2)索引模块 (3)操作模块 (4)存储模块 为了支持更加丰富的业务场景,其实 Redis 对这些组件或者功能进行…
-
Redis实现分布式锁的7种方案 日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式。如果有不正确的地方,欢迎大家指出哈,一起学习一起进步。 什么是分布式锁 方案一:SETNX + EXPIRE 方案二:SETNX + value值是(系统时间+过期时间) 方案三:使用Lua脚本(包含…
-
《Redis设计与实现》读书笔记 关系数据库并不直接支持交集计算操作,要计算两个集合的交集,除了需要对两个数据表执行合并(join)操作之外,还需要对合并的结果执行去重复(distinct)操作,最终导致交集操作的实现变得异常复杂。 第1章 引言 略。 第2章 简单动态字符串 SDS,simple dynamic string,简单动态字符串。 在Redis的数据库里面,包含字符串值的键值对(注意…
-
SpringClound Gateway 自定义负载均衡 这里前提已知大家都知道负载的最终执行方法时 choose方法,我们需要自定义实现这个choose方法即可。 这里就是框架自带的几种均衡策略,我们需要实现AbstractLoadBalancerRule 来自定义自己的方案。 LocalBalance 在这个类中无法获取请求的内容,可以使用过滤器来为此添加一个Object key,根据key值…
-
Spring Boot 启动扩展点
-
配置文件的加载顺序以及优先级覆盖 SpringBoot约定了配置文件,默认为application.properties,通过该文件可以修改很多默认的配置,当然我们还可以在该配置文件内添加自定义的配置,该文件通过key=value的形式进行配置。 疑惑配置提示? 当我们使用开发工具来配置时,就会出现相应的提示,这要完全要归功于spring-configuration-metadata.json配置…
-
Ubuntu 16.04下Shadowsocks服务器端安装及优化 前言 本教程旨在提供简明的Ubuntu 16.04下安装服务器端Shadowsocks。不同于Ubuntu 16.04之前的教程,本文抛弃initd,转而使用Ubuntu 16.04支持的Systemd管理Shadowsocks的启动与停止,显得更为便捷。优化部分包括BBR、TCP Fast Open以及吞吐量优化。 本教程仅适用…
-
变换矩阵总结 摘要 变换矩阵 (Transformation Marices) 在图形学中的重要性不用多说,一切物体的缩放,旋转,位移,都可以通过变换矩阵作用得到。同时在投影 (projection) 变换的时候也有很多应用,本文将会介绍一些简要的变换矩阵。 1 2D线性变换 我们将如下图所示的简单矩阵乘法定义为对向量(x,y)T的线性变换。 1.1 缩放(scaling) 缩放变换是一种沿着坐标…
-
该分类下没有文章
-
tomcat的acceptCount、maxThreads、connectionTimeout参数调整 acceptCount值调整(默认100) acceptCount的经验值的范围为50-300,当tomcat的处理能力不够快的时候,可以调整该值,比较有用。 当系统的并发量比较大的时候,关闭keep alive,然后适当调整该值 当连接建立之后,经常得不到worker线程处理时,可以适当降低该…
-
方法一(只能看到部分信息): docker ps -a --no-trunc 方法二: 安装runlike (查看指定docker container的启动命令) pip install runlike 命令格式:runlike -p <容器名>|<容器ID> [root@mq02 ~]# runlike -p 5f817b8d13eee52dd12ffdf8a1ff582…
-
容器runtime:runtime 是容器真正运行的地方。runtime 需要跟操作系统 kernel 紧密协作,为容器提供运行环境。 可以类比java,Java 程序就好比是容器,JVM 则好比是 runtime。JVM 为 Java 程序提供运行环境。同样的道理,容器只有在 runtime 中才能运行。 lxc、runc 和 rkt 是目前主流的三种容器 runtime。 容器管理工具:容器管…
-
🧭 整体结构总览 层级 技术视角 控制权体现 提供能力 对上层支撑 1. 计算机硬件 CPU、存储、总线 线性执行+跳转 程序计数器、堆栈、跳转指令 支持有序与跳跃控制 2. 计算机组成原理 存储程序原理、函数调用栈 跳转+调用+返回+中断 函数、递归、上下文切换 抽象为过程式语言 3. 操作系统 用户态、内核态、线程调度 控制权分时复用 中断、线程、信号、调度器 支撑多任务与系统调用 4. 高级…
-
Kubernetes 内部的架构 原文:https://phoenixnap.com/kb/understanding-kubernetes-architecture-diagrams Kubernetes是用于管理容器化应用程序集群的工具。在计算机领域中,此过程通常称为编排。 用管弦乐编排比喻上面的服务编排是很恰当的,就像乐队指挥一样,Kubernetes协调地将许多微服务组合在一起构成了应用程…
-
浏览器 从输入一个地址开始,它可以是这样的 www.baidu.com, 也可以是这样的 https://admin:admin@www.gschaos.club:80/dir/file1.html, 咋一看好像都能看懂,而且还知道这么输入会得到什么,更言之还能断点调试一下; URL 我们先来看下URL,URL有很多种,不止我们常用到的http://,还有很多比如"file:"…
-
DDD 并不是凭空冒出来的,它确实是从传统的业务驱动拆分路径里,把那些零散的、依赖个人经验的做法提炼成了一套可复用、可传授的方法论,然后加上统一的术语体系,让团队协作、跨团队建模、系统演进更可控。 换句话说 传统业务拆分:靠经验 → 每个架构师可能都有自己的套路 → 结果好坏取决于人 DDD:把这些套路标准化 → 给它命名(限界上下文、聚合、值对象…)→ 形成一整套显性规则 → 让不同团队、不同背…
-
SpringClound Gateway 自定义负载均衡 这里前提已知大家都知道负载的最终执行方法时 choose方法,我们需要自定义实现这个choose方法即可。 这里就是框架自带的几种均衡策略,我们需要实现AbstractLoadBalancerRule 来自定义自己的方案。 LocalBalance 在这个类中无法获取请求的内容,可以使用过滤器来为此添加一个Object key,根据key值…
-
Spring Boot 启动扩展点
-
这几年落地的DDD,都是智商税和大忽悠? 原文:https://www.cnblogs.com/88223100/p/DDD-IQ_Tax.html 牛B的人物,早已经厌倦了中英文混杂,他们更进一步,使用中英文缩写,对普通人进行降维打击。更厉害的,造就新的名词,并科普出去。 有几项技术,我从心底里鄙视和厌恶,但每次在技术方案中,都默默的把它们加进去,而且给足了它们分量。因为它们对于方案的成功与否,…
-
《影响力》读书笔记1 政治家运用影响力来赢得选举,商人运用影响力来兜售商品,推销员运用影响力诱惑你乖乖地把金钱奉上。即使你的朋友和家人,不知不觉之间也会把影响力用到你的身上。但到底是为什么,当一个要求用不同的方式提出来时,你的反映就会从负面抵抗变成积极合作呢?带着这些日常生活中司空见惯却百思不得其解的疑问,我翻开了《影响力》。它妙趣横生的语言向我们传达能包罗万象的六条基本的心理学原理:互惠、投入…
-
变换矩阵总结 摘要 变换矩阵 (Transformation Marices) 在图形学中的重要性不用多说,一切物体的缩放,旋转,位移,都可以通过变换矩阵作用得到。同时在投影 (projection) 变换的时候也有很多应用,本文将会介绍一些简要的变换矩阵。 1 2D线性变换 我们将如下图所示的简单矩阵乘法定义为对向量(x,y)T的线性变换。 1.1 缩放(scaling) 缩放变换是一种沿着坐标…
-
求解 springboot+mysql 随机出现的异常延迟 两行紧挨着的代码,很简单的根据 id 更新一行数据,然后打印函数执行到此时的耗时 打印出来的日志如下 正常情况下两个打印出来的耗时差值应该是 10ms 以内 但是每天会随机出现几个时间点,两个耗时差值会大于 1s 甚至 10 ~ 20s 日志中可以看到并不是语句执行出现耗时,mybatis 已经把执行结果打印出来了 耗时出现在语句执行之后…
-
反射抛出自定义异常问题 作者: MysticalYcc 转载请注明出处:反射抛出自定义异常问题 问题描述 反射调用方法时,方法内部抛出了自定义异常,但是无法在反射调用点捕获到抛出的自定义异常。 反射调用方法时,方法再次调用反射抛出自定义异常,导致最底层异常消失。 调用逻辑代码 @Slf4j public abstract class AbstractService implements BaseS…
-
Cannot assign requested address. 搭建kafka时,需要对配置文件进行修改,在服务器上搭建时候,配置文件中需要配置 :listeners :advertised.host.name :advertised.listeners 这几项,其中 listeners 配置的ip和其他两者相同时启动kafka会报这样的错误: Cannot assign requested a…
-
socket接收发送缓冲区 【TCP接收/发送滑动窗口与内核接收/发送缓冲区之间的关系】 滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接的数据,每个TCP连接都会为维护TCP滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。 整个数据的流程中,首先网卡接收到的数据存放到内核缓冲区内,然后内核缓冲区存放的数据根据TCP信息将数据移动到具体的某一个TCP连接上的接收缓冲区内,也就是…
-
如何形象的描述反应式编程中的背压(Backpressure)机制? [TOC] 按照https://github.com/ReactiveX/RxJava/wiki/Backpressure的描述和人讲,大多数人很难听懂。特别是Throttling、throttleLast、throttleFirst、debounce等概念。 首先,Backpressure 并不是响应式编程(Reactive P…
-
调试排错 - Java 问题排查之Linux命令 Java 在线问题排查主要分两篇:本文是第一篇,通过linux常用命令排查。@pdai 调试排错 - Java 问题排查之Linux命令 文本操作 文本查找 - grep 文本分析 - awk 文本处理 - sed 文件操作 文件监听 - tail 文件查找 - find pgm 查看网络和进程 查看所有网络接口的属性 查看防火墙设置 查看路由表 …
-
RR级别下的幻读问题 MYSQL[8.0] --- 事务A show variables like 'transaction_isolation'; [ (transaction_isolation,REPEATABLE-READ) ] begin ; select * from menu where id>3; [ 1. 结果是空 ] select * from men…
-
关于数据库变长字段索引问题 以下问题已经测试数据来源于网上,只是针对问题做补充。 Mysql中Varchar(50)和varchar(500)区别是什么? 一. 问题描述 我们在设计表结构的时候,设计规范里面有一条如下规则: 对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。 为什么这么规定,我在网上查了一下,主要基于两个方面 基于存储空间的考虑 基于性能的考虑 网上说Varc…
-
MVCC能否解决幻读? “幻读”指,同一个事务里面连续执行两次同样的sql语句,可能导致不同结果的问题,第二次sql语句可能会返回之前不存在的行。 先给出结论:不能笼统的说能不能解决,因为有的情况下可以解决,但是有的情况下解决不了。 可以解决的情况 mysql里面实际上有两种读,一种是“快照读”,比如我们使用select进行查询,就是快照读,在“快照读"的情况下是可以解决“幻读”的问题的…
-
如何形象的描述反应式编程中的背压(Backpressure)机制? [TOC] 按照https://github.com/ReactiveX/RxJava/wiki/Backpressure的描述和人讲,大多数人很难听懂。特别是Throttling、throttleLast、throttleFirst、debounce等概念。 首先,Backpressure 并不是响应式编程(Reactive P…
-
调试排错 - Java 问题排查之Linux命令 Java 在线问题排查主要分两篇:本文是第一篇,通过linux常用命令排查。@pdai 调试排错 - Java 问题排查之Linux命令 文本操作 文本查找 - grep 文本分析 - awk 文本处理 - sed 文件操作 文件监听 - tail 文件查找 - find pgm 查看网络和进程 查看所有网络接口的属性 查看防火墙设置 查看路由表 …
-
一、什么是 CDN CDN 的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。 简单的说,CDN …
-
SpringClound Gateway 自定义负载均衡 这里前提已知大家都知道负载的最终执行方法时 choose方法,我们需要自定义实现这个choose方法即可。 这里就是框架自带的几种均衡策略,我们需要实现AbstractLoadBalancerRule 来自定义自己的方案。 LocalBalance 在这个类中无法获取请求的内容,可以使用过滤器来为此添加一个Object key,根据key值…
-
SpringCloud Gateway读取Request Body 我们使用SpringCloud Gateway做微服务网关的时候,经常需要在过滤器Filter中读取到Post请求中的Body内容进行日志记录、签名验证、权限验证等操作。我们知道,Request的Body是只能读取一次的,如果直接通过在Filter中读取,而不封装回去回导致后面的服务无法读取数据。 SpringCloud Gate…
-
一、什么是 CDN CDN 的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。 简单的说,CDN …
-
工作,消费主义和新穷人
-
“符号操弄的代理人” 这种表达借用了符号学和传播学的概念,形容此类人只是某种舆论符号系统的执行者或传播者,在未经过自我分析或批判的情况下,将符号(新闻或信息)传播给他人。 “无意识的社会结构再生产者” 这个说法源自社会学中的结构主义理论,表示这种人在没有意识到的情况下,通过传播现有的社会话语和信息,反而在无意识中巩固了现有的社会结构和主流思想。 “认知生态中的信息传递节点” 这种表达结合了认知科学…
-
作者: Randy ------4.3.2 主存与CPU之间的联系 如图所示的链接关系 ------4.3.3 主存中的地址分配 1比特(bit)存储一个基本的二进制位 0或1 8比特组成1字节(byte),主存中的地址按字节由高到低进行分配 而最小的寻址单元则是1字(word),根据环境的不同,1字长可能是4字节,也可能是8字节 以一个 int32 为例,它需要32位 4字节的空间进行存储,我们…
-
负载均衡 年轻的时候看到文章说到百万并发总是感慨万千,虽然很多文章都是标题上有两个字,但是也不妨碍我对这些的憧憬,到底怎么样才能扛百万并发呀?这系统该多么牛逼呀 但是接触多了高并发的系统,再系统学习这方面知识后 ,你就会发现 : 百万并发确实牛皮,但是也没有那么神秘。虽然有不少技术点,但是思路其实不难。 核心要点 :不论多大的流量,其最终的目的都是对流量进行分流,即负载均衡。 文章效果 :能对流量…
-
一、什么是 CDN CDN 的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。 简单的说,CDN …
-
Kubernetes 内部的架构 原文:https://phoenixnap.com/kb/understanding-kubernetes-architecture-diagrams Kubernetes是用于管理容器化应用程序集群的工具。在计算机领域中,此过程通常称为编排。 用管弦乐编排比喻上面的服务编排是很恰当的,就像乐队指挥一样,Kubernetes协调地将许多微服务组合在一起构成了应用程…
-
好吧,其實我也是標題黨。關於量子力學,費曼曾經說過一句經典的描述: I think I can safely say that nobody understands quantum mechanics. 縱使如此,我仍然嘗試簡單介紹一下量子力學吧。 在 1905 年,愛因斯坦的奇蹟年,他寫下了一篇以後會得到諾貝爾獎的論文。這篇論文解釋的是光電效應,即是太陽能電池的原理。光電效應的解釋,說明了光除了…