当前位置: 首页 > news >正文

诺贝尔化学奖:酶分子“定向进化”

2018年,诺贝尔化学奖迎来了历史上第五位女性得主——加州理工学院的Frances H. Arnold教授,以表彰她在“酶的定向进化”这一领域的贡献。


 1、“酶的定向进化”到底是什么?

这里有三个点,“酶”、“进化”还有“定向”:

  1. “酶”:首先,大家应该都知道酶是生物体中负责催化功能的大分子(其中,超过99%的酶都属蛋白质),细胞内几乎所有生存、复制所需的代谢过程都需要各种不同的酶催化进行以持续生命。
  2. “进化”:生命从最初的单细胞生命到如今纷繁复杂的生物种群无时不刻没有发生着演变过程——达尔文的进化论阐释了这个现象,环境的改变淘汰了不适者——还有一些个体通过自身的改变适应了环境,甚至能得益于新的环境,而存活下来。在生物学上,我们往往讨论“基因型”和“表现型”,“基因型”指的就是生物体的基因,生物个体功能的表观形态就是“表现型”。贯穿这之间的,就是高中的生物课所描述的“中心法则”——蛋白由生物体的基因表达得到。所以,基因的突变导致了酶的变异,其性能或者行使的功能也可能随之发生变化,从而在自然选择的结果下,便有了“进化”。
  3. “定向”:进化拥有两个基本要素——突变与选择——突变是随机的,选择则是可以有方向性的。自然的进化需要千百万年的时间,而选择的结果也依赖于不断变化的环境因素。而人类在应用自然选择来实现自己的目的时,则会施加一个恒定的方向,所以是“定向”的。

把这三点结合起来,就是“酶的定向进化”,指通过快速随机突变结合高效的筛选来实现短时间内有目的的优化或者改造酶的功能

2、可以说说Arnold教授最早是怎么想到要做“定向进化”的?

陈凯:从1986年Frances在加州理工学院开始自己独立的研究工作起,Frances就着眼于通过改造蛋白结构以优化甚至创造(新的)蛋白功能。当时的主流科学家普遍认为,应该对蛋白的结构与功能之间的联系有清晰的认识,从而基于这些认识去设计更优的蛋白结构。然而,Frances却反其道而行之,认为蛋白作为一个大分子过于复杂,并且由于缺乏研究手段,人们是不可能在短时间内从原子层面上对蛋白内部的精细结构以及蛋白在执行功能时的变化有深入的认知,而在此基础上做完整的设计几乎是不可能的。果不其然,即便在今天,人们虽然已经能够利用发达的计算机技术设计全新的蛋白,但是仍需要依赖“定向进化”的手段重新优化设计出来的蛋白使其性能能够匹敌自然界已存在的蛋白。

当时,Frances这一反潮流的论断被绝大多数的从事生物/化学研究工作的科学家所不接受。科学界的不同意见并没有让Frances停住脚步,她告诉当时的人们,“我是个生物工程学家,我只关心我能不能把蛋白改造得更好,我并不在意我对蛋白理解得是否足够透彻”。

3、酶的定向进化最早期的奠基性工作的内容?

陈凯:“定向进化”最早期的里程碑式工作,由Arnold课题组的博士后成员陈克勤(Kevin Chen)参与完成[4, 5]。此研究展示了“定向进化”这一策略用于解决酶在体外环境中稳定性以及催化活性问题的强大功能。

在非自然的环境中,比如含有高浓度大极性有机溶剂的破坏性环境中,酶的稳定性往往会受到很大影响。而在工业化生产中,酶又往往需要在有机溶剂中发挥催化作用——这一工业需求随之带来一个问题——能否通过调整蛋白结构提升酶在有机溶剂中的稳定性,从而保证甚至提高其催化活性?蛋白酶subtilisin E可用于水解酪蛋白(casein),但其在有机溶剂N,N-二甲基甲酰胺(DMF)中的稳定性极差,导致其在60%DMF溶液中的催化活性不足在100%水溶液中的活性的0.5%。他们在表达该蛋白酶的基因中引入随机突变,得到表达相应突变体酶的菌落,并快速筛选出了催化活性更高的突变体。通过数轮进化,他们得到了在60%DMF溶液中的催化提高了256倍的subtilisin E突变体!这个活性水平与subtilisin E 在水溶液中的活性水平相当(图1)。基于此工作,Frances提出了“定向进化”这一概念——通过一定程度上模拟自然进化与选择的过程,实现对蛋白引入有益突变,从而改造蛋白功能

