JET毛选学习笔记:如何利用《实践论》学习实验
一、个人背景介绍
本人本科读的是预防医学专业,硕博连读(因为没考上临床)的时候专业是流行病与卫生统计学,除了学习流行病学、统计学(报名人少,我报了就得了),还学会了蹭热点,学R语言撸生信(忘得差不多了),学python撸机器学习(只灌水了1篇文章,搞不过别人,放弃了)。但实际上,我的大部分时间还是一名实验狗,做过很多基础研究相关的生物学实验,养细胞、基因过表达/敲降、养动物、提核酸、qPCR、WB、RIP、Co-IP、Chip、分选流式、分析流式等等。因此,这履历吧,说好听点叫做“多学科交叉复合型人才”,实际上可能就是一个“四处横跳、偶尔投机,但又有点科研初心”的“理想主义与实用主义交织”的打工人。(赶上时代洪流,灌了几篇文章,写了点教程蹭了点流量)
二、写作动机
说白了,还是懒吧。因为要带学生了,学生又都是没有实验基础的,大多也都是我这种流病背景的,听到做实验天生恐慌的那种。带的学生多了,也发现各种问题,我随便举个例子给大家感受一下:(对号入座)
(1)张三学习WB,跟着师姐观摩学习了一个月后,开始上手做,发现这个月似乎学了个寂寞,啥都没记住;
(2)李四的WB跑出来白板,一脸懵逼,于是重复一次,依旧是白板。激起了男生的胜负欲,发扬“越挫越勇”的精神,然后白板了十次,还是不出来;
(3)王五终于在第三次试验把WB做出来了,信心满满,但下一次又做不出来了,然后emo了一个月;
等等......
不知道小伙伴们中了几个,这就是传说中被实验支配的恐惧吧。其实,这还不是最恐怖的。最可怕的是,作为一个需要带学生的青椒或者师兄师姐,每年都得经历一次,恐怖的恶性循环,期间会有多少精神内耗。
所以,我在想,造成这种乱象的本质是什么?有没有什么高效的解决办法?学生们总说:“我之前都没做过实验,没有基础。”或者“XXX很聪明,我比不了。”或者“数据分析更简单,做啥基础研究。”我陷入了思考:“没做过实验?我之前也没做过啊!不聪明?我高考是靠民族加分才勉强上线的,我也不是很聪明啊,我记得我学习提质粒做了6遍才成功,而且实验又不是高数和物理,不需要太多的智商吧。”
于是乎,我翻开了《实践论》(应该来说是毛选),似乎找到了一点灵感:一切行动的问题都是思想的问题,具体来说,是世界观和方法论的问题。而这,可能就是最本质、最共性的问题。
综上,我写作目的在于:尽量把教员思想所体现的世界观和方法论与自身的学习经历相结合,为萌新们提供一个思路。
那么,第一篇要推荐的,就是大名鼎鼎的《实践论》。
三、开始吟唱
文章开头,直接上终极结论:
“从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往复以至无穷,而实践和认识”之每一循环的内容,都比较地进到了高一级的程度。这就是辩证唯物论的全部认识论,这就是辩证唯物论的知行统一观。”
这就是学习一门实验,甚至是任何新知识、新技能的“屠龙术”。我以我学习Chip为例子,来尝试解构这一段话吧。
(1)获取感性认识和间接经验
当你接到学习任务的时候,你可能从民间听到很多关于Chip的传说,大概率包括但不限于:Chip很难做、Chip是玄学等等。此时,你就已经对Chip有了第一个感性认识:似乎很难的一个实验。
随后,师兄师姐会给你一份实验步骤,可能还会甩个b站链接让你先看看。对你来说看这些可能跟看天书没什么两样,但至少形成进一步的感性认识:好像就是加样、电泳、什么超声、共沉淀等那几个步骤。
到这里,你已经获得了属于你自己的感性认识,或者叫做间接经验。注意,为什么叫做属于你自己的感性认识或者间接经验,那是因为每个人对同一句话的理解是不同的(知识背景和理解能力的差异)。举个栗子:“取THP-1细胞接种于培养皿”,对于完全没做过实验的童鞋来说,他们的理解就是听君一席话就是一席话:“取一个T什么P1的细胞接种于培养皿”。对于实验老手来说,他们能脑补出很多疑问:“THP-1是悬浮细胞还是贴壁细胞,这关系到用1640还是DMEM培养液;使用多少孔板的培养皿;实验目的是什么”。
那么,感性认识和间接经验有没有用呢?我个人认为是有用的,获取的正确的间接经验越多,实验前的准备越充足,到后面所走的弯路可能就越少。下面分享我的大致的学习步骤:
①尽可能了解该实验的实验目的
例如,Chip实验的目的在于验证某个蛋白是否与某段DNA链相结合(本质),进一步延伸,则是某个转录因子能否调控某个基因的表达(转录因子属于蛋白,基因的表达本质上就是转录因子结合到其DNA的启动子区域,启动转录)。
②广泛地收集和寻找实验步骤
首先,可以通过微信搜索,因为成熟的实验一般都有公众号进行科普。
然后,进行广泛地阅读,这一步重点在于对该实验的原理、方法、步骤进行泛读,从而对该实验有一个感性认识,明白它大概怎么做、步骤是否繁琐、涉及到哪些领域等等。
随后,可以寻找该实验是否存在成熟的试剂盒。可以通过多渠道进行筛选:(a)课题组一直在用的;(b)公众号出现频次高的;(c)大牌子的,进口的如CST、merk、赛默飞等,国产的如碧云天等;(b)多问几个试剂商。然后,下载2-3个试剂盒的步骤说明书开始交叉对比研究。
当然,课题组有现成的,忽略以上步骤,直接拿来研究即可。
③精读实验步骤:
主要精读1个即可,其余1-2个进行对照(看看有什么异同)。
所谓的精读,是指把每个步骤都进行消化吸收,而且要在脑子重构出场景,身临其境地在你塑造的虚拟空间进行模拟,不要放过每一个细节。
举Chip的一个步骤:“1.准备适量冰浴预冷的PBS,以及100mMPMSF。将SDSLysisBuffer适当温浴,使其中的SDS充分溶解,并混匀。”
开始模拟:你穿上白大褂,带好口罩和手套。
第一步,准备适量冰浴预冷的PBS,以及100mMPMSF。那么,PBS和PMSF你买了么?放在哪里(4℃还是-20℃)?适量是多少量?冰浴预冷怎么做?制冰机提前开了么?预冷多久足够?100mM浓度的PMSF怎么配制,配制的话用什么稀释?
第二步,将SDSLysisBuffer适当温浴,使其中的SDS充分溶解,并混匀。那么,SDSLysisBuffer放在哪里(4℃还是-20℃)?什么叫适当温浴?水浴锅提前开了么?需要调到多少度?温浴多久足够?怎么看SDS充分溶解?用什么方法混匀,是直接摇,还是用枪头?
看到了没,一个步骤,蕴含了多少细节,要是一个不注意,能把你卡死在操作台上。
以上问题全部解决以后,大脑模拟如下:至少提前一小时打开制冰机。穿上白大褂,带好口罩和手套,用专用泡沫盒装上冰,进入细胞房,打开操作台,放入实验必须的物品(白枪盒、黄枪盒、篮枪盒等),开紫外。打开水浴锅,调到37℃。从冰箱拿出PBS和PMSF,放到冰上预冷。水浴锅加热到37℃后,把SDSLysisBuffer放入水浴锅。紫外结束后,开台,喷酒精,把冰盒擦酒精后放入操作台。把SDSLysisBuffer从水浴锅拿出,放进操作台,拧开盖子观察是否有结晶析出,使用蓝色大枪进行混匀。
以上只是一个例子,但是这些细节,一定要在大脑中演练1-2遍,建议把所有步骤的细节都写下来,整理成自己的实验步骤。工作是很繁琐的,但磨刀不误砍柴功,这一步绝对不能懒!!!
翻车点:其实吧,在这一步,很多人都已经偷懒了,以为拿到课题组的成熟的实验步骤,再去庙里拜一拜,就能万事大吉了。客观现实不以人的意志为转移的,这么想只能被狠狠打脸,因为你拿到的实验步骤是别人的“直接经验”,绝对不是完全适合你,要记住,每个人都有适合自己的实验步骤,而这个步骤必须由你自己来提炼。
(2)开始实践:第一次实践,观摩为主
拿着自己的步骤(小本子)开始做实验,假设你有师兄师姐带,那就以观摩为主。重点在于:把你之前在大脑模拟的整个步骤和师兄师姐实际操作步骤进行对比,看看有什么差距?一旦有疑问马上询问,并做好笔记。此外,主动地脑补实验步骤,比如师兄师姐做完这一步,你自己要想下一步做什么?甚至提前去准备好下一步所需要的试剂耗材。
这一步叫做:主观是否符合客观,就是你想的跟实际发生的符不符合?
翻车点:但是吧,很多人,比如上文提到的张三,在观摩的时候基本是处于神游状态的,事后也不及时复盘总结,能学得会那都是假的。这种没有目的地盲目实践也是我们要杜绝的。
当然,如果没有师兄师姐带,略过这一步,直接跳到自己动手那一步。
(3)开始总结:第一次总结
实验结束后,及时进行总结和更新。比如说,你认为的步骤是这样,实际上师兄师姐的操作是那样,那么,主观就是不符合客观了。此时,也不要盲从师兄师姐的步骤,要去做调查和思考,看看其他说明书,问问其他老师,原则就是实事求是,如果确实是你的步骤不对,那就改过来,并注明为什么不对。
这就是第一次经历过实践的更新迭代,此时你的认知已经向前迈出了实质性的一步。
(4)再实践:第二次实践,在师兄师姐的监督下亲手操作
拿着自己更新的步骤(小本子也好,打印出A4纸也行)开始做实验,此时可以在师兄师姐的监督下开始自己操作。这一步不要奢求一步到位,肯定状况连连,记住这些错误和卡顿的地方。错误的多少取决于前面步骤你做的功课是否充足,心态要摆正,这是正常的现象。
(5)再总结:第二次总结
实验结束后,再次及时进行总结和更新。这里重点总结自己上手操作的翻车点,比如时间安排不合理呀、手法有问题呀、试剂找不到呀等等,逐一进行重点反思和总结提高,然后更新到你的实验步骤里。
说一个有趣的事情:不同人对同一个操作可能会有不同操作习惯,比如,WB把胶扣出玻璃板转到三明治结构的时候,有人喜欢正着扣,有人适合反着扣,因人而异。这时你需要确定哪个方法适合你,没必要一味模仿师兄师姐。
(6)再实践:第三次实践,无师兄师姐监督下独立操作
拿着自己更新的步骤(小本子也好,打印出A4纸也行)开始做实验,此时师兄师姐已经放手,就你自己。同样,这一步绝对、肯定还会出各种很离谱的错误,同样取决于前面步骤你做的功课是否充足,记住这些错误和卡顿的地方。
(7)再总结:第三次总结
同上操作。其实到这一步,你可能会发现真正困扰你也就是那几个步骤,当然这个因人而异。比如,做WB,有些童鞋是加样加不好,有些童鞋是转膜电极装反,有些童鞋是制胶制作不好。那么,这个就是你主要解决的问题了(主要矛盾),分出多点精力用于解决这些问题。
此外,如果你能熟练地把步骤基本走完,就可以开始再进行提升:(a)这个实验每一个步骤的用处是什么?每一个试剂的作用是什么?(b)这个实验的结果怎么分析?(c)这个实验的优点和缺点是什么?是否有其他实验进行优势互补?
掌握实验步骤是第一层,能够弄清楚背后的原理,知其然又知其所以然,那这个实验你才算是掌握了。也只有清楚后背后的原理,才可以很好地从本质去分析一些实验失败的原因。当然,如果你学有余力,在前面第一步或者总结中也可以适当思考这些问题,因人而异。
(8)无限循环
不断地实践-总结-再实践-再总结,值得注意的是,这个链条要迭代起来,千万不要实验失败了不做总结,就无脑地进行重复,这样就是假性努力,绝对杨白劳!这也是李四童鞋一直做不出的最底层的原因,战术的勤奋永远弥补不了战略的懒惰!
翻车点:有实验基础的童鞋可能迭代了4-5次就可以掌握了Chip,此时你手头那个涂改N次的实验步骤才是属于你的“直接经验”。但是,这是有时效性的,可能过一个月某个试剂、某个条件变化了,相对应的步骤也得调整。所以,得不断地迭代起来,不断地让主观臆想符合客观现实,这是一个长期工作,而不是绝对静止的。
给大家看看我Chip的实验步骤节选:
这个是综合了3个试剂盒说明书、加上自己10多次实践迭代出来的属于我自己的实验步骤,前前后后折腾了4个月,饱含辛酸泪。
其中折腾我最久的是样本超声,要求超声后样本不能有气泡,且超声后DNA片段长度必须要规定范围内。简单介绍我的分析思路和解决办法:
(1)针对“超声后DNA片段长度必须要规定范围内”,通过查资料,确定了需要调整的参数只有2个,超声强度和超声时间(有效时间和暂停时间)。看了很多种方案,拟定出自己觉得可行的尝试方法,确定一个超声强度,摸索超声时间。第一次实践过程中,我发现我严重忽略了第一个条件“超声后样本不能有气泡”,用于测试的样本,刚开始超声,全部有气泡,还没开始就结束了。
(2)因此,我意识到,如何避免气泡,才是这个主要矛盾的主要方面!开始着力解决这个问题。首先,去了解气泡产生的原因,发现跟超声探头深度和装样本的EP管的稳固程度关系很大。那么,解决方案就是我需要自己DIY一个置物架,确保EP管足够稳固,且置物架还能保持四度低温。然后,去测试探头深入液面多深,会没有气泡,用替代液体测试了好几天,才找到合适的条件。实际上,我DIY的这个装置,估计能搞个实用新型专利,哈哈哈,不过懒就没做。
(3)搞定气泡以后,摸索超声强度和超声时间就简单多了。所谓解决了主要矛盾,就成功了大半。
四、开始瞎聊
看完以上,估计大家都有一个感觉,学个实验咋那么累,摸鱼和躺平不香么?我是这么理解的,不一定对(叠个甲):
《实践论》是一种方法论,这个应该好理解,其实底层也是反映出一种世界观,也就是你是怎么看待这个世界的。这个可能命题太宏大了,那就聚焦一些吧,就是你是如何看待学习和做实验的。
我接触的很多童鞋吧,基本都有上文提到的王五类似经历,情绪和实验成功率呈现正相关:实验成功了,就很开心,然后就没了,也不懂是怎么成功的,始终处于感性认识阶段;接着,实验失败了,马上emo,自我怀疑,可能就去搞娱乐活动安抚自己了,并没有深入地思考失败的原因,那就更不会分析出可能的改进方案用于下次的实践。
我们再看教员的这句话:“社会的人们投身于变革在某一发展阶段内的某一客观过程的实践中(不论是关于变革某一自然过程的实践,或变革某一社会过程的实践),由于客观过程的反映和主观能动性的作用,使得人们的认识由感性的推移到了理性的,造成了大体上相应于该客观过程的法则性的思想、理论、计划或方案,然后再应用这种思想、理论、计划或方案于该同一客观过程的实践,如果能够实现预想的目的,即将预定的思想、理论、计划、方案在该同一过程的实践中变为事实,或者大体上变为事实,那末,对于这一具体过程的认识运动算是完成了。然而一般地说来,不论在变革自然或变革社会的实践中,人们原定的思想、理论、计划、方案,毫无改变地实现出来的事,是很少的。这是因为从事变革现实的人们,常常受着许多的限制,不但常常受着科学条件和技术条件的限制,而且也受着客观过程的发展及其表现程度的限制(客观过程的方面及本质尚未充分暴露)。在这种情形之下,由于实践中发现前所未料的情况,因而部分地改变思想、理论、计划、方案的事是常有的,全部地改变的事也是有的。即是说,原定的思想、理论、计划、方案,部分地或全部地不合于实际,部分错了或全部错了的事,都是有的。许多时候须反复失败过多次,才能纠正错误的认识,才能到达于和客观过程的规律性相符合,因而才能够变主观的东西为客观的东西,即在实践中得到预想的结果。但是不管怎样,到了这种时候,人们对于在某一发展阶段内的某一客观过程的认识运动,算是完成了。”
不知道大家看懂了没有,也就是说,失败本身就是常态,我们应该这么去看待世界(学习实验和做实验)。很多童鞋会有一种思想钢印,接受不了失败,失败一次就觉得天塌了下来一样,抱着这种心态,不emo才怪。当然,我认为,所谓的失败也是有区别的,一种是“失败后正确的反思”,一种是“败了就败了”,前者是有价值的失败,后者是无意义的失败。听到不少童鞋说:“实验结果不符合预期,钱白花了,时间浪费了”,我认为不一定:“如果按照《实践论》的方法论进行,失败就是一种财富,那是必须经历的阵痛和阶段;反之,那真是浪费时间和精力。”我一向反对在介绍经验时,刻意放大自己的成功经验,而忽视失败的经验,特别是如何从失败走向成功或者说从成功走向成功的反思和改进(当然还有主要矛盾和次要矛盾的混淆,这个我后面再说)。这会造成很多错觉:“成功似乎是一蹴而就的”、“努力就能成功”等等,其实危害非常大,潜移默化重塑了你的世界观。总结一下,我用一个不太恰当的比喻,假设掌握一门实验的步骤是:间接经验——实践——总结——再实践——再总结——如此循环,那么,人与人的差距可能在于:(1)间接经验的收集和消化能力(所以为什么要多读书,扩展视野,因为人是无法现象出自己完全没看到或者接触过的东西);(2)总结的能力(包括但不限于从实践中抽象出理论,找出规律,举一反三等)。由于以上差距,每个人循环的次数也会不同,但是吧,方法论对了,就算慢慢挪,那也大概率不会差到哪里去吧。
纵观教员的一生,他也是从无数次失败中爬出来的,只不过他的知识储备(中华五千年历史烂读于心)、悟性、毅力等品质不是你我能达到的,但是他的思想、世界观和方法论,我们是可以学习和借鉴的。所以,他谦虚地说他只是一个教员(老师),没错,他是全世界人民的老师。
以上,希望大家要有意识地运行《实践论》来指导自己的实验,甚至工作和生活。你要问我到底有没有用,请参考建党以来所取得的的成就,然后建议你去实践。
还有一个问题没回答:“学个实验咋那么累,摸鱼和躺平不香么?”,其实《实践论》可能不好回答,这得《矛盾论》,后面再聊。给一下我的浅显的看法:矛盾无处不在,不是你躺平就会消失的,而且会积累,到一定程度必然会激化爆发,这种爆发力伤害极大。
五、一些脑洞
学过机器学习神经网络的小伙伴可能会发现,《实践论》的过程是不是跟机器学习中的监督学习的过程很相似:给定模型一个目标,模型为了更逼近目标,不断调整自己的参数和网络架构,迭代个几百次,最终达到不错的拟合效果,训练出一个模型。然后,又使用模型运用到新一批的数据中,再次调整模型参数和网络构建,以适应新一批的数据。
那么,神经网络的原型是什么?是不是我们人脑的神经元及其相互的连接方式?因此,我们人脑可能就是一个高级的生物预测模型,基于我们的数据(认知、经历、反馈)训练出一个模型,用于理解和预测世界,由于模型的性能有差异,所以每个人理解的世界是不一样的(也就是世界观不同?)。但是呢,世界是持续变化的,因此模型也需要不断地迭代更新,才能适应变化复杂的世界。
说到这,有没有觉得,好像各个领域的底层逻辑在某种程度上是想通的,所谓的哲学上的统一?
六、后话
以上都是我自己的理解吧,一家之言,说错还是我造诣太浅,《实践论》常看常新,写个笔记做一下抽象和总结,也希望对大家有一些借鉴作用。我所带的小组入门第一篇文章,就是建议他们去看《实践论》,目前来看,运用得好的,毕业所取得的成果不会太差。
后面有缘再分享我对毛选其他文章的理解及其在科研中的应用吧。
七、推荐的资源
【两万字解读《实践论》:唯物主义的知行合一的世界观的构建——从柏拉图到费尔巴哈再到马克思的思维进化【毛选启示录】】
【7000字说清,主席实践论如何知行合一(上)】
【7000字说清,主席实践论如何知行合一(下)】
【研究生入学必读的第一篇文献】
相关文章:
JET毛选学习笔记:如何利用《实践论》学习实验
一、个人背景介绍 本人本科读的是预防医学专业(因为没考上临床),硕博连读(报名人少,我报了就得了)的时候专业是流行病与卫生统计学,除了学习流行病学、统计学(忘得差不多了…...
FinalShell 远程连接 Linux(Ubuntu)系统
Linux 系列教程: VMware 安装配置 Ubuntu(最新版、超详细)FinalShell 远程连接 Linux(Ubuntu)系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️➡️提出一个问题:为什么使用 FinalShell 连接࿰…...
Python零基础从小白打怪升级中~~~~~~~多线程
线程安全和锁 一、全局解释器锁 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。 GIL全称global interpreter lock,全局解释器锁。 每个线程在执行的时候都需要先获取GIL,保证同一时刻只…...
【机器学习300问】67、均方误差与交叉熵误差,两种损失函数的区别?
一、均方误差(Mean Squared Error, MSE) 假设你是一个教练,在指导学生射箭。每次射箭后,你可以测量子弹的落点距离靶心的差距(误差)。MSE就像是计算所以射击误差的平方后的平均值。它强调了每一次偏离靶心的…...
SAP打印输出设置
SAP打印输入有很多方式,适合不同的应用场景。 一.打印输出总体概览图 二.前台打印 这个是比较常见的,前端打印的出现减轻了管理员的工作量,用户可以选择自己电脑上的打印机输出,不需要所有打印机都在SAP平台中进行配置࿰…...
qt对json文件下,qdatetime时间的正确读写方式
qt 对json文件下qdatetime时间的正确读写方式 被搞了很长时间,最后发现是需要控制格式。 正确方式 // read QByteArray localBytes mapJson["playTime"].toString().toLocal8Bit(); char* char_time localBytes.data(); std::string str_time char_…...
【系统分析师】计算机网络
文章目录 1、TCP/IP协议族1.1 DHCP协议1.2 DNS协议1.3网络故障诊断 2、网路规划与设计2.1逻辑网络设计2.2物理网络设计2.3 分层设计 3、网络接入3.1 接入方式3.2 IPv6地址 4、综合布线技术5、物联网5.1物联网概念与分层5.2 物联网关键技术 6、云计算7、网络存储技术(…...
DDoS攻击愈演愈烈,谈如何做好DDoS防御
DDoS攻击是目前最常见的网络攻击方式之一,各种规模的企业包括组织机构都在受其影响。对于未受保护的企业来讲,每次DDoS攻击的平均成本为20万美元。可见,我们显然需要开展更多的DDoS防御工作。除考虑如何规避已发生的攻击外,更重要…...
48.基于SpringBoot + Vue实现的前后端分离-雪具销售系统(项目 + 论文PPT)
项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的雪具销售系统设计与实现管理工作系统…...
P8715 [蓝桥杯 2020 省 AB2] 子串分值 (双边检测)
# [蓝桥杯 2020 省 AB2] 子串分值 ## 题目描述 对于一个字符串 $S$, 我们定义 $S$ 的分值 $f(S)$ 为 $S$ 中恰好出现一次的字符个数。例如 $f\left({ }^{\prime \prime} \mathrm{aba}{ }^{\prime \prime}\right)1$,$f\left({ }^{\prime \prime} \mathrm{abc}{ }^{…...
(十四)C++自制植物大战僵尸游戏windows平台视频播放实现
植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs VLC库 在Cocos2d-x游戏开发框架中,没有实现windows平台视频播放的功能,需要自定义实现。在本项目中使用vlc库实现windows平台的视频播放功能。 vlc官网:网址 下载完成后&#x…...
深入理解GCC/G++在CentOS上的应用
文章目录 深入理解GCC/G在CentOS上的应用编译C和C源文件C语言编译C语言编译 编译过程的详解预处理编译汇编链接 链接动态库和静态库静态库和动态库安装静态库 结论 深入理解GCC/G在CentOS上的应用 在前文的基础上,我们已经了解了CentOS的基本特性和如何在其上安装及…...
C语言【复合类型(自定义类型)】
一、结构体 结构体(struct)可以理解为用户自定义的特殊的复合的“数据类型”; 1. 结构体变量的定义和初始化 定义结构体变量的方式: 先声明结构体类型再定义变量名 在声明类型的同时定义变量 // 结构体类型的定义 struct stu {char name[50];int age;…...
【python】初识爬虫
Python爬虫介绍 目录 一、概述二、Python爬虫的基本构成爬虫引擎解析器数据存储三、Python爬虫的主要技术请求与响应URL管理页面解析数据存储四、Python爬虫的应用场景数据采集搜索引擎竞品分析价格监控五、Python爬虫的开发流程六、常用的库...
提高小红书底层逻辑认知+短视频思路打爆笔记+纯带货笔记起号(8节课)
课程内容: 小红书如何0押金开通店铺 .mp4 店铺基础搭建.mp4 小红营的流量从哪里来? 如何用养号发现优质的对标笔记?养号的真正意义是什么?.mp4 什么叫垂类标签? 账号如何打上正确的标签 .mp4 前期笔记是否挂车?不同类型的笔记审核标准是什么?.mp4 如何用…...
力扣:219. 存在重复元素 II
力扣:219. 存在重复元素 II 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在,返回 true ;否则,返回 false 。 …...
程序安装 - 笔记
1 程序IOServer,依赖自己开发libs7.so.如何安装程序 要安装依赖于自己开发的 libs7.so 的程序 IOServer,你需要执行以下步骤: 编译 IOServer 程序:确保 IOServer 程序的源代码处于可用状态,并且已经编译成可执行文件。这可能需要执行诸如 make 或者其他编译命令,具体取决…...
文心一言 vs. GPT-4: 全面比较
1. 训练数据和预训练 文心一言 训练数据:文心一言是由中国研究人员开发的中文语言模型。它主要在大量古典中文文学作品上进行训练,包括诗歌、散文和历史文本。这些文学作品涵盖了丰富的中文语言和文化,使得文心一言在传统文化方面具有独特优…...
图书管理系统概述
自友图书馆管理系统解决方案适用于中小学、大中专院校以及企事业单位中小型图书馆的自动化管理需求,其功能覆盖了图书馆自动化集成管理业务流程所包括的所有环节。《图书馆管理系统》首先应该按照我国图书馆行业通用CNMARC格式及《中图法第四版》行业标准开发而成,支…...
中国老铁路增开对国际旅客列车开行
4月13日,中老铁路国际旅客列车开行一周年之际,中老两国铁路部门在中国西双版纳至老挝琅勃拉邦两大著名旅游城市间增开1对国际旅客列车,旅客乘火车可实现两地间当日往返。标题:古道新程——中国老铁路增开国际旅客列车 在这个日新月…...
搭建个人智能家居 4 -WS2812B-RGB灯
搭建个人智能家居 4 - WS2812B-RGB灯 前言说明ESPHomeHomeAssistant 前言 上一篇文章我们已经完成了第一个外设的添加(一个LED灯),今天接着来“壮大”这个系统,添加第二个外设“RGB灯”。 环境搭建可以回顾前面的文章。前文回顾&…...
C++类与对象(中)②
目录 1.赋值运算符重载 1.1运算符重载 1.2赋值运算符重载 1.2.1赋值运算符重载格式 1.2.2赋值运算符只能重载成成员函数不能重载成全局函数 1.2.3同拷贝函数一样,如果类是形如日期类这样变量全是内置类型的,赋值运算符就必须自己实现,…...
Qt——xml文件生成DBus接口
1. 如何根据xml文件生成Dbus接口 要使用 XML 文件生成 D-Bus 接口,你可以按照以下步骤操作: 步骤 1: 准备 XML 文件 确保你的 XML 文件遵循 D-Bus 的接口描述规范。这通常包括定义接口、方法、信号和属性。一个基本的例子如下: <!DOCTYPE…...
初识SpringMVC(SpringMVC学习笔记一)
1 、还是熟悉的配方,先创建一个父Maven项目(忘记怎么创建项目了就去前面翻笔记),导入通用的配置依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…...
FreeRTOS任务管理
1. 任务状态理论讲解 定时器职中断周期此处的1000Hz表示的是没次间隔1毫秒就记一次数(在FreeConfig.h)文件中进行配置 #define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) 判断是否需要任务切换在FreeRTOS里面每次间隔1毫秒切换一次(程序…...
Qwen1.5大语言模型微调实践
在人工智能领域,大语言模型(Large Language Model,LLM)的兴起和广泛应用,为自然语言处理(NLP)带来了前所未有的变革。Qwen1.5大语言模型作为其中的佼佼者,不仅拥有强大的语言生成和理…...
购物车实现
目录 1.购物车常见的实现方式 2.购物车数据结构介绍 3.实例分析 1.controller层 2.service层 1.购物车常见的实现方式 方式一:存储到数据库 性能存在瓶颈方式二:前端本地存储 localstorage在浏览器中存储 key/value 对,没有过期时间。s…...
HTML5漫画风格个人介绍源码
源码介绍 HTML5漫画风格个人介绍源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 效果截图 源码下载 HTML5漫画风格…...
工业数学模型——高炉煤气发生量预测(三)
1、工业场景 冶金过程中生产的各种煤气,例如高炉煤气、焦炉煤气、转炉煤气等。作为重要的副产品和二次能源,保证它们的梯级利用和减少放散是煤气能源平衡调控的一项紧迫任务,准确的预测煤气的发生量是实现煤气系统在线最优调控的前提。 2、…...
pnpm - Failed to resolve loader: cache-loader. You may need to install it.
起因 工作原因需要研究 vue-grid-layout 的源码,于是下载到本地。因为我习惯使用 pnpm,所以直接用 pnpm i 安装依赖,npm run serve 启动失败。折腾了一番没成功。 看到源码里有 yarn.lock,于是重新用 yarn install 安装依赖&…...
CSS transition和animation的用法和区别
Transition和Animation在CSS中都是用于实现元素状态变化的效果,但它们在用法和特性上存在明显的区别。 Transition transition是过度属性,主要强调的是元素状态的过渡效果。 它通常用于在元素的状态发生变化时,平滑地过渡到一个新的状态。…...
书籍推荐(附上每本书的看点)
1、《FPGA深度解析》,这本书的FIFO部分我觉得讲得很好; 2、《verilog数字系统设计教程》,夏宇闻老师的蓝皮书,这本书里包含很多考试知识点; 3、《SOC设计方法和实现》郭炜老师写的,我觉得他的低功耗设计讲得很好; 《高级FPGA设计结…...
LLM理解v1
答疑 什么是知识库? LLM(Large Language Models,大型语言模型)如GPT系列,通常是基于海量的文本数据进行训练的。它们通过分析和理解这些数据来生成回答、撰写文章、解决问题等。当我们提到LLM的“本地知识库”时&…...
ubuntu 22.04 -- cmake安装
安装方式一:源码安装 1、下载安装包 官网下载:下载链接:Download CMake 也可以使用命令行下载 wget https://github.com/Kitware/CMake/releases/download/v3.26.5/cmake-3.26.5.tar.gz2、解压并安装 # 1、解压 tar -zxvf cmake-3.26.5.…...
字符串算法题(第二十四天)
344. 反转字符串 题目 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入࿱…...
【Linux】应用层协议序列化和反序列化
欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:C【智能指针】 前言 在正式代码开始前,会有一些前提知识引入 目录 👉🏻序列…...
使用Canal同步MySQL 8到ES中小白配置教程
🚀 使用Canal同步MySQL 8到ES中小白配置教程 🚀 文章目录 🚀 使用Canal同步MySQL 8到ES中小白配置教程 🚀**摘要****引言****正文**📘 第1章:初识Canal1.1 Canal概述1.2 工作原理解析 📘 第2章&…...
关于部署ELK和EFLK的相关知识
文章目录 一、ELK日志分析系统1、ELK简介1.2 ElasticSearch1.3 Logstash1.4 Kibana(展示数据可视化界面)1.5 Filebeat 2、使用ELK的原因3、完整日志系统的基本特征4、ELK的工作原理 二、部署ELK日志分析系统1、服务器配置2、关闭防火墙3、ELK ElasticSea…...
实验室信息系统源码 saas模式java+.Net Core版开发的云LIS系统全套源码可二次开发有演示
实验室信息系统源码 saas模式java.Net Core版开发的云LIS系统全套源码可二次开发有演示 一、技术框架 技术架构:Asp.NET CORE 3.1 MVC SQLserver Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架&am…...
PCB---Design Entry cis 绘图 导出
修改纸张大小: 画图前准备:导入 画图: 习惯: 电源朝上 地朝下 配置pbc_footprint编号: 都配置好编号就可以导出了 导出:...
vue 一键更换主题颜色
这里提供简单的实现步骤,具体看自己怎么加到项目中 我展示的是vue2 vue3同理 在 App.vue 添加 入口处直接修改 #app { // 定义的全局修改颜色变量--themeColor:#008cff; } // 组件某些背景颜色需要跟着一起改变,其他也是同理 /deep/ .ant-btn-primar…...
WebKit内核游览器
WebKit内核游览器 基础概念游览器引擎Chromium 浏览器架构Webkit 资源加载这里就不得不提到http超文本传输协议这个概念了: 游览器多线程HTML 解析总结 基础概念 百度百科介绍 WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozil…...
Qt 拖放功能详解:理论与实践并举的深度指南
拖放(Drag and Drop)作为一种直观且高效的用户交互方式,在现代图形用户界面中扮演着重要角色。Qt 框架提供了完善的拖放支持,允许开发者在应用程序中轻松实现这一功能。本篇博文将详细阐述Qt拖放机制的工作原理,结合详…...
Springboot+Vue项目-基于Java+MySQL的企业客户管理系统(附源码+演示视频+LW)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…...
【Linux学习】Linux指令(四)
文章标题 🚀zip/unzip指令:🚀tar指令(重要):🚀uname –r指令:🚀关机指令🚀几个常用操作 🚀zip/unzip指令: zip 与 unzip的安装 yum i…...
阿里云服务器 使用Certbot申请免费 HTTPS 证书及自动续期
前言 Certbot是一款免费且开源的自动化安全证书管理工具,由电子前沿基金会(EFF)开发和维护,是在Linux、Apache和Nginx服务器上配置和管理SSL/TLS证书的一种机制。Certbot可以自动完成域名的认证并安装证书。 一、 安装软件 1.1…...
统一SQL-number/decimal/dec/numeric转换
统一SQL介绍 https://www.light-pg.com/docs/LTSQL/current/index.html 源和目标 源数据库:Oracle 目标数据库:Postgresql,TDSQL-MySQL,达梦8,LightDB-Oracle 操作目标 通过统一SQL,将Oracle中的numb…...
软件测试入门学习笔记
系统测试流程规范 一.研发模型 1.瀑布模型 从可行性研究(或系统分析)开始,需求 2.增量迭代模型 3.敏捷开发模型 二.质量模型...
31. 下一个排列
题目描述 整数数组的一个排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地&…...
Android笔记: mkdirs不生效失败
Manifest已经配置权限,代码中也动态获取权限,mkdirs一直返回false File.mkdirs()方法创建文件夹失败 1、动态申请读写权限 <!--SDCard写权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--SDCard读权…...
算法day07
第一题 30. 串联所有单词的子串 上题题意如下: 将w数组里面的字符串随机排列,只要在s字符串中找到相对应的w组成的字符串,则返回s中对应字符串首位元素的第一个下标; 有上述题意所知,解题思路如上一题故事,…...
又一个行业被Ai背刺了:Comfyui生成你的专属模特!
工作流获取方式放在文末了 Ai技术的进步,带来了许多之前无法实现的新技术和新成品,这也使得曾经需要漫长的时间和复杂的创作过程才能够完成的工作呗Ai技术轻松代替。 于此同时,不同行业也在这个过程中受到了不同程度的冲击。 今天给大家分…...
Maximo Automation Script之间调用
接前面几篇 Automation Script 文章,今天看看 Automation Script 之间怎么互相调用。 这里创建两个 Automation Script,第一个使用 Automation Script 查询数据库获取 workorder 列表,同时使用两个参数pageNum和pageSize来实现翻页ÿ…...
VMware Fusion 13.5.2 for Mac 发布,产品订阅模式首个重大变更
VMware Fusion 13.5.2 for Mac 发布,产品订阅模式首个重大变更 适用于基于 Intel 处理器和搭载 Apple 芯片的 Mac 的桌面虚拟化软件 请访问原文链接:https://sysin.org/blog/vmware-fusion-13/,查看最新版。原创作品,转载请保留…...
一线互联网大数据面试题核心知识库(100万字)
本面试宝典涵盖大数据面试高频的所有技术栈,包括Liunx&Shell基础,Hadoop,Zookpeer,Flume,Kafka,Hive,Datax,Maxwell,DolphinScheduler,Spark Core&SQ…...
机器学习之sklearn基础教程(第二篇:数据预处理与特征工程)
机器学习之sklearn基础教程(第二篇:数据预处理与特征工程) 1. 数据预处理 数据预处理是机器学习中非常重要的一步,它包括对原始数据进行清洗、变换和归一化等操作,以使数据更适合用于机器学习模型的训练和预测。 以下…...