草庐IT

At-rules

全部标签

链接脚本中 AT> 的作用

缘由这两天在梳理芯片的启动流程,研究到了链接脚本(样本为stm32cubeide中的stm32f407的flash链接脚本).产生了一个疑问AT>是什么?答案AT>就是用于指定这个section的加载内存地址(LMA)的解释链接脚本生成sections要被加载到memory中,内存分两种LMA加载内存地址VMA虚拟内存地址,也可以理解为运行内存地址像下面这种的就是LMA和VMA都是一样的,都是放在FLASH里面的/*Constantdatainto"FLASH"Romtypememory*/.rodata:{.=ALIGN(4);*(.rodata)/*.rodatasections(cons

链接脚本中 AT> 的作用

缘由这两天在梳理芯片的启动流程,研究到了链接脚本(样本为stm32cubeide中的stm32f407的flash链接脚本).产生了一个疑问AT>是什么?答案AT>就是用于指定这个section的加载内存地址(LMA)的解释链接脚本生成sections要被加载到memory中,内存分两种LMA加载内存地址VMA虚拟内存地址,也可以理解为运行内存地址像下面这种的就是LMA和VMA都是一样的,都是放在FLASH里面的/*Constantdatainto"FLASH"Romtypememory*/.rodata:{.=ALIGN(4);*(.rodata)/*.rodatasections(cons

CSS-@规则(At-rules)常用语法使用总结

At-rules规则是目前CSS中一种常见的语法规则,它使用一个"@"符号加一个关键词定义,后面跟上语法区块,如果没有则以分号结束即可。这种规则一般用于标识文档、引入外部样式、条件判断等等,本文是对该规则的使用总结。常用规则@import@import主要用于从其他样式表导入新的样式规则,语法:@importurl|stringlist-of-mediaqueries;。url|string:需要引入的样式资源路径,相对路径或绝对路径都可以;list-of-mediaqueries:逗号分隔的条件列表,判断什么条件下才引入该样式资源,支持媒体查询条件。@import"./reset.css";

CSS-@规则(At-rules)常用语法使用总结

At-rules规则是目前CSS中一种常见的语法规则,它使用一个"@"符号加一个关键词定义,后面跟上语法区块,如果没有则以分号结束即可。这种规则一般用于标识文档、引入外部样式、条件判断等等,本文是对该规则的使用总结。常用规则@import@import主要用于从其他样式表导入新的样式规则,语法:@importurl|stringlist-of-mediaqueries;。url|string:需要引入的样式资源路径,相对路径或绝对路径都可以;list-of-mediaqueries:逗号分隔的条件列表,判断什么条件下才引入该样式资源,支持媒体查询条件。@import"./reset.css";

不要让“Clean Code”更难维护,请使用“Rule of Three”

“我们如何证明,通过遵循“代码整洁之道”(CleanCode)就可以编写更多的代码呢?”当人们试图将“代码整洁之道(CleanCode)”的原则应用于现有的代码库时,我经常会问这个问题。我认为这是合情合理的。当我们开始重构遗留代码时,通常会将内容提取到较小的方法中。然后再将方法提取到类中。很快,我们可能就能感觉到原来30行的方法现在已经分散在不同的类中。我们想知道的是:这在实际上是否是更容易维护了呢。也许我们是一个小团队。也许我们必须支持我们继承的一个相对较大(并且没有文档记录的)的代码库。寻求代码可维护性是一件好事。错误在于,认为代码可维护性与代码行数(linesofcode,LOC)相关。

不要让“Clean Code”更难维护,请使用“Rule of Three”

“我们如何证明,通过遵循“代码整洁之道”(CleanCode)就可以编写更多的代码呢?”当人们试图将“代码整洁之道(CleanCode)”的原则应用于现有的代码库时,我经常会问这个问题。我认为这是合情合理的。当我们开始重构遗留代码时,通常会将内容提取到较小的方法中。然后再将方法提取到类中。很快,我们可能就能感觉到原来30行的方法现在已经分散在不同的类中。我们想知道的是:这在实际上是否是更容易维护了呢。也许我们是一个小团队。也许我们必须支持我们继承的一个相对较大(并且没有文档记录的)的代码库。寻求代码可维护性是一件好事。错误在于,认为代码可维护性与代码行数(linesofcode,LOC)相关。

Culture: Teams & Knowledge -- Chapter 2-3 of “Software Engineering at Google”

1.概述:这本书的第二部分主要是Google的团队文化的介绍,主要是团队合作以及知识分享方面的方法和观点。下面介绍我作为初学者的一些比较有感触的点。在目前的学习生活以及网上冲浪中,经常会问问题,以及有一些文档方面的做法,不是很符合规范。2.团队合作2.1HidingconsideredHarmful独自完成项目,很少与他人沟通最大的危害是可能很晚发现问题,或者已经有轮子了。这也和DevOps的概念相对应:ThecurrentDevOpsphilosophytowardtechproductivityisexplicitaboutthesesortsofgoals:getfeedbackasea

Culture: Teams & Knowledge -- Chapter 2-3 of “Software Engineering at Google”

1.概述:这本书的第二部分主要是Google的团队文化的介绍,主要是团队合作以及知识分享方面的方法和观点。下面介绍我作为初学者的一些比较有感触的点。在目前的学习生活以及网上冲浪中,经常会问问题,以及有一些文档方面的做法,不是很符合规范。2.团队合作2.1HidingconsideredHarmful独自完成项目,很少与他人沟通最大的危害是可能很晚发现问题,或者已经有轮子了。这也和DevOps的概念相对应:ThecurrentDevOpsphilosophytowardtechproductivityisexplicitaboutthesesortsofgoals:getfeedbackasea

【单元测试】Junit 4(八)--junit4 内置Rule

1.0Rules​ Rules允许非常灵活地添加或重新定义一个测试类中每个测试方法的行为。测试人员可以重复使用或扩展下面提供的Rules之一,或编写自己的Rules。1.1TestName​ TestNameRule使当前的测试名称在测试方法中可用。用于在测试执行过程中获取测试方法名称。在starting()中记录测试方法名,在getMethodName()中返回例如:importstaticorg.junit.Assert.*;importorg.junit.Rule;importorg.junit.Test;importorg.junit.rules.TestName;publicclas

【单元测试】Junit 4(八)--junit4 内置Rule

1.0Rules​ Rules允许非常灵活地添加或重新定义一个测试类中每个测试方法的行为。测试人员可以重复使用或扩展下面提供的Rules之一,或编写自己的Rules。1.1TestName​ TestNameRule使当前的测试名称在测试方法中可用。用于在测试执行过程中获取测试方法名称。在starting()中记录测试方法名,在getMethodName()中返回例如:importstaticorg.junit.Assert.*;importorg.junit.Rule;importorg.junit.Test;importorg.junit.rules.TestName;publicclas