图1. 对于subtilisin E的定向进化。图片来源:参考文献 [6]

4、能概括地说一下,Arnold实验室验证的“定向进化”是怎样一个流程吗?

陈凯:“定向进化”的整个工作流程分4步(图2):

1)针对目标功能确立初始蛋白以及对应的基因,通过不同的手段在蛋白对应的基因上引入突变以实现序列全局的一小部分覆盖;
2)将突变基因转送至细菌,使得每个不同的突变体基因得到一一分离,相应的突变体蛋白在细菌中也得以表达;
3)使用不同的测试方法筛选出具有更好目标性能的蛋白突变体,并通过测序手段确定其基因与蛋白序列;
4)以获得的最优突变体为母本,进入下一个“突变-筛选”的循环,直至达到预期的蛋白性能。

图2. “定向进化”的基本流程。图片来源:Scientific Background on the Nobel Prize in Chemistry 2018

5、除了提升酶的稳定性,“定向进化”还能改造酶的什么性能?

陈凯:酶的绝大部分性能都能通过定向进化被改造。其中,酶的催化活性往往是人们最为关注的点。酶在生物体内,往往只对个别底物催化特定的反应,这也就是所谓的酶的特异性(specificity)。然而,很多时候,酶也具有混乱性(promiscuity),也就是说,如果给酶提供一个在结构上与天然底物具有相似性的非天然底物,有时候酶也会体现出催化活性,但是这样的催化活性,往往是非常低的。而“定向进化”则可以利用酶的混乱性这一性质,使得酶的适用范围得到数量级的提升。如图3所示,当酶对非天然底物表现出非常低的活性之后,“定向进化”可以得到突变体,对该非天然的底物表现出相当高的活性。虽然这样的进化往往需要非天然底物与天然底物在结构上具有相似性,但是基于新的突变体,又可以对新的底物进行“定向进化”,周而复始,使得酶的底物范围得到大规模的扩展——这一过程称之为“底物攀行”(substrate walking)。

图3. 酶的催化混乱性与定向进化。图片来源:参考文献 [7]

6、工业应用中“定向进化”的代表性例子吗?

陈凯:当然。在工业制药领域,酶的“定向进化”最为突出一次胜利当为转氨酶(transaminase)的进化与使用。2010年,Merck公司在Science 发表了转氨酶的“定向进化”在绿色合成2型抗糖尿病药物“西他列汀”(Sitagliptin, 2016年销量:2.3亿美元)中的使用(图6)[17]。与化学催化方法相比,进化后的转氨酶用于“西他列汀”的合成在产率上提升了10–13%,立体选择性几乎完美(99.95% ee),日产量增长了53%,工业废料减少了19%,避免了重金属的使用,缩短了反应步骤,无需高压条件以及高压设备,大幅降低了工业生产成本。

图6. 西他列汀的化学合成与生物合成。图片来源:参考文献[17]

此外,有的读者可能也听说过DNA聚合酶、限制性内切酶、连接酶等分子生物学中常用的工具,它们无一例外都经历了许多轮的定向进化才得到如今优良的性质。

7、“定向进化”在技术层面是怎么做到的?

陈凯:其实,与自然进化类似,“定向进化”这一项技术中,最关键的步骤还是“变异”和“筛选”(或“选择”)。有控制有效率的突变和快速简洁的筛选是“定向进化”的核心。

8、怎么实现变异的呢?

陈凯:引入突变的技术主要分为两类——点突变和DNA重组。许多实验室都在其中有所贡献。

