一、前言 前几天在Python白银交流群【巭孬】问了一个Pycharm的问题,问题如下:有没有老哥遇到 pycharm升级后,不能同时运行多个py文件的情况,会被覆盖运行。...终于解决了,先关了pycharm,进文件管理,把项目里的 配置文件夹.idea,删了,然后用pycharm重新加载这个项目文件夹,会生成新的配置,然后重新设置实例多开,完事,正常了。....idea用来存储pycharm项目配置的。 大家还记得摸鱼库么?不记得的话,随手安装一个摸鱼库就好了。...这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【巭孬】提出的问题,感谢【论草莓如何成为冻干莓】给出的思路,感谢【莫生气】等人参与学习交流。
git stash | git stash pop 暂存工作内容,然后再切换到 hotfix 第二种方式较第一种还好很多,可是面对下面这些场景,stash 依旧不是很好的解决方案 我们面对的场景 正在...: 用简单的话来解释 git-worktree 的作用就是: 仅需维护一个 repo,又可以同时在多个 branch 上工作,互不影响 上面红色框线命令有很多,我们常用的其实只有下面这四个: git... .git 文件夹;要么有 .git 文件,如果只有 .git 文件,里面的内容必须是指向 .git 文件夹的 第二句话感觉挺绕的,下面用例子说明,就很容易明白了 如果您正在学习Spring Cloud...,还有很多 administrative 文件是没有用的,为了保持清洁,我们还需要进一步清理 git worktree prune 这个命令就是清洁的兜底操作,可以让我们的工作始终保持整洁 总结 到这里... prune 你也应该明白 git worktree 和 git clone 多个 repo 的区别了。
昨天刚刚找了一个基于Django的开源微型论坛框架Spirit,部署在自己的小服务器上。...一开始运行好好的,但是当我试着同时访问上述几个网站时,有一定概率出现Server internal error, 查看error.log发现log如下: [Sun Nov 11 02:38:31.200426...在脚本之家搜索到了一篇名为在Apache服务器上同时运行多个Django程序的方法,该文章声称可以在apache的配置文件中使用SetEnv指令来部署多站点Django, 但是在wsgi.py中已经存在...我去掉了wsgi.py中的os.environ语句,在apache配置文件中使用SetEnv进行配置文件的选择,奇怪的是不论在SetEnv后面有没有使用引号,该问题都无法解决,有时候报错为模块找不到(与背景中的报错信息相同...所以,SetEnv到底有没有设置环境变量,由于调试困难暂不得而知。 总结 中文文档、博客虽然快,但总时不时进入死胡同。
服务器上已经有了MYSQL5.X,但因为需要还需要再安装一个MYSQL8,查了一下大概的意思就是 只要服务名和端口别重复就可以同时共存。...所以我们只需要再去服务器上装一个MYSQL8就可以让服务器同时兼容多个版本的MYSQL,顺便重新整理一下MYSQL8的安装过程: 方法还是一样,首先把MYSQL8和系统对应的操作版本压缩包拷备在需要安装的机器上面...初始化了之后可以安装服务(安装了服务之后,在注册表和服务里面就会出现相应的服务项) mysqld -install mysql8 (可能最后是用的这个,但注册表里面会添加ini文件的路径,所以下面那个也有可能...或者 mysqld install mysql8 --default-file="你的目录mysql8my.ini" 反正这一步执行是安装服务用的,,执行了命令之后在服务里面会出现 mysql8的服务项...至此 WINDOWS服务器同时安装多个版本的MYSQL 并且是兼容 MYSQL8的方式算是完美解决了。服务中上可以同时跑两个版本MYSQL。。。折腾一天,测试无数次。总算成功了。
提高吞吐量就某个寄宿的服务实例(Service Instance)来说,一个重要的途径就是让它能够同时处理来自各个客户端(服务代理)的并发访问。...如果我们并发量超出了服务端所能承受的临界点,整个服务端将会崩溃。所以,WCF一方面需要允许让单个服务实例并发处理接收到的多个请求,同时也需要设置一道闸门控制并发的数量。...一、同一个服务实例上下文同时处理多个服务调用请求 并发的含义就是多个并行的操作同时作用于一个相同的资源或者对象,或者说同一个资源或者对象同时应付多个并行的请求。...而WCF将服务实例封装在一个称为实例上下文(InstanceContext)对象中,所以WCF中的并发指的是同一个服务实例上下文同时处理多个服务调用请求。...可以同时用于处理多个服务请求,所以Multiple并发模式下针对同一个InstanceContext的多个并发请求能够得到及时的处理。
grpc_0117.pptx 剖析gRPC演讲稿 各位好,今天的主题是剖析gRPC, 我们在实际工作中大量的应用gRPC做服务之间的调用。...还有客户端在进行调用的时候是如何定位到具体方法的,我没有没有想过?...一个request对应一个stream并分配一个id,同时可以有多个stream,每个stream的frame可以随机的混杂在一起,接收方可以根据 stream id将frame归属到不同的request...今天的例子是用etcd实现的. etcd 简介 etcd是一个高可用的键值分布式存储系统,主要用于共享配置和服务发现 服务注册:主要思路是创建一个lease租约,put一个前缀的Key(方便服务发现时根据前缀取...两个接口,看一下我们的例子。
之前写过一篇关于多个版本MYSQL在服务器上共同运行的内容,但因为经验不足整理的很乱。今天又在一台新服务器上测试重新整理了一下。...环境还是原来的环境,预装了MYSQL5 我们需要手动安装MYSQL8 服务器想要安装 MYSQL8 必须在服务器上安装VC2015类库 要不然在安装的时候会提示 ?...安装好之后我们还是把MYSQL8的安装包解压在服务器上 然后新建 mysql.ini文件(端口要和MYSQL5的端口分开,想要修改端口的话直接给MYSQL5的配置文件里面改一下重启服务就可以了。)...接下来就是 创建服务 mysqld install mysql8 后面那个是给服务起的名儿。。我就叫它MYSQL8 ? 运行完成之后,提示服务创建成功。 可以在控制面版 服务处看一下 ?...总结:大概的意思就是 只要服务名和端口别重复就可以同时共存。每次安装新版本的时候先把环境变量改一下,改成新版本的路径。然后创建就好了。。。
前置条件: 获取 gRPC-go 源码 $ go get google.golang.org/grpc 简单例子的源码位置: $ cd $GOPATH/src/google.golang.org/grpc...创建服务器 这部分的源码在: grpc-go/examples/route_guide/server/server.go 让 RouteGuide 服务工作有两个部分: 实现我们服务定义的生成的服务接口...:做我们的服务的实际的“工作”。...服务器端流式 RPC ListFeatures 是一个服务器端的流式 RPC,我们将多个 Feature 发回给客户端。 ?...一旦我们完成使用 Send() 方法将客户端请求写入流,就需要调用流的 CloseAndRecv()方法,让 gRPC 知道我们已经完成了写入同时期待返回应答。
腾讯看点 一面 写一个 LRU 缓存函数 写个防抖和节流函数 你们服务是怎么部署的?Node Agent 做了什么工作? Grpc 的优缺点? http2 的相关特性?...服务端监控是怎么做的?服务有上报过什么指标? Node 服务怎么去定位 CPU 占用暴涨的情况?怎么去定位内存泄露? 编写 grpc 服务和 http 服务的区别? 做过哪些 react 相关的优化?...实现一个深拷贝 实现一个二叉搜索树转链表的方法 商汤 一面 在工作中,主要是做什么内容? 有用过 lerna 吗?多个项目之间共用的东西怎么共享? 讲一讲微前端是怎么做的?怎么独立部署?...怎么实现 js bridge 跨多个 app 共用? grpc 相比 http 的优势? rpc 的调用流程?前端怎么调用 grpc 的? 为什么要用 grpc?...有没有做过一些提高工作效率的东西? 有没有了解过拖拽?觉得它有哪些难点? 有没有做过优化相关的?webpack 做了哪些优化?
我这边以 proxy 服务为例子,分析具体包依赖的关系: @svr/proxy@0.0.123 /app `-- @wgw/tools@0.0.123 +-- @opentelemetry/exporter-trace-otlp-grpc...网关服务是一个基于 node 的多个微服务组成的,在打包为 Docker 镜像之前,需要将完整的 node_modules 打包进 Docker 镜像里面。...3.1 Docker 镜像构建 目前网关因为存在四个微服务且每个服务都存在多个环境(toc, 多个私有化环境等等),因此关于部署相关的脚本逻辑都放在 @wgw/deploy 这个包里面,当然也包括了 Dockerfile...但是这样的做法还是不够完美,因为 packages 的复制会复制到本微服务没有依赖到的模块代码造成一定的污染,有没有更完美的方案呢? 3.3 Docker context 答案是存在的。...改造之后可能需要花费大量的人力来验证逻辑中使用的路径有没有发生变化。有没有方式可以降低这里的验证成本呢? 我在项目入口的设置用到了这个特性。
概述 最近这段时间工作挺忙的,发现已经 3 周没更文了... 感谢你们还在,今天给大家分享一款 gRPC 的调试工具。 进入正题。...当我们在写 HTTP 接口的时候,使用的是 Postman 进行接口调试,那么在写 gRPC 接口的时候,有没有类似于 Postman 的调试工具呢?...写一个 gRPC API 我原来写过 Demo,可以直接用原来写的 listen 项目。...服务启动成功后,等待使用。...当然,如果这个服务下面有多个 Service name,多个 Method name 也都会显示出来的,去试试吧。 go-gin-api 系列文章 7. 路由中间件 - 签名验证 6.
目前,已有一个强大的微服务框架 ——go-micro,我们在这个系列中会用到它。 protobuf/gRPC 简介 微服务被分割成多个独立的代码库,这就带来了一个重要的问题 —— 通信。...gRPC 核心数据格式采用的是二进制,而在上面 RESTful 的例子中,我们用的是 JSON 格式,也就是通过 http 发送一串字符串。...gRPC 采用的是支持二进制数据的 HTTP 2.0 规范,这个规范还能支持双向的通信流,相当炫酷!HTTP 2 是 gRPC 工作的基础。...这个 Makefile 会调用 protoc 库,将你的 protobuf 编译成对应的代码。同时,我们也指定了 gRPC 插件、编译目录和输出目录。...就这样,你完成了一个完整功能的 gRPC 服务!你可以输入指令 来运行这个程序,不过,目前,从界面上你还看不到任何东西。那如何能直观看到这个 gRPC 服务器正常工作了呢?
即网关就在 应用程序对应的服务器上,与客户端通过HTTP / HTTPS进行通信,并与自身服务器端的应用程序相连 gRPC-Gateway Golang开发程序的时候,一般gRPC对内,用于微服务之间的内部通信...我们的微服务中既要有内部通信的gRPC,又要写对外暴露的HTTP接口,似乎无形中增加了不少工作量,维护两个版本的服务,这种做法是不是很low。那么有没有一种办法可以将2种方式结合,或者说是简化呢?...是啊,我们写微服务,对内用gRPC,对外用HTTP, 一个服务里面写2套接口,累是累了点,可是 gRPC-Gateway仅仅就是写gRPC服务同时也可以用于HTTP接口吗?...当然不是 使用 gRPC-Gateway的优势如下: 可以保持Restful的简单性 gRPC-Gateway工具,让我们可以很快速的基于proto接口定义,在使用RPC的同时对外提供Restful...使用gRPC的原有Protobuf服务一样可以感受到Restful的简单性,犹如直接写的HTTP接口,简单易用 同时还可以充分提升应用内部的性能以及可靠性 这是RPC框架的本身优势,RPC专为分布式应用的高性能和高生产率设计而设计的
而且,在现实世界中如何使用 gRPC 的一个主要例子是在 Kubernetes 容器运行时接口(K8S CRI)中,这项技术实际上就是这种自动缩放的同义词。K8s 的一个关键特性是容器编排。...相反,service的功能是由驻留在服务绑定到的一个或多个pod中的逻辑提供的。 如上所述,pod 是一种抽象资源。Pod 是一个托管 Linux 容器的组织单元。...一个吊舱可以容纳一个或多个容器,其中每个容器的功能都是独一无二的。换句话说,同时拥有 web 服务器容器和数据库容器的 pod 是非常有可能的。...然而,需要注意的是,配置一个 pod 并不仅仅是包含随机数量的容器来承载。定义具有多个容器的 pod 的结构是一项复杂的工作。 需要知道的重要事情是: 在 Kubernetes,服务代表网络的功能。...CRI 实例上的 gRPC 服务器发送一条消息来执行该操作,然后 CRI 与安装在工作节点上的容器运行时引擎进行交互,以执行必要的操作。
为了减少延迟,需要 HTTP 的客户端与服务器建立多个连接实现并发处理请求,降低延迟。然而,在高并发情况下,大量的网络连接可能耗尽系统资源,可以使用连接池模式只维持固定的连接数可以防止服务的资源耗尽。...这主要得益于 HTTP/2 使用二进制数据帧来传输数据,使得一个 TCP 连接可以同时处理多个请求而不用等待一个请求处理完成再处理下一个。从而充分发掘了 TCP 的并发能力。...Stream 流有几个重要特性: 单个 HTTP/2 连接可以承载多个并发的 stream 流,通信双方都可能交叉地收到多个 stream 流的数据帧; stream 流可以单方面建立与使用,也可以由客户端和服务器双方共享消息通道...tRPC 协议帧定义如下图: gRPC 调用抓包分析 下面基于官方提供的 gRPC-Go helloword 例子,使用 Wireshark 分析通过 tcpdump 抓包 gRPC 调用的报文,加深对...同时我们看到,SETTINGS 帧的参数类型为 SETTINGS_MAX_FRAME_SIZE(0x5),参数类型表示服务端愿意接受的包体大小,初始值 为 16364 个字节。
RPC是一种在远程服务器上执行过程的方法,类似于在离您的工作站数英里的朋友的计算机上运行程序。...RPC在很大程度上让客户端只需要执行 (同时也只在这方面负有责任),而将大部分处理和计算工作转移给承载资源的远程服务器。...这是对服务器向客户端发号施令的经典模式的逆转,同时,GraphQL提供了大量的扩展功能。...在这一成熟度模型中的第4级,使用超媒体作为应用状态引擎(HATEOAS);多个URI,多个HTTP方法。在资源的表达中包含了链接信息。客户端可以根据链接来发现可以执行的动作。...gRPC更适用于系统需要对一定量的数据进行例行处理的情况下,发出数据请求的客户端要么是低功耗的,要么是资源苛刻型的。物联网就是一个很好的例子。
瞧一瞧 gRPC的拦截器 上一次说到gRPC的认证总共有4种,其中介绍了常用且重要的2种: 可以使用openssl做认证证书,进行认证 客户端还可以将数据放到metadata中,服务器进行认证 可是朋友们...,有没有想过,要是每一个客户端与服务端通信的接口都进行一次认证,那么这是否会非常多余呢,且每一个接口的实现都要做一次认证,这真的太难受了 咱作为程序员,就应该要探索高效的方法来解决一些繁琐复杂冗余的事情...拦截器是gRPC生态中的中间件 可以对RPC的请求和响应进行拦截处理,而且既可以在客户端进行拦截,也可以对服务器端进行拦截。 拦截器能做什么?...哈哈,他能做的可多了,最终要的一点是,拦截器可以做统一接口的认证工作,再也不需要每一个接口都做一次认证了,多个接口多次访问,只需要在统一个地方认证即可 这是不是大大的提高了接口的使用和认证效率了呢,同时还可以减少代码的冗余度...如果你想配置多个,可以使用拦截器链,如go-grpc-middleware,或者自己实现。
本文由腾讯文档的前端开发工程师张南华撰写。他曾在 Shopee 主导上万 qps 配置中心项目的研发工作,负责 Node 项目架构、技术方案设计等核心研发工作。...目前主要负责腾讯文档前端容器与新品类研发工作。擅长 Node 服务工程化、前端性能优化、质量体系建设等相关内容。喜欢研究新技术、参加开源活动。...下面的例子会列举 hello_pb.d.ts 及 hello_grpc_pb.d.ts 文件这个例子。 因为有生成 ts 声明文件,因此在静态编译时,我们也因此可以使用 ts 类型啦。...同时就在前端网关中应用的实际场景来说,前端网关适配了一些额外的 http 服务,既有业务相关,也有技术侧相关的一些服务。...(发起 gRPC 调用需要 proto 文件,一个服务的 proto 在多个服务的代码里面维护)越来越强烈剥离出去的需求。
UML 类图....主要功能介绍看完上面主要的更新内容,可以发现其实很多更新是对之前版本的Bug的修复和已有功能的优化完善,同时也引入了一些不错的新功能。...软件开发人员不受本地设备的限制,可以根据需要从远程机器使用尽可能多的资源。无开发环境顾虑。远程开发环境可以与本地机器配置分离。这有助于避免版本冲突并在多个工作区之间切换。避免代码泄露。...当开发人员通过远程开发工作流工作时,他们的机器上不会驻留任何源代码。该公司的数据在授权存储库中仍然是安全的。代码安全性有保证。...远程开发功能支持在家工作和混合计划,因为您的项目安全地位于远程机器上并且可以从任何地方访问。有没有觉得很爽?是不是感觉很给力?那么,如何开启远程开发呢?...HTTP 客户端现在为 gRPC 提供补全:所有已知的 gRPC 服务、特定服务器的一元和服务器流方法,以及最重要的是,请求正文中接受的消息字段。
,同时也引入了一些不错的新功能。...软件开发人员不受本地设备的限制,可以根据需要从远程机器使用尽可能多的资源。 无开发环境顾虑。远程开发环境可以与本地机器配置分离。这有助于避免版本冲突并在多个工作区之间切换。 避免代码泄露。...当开发人员通过远程开发工作流工作时,他们的机器上不会驻留任何源代码。该公司的数据在授权存储库中仍然是安全的。 代码安全性有保证。...远程开发功能支持在家工作和混合计划,因为您的项目安全地位于远程机器上并且可以从任何地方访问。 有没有觉得很爽?是不是感觉很给力?那么,如何开启远程开发呢?...HTTP 客户端现在为 gRPC 提供补全:所有已知的 gRPC 服务、特定服务器的一元和服务器流方法,以及最重要的是,请求正文中接受的消息字段。
领取专属 10元无门槛券
手把手带您无忧上云