X

曜彤.手记

随记,关于互联网技术、产品与创业

吉 ICP 备10004938号

Recent Articles

WebAssembly Summit 2020 — 议题深度解析(下)

在上一篇文章中,我们介绍了 WebAssembly Summit 各位嘉宾在上半场带来的 Wasm 在标准制定、编译优化以及浏览器引擎上的一些精彩分享。本文我们将继续回顾在大会下半场中,分享者为我们带来的,Wasm 在现阶段各类工程领域中的一些精彩实践。

WebAssembly Summit 2020 — 议题深度解析(上)

第一届 WebAssembly Summit 峰会于2月10日在美国山景城的 Google 总部顺利召开。大会分享者有我们熟悉的科技漫画作者—— 来自Mozilla 的 Lin Clark、WebAssembly(下文简称 Wasm)的基础设施工具链 Emscripten / Binaryen 作者——来自 Google 的 Alon,以及众多来自各大知名互联网公司的 Wasm 研究和开发人员。WebAssembly Summit 是由 Wasm 社区举办,专门讨论 Wasm 当前和未来发展,以及其相关议题的全球性大会(A one day, single track, conference about all things WebAssembly.)。

C++ 编码准则之 “The Rule of Three”

不同于 C 语言,在 C++ 中,我们通常会使用“类”结构,来定义和管理资源。类,可以让我们将程序逻辑和数据按照不同的角色,进行封装,进而提高代码的重用性、灵活性和扩展性。但随之而来的类对象的“隐式”拷贝,却也在不经意间充斥在整个应用程序运行的各个生命周期中。好的类结构定义,可以让应用程序通过“资源移动”等方式,使数据资源的流动和使用变得更高效。相反,不当的类结构定义反而会使应用程序,在运行过程中发生未知的资源使用问题,比如常见的内存泄漏、内存溢出、悬挂指针,以及非法的内存释放,等等。那么,为了尽可能避免出现这些问题,”The Rule of Three“ 这一套编码准则,在经过不断地实践后,便被人们总结出来了。

C++ 中的移动构造与 noexcept

相信对 C++ 语言熟悉的同学应该都知道,C++ 在它的第11个版本中加入了新的名为“移动构造函数”的构造函数类型。通过使用移动构造函数,我们可以在对象进行“复制”时,来直接“窃取”拷贝对象所保有的一些资源。比如,已经在原对象中分配的堆内存、文件描述符,以及 IO 流等。但是在大多数情况下,当我们在代码中声明类的移动构造函数时,都通常会使用 “noexcept” 关键字来修饰对应的移动构造函数,那么这样做是为什么呢?或者说这样做有什么样的好处呢?今天我们就来探讨一下这个问题。

浅谈企业股权设计

最近花点时间读了一些“创业股权设计”相关的书籍,本文用来总结一些与之相关的要点。初创企业在企业进行备案注册与创始人(合伙人)职能分配时,总会涉及到公司股权划分的问题。合理的股权分配原则能够产生“1 + 1 > 2”的效果。反之,不合理的股权划分则一般都或多或少预示着企业内部可能潜在的利益分配冲突。随着公司估值的增加,冲突也被逐渐放大,以致最后可能会发生诸如“兄弟式入伙,仇人式散伙”等影响企业生存的问题。因此,合理的股权划分便显得十分重要。

SICP-计算机程序的构造和解释(一)

SICP 第一章内容回顾。Lisp 语言的一种最重要的特点就是:计算过程的 Lisp 描述(称为过程)本身又可以作为 Lisp 的数据来表示和操作。

English key Points Conclusion .1

English knowledge series, key points conclusion .1

Privacy Policy for TOVD

This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our Service and the choices you have associated with that data. Our Privacy Policy for TOVD is created with the help of the Free Privacy Policy Generator.

JavaScript 杂记:全等、indexOf 语义与 Membrane

专门写篇文章来记录最近一段时间遇到的几个小问题。本文主要介绍 JavaScript 中全等(“===”)运算符和 “Array.prototype.indexOf” 方法在 ECMA262 标准中的语义以及 JavaScript Membrane 的定义。其中 “JavaScript Membrane” 是 TC39 官方给出的对 ES6 中新增的 Proxy 特性正确使用场景的代码描述。

C++ 编译器优化之 RVO 与 NRVO

RVO 即 “Return Value Optimization”,是一种编译器优化技术,通过该技术编译器可以减少函数返回时生成临时值值(对象)的个数,从某种程度上可以提高程序的运行效率,对需要分配大量内存的类对象其值复制过程十分友好。NRVO 全称为 “Named Return Value Optimization”,该优化的大致流程与 RVO 类似。

See more? Please go to "Articles" page : )