utterances bot
utterances bot
# ES6 迭代器:Iterator, Iterable 和 Generator | Harttle Land 对集合中每个元素进行处理是很常见的操作,比如数组遍历、对象的属性遍历。以往这些操作是通过 for 循环、.forEach、.map 等方式进行,在 ES6 中直接把迭代放在语言层面进行支持,同时提供定制 for...of 的机制。借由迭代器机制为 M... [https://harttle.land/2018/09/29/es6-iterators.html](https://harttle.land/2018/09/29/es6-iterators.html)
# 优秀的代码 vs. 糟糕的代码 | Harttle Land 可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比。—— Robert C. Martin, “Clean Code”如果你还没有发现代码质量的区别,如果你从未见过优秀的代码,或者从未见过糟糕的代码,那么本文将以直观地... [https://harttle.land/2015/04/13/elegant-and-bad.html](https://harttle.land/2015/04/13/elegant-and-bad.html)
# 常见包管理与构建工具列表 | Harttle Land 包管理和构建系统是现代的软件开发团队中必不可少的工具,也是Linux软件系统的常见组织方式。现代编程语言大多给出了自己专用的包管理和构建系统,那么本文便来总结一下小编用过的那些包管理和构建系统。JavaScript服务器端 Javascript 通常... [https://harttle.land/2015/05/29/pkg-manager.html](https://harttle.land/2015/05/29/pkg-manager.html)
# 为啥我写不出文档 | Harttle Land 当有人跟你说 “我们整理一个文档” 的时候,有没有考虑过这文档是不是没法做? 就像收到需求时可以说没法完成一样,文档也不是总是可以写出来的。 下次不想写文档时可以把这篇文章丢给他,也许这是本文最大的意义。 可能因为说话是人类的天赋,从未有人怀疑过写不出文档的可能性。 这大概就是很多文档就像废话一样没用的原因吧。 那下面 Harttle 就开始列举写好文档各种客观条件,并突出其客观性和无法抗拒性。 [https://harttle.land/2018/03/19/a-document-i-wont-give.html](https://harttle.land/2018/03/19/a-document-i-wont-give.html)
# iOS UIWebView 的 Bug 集锦 | Harttle Land Apple 在 App Store Review Guidelines中提到 iOS 软件只允许使用其 WebKit 内核,事实上就是只能选择UIWebView和WKWebView来实现 Web 浏览。而官方推荐在 iOS 8 之后的系统中使用 W... [https://harttle.land/2018/06/23/uiwebview-bugs.html](https://harttle.land/2018/06/23/uiwebview-bugs.html)
# 异步脚本载入提高页面性能 | Harttle Land 可能很多人都知道JavaScript的载入和渲染会暂停DOM解析,但可能仍缺乏直观的体验。 本文通过几个例子详述脚本对页面渲染的影响,以及如何使用异步脚本载入策略提供页面性能和用户体验。 包括在脚本载入缓慢或错误时尽早显示整个页面内容,以及早点结束浏览器忙提示(进度条、旋转图标、状态栏等)。 DOM 渲染流程 要理解异步脚本载入的用处首先要了解浏览器渲染DOM的流程,以及各阶段用户体验的差别。 一般地,一个包含外部样式表文件和外部脚本文件的HTML载入和渲染过程是这样的: [https://harttle.land/2016/05/18/async-javascript-loading.html](https://harttle.land/2016/05/18/async-javascript-loading.html)
# Item 16:使用同样的形式来new和delete | Harttle Land 如果你用new申请了动态内存,请用delete来销毁;如果你用new xx[]申请了动态内存,请用delete[]来销毁。 [https://harttle.land/2015/08/07/effective-cpp-16.html](https://harttle.land/2015/08/07/effective-cpp-16.html)
# C++手稿:指针与引用 | Harttle Land C++的引用和指针始终是最容易出错的地方,大量的C++错误都是由空引用和空指针造成的。 与此同时,常量指针、函数指针、数组指针也是容易产生困惑的地方。 本文便来总结一下C++中引用和指针的用法,以及智能指针的概念。 [https://harttle.land/2015/07/05/cpp-pointers-and-references.html](https://harttle.land/2015/07/05/cpp-pointers-and-references.html)
# Makefile构建前端项目 | Harttle Land Make是GNU下的构建自动化工具,用于从源文件构建可执行程序和程序库。 由Makefile定义构建依赖关系,运行Make时这些依赖会递归地展开。 可以说Make和Shell是Linux下生存的必备技能,当然还需要一款你热爱的编辑器。 Make还会检查文件修改时间来判断是否需要执行某条依赖。 因此除了程序库外,Make也常常用于自动更新存在文件间依赖的项目。 比如:批量更新网站缩略图 Harttle曾使用过上百个Grunt/Gulp插件,尝试着去体会它们所承诺的那些优雅。 而今Harttle决定重新回到Make的怀抱,在前端为什么需要构建工具? 一文中详述了这一选择的全部理由。 [https://harttle.land/2016/09/21/make-frontend.html](https://harttle.land/2016/09/21/make-frontend.html)
# 常见Linux命令 | Harttle Land 这是一篇手册文章,总结了小编(曾经)常用的linux命令,以及它们的一些常用参数和场景。更新中…… source 执行某个文件,效果等同于.,都是在当前进程的上下文执行。 bash 以bash执行某个文件,作为子进程。 -x 参数可以查看调试信息。 gdb 用来调试C程序,打开一个调试: gdb a.out 调试命令 break 16 # 断点行 break func # 断点函数 info break # 打印断点 r...