我对微服务架构的简单理解

我理解的微服务,就是把以前一个接口一个数据库里实现的逻辑,改变为通过一级或多级远程调用去不同的服务器和数据库获取数据,然后完成整个逻辑。这也算是分布式开发技术了,每次业务要保证在多级远程调用过程中,数据的一致性,在存储数据时,因为是分不同数据库,不同服务器保存数据,有可能一个请求,要保存或更新a、b...

背包DP

01 背包 \(01\) 的意图很明显,就是每个物品有 \(01\),即 选 和 不选 两种方式。 暴力 考虑设定一个状态 \(dp[i][j]\) 表示在前 \(i\) 个当中,花费为 \(j\) 所能获得的最大值。 转移可以: \(dp_{i,j}=\max(dp_{i-1,j},dp_{i-1

mini-centos7 环境安装部署,各种踩坑。。。

最小Linux系统,安装Java环境 想想就生气,去面试个运维,面试官让我上机装个centos7,还是个最小安装包连界面都没有,只有命令行模式,我都哭了,然后让把一些环境装一下,然后再部署个springboot项目,我他妈都多久没用没有界面的东西了,最后卡在安装MySQL上,真想扇自己个

django启动时执行某个操作数据库的方法怎么实现

为了让django启动时就执行某些方法做了如下尝试 一、在Django中,可以通过AppConfig类的ready()方法来实现在Django启动时执行某个方法。 首先,在你的应用的apps.py文件中,创建一个继承自AppConfig类的子类,并重写ready()方法。例如,假设你的应用名为mya

WebGL实现简易的局部“马赛克”

在Canvas2D中通过调用`drawImage` API就能将图像绘制到画布上,在WebGL中我们也可以绘制图像,在绘制时我们需要用到WebGL中的纹理对象,在之前实现网格背景的视频中,我使用了一个叫做纹理坐标的配置,现在要完成纹理的加载我们也需要用到纹理坐标,并且我们可以通过对纹理坐标处理实现简...

C++多态与虚拟:C++编译器对函数名的改编(Name Mangling)

如果函数名称都相同(也就是被overloaded),编译器在面对你的函数唤起动作时,究竟是如何确定调用哪个函数实体呢?事实上,编译器把所有同名的overloaded functions视为不同的函数,并且以特殊方式对它们的函数名称做了手脚,以四个Add()函数为例: 1 int Add(int a,

OpenAI的子词标记化神器--tiktoken 以及 .NET 支持库SharpToken

经过 Tokenize 之后,一串文本就变成了一串整数组成的向量。OpenAI 的 Tiktoken 是 更高级的 Tokenizer , 编码效率更高、支持更大的词汇表、计算性能也更高。 OpenAI在其官方GitHub上公开了一个开源Python库:tiktoken,这个库主要是用力做字节编码对

[攻防世界][Web]PHP2

打开靶机对应的url 就一行字 Can you anthenticate to this website? 第一感觉就需要做目录文件扫描 使用御剑和dirsearch进行扫描,发现一个文件 index.phps 知识点: phps 是php标准中用来表示可以查看的php源文件的约定,不会被服务器执行

[攻防世界][江苏工匠杯]unseping

打开靶机对应的url 上来就是代码审计 method =

深度学习之PyTorch实战(4)——迁移学习

(这篇博客其实很早之前就写过了,就是自己对当前学习pytorch的一个教程学习做了一个学习笔记,一直未发现,今天整理一下,发出来与前面基础形成连载,方便初学者看,但是可能部分pytorch和torchvision的API接口已经更新了,导致部分代码会产生报错,但是其思想还是可以借鉴的。 因为其中内容

计算机系统中的大端模式和小端模式

最近工作中有用到一个知识点,就是大小端,当然这是一个小的知识点,为什么写一个博文呢,我其实是想测试一下chatGPT,所以我开始将自己的想法告诉这个chatbot,让他给我一些写博文的建议,并且给我解答了一些疑惑,今天将自己的学习笔记整理出来展示给大家(by the way,一个有用的搜索引擎和ch

第一百一十二篇: JS数组Array(一)数组基本用法

好家伙, 1.数组 Array应该就是ECMAScript中最常用的类型了。ECMAScript数组跟其他编程语言的数组有很大区别。 跟其他语言中的数组一样,ECMAScript 数组也是一组有序的数据, 但跟其他语言不同的是,数组中每个槽位可以存储任意类型的数据。 这意味着可以创建一个数组,它的第

模板特化的多维度挖掘

假如我有一个需求,就是如果传入的参数是int类型,我就输出int类型,否则就输出T。很显然,根据模板的基础知识,我们可以这么写 template void f(T) { std::cout << "T\n"; } template <> void f(int) { std::co

《最新出炉》系列初窥篇-Python+Playwright自动化测试-11-playwright操作iframe-上篇

1.简介 原估计宏哥这里就不对iframe这个知识点做介绍和讲解了,因为前边的窗口切换就为这种网页处理提供了思路,另一个原因就是虽然iframe很强大,但是现在很少有网站用它了。但是还是有小伙伴或者童鞋们私下问这个问题,那么宏哥就单独写一篇关于iframe网页处理的文章。iframe 是web自动化

《最新出炉》系列初窥篇-Python+Playwright自动化测试-12-playwright操作iframe-中篇

1.简介 按照计划今天就要用实际的例子进行iframe自动化测试。经过宏哥长时间的查找,终于找到了一个含有iframe的网页(QQ邮箱和163邮箱),别的邮箱宏哥就没有细看了。所以今天这一篇的主要内容就是用这两个网页的iframe结合上一篇的理论知识,宏哥给小伙伴或者童鞋们演示一下。 2.QQ邮箱

信创服务器操作系统总结

第一部分 摘要 自从提出没有网络安全就没有国家安全之后 信创操作系统的发展进入了快车道. 流行的操作系统主要分为如下几个大方面: 1. 宣称二进制兼容CentOS的部分系列: Anolis 与 Rocky linux Oracle OEL比较类似. 2. 基于Linux Kernel+GNU的发行版

[转帖]网卡bonding模式 - bond0、1、4配置

网卡bonding简介 网卡绑定就是把多张物理网卡通过软件虚拟成一个虚拟的网卡,配置完毕后,所有的物理网卡的ip和mac将会变成相同的。多网卡同时工作可以提高网络速度,还可以实现网卡的负载均衡、冗余。 bonding模式 1 round-robin(mode=0) 轮转策略,轮流在每一个slave网

[转帖]传统CMR磁盘与SMR瓦叠磁盘区别

我们放大磁片表面,将它拉直,就会发现:写磁头写入的数据(绿色区域)很宽,而读磁头仅仅需要窄窄一条就能读取(橘色区域),现阶段技术无法将写磁头做小。这也就相当于磁片上一部分区域被浪费了,而且磁道与磁道中间也会有间隔 这就是传统的磁盘,也叫作CMR磁盘 从图中就可以轻易看出,传统CMR磁盘会浪费部分磁盘

[转帖]RHEL7 (centos 7)进入救援模式

在硬盘不能启动的时候,就要选择用其他介质(比如光盘)进入救援模式 1、救援模式作用: 更改root密码; 恢复硬盘、文件系统操作 系统无法启动时,通过救援模式启动 2、放入系统光盘,进入BIOS,设置从光盘启动: 3、选择救援模式 “troubleshooting” ==> "Rescue a Re

[转帖]Linux遇到一个内存过高的报警——释放buff/cache

前些天一直受到内存报警,过一段时间就会恢复。由于开发工作有些多,就一直没理它,但是最近几天开始有些频繁了。虽然不影响业务,但是天天报警,还是让人提心吊胆的。因此就抽了一个上午的时间去解决一下这个问题。 排查问题 这台机器安装的是mongodb,因为最近业务增加,内容使用增加是正常的,但是实际的占用内