在Frances的开创性工作中所使用的通过“易错型”聚合酶链式反应(error-prone PCR)引入随机突变,由David V. Goeddel于1989年发展,也是最为常用的随机点突变,并由不同实验室发展不同的策略来通过控制DNA复制扩增时“出错率”从而在整个基因的不同位置随机引入突变。

Error-prone PCR也存在固有的不足,比如突变在很多情况下是有选择性的(例如:赖氨酸(密码子AAA或AAG)到半胱氨酸(密码子TGT或TGC)这样需要多个连续碱基变化的突变几乎是不可能发生的),而且有时候需要筛选大量的突变体才能得到有效突变的个体。因此,如果已知蛋白结构中的一些位点对于蛋白功能具有关键作用,则可以选用定点的饱和突变(site-saturation mutagenesis),即通过在指定的基因序列位点引入简并密码子(degenerate codon)从而在特定的蛋白位点随机引入20种天然氨基酸),可提高突变的导向性和筛选效率。其后,Manfred T. Reetz提出了“22密码子策略”(22-condon trick),更好地均衡20种氨基酸出现的几率。

许多蛋白往往具有同源性,被归类在同一蛋白族系,它们在氨基酸序列以及三维结构上具有很大的相似性。同源蛋白的基因进行分切,由于部分基因的同源性,碎片基因可以实现错配杂交,从而引入突变,融合得到新的基因,该过程称为DNA改组(DNA shuffling)。类似于DNA shuffling,Frances早年的学生赵惠民(Huimin Zhao)发展了DNA交错延伸技术(staggered extension process),可以避免DNA shuffling过程中,基因片段的单独合成和纯化。

除却以上提及的“突变”手段,值得说明的是,如今随着DNA合成成本的降低,开始有越来越多的蛋白质工程师们直接用合成DNA的方法直接引入确定位点、确定密码子比例的点突变,或是基于一定理性设计的同源重组突变体文库,比如,SCHEMA程序设计以蛋白二级结构为基础,尤其是对同源性较低但有相似的蛋白折叠的母体蛋白的shuffling能得到高质量的蛋白突变体文库用于筛选。

图7. 引入突变的方法: A. 通过error-prone PCR的随机突变;B. 定点饱和突变;C. DNA改组;D. DNA交错延伸。图片来源:参考文献[18]

9、有了突变体文库,又怎么筛选出符合条件的突变体的呢?

陈凯:常用的方式分两类,它们的名字很像,一类叫筛选(screening),另一类叫选择(selection)。筛选以各种物理分析手段为主(例如光学性质),选择往往以生物表型为判断依据(例如营养缺陷)。

10、“筛选”是怎样操作的?

陈凯:基于不同的表型特征以及筛选通量的要求,筛选突变体的方法千差万别(图4)。以物理光学特性为依据的检测手段,可以实现非常高通量的筛选。以上述Frances的早期工作为例,蛋白酶在DMF中的催化活性是筛选的标准,在含有反应底物酪蛋白与DMF的培养基上,菌落在表达目标酶的突变体后,催化酪蛋白水解使在菌落周围显现出光晕,酶活性高低直接反映光晕的大小上。除此之外,针对不同的表现形式,还可以通过颜色、紫外吸收、荧光、浑浊度、透明度等物理特性来筛选蛋白。Arnold课题组在1996年的工作中,研究了通过“定向进化”提升酯水解酶在高有机溶剂含量的溶液中的活性,其中对硝基苯酚酯为研究的模型底物,在其发生水解后生成的对硝基苯酚在405 nm的紫外波段有特征吸收,该波段的紫外吸收强度直接反映了水解酶的活性[19]。

但上述例子中的筛选手段也存在缺陷,底物太过于特殊,在“定向进化”之后往往需要再此验证得到的突变体是否也对其他底物提高了催化效率。针对不同的催化反应,如果产物中形成了特殊官能团(比如醛),也可以通过对该官能团的快速显色法实现高通量筛选(例如:Arnold课题组在2013年的工作[20])。此外,如果没有可利用的光学性质或辅助显色,其他的分析技术,如核磁共振(NMR)、高效液相色谱(HPLC)、气相色谱(GC)、质谱(MS)等均可用于筛选,但筛选通量往往受到限制,多适用于筛选小规模的蛋白突变体库。

