postgres源码解析40 表创建执行全流程梳理--4
本文讲解非系统表的创建逻辑([<fontcolor=0000dd>普通表和索引表]),其入口函数为heap_create,内部公共接口函数为RelationBuildLocalRelation和RelationCreateStorage相关知识回顾见:
postgres源码解析38 表创建执行全流程梳理–1
postgres源码解析38 表创建执行全流程梳理–2
postgres源码解析38 表创建执行全流程梳理–3
heap_create 执行逻辑
1)首先进行安全性检查,不允许在系统表中创建relations,判断是否需要创建持久化文件等;
2)根据表名、表空间、表对象标识符和文件节点relfilenode等信息调用 RelationBuildLocalRelation在内存中构建Relation,并插入全局relcache 哈希表中;
3)结合relation类型调用相应的接口函数进行relation的创建,[普通表/TOAST/物化视图: table_relation_set_new_filenode,索引/序列:RelationCreateStorage];
4) 对于无需创建持久化的relation且用户指定表空间,则需要在 pg_tablespace 中注册对应的信息。
RelationBuildLocalRelation
该函数目的是在内存中构建创建表的relcache Entry,并插入全局Relcache 哈希表中,用于加速后续对此表的访问。
1)如果不存在CacheMemoryContext,则创建此上下文,后续操作均在此上下文进行;
2)分配并初始化Relation结构体,结合入参的TueDesc填充Relation结构体中rd_att字段:字段属性的详细信息;
3)分配并根据入参填充Relation结构体中rd_att字段的Form_pg_class字段:表名、命名空间、字段属性/数目等;
4)调用 RelationInitLockInfo初始化relation描述符锁信息;
5)调用 RelationInitPhysicalAddr 初始化relation描述符对应的物理地址:spcNode/dbNode//RelNode [表空间/数据库/表]
6)将上述构建好的RelCache Entry插入全局ralcache 哈希表中,并增加该条目的引用计数
** RelationBuildLocalRelation* Build a relcache entry for an about-to-be-created relation,* and enter it into the relcache.*/
Relation
RelationBuildLocalRelation(const char *relname,Oid relnamespace,TupleDesc tupDesc,Oid relid,Oid accessmtd,Oid relfilenode,Oid reltablespace,bool shared_relation,bool mapped_relation,char relpersistence,char relkind)
{Relation rel;MemoryContext oldcxt;int natts = tupDesc->natts;int i;bool has_not_null;bool nailit;AssertArg(natts >= 0);/** check for creation of a rel that must be nailed in cache.** XXX this list had better match the relations specially handled in* RelationCacheInitializePhase2/3.*/switch (relid){case DatabaseRelationId:case AuthIdRelationId:case AuthMemRelationId:case RelationRelationId:case AttributeRelationId:case ProcedureRelationId:case TypeRelationId:nailit = true;break;default:nailit = false;break;}/** check that hardwired list of shared rels matches what's in the* bootstrap .bki file. If you get a failure here during initdb, you* probably need to fix IsSharedRelation() to match whatever you've done* to the set of shared relations.*/if (shared_relation != IsSharedRelation(relid))elog(ERROR, "shared_relation flag for \"%s\" does not match IsSharedRelation(%u)",relname, relid);/* Shared relations had better be mapped, too */Assert(mapped_relation || !shared_relation);/** switch to the cache context to create the relcache entry.*/if (!CacheMemoryContext)CreateCacheMemoryContext();oldcxt = MemoryContextSwitchTo(CacheMemoryContext);/** allocate a new relation descriptor and fill in basic state fields.*/rel = (Relation) palloc0(sizeof(RelationData));/* make sure relation is marked as having no open file yet */rel->rd_smgr = NULL;/* mark it nailed if appropriate */rel->rd_isnailed = nailit;rel->rd_refcnt = nailit ? 1 : 0;/* it's being created in this transaction */rel->rd_createSubid = GetCurrentSubTransactionId();rel->rd_newRelfilenodeSubid = InvalidSubTransactionId;rel->rd_firstRelfilenodeSubid = InvalidSubTransactionId;rel->rd_droppedSubid = InvalidSubTransactionId;/** create a new tuple descriptor from the one passed in. We do this* partly to copy it into the cache context, and partly because the new* relation can't have any defaults or constraints yet; they have to be* added in later steps, because they require additions to multiple system* catalogs. We can copy attnotnull constraints here, however.*/rel->rd_att = CreateTupleDescCopy(tupDesc);rel->rd_att->tdrefcount = 1; /* mark as refcounted */has_not_null = false;for (i = 0; i < natts; i++){Form_pg_attribute satt = TupleDescAttr(tupDesc, i);Form_pg_attribute datt = TupleDescAttr(rel->rd_att, i);datt->attidentity = satt->attidentity;datt->attgenerated = satt->attgenerated;datt->attnotnull = satt->attnotnull;has_not_null |= satt->attnotnull;}if (has_not_null){TupleConstr *constr = (TupleConstr *) palloc0(sizeof(TupleConstr));constr->has_not_null = true;rel->rd_att->constr = constr;}/** initialize relation tuple form (caller may add/override data later)*/rel->rd_rel = (Form_pg_class) palloc0(CLASS_TUPLE_SIZE);namestrcpy(&rel->rd_rel->relname, relname);rel->rd_rel->relnamespace = relnamespace;rel->rd_rel->relkind = relkind;rel->rd_rel->relnatts = natts;rel->rd_rel->reltype = InvalidOid;/* needed when bootstrapping: */rel->rd_rel->relowner = BOOTSTRAP_SUPERUSERID;/* set up persistence and relcache fields dependent on it */rel->rd_rel->relpersistence = relpersistence;switch (relpersistence){case RELPERSISTENCE_UNLOGGED:case RELPERSISTENCE_PERMANENT:rel->rd_backend = InvalidBackendId;rel->rd_islocaltemp = false;break;case RELPERSISTENCE_TEMP:Assert(isTempOrTempToastNamespace(relnamespace));rel->rd_backend = BackendIdForTempRelations();rel->rd_islocaltemp = true;break;default:elog(ERROR, "invalid relpersistence: %c", relpersistence);break;}/* if it's a materialized view, it's not populated initially */if (relkind == RELKIND_MATVIEW)rel->rd_rel->relispopulated = false;elserel->rd_rel->relispopulated = true;/* set replica identity -- system catalogs and non-tables don't have one */if (!IsCatalogNamespace(relnamespace) &&(relkind == RELKIND_RELATION ||relkind == RELKIND_MATVIEW ||relkind == RELKIND_PARTITIONED_TABLE))rel->rd_rel->relreplident = REPLICA_IDENTITY_DEFAULT;elserel->rd_rel->relreplident = REPLICA_IDENTITY_NOTHING;/** Insert relation physical and logical identifiers (OIDs) into the right* places. For a mapped relation, we set relfilenode to zero and rely on* RelationInitPhysicalAddr to consult the map.*/rel->rd_rel->relisshared = shared_relation;RelationGetRelid(rel) = relid;for (i = 0; i < natts; i++)TupleDescAttr(rel->rd_att, i)->attrelid = relid;rel->rd_rel->reltablespace = reltablespace;if (mapped_relation){rel->rd_rel->relfilenode = InvalidOid;/* Add it to the active mapping information */RelationMapUpdateMap(relid, relfilenode, shared_relation, true);}elserel->rd_rel->relfilenode = relfilenode;RelationInitLockInfo(rel); /* see lmgr.c */RelationInitPhysicalAddr(rel);rel->rd_rel->relam = accessmtd;/** RelationInitTableAccessMethod will do syscache lookups, so we mustn't* run it in CacheMemoryContext. Fortunately, the remaining steps don't* require a long-lived current context.*/MemoryContextSwitchTo(oldcxt);if (relkind == RELKIND_RELATION ||relkind == RELKIND_SEQUENCE ||relkind == RELKIND_TOASTVALUE ||relkind == RELKIND_MATVIEW)RelationInitTableAccessMethod(rel);/** Okay to insert into the relcache hash table.** Ordinarily, there should certainly not be an existing hash entry for* the same OID; but during bootstrap, when we create a "real" relcache* entry for one of the bootstrap relations, we'll be overwriting the* phony one created with formrdesc. So allow that to happen for nailed* rels.*/RelationCacheInsert(rel, nailit);/** Flag relation as needing eoxact cleanup (to clear rd_createSubid). We* can't do this before storing relid in it.*/EOXactListAdd(rel);/* It's fully valid */rel->rd_isvalid = true;/** Caller expects us to pin the returned entry.*/RelationIncrementReferenceCount(rel);return rel;
}
RelationCreateStorage
物理文件的创建由磁盘管理器负责,pg中所有文件系统均调用这统一接口,而RelationCreateStorage 函数的实现就是通过调用这些函数进一步封装而成,期执行流程如下:
1)对于持久化的relation,设置字段表示need_wal,表明需要写WAL日志,对于临时relation或者unlogged relation无需此操作;
2)根据输入的RelFileNode调用 smgropen返回 SMgrRelation对象,不存在会创建一个;
3)结合上述返回的 SMgrRelation和ForkNumber号调用 smgrcreate创建relation的物理文件;
4)如需写WAL日志,调用 log_smgrcreate函数记录下此relation的实际物理信息;
5)最后将其添加至PendingRelDelete链表尾,在事务真正提交的时候如需回滚则可通过此信息将创建的文件删除,并返回 SMgrRelation对象。
/** RelationCreateStorage* Create physical storage for a relation.** Create the underlying disk file storage for the relation. This only* creates the main fork; additional forks are created lazily by the* modules that need them.** This function is transactional. The creation is WAL-logged, and if the* transaction aborts later on, the storage will be destroyed.*/
SMgrRelation
RelationCreateStorage(RelFileNode rnode, char relpersistence)
{PendingRelDelete *pending;SMgrRelation srel;BackendId backend;bool needs_wal;Assert(!IsInParallelMode()); /* couldn't update pendingSyncHash */switch (relpersistence){case RELPERSISTENCE_TEMP:backend = BackendIdForTempRelations();needs_wal = false;break;case RELPERSISTENCE_UNLOGGED:backend = InvalidBackendId;needs_wal = false;break;case RELPERSISTENCE_PERMANENT:backend = InvalidBackendId;needs_wal = true;break;default:elog(ERROR, "invalid relpersistence: %c", relpersistence);return NULL; /* placate compiler */}srel = smgropen(rnode, backend);smgrcreate(srel, MAIN_FORKNUM, false);if (needs_wal)log_smgrcreate(&srel->smgr_rnode.node, MAIN_FORKNUM);/* Add the relation to the list of stuff to delete at abort */pending = (PendingRelDelete *)MemoryContextAlloc(TopMemoryContext, sizeof(PendingRelDelete));pending->relnode = rnode;pending->backend = backend;pending->atCommit = false; /* delete if abort */pending->nestLevel = GetCurrentTransactionNestLevel();pending->next = pendingDeletes;pendingDeletes = pending;if (relpersistence == RELPERSISTENCE_PERMANENT && !XLogIsNeeded()){Assert(backend == InvalidBackendId);AddPendingSync(&rnode);}return srel;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3829021.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
在 Apple TV 上如何自动安装应用程序?
您可以在 iPhone 或 iPad 上下载并安装 Apple TV 应用程序后自动安装该应用程序。从第四代 Apple TV 开始,您可以从App Store安装应用程序。虽然有专为 Apple TV 提供的应用程序,但通常也有适用于 iPhone、iPad 和 Apple TV 的通用应用程序。只要您在另一…...

ESP8266-Arduino网络编程实例-ESP-MESH传感器数据发送与接收
ESP-MESH传感器数据发送与接收 在前面的文章中,我们对ESP-MESH网络协议的使用有了一定的了解,本文将在这个基础上,进一步介绍如何在ESP-MESH网络中,不同设备(节点)交换传感器数据,即广播本节点传感器数据和接收其他节点的传感器数据。 1、硬件准备 ESP8266 NodeMCU开发…...

Go语言学习(六)切片
文章目录切片的引入切片的内存分析切片的定义切片的遍历切片的注意事项切片的引入 切片的语法: var 切片名 []类型 数组的一个片段引用 切片的内存分析 切片有3个字段的数据结构:一个是指向底层数组的指针,一个是切片的长度,一个…...

2022下半年系统集成项目管理工程师易混淆知识点:合同收尾、管理收尾
很多考生在备考2022下半年软考系统集成项目管理工程师考试,以下为2022下半年系统集成项目管理工程师易混淆知识点:合同收尾、管理收尾,相信对大家备考会有帮助。 概念辨析8:合同收尾、管理收尾 概念: (1…...

山外山通过注册:拟募资12亿 大健康与华盖信诚是股东
雷递网 雷建平 12月2日重庆山外山血液净化技术股份有限公司(简称:“山外山”)日前通过注册,准备在科创板上市。山外山计划募资12.47亿元,其中,8.63亿用于血液净化设备及高值耗材产业化项目,1.64…...

python多线程使用MySQL导致中断连接重写mysql操作类
最近有一个需求,有一张表里面记录视频上传状态,因为视频上传这个时间会非常长,所以这个时间就空闲下来了,这时候考虑到python多线程来解决,一开始通过pymysql直接连接导致了很多的报错,数据库中断连接,最后采用dbutils…...
SMART PLC高速脉冲输出如何断电保持当前位置
S7-200 SMART PLC脉冲轴控制相关的内容,可以参看下面的博客: S7-200 SMART PLC自定义脉冲轴控功能块AxisControl_FB(梯形图)_RXXW_Dor的博客-CSDN博客博途1200/1500PLC的相关总线轴PN总线控制可以参考相关专栏的博客,链接地址如下:博途PLC 1200/1500PLC轴控功能块Servo_A…...

mysql 三表联查_MySql的join(连接)查询 (三表 left join 写法)
1、内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集Select A.name,B.name from A inner join B on A.idB.id和Select A.name,B.name from A,B where A.idB.id结果是一样的(内连接的inner关键字可省略);2、外连接:分为左外连…...

React方向的前端面试题
1、React的生命周期? React中只有类组件有生命周期可言。 其中包含三个状态: Mounting:此时已经插入了真实的DOM; Updating:正在被重新渲染; Unmounting:已经移出真实的DOM。 生命周期的方…...

什么是UI自动化
什么是UI自动化 为了降低回归测试成本,使用测试工具和代码代替手工操作来提升工作效率,可以理解为回归测试工具或者脚本 什么项目适合做UI自动化 ● 需求稳定,不会频繁变更 ● 经常需要回归验证 ● 前端界面稳定,变动少 ● …...

Spark SQL 与 Hive 的小文件调优
文章目录小文件危害表的缓存shuffle 分区数调整Spark SQL 客户端设置合并Hive 客户端处理小文件合并小文件危害 小文件会造成 nn 处理压力变大,大大降低了读取性能,整个 HDFS 文件系统访问缓慢,大量的小文件还会导致 nn 内存溢出,…...

Web前端:什么是前端框架?
对于每一个建设网站的企业来说,用户体验是最重要的。不管底层操作和职责有多复杂,用户的感知和体验都必须完美无缺。这就需要前端框架来辅助。 什么是前端框架? 前端web开发是一种通过使用CSS、HTML和JavaScript将数据转换为基于图形的界面的方法&#…...

Unity常用的三种拖拽方法(内置方法 + 接口 + Event Trigger组件)
目录 内置方法OnMouseDrag【对象含有Collider组件】 配对小游戏 Event Trigger组件 接口 窗口小案例 内置方法OnMouseDrag【对象含有Collider组件】 OnMOuseOver()检测鼠标是否进入到这个2D贴图 当鼠标进入或离开2D贴图,会相应的放大、缩小 private void OnMo…...
梨花众创 - 微信支付宝收款二维码合并器
二维码在网络和生活中的应用比比皆是。可我们也能发现,在商场、超市、菜市场等形形色色的场合,为了同时支持微信、支付宝,他们必须摆出2个二维码,这给扫码者带来了极大的不便。能不能将2个二维码合二为一,大大地方便收…...

自学电脑考证哪些比较有含金量
一、计算机含金量高的证书有哪些之国外大公司认证的 1、微软认证:包括系统管理方向,数据库方向和开发方向的证书。 分别叫做MCSE,MCDBA,MCAD/MCSD 2、Oracle认证:主要是Oracle数据库管理。Oracle认证考试需要先参加了O…...

npm 安装遇到的问题
问题1:Module build failed: Error: Cannot find module node-sass 分析原因:npm install node-sass 源安装不上 解决问题:切换到其他源 npm install -g cnpm --registryhttps://registry.npm.taobao.org cnpm install node-sass --save …...

为什么用公钥加密却不能用公钥解密?
本文为掘金社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 一直以来我都在逃避写HTTPS。 毕竟。 HTTPS里名词太多。概念又巨繁琐。 实在是太难解释了,能不写我尽量不写。。。。 但为了让图解网…...

[附源码]计算机毕业设计新冠疫苗接种预约系统Springboot程序
项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

Unity zip解压和压缩
c#一般用这个库 https://github.com/icsharpcode/SharpZipLib 但是他用的api太高了 有没有unity能直接用的呢? 有 https://github.com/needle-mirror/com.unity.sharp-zip-lib unity 官方界面 https://docs.unity3d.com/Packages/com.unity.sharp-zip-lib1.3/manual…...

音频相关的基本概念
音频相关的基本概念 1. 声音的本质 声音的本质是波在介质中的传播现象,声波的本质是一种波,是一种物理量。 两者不一样,声音是一种抽象的,是声波的传播现象,声波是物理量。 2. 声音的三要素 响度(loudness)&#x…...

【java】2-串行与并发分别将计数器从1累加到10亿
串行、并行、并发 串行是100个人的队伍从一条通道里顺序通行 并行是100个人从n(n>1)条通道分别通行 并发是只有一条通道,100个人排成n个队伍,每队依次派一个人从通道通行;或是有m条通道,100个人排成n个队伍,各个队…...

boss直聘一句话介绍优势_Boss直聘大学生如何快速找到工作
Boss直聘大学生如何快速找到工作首先第一步做一份你要找的工作简历传到BOSS直聘软件上(简历比较安全,企业方每次索取你的简历是需要你同意)、填写好自己在BOSS直聘上的微简历(简历很重要,一定要把自己擅长的都学出来,或…...

接口自动化框架
首先:新建名字叫做Api_Tools项目: 1.存在的文件夹: common interface interface_auto_lib models2.存在的文件: env.info.cfg main.spec modlue_v0.1.xlsx InterfaceTools....

若依框架RuoYi项目运行启动教程【傻瓜式教程】
启动若依项目 1.官网下载代码 若依官网 若依在线文档 首先去官网下载代码 链接到码云下载,要么用git下载要么压缩包下载。 然后再IDEA打开项目 想要运行就要搭建好环境 2.搭建若依环境 按照文档要求配置环境 JDK > 1.8 (推荐1.8版本) Mysql > 5.7.0 (推…...

阿里云一句话识别,Java例子
1. 编写目的 介绍一下阿里云这一产品,并且在所给的例子上因为需要加一定的修改,做成自己想要的效果。 注重官方文档: https://help.aliyun.com/document_detail/84459.html?spma2c4g.11186623.6.560.77385397x0OfXk 2. 效果展示 到处jar…...

宁波方太的数据可视化选择
宁波方太厨具有限公司(以下简称"方太")创建于1996年。如今在全国已有员工9000余人,在全国设立了63个销售机构,销售网络覆盖除港、澳、台之外的所有省市。方太建立了涵盖家电连锁、建材超市、传统百货、橱柜商、工程、专…...

文档模型 TMX 1.4b
文档模型 TMX 1.4b TMX 1.4b | GALA Global (gala-global.org) 26 April 2005 <?xml version"1.0"?> 根节点 <tmx>二级节点 <header> 必要属性: creationtool, creationtoolversion, segtype, o-tmf, adminlang, srclang, dataty…...

JS格式化字符串
格式化字符串 <!-- lang: js --> String.prototype.format function(args) {var result this;if (arguments.length < 1) {return result;}var data arguments; //如果模板参数是数组if (arguments.length 1 && typeof (args) "object") {//…...

Abp Vnext源码解析系列文章01---EventBus
一、简介 BP vNext 封装了两种事件总线结构,第一种是 ABP vNext 自己实现的本地事件总线,这种事件总线无法跨项目发布和订阅。第二种则是分布式事件总线,ABP vNext 自己封装了一个抽象层进行定义,并使用 RabbitMQ编写了一个基本实现。 在使用方式上,两种事件总线的作用基本…...
敏捷PPT
序言 弄个敏捷介绍的简单PPT,当笔记 图片...

PHP之一句话木马免杀
目录 免杀小技巧 1.字符串拼接方式,构造敏感函数。 2.通过PHP的动态函数方法执行一句话。 3.利用php异或^构造字符串 免杀木马构造 一句话测试 异或转码数据 小结 免杀小技巧 1.字符串拼接方式,构造敏感函数。 <?php $a ass; $b er; $c t…...

敏捷实践大全
对常见的敏捷实践整理归纳如下: 序号 类别 敏捷实践/技术 1 1过程 价值流映射 2 1过程 WIP上限 3 1过程 发布火车 4 1过程 频繁交付 5 1过程 时间箱管理 6 1过程 每周工作40小时 7 1过程 改善板 8 2团队 小团队 9 2团队 跨职能团队 1…...

千锋2018年最新php基础进阶加高级实战全套视频教程
课程目录 14__RESTful API与服务器环境 13__千万级秒杀项目 12__Swoole课程 11__Laravel框架 10__微博登录_短信发送_邮件验证 09__ThinkPHP5框架 08__高性能Linux服务器构建实战 07__JS高级实战 06__PHP高级实战 05__PHP高级语法 04__PHP与MySQL基础 03__HTML与CSS实战 02__CS…...

JS格式化字符串(两种方法)
本文一共介绍了两种实现方式: 文章目录1. 使用反引号实现(推荐)2. 自定义方法实现1. 使用反引号实现(推荐) ES6 模板字符串(Template String)是增强版的字符串,用反引号()标识,它可以当作普通字…...

Linux:磁盘分区,挂载(含实例)
Linux磁盘分区: 思路图: 进入某一目录就相当于访问硬盘的分区。 查看挂载情况: 解释:sda是硬盘,有sda1 sda2 sda3三个分区。分别挂载在/boot [SWAP] / 这三个分区上。 IDE硬盘解释很清楚,不再赘述。SCSI硬…...

敏捷实践流程学习
敏捷的目的是及时沟通,高效交流达成一致,持续集成与迭代,提高效率与资源利用率,及时保证高质量交付。 敏捷宣言: 个体和互动 高于 流程与工具 工作的软件 高于 详尽的文档 客户合作 高于 合同谈判 响应变化 高于 …...

利用动态二进制加密实现新型一句话木马之Java篇(转) 冰蝎
概述 本系列文章重写了java、.net、php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具。从而一劳永逸的绕过WAF或者其他网络防火墙的检测。 本来是想把这三个版本写在一篇文章里,过程中发现篇幅…...

黑马点评第一个模块---短信登录实现
黑马点评–短信登录实现 实现流程图: 发送手机验证码代码实现: Overridepublic Result sendCode(String phone, HttpSession session) {//1.校验手机号if (RegexUtils.isPhoneInvalid(phone)){//2.如果不符合,返回错误信息return Result.fai…...

centos8 设置网络
Net模式下连接外网配置 1桥接模式改为net模式 192.168.56.1 被虚拟网卡占用 小知识 2 vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改配置 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOdhcp DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONF…...

A child container failed during start之解决方法
问题原因: 小编经过查看是pom.xml里面的配置问题,存在多余的配置,删除成功解决: 遇到这种情况,我们首先查看一遍自己所写的各种配置文件(pom,web,springMVC ,application…...

java script 延时_javascript 延时执行函数
延时执行函数,貌似有些多此一举, 也许还是有点用 记在这儿var test {delay : function(lifetime){var data;setTimeout(function(){for (name in test.methods) {eval("data test.methods." name "();");}}, lifetime);return this;},methods…...

什么是敏捷?
1、什么是敏捷 敏捷是指能够让团队更加有效、工作更为高效,并且作出更好决策的一组方法和相关理念,即它是一种思维模式。 2、敏捷测试的方法 目前主要有4种:Scrum、极限编程(XP)、精益、看板 3、敏捷软件开发的12条原则…...

oracle数据库核心知识
目录一、数据类型二、运算部分三、DQL四、DML五、DDL六、函数七、PLSQL八、SQL优化一、数据类型 oracle中数据类型分三类:数字型、字符型、日期型。 1 1.数字型 number 长度不限,只要是数字就性number(x) 为整数,并且长度不超过x位number(x…...

CvT: Introducing Convolutions to Vision Transformers
文章添加链接描述 1: 作者将卷积引入到VIT中,产生了相比于VIT更好的结果,通过一个包含卷积token编码的分层transformer,和一个使用卷积投射的transformer块。作者通过上述的操作是为了在transformer中引入卷积的一些内在特性&…...

项目成功经验分享:做好项目承诺管理
许多企业在没有做出项目承诺管理的情况下就开始了项目。大型企业已经发现,运行过多的项目会削弱对项目成功的承诺。通过停止除最高优先级以外的所有项目,他们能够集中精力支持真正重要的项目的成功交付,稍后再转移到其他项目,增加…...

【Spring boot 拦截器 HandlerInterceptor】
Spring boot 拦截器 HandlerInterceptor 上一章对过滤器的定义做了说明,也比较简单。过滤器属于 Servlet 范畴的 API,与 Spring 没什么关系。 Web 开发中,我们除了使用 Filter 来过滤请 web 求外,还可以使用 Spring 提供的 Handle…...

C++ 字符串格式化
使用snprintf格式化字符串使用boost::format格式化字符串使用stringstream格式化字符串 具体示例 使用snprintf格式化字符串 #include <stdio.h> using std::string; // 准备数据 string haha("haha"); int num 3; // 准备格式 string fmt("test stri…...

【python】之常用类型(包括进制)之间的转换
个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 特别标注:仅为自己的学习记录笔记,方便复习和加深记忆,仅供借鉴参考! 目录 一、字符和整数之间的转换 1.整数转字符 chr(x) 2.字符转整数 ord(x) 二、…...

TI/德州仪器 TPS3808G30DBVT 微处理器
TPS3808系列微处理器监控电路监控系统电压从0.4 V 到5 V,当感知电压降到预设阈值以下或者当手动复位(MR)引脚降到逻辑低位时,断言开漏复位信号。 在感知电压和手动复位(MR)返回高于相应阈值后,用户可调延迟时间的复位输出仍然很低。 在 VIT …...

敏捷个人和敏捷开发
转载:https://yq.aliyun.com/articles/408737自2001初成立了敏捷联盟到现在10年的推广,敏捷开发已日渐成为当前IT行业软件开 发的一种主流方法。没有银弹,任何方法都不可能解决所有问题,反而方法应用本身还会带来新的问题。我在今…...

深入浅出玩转php一句话(含过waf新姿势)
本帖最后由 sucppVK 于 2017-1-9 14:39 编辑 一、前言本文原创作者:XXX,本文属i春秋原创奖励计划,未经许可禁止转载!各个论坛出了不少过waf的一句话 可笔者见还是有不少小白没有理解一句话(只知道是拿来链接菜刀&…...

法语初级学习笔记-04-单词
bienvenue:欢迎une lettre de bienvenueun cadeau de bienvenuece:这thiset:和andtudiant,e:学生un tudiant en sciencesfemme:妻子,女的homme:男的nationalit:国籍voici:…...

电脑使用初步指南
电脑使用初步指南 这个指南面对的是刚从高考解脱的很久没碰电脑的小伙伴 全文3000字,阅读大概15分钟(可能) 在这个指南中我将介绍电脑的日常使用以及如何保证电脑不会在使用中堆满奇奇怪怪的程序。 系统的日常使用 在win10中,基本所有日常操作都有易于理解的图形以…...

【测试与自动化】介绍-框架-Jest-覆盖率-异步代码-e2e-Vue测试
测试与自动化软件测试和自动化测试介绍前端自动化测试框架使用Jest编写单元测试统计测试覆盖率使用Jest测试异步代码使用Cypress进行e2e测试测试 Vue 项目软件测试和自动化测试介绍 了解什么是软件测试,以及自动化方式的测试 什么是软件测试? 定义&…...

什么是食品FDA?
天大地大吃喝最大,中国作为世界美食大国TOP1,其地位不可动摇。当然除了咱们自己吃,出口国外也是必不可少的,让外国人也来品尝一下咱们得大中国美食,接下来我给大家介绍一下出口美国要怎么做呢? 什么是FDA&a…...

【博客513】iptables实现负载均衡和公平轮询的DNAT
iptables实现负载均衡和公平轮询的DNAT 使用iptables完成port DNAT 方法: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080参数解释: -t:指定规则表,端口转发需要在nat表中匹配。 -A:在规则链尾部添加规则…...

爱心html的网页
//我的资源里有源文件,想要的可以点我头像,资源哪里 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>爱心</TITLE> <META NAME"Generator" CONTENT"EditPlus">…...

php 随机数设置
$addnumrand("1","30"); 范围:1 到 30...

tomcat中的 servletContext
1.这是web的上下文组件,web启动被创建,web停止被销毁 2.与它同时存在的有,它的对应的监听器接口servletContextListener 3.他最主要的就是,可以保存你想要的context-param 4.这样我们可以通过注册它的实现类 listener,去获得 serv…...

字符串的三种格式化方法
1.%格式化法 %s : 字符串 %d : 整型的 也就是整数类型的数字 %f : 浮点型的 也就是小数类型的 若想保留指定的小数个数 比如保留两位小数 : %.2f name 佳秋 age 20 tall 1.78 print(我的名字是%s, 我今年%d岁, 我的身高是%f米 % (name, age, tall))"&qu…...

Kubernetes CRD 系列(七):Operator
0. 概述 在玩 Kubernetes 的时候,经常会接触到 Operator,例如常见的 etcd operator 等。但是在实际上使用下来会发现,所谓的 Operator 和 Controller 其实都差不多,都是编写 CRD,然后用 Controller 去监听 CRD 的变化…...

python--file operater
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ Administrator #dataopen("yesterday",encoding"utf-8").read() #fopen("yesterday",encoding"utf-8") #1. fopen("yesterday2","w",encoding"...

The Operater Checked and Unchecked
public void main(string[] args){ Byte b 255;checked{b;}Console.WriteLine(b.ToString());}Results:Unhandled Exception :System.OverflowException:Arithmetic opertation resulted in an overflow at ...;if you want to forbid it to runjust change checked t...

The Operater ?:
Condition?True_Value:Flase_ValueExplain:if(Condition True){return True_Value;}else{return Flase_Value;}Condition:Boolean ExpressionTrue_Value:The Return Value When Condition Is TrueFalse_Value:The Return Value When Condtion is FalseSamples:public Static...

[附源码]Python计算机毕业设计Django公益组织登记与查询系统论文
项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…...
word文档查找是否有非英文字符或者标点
ctrlH 查找, 使用通配符: [!^1-^127] , 表示所有非西文字符,即所有汉字和中文标点符号, 经测试有效. 可以查找高亮显示,也可以全部替换,如图: 但是这里一个问题是有些符号,比如英文的 "" &…...

毕业致词
2018-06-29毕业 认真工作认真学习认真生活开始博客记录进步的点滴 转载于:https://www.cnblogs.com/iOS-July/p/9177062.html...

特斯拉Autopilot消息
按照最近媒体采访Elon Mask的说法,AutoPilot还有500个标注员,今后还要扩大到1000个。 以前Andrej Karpathy说的一种休假模式,我以为是完全的无监督学习,其实不然。毕竟像钢铁侠说的,4D数据还是需要一部分标注的。 El…...

特斯拉烧,特斯拉烧完蔚来烧
来源:36氪最关键的问题还是在电池。又一台蔚来汽车自燃了。5月16日,上海嘉定一个小区的地下车库,一台黑色的蔚来ES8突然冒出大量浓烟。消防人员及时赶到,扑灭烟雾并封锁了现场,才没有引起火灾。根据车主的描述…...
特斯拉上海工厂首批交付,Uber创始人套现走人,瑞士财长称Libra已失败 | 科技前沿周报...
热点追踪 / 深度探讨 / 实地探访 / 商务合作大家好,硅谷科技前沿周报又与大家见面啦,先预祝大家新年快乐!虽然正值节假日,但永不停歇的硅谷依旧热闻不断,特斯拉交付首批上海工厂生产的汽车,亚马逊假期销售破…...

PayPal创始人:北京创业氛围仅次于硅谷
很多人可能听过“PayPal黑帮”,特斯拉创始人埃隆马斯克与Linkedin创始人雷德霍夫曼就是黑帮的其中两名成员。在这个帮派里,有四位成员在高中时制造过炸弹,要管理这样一群“异类”恐怕是件难事?那么PayPal的领头人是谁? PayPal创始人彼得蒂尔…...
特斯拉舍命狂奔:史上最强自动驾驶芯片发布背后,一场蓄意已久的进攻
大数据文摘出品作者:Hamish McKenzie特斯拉一直在实现不可能——4月23日,特斯拉自动驾驶开放日上,埃隆•马斯克和他的团队再一次走在了未来前面。在本次开放日上,马斯克和他的高管们一起,正式推出了全自动驾驶产品&…...
再见,ofo创始人戴威!
点击“技术领导力”关注∆ 每天早上8:30推送来源:程序员小灰 作者:小灰曾经,ofo单车融资15亿美元,登上福布斯富豪榜,成为共享单车行业的浪头。戴威雄心壮志的说:“终有一天,我们今天的ofo&…...

特斯拉联合创始人兼CTO将离职 转而担任高级顾问一职
【TechWeb】7月25日消息,据国外媒体报道,在特斯拉公布了2019年第二季度财报后,该公司首席执行官(CEO)埃隆马斯克(Elon Musk)在财报电话会议上宣布,该公司联合创始人兼长期首席技术官…...
特斯拉创始人马斯克:加密货币可充当合法至非法的桥梁,成为现金替代品
编译:kyle在发布了关于比特币(BTC)的一系列漫长而神秘的推文之后,SpaceX和特斯拉首席执行官埃隆马斯克(Elon Musk)在1月20日的播客中阐述了他对加密货币的立场。马斯克指出“他与比特币不相干”,他关注比特…...

特斯拉创始人 Elon Musk 等众大神一致推荐的书单,在这个夏天晋级 AI 专家
By 超神经 hyper.ai 场景描述:人工智能技术已经全面进入了我们的生活,在那些看似炫酷的科技面前,如何才能找到自己的位置,游刃有余地行走于世间,同时不会被 AI 太快地淘汰掉,也许每个人都需要从知识的宝典…...

高仿微信表情控件 -- LQREmojiLibrary
LQREmojiLibrary 一个超级牛逼的表情库,可使用表情及贴图功能,方便好用,抽离图片加载接口,让开发者自己选择图片加载工具。 码云: https://git.oschina.net/CSDNLQR/LQREmojiLibrary GitHub: https://github.com/Git…...

用vue做一个简单的emoji表情组件
大家好,我是南宫。最近在项目里,发文字的时候有配上表情的需求,这个需求令我一头雾水,后来通过查资料和参考别人的代码,我做了一个表情组件,下面来分享一下我的思路和过程。 效果大概是这样的。 一、想要显…...
微信小程序中使用emoji表情
【问题描述】 微信小程序开发,商户授权给用户后,用户便可关注小程序。有的用户的微信账户号中带有emoji表情,这样的话,直接存储到mysql5.5以下版本的数据库中会报异常。项目中的mysql数据库的版本是5.1.8的。 【问题缘由】 emoji…...

深入解读GLIDE/PITI代码
Diffusion Models专栏文章汇总:入门与实战 前言:GLIDE是diffusion models text-to-image的一项非常经典的模型,PITI是一项基于GLIDE的工作,读懂PITI相当于读懂GLIDE,这篇文章就和读者一起解读代码,难以描述的地方会画出程序流程图解释。点赞打卡,立马启程! 目录 Infer…...

C语言-输出几个数的最大数
注:思路直接,找参数搭桥赋值 1.两个数 int a, b, c;printf("请输入两个数字:\n");scanf("%d%d", &a, &b);ca > b ?a: b;printf("最大数为%d\n", c);2.三个数 int a, b, c, d, e;printf("请输入三个数字…...

C语言丑数
题目描述 所谓丑数,就是素因子中只含有 2、3、5的数字。给出一个数字 N,请输出 N 以内所有丑数。特别的规定,1是第一个丑数。 输入 输入一个整数 N(1≤N≤1000) 输出 从小到达输出 N以内的所有丑数,…...

C语言,判断数字的位数
今天在相关的代码的时候,发现大部分在判断时,都忽略了对数字0的判断,数字0也是一个一位数字,所以今天就写出一个正好的判断位数的代码,供大家参考 #include <stdio.h> int main() {int n 0;scanf("%d&quo…...

C语言逆序数
从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3102101321,并输出321。 方法1。…...

c语言求十个数中最大的数
1.输入一个数,放入b中; 2.用i统计比较的次数,其初始值为1;3.若i<9,转第4步,否则转第8步;4.再输入一个数,放在a中;5.比较a和b中的数,若a>b,则…...

利用C语言实现数字倒序输出
1.问题 利用C语言实现将一个数字倒着按顺序输出来,例如2546输出6452. 2.解析 可以将一个数a在循环中进行模运算,每次模10,得到最后一位数,然后将这个数输出,在将这个数a除以10,进行下一次模运算…...

C语言 数字反转
Description 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 Input 输入共 1 行,一个…...

c语言10个数输出最大数,C语言怎么输入十个数输出最大值
C语言怎么输入十个数输出最大值C语言求输入的10个数中最大值的编程方法如下:1、首先需要定义一个整型数组空间,因为这里需要输入十个数,所以数组空间为10个。int a[10];2、接着定义一个最大值Max,初始默认值为0,这个用…...

C语言插入数字简单实现
#include<stdio.h>main(){int i,add,num;int a[6];for(i0;i<5;i)scanf("%d",&a[i]);printf("请输入要插入的数:");scanf("%d",&num);if(num>a[4]) add5;elsefor(i0;i<5;i)if(num<a[i]){addi;break;}for(i5;i>add;i…...

【C语言】C语言之数字金字塔全家桶
文章目录1.数字金字塔-样式12.数字金字塔-样式23.数字金字塔-样式31.数字金字塔-样式1 题目: 输入一个整数n,输出如下金字塔型的数字 。 金字塔样式如下: 思路: 金字塔由空格与数字组成,可将金字塔拆分为࿱…...

c语言 最小数和最大数
正确代码 | #include <stdio.h> int main() { int n,a[100]; int mind99999,maxd-1; scanf("%d",&n); for(int i1;i<n;i) { scanf("%d",&a[i]); if(a[i]<mind) minda[i]; if(a[i]>maxd) maxda[i]; } printf("%d %d",mind…...

C语言求同构数
例1:一自然数与其本身的平方数低部分相等,则称之为(自)同构数,如25的平方为625,则25为一个(自)同构数。 求[1,1000]以内的的(自)同构数。 [程序] main( ) { long i; for(i1;i<1000;i) …...

C语言逆序数的程序,C语言实现逆序数
逆序数的就是把一个数倒过来,例如:1234那么它的逆序数就为4321,我们该如何是实现呢?当初我是先求出它的位数,接着求余数,余数再乘上所对应的的10的次方,其实10的次方也有专门的函数pow()。刚开始…...

c语言回文数的编写,C语言回文数
//2013-7-21 10:54//功能:如何求一个回文数? (84 while用法举例)//知识点:c语言中除法(/)和求余(%)的用法 及while用法//技能: 求回文数的核心代码掌握 学会试数,像计算机一样去执行,别管为什么(看懂一个看不懂的程序的…...

C语言能处理的最大数
和编译器有关,16位机器准确说是16位编译器是:-32768~32767 32位编译器:-2147483648~2147483647 我用32位机测试,给2147483647加1,它变为-2147483648,加2变为-2147483647,即给最大数加值&#…...

c语言判断最大数
题目: 输入三个数,输出最大的数 第一种方法: #include <stdio.h> int main() {int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if(a>b&&a>c)printf("%d\n",a);else if(b>c)printf("%d…...

【原创】《矩阵的史诗级玩法》连载三十二:用矩阵法解二元二次方程组的一般式
现在我们给出一个方程组,然后尝试用矩阵来求解。 在连载十六中,我们给出了曲线类型的判断法则: Δ<0时,方程为椭圆(包括正圆) Δ>0时,方程为双曲线 Δ0时,方程为抛物线 其…...

Open3D(C++) 计算点到平面的距离
目录 一、算法原理二、代码实现三、结果展示一、算法原理 平面外一点 ( x 1 , y 1 , z 1 ) (x_1,y_1,z_1) (x...
关于“COUT<<endl”等价问题测试
关于“COUT<<endl”等价问题测试 #include using namespace std; void main() { int k1; cout<<“k”<<k<<endl; cout<<“k”<<k<<’\n’; cout<<“k”<<k<<’\12’; cout<<“k”<<k<<’\xA’…...

2022年第十一届认证杯数学中国数学建模国际赛小美赛:C 题 对人类活动进行分类 建模方案及代码实现
2022年第十一届认证杯数学中国数学建模国际赛小美赛:C 题 对人类活动进行分类 建模方案及代码实现 1 题目 人类行为理解的一个重要方面是对日常活动的识别和监控。可穿戴活动识别系统可以在许多关键领域提高生活质量,如门诊监测、居家康复、跌倒检测等。…...

我的博客索引
Java学习 【基础】 ★ 解析Java对象的equals()和hashCode()的使用 ★ 关于Java的File.separator ★ HashSet<E>泛型类 ★ LinkedList<E>泛型类 ★ HashMap<K, V>泛型类 华丽的分割线 Android学习 【基础】 ★ 同一文本设置不用颜色样式字…...

教你6招轻松搞定 网站被木马反复篡改
提到网络被恶意篡改,应该让很多做了百度竞价的企业官网怀恨已久了吧?这类行为的目的就是通过这些受害网站获得排名并跳转到违法网站,达到不法的目的。对于企业来说不但损失了百度竞价的费用,还对企业形象造成很大的影响。甚至直接…...

尘埃落定 -- 再见了兄弟们
为什么80%的码农都做不了架构师?>>> 尘埃落定,经过两周的反复的思索,还是决定离开现在的公司重新去发展,回望2010年1月3号入职公司,在这三年内,见证了公司的发展,在这短暂的三年里&…...

王厚祥谈《古诗四帖》基本笔画的书写方法
狂草的笔画与其他书体不同,它的起、行、收不是以一个笔画为单位的,而是以一个书写节奏为单位。《古诗四帖》作为狂草作品,连绵书写是其最为明显的特征。连绵书写产生的结果是,一条线可能写一个字,也可能写几个字。在这…...
算法导论第三版 16.1-5习题答案
16.1-5 这题实际是带权的活动求取最大权重的活动选择问题,使用动态规划求解。如果有心学好的动态规划的同学可以去 “ B站上搜 ’ 动态规划(第1讲) ‘,选择作者是:正月点灯笼的视频 ” 看看,他的这个视频讲…...

算法导论第三版第十一章11.1-4
算法导论第三版第十一章11.1-4 我们希望在一个非常大的数组上,通过利用直接寻址的方式来实现一个字典。开始时,该数组中可能包含一些无用信息,但要堆整个数组进行初始化时不太实际的,因为该数组的规模太大。请给出在大数组上实现…...
算法导论第三版 17.1-2习题答案
17.1-2 分析: 如书中所示,increment(A)函数中,A数组来存放二进制,所以increment(A)函数实质是将一个十进制整数用二进制来表示,然后在整数加1的时候,将二进制做相应的变化。 那么decrement(A)就可以知道&am…...

算法导论第22章部分答案
参考https://blog.csdn.net/github_35807147/article/details/79110801 22.1-1 给定有向图的邻接链表,需要多长时间才能计算出每个结点的出度(发出的边的条数)?给定时间才能计算出每个节点的入度(进入的边的条数&…...

《算法导论》第三版第11章 散列表 练习思考题 个人答案
11.1 直接寻址表 11.1-1 解: DIRECT-ADDRESS-FINDMAX(T) for i T.length - 1 to 0if T[i] ! NILreturn T[i]最坏情况O(m)O(m)O(m)。 11.1-2 思路:1代表存在,0代表不存在;插入置位,删除复位。 11.1-3 思路&…...

《算法导论》第三版第10章 基本数据结构 练习思考题 个人答案
10.1 栈和队列 10.1-1 仿照图10-1,画图表示依次执行操作PUSH(S, 4)、PUSH(S, 1)、PUSH(S, 3)、POP(S)、PUSH(S, 8)和POP(S)每一步的结果,栈S初始为空,存储于数组S[1…6]中。 解: 4→41→413→41→418→41 10.1-2 说明如何在一个…...

《算法导论》第三版第7章 快速排序 练习思考题 个人答案
7.1 快速排序的描述 7.1-1 解: 13, 19, 9, 5, 12, 8, 7, 4, 21, 2, 6, 11 9, 19, 13, 5, 12, 8, 7, 4, 21, 2, 6, 11 9, 5, 13, 19, 12, 8, 7, 4, 21, 2, 6, 11 9, 5, 8, 19, 12, 13, 7, 4, 21, 2, 6, 11 9, 5, 8, 7, 12, 13, 19, 4, 21, 2, 6, 11 9, 5, 8, 7, 4,…...

算法导论第三版 第1章习题答案
2020/10/25:初稿 2020/10/28:增加对问题2、问题3、思考题1的求解过程Python代码。 参考文献:https://ita.skanev.com/ 1.The role of Algorithm in Computing 1.1 Algorithms 1.Give a real-world example that requires sorting or a real-world example that requires …...

算法导论(原书第三版)答案与学习笔记(一)
第一章 算法在计算中的作用 本章主要介绍了算法的概念、算法的用途、算法的意义等,并做了后续章节的部分概括。 算法实际上就是对于外界输入进行处理并给出符合预期输出的计算过程,书上的概念是:“对于任何良定义的计算过程,该过…...

算法导论第三版第一章答案
第一章 1-1 1-2 1-3 1-4 1-5 2-1 2-2 2-3 1-1 Give a real-world example that requires sorting or a real-world example that requires computing a convex hull. 给出现实生活中需要排序的一个例子或者现实生活中需要计算凸壳的一个例子 排序的例子有学校里的成绩排名、…...

开源组件| 开源组件调研
Apache Tomcat(web中间件) Apache Httpd(web中间件) Weblgoic(web中间件) Jetty(web中间件) Kafka(消息中间件) RocketMq(消息中间件) RabbitMq(消息中间件) ActiveMq(消息中间件) Redis(缓存中间件) Memcache(缓存中间件) Mongo(非关系型数据库) Mysql(关系型数据库…...

算法导论第三版参考答案
1.1-1 Give a real-world example that requires sorting or a real-world example that requires computing a convex hull. Sorting: browse the price of the restaurants with ascending prices on NTU street.Convex hull: computing the diameter of set of points. 1....

宝塔面板网页访问不了
问题描述 在阿里云服务器上安装宝塔面板,打不开宝塔面板的网页 原因分析: 宝塔面板在服务器已经启动也显示出外部访问和内部访问地址了,输入地址访问不了打不开宝塔面板网页,这是因为我们服务器安全组没有对宝塔面板的端口进行…...

JSP简单实现统计网页访问次数
JSP简单实现统计网页访问次数 需求:统计网页的访问次数 核心思想:利用application对象,将访问次数的信息放入application对象中,每次访问就 1。这里利用了application对象每次只有当应用关闭才被销毁的特性。 核心代码如下&…...

Nginx配置静态网页访问(图文界面)
目录前言正文前言 在本地测试好网站或者项目之后,部署到服务器中进行上线 如果是静态网页可通过部署nginx进行配置 本文主要讲解nginx静态部署项目 在本地测试好之后,将其文件上传到服务器中 (博主用的是docusaurus进行搭建的网站ÿ…...

2023年情人节即将到来,跨境卖家们准备好了吗?
再过不久,就是一年一度的2月14日情人节。这不仅是一个浪漫的节日,同时也是一个促销的大好时机。情人节是美国的第四大消费节日,Nox聚星数据显示,2022年美国情人节消费高达239亿美元,同比增长9.6%。 目前情人节相关的热…...

游戏服务器丢包该怎么办
如果游戏玩家用户在多人游戏中遇到延迟和卡顿,尽管所使用的独立服务器提供高速连接,也可能遇到数据包丢失的问题。下面本文将深入探讨什么是丢包,什么不是丢包,并探索一些简单的解决方案。文章后续还将解释有时无法解决丢包问题的…...

【Hadoop】面试
文章目录1.MR流程2. Namenode、Datanode、SecondaryNamenode作用3. Hdfs的介绍与应用场景4. SecondaryNamenode如何恢复数据(检查点机制)5. 小文件问题6. Hadoop和Spark的区别1.MR流程 数据输入——Mapper——Shuffle——Reducer——数据输出 数据输入——>Map…...

java不理解this?5分钟彻底弄懂this关键字
注:也可以观看视频:https://www.bilibili.com/video/BV1XM4y1X79jthis ,翻译为:这、这个,在java中应该翻译为 “本对象” 或 “对象本身” ,指向的是对象自己类似于日常的称呼,比如,…...

C/C++之动态内存申请
前言 在开发中,如果需要在运行时才能确定需要申请的资源类型及内存大小,则需要进行动态内存申请,C提供了mallco/free来进行资源申请,C还提供了new/delete以及new[]/delete[]来申请资源,手动申请资源需要非常谨慎,如果…...

数据结构与算法(1)稀疏数组
当一个数组中大部分元素为 0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: ①记录数组一共有几行几列,有多少个不同的值; ②把具有不同值的元素的行列及值记录在一个小规模的数组中,…...

Python入门第二课——Python的变量和简单数据类型
目录前言一、变量变量的命令规则:二、简单的数据类型1.字符串2.整数3.浮点数三、注释总结前言 学习任何计算机语言之前我们都需要了解该语言的变量和简单的数据类型,这部分内容往往很简单,同时也是很多人会忽略的地方,要知道&…...

Redis设计与实现 -- 浅谈Redis持久化
在讲解Redis持久化相关的话题之前,我们需要了解的是Redis为什么这么快?也就是Redis的IO模型 – 多路复用。 我们一句话概括为什么Redis这么快: Redis是单线程的,使用多路复用的IO模型。(当然,这只是很重要的一个方面&…...

SP800_186_OverView
文章目录2. Overview of Elliptic Curves2.1 Non-binary Curves2.1.1 Curves in Short-Weierstrass Form2.1.2 Montgomery Curves2.1.3 Twisted Edwards Curves2.2 Binary Curves3. Recommended Curves for U.S. Federal Government Use3.1 Choice of Underlying Fields3.1.2. …...

全球化安全生产 质量保障体系建设探索
作者:肖刚毅、张俊、李晶磊(全球化业务平台团队) 全球化电商中的业务、技术及架构和国内技术都有一定差异,从安全生产保障和质量保障角度,这些差异带来了更多的挑战,本文将为大家分享安全生产和质量保障相关…...

手机发射机的功能电路(4)---上变频器、功率放大器
一、发射上变频器 发射上变频器实际上是一个频谱搬移电路,它存在于带发射上变频的发射机电路结构中。在发射上变频器中,发射中频处理电路输出的发射已调中频信号,与RXVCO或UHFVCO、RFVCO)信号进行混频,得到最终发射信号。发射上变频器也是一个混频电路,前面讲混频器时说,混频器…...

记一次 Mockito.mockStatic 泄漏导致的单元测试偶发报错排查过程
相信用 Java 写过单元测试的读者们对 Mockito 不会陌生。至于 Mockito 是什么,为什么要用 Mockito,本文不再赘述。本文记录了一次在 Apache ShardingSphere 项目中,由 Mockito.mockStatic 使用不当导致的单元测试偶发报错排查过程。 文章目录…...

Python学习-----流程控制2.0(循环结构-->while循环、for循环、range()函数)
目录 循环结构 (1)while循环 (2)for循环 range()函数 循环的嵌套 编辑 上一期我们讲了Python中的选择结构,链接在下面Python学习-----流程控制1.0(选择结构、缩进法则)_守约斯维奇的博客-CSDN博客 这一期&am…...

2022年高职组软件测试赛项赛题及评分标准
任务 考查点 评分标准 评分细则 分值 任务一 环境搭建及系统部署 (5分) 环境搭建及系统部署包括搭建与配置测试环境,安装与部署应用系统等,对过程和结果进行截图,完成环境搭建及系统部署报告 1.测试环境搭建与…...

不坑盒子:强大的word插件,让工作更高效
不坑盒子简介 很多朋友在工作过程中需要对Word文档进行编辑处理,如果想让Word排版更有效率可以试试小编带来的这款不坑盒子软件,这是一个非常好用的插件工具,专门应用在Word文档中,支持Office 2010以上的版本,用户可以…...

非标自动化设备ERP系统能够帮助企业解决哪些管理难题?
非标自动化设备产品的多样化和个性化要求企业能够将客户需求、设备结构管理与配置、智能设计、生产协作管理等过程有机地结合在一起,非标自动化设备行业传统的企业管理模式已经不能适应市场需求的个性化变迁。非标自动化设备行业常见的管理难点:信息孤岛…...

20230207英语学习
Startup Plans to Bring the Dodo Back From the Dead 这家公司拟复活已灭绝几百年的渡渡鸟?! Billion-dollar startup Colossal Biosciences claims it has come a step closer to reviving the dodo, a flightless bird that has been extinct since …...

学习如何使用GPT2进行文本生成(torch+transformers)
学习如何使用GPT2进行文本生成(torchtransformers) GPT2是OPen AI发布的一个预训练语言模型,见论文《Language Models are Unsupervised Multitask Learners》,GPT-2利用单向Transformer的优势,做一些BERT使用的双向T…...

基于UEFI的数据传输工具
摘要:由于UEFI框架下没有提供数据传输的模块,使得测试或者调试开发时需要经常对数据文件进行人工拷贝,导致了实现测试自动化或远程调试的不便。采用Socket数据传输方式设计并实现了UEFI下数据传输的工具,通过使用串口线来连接Host…...

Linux 并发与竞争实验
目录 一、原子操作实验 1、利用点灯工程创建模板 修改makefile编辑 2、atomic.c代码添加 ①、定义 atomic_t 的变量 ②初始化变量 atomic_set函数原型 ③判断是否被使用 atomic_read函数原型 atomic_dec函数原型 ④释放原子变量 atomic_inc函数原型 3、atomicAPP.…...

Golang 提取视频中音频,存为WAV格式 | Golang工具
目录 前言 环境依赖 代码 总结 前言 本文提供将视频中音频提取出来存为wav格式,一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博…...

145、【动态规划】leetcode ——70. 爬楼梯:暴力法+动态规划(C++版本)
题目描述 原题链接:70. 爬楼梯 解题思路 1、暴力法 递归方式 class Solution { public:int res 0;void traversal(int n) {if(n 0) { // 每遍历出一种情况,就将结果加一res;return ;} else if (n < 0) {return ;}climbStairs(n - 1); // 探…...

【手写 VueRouter 源码】第七篇 - 路由变化触发视图更新
一,前言 上篇,介绍了路由匹配的实现,包括以下几个点: 路由匹配的分析;路由匹配的实现:router.match、matcher.match、createRoute; 本篇,继续介绍路由变化触发视图更新; 二&#…...

机器学习之朴素贝叶斯分类器原理详解、公式推导(手推)、面试问题、简单实例(python实现,sklearn调包)
目录1. 朴素贝叶斯原理1.1. 特性1.2. 思路2. 公式推导3. 简单实例3.1. 数据集脱单数据集2.0脱单数据集1.0西瓜数据集3.2. python实现3.3. sklearn实现3.4. 实验结果4. 几个注意点(面试问题)5. 运行(可直接食用)1. 朴素贝叶斯原理 1.1. 特性 朴素贝叶斯…...

什么样的光源不伤眼睛?精选优秀的全光谱护眼台灯
日光对眼睛最好,所有人造灯都不如日光对眼睛友好,日光指的是全光谱照射,而现在许多护眼灯做到全光谱照射,所以护眼灯成为很多家庭的必备产品之一,晚上学习、工作,有了护眼灯的陪伴,既明亮又不伤…...

复杂因子秒级计算,文谛资产是这样做到的...
上海文谛资产管理有限公司(以下简称“文谛资产”)秉持理性、务实、高效、专业的投资精神,凭借科学的量化投资战略、先进的量化交易技术和成熟的风险管理能力深耕量化领域,以创造长期稳定收益为投资目标,为国内外投资者…...

投稿计算机SCI期刊,什么是同行评议? - 易智编译EaseEditing
首先,初审论文的可能不是审稿人,有些稿源丰富的相对高端期刊,还会由作为大同行的编辑对稿件的内容本身,尤其是创新性等方面对稿件进行评估。 这个编辑内部初审,对于牛期刊而言也会拒掉许多投稿,这一过程通…...

如何添加 WhatsApp按钮打开Facebook页?SaleSmartly(ss客服)为您解答
关键词:SaleSmartly(ss客服);Facebook WhatsApp 按钮想要了解如何添加 WhatsApp 按钮到您的 Facebook 页?您来对地方了。在本文中,我们将概述合并 WhatsApp 按钮 Facebook 页面,并提供有关如何执…...

【CodeFroces】【DP】Maximum White Subtree
CodeForces 1324F Maximum White Subtree 题目传送门 题目大意 给定一棵树,每个节点为白色或黑色,现对每个节点 uuu,选出任意大小的包含该节点的连通图,使得图上白色点数目与黑色的数目的差距最大。 分析 不妨记白点权值为1&…...

RTC直播与RTMP直播
RTC直播与RTMP直播 RTMP传统直播成本低廉,已大规模部署稳定运行,延时较高直播场景。 RTC直播主要用于对延迟要求高实时互动直播场景。 传统直播与RTC直播对比 以下整理了一下传统直播与RTC直播的不同之处: MR直播 MR直播实例(混合现实直播…...

Elasticsearch7.8.0版本入门——集群部署(linux环境-centos7)
目录一、三台服务器信息二、Elasticsearch7.8.0单机部署三、Elasticsearch7.8.0集群部署3.1、分别再三台服务器中都安装Elasticsearch7.8.03.2、修改192.168.136.23服务器中elasticsearch配置文件3.2、修改192.168.136.24服务器中elasticsearch配置文件3.3、修改192.168.136.25…...

STM32开发(五)STM32F103 通信 —— CAN通信编程详解
文章目录一、基础知识点二、开发环境1、硬件开发准备2、软件开发准备三、STM32CubeMX相关配置1、STM32CubeMX基本配置2、STM32CubeMX CAN相关配置四、Vscode代码讲解五、结果演示CAN 内部回环测试CAN 正常模式测试使用ADALM2000分析工具解析CAN时序一、基础知识点 了解CAN通讯…...

VOC/YOLO/COCO数据集格式转换及LabelImg/Labelme/精灵标注助手Colabeler标注工具介绍
数据集格式:VOC(xml)、YOLO(txt)、COCO(json) 本文主要对Label格式,以及LabelImg、Labelme、精灵标注助手Colabeler这常用的三种数据标注软件进行介绍。 1 Label格式 LabelImg是目标检测数据标注工具,可以标注标注两种格式: VOC…...

linux下原子操作指令
目录 原子操作CAS 原子操作 Demo CAS C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 原子操作CAS 原子操作 所谓原子操作是指不会被线程调度机制打断的操作,当某次操作一旦开始,就一直运行到结束,中间不会有任何中…...

Kafka入门(二)
1、Kafka集群工作进程 下面了解一下Kafka的工作流程,Kafka集群会将消息存储在Topic中,每条记录会由一个Key、一个Value和一个Timestamp组成。 Kafka中的消息是以Topic进行分类的,生产者生产消息,消费者消费消息,读取和…...

古月居ros2机器人系列修改图片后如何编译问题
A(我):你好删掉这两个文件后它出现了learning——node未找到这种错误;不仅如此,我建立了另一个同样的文件,而这次我是先修改了路径再编译的,尽管这次新生成的build是修改后的,并且也并未出现多余的…...

PTA Advanced 1164 Good in C C++
目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 易错测试点 易错点&C知识UP 代码 题目 When your interviewer asks you to write "Hello World" using C, can you do as the following figure shows? Input …...

数学建模练习——非线性规划
...

十、数据库操作
数据库操作 一旦创建 数据模型后,Django 自动给予你一套数据库抽象 API,允许你创建(create),检索(retrieve),更新(update)和删除(delete)对象。 为了方便调试我们通过下面的命令进入交互式python命令行: python man…...

Linux -终端中的编辑器vi(2)
4.常用命令4.8缩排和重复执行命令功能>>向右增加缩进<<向左减少缩进.重复上次命令缩排命令 在开发程序时,统一增加代码的缩进比较有用!一次性在选中代码前增加4个空格,就叫做增加缩进一次性在选中代码前删除4个空格,就…...

鼎盛合方案——轮胎充气泵方案
轮胎的质量好坏直接影响到备胎上位的时间长短,而在轮胎的使用中如果充气不恰当则是又给了备胎一个摩拳擦掌准备登场的机会。诶、怎么今天老是说备胎备胎的,对象和她的蓝颜知己这几天确实走的近了一些。发展方向有点不对……她们昨天还一起吃饭也没叫我&a…...

Python常见异常类型
开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等。总的来说,编写程序时遇到的…...

测试工作杂记
1、安卓 测试过程中系统突然卡住不能动了、系统直接(Crash)崩溃掉了、应用程序无响应(ANR),即出现闪退或者异常的情况下 adb logcat -c && adb logcat > d:\logcat.txt 抓包工具android studio (接口、参…...

数据库笔记(三)
havingwhere后面只能写普通字段条件,不能写聚合函数条件having关键字专门用来写聚合函数条件的,并且需要和group by结合使用,写在分组的后面查询每个部门的平均工资,要求平均工资大于2000;select dept_id, avg(sal) a from emp group by dept_id having a>2000;查询每种工作…...

AD硬件电路学习笔记(四)四层板实战(上)之常见模块要求
系列文章目录 AD硬件电路学习笔记(一)常见的管脚名字以及FPGA、Lora AD硬件电路学习笔记(二) GND的种类及PCB布线实战 AD硬件电路学习笔记(三)mos管开关电路学习总结 文章目录系列文章目录常见要点防静电…...

Grafana 系列文章(十):为什么应该使用 Loki
👉️URL: https://grafana.com/blog/2020/09/09/all-the-non-technical-advantages-of-loki-reduce-costs-streamline-operations-build-better-teams/ 📝Description: 我们都知道为什么 Loki 对日志管理有很大帮助。但这里有所有的原因,为什…...

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第7天-贪心专题】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有60天
🏆🏆🏆🏆🏆🏆🏆 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录&a…...

Anchor Free的孪生目标跟踪
Anchor Free的孪生目标跟踪 跟踪任务可以看成是分类任务与状态估计任务的结合。分类任务的目的是精确定位目标的位置,而状态估计获得目标的姿态(即目标框)。SiamFC一文将当前的跟踪器按照不同状态估计的方法分为三类: 以DCF和Si…...

【6s965-fall2022】神经架构搜索 Neural Architecture Search
在很长一段时间里,研究人员都是手动设计神经网络的架构。神经网络架构的设计空间非常大,它包括#layers、#channel width、#branches、kernel sizes、input resolutions。因此,手动调整这些参数非常困难。而神经架构搜索,NAS&#…...

如何从脚本小子变成黑客大神?【网络安全】
学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …...

Suflo-Cyanine5.5 Tyramide,Suflo-Cyanine3 TSA,磺酸基-花青素Cy5 酪酰胺
一、试剂基团反应特点(Reagent group reaction characteristics):TSA主要原理是利用酪胺Tyramide的过氧化物酶反应(酪胺盐在HRP催化H202下形成共价键结合位点),产生大量的酶促产物,该产物能与周围的蛋白残基(包括色氨酸…...

LaoCat带你认识容器与镜像(实践篇一下)
实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 从该章开始,我们就进入了Docker实践篇系列了,主要介绍Docker相关附加命令,与实际日常生产部署注意点…...

Android设备的各种唯一标识符 ID
IMEI 只有Android手机才有, IMEI号是一串15位的号码,比如像这样 359881030314356 TelephonyManager TelephonyMgr (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String szImei TelephonyMgr.getDeviceId();需要权限android.permission.R…...

git串讲笔记
1.注册2.gitee 创建 仓库3. 你的电脑 git软件4. 将上边软件的安装路径需要设置到idea中file settting git path to git executeable: C:\Program Files\Git\bin\git.exe5.vcs create git repository6.点 对号 将idea代码提交本地仓库中7.点 斜右上 方绿色箭头 : 将本…...

ChIP-seq 分析:原始数据质控(2)
1. ChIPseq 简介 染色质免疫沉淀,然后进行深度测序 (ChIPseq) 是一种成熟的技术,可以在全基因组范围内识别转录因子结合位点和表观遗传标记。 ChIPseq1.1. 实验处理 ChIPseq2交联和蛋白质结合的 DNA。通过抗体富集特定蛋白质或 DNA 。添加 末端修复、A 尾…...

对几万行数据的调优操作,调优后系统性能提升明显
文章目录 前言一、问题一:对几万条数据筛选二、问题二:对几万条数据增删查改总结前言 对几万行的数据的处理或者对几万行数据与数据库的交互操作,虽然严格意义上来说,并不是很多,但是如果按照传统普通的流程一次性的遍历处理操作数据,也是会性能很差,有可能到分钟级别;…...

索尼官方答疑,你关心的PS VR2问题都在这里
随着索尼PS VR2即将开售,索尼在近期也逐渐公布更多关于PS VR2的消息,包括首发阵容(2-3月期间)共计37款。与此同时,外界对于索尼PS VR2提出了更多担心,彭博社爆料称:因PS VR2的预订量未及预期&am…...

SSM企业权限管理项目(一)
AdminLTE AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具,它提供了一系列响应的、 可重复使用的组件,并内置了多个模板页面;同时自适应多种屏幕分辨率,兼容PC和移动端后台模板框架github获取AdminLTE源码&#…...

C++设计模式(10)——原型模式
亦称: 克隆、Clone、Prototype 意图 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。 问题 如果你有一个对象, 并希望生成与其完全相同的一个复制品, 你该如何实现呢&…...

uniCloud 云函数/云对象 node版本改变成12或18解决方案
爆红信息 right-hand side of instanceof is not an object 今天卡到一个本地跑好好的云对象部署云端直接报错了。 原因是这样的!! 1、你去看看你云函数依赖那npm install的插件node版本是不是有要求,博主开github看了尽然是node>12 2、…...