这期间,使用过不少的工具以协助博客的创作。本文将对我正在使用中的应用工具(包含资料收集整理、文本编辑、截图及录屏、格式转换、图片编辑、图床管理等方面)做以介绍。...剪藏让用户可以只保存部分的网页内容并且提供了保存自动翻译后的页面能力。我将印象笔记作为网络内容资料库,保存了大量有价值的内容,供日后查询和整理。遗憾的是,剪藏目前并没有提供 iOS 版本插件。...无论是做学习笔记还是知识整理,几年来,我在 OneNote 中记录、整理了不少的内容。...遗憾的是 macOS 版本无法使用 markdown 插件,因此我会以截图的方式记录代码片段(此种方式对空间的占用较大,幸好 OneDriver 提供了 1TB 的容量),并将保存完整的源代码文件以附件的形式添加在笔记中...不过由于缺乏定制能力,我几乎不会使用它的 Gif 动图录制功能。
本文首发于政采云前端团队博客:我在工作中是如何使用 Git 的 https://www.zoo.team/article/how-to-use-git image.png 前言 最近在网上有个真实发生的案例比较火...莫慌,按照下面我讲的四个步骤走,保证你可以顺利使用 Git 进行拉取代码! 下载 Git 下载地址 (https://git-scm.com/downloads) ,选择自己系统对应的版本下载即可。...这里分享一个我自己常用的别名设置,把以下配置替换到 .gitconfig 文件里的 [alias] 所属的区域,然后就可以愉快的使用了~ [alias] st = status -sb co = checkout...总结 本文由浅入深的的讲解了 Git 的环境搭建,基本用法,以及工作中使用较为高频的 Git 命令的用法,无论你是前端后端还是其它端的开发,日常工作中少不了对 Git 的使用,我们不仅要会用,还要用的漂亮...这样才能在和同事协作项目的时候更加得心应手,学会了本文这些 Git 的使用技巧后,在日常工作中多多练习,相信会给你带来很大的收获!
循环中引用迭代器变量 循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。..."%d ", v) }() } 因为 goroutine 最终读取变量的时间是不确定的,从而 goroutine 中获取到变量的值不一定符合最初的预期。...解决方法也很简单,v 作为一个参数传入 goroutine 中,每个 v 都会被独立计算并保存到 goroutine 的栈中,从而得到预期的结果。...不使用 -race 选项 我经常见到的一个错误是在测试 go 应用的时候没有带 -race 选项。...显然,Go 的竞争检查 (race detector) 无法解决每一个并发问题,然而它依然是一个有价值的工具,我们应当确保在做测试的时候(go test) 始终使用它。
中的结构图: [image.png] 总是要点滴积累,慢慢跟着鸡老大学习,万一某天优秀了呢?...真的要细说 Gradle,恐怕目前能力还是有限,仅仅了解皮毛,简单分享,欢迎交流~ 一、Gradle 基本配置 --- 其实这块更应该成为封装项目的 basic build 配置,以便于后续的 module...module 均可使用 */ dependencies { // ... } 二、buildConfigField 使用 --- 在构建时,Gradle 将生成 BuildConfig 类,以便应用代码可以检查与当前构建有关的信息...针对我之前这种法子做个小小升级,在原有 gradle 文件中添加如下内容: android { // 封装项目的所有构建类型配置 buildTypes { debug {...个人还是建议巧用 README,记录项目常用的一些东西,方便之后的小伙伴快速上手~ 这里附上一张我之前项目的事例,也是在尝试,欢迎提供更好建议~ 在这里我截个之前负责的项目记录的 README 做个抛砖引玉吧
在实际开发过程中我踩到了mybatis的一个坑,我觉得值得记录、分享一下。 先说说这个坑是什么吧。如果你踩过这个坑,并且知道具体的原因,那这篇文章可以加深你的印象。...订单号为1234的订单状态为0【关闭】 订单号为4321的订单状态为1【开启】 已经开发好的功能是模糊查询订单名称,接口如下(图中应该是字符串的OrderName): ?...为什么在mybatis中数字0和空字符串""比返回的是true呢?...是的,我无脑的使用了CV大法。导致我在欢声笑语中写出了bug。我orderStatus传入的类型是一个Byte,和""做判断有任何意义吗?...最后说一句 在解决这个问题之后,我还是在网上查了一圈,发现也有人遇到了这样的问题,但是我点开搜索出来的第一篇就是一个错误的描述,他说在mybatis中会把0当做null来处理?哥们你看源码了吗?
这是why技术的第14篇原创文章 在实际开发过程中我踩到了mybatis的一个坑,我觉得值得记录、分享一下。 先说说这个坑是什么吧。...订单号为1234的订单状态为0【关闭】 订单号为4321的订单状态为1【开启】 已经开发好的功能是模糊查询订单名称,接口如下(图中应该是字符串的OrderName): ?...为什么在mybatis中数字0和空字符串""比返回的是true呢?...是的,我无脑的使用了CV大法。导致我在欢声笑语中写出了bug。我orderStatus传入的类型是一个Byte,和""做判断有任何意义吗?...最后说几句 在解决这个问题之后,我还是在网上查了一圈,发现也有人遇到了这样的问题,但是我点开搜索出来的第一篇就是一个错误的描述,他说在mybatis中会把0当做null来处理?哥们你看源码了吗?
面试官:使用Starters方式快速构建项目,那么默认使用的日志工具是什么? 小小白:如果项目使用Starters,则默认使用Logback作为日志记录工具,并且默认配置下日志只会在控制台输出。...面试官:那是不是开启调试模式后,日志只记录DEBUG级别的日志? 小小白:不是,开启调试模式并不是改变日志记录的级别为DEBUG,而且日志输出更多级别的日志信息。...小小白:在application.properties中配置logging.file属性,用于指定日志文件的位置(可以是相对位置或绝对位置)和名称,它将会把日志信息记录到对应位置下的日志文件中,例如配置...小小白:通过在application.properties中配置logging.file.max-size,它的属性值需要带单位,可以是KB、MB或GB,单位大小写不敏感都可以使用,例如配置最大大小为100MB...INFO logging.level.org.springframework.web=DEBUG logging.level.org.hibernate=ERROR 面试官:Spring Boot是不是只支持
最近学习数学,想用Hexo记录笔记整理公式,参考文章: 我的Hexo环境 首先,看看我的Hexo环境: hexo --version 显示如下: hexo: 3.4.3 hexo-cli:...文章中需要打开公式 这个我本地环境的公式没有生效,文章的Front-matter里打开mathjax开关后成功激活: --- title: Hexo中使用MathJax公式 date: 2017-12-...} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\right)$$ 存在问题 由于markdown中的下划线..._ 是表示斜体,MathJax中 _ 是表示下标,存在冲突,需要在公式的_前加转义字符,否则显示不正常: 代码: $F_a = F_b + F_c + F_{\mu}$ 显示: $F_a = F_b...语法, hexo-renderer-kramed 这个插件,打开它的Github主页,描述已经说得很清楚,作者fork了 hexo-renderer-marked 项目,并且只针对MathJax支持进行了改进
而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。...由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。 ...把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。 static局部变量只被初始化一次,下一次依据上一次结果值; 三、static函数与普通函数有什么区别?...static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static修饰的函数),内部函数应该在当前源文件中说明和定义。...对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件. static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
然后,其实正好相反,在DDD中,一个领域被分为若干个子域,领域模型在限界上下文中完成开发。事实上,在开发一个领域模型时,我们通常关注的只是这个业务系统的某个方面——某个子域。...而无论软件系统本身的复杂度是大还是小,几乎所有软件的领域都包含多个子域。 二、子域 子域根据类型的不同,可分为:核心域、支撑子域和通用子域。...2.1> 核心域 它是整个业务领域的一部分,也是业务成功的主要促成因素。从战略层面上讲,企业应该在核心域上胜人一筹。我们应该给予核心域最高的优先级、最资深的领域专家和最优秀的开发团队。...其实不然,在我们试图创建一个“大而全”的软件模型的时候,要使所有人都对某个概念的定义达成一致几乎不可能。因此,最好的方法是去正视这种不同,然后使用限界上下文对领域模型进行分离。...• 哪些限界上下文包含了核心域中的概念,其中使用了哪些[Evans]中的战术模式?
在其他情况下,如果必须在代码执行过程中多次重新对变量赋值,那就用 let。 2. 使变量的作用域最小化 变量位于创建它的作用域中。代码块和函数体为 const 和 let 变量创建作用域。...middle + 1; } else { right = middle - 1; } } return false; } 现在 middle 和 middleItem 只存在于使用变量的作用域内...他们的生命周期极短,所以更容易推断它们的用途。 3. 易于使用 我总是习惯于在函数开始的时候去声明所有变量,尤其是在写一些比较大的函数时。但是这样做会使我在函数中使用变量的意图变得非常混乱。...合理的命名 你可能已经知道了很多关于变量命名的知识,所以在这里不会展开说明。不过在众多的命名规则中,我总结出了两个重要的原则: 第一个很简单:使用驼峰命名法,并终如一地保持这种风格。...通过使用中间变量用代码解释代码。中间变量可能会增加一些语句,但出于增强代码可读性的目的还是非常值得的的。 总结 变量无处不在。
看过这部剧后,我突然很想知道自己秃头是什么样子,于是查了一下飞桨官网,果然它有图片生成的模型库。那么,我们如何使用PaddlePaddle做出一个秃头生成器呢。 ?...模型就可以实现多个不同风格域的转换,它允许在一个网络中同时使用不同风格域的多个数据集进行训练。...这导致 StarGAN 的转化图像质量优于现有模型,并且可以灵活地转换输入图像到任何想要的风格领域。 ? (a)为处理多个域,应该在每一对域都建立跨域模型。...Paddlehub里面已经有STGAN的预训练模型可以直接使用预训练模型。 # 安装Paddlehub和stgan_celeba预训练模型 !...我自己的 ? 预训练模型 可以看出预训练模型的秃头程度比较固定,而我把秃头程度设置的比较小,看起来可能更逼真一点。 END
而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。...由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。...2、static函数与普通函数作用域不同。static函数仅在本文件中使用。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。...对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 3、 static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值..., 其中字母只使用大写字母, 去除数字0和字母O这两个难以分辨, 这样我们可以使用的字符数为 26+10-2=34, 所以我们使用34进制进行压缩。
Javascript 的sort()函数在默认情况下使用字母数字(字符串Unicode码点)排序。 所以[1,2,5,10].sort() 会输出 [1, 10, 2, 5]....你还应该知道 replace 只会替换第一个匹配的字符串: 如果你想替换所有匹配的字符串,你可以使用带/g标志的正则表达式 : 本次给大家推荐一个免费的学习蔻qun,前面603 中间985最后993,...对web前端开发技术感兴趣的同学, 不管你是小白还是大牛我都欢迎,每天技术分享。...var的作用域是最近的函数块,let的作用域是最近的封闭块,封闭块可以小于函数块(如果不在任何块中,则let和var都是全局的)。...如果你认为greet 不应该在实例上下文之外运行, 你可以在类的constructor中绑定它: class Foo { constructor (name) { this.name = namethis.greet
阅读之后,你应该能够更好地判断,什么时候要使用Hbase,什么时候该更好地使用“传统”数据库。 一切都在术语中 幸运的是,Google的BigTable论文清楚地解释了BigTable究竟是什么。...以反向表示法列出它们是最有意义的(所以“com.jimbojw.www”比“www.jimbojw.com”更好),这样子域的行(存储上)将靠近父域行。...相反,我发现(把HBase)看成一个多维Map更容易思考这个问题 - 如果你愿意的话,可以使用嵌套Map。在之前的JSON示例中添加一个维度: ?...请注意,在显示的两行中,“A”列族有两列:“foo”和“bar”,“B”列族只有一列,其限定符为空字符串(“”)。...就这样(And that's about it) 好吧,我希望这有助于您从概念上理解Hbase数据模型的含义。 一如既往,我期待着您的想法,意见和建议。
服务注入到控制器中,便可以在指令中使用它了。...1.当我们将scope设置为false的时候,我们创建的指令和父作用域(其实是同一个作用域)共享同一个model模型,所以在指令中修改模型数据,它会反映到父作用域的模型中。 true:继承并隔离 ?...2.当我们将scope设置为true的时候,我们就新创建了一个作用域,只不过这个作用域是继承了我们的父作用域; 我觉得可以这样理解,我们新创建的作用域是一个新的作用域,只不过在初始化的时候,用了父作用域的属性和方法去填充我们这个新的作用域...四、绑定策略 在使用独立作用域scope的时候,一般有三种绑定传递策略, @单向传递字符串 =双向传递 &单向传递父级的方法 ...本地作用域属性:使用@符号将本地作用域同DOM属性的值进行绑定,使指令内部作用域可以使用外部作用域的变量: @ 可以在指令中使用绑定的字符串了。 2.
块级作用域 在ES6之前我们脑海里应该只存在全局作用域和函数级作用域,没有块级作用域。那么为什么要引入块级作用域呢?...,其实在全局作用域str变量已经被声明且复制,为什么我函数里面访问不到呢。...和const声明符,是不存在变量提升的;同时也只在块级作用域生效。...那就听我娓娓道来,如果说我们使用了let和const命令,作用域内会对这些命令声明的变量,在它的声明周期内形成一种封闭作用域。这在语法上,称为“暂时性死区”。...所以为了保障声明的有效性,js的解释引擎会对变量所处的块级作用域形成一种保护,因此在声明之前使用会有语法错误,是不被允许的。
2022-11-26:给定一个字符串s,只含有0~9这些字符你可以使用来自s中的数字,目的是拼出一个最大的回文数使用数字的个数,不能超过s里含有的个数比如 : 39878,能拼出的最大回文数是 : 89800900...,能拼出的最大回文数是 : 954321,能拼出的最大回文数是 : 5最终的结果以字符串形式返回。...str的长度为N,1 的数据,然后填写剩下的最大的数据,最后组合就是需要的返回值。...注意取一对数的时候刚开始不能取0,因为起始为0的数不是回文数。代码用rust编写。
简介 在ES6以前,变量的声明都是使用var关键字,且会进行变量声明提升。另外,我们曾经讲过,JS中是没有块级作用域的,这一点也带来了很多的不便。ES6 新增了let和var两个关键字,用来声明变量。...此时var i = 3;中的声明会被忽略,而只保留i =3;(这块内容可以参考我的文章JS入门难点解析3-作用域)。...这明显不是我们希望的结果,那么js中能否也使用块级作用域呢,我们生命的变量可否只在块级作用域中生效呢?ES6给我们提供了let。...(可以参考我的文章 JS入门难点解析2-JS的变量提升和函数提升)这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。...2.3 不允许重复声明 let不允许在相同作用域内(指的是ES5中规定的作用域,不包含块级作用域)重复声明一个变量,不管是使用var还是let。
领取专属 10元无门槛券
手把手带您无忧上云