图8. 筛选突变体的方法。图片来源:参考文献[21]

在进化除酶以外的功能性蛋白时,或可根据蛋白本身的性质或可借助其他生物分析手段进行筛选。Roger Y. Tsien等通过对绿色荧光蛋白(GFP)进行定向进化,得到了不同荧光波段的荧光蛋白 [22];Arnold课题组使用了“定向进化”技术改造了光敏感通道蛋白(channelrhodopsin),使之有不同的激发波长[23]——这些蛋白的进化,往往可以根据其本身光学特性进行快速筛选。对于重组蛋白、伴侣蛋白甚至结合肽等其他类型的蛋白或片段的进化,荧光激活细胞分选技术(fluorescence-activated cell-sorting)或结合酵母展示技术,可作为非常高效的筛选手段。

11、“选择”听上去比“筛选”会更简单一些?

陈凯:是的,“选择”不像“筛选”需要对每个突变体个体都进行或多或少的分析研究,而往往先是有选择性的直接筛除相当一部分失去活性的突变体。今年化学诺贝尔奖的另一部分颁给了“噬菌体展示”(phage display)用于结合蛋白或者抗体的定向进化,这便是“选择”中的一类——拥有结合能力的蛋白突变体(与相对应的编码基因之间存在连接)能够被固载的结合目标给捕获,而失去结合能力的突变体直接被冲刷除去,从而选择高结合能力的突变体。与“噬菌体展示”类似,“细胞表面展示”(cell surface display)、“核糖体展示”(ribosome display)、“信使RNA展示”(mRNA display)等策略也用于类似的结合蛋白的进化之中。

在设计“选择”方法时,一个常用的技巧是人为地给有机体加入生存环境上的选择压力,并使蛋白的“定向进化”所带来的影响直接导致有机体赖以生存的必要因素的改变。这样,就只有具有特定性质的“适合环境”的突变体会被保留下来。

最为常见的,当属“抗生素耐受”这一表型,体现在进化具有中和抗生素能力的酶这一类工作中。“抗生素耐受”这一表型的使用远不止此,把蛋白的目标功能与抑制抗生素的基因片段的表达相结合也用在一些酶的定向进化中。比如,Peter G. Schultz为进化氨基酰tRNA合成酶(aminoacyl tRNA synthetase)使其能高效的用特定的非天然氨基酸对阻抑tRNA(suppressor tRNA)进行氨基酰化,把amber终止子(amber stop codon)放入氯霉素的抗性基因片段之中——母体大肠杆菌在氯霉素存在的环境中的存活力体现了目标tRNA合成酶的催化活性 [24]。

“营养缺陷-补给”则是另一种常见的“选择”形式,即指蛋白的定向进化可解决宿主在自身代谢上的缺陷,特别适用在代谢途径中的酶的进化。其中具有代表性的是,基于戊醛糖(xylose)代谢途径的蛋白的定向进化——以戊醛糖作为宿主的单一碳基营养源,可进化单糖转运蛋白(mono-saccharide transporters)和戊醛糖异构酶(xylose isomerase)更好的转化戊醛糖甚至用于产生能够作为生物能源的代谢物(如酒精)。此外,对DNA和RNA聚合酶的“定向进化”往往还用到更复杂的“选择”技术。

12、除了酶的定向进化,定向进化可不可以直接应用在其他种类的蛋白质上?

陈凯:可以的,“定向进化”除了在酶催化领域中的突出贡献,还广泛应用在其他类型的蛋白的优化与改造。如前所述,Arnold课题组改造了光敏感通道蛋白(channelrhodopsin),使之有不同的激发波长,用于生物学上的研究;加州大学圣迭戈分校的Roger Y. Tsien等通过对绿色荧光蛋白进行了定向进化,得到了不同荧光波段的荧光蛋白(图8)。魏茨曼研究所的Dan S. Tawfik利用“定向进化”的手段研究蛋白折叠的机制。哈佛大学的David R. Liu对“定向进化”在技术层面进行了深入的开发,提出了噬菌体辅助的连续进化(phage-assisted continuous evolution, PACE)等技术,并用于基因编辑技术的发展上。霍华德•休斯研究所的Loren Looger等人通过“定向进化”,大幅提升了用于神经科学研究的钙离子探针的性能,使得其在数千神经科学实验室中得到广泛应用。加州理工学院的Viviana Gradinaru等将“定向进化”用于进化病毒载体的衣壳,得到了可以高效跨越血脑屏障、将DNA导入小鼠大脑的载体、未来可能可以用于基因治疗中枢神经系统疾病。类似的例子还有许多。

