深入浅出原核基因表达调控(乳糖操纵子、色氨酸操纵子)
原核基因表达调控
前言
自然界里,能量时有时无,各种生命为了让自己能够活下去,需要适应环境,在不同的环境合成不同的蛋白质。
原核生物体内有很多细胞,细胞里面有很多蛋白质,但是这些蛋白质在这些细胞里的个数(拷贝数)因细胞而异。有的蛋白质的数量在不同的细胞中都相差不大,而有一些则波动很大。
我们把变化不大的蛋白质叫做组成型(constitutive)合成蛋白质,其合成速率不受环境变化或代谢状态的影响。为什么叫组成?大家想,如果组成变了,那细胞不也玩完了。而另一类就是适应型或调节型(adaptive or regulated)合成蛋白质,其合成速率明显收环境影响而变化。
Constitutive:糖酵解体系的酶、DNA聚合酶、RNA聚合酶等细胞代谢过程和生长发育过程中必需的蛋白质。
Adaptive/Regulated:其他参与糖代谢的酶和氨基酸、核苷酸合成系统的酶类。
细胞中的调控体系一般有这样的规律:需要时打开,不需要时关闭。这种“开-关”(on-off)机制是通过调节基因转录来建立的。注意了,当我们说这个系统处于“关”的状态时,也可能会有本底水平的基因表达,一般是每世代每个细胞之合成1或2个mRNA和极少量的蛋白质。这个“关”不是说这个基因不表达,而是其表达量特别低,低至很难甚至无法检测到。
中文名
本底
外文名
background
含 义
没有进样时检测器的信号值
原核基因表达调控总论
基因表达(gene expression)是从DNA到蛋白质的过程,对这一过程的调节也就被称为基因表达调控(gene regulation 或 gene control)。基因表达的调控是为了“活下去”和“长起来”。
基因表达调控,主要是在两个阶段进行:
- 转录水平上的调控(transcriptional regulation)
- 转录后水平上的调控(post-transcriptional regulation)
- mRNA加工成熟水平上的调控(differential processing of RNA transcript)
- 翻译水平上的调控(differential translation of mRNA)
基因调控的指挥系统也是多样的,不同的生物使用不同的信号来调控基因表达。原核生物中,营养状况(nutritional status)和环境因素(environmental factor)对基因表达起着举足轻重的作用。真核生物则不一样,尤其是高等真核生物中,激素水平(hormone level)和发育阶段(developmental stage)是调控基因表达的最主要因素,营养和环境因素的影响力大为下降。
转录水平上的调控取决于DNA的结构、RNA聚合酶的功能、蛋白质因子和其他小分子配基的相互作用。在研究转录和转录调控前,我们先看看原核和真核生物转录和翻译的特点。
因为原核细胞没有细胞核,mRNA边合成边结合核糖体,所以,原核细胞的转录与翻译过程几乎同时发生,即转录与翻译相偶联(coupled transcription and translation)。而在真核生物中,转录产物(primary transcript)需要从细胞核内转运到细胞核外,才能被核糖体翻译成蛋白质。
原核生物只存在一种RNA聚合酶参与转录,而真核生物中有3种RNA聚合酶参与(高等植物如水稻种存在RNA聚合酶Ⅳ和Ⅴ,属于RNA聚合酶Ⅱ的同源基因)。
而对于转录后水平的调控,原核生物的蛋白质合成与甲酰-甲硫氨酸(tRNAMet),并且在起始AUG序列上游存在一段富含嘌呤的SD序列(AGGAGGU),促进翻译起始。在真核生物中不存在SD序列,并且蛋白质的合成起始于非甲酰化的甲硫氨酸(tRNAiMet)。
原核基因表达调控分类
原核生物的基因表达调控主要发生在转录水平上,根据调控机制的不同可分为:负转录调控(negative transcription regulation)和正转录调控(positive transcription regulation)。在负转录调控系统中,调节基因的产物是阻遏蛋白(repressor),起着阻止结构基因转录的作用。正转录调控系统中,调节基因的产物是激活蛋白(activator),如果没有激活蛋白结构基因则不能转录。
调控还可以分成诱导(induction)和阻遏(repression)这两类。诱导是通过小分子诱导物参与,是阻遏物失活或活化激活剂来实现对基因或操纵子表达的调控。阻遏是通过小分子辅阻遏物参与,使激活剂失活或活化阻遏物来实现基因或操纵子不表达的调控。
我来总结一下:
- 负控诱导:诱导因子和阻遏蛋白结合,使其变成非活性阻遏蛋白,这样就阻遏不了了,故基因表达;
- 正控诱导:诱导因子和没有活性的激活蛋白结合,使其变为具有活性的激活蛋白,所以可以激活,故基因表达;
- 负控阻遏:共阻遏蛋白和没有活性的阻遏蛋白结合,使其变为具有活性的阻遏蛋白,这样就可以阻遏了,故基因不表达;
- 正控阻遏:共阻遏蛋白和有活性的激活蛋白结合,使其变为没有活性的激活蛋白,所以激活不了了,故基因不表达。
原核基因表达调控的主要特点
操纵子的调控
操纵子(operon):在原核生物中,一些结构基因可以串联在一起,其表达收到同一调控系统的调控,这种基因的组织形式成为操纵子。
操纵子包括了启动子、操作子、、终止子、调控基因、结构基因等元件。
启动子(promoter,P)是指能被RNA聚合酶识别、结合并启动基因转录的一段DNA序列。操纵子至少有一个启动子,控制整个基因群的转录。
操作子(operator,O)是一段能被调控蛋白特异性结合的DNA序列。操作子常与启动子临近或重叠,当调控蛋白结合在操纵基因上,会影响其下游基因的转录。
终止子(terminator,T)是给予RNA聚合酶转录终止信号的DNA序列。操纵子结构基因群最后一个基因的末端存在一个终止子。
调控基因(regulatory gene)是编码能与操作子结合的调控蛋白的基因。某些特定的物质能够和调控蛋白结合,使调控蛋白的空间构象发生变化,从而改变其对基因转录的影响,这些物质称为效应物(effector)。调控基因可以在结构基因群附近、也可以远离结构基因,它是通过其基因产物调控蛋白来发挥作用的。
操纵子有两大类,分别是调节分解代谢和合成代谢的。
- 调节分解代谢的操纵子,它们都是属于诱导型,并受cAMP-CAP的调节。分解代谢的底物常为小分子诱导物。
- 调节合成代谢的操纵子,它们都属于阻遏型,不受cAMP-CAP影响。其中一些操纵子等具有弱化子(例如,Trp、His、Phe、Leu、Thr和Ilv的操纵子),最终产物为辅阻遏物。
乳糖操纵子
微生物对营养物质的利用是有顺序的,先易后难。葡萄糖代谢完了之后,乳糖才可以被进一步利用。如何通过基因表达调控来实现营养物质的选择性利用呢?乳糖操纵子就是个很好的例子。
乳糖的代谢过程如下图,可以看到乳糖进入细胞质之后,在β半乳糖苷酶的作用下,水解生成葡萄糖和半乳糖。
乳糖操纵子的结构
E. coli乳糖操纵子包括:启动子、操作子和3个结构基因等。
这三个结构基因称为lacZ、lacY及lacA。lacZ编码β-半乳糖苷酶,这是一种将双糖乳糖水解为葡萄糖与半乳糖两个单糖的酶。lacY编码β-半乳糖苷透性酶,这是一种在细胞膜的运送蛋白质,负责将乳糖逼入细胞中。lacA编码β-半乳糖苷乙酰基转移酶,这是一种酶将乙酰基从乙酰辅酶A转移至β-半乳糖苷。当中只有lacZ及lacY在乳糖的分解代谢是必须的。
转录时RNA聚合酶与启动子结合,通过操纵子,按Z→Y→A方向进行转录。每转录出一条mRNA上都有Z、Y和A基因。
- Z→β-半乳糖苷酶,这是一种将双糖乳糖水解为葡萄糖与半乳糖两个单糖的酶。
- Y→β-半乳糖苷透性酶,这是一种在细胞膜的运送蛋白质,负责将乳糖逼入细胞中。
- A→β-半乳糖苷乙酰基转移酶,这是一种酶将乙酰基从乙酰辅酶A转移至β-半乳糖苷。当中只有lacZ及lacY在乳糖的分解代谢是必须的。
只有当乳糖成为唯一的碳源时,相关利用的酶才会被合成。
葡萄糖 | 乳糖 | 乳糖操纵子表达 |
---|---|---|
+ | + | off |
+ | - | off |
- | + | off |
- | + | on |
活化蛋白和阻遏蛋白共同调控lac基因
乳糖操纵子通常是关闭的,lacI编码的阻遏蛋白以四聚体的形式与操作基因结合,关闭三个结构基因的表达。可以看到lacI编码的这个绿色的阻遏蛋白单体形成四聚体后和操作子结合,然后就不能够继续转录了,所以结构基因不表达。
活化蛋白CAP(catabolite activate protein)结合到CAP位点,激活结构基因的表达。从CAP这个名字,代谢激活蛋白,就是激活的意思。后面会详细讲讲。
阻遏蛋白的负调节(negative control of repressor)
当没有乳糖的时候,乳糖操纵子处于关闭状态,lacI基因低水平、组成型表达,产生阻遏蛋白,每个细胞中仅维持约10个分子的阻遏蛋白。阻遏蛋白结合在操作子上组织基因转录
如果有乳糖。首先,操纵子有本底水平的表达,细胞内会有几个分子的β-半乳糖苷酶和透性酶,当环境中有乳糖的时候,会被透性酶转运到细胞内。在细胞内,乳糖受β-半乳糖苷酶的催化为别乳糖。
Carrierprotein:又称“透性酶”(Permease),指存在于膜上能识别结合特异性底物后通过构象变化实现物质转移作用的跨膜蛋白,即能介导被动运输,又能介导主动运输。
别乳糖:乳糖的一种代谢产物。一种乳糖异构体,为乳糖操纵子的天然诱导物。
从下面这个图可以看到,乳糖通过透性酶从细胞外进入细胞,然后再β-半乳糖苷酶的催化下转变为别乳糖,再继续催化生成半乳糖和葡萄糖。
别乳糖和阻遏蛋白结合,阻遏蛋白构象改变,不和操纵子结合。接下来结构基因就可以进行转录,β-半乳糖苷酶在细胞内的含量可增加1000倍。
葡萄糖对乳糖操纵子的影响
有乳糖,乳糖操纵子就开启,结构基因就表达吗?前面提到了乳糖操纵子只有在乳糖存在,同时葡萄糖缺乏时才会高水平表达。也就是说,葡萄糖和乳糖同时存在的时候,乳糖操纵子也是处于关闭状态。
葡萄糖是细菌优先利用的糖类。当葡萄糖和其他糖类(比如乳糖)同时存在时,细菌只利用葡萄糖而不代谢别的糖类,这种现象成为分解代谢物阻遏(catabolite repression)。
先不提葡萄糖,前面我们提到了CAP蛋白,Catabolite activator protein (CAP; also known as cAMP receptor protein, CRP) 。
CAP其实就是CRP,代谢激活蛋白是一个二聚体,也是cAMP(cyclic AMP)的结合位点。
CAP蛋白的活化
cAMP可与细菌中的CAP 特异结合,使CRP构象改变,形成二聚体而活化。
CAP蛋白的正调控
cAMP-CRP二聚体能够结合到启动子的上游识别位点上,通过招募RNA聚合酶激活乳糖操纵子的转录。
细胞内cAMP的合成
cAMP是由ATP在腺苷酸环化酶的作用下生成的。
腺苷酸环化酶的激活
葡萄糖主要通过磷酸转移酶系统(phosphotransferase system, PTS)被宿主细胞磷酸化和内质化,然后才能进一步被菌体分解代谢,参与并维持菌体的生理活动。这个磷酸转移酶系统里面,有一个ⅡAGlc蛋白(crr编码)它的磷酸化形式可以激活腺苷酸环化酶。
PEP group translocation, also known as the phosphotransferase system or PTS, is a distinct method used by bacteria for sugar uptake where the source of energy is from phosphoenolpyruvate (PEP). It is known to be a multicomponent system that always involves enzymes of the plasma membrane and those in the cytoplasm.
PEP group translocation - Wikipedia
葡萄糖进入细胞时,ⅡAGlc蛋白发生脱磷酸化,导致腺苷酸环化酶活性降低。当环境中无葡萄糖时,细胞内cAMP含量升高。当环境中有葡萄糖时,细胞内cAMP含量降低。
去磷酸化的ⅡAGlc不仅仅使腺苷酸环化酶活性降低,导致CAP蛋白没有活性,激活作用减弱,从而结构基因不表达,而且它还会结合乳糖透性酶阻止乳糖进入细胞。
总结
总结一下葡萄糖的作用,首先葡萄糖浓度高,导致ⅡAGlc去磷酸化,细胞内的腺苷酸环化酶不被激活,cAMP浓度低,CAP蛋白不被激活,无法发挥正调控作用,结构基因不转录。其次,去磷酸化的ⅡAGlc结合乳糖透性酶阻止乳糖进入细胞。
负调节和正调节协调合作
阻遏蛋白封闭转录的时候,CAP不发挥作用,如果没有CAP加强转录,即使阻遏蛋白从操作子上解聚仍然没有转录活性。葡萄糖可以降低cAMP浓度,CRP不被活化,从而抑制激活作用,从而抑制转录。乳糖作为效应物使阻遏蛋白从操作子上解聚,有利于转录的发生。
通过这种机制,细菌优先利用葡萄糖,只有无葡萄糖而有乳糖时,细菌才利用乳糖。
从下面这个图我们可以看到:
- a) 只有葡萄糖的时候,低浓度的cAMP导致CAP没有激活作用,同时阻遏蛋白和操作子结合,结构基因不转录;
- b) 葡萄糖和乳糖都存在,阻遏蛋白走了,但是CAP还是没有激活;
- c) 只有乳糖,阻遏蛋白走了,CAP开始激活。
色氨酸操纵子
色氨酸操纵子使控制一个编码色氨酸生物合成需要的5种蛋白质的多顺反子mRNA的表达。与乳糖操纵子通常处于关闭状态不一样,色氨酸操纵子一般是开启的。以大肠杆菌为例,如果培养基里面有色氨酸,大肠杆菌就可以直接利用色氨酸,而不需要自己再合成了。也就是说,某一代谢途径最终产物合成酶的基因可以被这个产物本身所关闭,这个现象被成为可阻遏现象,这些起阻遏作用的小分子被称为阻遏物。这个可阻遏现象有些类似于高中我们学的负反馈调节。
色氨酸的合成主要分为5个步骤,有7个基因参与整个合成过程。从这个图里可以看到这七个基因分别是E G D F C B A。
我们再来看看色氨酸操纵子的结构,结构基因是E D C B A,就是没有上面的G和F,这些结构基因同样受上游的启动子P和操纵子O的调控。
这5个基因共有启动子和终止子,并且一起被调控,同时没有丝氨酸被表达。
辅阻遏蛋白的负调控
当trpR远离trp操纵子时,以组成型低水平表达无活性的调控蛋白R’,但色氨酸浓度足够时,色氨酸就和R’结合使其构象改变而成为有活性的形式R。R可与操纵子O特异性结合,阻遏结构基因的转录。
当缺乏色氨酸时,色氨酸操纵子打开,5个结构基因表达,产生三个酶催化分支酸合成色氨酸。
当有足够的色氨酸时,操纵子自动关闭。细菌直接利用外界的色氨酸。
弱化作用
R的阻遏能力仅为lacI编码的阻遏蛋白的1/1000,难道仅仅通过R就能够很好地调控色氨酸操纵子吗?
这里就要说到**弱化作用(attenuation)**了,当阻遏物对色氨酸操纵子的阻遏作用被解除,但细胞内仍然有一定浓度的色氨酸时,第二种调控机制使色氨酸的转录再抵达第一个结构基因E之前就被提前终止。
DNA种导致转录提前终止的一段序列称为弱化子(attenuator)。
色氨酸操纵子上具有一段前导序列,也就是O和E之间162bp的区域,弱化子是先导序列中长约123~150bp的区域。
如果attenuator缺失,色氨酸基因表达可提高6~10倍。转录开始后,除非培养基中完全没有色氨酸,转录总是在弱化子这个区域终止。
前导肽
在前导序列转录的mRNA中,包含起始密码子AUG和终止密码子UGA,这一段能够产生一个含有14个aa的潜在多肽。
前导序列的第10位和11位上有相邻的色氨酸密码子。由下表可以知道,是UGG。
前导序列含有三对反向重复序列(A=1+2;B=2+3;C=3+4)。
3+4形成的茎环结构符合终止子特征。因为C(3+4)后是poly(U),即C实际是一个终止子,如果转录mRNA时它形成发夹结构,就能使RNA聚合酶停止转录而从mRNA上脱离下来。
如果B(2+3)形成发夹结构,A和C都不能再形成发夹结构,则无法形成终止子。
当A(1+2)形成发夹结构时,B就不能形成发夹结构,却有利于C(3+4)生成发夹结构,则形成终止子。
前提条件
原核生物的转录和翻译几乎同时进行,在Trp未达到能起阻遏作用的浓度时,从Ptrp起始转录,RNA聚合酶沿DNA转录合成mRNA,同时核糖体结合在mRNA上开始翻译。
调控具体过程
前面都是知识铺垫,下面是正儿八经的调控过程。
Trp浓度高
当色氨酸浓度高的时候,trp-tRNAtrp(携带者色氨酸的tRNA)浓度随之升高,核糖体通过两个UGG,在4区被转录之前就到达2区。
2+3不能配对,之后3+4区形成终止子结构,转录停止。
Trp浓度低
Trp-tRNAtrp量少,核糖体停止在mRNA上的Trp密码子UGG处(要合成色氨酸),1+2不能形成发夹结构,因而2+3可以形成,阻止了3+4生成终止子。RNA pol可沿DNA继续转录,trp操纵子就处于开放状态。
所有氨基酸都不足
会形成终止子结构,因为核糖体翻译移动的速度就更慢,甚至不能占据1区的序列,就导致1+2和3+4发夹结构的形成,于是转录停止。
也就是相当于告诉细菌:“整个氨基酸都不足,即使合成色氨酸也不能合成蛋白质,不如不合成以节省能量”。
为什么需要两套调控系统
细菌中为什么需要弱化子系统
阻遏物从有活性向无活性的转变速度较慢,需要一个能更快地做出反应的系统,以保持培养基中适当的色氨酸水平。
弱化子系统主要是对外源色氨酸浓度做出反应。外源色氨酸浓度很低的信号虽然足以引起trp操纵子的去阻遏作用,但是这个信号还不足以很快引发内源色氨酸的合成。在这种环境下,弱化子就通过抗终止的方法来增加trp基因表达,从而提高内源色氨酸浓度。
为什么还要有阻遏体系
阻遏物的作用是当有大量外源色氨酸存在时,阻止非必需的先导mRNA的合成,它使这个合成系统更加经济。
不是所有氨基酸操纵子都是色氨酸操纵子。
自然界存在着不同类型的合成体系,例如组氨酸操纵子拥有在功能上与trp操纵子完全相同的弱化子结构,但没有阻遏物,它的表达完全受弱化子调节。
阻遏与弱化作用的协调
在trp操纵子中,阻遏蛋白的负调控起到粗调的作用,而衰减子起到细调的作用。
细菌通过弱化作用弥补阻遏作用的不足,因为阻遏作用只能使转录不起始,而对于已经起始的转录,只能通过弱化作用使之中途停顿下来。
阻遏作用的信号是细胞内色氨酸的多少,弱化作用的信号则是细胞内载有色氨酸的tRNA的多少,通过前导肽的翻译来控制转录的进行。
足以很快引发内源色氨酸的合成。在这种环境下,弱化子就通过抗终止的方法来增加trp基因表达,从而提高内源色氨酸浓度。
为什么还要有阻遏体系
阻遏物的作用是当有大量外源色氨酸存在时,阻止非必需的先导mRNA的合成,它使这个合成系统更加经济。
不是所有氨基酸操纵子都是色氨酸操纵子。
自然界存在着不同类型的合成体系,例如组氨酸操纵子拥有在功能上与trp操纵子完全相同的弱化子结构,但没有阻遏物,它的表达完全受弱化子调节。
阻遏与弱化作用的协调
在trp操纵子中,阻遏蛋白的负调控起到粗调的作用,而衰减子起到细调的作用。
细菌通过弱化作用弥补阻遏作用的不足,因为阻遏作用只能使转录不起始,而对于已经起始的转录,只能通过弱化作用使之中途停顿下来。
阻遏作用的信号是细胞内色氨酸的多少,弱化作用的信号则是细胞内载有色氨酸的tRNA的多少,通过前导肽的翻译来控制转录的进行。
相关文章:
深入浅出原核基因表达调控(乳糖操纵子、色氨酸操纵子)
原核基因表达调控 前言 自然界里,能量时有时无,各种生命为了让自己能够活下去,需要适应环境,在不同的环境合成不同的蛋白质。 原核生物体内有很多细胞,细胞里面有很多蛋白质,但是这些蛋白质在这些细胞里…...
10分钟理解Mysql索引
一、索引介绍 索引是什么 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘…...
nVisual综合布线可视化管理系统解决方案
一、综合布线管理系统的必要性 如今企事业单位办公人员变化很快,如果还是采用传统方式通过工程竣工图或者网络拓扑图来进行网络维护工作会非常麻烦,并且对管理人员的要求也会很高,管理人员需要清楚的知道工作区的信息点与配线架点之间的对…...
34岁测试工程师被辞退,难道测试岗位真的只是青春饭吗?
一:前言:人生的十字路口静坐反思 入软件测试这一行至今已经10年多,承蒙领导们的照顾与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,再…...
Java中常见的空指针异常
参考链接: java中什么是空指针异常以及为什么会产生空指针异常天上的云川的博客-CSDN博客什么是java空指针 java中容易产生空指针异常:NullPointerException的场景火龙映天的博客-CSDN博客java怎么制造空指针异常 java空指针异常是什么、怎么发生、如何…...
d亚当替换工厂模式
对象工厂替代方案 一般,需要无需用模块构造器触发d运行时的挑剔循环检测的方法来注册工厂.很多时候,混合模块构造器正是想要方法,但它有全局全开或全闭的循环检测算法. 要全局关闭它,请在Main文件中,添加以下代码行: extern(C) __gshared string[] rt_options ["oncycl…...
Real-time Scene Text Detection with Differentiable Binarization
Abstract 近年来,基于分割的方法在文本检测场景中非常流行,因为分割结果可以更准确地描述曲线文本等各种形状的场景文本。然而,二值化的后处理对于分割检测是必不可少的,它将分割方法产生的概率图转换为文本框/区域。本文提出了一…...
国外客户只想跟工厂合作?可以这样破解
1.客户是愿意和外贸公司合作还是更愿意和工厂合作?一个外贸公司的朋友说:“我去工厂接待过七八次外国人,基本上都是英国、德国、日本、加拿大、美国的。”贸易公司根本不避讳自己是贸易公司,外国人也不在乎。他们更关心的是贸易公司能否妥善安…...
c++重中之重:“换个龟壳继续套娃“:运算符重载等的学习
文章目录 前言一.运算符重载二.const成员三.取地址重载总结前言 上一期我们讲到类的6个默认构造函数中的拷贝构造函数,这一期我们继续往下讲,当然难点肯定是运算符重载了。 一、运算符重载 运算符重载是c为了增强代码的可读性引入了运算符重载…...
RabbitMQ简单使用
这篇文章通过一个最简单的例子,让初学者能了解RabbitMQ如何完成生产消息和消息的。 所有的程序员在学习一门新技术的时候,都是从 Hello World 进入到Colorful World的,本节也将按照惯例,从HelloWorld开始,演示RabbitMQ…...
Lambda表达式
👌 棒棒有言:也许我一直照着别人的方向飞,可是这次,我想要用我的方式飞翔一次!人生,既要淡,又要有味。凡事不必太在意,一切随缘,缘深多聚聚,缘浅随它去。凡事…...
JSON数据格式【学习记录】
JSON介绍 JSON(JavaScript Objet Notation)是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。它采用一种键:值对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是…...
LeetCode——1234. 替换子串得到平衡字符串
一、题目 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符,且长度为 n 的字符串。 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」。 给你一个这样的字符串 s,请通过「替换一个子串」的方式&a…...
Web自动化测试——selenium篇(二)
文章目录一、浏览器相关操作二、键盘操作三、鼠标操作四、弹窗操作五、下拉框选择六、文件上传七、错误截图一、浏览器相关操作 浏览器窗口大小设置 driver.manage().window().maximize();//窗口最大化 driver.manage().window().minimize();//窗口最小化 driver.manage().wi…...
RK3399平台开发系列讲解(文件系统篇)虚拟文件系统的数据结构
🚀返回专栏总目录 文章目录 一、超级块二、挂载描述符三、文件系统类型四、索引节点五、目录项沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍虚拟文件系统的数据结构。 一、超级块 文件系统的第一块是超级块,用来描述文件系统的总体信息。当我们把文件系…...
企业财务管理升级,智慧税务和数据可视化打造新标准
一、引言在发展社会主义市场经济的过程中,税收承担着组织财政收入、调控经济、调节社会分配的职能。中国每年财政收入的90%以上来自税收,其地位和作用越来越重要,可称之为国家经济的“晴雨表”,有效进行税务管理、充分挖掘税务大数…...
JFET(结型场效应管)
JFET的结构示意图 参考:https://blog.csdn.net/weixin_45882303/article/details/106008695 下图是实际结构图, 下面是原理图和符号表示(参考连接中的图片) 分析 VGS 对电压id的控制(固定VDS) 当让D和…...
oceanbase部署--使用OBD部署obagent和promethous_grafana软件
obagent OBAgent 通常部署在 OBServer 节点上。OBAgent支持推、拉两种数据采集模式,可以满足不同的应用场景。 OBAgent默认支持的插件包括主机数据采集、OceanBase 数据库指标的采集、监控数据标签处理和 Prometheus 协议的 HTTP 服务。 1)编辑 OBAgent …...
浏览器广告拦截插件| 浏览器搜索广告横飞怎么办
文章目录浏览器广告拦截插件| 浏览器搜索广告横飞怎么办一、效果二、安装浏览器广告拦截插件| 浏览器搜索广告横飞怎么办 浏览器广告横飞怎么办?今天教你一招解决!很多小伙伴说自己用的浏览器总是有广告。 今天咱们就针对这个问题分享一个浏览器插件&a…...
Redis优化内存篇
【内存消耗】 场景:业务ID->图片ID(KV:partnerId->objectId)。 刚开始,我们保存了1亿张图片,大约用了6.4GB的内存。 随着图片数据量的不断增加,Redis变慢了。 新的认知:String类型并不是适…...
Vue原理解析
文章目录1. VUE的响应式原理1.1 ViewModel1.2 双向绑定的基本原理1.3 什么是响应性1.4 Vue 中的响应性是如何工作的2. Vue 渲染机制2.1 虚拟 DOM2.2 渲染管线2.3 带编译时信息的虚拟 DOM2.3.1 静态提升2.3.2 修补标记 Flags2.3.3 树结构打平2.3.4 对 SSR 激活的影响1. VUE的响应…...
C# Lambda表达式含义及各种写法
Lambda表达式在各个语言中的表达方式都不太相同,本文重点介绍C#的Lambda表达式。 首先,Lambda表达式就是一个匿名的方法/函数。 以下面的一个完整版作为例子,前面是参数,后面是返回值: 由于 Lambda表达式和委托常常一起…...
计算机组成原理:1. 计算机系统概论
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验 文章目录1.1 计算机系统简介1.1.1 计算机软硬件概念1.1.2 计算机的层次1.1.3计算机组成和计算机体系结构1.2 计算机的基本组成1.2.1 冯诺伊曼计算机的特点1.2.2 计算机的硬件框图1.2.3 计算机的工作步骤1.3 计…...
【c#】c#常用小技巧方法整理(5)—— 字符串操作类
1、GetStrArray(string str, char speater, bool toLower) 把字符串按照分隔符转换成 List 2、GetStrArray(string str) 把字符串转 按照, 分割 换为数据 3、GetArrayStr(List list, string speater) 把 List 按照分隔符组装成 string 4、GetArrayStr(List list) 得到数组列表以…...
用队列实现栈VS用栈实现队列
之前我们就讲过队列,栈的基础知识,笔者之前有过详细的介绍,感兴趣的可以根据笔者的个人主页进行查找:https://blog.csdn.net/weixin_64308540/?typelately225. 用队列实现栈请你仅使用两个队列实现一个后入先出(LIFO&…...
MY2480-16P语音模块的使用
MY2480-16P语音模块的使用开发环境:STM32CUBEMXKEIL5辅助软件:串口助手、迅捷文字转语音一、MY2480-16P语音模块引脚图及引脚定义二、选择触发方式三、使用串口控制MY2480-16P语音模块四、模块使用指南开发环境:STM32CUBEMXKEIL5 辅助软件&a…...
I/O 多路复用
。新到来一个 TCP 连接,就需要分配一个进程或者线程,那么如果要达到 C10K,意味着要一台机器维护 1 万个连接,相当于要维护 1 万个进程/线程,操作系统就算死扛也是扛不住的。 一个进程虽然任一时刻只能处理一个请求&…...
2023 最新版网络安全保姆级指南,从0到1,建议收藏!
一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…...
力扣39.组合总数
文章目录力扣39.组合总数题目描述方法1:深搜回溯力扣39.组合总数 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可…...
sql的case when用法详解
简单CASE WHEN函数: CASE SCORE WHEN A THEN 优 ELSE 不及格 END CASE SCORE WHEN B THEN 良 ELSE 不及格 END CASE SCORE WHEN C THEN 中 ELSE 不及格 END等同于,使用CASE WHEN条件表达式函数实现: CASE WHEN SCORE A THEN 优WHEN SCORE …...
重庆网站运营公司/网站域名综合查询
在上一篇文章中,我们为读者介绍了堆栈溢出漏洞,以及当前系统提供的针对该类漏洞的缓解措施,在本文中,我们将继续为读者详细介绍SEH劫持技术。SEH劫持技术进程中的每个线程都可以注册handler函数(默认情况下也是如此&am…...
房产汽车网站模板/武汉seo论坛
一个不经意的瞬间,引发了一点小小的思考,蓦然间,又收到通知,数学建模校赛一等奖,淡然视之,这重要么?我的心没有跳一下,平静如水。当然,如果不是一等奖的话,或…...
linux主机上wordpress的url伪静态化优化技巧/seo电商运营是什么意思
无代码开发是⼀种通过可视化进行应用程序开发的方法,让不同经验水平的人员,都可以通过可视化的用户界面,自定义配置各种管理应用模型,减少企业IT人员编写代码的时间和工作时间,节省成本,来帮助企业快速开发…...
开发网站建设/论坛排名
平时上网总能看到些好的代码和文章,我们一般把它保存为html,但是时间久了这些文件过于分散,很多东西看过,一时想要找到却很困难,还有一些代码在没有语法高亮总是很难看清楚,因此,我编写了此程序。本程序主要…...
学生100元保险网站/长沙网络优化产品
没看到.net framework中有这样的功能, 懒得到处找了, 索性花点时间自己写一个 /** Created by SharpDevelop.* Date: 2013/6/24* User: sliencer* Time: 21:54* * To change this template use Tools | Options | Coding | Edit Standard Headers.*/ usi…...
做网络推广阿里巴巴还是网站好/迅雷磁力
小伙伴们如果想了解更深入的解释(确保我们没有忽悠你),请继续往下看吧。 EtherCAT是EtherCAT基金会基于以太网基础开发的一种开放式的、先进的现场总线,它通过一系列独特的机制来保证数据传输的高效与可靠。 EtherCAT只需要使用…...