图9. 不同荧光波段的荧光蛋白

诺奖弟子跟你聊聊“定向进化”那些事- X-MOL资讯

“掌控进化的力量”,美英三科学家荣获2018年诺贝尔化学奖- X-MOL资讯

诺贝尔化学奖:酶分子定向进化,这是什么技术?!我来告诉你! – BioEngX

诺奖得主Frances H. Arnold专访——酶的定向进化_设计

相关文章:

诺贝尔化学奖:酶分子“定向进化”

2018年,诺贝尔化学奖迎来了历史上第五位女性得主——加州理工学院的Frances H. Arnold教授,以表彰她在“酶的定向进化”这一领域的贡献。 1、“酶的定向进化”到底是什么? 这里有三个点,“酶”、“进化”还有“定向”&#xff1a…...

Centos8下源码编译安装运行Primihub

参考文献 PrimiHub 本地编译启动How to install Bazel on CentOS 8 Linux or Redhat 8/7 编译启动步骤 由于历史原因,服务器是Centos8操作系统,所以源码编译异常的麻烦。特此记录如下。 采用源码编译方式可以在一步步的运行过程中对整个流程进行深刻…...

嘉兴桐乡考证培训-23年教资认定注意事项你知道吗?

又到了新的一年了,去年错过认定的同学们可以竖起耳朵啦~ 每年认定机会有两次,大部分省份一般上半年下半年各一次。 问:在校生可以认定么? 答:可以,但有年级限制:本科生大四最后一学期&#xf…...

oracle客户端的安装教程

文章目录 一、安装前的准备工作 1.1、百度网盘安装包的连接 1.2、百度网盘oracle11g软件包 二、oracle数据库客户端的安装与数据的准备 安装步骤 前言 本文主要讲解oracle客户端的安装与简单使用过程 一、安装前的准备工作 1.1、百度网盘安装包的连接 客户端的软件包 …...

python 文件操作 , 异常处理 , 模块和包

文件操作 1.写数据 # open(name, mode) # name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。 # mode:设置打开文件的模式(访问模式):只读、写入、追加等。 #1.打开文件---通道建立--申请资源 # w 模式会清空之前的内…...

AIGC技术研究与应用 ---- 下一代人工智能:新范式!新生产力!(1-简介)

文章大纲 AI GC简介决策式/分析式AI(Discriminant/Analytical AI)和生成式AI (Generative AI)参考文献与学习路径模型进化券商研报陆奇演讲AI GC 《我,机器人》中所演绎的一样,主角曾与机器人展开了激烈的辩论,面对“机器人能写出交响乐吗?”“机器人能把画布变成美丽…...

Flask restful分页接口实现

1.先定义一个工作信息表: 指定一些相关的字段:工作名称、年限、级别等 class Work(db.Model):__tablename__ = workid = db.Column(db.Integer, primary_key=True)workName = db.Column(db.String(5),nullable=False)year = db.Column(db.String(20), nullable=False)level = …...

27事务管理AOP

一、MySQL事务回顾 二、Spring事务管理 Spring框架的第一大核心:IOC控制反转 在DeptServiceImpl下删除部门方法下新加一个删除员工信息的操作,注意:此时的id是部门id。 1、问题分析 2、Transactional-Spring事务管理 一般是在Service实现类的…...

煤矿电子封条实施方案 yolov7

煤矿电子封条实施方案采用YOLOv7网络模型算法技术,煤矿电子封条实施算法模型过将全国各省矿山实时监测数据,实现对全国各矿山及时有效的处理及分析。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GPU 和…...

Linux-inode和block概述

操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如Linux操作系统的文件权限与文件属性。文件系统通常会将这两部分内容分别存放在inode和block中。 inode 和 block 概述 文件是存储在硬盘上的,硬盘的最小存储单位叫做扇区sect…...

安卓开发投屏反控实现方式

在安卓开发中,可以通过MediaProjection API来实现屏幕投屏的功能,同时也可以通过Socket通信实现反控功能。下面将详细介绍实现步骤和注意事项。 1. 创建MediaProjectionManager对象 首先,我们需要创建一个MediaProjectionManager对象&#…...

外网SSH远程连接linux服务器「cpolar内网穿透」

✨个人主页:bit me👇 目 录 视频教程🌴1. Linux CentOS安装cpolar☘️2. 创建TCP隧道🎍3. 随机地址公网远程连接🎋4. 固定TCP地址🎄5. 使用固定公网TCP地址SSH远程 转载自内网穿透工具的文章:无…...

Deferred Components-实现Flutter运行时动态下发Dart代码 | 京东云技术团队

导读 Deferred Components,官方实现的Flutter代码动态下发的方案。本文主要介绍官方方案的实现细节,探索在国内环境下使用Deferred Components,并且实现了最小验证demo。读罢本文,你就可以实现Dart文件级别代码的动态下发。 一、…...

08 集合框架1

什么是数据结构? 存储数据,组织数据的方法,就是对数据做增删改查的操作 常见的数据结构有哪些?各自的优缺点是什么? 数组:擅长修改 查找操作,不擅长增加 删除操作 链表:有单项链表和双向链表,擅长增加和删除操作,不擅长修改和查找的操作 队列:擅长操作头和尾,先进先出,…...

内卷把同事逼成了“扫地僧”,把Git上所有面试题整理成足足24W字测试八股文

互联网大厂更多的是看重学历还是技术? 毫无疑问,是技术,技术水平相近的情况下,肯定学历高/好的会优先一点,这点大家肯定都理解。 说实话,学弟学妹们找工作难,作为面试官招人也难呀&#xff01…...

10-jQuery-遍历children、parent、for、each、for...of等

1、for 循环&#xff1a;可以用来遍历数组或类数组对象&#xff0c;但不能用来遍历普通对象。 <ul><li>John</li><li>Doe</li><li>Jane</li><li>Doe</li> </ul><script>var lis $(li);for (var i 0; i &…...

联想集团财报:收入持续下滑,联想集团财务前景已恶化

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 联想集团2023财年第三季度财务业绩回顾 联想集团&#xff08;00992&#xff09;于2023年2月16日盘后公布了该公司2023财年第三季度的财报。 财报显示&#xff0c;联想集团的收入已经从2022财年第三季度的201.27亿美元下降到…...

GPT4限制被破解!ChatGPT实现超长文本处理的新方法

目录 前言 使用chat-gpt过程中有哪些痛点 1.无法理解人类情感和主观性 2.上下文丢失 3.约定被打断 那如何去解决这个痛点 Transformer&#xff08;RMT&#xff09;怎么去实现的 1.Transformer 模型 2.RMT模型 3.计算推理速率 4.渐进学习能力 总结 写到最后 大家好…...

奋斗,然后成功:我的架构狮之梦

与代码结缘 2018年&#xff0c;当时听说了一个很厉害的人——吴瀚清老师&#xff0c;也就是大家所熟知的“道哥”。关于他的事情有很多传说&#xff0c;于是我也很快成为了他的小迷弟&#xff0c;把吴瀚清老师当成了自己的偶像。 也是那一年&#xff0c;我买了人生中第一本关…...

自定义属性,v-bind computed的使用

0.0 自定义组件的使用 【掌握】 先自定义自己的组件 引入组件 import 组件名 from 路径/文件名 注册组件 <script> export default {components:{ // 组件注册组件名:组件名&#xff0c;组件名1},data(){ // 数据return {}},methods:{ // 方法} ​ } ​ </script&…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...